From ef636f6ec5facd014616af0bddae6f8cc96aa6bc Mon Sep 17 00:00:00 2001 From: Leonardo de Moura Date: Thu, 15 Sep 2022 19:02:37 -0700 Subject: [PATCH] chore: update stage0 --- stage0/src/Init/Core.lean | 108 +- stage0/src/Init/Data/Format/Basic.lean | 46 +- stage0/src/Init/Data/List/Control.lean | 19 +- stage0/src/Init/Data/Nat/Linear.lean | 6 +- stage0/src/Init/Meta.lean | 22 +- stage0/src/Init/Prelude.lean | 338 +- stage0/src/Lean/Attributes.lean | 3 +- stage0/src/Lean/Compiler/IR/Basic.lean | 96 +- stage0/src/Lean/Compiler/InitAttr.lean | 2 - stage0/src/Lean/Compiler/LCNF/Basic.lean | 11 + stage0/src/Lean/Compiler/LCNF/Bind.lean | 26 +- stage0/src/Lean/Compiler/LCNF/CSE.lean | 16 +- stage0/src/Lean/Compiler/LCNF/Check.lean | 39 +- stage0/src/Lean/Compiler/LCNF/CompilerM.lean | 83 +- stage0/src/Lean/Compiler/LCNF/ElimDead.lean | 6 +- stage0/src/Lean/Compiler/LCNF/InferType.lean | 26 +- stage0/src/Lean/Compiler/LCNF/JoinPoints.lean | 11 +- stage0/src/Lean/Compiler/LCNF/LCtx.lean | 80 +- .../src/Lean/Compiler/LCNF/PassManager.lean | 14 +- .../src/Lean/Compiler/LCNF/PrettyPrinter.lean | 8 +- .../src/Lean/Compiler/LCNF/ReduceJpArity.lean | 2 +- stage0/src/Lean/Compiler/LCNF/Simp.lean | 72 +- stage0/src/Lean/Compiler/LCNF/SpecInfo.lean | 50 +- stage0/src/Lean/Compiler/LCNF/Stage1.lean | 1 + stage0/src/Lean/Compiler/LCNF/Testing.lean | 7 + stage0/src/Lean/Compiler/LCNF/ToDecl.lean | 12 +- stage0/src/Lean/Compiler/LCNF/ToExpr.lean | 24 +- stage0/src/Lean/Compiler/LCNF/ToLCNF.lean | 37 +- stage0/src/Lean/Compiler/LCNF/Util.lean | 1 + stage0/src/Lean/CoreM.lean | 5 - stage0/src/Lean/Data.lean | 1 + stage0/src/Lean/Data/JsonRpc.lean | 62 +- stage0/src/Lean/Data/Name.lean | 75 - stage0/src/Lean/Data/NameMap.lean | 85 + stage0/src/Lean/Data/Options.lean | 5 +- stage0/src/Lean/DocString.lean | 3 +- stage0/src/Lean/Elab/Attributes.lean | 3 - stage0/src/Lean/Elab/Binders.lean | 1 - stage0/src/Lean/Elab/BuiltinCommand.lean | 5 +- stage0/src/Lean/Elab/BuiltinNotation.lean | 6 +- stage0/src/Lean/Elab/BuiltinTerm.lean | 3 +- stage0/src/Lean/Elab/Command.lean | 9 - stage0/src/Lean/Elab/DeclModifiers.lean | 4 - stage0/src/Lean/Elab/DefView.lean | 7 +- stage0/src/Lean/Elab/Deriving/Basic.lean | 53 +- stage0/src/Lean/Elab/Deriving/Repr.lean | 8 +- stage0/src/Lean/Elab/Do.lean | 8 +- stage0/src/Lean/Elab/Extra.lean | 56 +- stage0/src/Lean/Elab/Inductive.lean | 2 +- stage0/src/Lean/Elab/InfoTree/Main.lean | 5 - stage0/src/Lean/Elab/InfoTree/Types.lean | 12 +- stage0/src/Lean/Elab/Match.lean | 9 +- stage0/src/Lean/Elab/MutualDef.lean | 50 +- stage0/src/Lean/Elab/PreDefinition/Basic.lean | 4 +- stage0/src/Lean/Elab/PreDefinition/Main.lean | 4 +- .../Elab/PreDefinition/WF/PackDomain.lean | 1 + .../Elab/PreDefinition/WF/PackMutual.lean | 1 + .../src/Lean/Elab/PreDefinition/WF/Rel.lean | 2 +- stage0/src/Lean/Elab/Quotation.lean | 52 +- stage0/src/Lean/Elab/StructInst.lean | 6 +- stage0/src/Lean/Elab/SyntheticMVars.lean | 3 +- stage0/src/Lean/Elab/Tactic/Basic.lean | 13 +- .../src/Lean/Elab/Tactic/BuiltinTactic.lean | 5 + stage0/src/Lean/Elab/Tactic/ElabTerm.lean | 3 +- stage0/src/Lean/Elab/Tactic/Location.lean | 10 +- stage0/src/Lean/Elab/Tactic/Rewrite.lean | 3 +- stage0/src/Lean/Elab/Term.lean | 54 +- stage0/src/Lean/Elab/Util.lean | 9 +- stage0/src/Lean/Exception.lean | 14 +- stage0/src/Lean/Expr.lean | 302 +- stage0/src/Lean/KeyedDeclsAttribute.lean | 2 - stage0/src/Lean/Linter/MissingDocs.lean | 6 +- stage0/src/Lean/Linter/UnusedVariables.lean | 4 - stage0/src/Lean/Message.lean | 1 - stage0/src/Lean/Meta/Basic.lean | 7 - stage0/src/Lean/Meta/CongrTheorems.lean | 44 +- stage0/src/Lean/Meta/DiscrTree.lean | 5 +- stage0/src/Lean/Meta/ExprDefEq.lean | 74 +- stage0/src/Lean/Meta/IndPredBelow.lean | 3 - stage0/src/Lean/Meta/Match/Match.lean | 6 - stage0/src/Lean/Meta/PPGoal.lean | 1 - stage0/src/Lean/Meta/Tactic/AC/Main.lean | 3 +- stage0/src/Lean/Meta/Tactic/Assert.lean | 2 - stage0/src/Lean/Meta/Tactic/Congr.lean | 1 + stage0/src/Lean/Meta/Tactic/Simp/Main.lean | 4 - stage0/src/Lean/Meta/Transform.lean | 18 +- stage0/src/Lean/Meta/WHNF.lean | 4 - stage0/src/Lean/MonadEnv.lean | 1 - stage0/src/Lean/Parser/Basic.lean | 30 +- stage0/src/Lean/Parser/Extension.lean | 7 +- stage0/src/Lean/Parser/Syntax.lean | 1 - stage0/src/Lean/ParserCompiler.lean | 4 +- stage0/src/Lean/PrettyPrinter/Basic.lean | 1 - .../Lean/PrettyPrinter/Delaborator/Basic.lean | 5 - .../PrettyPrinter/Delaborator/Builtins.lean | 27 +- stage0/src/Lean/PrettyPrinter/Formatter.lean | 1 + .../src/Lean/PrettyPrinter/Parenthesizer.lean | 3 +- stage0/src/Lean/Server/FileWorker.lean | 1 - stage0/src/Lean/Server/References.lean | 1 + stage0/src/Lean/Server/Utils.lean | 8 +- stage0/src/Lean/Server/Watchdog.lean | 20 +- stage0/src/Lean/Syntax.lean | 4 +- stage0/src/Lean/Util/FindExpr.lean | 6 +- stage0/src/Lean/Util/PPExt.lean | 1 - stage0/src/Lean/Util/Profile.lean | 2 +- stage0/src/Lean/Util/Trace.lean | 3 +- .../Lean/Widget/InteractiveDiagnostic.lean | 15 +- stage0/src/Lean/Widget/TaggedText.lean | 4 +- stage0/src/Lean/Widget/UserWidget.lean | 5 +- stage0/stdlib/Init/Data/List/Control.c | 149 +- stage0/stdlib/Init/Data/String/Extra.c | 27 +- stage0/stdlib/Init/Meta.c | 2104 ++-- stage0/stdlib/Lean/Attributes.c | 10 +- stage0/stdlib/Lean/Compiler/IR/EmitC.c | 6 +- stage0/stdlib/Lean/Compiler/InitAttr.c | 10 +- stage0/stdlib/Lean/Compiler/LCNF/Basic.c | 333 +- stage0/stdlib/Lean/Compiler/LCNF/Bind.c | 463 +- stage0/stdlib/Lean/Compiler/LCNF/CSE.c | 2725 ++--- stage0/stdlib/Lean/Compiler/LCNF/Check.c | 1983 ++-- stage0/stdlib/Lean/Compiler/LCNF/CompilerM.c | 3602 ++++-- stage0/stdlib/Lean/Compiler/LCNF/ElimDead.c | 1620 ++- stage0/stdlib/Lean/Compiler/LCNF/InferType.c | 742 +- stage0/stdlib/Lean/Compiler/LCNF/JoinPoints.c | 3843 +++---- stage0/stdlib/Lean/Compiler/LCNF/LCtx.c | 1808 ++- stage0/stdlib/Lean/Compiler/LCNF/Main.c | 3 +- .../stdlib/Lean/Compiler/LCNF/PrettyPrinter.c | 332 +- .../stdlib/Lean/Compiler/LCNF/ReduceJpArity.c | 326 +- stage0/stdlib/Lean/Compiler/LCNF/Simp.c | 6506 +++++------ stage0/stdlib/Lean/Compiler/LCNF/Specialize.c | 36 +- stage0/stdlib/Lean/Compiler/LCNF/Stage1.c | 6 +- stage0/stdlib/Lean/Compiler/LCNF/Testing.c | 848 +- stage0/stdlib/Lean/Compiler/LCNF/ToDecl.c | 476 +- stage0/stdlib/Lean/Compiler/LCNF/ToLCNF.c | 3301 +++--- stage0/stdlib/Lean/Compiler/LCNF/Util.c | 10 +- stage0/stdlib/Lean/CoreM.c | 22 +- stage0/stdlib/Lean/Data.c | 6 +- stage0/stdlib/Lean/Data/Json/FromToJson.c | 1 - stage0/stdlib/Lean/Data/Name.c | 9945 +--------------- stage0/stdlib/Lean/Data/NameMap.c | 9979 +++++++++++++++++ stage0/stdlib/Lean/Data/Options.c | 12 +- stage0/stdlib/Lean/DocString.c | 97 +- stage0/stdlib/Lean/Elab/App.c | 495 +- stage0/stdlib/Lean/Elab/Attributes.c | 14 +- stage0/stdlib/Lean/Elab/Binders.c | 94 +- stage0/stdlib/Lean/Elab/BuiltinCommand.c | 180 +- stage0/stdlib/Lean/Elab/BuiltinNotation.c | 3034 ++++- stage0/stdlib/Lean/Elab/BuiltinTerm.c | 434 +- stage0/stdlib/Lean/Elab/Calc.c | 10 +- stage0/stdlib/Lean/Elab/Command.c | 40 +- stage0/stdlib/Lean/Elab/ComputedFields.c | 605 +- stage0/stdlib/Lean/Elab/DeclModifiers.c | 18 +- stage0/stdlib/Lean/Elab/Declaration.c | 4 +- stage0/stdlib/Lean/Elab/DefView.c | 26 +- stage0/stdlib/Lean/Elab/Deriving/BEq.c | 49 +- stage0/stdlib/Lean/Elab/Deriving/Basic.c | 3121 +++++- stage0/stdlib/Lean/Elab/Deriving/DecEq.c | 2706 ++++- stage0/stdlib/Lean/Elab/Deriving/FromToJson.c | 292 +- stage0/stdlib/Lean/Elab/Deriving/Hashable.c | 43 +- stage0/stdlib/Lean/Elab/Deriving/Inhabited.c | 14 +- stage0/stdlib/Lean/Elab/Deriving/Ord.c | 43 +- stage0/stdlib/Lean/Elab/Deriving/Repr.c | 4161 +++---- stage0/stdlib/Lean/Elab/Deriving/TypeName.c | 1131 +- stage0/stdlib/Lean/Elab/Extra.c | 38 +- stage0/stdlib/Lean/Elab/Inductive.c | 5458 ++++----- stage0/stdlib/Lean/Elab/InfoTree/Main.c | 987 +- stage0/stdlib/Lean/Elab/MacroArgUtil.c | 72 +- stage0/stdlib/Lean/Elab/Match.c | 2043 ++-- stage0/stdlib/Lean/Elab/MutualDef.c | 2984 +---- stage0/stdlib/Lean/Elab/PreDefinition/Basic.c | 213 +- stage0/stdlib/Lean/Elab/PreDefinition/Main.c | 14 +- .../Elab/PreDefinition/Structural/BRecOn.c | 4 +- .../PreDefinition/Structural/FindRecArg.c | 4 +- .../Elab/PreDefinition/Structural/IndPred.c | 4 +- .../PreDefinition/Structural/SmartUnfolding.c | 257 +- .../Lean/Elab/PreDefinition/WF/PackDomain.c | 66 +- .../Lean/Elab/PreDefinition/WF/PackMutual.c | 18 +- .../stdlib/Lean/Elab/PreDefinition/WF/Rel.c | 8 +- stage0/stdlib/Lean/Elab/Print.c | 56 +- stage0/stdlib/Lean/Elab/Quotation.c | 3573 +++--- stage0/stdlib/Lean/Elab/StructInst.c | 4468 ++++---- stage0/stdlib/Lean/Elab/Structure.c | 1102 +- stage0/stdlib/Lean/Elab/Syntax.c | 57 +- stage0/stdlib/Lean/Elab/SyntheticMVars.c | 114 +- stage0/stdlib/Lean/Elab/Tactic/Basic.c | 46 +- .../stdlib/Lean/Elab/Tactic/BuiltinTactic.c | 330 +- stage0/stdlib/Lean/Elab/Tactic/Config.c | 1843 ++- stage0/stdlib/Lean/Elab/Tactic/Congr.c | 3 +- stage0/stdlib/Lean/Elab/Tactic/Conv/Basic.c | 373 +- stage0/stdlib/Lean/Elab/Tactic/Conv/Congr.c | 13 +- stage0/stdlib/Lean/Elab/Tactic/Conv/Pattern.c | 4 +- stage0/stdlib/Lean/Elab/Tactic/ElabTerm.c | 1944 +++- stage0/stdlib/Lean/Elab/Tactic/Rewrite.c | 18 +- stage0/stdlib/Lean/Elab/Tactic/Simp.c | 4 +- stage0/stdlib/Lean/Elab/Term.c | 364 +- stage0/stdlib/Lean/Elab/Util.c | 34 +- stage0/stdlib/Lean/Expr.c | 6 +- stage0/stdlib/Lean/KeyedDeclsAttribute.c | 18 +- stage0/stdlib/Lean/Linter/MissingDocs.c | 16 +- stage0/stdlib/Lean/Linter/UnusedVariables.c | 1013 +- stage0/stdlib/Lean/Message.c | 6 +- stage0/stdlib/Lean/Meta/AbstractMVars.c | 1308 ++- stage0/stdlib/Lean/Meta/AppBuilder.c | 215 +- stage0/stdlib/Lean/Meta/Basic.c | 42 +- stage0/stdlib/Lean/Meta/Closure.c | 3468 +++--- stage0/stdlib/Lean/Meta/DiscrTree.c | 20 +- stage0/stdlib/Lean/Meta/ExprDefEq.c | 846 +- stage0/stdlib/Lean/Meta/GetConst.c | 6 +- stage0/stdlib/Lean/Meta/IndPredBelow.c | 1401 ++- stage0/stdlib/Lean/Meta/Instances.c | 2 +- stage0/stdlib/Lean/Meta/Match/Basic.c | 3070 +++-- stage0/stdlib/Lean/Meta/Match/Match.c | 4771 ++++---- stage0/stdlib/Lean/Meta/Match/MatchEqs.c | 4 +- stage0/stdlib/Lean/Meta/PPGoal.c | 6 +- stage0/stdlib/Lean/Meta/Reduce.c | 10 +- stage0/stdlib/Lean/Meta/SizeOf.c | 1542 ++- stage0/stdlib/Lean/Meta/SynthInstance.c | 1566 ++- stage0/stdlib/Lean/Meta/Tactic/AC/Main.c | 34 +- stage0/stdlib/Lean/Meta/Tactic/Assert.c | 10 +- stage0/stdlib/Lean/Meta/Tactic/Congr.c | 370 +- stage0/stdlib/Lean/Meta/Tactic/ElimInfo.c | 6 +- stage0/stdlib/Lean/Meta/Tactic/Simp/Main.c | 38 +- .../Lean/Meta/Tactic/Simp/SimpTheorems.c | 982 +- stage0/stdlib/Lean/Meta/Tactic/Split.c | 2080 ++-- stage0/stdlib/Lean/Meta/UnificationHint.c | 2851 +++-- stage0/stdlib/Lean/Meta/WHNF.c | 32 +- stage0/stdlib/Lean/MetavarContext.c | 4365 ++++--- stage0/stdlib/Lean/MonadEnv.c | 6 +- stage0/stdlib/Lean/Parser/Basic.c | 10 +- stage0/stdlib/Lean/Parser/Extension.c | 34 +- stage0/stdlib/Lean/Parser/Syntax.c | 196 +- stage0/stdlib/Lean/ParserCompiler.c | 14 +- stage0/stdlib/Lean/PrettyPrinter/Basic.c | 6 +- .../Lean/PrettyPrinter/Delaborator/Basic.c | 34 +- .../Lean/PrettyPrinter/Delaborator/Builtins.c | 3437 ++++-- stage0/stdlib/Lean/PrettyPrinter/Formatter.c | 8 +- .../stdlib/Lean/PrettyPrinter/Parenthesizer.c | 14 +- stage0/stdlib/Lean/Server/Completion.c | 45 +- stage0/stdlib/Lean/Server/FileWorker.c | 845 +- .../Lean/Server/FileWorker/RequestHandling.c | 1695 ++- stage0/stdlib/Lean/Server/InfoUtils.c | 346 +- stage0/stdlib/Lean/Server/References.c | 550 +- stage0/stdlib/Lean/Server/Rpc/Deriving.c | 4 +- .../stdlib/Lean/Server/Rpc/RequestHandling.c | 8 +- stage0/stdlib/Lean/Server/Utils.c | 26 +- stage0/stdlib/Lean/SubExpr.c | 4 +- stage0/stdlib/Lean/Syntax.c | 174 +- stage0/stdlib/Lean/Util/PPExt.c | 6 +- stage0/stdlib/Lean/Util/Profile.c | 6 +- stage0/stdlib/Lean/Util/Trace.c | 10 +- stage0/stdlib/Lean/Widget/InteractiveGoal.c | 18 +- stage0/stdlib/Lean/Widget/UserWidget.c | 515 +- 251 files changed, 72336 insertions(+), 62604 deletions(-) create mode 100644 stage0/src/Lean/Data/NameMap.lean create mode 100644 stage0/stdlib/Lean/Data/NameMap.c diff --git a/stage0/src/Init/Core.lean b/stage0/src/Init/Core.lean index fee7d34327..d212ebd6b9 100644 --- a/stage0/src/Init/Core.lean +++ b/stage0/src/Init/Core.lean @@ -96,10 +96,10 @@ An element of `α ⊕ β` is either of the form `.inl a` where `a : α`, or `.inr b` where `b : β`. -/ inductive Sum (α : Type u) (β : Type v) where - | /-- Left injection into the sum type `α ⊕ β`. If `a : α` then `.inl a : α ⊕ β`. -/ - inl (val : α) : Sum α β - | /-- Right injection into the sum type `α ⊕ β`. If `b : β` then `.inr b : α ⊕ β`. -/ - inr (val : β) : Sum α β + /-- Left injection into the sum type `α ⊕ β`. If `a : α` then `.inl a : α ⊕ β`. -/ + | inl (val : α) : Sum α β + /-- Right injection into the sum type `α ⊕ β`. If `b : β` then `.inr b : α ⊕ β`. -/ + | inr (val : β) : Sum α β @[inheritDoc] infixr:30 " ⊕ " => Sum @@ -115,10 +115,10 @@ because the equation `max 1 u v = ?u + 1` has no solution in level arithmetic. `PSum` is usually only used in automation that constructs sums of arbitrary types. -/ inductive PSum (α : Sort u) (β : Sort v) where - | /-- Left injection into the sum type `α ⊕' β`. If `a : α` then `.inl a : α ⊕' β`. -/ - inl (val : α) : PSum α β - | /-- Right injection into the sum type `α ⊕' β`. If `b : β` then `.inr b : α ⊕' β`. -/ - inr (val : β) : PSum α β + /-- Left injection into the sum type `α ⊕' β`. If `a : α` then `.inl a : α ⊕' β`. -/ + | inl (val : α) : PSum α β + /-- Right injection into the sum type `α ⊕' β`. If `b : β` then `.inr b : α ⊕' β`. -/ + | inr (val : β) : PSum α β @[inheritDoc] infixr:30 " ⊕' " => PSum @@ -190,9 +190,9 @@ example (h : ∃ x : Nat, x = x) : True := ``` -/ inductive Exists {α : Sort u} (p : α → Prop) : Prop where - | /-- Existential introduction. If `a : α` and `h : p a`, - then `⟨a, h⟩` is a proof that `∃ x : α, p x`. -/ - intro (w : α) (h : p w) : Exists p + /-- Existential introduction. If `a : α` and `h : p a`, + then `⟨a, h⟩` is a proof that `∃ x : α, p x`. -/ + | intro (w : α) (h : p w) : Exists p /-- Auxiliary type used to compile `for x in xs` notation. @@ -206,12 +206,12 @@ representing the body of a for loop. It can be: `.done` is produced by calls to `break` or `return` in the loop, -/ inductive ForInStep (α : Type u) where - | /-- `.done a` means that we should early-exit the loop. - `.done` is produced by calls to `break` or `return` in the loop. -/ - done : α → ForInStep α - | /-- `.yield a` means that we should continue the loop. - `.yield` is produced by `continue` and reaching the bottom of the loop body. -/ - yield : α → ForInStep α + /-- `.done a` means that we should early-exit the loop. + `.done` is produced by calls to `break` or `return` in the loop. -/ + | done : α → ForInStep α + /-- `.yield a` means that we should continue the loop. + `.yield` is produced by `continue` and reaching the bottom of the loop body. -/ + | yield : α → ForInStep α deriving Inhabited /-- @@ -276,16 +276,16 @@ block can exit: All cases return a value `s : σ` which bundles all the mutable variables of the do-block. -/ inductive DoResultPRBC (α β σ : Type u) where - | /-- `pure (a : α) s` means that the block exited normally with return value `a` -/ - pure : α → σ → DoResultPRBC α β σ - | /-- `return (b : β) s` means that the block exited via a `return b` early-exit command -/ - return : β → σ → DoResultPRBC α β σ - | /-- `break s` means that `break` was called, meaning that we should exit - from the containing loop -/ - break : σ → DoResultPRBC α β σ - | /-- `continue s` means that `continue` was called, meaning that we should continue - to the next iteration of the containing loop -/ - continue : σ → DoResultPRBC α β σ + /-- `pure (a : α) s` means that the block exited normally with return value `a` -/ + | pure : α → σ → DoResultPRBC α β σ + /-- `return (b : β) s` means that the block exited via a `return b` early-exit command -/ + | return : β → σ → DoResultPRBC α β σ + /-- `break s` means that `break` was called, meaning that we should exit + from the containing loop -/ + | break : σ → DoResultPRBC α β σ + /-- `continue s` means that `continue` was called, meaning that we should continue + to the next iteration of the containing loop -/ + | continue : σ → DoResultPRBC α β σ /-- Auxiliary type used to compile `do` notation. It is the same as @@ -293,10 +293,10 @@ Auxiliary type used to compile `do` notation. It is the same as because we are not in a loop context. -/ inductive DoResultPR (α β σ : Type u) where - | /-- `pure (a : α) s` means that the block exited normally with return value `a` -/ - pure : α → σ → DoResultPR α β σ - | /-- `return (b : β) s` means that the block exited via a `return b` early-exit command -/ - return : β → σ → DoResultPR α β σ + /-- `pure (a : α) s` means that the block exited normally with return value `a` -/ + | pure : α → σ → DoResultPR α β σ + /-- `return (b : β) s` means that the block exited via a `return b` early-exit command -/ + | return : β → σ → DoResultPR α β σ /-- Auxiliary type used to compile `do` notation. It is an optimization of @@ -304,12 +304,12 @@ Auxiliary type used to compile `do` notation. It is an optimization of used when neither `pure` nor `return` are possible exit paths. -/ inductive DoResultBC (σ : Type u) where - | /-- `break s` means that `break` was called, meaning that we should exit - from the containing loop -/ - break : σ → DoResultBC σ - | /-- `continue s` means that `continue` was called, meaning that we should continue - to the next iteration of the containing loop -/ - continue : σ → DoResultBC σ + /-- `break s` means that `break` was called, meaning that we should exit + from the containing loop -/ + | break : σ → DoResultBC σ + /-- `continue s` means that `continue` was called, meaning that we should continue + to the next iteration of the containing loop -/ + | continue : σ → DoResultBC σ /-- Auxiliary type used to compile `do` notation. It is an optimization of @@ -317,18 +317,18 @@ either `DoResultPRBC α PEmpty σ` or `DoResultPRBC PEmpty α σ` to remove the impossible case, used when either `pure` or `return` is never used. -/ inductive DoResultSBC (α σ : Type u) where - | /-- This encodes either `pure (a : α)` or `return (a : α)`: - * `pure (a : α) s` means that the block exited normally with return value `a` - * `return (b : β) s` means that the block exited via a `return b` early-exit command + /-- This encodes either `pure (a : α)` or `return (a : α)`: + * `pure (a : α) s` means that the block exited normally with return value `a` + * `return (b : β) s` means that the block exited via a `return b` early-exit command - The one that is actually encoded depends on the context of use. -/ - pureReturn : α → σ → DoResultSBC α σ - | /-- `break s` means that `break` was called, meaning that we should exit - from the containing loop -/ - break : σ → DoResultSBC α σ - | /-- `continue s` means that `continue` was called, meaning that we should continue - to the next iteration of the containing loop -/ - continue : σ → DoResultSBC α σ + The one that is actually encoded depends on the context of use. -/ + | pureReturn : α → σ → DoResultSBC α σ + /-- `break s` means that `break` was called, meaning that we should exit + from the containing loop -/ + | break : σ → DoResultSBC α σ + /-- `continue s` means that `continue` was called, meaning that we should continue + to the next iteration of the containing loop -/ + | continue : σ → DoResultSBC α σ /-- `HasEquiv α` is the typeclass which supports the notation `x ≈ y` where `x y : α`.-/ class HasEquiv (α : Sort u) where @@ -450,8 +450,8 @@ This is the universe-polymorphic version of `PNonScalar`; it is preferred to use `NonScalar` instead where applicable. -/ inductive PNonScalar : Type u where - | /-- You should not use this function -/ - mk (v : Nat) : PNonScalar + /-- You should not use this function -/ + | mk (v : Nat) : PNonScalar @[simp] theorem Nat.add_zero (n : Nat) : n + 0 = n := rfl @@ -932,10 +932,10 @@ transitive and contains `r`. `r⁺ a z` if and only if there exists a sequence `a r b r ... r z` of length at least 1 connecting `a` to `z`. -/ inductive TC {α : Sort u} (r : α → α → Prop) : α → α → Prop where - | /-- If `r a b` then `r⁺ a b`. This is the base case of the transitive closure. -/ - base : ∀ a b, r a b → TC r a b - | /-- The transitive closure is transitive. -/ - trans : ∀ a b c, TC r a b → TC r b c → TC r a c + /-- If `r a b` then `r⁺ a b`. This is the base case of the transitive closure. -/ + | base : ∀ a b, r a b → TC r a b + /-- The transitive closure is transitive. -/ + | trans : ∀ a b c, TC r a b → TC r b c → TC r a c /-! # Subtype -/ diff --git a/stage0/src/Init/Data/Format/Basic.lean b/stage0/src/Init/Data/Format/Basic.lean index 908da26326..cfaef5f975 100644 --- a/stage0/src/Init/Data/Format/Basic.lean +++ b/stage0/src/Init/Data/Format/Basic.lean @@ -36,32 +36,32 @@ open Format in The pretty-printing algorithm is based on Wadler's paper [_A Prettier Printer_](https://homepages.inf.ed.ac.uk/wadler/papers/prettier/prettier.pdf). -/ inductive Format where - | /-- The empty format. -/ - nil : Format - | /-- A position where a newline may be inserted + /-- The empty format. -/ + | nil : Format + /-- A position where a newline may be inserted if the current group does not fit within the allotted column width. -/ - line : Format - | /-- A node containing a plain string. -/ - text : String → Format - | /-- `nest n f` tells the formatter that `f` is nested inside something with length `n` - so that it is pretty-printed with the correct indentation on a line break. - For example, we can define a formatter for list `l : List Format` as: + | line : Format + /-- A node containing a plain string. -/ + | text : String → Format + /-- `nest n f` tells the formatter that `f` is nested inside something with length `n` + so that it is pretty-printed with the correct indentation on a line break. + For example, we can define a formatter for list `l : List Format` as: - ``` - let f := join <| l.intersperse <| ", " ++ Format.line - group (nest 1 <| "[" ++ f ++ "]") - ``` + ``` + let f := join <| l.intersperse <| ", " ++ Format.line + group (nest 1 <| "[" ++ f ++ "]") + ``` - This will be written all on one line, but if the text is too large, - the formatter will put in linebreaks after the commas and indent later lines by 1. - -/ - nest (indent : Int) : Format → Format - | /-- Concatenation of two Formats. -/ - append : Format → Format → Format - | /-- Creates a new flattening group for the given inner format. -/ - group : Format → (behavior : FlattenBehavior := FlattenBehavior.allOrNone) → Format - | /-- Used for associating auxiliary information (e.g. `Expr`s) with `Format` objects. -/ - tag : Nat → Format → Format + This will be written all on one line, but if the text is too large, + the formatter will put in linebreaks after the commas and indent later lines by 1. + -/ + | nest (indent : Int) : Format → Format + /-- Concatenation of two Formats. -/ + | append : Format → Format → Format + /-- Creates a new flattening group for the given inner format. -/ + | group : Format → (behavior : FlattenBehavior := FlattenBehavior.allOrNone) → Format + /-- Used for associating auxiliary information (e.g. `Expr`s) with `Format` objects. -/ + | tag : Nat → Format → Format deriving Inhabited namespace Format diff --git a/stage0/src/Init/Data/List/Control.lean b/stage0/src/Init/Data/List/Control.lean index 2c47270291..9a6f52219b 100644 --- a/stage0/src/Init/Data/List/Control.lean +++ b/stage0/src/Init/Data/List/Control.lean @@ -40,10 +40,12 @@ Finally, we rarely use `mapM` with something that is not a `Monad`. Users that want to use `mapM` with `Applicative` should use `mapA` instead. -/ -@[specialize] -def mapM {m : Type u → Type v} [Monad m] {α : Type w} {β : Type u} (f : α → m β) : List α → m (List β) - | [] => pure [] - | a::as => return (← f a) :: (← mapM f as) +@[inline] +def mapM {m : Type u → Type v} [Monad m] {α : Type w} {β : Type u} (f : α → m β) (as : List α) : m (List β) := + let rec @[specialize] loop + | [], bs => pure bs.reverse + | a :: as, bs => do loop as ((← f a)::bs) + loop as [] @[specialize] def mapA {m : Type u → Type v} [Applicative m] {α : Type w} {β : Type u} (f : α → m β) : List α → m (List β) @@ -95,12 +97,9 @@ protected def foldlM {m : Type u → Type v} [Monad m] {s : Type u} {α : Type w let s' ← f s a List.foldlM f s' as -@[specialize] -def foldrM {m : Type u → Type v} [Monad m] {s : Type u} {α : Type w} : (f : α → s → m s) → (init : s) → List α → m s - | _, s, [] => pure s - | f, s, a :: as => do - let s' ← foldrM f s as - f a s' +@[inline] +def foldrM {m : Type u → Type v} [Monad m] {s : Type u} {α : Type w} (f : α → s → m s) (init : s) (l : List α) : m s := + l.reverse.foldlM (fun s a => f a s) init @[specialize] def firstM {m : Type u → Type v} [Monad m] [Alternative m] {α : Type w} {β : Type u} (f : α → m β) : List α → m β diff --git a/stage0/src/Init/Data/Nat/Linear.lean b/stage0/src/Init/Data/Nat/Linear.lean index 9115fbf392..a5ef959918 100644 --- a/stage0/src/Init/Data/Nat/Linear.lean +++ b/stage0/src/Init/Data/Nat/Linear.lean @@ -588,9 +588,9 @@ theorem PolyCnstr.denote_mul (ctx : Context) (k : Nat) (c : PolyCnstr) : (c.mul cases c; rename_i eq lhs rhs have : k ≠ 0 → k + 1 ≠ 1 := by intro h; match k with | 0 => contradiction | k+1 => simp; apply Nat.succ_ne_zero have : ¬ (k == 0) → (k + 1 == 1) = false := fun h => beq_false_of_ne (this (ne_of_beq_false (Bool.of_not_eq_true h))) - have : ¬ ((k + 1 == 0) = true) := fun h => absurd (eq_of_beq h) (Nat.succ_ne_zero k) - have : (1 == 0) = false := rfl - have : (1 == 1) = true := rfl + have : ¬ ((k + 1 == 0) = true) := fun h => absurd (eq_of_beq h) (Nat.succ_ne_zero k) + have : (1 == (0 : Nat)) = false := rfl + have : (1 == (1 : Nat)) = true := rfl by_cases he : eq = true <;> simp [he, PolyCnstr.mul, PolyCnstr.denote, Poly.denote_le, Poly.denote_eq] <;> by_cases hk : k == 0 <;> (try simp [eq_of_beq hk]) <;> simp [*] <;> apply propext <;> apply Iff.intro <;> intro h · exact Nat.eq_of_mul_eq_mul_left (Nat.zero_lt_succ _) h diff --git a/stage0/src/Init/Meta.lean b/stage0/src/Init/Meta.lean index 3dda518619..8ffdd6190c 100644 --- a/stage0/src/Init/Meta.lean +++ b/stage0/src/Init/Meta.lean @@ -901,22 +901,22 @@ end Syntax namespace TSyntax def getNat (s : NumLit) : Nat := - s.raw.isNatLit?.get! + s.raw.isNatLit?.getD 0 def getId (s : Ident) : Name := s.raw.getId def getScientific (s : ScientificLit) : Nat × Bool × Nat := - s.raw.isScientificLit?.get! + s.raw.isScientificLit?.getD (0, false, 0) def getString (s : StrLit) : String := - s.raw.isStrLit?.get! + s.raw.isStrLit?.getD "" def getChar (s : CharLit) : Char := - s.raw.isCharLit?.get! + s.raw.isCharLit?.getD default def getName (s : NameLit) : Name := - s.raw.isNameLit?.get! + s.raw.isNameLit?.getD .anonymous namespace Compat @@ -1187,12 +1187,12 @@ inductive TransparencyMode where deriving Inhabited, BEq, Repr inductive EtaStructMode where - | /-- Enable eta for structure and classes. -/ - all - | /-- Enable eta only for structures that are not classes. -/ - notClasses - | /-- Disable eta for structures and classes. -/ - none + /-- Enable eta for structure and classes. -/ + | all + /-- Enable eta only for structures that are not classes. -/ + | notClasses + /-- Disable eta for structures and classes. -/ + | none deriving Inhabited, BEq, Repr namespace DSimp diff --git a/stage0/src/Init/Prelude.lean b/stage0/src/Init/Prelude.lean index 7ac6485c4b..09f13f5471 100644 --- a/stage0/src/Init/Prelude.lean +++ b/stage0/src/Init/Prelude.lean @@ -107,8 +107,8 @@ This is the universe-polymorphic version of `Unit`; it is preferred to use For more information about universe levels: [Types as objects](https://leanprover.github.io/theorem_proving_in_lean4/dependent_type_theory.html#types-as-objects) -/ inductive PUnit : Sort u where - | /-- `PUnit.unit : PUnit` is the canonical element of the unit type. -/ - unit : PUnit + /-- `PUnit.unit : PUnit` is the canonical element of the unit type. -/ + | unit : PUnit /-- The unit type, the canonical type with one element, named `unit` or `()`. @@ -177,9 +177,9 @@ In other words, `True` is simply true, and has a canonical proof, `True.intro` For more information: [Propositional Logic](https://leanprover.github.io/theorem_proving_in_lean4/propositions_and_proofs.html#propositional-logic) -/ inductive True : Prop where - | /-- `True` is true, and `True.intro` (or more commonly, `trivial`) - is the proof. -/ - intro : True + /-- `True` is true, and `True.intro` (or more commonly, `trivial`) + is the proof. -/ + | intro : True /-- `False` is the empty proposition. Thus, it has no introduction rules. @@ -264,9 +264,9 @@ The triangle in the second presentation is a macro built on top of `Eq.subst` an For more information: [Equality](https://leanprover.github.io/theorem_proving_in_lean4/quantifiers_and_equality.html#equality) -/ inductive Eq : α → α → Prop where - | /-- `Eq.refl a : a = a` is reflexivity, the unique constructor of the - equality type. See also `rfl`, which is usually used instead. -/ - refl (a : α) : Eq a a + /-- `Eq.refl a : a = a` is reflexivity, the unique constructor of the + equality type. See also `rfl`, which is usually used instead. -/ + | refl (a : α) : Eq a a /-- Non-dependent recursor for the equality type. -/ @[simp] abbrev Eq.ndrec.{u1, u2} {α : Sort u2} {a : α} {motive : α → Sort u1} (m : motive a) {b : α} (h : Eq a b) : motive b := @@ -444,8 +444,8 @@ and `f x` and `g y` are well typed it does not follow that `HEq (f x) (g y)`. the same type then `a = b` and `HEq a b` ae equivalent. -/ inductive HEq : {α : Sort u} → α → {β : Sort u} → β → Prop where - | /-- Reflexivity of heterogeneous equality. -/ - refl (a : α) : HEq a a + /-- Reflexivity of heterogeneous equality. -/ + | refl (a : α) : HEq a a /-- A version of `HEq.refl` with an implicit argument. -/ @[matchPattern] protected def HEq.rfl {α : Sort u} {a : α} : HEq a a := @@ -516,10 +516,10 @@ and you can use `match` or `cases` to destruct an `Or` assumption into the two cases. -/ inductive Or (a b : Prop) : Prop where - | /-- `Or.inl` is "left injection" into an `Or`. If `h : a` then `Or.inl h : a ∨ b`. -/ - inl (h : a) : Or a b - | /-- `Or.inr` is "right injection" into an `Or`. If `h : b` then `Or.inr h : a ∨ b`. -/ - inr (h : b) : Or a b + /-- `Or.inl` is "left injection" into an `Or`. If `h : a` then `Or.inl h : a ∨ b`. -/ + | inl (h : a) : Or a b + /-- `Or.inr` is "right injection" into an `Or`. If `h : b` then `Or.inr h : a ∨ b`. -/ + | inr (h : b) : Or a b /-- Alias for `Or.inl`. -/ theorem Or.intro_left (b : Prop) (h : a) : Or a b := @@ -546,10 +546,10 @@ code generator, while `Bool` corresponds to the type called `bool` or `boolean` in most programming languages. -/ inductive Bool : Type where - | /-- The boolean value `false`, not to be confused with the proposition `False`. -/ - false : Bool - | /-- The boolean value `true`, not to be confused with the proposition `True`. -/ - true : Bool + /-- The boolean value `false`, not to be confused with the proposition `False`. -/ + | false : Bool + /-- The boolean value `true`, not to be confused with the proposition `True`. -/ + | true : Bool export Bool (false true) @@ -664,8 +664,8 @@ Given `Nonempty α`, you can construct an element of `α` *nonconstructively* using `Classical.choice`. -/ class inductive Nonempty (α : Sort u) : Prop where - | /-- If `val : α`, then `α` is nonempty. -/ - intro (val : α) : Nonempty α + /-- If `val : α`, then `α` is nonempty. -/ + | intro (val : α) : Nonempty α /-- **The axiom of choice**. `Nonempty α` is a proof that `α` has an element, @@ -788,10 +788,10 @@ If a proposition `p` is `Decidable`, then `(by decide : p)` will prove it by evaluating the decidability instance to `isTrue h` and returning `h`. -/ class inductive Decidable (p : Prop) where - | /-- Prove that `p` is decidable by supplying a proof of `¬p` -/ - isFalse (h : Not p) : Decidable p - | /-- Prove that `p` is decidable by supplying a proof of `p` -/ - isTrue (h : p) : Decidable p + /-- Prove that `p` is decidable by supplying a proof of `¬p` -/ + | isFalse (h : Not p) : Decidable p + /-- Prove that `p` is decidable by supplying a proof of `p` -/ + | isTrue (h : p) : Decidable p /-- Convert a decidable proposition into a boolean value. @@ -1012,12 +1012,12 @@ This type is special-cased by both the kernel and the compiler: library (usually [GMP](https://gmplib.org/)). -/ inductive Nat where - | /-- `Nat.zero`, normally written `0 : Nat`, is the smallest natural number. - This is one of the two constructors of `Nat`. -/ - zero : Nat - | /-- The successor function on natural numbers, `succ n = n + 1`. - This is one of the two constructors of `Nat`. -/ - succ (n : Nat) : Nat + /-- `Nat.zero`, normally written `0 : Nat`, is the smallest natural number. + This is one of the two constructors of `Nat`. -/ + | zero : Nat + /-- The successor function on natural numbers, `succ n = n + 1`. + This is one of the two constructors of `Nat`. -/ + | succ (n : Nat) : Nat instance : Inhabited Nat where default := Nat.zero @@ -1517,10 +1517,10 @@ An inductive definition of the less-equal relation on natural numbers, characterized as the least relation `≤` such that `n ≤ n` and `n ≤ m → n ≤ m + 1`. -/ protected inductive Nat.le (n : Nat) : Nat → Prop - | /-- Less-equal is reflexive: `n ≤ n` -/ - refl : Nat.le n n - | /-- If `n ≤ m`, then `n ≤ m + 1`. -/ - step {m} : Nat.le n m → Nat.le n (succ m) + /-- Less-equal is reflexive: `n ≤ n` -/ + | refl : Nat.le n n + /-- If `n ≤ m`, then `n ≤ m + 1`. -/ + | step {m} : Nat.le n m → Nat.le n (succ m) instance : LE Nat where le := Nat.le @@ -2097,10 +2097,10 @@ def map (f : α → β) (x : Option α) : Option β := ``` -/ inductive Option (α : Type u) where - | /-- No value. -/ - none : Option α - | /-- Some value of type `α`. -/ - some (val : α) : Option α + /-- No value. -/ + | none : Option α + /-- Some value of type `α`. -/ + | some (val : α) : Option α attribute [unbox] Option @@ -2140,11 +2140,11 @@ It is implemented as a linked list. performance because it can do destructive updates. -/ inductive List (α : Type u) where - | /-- `[]` is the empty list. -/ - nil : List α - | /-- If `a : α` and `l : List α`, then `cons a l`, or `a :: l`, is the - list whose first element is `a` and with `l` as the rest of the list. -/ - cons (head : α) (tail : List α) : List α + /-- `[]` is the empty list. -/ + | nil : List α + /-- If `a : α` and `l : List α`, then `cons a l`, or `a :: l`, is the + list whose first element is `a` and with `l` as the rest of the list. -/ + | cons (head : α) (tail : List α) : List α instance {α} : Inhabited (List α) where default := List.nil @@ -2610,7 +2610,7 @@ class SeqLeft (f : Type u → Type v) : Type (max (u+1) v) where `Unit → f β` function. -/ seqLeft : {α β : Type u} → f α → (Unit → f β) → f α -/-- The typeclass which supplies the `<*` "seqRight" function. See `Applicative`. -/ +/-- The typeclass which supplies the `*>` "seqRight" function. See `Applicative`. -/ class SeqRight (f : Type u → Type v) : Type (max (u+1) v) where /-- If `x : F α` and `y : F β`, then `x *> y` evaluates `x`, then `y`, and returns the result of `y`. @@ -2746,10 +2746,10 @@ value of type `α`. The error type is listed first because operation returns the first encountered `error`. -/ inductive Except (ε : Type u) (α : Type v) where - | /-- A failure value of type `ε` -/ - error : ε → Except ε α - | /-- A success value of type `α` -/ - ok : α → Except ε α + /-- A failure value of type `ε` -/ + | error : ε → Except ε α + /-- A success value of type `α` -/ + | ok : α → Except ε α attribute [unbox] Except @@ -3070,10 +3070,10 @@ namespace EStateM combined inductive yields a more efficient data representation. -/ inductive Result (ε σ α : Type u) where - | /-- A success value of type `α`, and a new state `σ`. -/ - ok : α → σ → Result ε σ α - | /-- A failure value of type `ε`, and a new state `σ`. -/ - error : ε → σ → Result ε σ α + /-- A success value of type `α`, and a new state `σ`. -/ + | ok : α → σ → Result ε σ α + /-- A failure value of type `ε`, and a new state `σ`. -/ + | error : ε → σ → Result ε σ α variable {ε σ α : Type u} @@ -3276,23 +3276,23 @@ corresponds to a Lean declaration in scope. If the name is not in scope, Lean will report an error. -/ inductive Name where - | /-- The "anonymous" name. -/ - anonymous : Name - | /-- - A string name. The name `Lean.Meta.run` is represented at - ```lean - .str (.str (.str .anonymous "Lean") "Meta") "run" - ``` - -/ - str (pre : Name) (str : String) - | /-- - A numerical name. This kind of name is used, for example, to create hierarchical names for - free variables and metavariables. The identifier `_uniq.231` is represented as - ```lean - .num (.str .anonymous "_uniq") 231 - ``` - -/ - num (pre : Name) (i : Nat) + /-- The "anonymous" name. -/ + | anonymous : Name + /-- + A string name. The name `Lean.Meta.run` is represented at + ```lean + .str (.str (.str .anonymous "Lean") "Meta") "run" + ``` + -/ + | str (pre : Name) (str : String) + /-- + A numerical name. This kind of name is used, for example, to create hierarchical names for + free variables and metavariables. The identifier `_uniq.231` is represented as + ```lean + .num (.str .anonymous "_uniq") 231 + ``` + -/ + | num (pre : Name) (i : Nat) with /-- A hash function for names, which is stored inside the name itself as a computed field. -/ @@ -3361,22 +3361,20 @@ end Name /-- Source information of tokens. -/ inductive SourceInfo where - | /-- - Token from original input with whitespace and position information. - `leading` will be inferred after parsing by `Syntax.updateLeading`. During parsing, - it is not at all clear what the preceding token was, especially with backtracking. - -/ - original (leading : Substring) (pos : String.Pos) (trailing : Substring) (endPos : String.Pos) - | /-- - Synthesized syntax (e.g. from a quotation) annotated with a span from the original source. - In the delaborator, we "misuse" this constructor to store synthetic positions identifying - subterms. - -/ - synthetic (pos : String.Pos) (endPos : String.Pos) - | /-- - Synthesized token without position information. - -/ - protected none + /-- + Token from original input with whitespace and position information. + `leading` will be inferred after parsing by `Syntax.updateLeading`. During parsing, + it is not at all clear what the preceding token was, especially with backtracking. + -/ + | original (leading : Substring) (pos : String.Pos) (trailing : Substring) (endPos : String.Pos) + /-- + Synthesized syntax (e.g. from a quotation) annotated with a span from the original source. + In the delaborator, we "misuse" this constructor to store synthetic positions identifying + subterms. + -/ + | synthetic (pos : String.Pos) (endPos : String.Pos) + /-- Synthesized token without position information. -/ + | protected none instance : Inhabited SourceInfo := ⟨SourceInfo.none⟩ @@ -3411,50 +3409,50 @@ Note: We do not statically know whether a syntax expects a namespace or term nam so a `Syntax.ident` may contain both preresolution kinds. -/ inductive Syntax.Preresolved where - | /-- A potential namespace reference -/ - namespace (ns : Name) - | /-- A potential global constant or section variable reference, with additional field accesses -/ - decl (n : Name) (fields : List String) + /-- A potential namespace reference -/ + | namespace (ns : Name) + /-- A potential global constant or section variable reference, with additional field accesses -/ + | decl (n : Name) (fields : List String) /-- Syntax objects used by the parser, macro expander, delaborator, etc. -/ inductive Syntax where - | /-- A `missing` syntax corresponds to a portion of the syntax tree that is - missing because of a parse error. The indexing operator on Syntax also - returns `missing` for indexing out of bounds. -/ - missing : Syntax - | /-- Node in the syntax tree. + /-- A `missing` syntax corresponds to a portion of the syntax tree that is + missing because of a parse error. The indexing operator on Syntax also + returns `missing` for indexing out of bounds. -/ + | missing : Syntax + /-- Node in the syntax tree. - The `info` field is used by the delaborator to store the position of the - subexpression corresponding to this node. The parser sets the `info` field - to `none`. - The parser sets the `info` field to `none`, with position retrieval continuing recursively. - Nodes created by quotatons use the result from `SourceInfo.fromRef` so that they are marked - as synthetic even when the leading/trailing token is not. - The delaborator uses the `info` field to store the position of the subexpression - corresponding to this node. + The `info` field is used by the delaborator to store the position of the + subexpression corresponding to this node. The parser sets the `info` field + to `none`. + The parser sets the `info` field to `none`, with position retrieval continuing recursively. + Nodes created by quotatons use the result from `SourceInfo.fromRef` so that they are marked + as synthetic even when the leading/trailing token is not. + The delaborator uses the `info` field to store the position of the subexpression + corresponding to this node. - (Remark: the `node` constructor did not have an `info` field in previous - versions. This caused a bug in the interactive widgets, where the popup for - `a + b` was the same as for `a`. The delaborator used to associate - subexpressions with pretty-printed syntax by setting the (string) position - of the first atom/identifier to the (expression) position of the - subexpression. For example, both `a` and `a + b` have the same first - identifier, and so their infos got mixed up.) -/ - node (info : SourceInfo) (kind : SyntaxNodeKind) (args : Array Syntax) : Syntax - | /-- An `atom` corresponds to a keyword or piece of literal unquoted syntax. - These correspond to quoted strings inside `syntax` declarations. - For example, in `(x + y)`, `"("`, `"+"` and `")"` are `atom` - and `x` and `y` are `ident`. -/ - atom (info : SourceInfo) (val : String) : Syntax - | /-- An `ident` corresponds to an identifier as parsed by the `ident` or - `rawIdent` parsers. - * `rawVal` is the literal substring from the input file - * `val` is the parsed identifier (with hygiene) - * `preresolved` is the list of possible declarations this could refer to - -/ - ident (info : SourceInfo) (rawVal : Substring) (val : Name) (preresolved : List Syntax.Preresolved) : Syntax + (Remark: the `node` constructor did not have an `info` field in previous + versions. This caused a bug in the interactive widgets, where the popup for + `a + b` was the same as for `a`. The delaborator used to associate + subexpressions with pretty-printed syntax by setting the (string) position + of the first atom/identifier to the (expression) position of the + subexpression. For example, both `a` and `a + b` have the same first + identifier, and so their infos got mixed up.) -/ + | node (info : SourceInfo) (kind : SyntaxNodeKind) (args : Array Syntax) : Syntax + /-- An `atom` corresponds to a keyword or piece of literal unquoted syntax. + These correspond to quoted strings inside `syntax` declarations. + For example, in `(x + y)`, `"("`, `"+"` and `")"` are `atom` + and `x` and `y` are `ident`. -/ + | atom (info : SourceInfo) (val : String) : Syntax + /-- An `ident` corresponds to an identifier as parsed by the `ident` or + `rawIdent` parsers. + * `rawVal` is the literal substring from the input file + * `val` is the parsed identifier (with hygiene) + * `preresolved` is the list of possible declarations this could refer to + -/ + | ident (info : SourceInfo) (rawVal : Substring) (val : Name) (preresolved : List Syntax.Preresolved) : Syntax /-- `SyntaxNodeKinds` is a set of `SyntaxNodeKind` (implemented as a list). -/ def SyntaxNodeKinds := List SyntaxNodeKind @@ -3739,48 +3737,48 @@ A `ParserDescr` is a grammar for parsers. This is used by the `syntax` command to produce parsers without having to `import Lean`. -/ inductive ParserDescr where - | /-- A (named) nullary parser, like `ppSpace` -/ - const (name : Name) - | /-- A (named) unary parser, like `group(p)` -/ - unary (name : Name) (p : ParserDescr) - | /-- A (named) binary parser, like `orelse` or `andthen` - (written as `p1 <|> p2` and `p1 p2` respectively in `syntax`) -/ - binary (name : Name) (p₁ p₂ : ParserDescr) - | /-- Parses using `p`, then pops the stack to create a new node with kind `kind`. - The precedence `prec` is used to determine whether the parser should apply given - the current precedence level. -/ - node (kind : SyntaxNodeKind) (prec : Nat) (p : ParserDescr) - | /-- Like `node` but for trailing parsers (which start with a nonterminal). - Assumes the lhs is already on the stack, and parses using `p`, then pops the - stack including the lhs to create a new node with kind `kind`. - The precedence `prec` and `lhsPrec` are used to determine whether the parser - should apply. -/ - trailingNode (kind : SyntaxNodeKind) (prec lhsPrec : Nat) (p : ParserDescr) - | /-- A literal symbol parser: parses `val` as a literal. - This parser does not work on identifiers, so `symbol` arguments are declared - as "keywords" and cannot be used as identifiers anywhere in the file. -/ - symbol (val : String) - | /-- Like `symbol`, but without reserving `val` as a keyword. - If `includeIdent` is true then `ident` will be reinterpreted as `atom` if it matches. -/ - nonReservedSymbol (val : String) (includeIdent : Bool) - | /-- Parses using the category parser `catName` with right binding power - (i.e. precedence) `rbp`. -/ - cat (catName : Name) (rbp : Nat) - | /-- Parses using another parser `declName`, which can be either - a `Parser` or `ParserDescr`. -/ - parser (declName : Name) - | /-- Like `node`, but also declares that the body can be matched using an antiquotation - with name `name`. For example, `def $id:declId := 1` uses an antiquotation with - name `declId` in the place where a `declId` is expected. -/ - nodeWithAntiquot (name : String) (kind : SyntaxNodeKind) (p : ParserDescr) - | /-- A `sepBy(p, sep)` parses 0 or more occurrences of `p` separated by `sep`. - `psep` is usually the same as `symbol sep`, but it can be overridden. - `sep` is only used in the antiquot syntax: `$x;*` would match if `sep` is `";"`. - `allowTrailingSep` is true if e.g. `a, b,` is also allowed to match. -/ - sepBy (p : ParserDescr) (sep : String) (psep : ParserDescr) (allowTrailingSep : Bool := false) - | /-- `sepBy1` is just like `sepBy`, except it takes 1 or more instead of - 0 or more occurrences of `p`. -/ - sepBy1 (p : ParserDescr) (sep : String) (psep : ParserDescr) (allowTrailingSep : Bool := false) + /-- A (named) nullary parser, like `ppSpace` -/ + | const (name : Name) + /-- A (named) unary parser, like `group(p)` -/ + | unary (name : Name) (p : ParserDescr) + /-- A (named) binary parser, like `orelse` or `andthen` + (written as `p1 <|> p2` and `p1 p2` respectively in `syntax`) -/ + | binary (name : Name) (p₁ p₂ : ParserDescr) + /-- Parses using `p`, then pops the stack to create a new node with kind `kind`. + The precedence `prec` is used to determine whether the parser should apply given + the current precedence level. -/ + | node (kind : SyntaxNodeKind) (prec : Nat) (p : ParserDescr) + /-- Like `node` but for trailing parsers (which start with a nonterminal). + Assumes the lhs is already on the stack, and parses using `p`, then pops the + stack including the lhs to create a new node with kind `kind`. + The precedence `prec` and `lhsPrec` are used to determine whether the parser + should apply. -/ + | trailingNode (kind : SyntaxNodeKind) (prec lhsPrec : Nat) (p : ParserDescr) + /-- A literal symbol parser: parses `val` as a literal. + This parser does not work on identifiers, so `symbol` arguments are declared + as "keywords" and cannot be used as identifiers anywhere in the file. -/ + | symbol (val : String) + /-- Like `symbol`, but without reserving `val` as a keyword. + If `includeIdent` is true then `ident` will be reinterpreted as `atom` if it matches. -/ + | nonReservedSymbol (val : String) (includeIdent : Bool) + /-- Parses using the category parser `catName` with right binding power + (i.e. precedence) `rbp`. -/ + | cat (catName : Name) (rbp : Nat) + /-- Parses using another parser `declName`, which can be either + a `Parser` or `ParserDescr`. -/ + | parser (declName : Name) + /-- Like `node`, but also declares that the body can be matched using an antiquotation + with name `name`. For example, `def $id:declId := 1` uses an antiquotation with + name `declId` in the place where a `declId` is expected. -/ + | nodeWithAntiquot (name : String) (kind : SyntaxNodeKind) (p : ParserDescr) + /-- A `sepBy(p, sep)` parses 0 or more occurrences of `p` separated by `sep`. + `psep` is usually the same as `symbol sep`, but it can be overridden. + `sep` is only used in the antiquot syntax: `$x;*` would match if `sep` is `";"`. + `allowTrailingSep` is true if e.g. `a, b,` is also allowed to match. -/ + | sepBy (p : ParserDescr) (sep : String) (psep : ParserDescr) (allowTrailingSep : Bool := false) + /-- `sepBy1` is just like `sepBy`, except it takes 1 or more instead of + 0 or more occurrences of `p`. -/ + | sepBy1 (p : ParserDescr) (sep : String) (psep : ParserDescr) (allowTrailingSep : Bool := false) instance : Inhabited ParserDescr where default := ParserDescr.symbol "" @@ -4092,12 +4090,12 @@ structure Context where /-- An exception in the `MacroM` monad. -/ inductive Exception where - | /-- A general error, given a message and a span (expressed as a `Syntax`). -/ - error : Syntax → String → Exception - | /-- An unsupported syntax exception. We keep this separate because it is - used for control flow: if one macro does not support a syntax then we try - the next one. -/ - unsupportedSyntax : Exception + /-- A general error, given a message and a span (expressed as a `Syntax`). -/ + | error : Syntax → String → Exception + /-- An unsupported syntax exception. We keep this separate because it is + used for control flow: if one macro does not support a syntax then we try + the next one. -/ + | unsupportedSyntax : Exception /-- The mutable state for the `MacroM` monad. -/ structure State where diff --git a/stage0/src/Lean/Attributes.lean b/stage0/src/Lean/Attributes.lean index e6d47d15bf..6fb197bf49 100644 --- a/stage0/src/Lean/Attributes.lean +++ b/stage0/src/Lean/Attributes.lean @@ -3,9 +3,8 @@ Copyright (c) 2019 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Lean.Syntax import Lean.CoreM -import Lean.ResolveName +import Lean.MonadEnv namespace Lean diff --git a/stage0/src/Lean/Compiler/IR/Basic.lean b/stage0/src/Lean/Compiler/IR/Basic.lean index 7f9f8f41c9..c15664726b 100644 --- a/stage0/src/Lean/Compiler/IR/Basic.lean +++ b/stage0/src/Lean/Compiler/IR/Basic.lean @@ -191,36 +191,36 @@ def CtorInfo.isScalar (info : CtorInfo) : Bool := !info.isRef inductive Expr where - | /-- We use `ctor` mainly for constructing Lean object/tobject values `lean_ctor_object` in the runtime. - This instruction is also used to creat `struct` and `union` return values. - For `union`, only `i.cidx` is relevant. For `struct`, `i` is irrelevant. -/ - ctor (i : CtorInfo) (ys : Array Arg) + /-- We use `ctor` mainly for constructing Lean object/tobject values `lean_ctor_object` in the runtime. + This instruction is also used to creat `struct` and `union` return values. + For `union`, only `i.cidx` is relevant. For `struct`, `i` is irrelevant. -/ + | ctor (i : CtorInfo) (ys : Array Arg) | reset (n : Nat) (x : VarId) - | /-- `reuse x in ctor_i ys` instruction in the paper. -/ - reuse (x : VarId) (i : CtorInfo) (updtHeader : Bool) (ys : Array Arg) - | /-- Extract the `tobject` value at Position `sizeof(void*)*i` from `x`. - We also use `proj` for extracting fields from `struct` return values, and casting `union` return values. -/ - proj (i : Nat) (x : VarId) - | /-- Extract the `Usize` value at Position `sizeof(void*)*i` from `x`. -/ - uproj (i : Nat) (x : VarId) - | /-- Extract the scalar value at Position `sizeof(void*)*n + offset` from `x`. -/ - sproj (n : Nat) (offset : Nat) (x : VarId) - | /-- Full application. -/ - fap (c : FunId) (ys : Array Arg) - | /-- Partial application that creates a `pap` value (aka closure in our nonstandard terminology). -/ - pap (c : FunId) (ys : Array Arg) - | /-- Application. `x` must be a `pap` value. -/ - ap (x : VarId) (ys : Array Arg) - | /-- Given `x : ty` where `ty` is a scalar type, this operation returns a value of Type `tobject`. - For small scalar values, the Result is a tagged pointer, and no memory allocation is performed. -/ - box (ty : IRType) (x : VarId) - | /-- Given `x : [t]object`, obtain the scalar value. -/ - unbox (x : VarId) + /-- `reuse x in ctor_i ys` instruction in the paper. -/ + | reuse (x : VarId) (i : CtorInfo) (updtHeader : Bool) (ys : Array Arg) + /-- Extract the `tobject` value at Position `sizeof(void*)*i` from `x`. + We also use `proj` for extracting fields from `struct` return values, and casting `union` return values. -/ + | proj (i : Nat) (x : VarId) + /-- Extract the `Usize` value at Position `sizeof(void*)*i` from `x`. -/ + | uproj (i : Nat) (x : VarId) + /-- Extract the scalar value at Position `sizeof(void*)*n + offset` from `x`. -/ + | sproj (n : Nat) (offset : Nat) (x : VarId) + /-- Full application. -/ + | fap (c : FunId) (ys : Array Arg) + /-- Partial application that creates a `pap` value (aka closure in our nonstandard terminology). -/ + | pap (c : FunId) (ys : Array Arg) + /-- Application. `x` must be a `pap` value. -/ + | ap (x : VarId) (ys : Array Arg) + /-- Given `x : ty` where `ty` is a scalar type, this operation returns a value of Type `tobject`. + For small scalar values, the Result is a tagged pointer, and no memory allocation is performed. -/ + | box (ty : IRType) (x : VarId) + /-- Given `x : [t]object`, obtain the scalar value. -/ + | unbox (x : VarId) | lit (v : LitVal) - | /-- Return `1 : uint8` Iff `RC(x) > 1` -/ - isShared (x : VarId) - | /-- Return `1 : uint8` Iff `x : tobject` is a tagged pointer (storing a scalar value). -/ - isTaggedPtr (x : VarId) + /-- Return `1 : uint8` Iff `RC(x) > 1` -/ + | isShared (x : VarId) + /-- Return `1 : uint8` Iff `x : tobject` is a tagged pointer (storing a scalar value). -/ + | isTaggedPtr (x : VarId) @[export lean_ir_mk_ctor_expr] def mkCtorExpr (n : Name) (cidx : Nat) (size : Nat) (usize : Nat) (ssize : Nat) (ys : Array Arg) : Expr := Expr.ctor ⟨n, cidx, size, usize, ssize⟩ ys @@ -247,31 +247,31 @@ inductive AltCore (FnBody : Type) : Type where | default (b : FnBody) : AltCore FnBody inductive FnBody where - | /-- `let x : ty := e; b` -/ - vdecl (x : VarId) (ty : IRType) (e : Expr) (b : FnBody) - | /-- Join point Declaration `block_j (xs) := e; b` -/ - jdecl (j : JoinPointId) (xs : Array Param) (v : FnBody) (b : FnBody) - | /-- Store `y` at Position `sizeof(void*)*i` in `x`. `x` must be a Constructor object and `RC(x)` must be 1. - This operation is not part of λPure is only used during optimization. -/ - set (x : VarId) (i : Nat) (y : Arg) (b : FnBody) + /-- `let x : ty := e; b` -/ + | vdecl (x : VarId) (ty : IRType) (e : Expr) (b : FnBody) + /-- Join point Declaration `block_j (xs) := e; b` -/ + | jdecl (j : JoinPointId) (xs : Array Param) (v : FnBody) (b : FnBody) + /-- Store `y` at Position `sizeof(void*)*i` in `x`. `x` must be a Constructor object and `RC(x)` must be 1. + This operation is not part of λPure is only used during optimization. -/ + | set (x : VarId) (i : Nat) (y : Arg) (b : FnBody) | setTag (x : VarId) (cidx : Nat) (b : FnBody) - | /-- Store `y : Usize` at Position `sizeof(void*)*i` in `x`. `x` must be a Constructor object and `RC(x)` must be 1. -/ - uset (x : VarId) (i : Nat) (y : VarId) (b : FnBody) - | /-- Store `y : ty` at Position `sizeof(void*)*i + offset` in `x`. `x` must be a Constructor object and `RC(x)` must be 1. - `ty` must not be `object`, `tobject`, `irrelevant` nor `Usize`. -/ - sset (x : VarId) (i : Nat) (offset : Nat) (y : VarId) (ty : IRType) (b : FnBody) - | /-- RC increment for `object`. If c == `true`, then `inc` must check whether `x` is a tagged pointer or not. - If `persistent == true` then `x` is statically known to be a persistent object. -/ - inc (x : VarId) (n : Nat) (c : Bool) (persistent : Bool) (b : FnBody) - | /-- RC decrement for `object`. If c == `true`, then `inc` must check whether `x` is a tagged pointer or not. - If `persistent == true` then `x` is statically known to be a persistent object. -/ - dec (x : VarId) (n : Nat) (c : Bool) (persistent : Bool) (b : FnBody) + /-- Store `y : Usize` at Position `sizeof(void*)*i` in `x`. `x` must be a Constructor object and `RC(x)` must be 1. -/ + | uset (x : VarId) (i : Nat) (y : VarId) (b : FnBody) + /-- Store `y : ty` at Position `sizeof(void*)*i + offset` in `x`. `x` must be a Constructor object and `RC(x)` must be 1. + `ty` must not be `object`, `tobject`, `irrelevant` nor `Usize`. -/ + | sset (x : VarId) (i : Nat) (offset : Nat) (y : VarId) (ty : IRType) (b : FnBody) + /-- RC increment for `object`. If c == `true`, then `inc` must check whether `x` is a tagged pointer or not. + If `persistent == true` then `x` is statically known to be a persistent object. -/ + | inc (x : VarId) (n : Nat) (c : Bool) (persistent : Bool) (b : FnBody) + /-- RC decrement for `object`. If c == `true`, then `inc` must check whether `x` is a tagged pointer or not. + If `persistent == true` then `x` is statically known to be a persistent object. -/ + | dec (x : VarId) (n : Nat) (c : Bool) (persistent : Bool) (b : FnBody) | del (x : VarId) (b : FnBody) | mdata (d : MData) (b : FnBody) | case (tid : Name) (x : VarId) (xType : IRType) (cs : Array (AltCore FnBody)) | ret (x : Arg) - | /-- Jump to join point `j` -/ - jmp (j : JoinPointId) (ys : Array Arg) + /-- Jump to join point `j` -/ + | jmp (j : JoinPointId) (ys : Array Arg) | unreachable instance : Inhabited FnBody := ⟨FnBody.unreachable⟩ diff --git a/stage0/src/Lean/Compiler/InitAttr.lean b/stage0/src/Lean/Compiler/InitAttr.lean index 361401a2a5..2b3f6c93b1 100644 --- a/stage0/src/Lean/Compiler/InitAttr.lean +++ b/stage0/src/Lean/Compiler/InitAttr.lean @@ -3,8 +3,6 @@ Copyright (c) 2019 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Lean.Environment -import Lean.Attributes import Lean.Elab.InfoTree.Main namespace Lean diff --git a/stage0/src/Lean/Compiler/LCNF/Basic.lean b/stage0/src/Lean/Compiler/LCNF/Basic.lean index 0bd8835ca9..5088819268 100644 --- a/stage0/src/Lean/Compiler/LCNF/Basic.lean +++ b/stage0/src/Lean/Compiler/LCNF/Basic.lean @@ -296,6 +296,17 @@ where | .jmp .. => inc | .return .. | unreach .. => return () +partial def Code.forM [Monad m] (c : Code) (f : Code → m Unit) : m Unit := + go c +where + go (c : Code) : m Unit := do + f c + match c with + | .let _ k => go k + | .fun decl k | .jp decl k => go decl.value; go k + | .cases c => c.alts.forM fun alt => go alt.getCode + | .unreach .. | .return .. | .jmp .. => return () + /-- Declaration being processed by the Lean to Lean compiler passes. -/ diff --git a/stage0/src/Lean/Compiler/LCNF/Bind.lean b/stage0/src/Lean/Compiler/LCNF/Bind.lean index 3e1169d423..cd0d96c0a7 100644 --- a/stage0/src/Lean/Compiler/LCNF/Bind.lean +++ b/stage0/src/Lean/Compiler/LCNF/Bind.lean @@ -66,20 +66,28 @@ where else return ps -def FunDeclCore.etaExpand (decl : FunDecl) : CompilerM FunDecl := do - let typeArity := getArrowArity decl.type - let valueArity := decl.getArity +def etaExpandCore? (type : Expr) (params : Array Param) (value : Code) : CompilerM (Option (Array Param × Code)) := do + let typeArity := getArrowArity type + let valueArity := params.size if typeArity <= valueArity then -- It can be < because of the "any" type - return decl + return none else - let valueType ← instantiateForall decl.type decl.params + let valueType ← instantiateForall type params let psNew ← mkNewParams valueType - let params := decl.params ++ psNew + let params := params ++ psNew let xs := psNew.map fun p => Expr.fvar p.fvarId - let value ← decl.value.bind fun fvarId => do + let value ← value.bind fun fvarId => do let auxDecl ← mkAuxLetDecl (mkAppN (.fvar fvarId) xs) return .let auxDecl (.return auxDecl.fvarId) - decl.update decl.type params value + return (params, value) -end Lean.Compiler.LCNF \ No newline at end of file +def FunDeclCore.etaExpand (decl : FunDecl) : CompilerM FunDecl := do + let some (params, value) ← etaExpandCore? decl.type decl.params decl.value | return decl + decl.update decl.type params value + +def Decl.etaExpand (decl : Decl) : CompilerM Decl := do + let some (params, value) ← etaExpandCore? decl.type decl.params decl.value | return decl + return { decl with params, value } + +end Lean.Compiler.LCNF diff --git a/stage0/src/Lean/Compiler/LCNF/CSE.lean b/stage0/src/Lean/Compiler/LCNF/CSE.lean index bc068f61e1..57f3cac7f9 100644 --- a/stage0/src/Lean/Compiler/LCNF/CSE.lean +++ b/stage0/src/Lean/Compiler/LCNF/CSE.lean @@ -32,9 +32,13 @@ instance : MonadFVarSubst M where let map := (← get).map try x finally modify fun s => { s with map } -def replaceFVar (fvarId fvarId' : FVarId) : M Unit := do - eraseFVar fvarId - modify fun s => { s with subst := s.subst.insert fvarId (.fvar fvarId') } +def replaceLet (decl : LetDecl) (fvarId : FVarId) : M Unit := do + eraseLetDecl decl + modify fun s => { s with subst := s.subst.insert decl.fvarId (.fvar fvarId) } + +def replaceFun (decl : FunDecl) (fvarId : FVarId) : M Unit := do + eraseFunDecl decl + modify fun s => { s with subst := s.subst.insert decl.fvarId (.fvar fvarId) } partial def _root_.Lean.Compiler.LCNF.Code.cse (code : Code) : CompilerM Code := go code |>.run' {} @@ -51,8 +55,8 @@ where let decl ← normLetDecl decl -- We only apply CSE to pure code match (← get).map.find? decl.value with - | some fvarId' => - replaceFVar decl.fvarId fvarId' + | some fvarId => + replaceLet decl fvarId go k | none => addEntry decl.value decl.fvarId @@ -62,7 +66,7 @@ where let value := decl.toExpr match (← get).map.find? value with | some fvarId' => - replaceFVar decl.fvarId fvarId' + replaceFun decl fvarId' go k | none => addEntry value decl.fvarId diff --git a/stage0/src/Lean/Compiler/LCNF/Check.lean b/stage0/src/Lean/Compiler/LCNF/Check.lean index 16d72d49c7..b37409fb92 100644 --- a/stage0/src/Lean/Compiler/LCNF/Check.lean +++ b/stage0/src/Lean/Compiler/LCNF/Check.lean @@ -29,8 +29,7 @@ abbrev CheckM := ReaderT Context $ StateRefT State InferTypeM def checkFVar (fvarId : FVarId) : CheckM Unit := unless (← read).vars.contains fvarId do - let localDecl ← getLocalDecl fvarId - throwError "invalid out of scope free variable {localDecl.userName}" + throwError "invalid out of scope free variable {← getBinderName fvarId}" def checkAppArgs (f : Expr) (args : Array Expr) : CheckM Unit := do let mut fType ← inferType f @@ -92,11 +91,8 @@ def checkJpInScope (jp : FVarId) : CheckM Unit := do throwError "invalid jump to out of scope join point `{mkFVar jp}`" def checkParam (param : Param) : CheckM Unit := do - let localDecl ← getLocalDecl param.fvarId - unless localDecl.userName == param.binderName do - throwError "LCNF parameter mismatch at `{param.binderName}`, binder name in local context `{localDecl.userName}`" - unless localDecl.type == param.type do - throwError "LCNF parameter mismatch at `{param.binderName}`, type in local context{indentExpr localDecl.type}\nexpected{indentExpr param.type}" + unless param == (← getParam param.fvarId) do + throwError "LCNF parameter mismatch at `{param.binderName}`, does not value in local context" def checkParams (params : Array Param) : CheckM Unit := params.forM checkParam @@ -106,13 +102,8 @@ def checkLetDecl (letDecl : LetDecl) : CheckM Unit := do let valueType ← inferType letDecl.value unless compatibleTypes letDecl.type valueType do throwError "type mismatch at `{letDecl.binderName}`, value has type{indentExpr valueType}\nbut is expected to have type{indentExpr letDecl.type}" - let localDecl ← getLocalDecl letDecl.fvarId - unless localDecl.userName == letDecl.binderName do - throwError "LCNF let declaration mismatch at `{letDecl.binderName}`, binder name in local context `{localDecl.userName}`" - unless localDecl.type == letDecl.type do - throwError "LCNF let declaration mismatch at `{letDecl.binderName}`, type in local context{indentExpr localDecl.type}\nexpected{indentExpr letDecl.type}" - unless localDecl.value == letDecl.value do - throwError "LCNF let declaration mismatch at `{letDecl.binderName}`, value in local context{indentExpr localDecl.value}\nexpected{indentExpr letDecl.value}" + unless letDecl == (← getLetDecl letDecl.fvarId) do + throwError "LCNF let declaration mismatch at `{letDecl.binderName}`, does not match value in local context" def addFVarId (fvarId : FVarId) : CheckM Unit := do if (← get).all.contains fvarId then @@ -143,11 +134,11 @@ partial def checkFunDeclCore (declName : Name) (type : Expr) (params : Array Par partial def checkFunDecl (funDecl : FunDecl) : CheckM Unit := do checkFunDeclCore funDecl.binderName funDecl.type funDecl.params funDecl.value - let localDecl ← getLocalDecl funDecl.fvarId - unless localDecl.userName == funDecl.binderName do - throwError "LCNF local function declaration mismatch at `{funDecl.binderName}`, binder name in local context `{localDecl.userName}`" - unless localDecl.type == funDecl.type do - throwError "LCNF local function declaration mismatch at `{funDecl.binderName}`, type in local context{indentExpr localDecl.type}\nexpected{indentExpr funDecl.type}" + let decl ← getFunDecl funDecl.fvarId + unless decl.binderName == funDecl.binderName do + throwError "LCNF local function declaration mismatch at `{funDecl.binderName}`, binder name in local context `{decl.binderName}`" + unless decl.type == funDecl.type do + throwError "LCNF local function declaration mismatch at `{funDecl.binderName}`, type in local context{indentExpr decl.type}\nexpected{indentExpr funDecl.type}" unless (← getFunDecl funDecl.fvarId) == funDecl do throwError "LCNF local function declaration mismatch at `{funDecl.binderName}`, declaration in local context does match" @@ -155,7 +146,7 @@ partial def checkCases (c : Cases) : CheckM Expr := do let mut ctorNames : NameSet := {} let mut hasDefault := false checkFVar c.discr - let discrType ← inferFVarType c.discr + let discrType ← LCNF.getType c.discr unless discrType.isAnyType do let .const declName _ := discrType.headBeta.getAppFn | throwError "unexpected LCNF discriminant type {discrType}" unless c.typeName == declName do @@ -213,9 +204,13 @@ Check whether every local declaration in the local context is used in one of giv -/ partial def checkDeadLocalDecls (decls : Array Decl) : CompilerM Unit := do let (_, s) := visitDecls decls |>.run {} - (← get).lctx.localDecls.forM fun fvarId decl => + let usesFVar (binderName : Name) (fvarId : FVarId) := unless s.contains fvarId do - throwError "LCNF local context contains unused local variable declaration `{decl.userName}`" + throwError "LCNF local context contains unused local variable declaration `{binderName}`" + let lctx := (← get).lctx + lctx.params.forM fun fvarId decl => usesFVar decl.binderName fvarId + lctx.letDecls.forM fun fvarId decl => usesFVar decl.binderName fvarId + lctx.funDecls.forM fun fvarId decl => usesFVar decl.binderName fvarId where visitFVar (fvarId : FVarId) : StateM FVarIdHashSet Unit := modify (·.insert fvarId) diff --git a/stage0/src/Lean/Compiler/LCNF/CompilerM.lean b/stage0/src/Lean/Compiler/LCNF/CompilerM.lean index 85066576c0..00b865146b 100644 --- a/stage0/src/Lean/Compiler/LCNF/CompilerM.lean +++ b/stage0/src/Lean/Compiler/LCNF/CompilerM.lean @@ -31,13 +31,45 @@ instance : AddMessageContext CompilerM where let opts ← getOptions return MessageData.withContext { env, lctx, opts, mctx := {} } msgData -def getLocalDecl (fvarId : FVarId) : CompilerM LocalDecl := do - let some decl := (← get).lctx.localDecls.find? fvarId | throwError "unknown free variable {fvarId.name}" - return decl +def getType (fvarId : FVarId) : CompilerM Expr := do + let lctx := (← get).lctx + if let some decl := lctx.letDecls.find? fvarId then + return decl.type + else if let some decl := lctx.params.find? fvarId then + return decl.type + else if let some decl := lctx.funDecls.find? fvarId then + return decl.type + else + throwError "unknown free variable {fvarId.name}" + +def getBinderName (fvarId : FVarId) : CompilerM Name := do + let lctx := (← get).lctx + if let some decl := lctx.letDecls.find? fvarId then + return decl.binderName + else if let some decl := lctx.params.find? fvarId then + return decl.binderName + else if let some decl := lctx.funDecls.find? fvarId then + return decl.binderName + else + throwError "unknown free variable {fvarId.name}" + +def findParam? (fvarId : FVarId) : CompilerM (Option Param) := + return (← get).lctx.params.find? fvarId + +def findLetDecl? (fvarId : FVarId) : CompilerM (Option LetDecl) := + return (← get).lctx.letDecls.find? fvarId def findFunDecl? (fvarId : FVarId) : CompilerM (Option FunDecl) := return (← get).lctx.funDecls.find? fvarId +def getParam (fvarId : FVarId) : CompilerM Param := do + let some param ← findParam? fvarId | throwError "unknown parameter {fvarId.name}" + return param + +def getLetDecl (fvarId : FVarId) : CompilerM LetDecl := do + let some decl ← findLetDecl? fvarId | throwError "unknown let-declaration {fvarId.name}" + return decl + def getFunDecl (fvarId : FVarId) : CompilerM FunDecl := do let some decl ← findFunDecl? fvarId | throwError "unknown local function {fvarId.name}" return decl @@ -45,14 +77,25 @@ def getFunDecl (fvarId : FVarId) : CompilerM FunDecl := do @[inline] def modifyLCtx (f : LCtx → LCtx) : CompilerM Unit := do modify fun s => { s with lctx := f s.lctx } -def eraseFVar (fvarId : FVarId) (recursive := true) : CompilerM Unit := do - modifyLCtx fun lctx => lctx.erase fvarId recursive +def eraseLetDecl (decl : LetDecl) : CompilerM Unit := do + modifyLCtx fun lctx => lctx.eraseLetDecl decl -def eraseFVarsAt (code : Code) : CompilerM Unit := do - modifyLCtx fun lctx => lctx.eraseFVarsAt code +def eraseFunDecl (decl : FunDecl) (recursive := true) : CompilerM Unit := do + modifyLCtx fun lctx => lctx.eraseFunDecl decl recursive + +def eraseCode (code : Code) : CompilerM Unit := do + modifyLCtx fun lctx => lctx.eraseCode code + +def eraseParam (param : Param) : CompilerM Unit := + modifyLCtx fun lctx => lctx.eraseParam param def eraseParams (params : Array Param) : CompilerM Unit := - params.forM (eraseFVar ·.fvarId) + modifyLCtx fun lctx => lctx.eraseParams params + +def eraseCodeDecl (decl : CodeDecl) : CompilerM Unit := do + match decl with + | .let decl => eraseLetDecl decl + | .jp decl | .fun decl => eraseFunDecl decl /-- A free variable substitution. @@ -132,8 +175,9 @@ private def mkNewFVarId (fvarId : FVarId) : M FVarId := do private def addParam (p : Param) : M Param := do let type ← normExpr p.type let fvarId ← mkNewFVarId p.fvarId - modifyLCtx fun lctx => lctx.addLocalDecl fvarId p.binderName type - return { p with fvarId, type } + let p := { p with fvarId, type } + modifyLCtx fun lctx => lctx.addParam p + return p mutual @@ -154,9 +198,10 @@ partial def internalizeCode (code : Code) : M Code := do let type ← normExpr decl.type let value ← normExpr decl.value let fvarId ← mkNewFVarId decl.fvarId - modifyLCtx fun lctx => lctx.addLetDecl fvarId binderName type value + let decl := { decl with binderName, fvarId, type, value } + modifyLCtx fun lctx => lctx.addLetDecl decl let k ← internalizeCode k - return .let { decl with binderName, fvarId, type, value } k + return .let decl k | .fun decl k => return .fun (← internalizeFunDecl decl) (← internalizeCode k) | .jp decl k => @@ -198,13 +243,15 @@ Helper functions for creating LCNF local declarations. def mkParam (binderName : Name) (type : Expr) (borrow : Bool) : CompilerM Param := do let fvarId ← mkFreshFVarId - modifyLCtx fun lctx => lctx.addLocalDecl fvarId binderName type - return { fvarId, binderName, type, borrow } + let param := { fvarId, binderName, type, borrow } + modifyLCtx fun lctx => lctx.addParam param + return param def mkLetDecl (binderName : Name) (type : Expr) (value : Expr) : CompilerM LetDecl := do let fvarId ← mkFreshFVarId - modifyLCtx fun lctx => lctx.addLetDecl fvarId binderName type value - return { fvarId, binderName, type, value } + let decl := { fvarId, binderName, type, value } + modifyLCtx fun lctx => lctx.addLetDecl decl + return decl def mkFunDecl (binderName : Name) (type : Expr) (params : Array Param) (value : Code) : CompilerM FunDecl := do let fvarId ← mkFreshFVarId @@ -217,7 +264,7 @@ private unsafe def updateParamImp (p : Param) (type : Expr) : CompilerM Param := return p else let p := { p with type } - modifyLCtx fun lctx => lctx.addLocalDecl p.fvarId p.binderName p.type + modifyLCtx fun lctx => lctx.addParam p return p @[implementedBy updateParamImp] opaque Param.update (p : Param) (type : Expr) : CompilerM Param @@ -227,7 +274,7 @@ private unsafe def updateLetDeclImp (decl : LetDecl) (type : Expr) (value : Expr return decl else let decl := { decl with type, value } - modifyLCtx fun lctx => lctx.addLetDecl decl.fvarId decl.binderName decl.type decl.value + modifyLCtx fun lctx => lctx.addLetDecl decl return decl @[implementedBy updateLetDeclImp] opaque LetDecl.update (decl : LetDecl) (type : Expr) (value : Expr) : CompilerM LetDecl diff --git a/stage0/src/Lean/Compiler/LCNF/ElimDead.lean b/stage0/src/Lean/Compiler/LCNF/ElimDead.lean index a7343de68e..156004bcc2 100644 --- a/stage0/src/Lean/Compiler/LCNF/ElimDead.lean +++ b/stage0/src/Lean/Compiler/LCNF/ElimDead.lean @@ -51,7 +51,7 @@ partial def elimDead (code : Code) : M Code := do collectExprM decl.value return code.updateCont! k else - eraseFVar decl.fvarId + eraseLetDecl decl return k | .fun decl k | .jp decl k => let k ← elimDead k @@ -59,7 +59,7 @@ partial def elimDead (code : Code) : M Code := do let decl ← visitFunDecl decl return code.updateFun! decl k else - eraseFVar decl.fvarId + eraseFunDecl decl return k | .cases c => let alts ← c.alts.mapMonoM fun alt => return alt.updateCode (← elimDead alt.getCode) @@ -79,4 +79,4 @@ def Code.elimDead (code : Code) : CompilerM Code := def Decl.elimDead (decl : Decl) : CompilerM Decl := do return { decl with value := (← decl.value.elimDead) } -end Lean.Compiler.LCNF \ No newline at end of file +end Lean.Compiler.LCNF diff --git a/stage0/src/Lean/Compiler/LCNF/InferType.lean b/stage0/src/Lean/Compiler/LCNF/InferType.lean index 8005a8a51b..7435433fff 100644 --- a/stage0/src/Lean/Compiler/LCNF/InferType.lean +++ b/stage0/src/Lean/Compiler/LCNF/InferType.lean @@ -21,16 +21,22 @@ created during type inference. -/ abbrev InferTypeM := ReaderT LocalContext CompilerM -def getLocalDecl (fvarId : FVarId) : InferTypeM LocalDecl := do +def getBinderName (fvarId : FVarId) : InferTypeM Name := do match (← read).find? fvarId with - | some localDecl => return localDecl - | none => LCNF.getLocalDecl fvarId + | some localDecl => return localDecl.userName + | none => LCNF.getBinderName fvarId + +def getType (fvarId : FVarId) : InferTypeM Expr := do + match (← read).find? fvarId with + | some localDecl => return localDecl.type + | none => LCNF.getType fvarId def mkForallFVars (xs : Array Expr) (type : Expr) : InferTypeM Expr := let b := type.abstract xs xs.size.foldRevM (init := b) fun i b => do let x := xs[i]! - let .cdecl _ _ n ty _ ← getLocalDecl x.fvarId! | unreachable! + let n ← InferType.getBinderName x.fvarId! + let ty ← InferType.getType x.fvarId! let ty := ty.abstractRange i xs; return .forallE n ty b .default @@ -43,9 +49,6 @@ def mkForallParams (params : Array Param) (type : Expr) : InferTypeM Expr := withReader (fun lctx => lctx.mkLocalDecl fvarId binderName type binderInfo) do k (.fvar fvarId) -def inferFVarType (fvarId : FVarId) : InferTypeM Expr := - return (← getLocalDecl fvarId).type - def inferConstType (declName : Name) (us : List Level) : CoreM Expr := if declName == ``lcAny || declName == ``lcErased then return anyTypeExpr @@ -60,7 +63,7 @@ mutual | .proj n i s => inferProjType n i s | .app .. => inferAppType e | .mvar .. => throwError "unexpected metavariable {e}" - | .fvar fvarId => inferFVarType fvarId + | .fvar fvarId => InferType.getType fvarId | .bvar .. => throwError "unexpected bound variable {e}" | .mdata _ e => inferType e | .lit v => return v.type @@ -181,7 +184,7 @@ def mkLcCast (e : Expr) (expectedType : Expr) : CompilerM Expr := do def Code.inferType (code : Code) : CompilerM Expr := do match code with | .let _ k | .fun _ k | .jp _ k => k.inferType - | .return fvarId => return (← getLocalDecl fvarId).type + | .return fvarId => getType fvarId | .jmp fvarId args => InferType.inferAppTypeCore (.fvar fvarId) args |>.run {} | .unreach type => return type | .cases c => return c.resultType @@ -208,9 +211,8 @@ def mkAuxFunDecl (params : Array Param) (code : Code) (prefixName := `_f) : Comp def mkAuxJpDecl (params : Array Param) (code : Code) (prefixName := `_jp) : CompilerM FunDecl := do mkAuxFunDecl params code prefixName -def mkAuxJpDecl' (fvarId : FVarId) (code : Code) (prefixName := `_jp) : CompilerM FunDecl := do - let localDecl ← getLocalDecl fvarId - let params := #[{ fvarId, binderName := localDecl.userName, type := localDecl.type, borrow := false }] +def mkAuxJpDecl' (param : Param) (code : Code) (prefixName := `_jp) : CompilerM FunDecl := do + let params := #[param] mkAuxFunDecl params code prefixName def instantiateForall (type : Expr) (params : Array Param) : CoreM Expr := diff --git a/stage0/src/Lean/Compiler/LCNF/JoinPoints.lean b/stage0/src/Lean/Compiler/LCNF/JoinPoints.lean index e6eeec0b24..35c5f864ea 100644 --- a/stage0/src/Lean/Compiler/LCNF/JoinPoints.lean +++ b/stage0/src/Lean/Compiler/LCNF/JoinPoints.lean @@ -146,7 +146,7 @@ def test (b : Bool) (x y : Nat) : Nat := let x := Nat.mul y y myjp x cases b (f x) (g y) -``` +``` `f` and `g` can be detected as a join point right away, however `myjp` can only ever be detected as a join point after we have established this. This is because otherwise the calls to `myjp` in `f` and `g` would @@ -172,7 +172,7 @@ where else eraseCandidate fvarId | _, _, _ => - removeCandidatesContainedIn decl.value + removeCandidatesContainedIn decl.value go k | .fun decl k => do withReader (fun _ => some decl.fvarId) do @@ -207,9 +207,8 @@ where match k, decl.value, decl.value.getAppFn with | .return valId, .app .., (.fvar fvarId) => if valId == decl.fvarId then - let localDecl := (← get).lctx.localDecls.find! fvarId - if (← read).contains localDecl.fvarId then - modifyLCtx (.eraseLocal decl.fvarId) + if (← read).contains fvarId then + eraseLetDecl decl return .jmp fvarId decl.value.getAppArgs else return code @@ -244,7 +243,7 @@ their definitions and call sites with `jp`/`jmp`. def Decl.findJoinPoints (decl : Decl) : CompilerM Decl := do let findResult ← JoinPointFinder.find decl trace[Compiler.findJoinPoints] s!"Found: {findResult.candidates.size} jp candidates" - JoinPointFinder.replace decl findResult + JoinPointFinder.replace decl findResult def findJoinPoints : Pass := .mkPerDeclaration `findJoinPoints Decl.findJoinPoints .base diff --git a/stage0/src/Lean/Compiler/LCNF/LCtx.lean b/stage0/src/Lean/Compiler/LCNF/LCtx.lean index 04b295c6e5..13f978f702 100644 --- a/stage0/src/Lean/Compiler/LCNF/LCtx.lean +++ b/stage0/src/Lean/Compiler/LCNF/LCtx.lean @@ -12,68 +12,62 @@ namespace Lean.Compiler.LCNF LCNF local context. -/ structure LCtx where - localDecls : Std.HashMap FVarId LocalDecl := {} + params : Std.HashMap FVarId Param := {} + letDecls : Std.HashMap FVarId LetDecl := {} funDecls : Std.HashMap FVarId FunDecl := {} deriving Inhabited -def LCtx.addLocalDecl (lctx : LCtx) (fvarId : FVarId) (binderName : Name) (type : Expr) : LCtx := - { lctx with - localDecls := lctx.localDecls.insert fvarId (.cdecl 0 fvarId binderName type .default) } +def LCtx.addParam (lctx : LCtx) (param : Param) : LCtx := + { lctx with params := lctx.params.insert param.fvarId param } -def LCtx.addLetDecl (lctx : LCtx) (fvarId : FVarId) (binderName : Name) (type : Expr) (value : Expr) : LCtx := - { lctx with - localDecls := lctx.localDecls.insert fvarId (.ldecl 0 fvarId binderName type value true) } +def LCtx.addLetDecl (lctx : LCtx) (letDecl : LetDecl) : LCtx := + { lctx with letDecls := lctx.letDecls.insert letDecl.fvarId letDecl } def LCtx.addFunDecl (lctx : LCtx) (funDecl : FunDecl) : LCtx := - match lctx with - | { localDecls, funDecls } => -- TODO: this is a workaround for #316 - { localDecls := localDecls.insert funDecl.fvarId (.cdecl 0 funDecl.fvarId funDecl.binderName funDecl.type .default) - funDecls := funDecls.insert funDecl.fvarId funDecl } + { lctx with funDecls := lctx.funDecls.insert funDecl.fvarId funDecl } -def LCtx.eraseLocal (fvarId : FVarId) : LCtx → LCtx - | { localDecls, funDecls } => - let localDecls := localDecls.erase fvarId - { localDecls, funDecls } +def LCtx.eraseParam (lctx : LCtx) (param : Param) : LCtx := + { lctx with params := lctx.params.erase param.fvarId } -partial def LCtx.erase (fvarId : FVarId) (lctx : LCtx) (recursive := true) : LCtx := - match lctx with - | { localDecls, funDecls } => - let localDecls := localDecls.erase fvarId - match funDecls.find? fvarId with - | none => { localDecls, funDecls } - | some funDecl => - let funDecls := funDecls.erase fvarId - if recursive then - go funDecl.value <| goParams funDecl.params { localDecls, funDecls } - else - { localDecls, funDecls } -where - goParams (params : Array Param) (lctx : LCtx) : LCtx := - params.foldl (init := lctx) fun lctx p => lctx.erase p.fvarId +def LCtx.eraseParams (lctx : LCtx) (ps : Array Param) : LCtx := + { lctx with params := ps.foldl (init := lctx.params) fun params p => params.erase p.fvarId } - goAlts (alts : Array Alt) (lctx : LCtx) : LCtx := +def LCtx.eraseLetDecl (lctx : LCtx) (decl : LetDecl) : LCtx := + { lctx with letDecls := lctx.letDecls.erase decl.fvarId } + +mutual + partial def LCtx.eraseFunDecl (lctx : LCtx) (decl : FunDecl) (recursive := true) : LCtx := + let lctx := { lctx with funDecls := lctx.funDecls.erase decl.fvarId } + if recursive then + eraseCode decl.value <| eraseParams lctx decl.params + else + lctx + + partial def LCtx.eraseAlts (alts : Array Alt) (lctx : LCtx) : LCtx := alts.foldl (init := lctx) fun lctx alt => match alt with - | .default k => go k lctx - | .alt _ ps k => go k <| goParams ps lctx + | .default k => eraseCode k lctx + | .alt _ ps k => eraseCode k <| eraseParams lctx ps - go (code : Code) (lctx : LCtx) : LCtx := + partial def LCtx.eraseCode (code : Code) (lctx : LCtx) : LCtx := match code with - | .let decl k => go k <| lctx.eraseLocal decl.fvarId - | .jp decl k | .fun decl k => go k <| lctx.erase decl.fvarId - | .cases c => goAlts c.alts lctx + | .let decl k => eraseCode k <| lctx.eraseLetDecl decl + | .jp decl k | .fun decl k => eraseCode k <| eraseFunDecl lctx decl + | .cases c => eraseAlts c.alts lctx | _ => lctx - -def LCtx.eraseFVarsAt (c : Code) (lctx : LCtx) : LCtx := - LCtx.erase.go c lctx +end /-- Convert a LCNF local context into a regular Lean local context. -/ def LCtx.toLocalContext (lctx : LCtx) : LocalContext := Id.run do let mut result := {} - for (_, localDecl) in lctx.localDecls.toArray do - result := result.addDecl localDecl + for (_, param) in lctx.params.toArray do + result := result.addDecl (.cdecl 0 param.fvarId param.binderName param.type .default) + for (_, decl) in lctx.letDecls.toArray do + result := result.addDecl (.ldecl 0 decl.fvarId decl.binderName decl.type decl.value true) + for (_, decl) in lctx.funDecls.toArray do + result := result.addDecl (.cdecl 0 decl.fvarId decl.binderName decl.type .default) return result -end Lean.Compiler.LCNF \ No newline at end of file +end Lean.Compiler.LCNF diff --git a/stage0/src/Lean/Compiler/LCNF/PassManager.lean b/stage0/src/Lean/Compiler/LCNF/PassManager.lean index e3a0a9ccde..44cab01fd0 100644 --- a/stage0/src/Lean/Compiler/LCNF/PassManager.lean +++ b/stage0/src/Lean/Compiler/LCNF/PassManager.lean @@ -15,13 +15,13 @@ namespace Lean.Compiler.LCNF The pipeline phase a certain `Pass` is supposed to happen in. -/ inductive Phase where -| /-- Here we still carry most of the original type information, most - of the dependent portion is already (partially) erased though. -/ - base -| /-- In this phase polymorphism has been eliminated. -/ - mono -| /-- In this phase impure stuff such as RC or efficient BaseIO transformations happen. -/ - impure + /-- Here we still carry most of the original type information, most + of the dependent portion is already (partially) erased though. -/ + | base + /-- In this phase polymorphism has been eliminated. -/ + | mono + /-- In this phase impure stuff such as RC or efficient BaseIO transformations happen. -/ + | impure deriving Inhabited /-- diff --git a/stage0/src/Lean/Compiler/LCNF/PrettyPrinter.lean b/stage0/src/Lean/Compiler/LCNF/PrettyPrinter.lean index fb608d47dc..d5e01318c2 100644 --- a/stage0/src/Lean/Compiler/LCNF/PrettyPrinter.lean +++ b/stage0/src/Lean/Compiler/LCNF/PrettyPrinter.lean @@ -29,9 +29,11 @@ private def prefixJoin (pre : Format) (as : Array α) (f : α → M Format) : M result := f!"{result}{pre}{← f a}" return result -def ppFVar (fvarId : FVarId) : M Format := do - let localDecl ← getLocalDecl fvarId - return format localDecl.userName +def ppFVar (fvarId : FVarId) : M Format := + try + return format (← getBinderName fvarId) + catch _ => + return format fvarId.name def ppExpr (e : Expr) : M Format := do Meta.ppExpr e |>.run' { lctx := (← read) } diff --git a/stage0/src/Lean/Compiler/LCNF/ReduceJpArity.lean b/stage0/src/Lean/Compiler/LCNF/ReduceJpArity.lean index 953c5295d5..1d1f06a4fa 100644 --- a/stage0/src/Lean/Compiler/LCNF/ReduceJpArity.lean +++ b/stage0/src/Lean/Compiler/LCNF/ReduceJpArity.lean @@ -33,7 +33,7 @@ partial def reduce (code : Code) : ReduceM Code := do mask := mask.push true paramsNew := paramsNew.push param else - eraseFVar param.fvarId + eraseParam param mask := mask.push false mask := mask.reverse paramsNew := paramsNew.reverse diff --git a/stage0/src/Lean/Compiler/LCNF/Simp.lean b/stage0/src/Lean/Compiler/LCNF/Simp.lean index 2a48399e0b..4cafe7edf2 100644 --- a/stage0/src/Lean/Compiler/LCNF/Simp.lean +++ b/stage0/src/Lean/Compiler/LCNF/Simp.lean @@ -50,19 +50,19 @@ a big problem in practice because we run the simplifier multiple times, and this is recomputed from scratch at the beginning of each simplification step. -/ inductive FunDeclInfo where - | /-- - Local function is applied once, and must be inlined. - -/ - once - | /-- - Local function is applied many times, and will only be inlined - if it is small. - -/ - many - | /-- - Function must be inlined. - -/ - mustInline + /-- + Local function is applied once, and must be inlined. + -/ + | once + /-- + Local function is applied many times, and will only be inlined + if it is small. + -/ + | many + /-- + Function must be inlined. + -/ + | mustInline deriving Repr, Inhabited /-- @@ -78,8 +78,8 @@ structure FunDeclInfoMap where def FunDeclInfoMap.format (s : FunDeclInfoMap) : CompilerM Format := do let mut result := Format.nil for (fvarId, info) in s.map.toList do - let localDecl ← getLocalDecl fvarId - result := result ++ "\n" ++ f!"{localDecl.userName} ↦ {repr info}" + let binderName ← getBinderName fvarId + result := result ++ "\n" ++ f!"{binderName} ↦ {repr info}" return result /-- @@ -110,8 +110,8 @@ partial def findFunDecl? (e : Expr) : CompilerM (Option FunDecl) := do | .fvar fvarId => if let some decl ← LCNF.findFunDecl? fvarId then return some decl - else if let .ldecl (value := v) .. ← getLocalDecl fvarId then - findFunDecl? v + else if let some decl ← findLetDecl? fvarId then + findFunDecl? decl.value else return none | .mdata _ e => findFunDecl? e @@ -120,8 +120,8 @@ partial def findFunDecl? (e : Expr) : CompilerM (Option FunDecl) := do partial def findExpr (e : Expr) (skipMData := true) : CompilerM Expr := do match e with | .fvar fvarId => - let .ldecl (value := v) .. ← getLocalDecl fvarId | return e - findExpr v + let some decl ← findLetDecl? fvarId | return e + findExpr decl.value | .mdata _ e' => if skipMData then findExpr e' else return e | _ => return e @@ -592,7 +592,7 @@ where | .fun decl => markUsedFunDecl decl; go (i-1) (.fun decl code) | .jp decl => markUsedFunDecl decl; go (i-1) (.jp decl code) else - eraseFVar decl.fvarId + eraseCodeDecl decl go (i-1) code else return code @@ -601,7 +601,7 @@ where Erase all free variables occurring in `decls` from the local context. -/ def eraseCodeDecls (decls : Array CodeDecl) : SimpM Unit := do - decls.forM fun decl => eraseFVar decl.fvarId + decls.forM fun decl => eraseCodeDecl decl /-- Auxiliary function for projecting "type class dictionary access". @@ -785,7 +785,7 @@ private def addDefault (alts : Array Alt) : SimpM (Array Alt) := do let .alt _ ps k := alt | unreachable! eraseParams ps unless first do - eraseFVarsAt k + eraseCode k first := false else altsNew := altsNew.push alt @@ -831,11 +831,19 @@ def simpValue? (e : Expr) : SimpM (Option Expr) := simpProj? e <|> simpAppApp? e <|> applyImplementedBy? e /-- -Erase the given free variable from the local context, +Erase the given let-declaration from the local context, and set the `simplified` flag to true. -/ -def eraseLocalDecl (fvarId : FVarId) : SimpM Unit := do - eraseFVar fvarId +def eraseLetDecl (decl : LetDecl) : SimpM Unit := do + LCNF.eraseLetDecl decl + markSimplified + +/-- +Erase the given local function declaration from the local context, +and set the `simplified` flag to true. +-/ +def eraseFunDecl (decl : FunDecl) : SimpM Unit := do + LCNF.eraseFunDecl decl markSimplified /-- @@ -858,7 +866,7 @@ def etaPolyApp? (letDecl : LetDecl) : OptionT SimpM FunDecl := do let auxDecl ← mkAuxLetDecl value let funDecl ← mkAuxFunDecl params (.let auxDecl (.return auxDecl.fvarId)) addSubst letDecl.fvarId (.fvar funDecl.fvarId) - eraseLocalDecl letDecl.fvarId + eraseLetDecl letDecl return funDecl mutual @@ -879,7 +887,7 @@ partial def simpCasesOnCtor? (cases : Cases) : SimpM (Option Code) := do let discrExpr ← findCtor (.fvar discr) let some (ctorVal, ctorArgs) := discrExpr.constructorApp? (← getEnv) (useRaw := true) | return none let (alt, cases) := cases.extractAlt! ctorVal.name - eraseFVarsAt (.cases cases) + eraseCode (.cases cases) markSimplified match alt with | .default k => simp k @@ -917,14 +925,14 @@ partial def simp (code : Code) : SimpM Code := withIncRecDepth do else if decl.value.isFVar then /- Eliminate `let _x_i := _x_j;` -/ addSubst decl.fvarId decl.value - eraseLocalDecl decl.fvarId + eraseLetDecl decl simp k else if let some code ← inlineApp? decl k then - eraseFVar decl.fvarId + eraseLetDecl decl simp code else if let some (decls, fvarId) ← inlineProjInst? decl.value then addSubst decl.fvarId (.fvar fvarId) - eraseLocalDecl decl.fvarId + eraseLetDecl decl let k ← simp k attachCodeDecls decls k else @@ -934,7 +942,7 @@ partial def simp (code : Code) : SimpM Code := withIncRecDepth do return code.updateLet! decl k else /- Dead variable elimination -/ - eraseLocalDecl decl.fvarId + eraseLetDecl decl return k | .fun decl k | .jp decl k => let mut decl := decl @@ -964,7 +972,7 @@ partial def simp (code : Code) : SimpM Code := withIncRecDepth do return code.updateFun! decl k else /- Dead function elimination -/ - eraseLocalDecl decl.fvarId + eraseFunDecl decl return k | .return fvarId => let fvarId ← normFVar fvarId diff --git a/stage0/src/Lean/Compiler/LCNF/SpecInfo.lean b/stage0/src/Lean/Compiler/LCNF/SpecInfo.lean index 23434382aa..41409a3d58 100644 --- a/stage0/src/Lean/Compiler/LCNF/SpecInfo.lean +++ b/stage0/src/Lean/Compiler/LCNF/SpecInfo.lean @@ -13,31 +13,31 @@ namespace Lean.Compiler.LCNF Each parameter is associated with a `SpecParamInfo`. This information is used by `LCNF/Specialize.lean`. -/ inductive SpecParamInfo where - | /-- - A parameter that is an type class instance (or an arrow that produces a type class instance), - and is fixed in recursive declarations. By default, Lean always specializes this kind of argument. - -/ - fixedInst - | /-- - A parameter that is a function and is fixed in recursive declarations. If the user tags a declaration - with `@[specialize]` without specifying which arguments should be specialized, Lean will specialize - `.fixedHO` arguments in addition to `.fixedInst`. - -/ - fixedHO - | /-- - Computationally irrelevant parameters that are fixed in recursive declarations. - -/ - fixedNeutral - | /-- - An argument that has been specified in the `@[specialize]` attribute. Lean specializes it even if it is - not fixed in recursive declarations. Non-termination can happen, and Lean interrupts it with an error message - based on the stack depth. - -/ - user - | /-- - Parameter is not going to be specialized. - -/ - other + /-- + A parameter that is an type class instance (or an arrow that produces a type class instance), + and is fixed in recursive declarations. By default, Lean always specializes this kind of argument. + -/ + | fixedInst + /-- + A parameter that is a function and is fixed in recursive declarations. If the user tags a declaration + with `@[specialize]` without specifying which arguments should be specialized, Lean will specialize + `.fixedHO` arguments in addition to `.fixedInst`. + -/ + | fixedHO + /-- + Computationally irrelevant parameters that are fixed in recursive declarations. + -/ + | fixedNeutral + /-- + An argument that has been specified in the `@[specialize]` attribute. Lean specializes it even if it is + not fixed in recursive declarations. Non-termination can happen, and Lean interrupts it with an error message + based on the stack depth. + -/ + | user + /-- + Parameter is not going to be specialized. + -/ + | other deriving Inhabited, Repr instance : ToMessageData SpecParamInfo where diff --git a/stage0/src/Lean/Compiler/LCNF/Stage1.lean b/stage0/src/Lean/Compiler/LCNF/Stage1.lean index b710e32111..d93d49a67f 100644 --- a/stage0/src/Lean/Compiler/LCNF/Stage1.lean +++ b/stage0/src/Lean/Compiler/LCNF/Stage1.lean @@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ import Lean.CoreM +import Lean.MonadEnv import Lean.Compiler.LCNF.Basic namespace Lean.Compiler.LCNF diff --git a/stage0/src/Lean/Compiler/LCNF/Testing.lean b/stage0/src/Lean/Compiler/LCNF/Testing.lean index 9b1bec490c..fdbaa252ae 100644 --- a/stage0/src/Lean/Compiler/LCNF/Testing.lean +++ b/stage0/src/Lean/Compiler/LCNF/Testing.lean @@ -233,5 +233,12 @@ Assert that the pass under test produces `Decl`s that do not contain def assertDoesNotContainConstAfter (constName : Name) (msg : String) : TestInstaller := assertForEachDeclAfterEachOccurence (fun _ decl => !decl.value.containsConst constName) msg +def assertNoFun : TestInstaller := + assertAfter do + for decl in (← getDecls) do + decl.value.forM fun + | .fun .. => throwError "declaration `{decl.name}` contains a local function declaration" + | _ => return () + end Testing end Lean.Compiler.LCNF diff --git a/stage0/src/Lean/Compiler/LCNF/ToDecl.lean b/stage0/src/Lean/Compiler/LCNF/ToDecl.lean index ef3d8470cf..6aef643267 100644 --- a/stage0/src/Lean/Compiler/LCNF/ToDecl.lean +++ b/stage0/src/Lean/Compiler/LCNF/ToDecl.lean @@ -100,10 +100,12 @@ def toDecl (declName : Name) : CompilerM Decl := do -- let value ← applyCasesOnImplementedBy value return (type, value) let value ← toLCNF value - if let .fun decl (.return _) := value then - eraseFVar decl.fvarId (recursive := false) - return { name := declName, params := decl.params, type, value := decl.value, levelParams := info.levelParams } + let decl ← if let .fun decl (.return _) := value then + eraseFunDecl decl (recursive := false) + pure { name := declName, params := decl.params, type, value := decl.value, levelParams := info.levelParams : Decl } else - return { name := declName, params := #[], type, value, levelParams := info.levelParams } + pure { name := declName, params := #[], type, value, levelParams := info.levelParams } + /- `toLCNF` may eta-reduce simple declarations. -/ + decl.etaExpand -end Lean.Compiler.LCNF \ No newline at end of file +end Lean.Compiler.LCNF diff --git a/stage0/src/Lean/Compiler/LCNF/ToExpr.lean b/stage0/src/Lean/Compiler/LCNF/ToExpr.lean index 4dd63d607c..10eed9622a 100644 --- a/stage0/src/Lean/Compiler/LCNF/ToExpr.lean +++ b/stage0/src/Lean/Compiler/LCNF/ToExpr.lean @@ -30,9 +30,9 @@ where | .lam n d b bi => .lam n (go o d) (go (o+1) b) bi | .letE n t v b nd => .letE n (go o t) (go o v) (go (o+1) b) nd -abbrev M := ReaderT Nat $ StateM LevelMap +abbrev ToExprM := ReaderT Nat $ StateM LevelMap -private abbrev mkLambdaM (params : Array Param) (e : Expr) : M Expr := +private abbrev mkLambdaM (params : Array Param) (e : Expr) : ToExprM Expr := return go (← read) (← get) params.size e where go (offset : Nat) (m : LevelMap) (i : Nat) (e : Expr) : Expr := @@ -43,30 +43,30 @@ where else e -@[inline] private def _root_.Lean.FVarId.toExprM (fvarId : FVarId) : M Expr := +@[inline] private def _root_.Lean.FVarId.toExprM (fvarId : FVarId) : ToExprM Expr := return fvarId.toExpr (← read) (← get) -@[inline] private def _root_.Lean.Expr.abstractM (e : Expr) : M Expr := +@[inline] private def _root_.Lean.Expr.abstractM (e : Expr) : ToExprM Expr := return e.abstract' (← read) (← get) -@[inline] def withFVar (fvarId : FVarId) (k : M α) : M α := do +@[inline] def withFVar (fvarId : FVarId) (k : ToExprM α) : ToExprM α := do let offset ← read modify fun s => s.insert fvarId offset withReader (·+1) k -@[inline] partial def withParams (params : Array Param) (k : M α) : M α := +@[inline] partial def withParams (params : Array Param) (k : ToExprM α) : ToExprM α := go 0 where - @[specialize] go (i : Nat) : M α := do + @[specialize] go (i : Nat) : ToExprM α := do if h : i < params.size then withFVar params[i].fvarId (go (i+1)) else k -@[inline] def run (x : M α) (offset : Nat := 0) (levelMap : LevelMap := {}) : α := +@[inline] def run (x : ToExprM α) (offset : Nat := 0) (levelMap : LevelMap := {}) : α := x |>.run offset |>.run' levelMap -@[inline] def run' (x : M α) (xs : Array FVarId) : α := +@[inline] def run' (x : ToExprM α) (xs : Array FVarId) : α := let map := xs.foldl (init := {}) fun map x => map.insert x map.size run x xs.size map @@ -75,10 +75,10 @@ end ToExpr open ToExpr mutual -partial def FunDeclCore.toExprM (decl : FunDecl) : M Expr := +partial def FunDeclCore.toExprM (decl : FunDecl) : ToExprM Expr := withParams decl.params do mkLambdaM decl.params (← decl.value.toExprM) -partial def Code.toExprM (code : Code) : M Expr := do +partial def Code.toExprM (code : Code) : ToExprM Expr := do match code with | .let decl k => let type ← decl.type.abstractM @@ -109,4 +109,4 @@ def FunDeclCore.toExpr (decl : FunDecl) (xs : Array FVarId := #[]) : Expr := def Decl.toExpr (decl : Decl) : Expr := run do withParams decl.params do mkLambdaM decl.params (← decl.value.toExprM) -end Lean.Compiler.LCNF \ No newline at end of file +end Lean.Compiler.LCNF diff --git a/stage0/src/Lean/Compiler/LCNF/ToLCNF.lean b/stage0/src/Lean/Compiler/LCNF/ToLCNF.lean index 4c42d7ebe2..a7e1414ec6 100644 --- a/stage0/src/Lean/Compiler/LCNF/ToLCNF.lean +++ b/stage0/src/Lean/Compiler/LCNF/ToLCNF.lean @@ -33,8 +33,8 @@ inductive Element where | jp (decl : FunDecl) | fun (decl : FunDecl) | let (decl : LetDecl) - | cases (fvarId : FVarId) (cases : Cases) - | unreach (fvarId : FVarId) + | cases (p : Param) (cases : Cases) + | unreach (p : Param) deriving Inhabited /-- @@ -70,7 +70,7 @@ where findFun? (f : FVarId) : CompilerM (Option FunDecl) := do if let some funDecl ← findFunDecl? f then return funDecl - else if let .ldecl (value := .fvar f') .. ← getLocalDecl f then + else if let some { value := .fvar f', .. } ← findLetDecl? f then findFun? f' else return none @@ -89,11 +89,11 @@ where -/ if decl.fvarId == fvarId && decl.value.isApp && decl.value.getAppFn.isFVar then let f := decl.value.getAppFn.fvarId! - let localDecl ← getLocalDecl f - if localDecl.userName.getPrefix == `_alt then + let binderName ← getBinderName f + if binderName.getPrefix == `_alt then if let some funDecl ← findFun? f then let args := decl.value.getAppArgs - eraseFVar decl.fvarId + eraseLetDecl decl if let some altJp := (← get).find? f then /- We already have an auxiliary join point for `f`, then, we just use it. -/ return .jmp altJp.fvarId args @@ -164,23 +164,24 @@ where | .let decl => go seq (i - 1) (.let decl c) | .unreach _ => let type ← c.inferType - eraseFVarsAt c + eraseCode c seq[:i].forM fun - | .let decl | .jp decl | .fun decl => eraseFVar decl.fvarId - | .cases _ cs => eraseFVarsAt (.cases cs) - | .unreach fvarId => eraseFVar fvarId + | .let decl => eraseLetDecl decl + | .jp decl | .fun decl => eraseFunDecl decl + | .cases _ cs => eraseCode (.cases cs) + | .unreach auxParam => eraseParam auxParam return .unreach type - | .cases fvarId cases => - if let .return fvarId' := c then - if fvarId == fvarId' then - eraseFVar fvarId + | .cases auxParam cases => + if let .return fvarId := c then + if auxParam.fvarId == fvarId then + eraseParam auxParam go seq (i - 1) (.cases cases) else -- `cases` is dead code go seq (i - 1) c else /- Create a join point for `c` and jump to it from `cases` -/ - let jpDecl ← mkAuxJpDecl' fvarId c + let jpDecl ← mkAuxJpDecl' auxParam c go seq (i - 1) (← bindCases jpDecl cases) else return c @@ -212,7 +213,7 @@ def pushElement (elem : Element) : M Unit := do def mkUnreachable (type : Expr) : M Expr := do let p ← mkAuxParam type - pushElement (.unreach p.fvarId) + pushElement (.unreach p) return .fvar p.fvarId def mkAuxLetDecl (e : Expr) (prefixName := `_x) : M Expr := do @@ -470,7 +471,7 @@ where alts := alts.push alt let cases : Cases := { typeName, discr := discr.fvarId!, resultType, alts } let auxDecl ← mkAuxParam resultType - pushElement (.cases auxDecl.fvarId cases) + pushElement (.cases auxDecl cases) let result := .fvar auxDecl.fvarId if args.size == casesInfo.arity then return result @@ -648,4 +649,4 @@ end ToLCNF export ToLCNF (toLCNF) -end Lean.Compiler.LCNF \ No newline at end of file +end Lean.Compiler.LCNF diff --git a/stage0/src/Lean/Compiler/LCNF/Util.lean b/stage0/src/Lean/Compiler/LCNF/Util.lean index 07adad7092..6500d037f6 100644 --- a/stage0/src/Lean/Compiler/LCNF/Util.lean +++ b/stage0/src/Lean/Compiler/LCNF/Util.lean @@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ import Lean.CoreM +import Lean.MonadEnv import Lean.Util.Recognizers namespace Lean.Compiler.LCNF diff --git a/stage0/src/Lean/CoreM.lean b/stage0/src/Lean/CoreM.lean index 8765bc4a2c..1125340456 100644 --- a/stage0/src/Lean/CoreM.lean +++ b/stage0/src/Lean/CoreM.lean @@ -6,12 +6,7 @@ Authors: Leonardo de Moura import Lean.Util.RecDepth import Lean.Util.Trace import Lean.Log -import Lean.Data.Options -import Lean.Environment -import Lean.Exception -import Lean.InternalExceptionId import Lean.Eval -import Lean.MonadEnv import Lean.ResolveName import Lean.Elab.InfoTree.Types diff --git a/stage0/src/Lean/Data.lean b/stage0/src/Lean/Data.lean index ef947ac670..047f522f7a 100644 --- a/stage0/src/Lean/Data.lean +++ b/stage0/src/Lean/Data.lean @@ -14,6 +14,7 @@ import Lean.Data.LBool import Lean.Data.LOption import Lean.Data.Lsp import Lean.Data.Name +import Lean.Data.NameMap import Lean.Data.Occurrences import Lean.Data.OpenDecl import Lean.Data.Options diff --git a/stage0/src/Lean/Data/JsonRpc.lean b/stage0/src/Lean/Data/JsonRpc.lean index bc1579f947..ebf8504394 100644 --- a/stage0/src/Lean/Data/JsonRpc.lean +++ b/stage0/src/Lean/Data/JsonRpc.lean @@ -37,32 +37,32 @@ instance : ToString RequestID where [JSON-RPC](https://www.jsonrpc.org/specification#error_object) and [LSP](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#errorCodes). -/ inductive ErrorCode where - | /-- Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.-/ - parseError - | /-- The JSON sent is not a valid Request object. -/ - invalidRequest - | /-- The method does not exist / is not available. -/ - methodNotFound - | /-- Invalid method parameter(s). -/ - invalidParams - | /-- Internal JSON-RPC error. -/ - internalError - | /-- Error code indicating that a server received a notification or - request before the server has received the `initialize` request. -/ - serverNotInitialized + /-- Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.-/ + | parseError + /-- The JSON sent is not a valid Request object. -/ + | invalidRequest + /-- The method does not exist / is not available. -/ + | methodNotFound + /-- Invalid method parameter(s). -/ + | invalidParams + /-- Internal JSON-RPC error. -/ + | internalError + /-- Error code indicating that a server received a notification or + request before the server has received the `initialize` request. -/ + | serverNotInitialized | unknownErrorCode -- LSP-specific codes below. - | /-- The server detected that the content of a document got - modified outside normal conditions. A server should - NOT send this error code if it detects a content change - in it unprocessed messages. The result even computed - on an older state might still be useful for the client. + /-- The server detected that the content of a document got + modified outside normal conditions. A server should + NOT send this error code if it detects a content change + in it unprocessed messages. The result even computed + on an older state might still be useful for the client. - If a client decides that a result is not of any use anymore - the client should cancel the request. -/ - contentModified - | /-- The client has canceled a request and a server as detected the cancel. -/ - requestCancelled + If a client decides that a result is not of any use anymore + the client should cancel the request. -/ + | contentModified + /-- The client has canceled a request and a server as detected the cancel. -/ + | requestCancelled -- Lean-specific codes below. | rpcNeedsReconnect | workerExited @@ -104,14 +104,14 @@ Uses separate constructors for notifications and errors because client and serve behavior is expected to be wildly different for both. -/ inductive Message where - | /-- A request message to describe a request between the client and the server. Every processed request must send a response back to the sender of the request. -/ - request (id : RequestID) (method : String) (params? : Option Structured) - | /-- A notification message. A processed notification message must not send a response back. They work like events. -/ - notification (method : String) (params? : Option Structured) - | /-- A Response Message sent as a result of a request. -/ - response (id : RequestID) (result : Json) - | /-- A non-successful response. -/ - responseError (id : RequestID) (code : ErrorCode) (message : String) (data? : Option Json) + /-- A request message to describe a request between the client and the server. Every processed request must send a response back to the sender of the request. -/ + | request (id : RequestID) (method : String) (params? : Option Structured) + /-- A notification message. A processed notification message must not send a response back. They work like events. -/ + | notification (method : String) (params? : Option Structured) + /-- A Response Message sent as a result of a request. -/ + | response (id : RequestID) (result : Json) + /-- A non-successful response. -/ + | responseError (id : RequestID) (code : ErrorCode) (message : String) (data? : Option Json) def Batch := Array Message diff --git a/stage0/src/Lean/Data/Name.lean b/stage0/src/Lean/Data/Name.lean index 804e9dbf13..b3fd32040e 100644 --- a/stage0/src/Lean/Data/Name.lean +++ b/stage0/src/Lean/Data/Name.lean @@ -3,10 +3,6 @@ Copyright (c) 2018 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Author: Leonardo de Moura -/ -import Lean.Data.HashSet -import Lean.Data.RBMap -import Lean.Data.RBTree -import Lean.Data.SSet namespace Lean instance : Coe String Name := ⟨Name.mkSimple⟩ @@ -133,77 +129,6 @@ def isNum : Name → Bool | _ => false end Name - -open Std (RBMap RBTree mkRBMap mkRBTree) - -def NameMap (α : Type) := Std.RBMap Name α Name.quickCmp - -@[inline] def mkNameMap (α : Type) : NameMap α := Std.mkRBMap Name α Name.quickCmp - -namespace NameMap -variable {α : Type} - -instance (α : Type) : EmptyCollection (NameMap α) := ⟨mkNameMap α⟩ - -instance (α : Type) : Inhabited (NameMap α) where - default := {} - -def insert (m : NameMap α) (n : Name) (a : α) := Std.RBMap.insert m n a - -def contains (m : NameMap α) (n : Name) : Bool := Std.RBMap.contains m n - -@[inline] def find? (m : NameMap α) (n : Name) : Option α := Std.RBMap.find? m n - -instance : ForIn m (NameMap α) (Name × α) := - inferInstanceAs (ForIn _ (Std.RBMap ..) ..) - -end NameMap - -def NameSet := RBTree Name Name.quickCmp - -namespace NameSet -def empty : NameSet := mkRBTree Name Name.quickCmp -instance : EmptyCollection NameSet := ⟨empty⟩ -instance : Inhabited NameSet := ⟨empty⟩ -def insert (s : NameSet) (n : Name) : NameSet := Std.RBTree.insert s n -def contains (s : NameSet) (n : Name) : Bool := Std.RBMap.contains s n -instance : ForIn m NameSet Name := - inferInstanceAs (ForIn _ (Std.RBTree ..) ..) - -end NameSet - -def NameSSet := SSet Name - -namespace NameSSet -abbrev empty : NameSSet := SSet.empty -instance : EmptyCollection NameSSet := ⟨empty⟩ -instance : Inhabited NameSSet := ⟨empty⟩ -abbrev insert (s : NameSSet) (n : Name) : NameSSet := SSet.insert s n -abbrev contains (s : NameSSet) (n : Name) : Bool := SSet.contains s n -end NameSSet - -def NameHashSet := Std.HashSet Name - -namespace NameHashSet -@[inline] def empty : NameHashSet := Std.HashSet.empty -instance : EmptyCollection NameHashSet := ⟨empty⟩ -instance : Inhabited NameHashSet := ⟨{}⟩ -def insert (s : NameHashSet) (n : Name) := Std.HashSet.insert s n -def contains (s : NameHashSet) (n : Name) : Bool := Std.HashSet.contains s n -end NameHashSet - -def MacroScopesView.isPrefixOf (v₁ v₂ : MacroScopesView) : Bool := - v₁.name.isPrefixOf v₂.name && - v₁.scopes == v₂.scopes && - v₁.mainModule == v₂.mainModule && - v₁.imported == v₂.imported - -def MacroScopesView.isSuffixOf (v₁ v₂ : MacroScopesView) : Bool := - v₁.name.isSuffixOf v₂.name && - v₁.scopes == v₂.scopes && - v₁.mainModule == v₂.mainModule && - v₁.imported == v₂.imported - end Lean open Lean diff --git a/stage0/src/Lean/Data/NameMap.lean b/stage0/src/Lean/Data/NameMap.lean new file mode 100644 index 0000000000..1b781a5c0a --- /dev/null +++ b/stage0/src/Lean/Data/NameMap.lean @@ -0,0 +1,85 @@ +/- +Copyright (c) 2018 Microsoft Corporation. All rights reserved. +Released under Apache 2.0 license as described in the file LICENSE. +Author: Leonardo de Moura +-/ +import Lean.Data.HashSet +import Lean.Data.RBMap +import Lean.Data.RBTree +import Lean.Data.SSet +import Lean.Data.Name +namespace Lean + +instance : Coe String Name := ⟨Name.mkSimple⟩ + +open Std (RBMap RBTree mkRBMap mkRBTree) + +def NameMap (α : Type) := Std.RBMap Name α Name.quickCmp + +@[inline] def mkNameMap (α : Type) : NameMap α := Std.mkRBMap Name α Name.quickCmp + +namespace NameMap +variable {α : Type} + +instance (α : Type) : EmptyCollection (NameMap α) := ⟨mkNameMap α⟩ + +instance (α : Type) : Inhabited (NameMap α) where + default := {} + +def insert (m : NameMap α) (n : Name) (a : α) := Std.RBMap.insert m n a + +def contains (m : NameMap α) (n : Name) : Bool := Std.RBMap.contains m n + +@[inline] def find? (m : NameMap α) (n : Name) : Option α := Std.RBMap.find? m n + +instance : ForIn m (NameMap α) (Name × α) := + inferInstanceAs (ForIn _ (Std.RBMap ..) ..) + +end NameMap + +def NameSet := RBTree Name Name.quickCmp + +namespace NameSet +def empty : NameSet := mkRBTree Name Name.quickCmp +instance : EmptyCollection NameSet := ⟨empty⟩ +instance : Inhabited NameSet := ⟨empty⟩ +def insert (s : NameSet) (n : Name) : NameSet := Std.RBTree.insert s n +def contains (s : NameSet) (n : Name) : Bool := Std.RBMap.contains s n +instance : ForIn m NameSet Name := + inferInstanceAs (ForIn _ (Std.RBTree ..) ..) + +end NameSet + +def NameSSet := SSet Name + +namespace NameSSet +abbrev empty : NameSSet := SSet.empty +instance : EmptyCollection NameSSet := ⟨empty⟩ +instance : Inhabited NameSSet := ⟨empty⟩ +abbrev insert (s : NameSSet) (n : Name) : NameSSet := SSet.insert s n +abbrev contains (s : NameSSet) (n : Name) : Bool := SSet.contains s n +end NameSSet + +def NameHashSet := Std.HashSet Name + +namespace NameHashSet +@[inline] def empty : NameHashSet := Std.HashSet.empty +instance : EmptyCollection NameHashSet := ⟨empty⟩ +instance : Inhabited NameHashSet := ⟨{}⟩ +def insert (s : NameHashSet) (n : Name) := Std.HashSet.insert s n +def contains (s : NameHashSet) (n : Name) : Bool := Std.HashSet.contains s n +end NameHashSet + +def MacroScopesView.isPrefixOf (v₁ v₂ : MacroScopesView) : Bool := + v₁.name.isPrefixOf v₂.name && + v₁.scopes == v₂.scopes && + v₁.mainModule == v₂.mainModule && + v₁.imported == v₂.imported + +def MacroScopesView.isSuffixOf (v₁ v₂ : MacroScopesView) : Bool := + v₁.name.isSuffixOf v₂.name && + v₁.scopes == v₂.scopes && + v₁.mainModule == v₂.mainModule && + v₁.imported == v₂.imported + +end Lean diff --git a/stage0/src/Lean/Data/Options.lean b/stage0/src/Lean/Data/Options.lean index 21a94a1ff3..e8f7371935 100644 --- a/stage0/src/Lean/Data/Options.lean +++ b/stage0/src/Lean/Data/Options.lean @@ -5,6 +5,7 @@ Authors: Sebastian Ullrich and Leonardo de Moura -/ import Lean.ImportingFlag import Lean.Data.KVMap +import Lean.Data.NameMap namespace Lean @@ -51,7 +52,7 @@ def getOptionDecl (name : Name) : IO OptionDecl := do let (some decl) ← pure (decls.find? name) | throw $ IO.userError s!"unknown option '{name}'" pure decl -def getOptionDefaulValue (name : Name) : IO DataValue := do +def getOptionDefaultValue (name : Name) : IO DataValue := do let decl ← getOptionDecl name pure decl.defValue @@ -63,7 +64,7 @@ def setOptionFromString (opts : Options) (entry : String) : IO Options := do let ps := (entry.splitOn "=").map String.trim let [key, val] ← pure ps | throw $ IO.userError "invalid configuration option entry, it must be of the form ' = '" let key := Name.mkSimple key - let defValue ← getOptionDefaulValue key + let defValue ← getOptionDefaultValue key match defValue with | DataValue.ofString _ => pure $ opts.setString key val | DataValue.ofBool _ => diff --git a/stage0/src/Lean/DocString.lean b/stage0/src/Lean/DocString.lean index d2fe546463..8e5ebcc609 100644 --- a/stage0/src/Lean/DocString.lean +++ b/stage0/src/Lean/DocString.lean @@ -95,7 +95,6 @@ def getDocStringText [Monad m] [MonadError m] [MonadRef m] (stx : TSyntax `Lean. def TSyntax.getDocString (stx : TSyntax `Lean.Parser.Command.docComment) : String := match stx.raw[1] with | Syntax.atom _ val => val.extract 0 (val.endPos - ⟨2⟩) - | Syntax.missing => "" - | _ => panic! s!"unexpected doc string\n{stx.raw[1]}" + | _ => "" end Lean diff --git a/stage0/src/Lean/Elab/Attributes.lean b/stage0/src/Lean/Elab/Attributes.lean index d1c885129a..7ecc9432a0 100644 --- a/stage0/src/Lean/Elab/Attributes.lean +++ b/stage0/src/Lean/Elab/Attributes.lean @@ -3,9 +3,6 @@ Copyright (c) 2020 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Sebastian Ullrich -/ -import Lean.Parser.Attr -import Lean.Attributes -import Lean.MonadEnv import Lean.Elab.Util namespace Lean.Elab diff --git a/stage0/src/Lean/Elab/Binders.lean b/stage0/src/Lean/Elab/Binders.lean index 54d0823280..1225a6c41e 100644 --- a/stage0/src/Lean/Elab/Binders.lean +++ b/stage0/src/Lean/Elab/Binders.lean @@ -3,7 +3,6 @@ Copyright (c) 2019 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Lean.Parser.Term import Lean.Elab.Quotation.Precheck import Lean.Elab.Term import Lean.Elab.BindersUtil diff --git a/stage0/src/Lean/Elab/BuiltinCommand.lean b/stage0/src/Lean/Elab/BuiltinCommand.lean index 70785f8adf..193c709029 100644 --- a/stage0/src/Lean/Elab/BuiltinCommand.lean +++ b/stage0/src/Lean/Elab/BuiltinCommand.lean @@ -3,12 +3,13 @@ Copyright (c) 2021 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Lean.Elab.DeclarationRange -import Lean.DocString import Lean.Util.CollectLevelParams +import Lean.Meta.Reduce +import Lean.Elab.DeclarationRange import Lean.Elab.Eval import Lean.Elab.Command import Lean.Elab.Open +import Lean.Elab.SetOption namespace Lean.Elab.Command diff --git a/stage0/src/Lean/Elab/BuiltinNotation.lean b/stage0/src/Lean/Elab/BuiltinNotation.lean index d6245a3425..ef5f090f05 100644 --- a/stage0/src/Lean/Elab/BuiltinNotation.lean +++ b/stage0/src/Lean/Elab/BuiltinNotation.lean @@ -3,11 +3,9 @@ Copyright (c) 2019 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Init.Data.ToString import Lean.Compiler.BorrowedAnnotation import Lean.Meta.KAbstract -import Lean.Meta.Transform -import Lean.Elab.App +import Lean.Meta.MatchUtil import Lean.Elab.SyntheticMVars namespace Lean.Elab.Term @@ -38,6 +36,8 @@ open Meta (fun ival _ => do match ival.ctors with | [ctor] => + if isPrivateNameFromImportedModule (← getEnv) ctor then + throwError "invalid ⟨...⟩ notation, constructor for `{ival.name}` is marked as private" let cinfo ← getConstInfoCtor ctor let numExplicitFields ← forallTelescopeReducing cinfo.type fun xs _ => do let mut n := 0 diff --git a/stage0/src/Lean/Elab/BuiltinTerm.lean b/stage0/src/Lean/Elab/BuiltinTerm.lean index 7064b5ab0a..344b4f5c16 100644 --- a/stage0/src/Lean/Elab/BuiltinTerm.lean +++ b/stage0/src/Lean/Elab/BuiltinTerm.lean @@ -3,7 +3,8 @@ Copyright (c) 2021 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Lean.Elab.Term +import Lean.Elab.Open +import Lean.Elab.SetOption import Lean.Elab.Eval namespace Lean.Elab.Term diff --git a/stage0/src/Lean/Elab/Command.lean b/stage0/src/Lean/Elab/Command.lean index 1aeb013859..cf97465221 100644 --- a/stage0/src/Lean/Elab/Command.lean +++ b/stage0/src/Lean/Elab/Command.lean @@ -3,17 +3,8 @@ Copyright (c) 2019 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Lean.Log -import Lean.Parser.Command -import Lean.ResolveName -import Lean.Meta.Reduce -import Lean.Elab.Term -import Lean.Elab.Tactic.Cache import Lean.Elab.Binders import Lean.Elab.SyntheticMVars -import Lean.Elab.DeclModifiers -import Lean.Elab.InfoTree -import Lean.Elab.SetOption namespace Lean.Elab.Command diff --git a/stage0/src/Lean/Elab/DeclModifiers.lean b/stage0/src/Lean/Elab/DeclModifiers.lean index 4b998f287d..1384e3675a 100644 --- a/stage0/src/Lean/Elab/DeclModifiers.lean +++ b/stage0/src/Lean/Elab/DeclModifiers.lean @@ -3,12 +3,8 @@ Copyright (c) 2020 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Sebastian Ullrich -/ -import Lean.Modifiers -import Lean.DocString import Lean.Structure import Lean.Elab.Attributes -import Lean.Elab.Exception -import Lean.Elab.DeclUtil namespace Lean.Elab diff --git a/stage0/src/Lean/Elab/DefView.lean b/stage0/src/Lean/Elab/DefView.lean index 4713f17711..5a24e0e0df 100644 --- a/stage0/src/Lean/Elab/DefView.lean +++ b/stage0/src/Lean/Elab/DefView.lean @@ -3,15 +3,10 @@ Copyright (c) 2020 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Sebastian Ullrich -/ -import Lean.Parser.Command -import Lean.Util.CollectLevelParams -import Lean.Util.FoldConsts import Lean.Meta.ForEachExpr -import Lean.Meta.CollectFVars import Lean.Elab.Command -import Lean.Elab.SyntheticMVars -import Lean.Elab.Binders import Lean.Elab.DeclUtil + namespace Lean.Elab inductive DefKind where diff --git a/stage0/src/Lean/Elab/Deriving/Basic.lean b/stage0/src/Lean/Elab/Deriving/Basic.lean index e3b35b6e66..2c934665f1 100644 --- a/stage0/src/Lean/Elab/Deriving/Basic.lean +++ b/stage0/src/Lean/Elab/Deriving/Basic.lean @@ -4,11 +4,62 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Wojciech Nawrocki -/ import Lean.Elab.Command -import Lean.Elab.MutualDef namespace Lean.Elab open Command +namespace Term +open Meta + +/-- Result for `mkInst?` -/ +structure MkInstResult where + instVal : Expr + instType : Expr + outParams : Array Expr := #[] + +/-- + Construct an instance for `className out₁ ... outₙ type`. + The method support classes with a prefix of `outParam`s (e.g. `MonadReader`). -/ +private partial def mkInst? (className : Name) (type : Expr) : MetaM (Option MkInstResult) := do + let rec go? (instType instTypeType : Expr) (outParams : Array Expr) : MetaM (Option MkInstResult) := do + let instTypeType ← whnfD instTypeType + unless instTypeType.isForall do + return none + let d := instTypeType.bindingDomain! + if d.isOutParam then + let mvar ← mkFreshExprMVar d + go? (mkApp instType mvar) (instTypeType.bindingBody!.instantiate1 mvar) (outParams.push mvar) + else + unless (← isDefEqGuarded (← inferType type) d) do + return none + let instType ← instantiateMVars (mkApp instType type) + let instVal ← synthInstance instType + return some { instVal, instType, outParams } + let instType ← mkConstWithFreshMVarLevels className + go? instType (← inferType instType) #[] + +def processDefDeriving (className : Name) (declName : Name) : TermElabM Bool := do + try + let ConstantInfo.defnInfo info ← getConstInfo declName | return false + let some result ← mkInst? className info.value | return false + let instTypeNew := mkApp result.instType.appFn! (Lean.mkConst declName (info.levelParams.map mkLevelParam)) + Meta.check instTypeNew + let instName ← liftMacroM <| mkUnusedBaseName (declName.appendBefore "inst" |>.appendAfter className.getString!) + addAndCompile <| Declaration.defnDecl { + name := instName + levelParams := info.levelParams + type := (← instantiateMVars instTypeNew) + value := (← instantiateMVars result.instVal) + hints := info.hints + safety := info.safety + } + addInstance instName AttributeKind.global (eval_prio default) + return true + catch _ => + return false + +end Term + def DerivingHandler := (typeNames : Array Name) → (args? : Option (TSyntax ``Parser.Term.structInst)) → CommandElabM Bool def DerivingHandlerNoArgs := (typeNames : Array Name) → CommandElabM Bool diff --git a/stage0/src/Lean/Elab/Deriving/Repr.lean b/stage0/src/Lean/Elab/Deriving/Repr.lean index c14736f007..2b5289bd96 100644 --- a/stage0/src/Lean/Elab/Deriving/Repr.lean +++ b/stage0/src/Lean/Elab/Deriving/Repr.lean @@ -26,21 +26,19 @@ def mkBodyForStruct (header : Header) (indVal : InductiveVal) : TermElabM Term : let target := mkIdent header.targetNames[0]! forallTelescopeReducing ctorVal.type fun xs _ => do let mut fields ← `(Format.nil) - let mut first := true if xs.size != numParams + fieldNames.size then throwError "'deriving Repr' failed, unexpected number of fields in structure" for i in [:fieldNames.size] do let fieldName := fieldNames[i]! let fieldNameLit := Syntax.mkStrLit (toString fieldName) let x := xs[numParams + i]! - if first then - first := false - else + if i > numParams then fields ← `($fields ++ "," ++ Format.line) if (← isType x <||> isProof x) then fields ← `($fields ++ $fieldNameLit ++ " := " ++ "_") else - fields ← `($fields ++ $fieldNameLit ++ " := " ++ repr ($target.$(mkIdent fieldName):ident)) + let indent := Syntax.mkNumLit <| toString ((toString fieldName |>.length) + " := ".length) + fields ← `($fields ++ $fieldNameLit ++ " := " ++ (Format.group (Format.nest $indent (repr ($target.$(mkIdent fieldName):ident))))) `(Format.bracket "{ " $fields:term " }") def mkBodyForInduct (header : Header) (indVal : InductiveVal) (auxFunName : Name) : TermElabM Term := do diff --git a/stage0/src/Lean/Elab/Do.lean b/stage0/src/Lean/Elab/Do.lean index 3d97cc69c5..2754e14db5 100644 --- a/stage0/src/Lean/Elab/Do.lean +++ b/stage0/src/Lean/Elab/Do.lean @@ -187,15 +187,15 @@ structure Alt (σ : Type) where inductive Code where | decl (xs : Array Var) (doElem : Syntax) (k : Code) | reassign (xs : Array Var) (doElem : Syntax) (k : Code) - | /-- The Boolean value in `params` indicates whether we should use `(x : typeof! x)` when generating term Syntax or not -/ - joinpoint (name : Name) (params : Array (Var × Bool)) (body : Code) (k : Code) + /-- The Boolean value in `params` indicates whether we should use `(x : typeof! x)` when generating term Syntax or not -/ + | joinpoint (name : Name) (params : Array (Var × Bool)) (body : Code) (k : Code) | seq (action : Syntax) (k : Code) | action (action : Syntax) | break (ref : Syntax) | continue (ref : Syntax) | return (ref : Syntax) (val : Syntax) - | /-- Recall that an if-then-else may declare a variable using `optIdent` for the branches `thenBranch` and `elseBranch`. We store the variable name at `var?`. -/ - ite (ref : Syntax) (h? : Option Var) (optIdent : Syntax) (cond : Syntax) (thenBranch : Code) (elseBranch : Code) + /-- Recall that an if-then-else may declare a variable using `optIdent` for the branches `thenBranch` and `elseBranch`. We store the variable name at `var?`. -/ + | ite (ref : Syntax) (h? : Option Var) (optIdent : Syntax) (cond : Syntax) (thenBranch : Code) (elseBranch : Code) | match (ref : Syntax) (gen : Syntax) (discrs : Syntax) (optMotive : Syntax) (alts : Array (Alt Code)) | jmp (ref : Syntax) (jpName : Name) (args : Array Syntax) deriving Inhabited diff --git a/stage0/src/Lean/Elab/Extra.lean b/stage0/src/Lean/Elab/Extra.lean index f282b120b7..c945d75379 100644 --- a/stage0/src/Lean/Elab/Extra.lean +++ b/stage0/src/Lean/Elab/Extra.lean @@ -128,18 +128,18 @@ there is no coercion `Matrix Real 5 4` from `Matrix Real 4 8` and vice-versa, bu -/ private inductive Tree where - | /-- - Leaf of the tree. - We store the `infoTrees` generated when elaborating `val`. These trees become - subtrees of the infotree nodes generated for `op` nodes. - -/ - term (ref : Syntax) (infoTrees : Std.PersistentArray InfoTree) (val : Expr) - | /-- - `ref` is the original syntax that expanded into `binop%`. - `macroName` is the `macro_rule` that produce the expansion. We store this information - here to make sure "go to definition" behaves similarly to notation defined without using `binop%` helper elaborator. - -/ - op (ref : Syntax) (macroName : Name) (lazy : Bool) (f : Expr) (lhs rhs : Tree) + /-- + Leaf of the tree. + We store the `infoTrees` generated when elaborating `val`. These trees become + subtrees of the infotree nodes generated for `op` nodes. + -/ + | term (ref : Syntax) (infoTrees : Std.PersistentArray InfoTree) (val : Expr) + /-- + `ref` is the original syntax that expanded into `binop%`. + `macroName` is the `macro_rule` that produce the expansion. We store this information + here to make sure "go to definition" behaves similarly to notation defined without using `binop%` helper elaborator. + -/ + | op (ref : Syntax) (macroName : Name) (lazy : Bool) (f : Expr) (lhs rhs : Tree) private partial def toTree (s : Syntax) : TermElabM Tree := do /- @@ -381,7 +381,37 @@ def elabBinOpLazy : TermElab := elabBinOp -/ def elabBinRelCore (noProp : Bool) (stx : Syntax) (expectedType? : Option Expr) : TermElabM Expr := do match (← resolveId? stx[1]) with - | some f => withSynthesize (mayPostpone := true) do + | some f => withSynthesizeLight do + /- + We used to use `withSynthesize (mayPostpone := true)` here instead of `withSynthesizeLight` here. + Recall that `withSynthesizeLight` is equivalent to `withSynthesize (mayPostpone := true) (synthesizeDefault := false)`. + It seems too much to apply default instances at binary relations. For example, we cannot elaborate + ``` + def as : List Int := [-1, 2, 0, -3, 4] + #eval as.map fun a => ite (a ≥ 0) [a] [] + ``` + The problem is that when elaborating `a ≥ 0` we don't know yet that `a` is an `Int`. + Then, by applying default instances, we apply the default instance to `0` that forces it to become an `Int`, + and Lean infers that `a` has type `Nat`. + Then, later we get a type error because `as` is `List Int` instead of `List Nat`. + This behavior is quite counterintuitive since if we avoid this elaborator by writing + ``` + def as : List Int := [-1, 2, 0, -3, 4] + #eval as.map fun a => ite (GE.ge a 0) [a] [] + ``` + everything works. + However, there is a drawback of using `withSynthesizeLight` instead of `withSynthesize (mayPostpone := true)`. + The following cannot be elaborated + ``` + have : (0 == 1) = false := rfl + ``` + We get a type error at `rfl`. `0 == 1` only reduces to `false` after we have applied the default instances that force + the numeral to be `Nat`. We claim this is defensible behavior because the same happens if we do not use this elaborator. + ``` + have : (BEq.beq 0 1) = false := rfl + ``` + We can improve this failure in the future by applying default instances before reporting a type mismatch. + -/ let lhs ← withRef stx[2] <| toTree stx[2] let rhs ← withRef stx[3] <| toTree stx[3] let tree := Tree.op (lazy := false) stx .anonymous f lhs rhs diff --git a/stage0/src/Lean/Elab/Inductive.lean b/stage0/src/Lean/Elab/Inductive.lean index d29dddc4d5..2e5e22a1cd 100644 --- a/stage0/src/Lean/Elab/Inductive.lean +++ b/stage0/src/Lean/Elab/Inductive.lean @@ -787,7 +787,7 @@ private def mkInductiveDecl (vars : Array Expr) (views : Array InductiveView) : for view in views do Term.addTermInfo' view.ref[1] (← mkConstWithLevelParams view.declName) (isBinder := true) for ctor in view.ctors do - Term.addTermInfo' ctor.ref[2] (← mkConstWithLevelParams ctor.declName) (isBinder := true) + Term.addTermInfo' ctor.ref[3] (← mkConstWithLevelParams ctor.declName) (isBinder := true) -- We need to invoke `applyAttributes` because `class` is implemented as an attribute. Term.applyAttributesAt view.declName view.modifiers.attrs .afterTypeChecking diff --git a/stage0/src/Lean/Elab/InfoTree/Main.lean b/stage0/src/Lean/Elab/InfoTree/Main.lean index c9b9a9f98b..18500cf951 100644 --- a/stage0/src/Lean/Elab/InfoTree/Main.lean +++ b/stage0/src/Lean/Elab/InfoTree/Main.lean @@ -4,12 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Wojciech Nawrocki, Leonardo de Moura, Sebastian Ullrich -/ -import Lean.Data.Position -import Lean.Message -import Lean.Data.Json -import Lean.Meta.Basic import Lean.Meta.PPGoal -import Lean.Elab.InfoTree.Types namespace Lean.Elab diff --git a/stage0/src/Lean/Elab/InfoTree/Types.lean b/stage0/src/Lean/Elab/InfoTree/Types.lean index d6b8e3e0cf..ab6aa28e46 100644 --- a/stage0/src/Lean/Elab/InfoTree/Types.lean +++ b/stage0/src/Lean/Elab/InfoTree/Types.lean @@ -150,12 +150,12 @@ inductive Info where `hole`s which are filled in later in the same way that unassigned metavariables are. -/ inductive InfoTree where - | /-- The context object is created by `liftTermElabM` at `Command.lean` -/ - context (i : ContextInfo) (t : InfoTree) - | /-- The children contain information for nested term elaboration and tactic evaluation -/ - node (i : Info) (children : Std.PersistentArray InfoTree) - | /-- The elaborator creates holes (aka metavariables) for tactics and postponed terms -/ - hole (mvarId : MVarId) + /-- The context object is created by `liftTermElabM` at `Command.lean` -/ + | context (i : ContextInfo) (t : InfoTree) + /-- The children contain information for nested term elaboration and tactic evaluation -/ + | node (i : Info) (children : Std.PersistentArray InfoTree) + /-- The elaborator creates holes (aka metavariables) for tactics and postponed terms -/ + | hole (mvarId : MVarId) deriving Inhabited /-- This structure is the state that is being used to build an InfoTree object. diff --git a/stage0/src/Lean/Elab/Match.lean b/stage0/src/Lean/Elab/Match.lean index 13f56d0cc0..e0ed3d50d5 100644 --- a/stage0/src/Lean/Elab/Match.lean +++ b/stage0/src/Lean/Elab/Match.lean @@ -3,17 +3,14 @@ Copyright (c) 2020 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Lean.Util.CollectFVars -import Lean.Parser.Term -import Lean.Meta.Match.MatchPatternAttr import Lean.Meta.Match.Match import Lean.Meta.GeneralizeVars import Lean.Meta.ForEachExpr -import Lean.Elab.SyntheticMVars -import Lean.Elab.Arg -import Lean.Elab.PatternVar import Lean.Elab.AuxDiscr import Lean.Elab.BindersUtil +import Lean.Elab.PatternVar +import Lean.Elab.Quotation.Precheck +import Lean.Elab.SyntheticMVars namespace Lean.Elab.Term open Meta diff --git a/stage0/src/Lean/Elab/MutualDef.lean b/stage0/src/Lean/Elab/MutualDef.lean index 9a105609ac..fac8407b6c 100644 --- a/stage0/src/Lean/Elab/MutualDef.lean +++ b/stage0/src/Lean/Elab/MutualDef.lean @@ -11,7 +11,8 @@ import Lean.PrettyPrinter.Delaborator.Options import Lean.Elab.Command import Lean.Elab.Match import Lean.Elab.DefView -import Lean.Elab.PreDefinition +import Lean.Elab.Deriving.Basic +import Lean.Elab.PreDefinition.Main import Lean.Elab.DeclarationRange namespace Lean.Elab @@ -719,53 +720,6 @@ private def levelMVarToParamHeaders (views : Array DefView) (headers : Array Def let newHeaders ← (process).run' 1 newHeaders.mapM fun header => return { header with type := (← instantiateMVars header.type) } -/-- Result for `mkInst?` -/ -structure MkInstResult where - instVal : Expr - instType : Expr - outParams : Array Expr := #[] - -/-- - Construct an instance for `className out₁ ... outₙ type`. - The method support classes with a prefix of `outParam`s (e.g. `MonadReader`). -/ -private partial def mkInst? (className : Name) (type : Expr) : MetaM (Option MkInstResult) := do - let rec go? (instType instTypeType : Expr) (outParams : Array Expr) : MetaM (Option MkInstResult) := do - let instTypeType ← whnfD instTypeType - unless instTypeType.isForall do - return none - let d := instTypeType.bindingDomain! - if d.isOutParam then - let mvar ← mkFreshExprMVar d - go? (mkApp instType mvar) (instTypeType.bindingBody!.instantiate1 mvar) (outParams.push mvar) - else - unless (← isDefEqGuarded (← inferType type) d) do - return none - let instType ← instantiateMVars (mkApp instType type) - let instVal ← synthInstance instType - return some { instVal, instType, outParams } - let instType ← mkConstWithFreshMVarLevels className - go? instType (← inferType instType) #[] - -def processDefDeriving (className : Name) (declName : Name) : TermElabM Bool := do - try - let ConstantInfo.defnInfo info ← getConstInfo declName | return false - let some result ← mkInst? className info.value | return false - let instTypeNew := mkApp result.instType.appFn! (Lean.mkConst declName (info.levelParams.map mkLevelParam)) - Meta.check instTypeNew - let instName ← liftMacroM <| mkUnusedBaseName (declName.appendBefore "inst" |>.appendAfter className.getString!) - addAndCompile <| Declaration.defnDecl { - name := instName - levelParams := info.levelParams - type := (← instantiateMVars instTypeNew) - value := (← instantiateMVars result.instVal) - hints := info.hints - safety := info.safety - } - addInstance instName AttributeKind.global (eval_prio default) - return true - catch _ => - return false - /-- Remove auxiliary match discriminant let-declarations. -/ def eraseAuxDiscr (e : Expr) : CoreM Expr := do Core.transform e fun e => do diff --git a/stage0/src/Lean/Elab/PreDefinition/Basic.lean b/stage0/src/Lean/Elab/PreDefinition/Basic.lean index de87fc6ab7..d4e2fb9784 100644 --- a/stage0/src/Lean/Elab/PreDefinition/Basic.lean +++ b/stage0/src/Lean/Elab/PreDefinition/Basic.lean @@ -3,11 +3,9 @@ Copyright (c) 2020 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Lean.Util.SCC import Lean.Compiler.NoncomputableAttr +import Lean.Util.CollectLevelParams import Lean.Meta.AbstractNestedProofs -import Lean.Meta.Transform -import Lean.Elab.Term import Lean.Elab.RecAppSyntax import Lean.Elab.DefView diff --git a/stage0/src/Lean/Elab/PreDefinition/Main.lean b/stage0/src/Lean/Elab/PreDefinition/Main.lean index 9ab073a53f..cdd67b6ecb 100644 --- a/stage0/src/Lean/Elab/PreDefinition/Main.lean +++ b/stage0/src/Lean/Elab/PreDefinition/Main.lean @@ -3,10 +3,12 @@ Copyright (c) 2020 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ +import Lean.Util.SCC import Lean.Elab.PreDefinition.Basic import Lean.Elab.PreDefinition.Structural -import Lean.Elab.PreDefinition.WF +import Lean.Elab.PreDefinition.WF.Main import Lean.Elab.PreDefinition.MkInhabitant + namespace Lean.Elab open Meta open Term diff --git a/stage0/src/Lean/Elab/PreDefinition/WF/PackDomain.lean b/stage0/src/Lean/Elab/PreDefinition/WF/PackDomain.lean index 4289ffb3d4..bd319a788a 100644 --- a/stage0/src/Lean/Elab/PreDefinition/WF/PackDomain.lean +++ b/stage0/src/Lean/Elab/PreDefinition/WF/PackDomain.lean @@ -3,6 +3,7 @@ Copyright (c) 2021 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ +import Lean.Meta.Tactic.Cases import Lean.Elab.PreDefinition.Basic namespace Lean.Elab.WF diff --git a/stage0/src/Lean/Elab/PreDefinition/WF/PackMutual.lean b/stage0/src/Lean/Elab/PreDefinition/WF/PackMutual.lean index d748b70fbb..4b99199974 100644 --- a/stage0/src/Lean/Elab/PreDefinition/WF/PackMutual.lean +++ b/stage0/src/Lean/Elab/PreDefinition/WF/PackMutual.lean @@ -3,6 +3,7 @@ Copyright (c) 2021 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ +import Lean.Meta.Tactic.Cases import Lean.Elab.PreDefinition.Basic namespace Lean.Elab.WF diff --git a/stage0/src/Lean/Elab/PreDefinition/WF/Rel.lean b/stage0/src/Lean/Elab/PreDefinition/WF/Rel.lean index d998d6b398..9b872e6592 100644 --- a/stage0/src/Lean/Elab/PreDefinition/WF/Rel.lean +++ b/stage0/src/Lean/Elab/PreDefinition/WF/Rel.lean @@ -4,8 +4,8 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ import Lean.Meta.Tactic.Apply +import Lean.Meta.Tactic.Cases import Lean.Meta.Tactic.Rename -import Lean.Meta.Tactic.Intro import Lean.Elab.SyntheticMVars import Lean.Elab.PreDefinition.Basic import Lean.Elab.PreDefinition.WF.TerminationHint diff --git a/stage0/src/Lean/Elab/Quotation.lean b/stage0/src/Lean/Elab/Quotation.lean index 9364914659..0d1f61304e 100644 --- a/stage0/src/Lean/Elab/Quotation.lean +++ b/stage0/src/Lean/Elab/Quotation.lean @@ -10,7 +10,7 @@ import Lean.ResolveName import Lean.Elab.Term import Lean.Elab.Quotation.Util import Lean.Elab.Quotation.Precheck -import Lean.Parser.Term +import Lean.Parser.Syntax namespace Lean.Elab.Term.Quotation open Lean.Parser.Term @@ -190,7 +190,7 @@ private partial def quoteSyntax : Syntax → TermElabM Term def addNamedQuotInfo (stx : Syntax) (k : SyntaxNodeKind) : TermElabM SyntaxNodeKind := do if stx.getNumArgs == 3 && stx[0].isAtom then - let s := stx[0].getAtomVal! + let s := stx[0].getAtomVal if s.length > 3 then if let (some l, some r) := (stx[0].getPos? true, stx[0].getTailPos? true) then -- HACK: The atom is the string "`(foo|", so chop off the edges. @@ -276,35 +276,35 @@ private abbrev Alt := List Term × Term alternative. This datatype describes what kind of check this involves, which helps other patterns decide if they are covered by the same check and don't have to be checked again (see also `MatchResult`). -/ inductive HeadCheck where - | /-- match step that always succeeds: _, x, `($x), ... -/ - unconditional - | /-- match step based on kind and, optionally, arity of discriminant - If `arity` is given, that number of new discriminants is introduced. `covered` patterns should then introduce the - same number of new patterns. - We actually check the arity at run time only in the case of `null` nodes since it should otherwise by implied by - the node kind. - without arity: `($x:k) - with arity: any quotation without an antiquotation head pattern -/ - shape (k : List SyntaxNodeKind) (arity : Option Nat) - | /-- Match step that succeeds on `null` nodes of arity at least `numPrefix + numSuffix`, introducing discriminants - for the first `numPrefix` children, one `null` node for those in between, and for the `numSuffix` last children. - example: `([$x, $xs,*, $y]) is `slice 2 2` -/ - slice (numPrefix numSuffix : Nat) - | /-- other, complicated match step that will probably only cover identical patterns - example: antiquotation splices `($[...]*) -/ - other (pat : Syntax) + /-- match step that always succeeds: _, x, `($x), ... -/ + | unconditional + /-- match step based on kind and, optionally, arity of discriminant + If `arity` is given, that number of new discriminants is introduced. `covered` patterns should then introduce the + same number of new patterns. + We actually check the arity at run time only in the case of `null` nodes since it should otherwise by implied by + the node kind. + without arity: `($x:k) + with arity: any quotation without an antiquotation head pattern -/ + | shape (k : List SyntaxNodeKind) (arity : Option Nat) + /-- Match step that succeeds on `null` nodes of arity at least `numPrefix + numSuffix`, introducing discriminants + for the first `numPrefix` children, one `null` node for those in between, and for the `numSuffix` last children. + example: `([$x, $xs,*, $y]) is `slice 2 2` -/ + | slice (numPrefix numSuffix : Nat) + /-- other, complicated match step that will probably only cover identical patterns + example: antiquotation splices `($[...]*) -/ + | other (pat : Syntax) open HeadCheck /-- Describe whether a pattern is covered by a head check (induced by the pattern itself or a different pattern). -/ inductive MatchResult where - | /-- Pattern agrees with head check, remove and transform remaining alternative. - If `exhaustive` is `false`, *also* include unchanged alternative in the "no" branch. -/ - covered (f : Alt → TermElabM Alt) (exhaustive : Bool) - | /-- Pattern disagrees with head check, include in "no" branch only -/ - uncovered - | /-- Pattern is not quite sure yet; include unchanged in both branches -/ - undecided + /-- Pattern agrees with head check, remove and transform remaining alternative. + If `exhaustive` is `false`, *also* include unchanged alternative in the "no" branch. -/ + | covered (f : Alt → TermElabM Alt) (exhaustive : Bool) + /-- Pattern disagrees with head check, include in "no" branch only -/ + | uncovered + /-- Pattern is not quite sure yet; include unchanged in both branches -/ + | undecided open MatchResult diff --git a/stage0/src/Lean/Elab/StructInst.lean b/stage0/src/Lean/Elab/StructInst.lean index f13b473d52..f21e8a457a 100644 --- a/stage0/src/Lean/Elab/StructInst.lean +++ b/stage0/src/Lean/Elab/StructInst.lean @@ -248,8 +248,8 @@ def Field.isSimple {σ} : Field σ → Bool | _ => false inductive Struct where - | /-- Remark: the field `params` is use for default value propagation. It is initially empty, and then set at `elabStruct`. -/ - mk (ref : Syntax) (structName : Name) (params : Array (Name × Expr)) (fields : List (Field Struct)) (source : Source) + /-- Remark: the field `params` is use for default value propagation. It is initially empty, and then set at `elabStruct`. -/ + | mk (ref : Syntax) (structName : Name) (params : Array (Name × Expr)) (fields : List (Field Struct)) (source : Source) deriving Inhabited abbrev Fields := List (Field Struct) @@ -598,6 +598,8 @@ structure ElabStructResult where private partial def elabStruct (s : Struct) (expectedType? : Option Expr) : TermElabM ElabStructResult := withRef s.ref do let env ← getEnv let ctorVal := getStructureCtor env s.structName + if isPrivateNameFromImportedModule env ctorVal.name then + throwError "invalid \{...} notation, constructor for `{s.structName}` is marked as private" -- We store the parameters at the resulting `Struct`. We use this information during default value propagation. let { ctorFn, ctorFnType, params, .. } ← mkCtorHeader ctorVal expectedType? let (e, _, fields, instMVars) ← s.fields.foldlM (init := (ctorFn, ctorFnType, [], #[])) fun (e, type, fields, instMVars) field => do diff --git a/stage0/src/Lean/Elab/SyntheticMVars.lean b/stage0/src/Lean/Elab/SyntheticMVars.lean index bbf5b8226f..72d007b61d 100644 --- a/stage0/src/Lean/Elab/SyntheticMVars.lean +++ b/stage0/src/Lean/Elab/SyntheticMVars.lean @@ -3,8 +3,9 @@ Copyright (c) 2020 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Sebastian Ullrich -/ +import Lean.Meta.Tactic.Util import Lean.Util.ForEachExpr -import Lean.Elab.Term +import Lean.Util.OccursCheck import Lean.Elab.Tactic.Basic namespace Lean.Elab.Term diff --git a/stage0/src/Lean/Elab/Tactic/Basic.lean b/stage0/src/Lean/Elab/Tactic/Basic.lean index b50a927016..02083650e8 100644 --- a/stage0/src/Lean/Elab/Tactic/Basic.lean +++ b/stage0/src/Lean/Elab/Tactic/Basic.lean @@ -3,18 +3,7 @@ Copyright (c) 2020 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Sebastian Ullrich -/ -import Lean.Util.CollectMVars -import Lean.Parser.Command -import Lean.Meta.PPGoal -import Lean.Meta.Tactic.Assumption -import Lean.Meta.Tactic.Contradiction -import Lean.Meta.Tactic.Intro -import Lean.Meta.Tactic.Clear -import Lean.Meta.Tactic.Revert -import Lean.Meta.Tactic.Subst -import Lean.Elab.Util import Lean.Elab.Term -import Lean.Elab.Binders namespace Lean.Elab open Meta @@ -294,7 +283,7 @@ def adaptExpander (exp : Syntax → TacticM Syntax) : Tactic := fun stx => do def appendGoals (mvarIds : List MVarId) : TacticM Unit := modify fun s => { s with goals := s.goals ++ mvarIds } -/-- Discard the first goal and replace it by the given list of goals, +/-- Discard the first goal and replace it by the given list of goals, keeping the other goals. -/ def replaceMainGoal (mvarIds : List MVarId) : TacticM Unit := do let (_ :: mvarIds') ← getGoals | throwNoGoalsToBeSolved diff --git a/stage0/src/Lean/Elab/Tactic/BuiltinTactic.lean b/stage0/src/Lean/Elab/Tactic/BuiltinTactic.lean index 3533457b37..d73d305a33 100644 --- a/stage0/src/Lean/Elab/Tactic/BuiltinTactic.lean +++ b/stage0/src/Lean/Elab/Tactic/BuiltinTactic.lean @@ -3,7 +3,12 @@ Copyright (c) 2021 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ +import Lean.Meta.Tactic.Assumption +import Lean.Meta.Tactic.Contradiction import Lean.Meta.Tactic.Refl +import Lean.Elab.Binders +import Lean.Elab.Open +import Lean.Elab.SetOption import Lean.Elab.Tactic.Basic import Lean.Elab.Tactic.ElabTerm diff --git a/stage0/src/Lean/Elab/Tactic/ElabTerm.lean b/stage0/src/Lean/Elab/Tactic/ElabTerm.lean index 75cba225b1..bb9d32462d 100644 --- a/stage0/src/Lean/Elab/Tactic/ElabTerm.lean +++ b/stage0/src/Lean/Elab/Tactic/ElabTerm.lean @@ -3,10 +3,9 @@ Copyright (c) 2020 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Lean.Meta.CollectMVars -import Lean.Meta.Tactic.Apply import Lean.Meta.Tactic.Constructor import Lean.Meta.Tactic.Assert +import Lean.Meta.Tactic.Clear import Lean.Meta.Tactic.Rename import Lean.Elab.Tactic.Basic import Lean.Elab.SyntheticMVars diff --git a/stage0/src/Lean/Elab/Tactic/Location.lean b/stage0/src/Lean/Elab/Tactic/Location.lean index 6ae34f3678..51bd35d2b4 100644 --- a/stage0/src/Lean/Elab/Tactic/Location.lean +++ b/stage0/src/Lean/Elab/Tactic/Location.lean @@ -10,11 +10,11 @@ namespace Lean.Elab.Tactic /-- Denotes a set of locations where a tactic should be applied for the main goal. See also `withLocation`. -/ inductive Location where - | /-- Apply the tactic everywhere. -/ - wildcard - | /-- `hypotheses` are hypothesis names in the main goal that the tactic should be applied to. - If `type` is true, then the tactic should also be applied to the target type. -/ - targets (hypotheses : Array Syntax) (type : Bool) + /-- Apply the tactic everywhere. -/ + | wildcard + /-- `hypotheses` are hypothesis names in the main goal that the tactic should be applied to. + If `type` is true, then the tactic should also be applied to the target type. -/ + | targets (hypotheses : Array Syntax) (type : Bool) /- Recall that diff --git a/stage0/src/Lean/Elab/Tactic/Rewrite.lean b/stage0/src/Lean/Elab/Tactic/Rewrite.lean index 8919f57e72..0b9b668eb4 100644 --- a/stage0/src/Lean/Elab/Tactic/Rewrite.lean +++ b/stage0/src/Lean/Elab/Tactic/Rewrite.lean @@ -5,10 +5,9 @@ Authors: Leonardo de Moura -/ import Lean.Meta.Tactic.Rewrite import Lean.Meta.Tactic.Replace -import Lean.Elab.Tactic.Basic -import Lean.Elab.Tactic.ElabTerm import Lean.Elab.Tactic.Location import Lean.Elab.Tactic.Config + namespace Lean.Elab.Tactic open Meta diff --git a/stage0/src/Lean/Elab/Term.lean b/stage0/src/Lean/Elab/Term.lean index fd7a34a63a..76053e8ddd 100644 --- a/stage0/src/Lean/Elab/Term.lean +++ b/stage0/src/Lean/Elab/Term.lean @@ -3,25 +3,13 @@ Copyright (c) 2019 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Sebastian Ullrich -/ -import Lean.ResolveName -import Lean.Log import Lean.Deprecated -import Lean.Util.Sorry -import Lean.Util.ReplaceExpr -import Lean.Structure import Lean.Meta.AppBuilder import Lean.Meta.CollectMVars import Lean.Meta.Coe -import Lean.Hygiene -import Lean.Util.RecDepth import Lean.Elab.Config import Lean.Elab.Level -import Lean.Elab.Attributes -import Lean.Elab.AutoBound -import Lean.Elab.InfoTree -import Lean.Elab.Open -import Lean.Elab.SetOption import Lean.Elab.DeclModifiers namespace Lean.Elab @@ -39,18 +27,18 @@ structure SavedContext where /-- We use synthetic metavariables as placeholders for pending elaboration steps. -/ inductive SyntheticMVarKind where - | /-- Use typeclass resolution to synthesize value for metavariable. -/ - typeClass - | /-- - Similar to `typeClass`, but error messages are different. - if `f?` is `some f`, we produce an application type mismatch error message. - Otherwise, if `header?` is `some header`, we generate the error `(header ++ "has type" ++ eType ++ "but it is expected to have type" ++ expectedType)` - Otherwise, we generate the error `("type mismatch" ++ e ++ "has type" ++ eType ++ "but it is expected to have type" ++ expectedType)` -/ - coe (header? : Option String) (eNew : Expr) (expectedType : Expr) (eType : Expr) (e : Expr) (f? : Option Expr) - | /-- Use tactic to synthesize value for metavariable. -/ - tactic (tacticCode : Syntax) (ctx : SavedContext) - | /-- Metavariable represents a hole whose elaboration has been postponed. -/ - postponed (ctx : SavedContext) + /-- Use typeclass resolution to synthesize value for metavariable. -/ + | typeClass + /-- + Similar to `typeClass`, but error messages are different. + if `f?` is `some f`, we produce an application type mismatch error message. + Otherwise, if `header?` is `some header`, we generate the error `(header ++ "has type" ++ eType ++ "but it is expected to have type" ++ expectedType)` + Otherwise, we generate the error `("type mismatch" ++ e ++ "has type" ++ eType ++ "but it is expected to have type" ++ expectedType)` -/ + | coe (header? : Option String) (eNew : Expr) (expectedType : Expr) (eType : Expr) (e : Expr) (f? : Option Expr) + /-- Use tactic to synthesize value for metavariable. -/ + | tactic (tacticCode : Syntax) (ctx : SavedContext) + /-- Metavariable represents a hole whose elaboration has been postponed. -/ + | postponed (ctx : SavedContext) deriving Inhabited instance : ToString SyntheticMVarKind where @@ -70,12 +58,12 @@ structure SyntheticMVarDecl where We have three different kinds of error context. -/ inductive MVarErrorKind where - | /-- Metavariable for implicit arguments. `ctx` is the parent application. -/ - implicitArg (ctx : Expr) - | /-- Metavariable for explicit holes provided by the user (e.g., `_` and `?m`) -/ - hole - | /-- "Custom", `msgData` stores the additional error messages. -/ - custom (msgData : MessageData) + /-- Metavariable for implicit arguments. `ctx` is the parent application. -/ + | implicitArg (ctx : Expr) + /-- Metavariable for explicit holes provided by the user (e.g., `_` and `?m`) -/ + | hole + /-- "Custom", `msgData` stores the additional error messages. -/ + | custom (msgData : MessageData) deriving Inhabited instance : ToString MVarErrorKind where @@ -378,9 +366,9 @@ builtin_initialize termElabAttribute : KeyedDeclsAttribute TermElab ← mkTermEl -/ inductive LVal where | fieldIdx (ref : Syntax) (i : Nat) - | /-- Field `suffix?` is for producing better error messages because `x.y` may be a field access or a hierachical/composite name. - `ref` is the syntax object representing the field. `targetStx` is the target object being accessed. -/ - fieldName (ref : Syntax) (name : String) (suffix? : Option Name) (targetStx : Syntax) + /-- Field `suffix?` is for producing better error messages because `x.y` may be a field access or a hierachical/composite name. + `ref` is the syntax object representing the field. `targetStx` is the target object being accessed. -/ + | fieldName (ref : Syntax) (name : String) (suffix? : Option Name) (targetStx : Syntax) def LVal.getRef : LVal → Syntax | .fieldIdx ref _ => ref diff --git a/stage0/src/Lean/Elab/Util.lean b/stage0/src/Lean/Elab/Util.lean index acbc931596..6414a8e12d 100644 --- a/stage0/src/Lean/Elab/Util.lean +++ b/stage0/src/Lean/Elab/Util.lean @@ -3,16 +3,9 @@ Copyright (c) 2019 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Lean.Util.Trace -import Lean.Parser.Syntax -import Lean.Parser.Extension +import Lean.Parser.Command import Lean.KeyedDeclsAttribute import Lean.Elab.Exception -import Lean.Elab.InfoTree -import Lean.DocString -import Lean.DeclarationRange -import Lean.Compiler.InitAttr -import Lean.Log namespace Lean diff --git a/stage0/src/Lean/Exception.lean b/stage0/src/Lean/Exception.lean index ff898eb1af..1a59157eba 100644 --- a/stage0/src/Lean/Exception.lean +++ b/stage0/src/Lean/Exception.lean @@ -12,13 +12,13 @@ namespace Lean /-- Exception type used in most Lean monads -/ inductive Exception where - | /-- Error messages that are displayed to users. `ref` is used to provide position information. -/ - error (ref : Syntax) (msg : MessageData) - | /-- - Internal exceptions that are not meant to be seen by users. - Examples: "pospone elaboration", "stuck at universe constraint", etc - -/ - internal (id : InternalExceptionId) (extra : KVMap := {}) + /-- Error messages that are displayed to users. `ref` is used to provide position information. -/ + | error (ref : Syntax) (msg : MessageData) + /-- + Internal exceptions that are not meant to be seen by users. + Examples: "pospone elaboration", "stuck at universe constraint", etc + -/ + | internal (id : InternalExceptionId) (extra : KVMap := {}) /-- Convert exception into a structured message. -/ def Exception.toMessageData : Exception → MessageData diff --git a/stage0/src/Lean/Expr.lean b/stage0/src/Lean/Expr.lean index 33685c5a1f..53f62059ed 100644 --- a/stage0/src/Lean/Expr.lean +++ b/stage0/src/Lean/Expr.lean @@ -10,10 +10,10 @@ namespace Lean /-- Literal values for `Expr`. -/ inductive Literal where - | /-- Natural number literal -/ - natVal (val : Nat) - | /-- String literal -/ - strVal (val : String) + /-- Natural number literal -/ + | natVal (val : Nat) + /-- String literal -/ + | strVal (val : String) deriving Inhabited, BEq, Repr protected def Literal.hash : Literal → UInt64 @@ -63,27 +63,27 @@ def bar ⦃x : Nat⦄ : Nat := x See also the Lean manual: https://leanprover.github.io/lean4/doc/expressions.html#implicit-arguments -/ inductive BinderInfo where - | /-- Default binder annotation, e.g. `(x : α)` -/ - default - | /-- Implicit binder annotation, e.g., `{x : α}` -/ - implicit - | /-- Strict implict binder annotation, e.g., `{{ x : α }}` -/ - strictImplicit - | /-- Local instance binder annotataion, e.g., `[Decidable α]` -/ - instImplicit - | /-- - Auxiliary declarations used by Lean when elaborating recursive declarations. - When defining a function such as - ``` - def f : Nat → Nat - | 0 => 1 - | x+1 => (x+1)*f x - ``` - Lean adds a local declaration `f : Nat → Nat` to the local context (`LocalContext`) - with `BinderInfo` set to `auxDecl`. - This local declaration is later removed by the termination checker. - -/ - auxDecl + /-- Default binder annotation, e.g. `(x : α)` -/ + | default + /-- Implicit binder annotation, e.g., `{x : α}` -/ + | implicit + /-- Strict implict binder annotation, e.g., `{{ x : α }}` -/ + | strictImplicit + /-- Local instance binder annotataion, e.g., `[Decidable α]` -/ + | instImplicit + /-- + Auxiliary declarations used by Lean when elaborating recursive declarations. + When defining a function such as + ``` + def f : Nat → Nat + | 0 => 1 + | x+1 => (x+1)*f x + ``` + Lean adds a local declaration `f : Nat → Nat` to the local context (`LocalContext`) + with `BinderInfo` set to `auxDecl`. + This local declaration is later removed by the termination checker. + -/ + | auxDecl deriving Inhabited, BEq, Repr def BinderInfo.hash : BinderInfo → UInt64 @@ -298,134 +298,134 @@ contain metavariables. Remark: we use the `E` suffix (short for `Expr`) to avoid collision with keywords. We considered using «...», but it is too inconvenient to use. -/ inductive Expr where - | /-- - Bound variables. The natural number is the "de Bruijn" index - for the bound variable. See https://en.wikipedia.org/wiki/De_Bruijn_index for additional information. - Example, the expression `fun x : Nat => forall y : Nat, x = y` - ```lean - .lam `x (.const `Nat []) - (.forall `y (.const `Nat []) - (.app (.app (.app (.const `Eq [.succ .zero]) - (.const `Nat [])) (.bvar 1)) - (.bvar 0)) - .default) - .default - ``` - -/ - bvar (deBruijnIndex : Nat) - | /-- - Free variable. Lean uses the locally nameless approach. - See https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.365.2479&rep=rep1&type=pdf for additional details. - When "visiting" the body of a binding expression (`lam`, `forallE`, or `letE`), bound variables - are converted into free variables using a unique identifier, and their user-facing name, type, - value (for `LetE`), and binder annotation are stored in the `LocalContext`. - -/ - fvar (fvarId : FVarId) - | /-- - Metavariables are used to represent "holes" in expressions, and goals in the - tactic framework. Metavariable declarations are stored in the `MetavarContext`. - Metavariables are used during elaboration, and are not allowed in the kernel, - or in the code generator. - -/ - mvar (mvarId : MVarId) - | /-- - `Type u`, `Sort u`, `Prop`. - - - `Prop` is represented as `.sort .zero`, - - `Sort u` as ``.sort (.param `u)``, and - - `Type u` as ``.sort (.succ (.param `u))`` - -/ - sort (u : Level) - | /-- - A (universe polymorphic) constant. For example, - `@Eq.{1}` is represented as ``.const `Eq [.succ .zero]``, and - `@Array.map.{0, 0}` is represented as ``.cons `Array.map [.zero, .zero]``. - -/ - const (declName : Name) (us : List Level) - | /-- - Function application. `Nat.succ Nat.zero` is represented as - ``` - .app (.const `Nat.succ []) (.const .zero []) - ``` - -/ - app (fn : Expr) (arg : Expr) - | /-- - Lambda abstraction (aka anonymous functions). - - `fun x : Nat => x` is represented as - ``` - .lam `x (.const `Nat []) (.bvar 0) .default - ``` - -/ - lam (binderName : Name) (binderType : Expr) (body : Expr) (binderInfo : BinderInfo) - | /-- - A dependent arrow (aka forall-expression). It is also used to represent non-dependent arrows. - Examples: - - `forall x : Prop, x ∧ x` is represented as - ``` - .forallE `x - (.sort .zero) - (.app (.app (.const `And []) (.bvar 0)) (.bvar 0)) - .default - ``` - - `Nat → Bool` as - ``` - .forallE `a (.const `Nat []) (.const `Bool []) .default - ``` - -/ - forallE (binderName : Name) (binderType : Expr) (body : Expr) (binderInfo : BinderInfo) - | /-- - Let-expressions. The field `nonDep` is not currently used, but will be used in the future - by the code generator (and possibly `simp`) to track whether a let-expression is non-dependent - or not. + /-- + Bound variables. The natural number is the "de Bruijn" index + for the bound variable. See https://en.wikipedia.org/wiki/De_Bruijn_index for additional information. + Example, the expression `fun x : Nat => forall y : Nat, x = y` + ```lean + .lam `x (.const `Nat []) + (.forall `y (.const `Nat []) + (.app (.app (.app (.const `Eq [.succ .zero]) + (.const `Nat [])) (.bvar 1)) + (.bvar 0)) + .default) + .default + ``` + -/ + | bvar (deBruijnIndex : Nat) + /-- + Free variable. Lean uses the locally nameless approach. + See https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.365.2479&rep=rep1&type=pdf for additional details. + When "visiting" the body of a binding expression (`lam`, `forallE`, or `letE`), bound variables + are converted into free variables using a unique identifier, and their user-facing name, type, + value (for `LetE`), and binder annotation are stored in the `LocalContext`. + -/ + | fvar (fvarId : FVarId) + /-- + Metavariables are used to represent "holes" in expressions, and goals in the + tactic framework. Metavariable declarations are stored in the `MetavarContext`. + Metavariables are used during elaboration, and are not allowed in the kernel, + or in the code generator. + -/ + | mvar (mvarId : MVarId) + /-- + `Type u`, `Sort u`, `Prop`. - + - `Prop` is represented as `.sort .zero`, + - `Sort u` as ``.sort (.param `u)``, and + - `Type u` as ``.sort (.succ (.param `u))`` + -/ + | sort (u : Level) + /-- + A (universe polymorphic) constant. For example, + `@Eq.{1}` is represented as ``.const `Eq [.succ .zero]``, and + `@Array.map.{0, 0}` is represented as ``.cons `Array.map [.zero, .zero]``. + -/ + | const (declName : Name) (us : List Level) + /-- + Function application. `Nat.succ Nat.zero` is represented as + ``` + .app (.const `Nat.succ []) (.const .zero []) + ``` + -/ + | app (fn : Expr) (arg : Expr) + /-- + Lambda abstraction (aka anonymous functions). + - `fun x : Nat => x` is represented as + ``` + .lam `x (.const `Nat []) (.bvar 0) .default + ``` + -/ + | lam (binderName : Name) (binderType : Expr) (body : Expr) (binderInfo : BinderInfo) + /-- + A dependent arrow (aka forall-expression). It is also used to represent non-dependent arrows. + Examples: + - `forall x : Prop, x ∧ x` is represented as + ``` + .forallE `x + (.sort .zero) + (.app (.app (.const `And []) (.bvar 0)) (.bvar 0)) + .default + ``` + - `Nat → Bool` as + ``` + .forallE `a (.const `Nat []) (.const `Bool []) .default + ``` + -/ + | forallE (binderName : Name) (binderType : Expr) (body : Expr) (binderInfo : BinderInfo) + /-- + Let-expressions. The field `nonDep` is not currently used, but will be used in the future + by the code generator (and possibly `simp`) to track whether a let-expression is non-dependent + or not. - **IMPORTANT**: This flag is for "local" use only. That is, a module should not "trust" its value for any purpose. - In the intended use-case, the compiler will set this flag, and be responsible for maintaining it. - Other modules may not preserve its value while applying transformations. + **IMPORTANT**: This flag is for "local" use only. That is, a module should not "trust" its value for any purpose. + In the intended use-case, the compiler will set this flag, and be responsible for maintaining it. + Other modules may not preserve its value while applying transformations. - Given an environment, metavariable context, and local context, we say a let-expression - `let x : t := v; e` is non-dependent when it is equivalent to `(fun x : t => e) v`. - Here is an example of a dependent let-expression - `let n : Nat := 2; fun (a : Array Nat n) (b : Array Nat 2) => a = b` is type correct, but - `(fun (n : Nat) (a : Array Nat n) (b : Array Nat 2) => a = b) 2` is not. - The let-expression `let x : Nat := 2; Nat.succ x` is represented as - ``` - .letE `x (.const `Nat []) (.lit (.natVal 2)) (.bvar 0) true - ``` - -/ - letE (declName : Name) (type : Expr) (value : Expr) (body : Expr) (nonDep : Bool) - | /-- - Natural number and string literal values. They are not really needed, but provide a more - compact representation in memory for these two kinds of literals, and are used to implement - efficient reduction in the elaborator and kernel. - The "raw" natural number `2` can be represented as `.lit (.natVal 2)`. Note that, it is - definitionally equal to - ``` - .app (.const `Nat.succ []) (.app (.const `Nat.succ []) (.const `Nat.zero [])) - ``` - -/ - lit : Literal → Expr - | /-- - Metadata (aka annotations). We use annotations to provide hints to the pretty-printer, - store references to `Syntax` nodes, position information, and save information for - elaboration procedures (e.g., we use the `inaccessible` annotation during elaboration to - mark `Expr`s that correspond to inaccessible patterns). - Note that `.mdata data e` is definitionally equal to `e`. - -/ - mdata (data : MData) (expr : Expr) - | /-- - Projection-expressions. They are redundant, but are used to create more compact - terms, speedup reduction, and implement eta for structures. - The type of `struct` must be an structure-like inductive type. That is, it has only one - constructor, is not recursive, and it is not an inductive predicate. The kernel and elaborators - check whether the `typeName` matches the type of `struct`, and whether the (zero-based) index - is valid (i.e., it is smaller than the numbef of constructor fields). - When exporting Lean developments to other systems, `proj` can be replaced with `typeName`.`rec` - applications. - Example, given `a : Nat x Bool`, `a.1` is represented as - ``` - .proj `Prod 0 a - ``` - -/ - proj (typeName : Name) (idx : Nat) (struct : Expr) + Given an environment, metavariable context, and local context, we say a let-expression + `let x : t := v; e` is non-dependent when it is equivalent to `(fun x : t => e) v`. + Here is an example of a dependent let-expression + `let n : Nat := 2; fun (a : Array Nat n) (b : Array Nat 2) => a = b` is type correct, but + `(fun (n : Nat) (a : Array Nat n) (b : Array Nat 2) => a = b) 2` is not. + The let-expression `let x : Nat := 2; Nat.succ x` is represented as + ``` + .letE `x (.const `Nat []) (.lit (.natVal 2)) (.bvar 0) true + ``` + -/ + | letE (declName : Name) (type : Expr) (value : Expr) (body : Expr) (nonDep : Bool) + /-- + Natural number and string literal values. They are not really needed, but provide a more + compact representation in memory for these two kinds of literals, and are used to implement + efficient reduction in the elaborator and kernel. + The "raw" natural number `2` can be represented as `.lit (.natVal 2)`. Note that, it is + definitionally equal to + ``` + .app (.const `Nat.succ []) (.app (.const `Nat.succ []) (.const `Nat.zero [])) + ``` + -/ + | lit : Literal → Expr + /-- + Metadata (aka annotations). We use annotations to provide hints to the pretty-printer, + store references to `Syntax` nodes, position information, and save information for + elaboration procedures (e.g., we use the `inaccessible` annotation during elaboration to + mark `Expr`s that correspond to inaccessible patterns). + Note that `.mdata data e` is definitionally equal to `e`. + -/ + | mdata (data : MData) (expr : Expr) + /-- + Projection-expressions. They are redundant, but are used to create more compact + terms, speedup reduction, and implement eta for structures. + The type of `struct` must be an structure-like inductive type. That is, it has only one + constructor, is not recursive, and it is not an inductive predicate. The kernel and elaborators + check whether the `typeName` matches the type of `struct`, and whether the (zero-based) index + is valid (i.e., it is smaller than the numbef of constructor fields). + When exporting Lean developments to other systems, `proj` can be replaced with `typeName`.`rec` + applications. + Example, given `a : Nat x Bool`, `a.1` is represented as + ``` + .proj `Prod 0 a + ``` + -/ + | proj (typeName : Name) (idx : Nat) (struct : Expr) with @[computedField, extern c inline "lean_ctor_get_uint64(#1, lean_ctor_num_objs(#1)*sizeof(void*))"] data : @& Expr → Data diff --git a/stage0/src/Lean/KeyedDeclsAttribute.lean b/stage0/src/Lean/KeyedDeclsAttribute.lean index e1cfe3b6bc..64771acfcf 100644 --- a/stage0/src/Lean/KeyedDeclsAttribute.lean +++ b/stage0/src/Lean/KeyedDeclsAttribute.lean @@ -3,9 +3,7 @@ Copyright (c) 2020 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Sebastian Ullrich -/ -import Lean.Attributes import Lean.Compiler.InitAttr -import Lean.ToExpr import Lean.ScopedEnvExtension import Lean.Compiler.IR.CompilerM diff --git a/stage0/src/Lean/Linter/MissingDocs.lean b/stage0/src/Lean/Linter/MissingDocs.lean index 16902bed1c..c69016cd68 100644 --- a/stage0/src/Lean/Linter/MissingDocs.lean +++ b/stage0/src/Lean/Linter/MissingDocs.lean @@ -4,6 +4,8 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Mario Carneiro -/ +import Lean.Meta.Tactic.Simp.SimpTheorems +import Lean.Elab.SetOption import Lean.Linter.Util namespace Lean.Linter @@ -182,8 +184,8 @@ def checkNotation : SimpleHandler := fun stx => do @[builtinMissingDocsHandler «mixfix»] def checkMixfix : SimpleHandler := fun stx => do if stx[0].isNone && stx[2][0][0].getKind != ``«local» && !hasInheritDoc stx[1] then - if stx[5].isNone then lint stx[3] stx[3][0].getAtomVal! - else lintNamed stx[5][0][3] stx[3][0].getAtomVal! + if stx[5].isNone then lint stx[3] stx[3][0].getAtomVal + else lintNamed stx[5][0][3] stx[3][0].getAtomVal @[builtinMissingDocsHandler «syntax»] def checkSyntax : SimpleHandler := fun stx => do diff --git a/stage0/src/Lean/Linter/UnusedVariables.lean b/stage0/src/Lean/Linter/UnusedVariables.lean index 65c791ea77..e41df7900b 100644 --- a/stage0/src/Lean/Linter/UnusedVariables.lean +++ b/stage0/src/Lean/Linter/UnusedVariables.lean @@ -1,9 +1,5 @@ -import Lean.Elab.Command import Lean.Linter.Util -import Lean.Elab.InfoTree -import Lean.Server.InfoUtils import Lean.Server.References -import Lean.Data.HashMap namespace Lean.Linter open Lean.Elab.Command Lean.Server Std diff --git a/stage0/src/Lean/Message.lean b/stage0/src/Lean/Message.lean index 94e53a4c9a..d90cb70ba2 100644 --- a/stage0/src/Lean/Message.lean +++ b/stage0/src/Lean/Message.lean @@ -7,7 +7,6 @@ Message Type used by the Lean frontend -/ import Lean.Data.Position import Lean.Data.OpenDecl -import Lean.Syntax import Lean.MetavarContext import Lean.Environment import Lean.Util.PPExt diff --git a/stage0/src/Lean/Meta/Basic.lean b/stage0/src/Lean/Meta/Basic.lean index c08f136ca8..b729eb980d 100644 --- a/stage0/src/Lean/Meta/Basic.lean +++ b/stage0/src/Lean/Meta/Basic.lean @@ -7,17 +7,10 @@ import Lean.Data.LOption import Lean.Environment import Lean.Class import Lean.ReducibilityAttrs -import Lean.Util.Trace -import Lean.Util.RecDepth -import Lean.Util.PPExt import Lean.Util.ReplaceExpr -import Lean.Util.OccursCheck import Lean.Util.MonadBacktrack import Lean.Compiler.InlineAttrs import Lean.Meta.TransparencyMode -import Lean.Meta.DiscrTreeTypes -import Lean.Eval -import Lean.CoreM /-! This module provides four (mutually dependent) goodies that are needed for building the elaborator and tactic frameworks. diff --git a/stage0/src/Lean/Meta/CongrTheorems.lean b/stage0/src/Lean/Meta/CongrTheorems.lean index cb1090e6a5..5a7f8c2076 100644 --- a/stage0/src/Lean/Meta/CongrTheorems.lean +++ b/stage0/src/Lean/Meta/CongrTheorems.lean @@ -8,28 +8,28 @@ import Lean.Meta.AppBuilder namespace Lean.Meta inductive CongrArgKind where - | /-- It is a parameter for the congruence theorem, the parameter occurs in the left and right hand sides. -/ - fixed - | /-- - It is not a parameter for the congruence theorem, the theorem was specialized for this parameter. - This only happens if the parameter is a subsingleton/proposition, and other parameters depend on it. -/ - fixedNoParam - | /-- - The lemma contains three parameters for this kind of argument `a_i`, `b_i` and `eq_i : a_i = b_i`. - `a_i` and `b_i` represent the left and right hand sides, and `eq_i` is a proof for their equality. -/ - eq - | /-- - The congr-simp theorems contains only one parameter for this kind of argument, and congr theorems contains two. - They correspond to arguments that are subsingletons/propositions. -/ - cast - | /-- - The lemma contains three parameters for this kind of argument `a_i`, `b_i` and `eq_i : HEq a_i b_i`. - `a_i` and `b_i` represent the left and right hand sides, and `eq_i` is a proof for their heterogeneous equality. -/ - heq - | /-- - For congr-simp theorems only. Indicates a decidable instance argument. - The lemma contains two arguments [a_i : Decidable ...] [b_i : Decidable ...] -/ - subsingletonInst + /-- It is a parameter for the congruence theorem, the parameter occurs in the left and right hand sides. -/ + | fixed + /-- + It is not a parameter for the congruence theorem, the theorem was specialized for this parameter. + This only happens if the parameter is a subsingleton/proposition, and other parameters depend on it. -/ + | fixedNoParam + /-- + The lemma contains three parameters for this kind of argument `a_i`, `b_i` and `eq_i : a_i = b_i`. + `a_i` and `b_i` represent the left and right hand sides, and `eq_i` is a proof for their equality. -/ + | eq + /-- + The congr-simp theorems contains only one parameter for this kind of argument, and congr theorems contains two. + They correspond to arguments that are subsingletons/propositions. -/ + | cast + /-- + The lemma contains three parameters for this kind of argument `a_i`, `b_i` and `eq_i : HEq a_i b_i`. + `a_i` and `b_i` represent the left and right hand sides, and `eq_i` is a proof for their heterogeneous equality. -/ + | heq + /-- + For congr-simp theorems only. Indicates a decidable instance argument. + The lemma contains two arguments [a_i : Decidable ...] [b_i : Decidable ...] -/ + | subsingletonInst deriving Inhabited structure CongrTheorem where diff --git a/stage0/src/Lean/Meta/DiscrTree.lean b/stage0/src/Lean/Meta/DiscrTree.lean index 0bb11590eb..99cf7107c0 100644 --- a/stage0/src/Lean/Meta/DiscrTree.lean +++ b/stage0/src/Lean/Meta/DiscrTree.lean @@ -3,11 +3,8 @@ Copyright (c) 2019 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Lean.Meta.Basic -import Lean.Meta.FunInfo -import Lean.Meta.InferType import Lean.Meta.WHNF -import Lean.Meta.Match.MatcherInfo +import Lean.Meta.DiscrTreeTypes namespace Lean.Meta.DiscrTree /-! diff --git a/stage0/src/Lean/Meta/ExprDefEq.lean b/stage0/src/Lean/Meta/ExprDefEq.lean index e4107ba760..f23c964efc 100644 --- a/stage0/src/Lean/Meta/ExprDefEq.lean +++ b/stage0/src/Lean/Meta/ExprDefEq.lean @@ -3,15 +3,9 @@ Copyright (c) 2019 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Lean.ProjFns -import Lean.Structure -import Lean.Meta.WHNF -import Lean.Meta.InferType -import Lean.Meta.FunInfo -import Lean.Meta.Check import Lean.Meta.Offset -import Lean.Meta.ForEachExpr import Lean.Meta.UnificationHint +import Lean.Util.OccursCheck namespace Lean.Meta @@ -143,39 +137,39 @@ private def trySynthPending (e : Expr) : MetaM Bool := do Result type for `isDefEqArgsFirstPass`. -/ inductive DefEqArgsFirstPassResult where - | /-- - Failed to establish that explicit arguments are def-eq. - Remark: higher output parameters, and parameters that depend on them - are postponed. - -/ - failed - | /-- - Succeeded. The array `postponedImplicit` contains the position - of the implicit arguments for which def-eq has been postponed. - `postponedHO` contains the higher order output parameters, and parameters - that depend on them. They should be processed after the implict ones. - `postponedHO` is used to handle applications involving functions that - contain higher order output parameters. Example: - ```lean - getElem : - {cont : Type u_1} → {idx : Type u_2} → {elem : Type u_3} → - {dom : cont → idx → Prop} → [self : GetElem cont idx elem dom] → - (xs : cont) → (i : idx) → (h : dom xs i) → elem - ``` - The argumengs `dom` and `h` must be processed after all implicit arguments - otherwise higher-order unification problems are generated. See issue #1299, - when trying to solve - ``` - getElem ?a ?i ?h =?= getElem a i (Fin.val_lt_of_le i ...) - ``` - we have to solve the constraint - ``` - ?dom a i.val =?= LT.lt i.val (Array.size a) - ``` - by solving after the instance has been synthesized, we reduce this constraint to - a simple check. - -/ - ok (postponedImplicit : Array Nat) (postponedHO : Array Nat) + /-- + Failed to establish that explicit arguments are def-eq. + Remark: higher output parameters, and parameters that depend on them + are postponed. + -/ + | failed + /-- + Succeeded. The array `postponedImplicit` contains the position + of the implicit arguments for which def-eq has been postponed. + `postponedHO` contains the higher order output parameters, and parameters + that depend on them. They should be processed after the implict ones. + `postponedHO` is used to handle applications involving functions that + contain higher order output parameters. Example: + ```lean + getElem : + {cont : Type u_1} → {idx : Type u_2} → {elem : Type u_3} → + {dom : cont → idx → Prop} → [self : GetElem cont idx elem dom] → + (xs : cont) → (i : idx) → (h : dom xs i) → elem + ``` + The argumengs `dom` and `h` must be processed after all implicit arguments + otherwise higher-order unification problems are generated. See issue #1299, + when trying to solve + ``` + getElem ?a ?i ?h =?= getElem a i (Fin.val_lt_of_le i ...) + ``` + we have to solve the constraint + ``` + ?dom a i.val =?= LT.lt i.val (Array.size a) + ``` + by solving after the instance has been synthesized, we reduce this constraint to + a simple check. + -/ + | ok (postponedImplicit : Array Nat) (postponedHO : Array Nat) /-- First pass for `isDefEqArgs`. We unify explicit arguments, *and* easy cases diff --git a/stage0/src/Lean/Meta/IndPredBelow.lean b/stage0/src/Lean/Meta/IndPredBelow.lean index 9c0765bdc8..59e5af2235 100644 --- a/stage0/src/Lean/Meta/IndPredBelow.lean +++ b/stage0/src/Lean/Meta/IndPredBelow.lean @@ -5,10 +5,7 @@ Authors: Dany Fabian -/ import Lean.Meta.Constructions -import Lean.Meta.Transform -import Lean.Meta.Tactic import Lean.Meta.Match.Match -import Lean.Meta.Reduce namespace Lean.Meta.IndPredBelow open Match diff --git a/stage0/src/Lean/Meta/Match/Match.lean b/stage0/src/Lean/Meta/Match/Match.lean index 2e5e389232..71ff2fd0a3 100644 --- a/stage0/src/Lean/Meta/Match/Match.lean +++ b/stage0/src/Lean/Meta/Match/Match.lean @@ -3,18 +3,12 @@ Copyright (c) 2020 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Lean.Util.CollectLevelParams -import Lean.Util.CollectFVars -import Lean.Util.Recognizers -import Lean.Compiler.ExternAttr import Lean.Meta.Check import Lean.Meta.Closure import Lean.Meta.Tactic.Cases import Lean.Meta.Tactic.Contradiction import Lean.Meta.GeneralizeTelescope import Lean.Meta.Match.Basic -import Lean.Meta.Match.MVarRenaming -import Lean.Meta.Match.CaseValues namespace Lean.Meta.Match diff --git a/stage0/src/Lean/Meta/PPGoal.lean b/stage0/src/Lean/Meta/PPGoal.lean index ea9a8fcb82..039cf6278a 100644 --- a/stage0/src/Lean/Meta/PPGoal.lean +++ b/stage0/src/Lean/Meta/PPGoal.lean @@ -4,7 +4,6 @@ Released under Apache 2.0 license as described in the file LICENSE. Author: Leonardo de Moura -/ import Lean.Meta.InferType -import Lean.Meta.MatchUtil namespace Lean.Meta diff --git a/stage0/src/Lean/Meta/Tactic/AC/Main.lean b/stage0/src/Lean/Meta/Tactic/AC/Main.lean index 5de74ed8c9..cddd710178 100644 --- a/stage0/src/Lean/Meta/Tactic/AC/Main.lean +++ b/stage0/src/Lean/Meta/Tactic/AC/Main.lean @@ -3,10 +3,9 @@ Copyright (c) 2022 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Dany Fabian -/ -import Init.Data.AC import Lean.Meta.AppBuilder import Lean.Meta.Tactic.Refl -import Lean.Elab.Tactic.Basic +import Lean.Meta.Tactic.Simp.Main import Lean.Elab.Tactic.Rewrite namespace Lean.Meta.AC diff --git a/stage0/src/Lean/Meta/Tactic/Assert.lean b/stage0/src/Lean/Meta/Tactic/Assert.lean index 512c711eb5..953fb1cc50 100644 --- a/stage0/src/Lean/Meta/Tactic/Assert.lean +++ b/stage0/src/Lean/Meta/Tactic/Assert.lean @@ -3,10 +3,8 @@ Copyright (c) 2020 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Lean.Meta.Tactic.Util import Lean.Meta.Tactic.FVarSubst import Lean.Meta.Tactic.Intro -import Lean.Meta.Tactic.Revert namespace Lean.Meta diff --git a/stage0/src/Lean/Meta/Tactic/Congr.lean b/stage0/src/Lean/Meta/Tactic/Congr.lean index 107df2f38d..4752528d03 100644 --- a/stage0/src/Lean/Meta/Tactic/Congr.lean +++ b/stage0/src/Lean/Meta/Tactic/Congr.lean @@ -6,6 +6,7 @@ Authors: Leonardo de Moura import Lean.Meta.CongrTheorems import Lean.Meta.Tactic.Assert import Lean.Meta.Tactic.Apply +import Lean.Meta.Tactic.Clear import Lean.Meta.Tactic.Refl import Lean.Meta.Tactic.Assumption diff --git a/stage0/src/Lean/Meta/Tactic/Simp/Main.lean b/stage0/src/Lean/Meta/Tactic/Simp/Main.lean index 6e0dade59f..4285030417 100644 --- a/stage0/src/Lean/Meta/Tactic/Simp/Main.lean +++ b/stage0/src/Lean/Meta/Tactic/Simp/Main.lean @@ -4,12 +4,8 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ import Lean.Meta.Transform -import Lean.Meta.CongrTheorems import Lean.Meta.Tactic.Replace -import Lean.Meta.Tactic.Util -import Lean.Meta.Tactic.Clear import Lean.Meta.Tactic.UnifyEq -import Lean.Meta.Tactic.Simp.Types import Lean.Meta.Tactic.Simp.Rewrite namespace Lean.Meta diff --git a/stage0/src/Lean/Meta/Transform.lean b/stage0/src/Lean/Meta/Transform.lean index ba00af66de..034cd574ed 100644 --- a/stage0/src/Lean/Meta/Transform.lean +++ b/stage0/src/Lean/Meta/Transform.lean @@ -8,15 +8,15 @@ import Lean.Meta.Basic namespace Lean inductive TransformStep where - | /-- Return expression without visiting any subexpressions. -/ - done (e : Expr) - | /-- Visit expression (which should be different from current expression) instead. -/ - visit (e : Expr) - | /-- - Continue transformation with the given expression (defaults to current expression). - For `pre`, this means visiting the children of the expression. - For `post`, this is equivalent to returning `done`. -/ - continue (e? : Option Expr := none) + /-- Return expression without visiting any subexpressions. -/ + | done (e : Expr) + /-- Visit expression (which should be different from current expression) instead. -/ + | visit (e : Expr) + /-- + Continue transformation with the given expression (defaults to current expression). + For `pre`, this means visiting the children of the expression. + For `post`, this is equivalent to returning `done`. -/ + | continue (e? : Option Expr := none) namespace Core diff --git a/stage0/src/Lean/Meta/WHNF.lean b/stage0/src/Lean/Meta/WHNF.lean index 5cb4a33581..288d32a59c 100644 --- a/stage0/src/Lean/Meta/WHNF.lean +++ b/stage0/src/Lean/Meta/WHNF.lean @@ -3,12 +3,8 @@ Copyright (c) 2019 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ -import Lean.ToExpr -import Lean.AuxRecursor -import Lean.ProjFns import Lean.Structure import Lean.Util.Recognizers -import Lean.Meta.Basic import Lean.Meta.GetConst import Lean.Meta.FunInfo import Lean.Meta.Match.MatcherInfo diff --git a/stage0/src/Lean/MonadEnv.lean b/stage0/src/Lean/MonadEnv.lean index be1e8aabf0..e1865904ee 100644 --- a/stage0/src/Lean/MonadEnv.lean +++ b/stage0/src/Lean/MonadEnv.lean @@ -7,7 +7,6 @@ import Lean.Environment import Lean.Exception import Lean.Declaration import Lean.Log -import Lean.Util.FindExpr import Lean.AuxRecursor import Lean.Compiler.Old diff --git a/stage0/src/Lean/Parser/Basic.lean b/stage0/src/Lean/Parser/Basic.lean index 38a29b3a00..005b37b0b9 100644 --- a/stage0/src/Lean/Parser/Basic.lean +++ b/stage0/src/Lean/Parser/Basic.lean @@ -4,9 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Sebastian Ullrich -/ import Lean.Data.Trie -import Lean.Data.Position import Lean.Syntax -import Lean.Environment import Lean.Message /-! @@ -1582,20 +1580,20 @@ instance : Inhabited PrattParsingTables := ⟨{}⟩ function). -/ inductive LeadingIdentBehavior where - | /-- `LeadingIdentBehavior.default`: if the leading token - is an identifier, then `prattParser` just executes the parsers - associated with the auxiliary token "ident". -/ - default - | /-- `LeadingIdentBehavior.symbol`: if the leading token is - an identifier ``, and there are parsers `P` associated with - the toek ``, then it executes `P`. Otherwise, it executes - only the parsers associated with the auxiliary token "ident". -/ - symbol - | /-- `LeadingIdentBehavior.both`: if the leading token - an identifier ``, the it executes the parsers associated - with token `` and parsers associated with the auxiliary - token "ident". -/ - both + /-- `LeadingIdentBehavior.default`: if the leading token + is an identifier, then `prattParser` just executes the parsers + associated with the auxiliary token "ident". -/ + | default + /-- `LeadingIdentBehavior.symbol`: if the leading token is + an identifier ``, and there are parsers `P` associated with + the toek ``, then it executes `P`. Otherwise, it executes + only the parsers associated with the auxiliary token "ident". -/ + | symbol + /-- `LeadingIdentBehavior.both`: if the leading token + an identifier ``, the it executes the parsers associated + with token `` and parsers associated with the auxiliary + token "ident". -/ + | both deriving Inhabited, BEq, Repr /-- diff --git a/stage0/src/Lean/Parser/Extension.lean b/stage0/src/Lean/Parser/Extension.lean index 9b47d50143..d983ee15f9 100644 --- a/stage0/src/Lean/Parser/Extension.lean +++ b/stage0/src/Lean/Parser/Extension.lean @@ -3,13 +3,10 @@ Copyright (c) 2020 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Sebastian Ullrich -/ -import Lean.ResolveName -import Lean.ScopedEnvExtension import Lean.Parser.Basic -import Lean.Parser.StrInterpolation -import Lean.KeyedDeclsAttribute +import Lean.Compiler.InitAttr +import Lean.ScopedEnvExtension import Lean.DocString -import Lean.DeclarationRange /-! Extensible parsing via attributes -/ diff --git a/stage0/src/Lean/Parser/Syntax.lean b/stage0/src/Lean/Parser/Syntax.lean index a220c7fda7..1560f9701b 100644 --- a/stage0/src/Lean/Parser/Syntax.lean +++ b/stage0/src/Lean/Parser/Syntax.lean @@ -4,7 +4,6 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura, Sebastian Ullrich -/ import Lean.Parser.Command -import Lean.Parser.Tactic namespace Lean namespace Parser diff --git a/stage0/src/Lean/ParserCompiler.lean b/stage0/src/Lean/ParserCompiler.lean index 5a5440d803..2811a8386d 100644 --- a/stage0/src/Lean/ParserCompiler.lean +++ b/stage0/src/Lean/ParserCompiler.lean @@ -3,10 +3,8 @@ Copyright (c) 2020 Sebastian Ullrich. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sebastian Ullrich -/ -import Lean.Util.ReplaceExpr -import Lean.Meta.Basic import Lean.Meta.ReduceEval -import Lean.Meta.WHNF +import Lean.KeyedDeclsAttribute import Lean.ParserCompiler.Attribute import Lean.Parser.Extension diff --git a/stage0/src/Lean/PrettyPrinter/Basic.lean b/stage0/src/Lean/PrettyPrinter/Basic.lean index 2743c66af7..2179877c82 100644 --- a/stage0/src/Lean/PrettyPrinter/Basic.lean +++ b/stage0/src/Lean/PrettyPrinter/Basic.lean @@ -3,7 +3,6 @@ Copyright (c) 2020 Sebastian Ullrich. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sebastian Ullrich -/ -import Lean.InternalExceptionId import Lean.KeyedDeclsAttribute namespace Lean diff --git a/stage0/src/Lean/PrettyPrinter/Delaborator/Basic.lean b/stage0/src/Lean/PrettyPrinter/Delaborator/Basic.lean index a1ffeeabdf..5239201cb2 100644 --- a/stage0/src/Lean/PrettyPrinter/Delaborator/Basic.lean +++ b/stage0/src/Lean/PrettyPrinter/Delaborator/Basic.lean @@ -3,11 +3,6 @@ Copyright (c) 2020 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sebastian Ullrich -/ -import Lean.KeyedDeclsAttribute -import Lean.ProjFns -import Lean.Syntax -import Lean.Meta.Transform -import Lean.Meta.Match.Match import Lean.Elab.Term import Lean.Elab.AuxDiscr import Lean.PrettyPrinter.Delaborator.Options diff --git a/stage0/src/Lean/PrettyPrinter/Delaborator/Builtins.lean b/stage0/src/Lean/PrettyPrinter/Delaborator/Builtins.lean index 187b283027..e97b47ddc5 100644 --- a/stage0/src/Lean/PrettyPrinter/Delaborator/Builtins.lean +++ b/stage0/src/Lean/PrettyPrinter/Delaborator/Builtins.lean @@ -550,9 +550,29 @@ def delabLam : Delab := | `(fun $binderGroups* => $stxBody) => `(fun $group $binderGroups* => $stxBody) | _ => `(fun $group => $stxBody) +/-- +Similar to `delabBinders`, but tracking whether `forallE` is dependent or not. + +See issue #1571 +-/ +private partial def delabForallBinders (delabGroup : Array Syntax → Bool → Syntax → Delab) (curNames : Array Syntax := #[]) (curDep := false) : Delab := do + let dep := !(← getExpr).isArrow + if !curNames.isEmpty && dep != curDep then + -- don't group + delabGroup curNames curDep (← delab) + else + let curDep := dep + if ← shouldGroupWithNext then + -- group with nested binder => recurse immediately + withBindingBodyUnusedName fun stxN => delabForallBinders delabGroup (curNames.push stxN) curDep + else + -- don't group => delab body and prepend current binder group + let (stx, stxN) ← withBindingBodyUnusedName fun stxN => return (← delab, stxN) + delabGroup (curNames.push stxN) curDep stx + @[builtinDelab forallE] -def delabForall : Delab := - delabBinders fun curNames stxBody => do +def delabForall : Delab := do + delabForallBinders fun curNames dependent stxBody => do let e ← getExpr let prop ← try isProp e catch _ => pure false let stxT ← withBindingDomain delab @@ -562,9 +582,6 @@ def delabForall : Delab := -- here `curNames.size == 1` | BinderInfo.instImplicit => `(bracketedBinderF|[$curNames.back : $stxT]) | _ => - -- heuristic: use non-dependent arrows only if possible for whole group to avoid - -- noisy mix like `(α : Type) → Type → (γ : Type) → ...`. - let dependent := curNames.any fun n => hasIdent n.getId stxBody -- NOTE: non-dependent arrows are available only for the default binder info if dependent then if prop && !(← getPPOption getPPPiBinderTypes) then diff --git a/stage0/src/Lean/PrettyPrinter/Formatter.lean b/stage0/src/Lean/PrettyPrinter/Formatter.lean index 50c1757f0c..d9cd069b66 100644 --- a/stage0/src/Lean/PrettyPrinter/Formatter.lean +++ b/stage0/src/Lean/PrettyPrinter/Formatter.lean @@ -5,6 +5,7 @@ Authors: Sebastian Ullrich -/ import Lean.CoreM import Lean.Parser.Extension +import Lean.Parser.StrInterpolation import Lean.KeyedDeclsAttribute import Lean.ParserCompiler.Attribute import Lean.PrettyPrinter.Basic diff --git a/stage0/src/Lean/PrettyPrinter/Parenthesizer.lean b/stage0/src/Lean/PrettyPrinter/Parenthesizer.lean index f40e94208e..96b6b099f8 100644 --- a/stage0/src/Lean/PrettyPrinter/Parenthesizer.lean +++ b/stage0/src/Lean/PrettyPrinter/Parenthesizer.lean @@ -3,9 +3,8 @@ Copyright (c) 2020 Sebastian Ullrich. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sebastian Ullrich -/ -import Lean.CoreM -import Lean.KeyedDeclsAttribute import Lean.Parser.Extension +import Lean.Parser.StrInterpolation import Lean.ParserCompiler.Attribute import Lean.PrettyPrinter.Basic diff --git a/stage0/src/Lean/Server/FileWorker.lean b/stage0/src/Lean/Server/FileWorker.lean index cf11dfbb0e..8babd5f130 100644 --- a/stage0/src/Lean/Server/FileWorker.lean +++ b/stage0/src/Lean/Server/FileWorker.lean @@ -23,7 +23,6 @@ import Lean.Server.References import Lean.Server.FileWorker.Utils import Lean.Server.FileWorker.RequestHandling import Lean.Server.FileWorker.WidgetRequests - import Lean.Server.Rpc.Basic import Lean.Widget.InteractiveDiagnostic diff --git a/stage0/src/Lean/Server/References.lean b/stage0/src/Lean/Server/References.lean index 84bab6e618..f591a1bacc 100644 --- a/stage0/src/Lean/Server/References.lean +++ b/stage0/src/Lean/Server/References.lean @@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Joscha Mennicken -/ +import Lean.Data.Lsp.Internal import Lean.Server.Utils /-! # Representing collected and deduplicated definitions and usages -/ diff --git a/stage0/src/Lean/Server/Utils.lean b/stage0/src/Lean/Server/Utils.lean index 8fa6e70884..bdb4404b34 100644 --- a/stage0/src/Lean/Server/Utils.lean +++ b/stage0/src/Lean/Server/Utils.lean @@ -4,11 +4,11 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Wojciech Nawrocki, Marc Huisinga -/ -import Lean.Data.Position -import Lean.Data.Lsp +import Lean.Data.Lsp.Communication +import Lean.Data.Lsp.Diagnostics +import Lean.Data.Lsp.Extra +import Lean.Data.Lsp.TextSync import Lean.Server.InfoUtils -import Init.System.FilePath -import Lean.Parser.Basic namespace IO diff --git a/stage0/src/Lean/Server/Watchdog.lean b/stage0/src/Lean/Server/Watchdog.lean index e69c923d6e..98e34eaa7a 100644 --- a/stage0/src/Lean/Server/Watchdog.lean +++ b/stage0/src/Lean/Server/Watchdog.lean @@ -84,21 +84,21 @@ section Utils /-- Events that worker-specific tasks signal to the main thread. -/ inductive WorkerEvent where - | /-- A synthetic event signalling that the grouped edits should be processed. -/ - processGroupedEdits + /-- A synthetic event signalling that the grouped edits should be processed. -/ + | processGroupedEdits | terminated | crashed (e : IO.Error) | ioError (e : IO.Error) inductive WorkerState where - | /-- The watchdog can detect a crashed file worker in two places: When trying to send a message to the file worker - and when reading a request reply. - In the latter case, the forwarding task terminates and delegates a `crashed` event to the main task. - Then, in both cases, the file worker has its state set to `crashed` and requests that are in-flight are errored. - Upon receiving the next packet for that file worker, the file worker is restarted and the packet is forwarded - to it. If the crash was detected while writing a packet, we queue that packet until the next packet for the file - worker arrives. -/ - crashed (queuedMsgs : Array JsonRpc.Message) + /-- The watchdog can detect a crashed file worker in two places: When trying to send a message to the file worker + and when reading a request reply. + In the latter case, the forwarding task terminates and delegates a `crashed` event to the main task. + Then, in both cases, the file worker has its state set to `crashed` and requests that are in-flight are errored. + Upon receiving the next packet for that file worker, the file worker is restarted and the packet is forwarded + to it. If the crash was detected while writing a packet, we queue that packet until the next packet for the file + worker arrives. -/ + | crashed (queuedMsgs : Array JsonRpc.Message) | running abbrev PendingRequestMap := RBMap RequestID JsonRpc.Message compare diff --git a/stage0/src/Lean/Syntax.lean b/stage0/src/Lean/Syntax.lean index 86f940e0a9..53df68f482 100644 --- a/stage0/src/Lean/Syntax.lean +++ b/stage0/src/Lean/Syntax.lean @@ -77,9 +77,9 @@ end SyntaxNode namespace Syntax -def getAtomVal! : Syntax → String +def getAtomVal : Syntax → String | atom _ val => val - | _ => panic! "getAtomVal!: not an atom" + | _ => "" def setAtomVal : Syntax → String → Syntax | atom info _, v => (atom info v) diff --git a/stage0/src/Lean/Util/FindExpr.lean b/stage0/src/Lean/Util/FindExpr.lean index f43a29305c..ef36cd64c9 100644 --- a/stage0/src/Lean/Util/FindExpr.lean +++ b/stage0/src/Lean/Util/FindExpr.lean @@ -75,9 +75,9 @@ def occurs (e : Expr) (t : Expr) : Bool := Return type for `findExt?` function argument. -/ inductive FindStep where - | /-- Found desired subterm -/ found - | /-- Search subterms -/ visit - | /-- Do not search subterms -/ done + /-- Found desired subterm -/ | found + /-- Search subterms -/ | visit + /-- Do not search subterms -/ | done namespace FindExtImpl diff --git a/stage0/src/Lean/Util/PPExt.lean b/stage0/src/Lean/Util/PPExt.lean index 823e6fb8a7..3af4bc58e5 100644 --- a/stage0/src/Lean/Util/PPExt.lean +++ b/stage0/src/Lean/Util/PPExt.lean @@ -4,7 +4,6 @@ Released under Apache 2.0 license as described in the file LICENSE. Author: Leonardo de Moura -/ import Lean.Environment -import Lean.Syntax import Lean.MetavarContext import Lean.Data.OpenDecl diff --git a/stage0/src/Lean/Util/Profile.lean b/stage0/src/Lean/Util/Profile.lean index 52640e45e5..6abccffda3 100644 --- a/stage0/src/Lean/Util/Profile.lean +++ b/stage0/src/Lean/Util/Profile.lean @@ -3,7 +3,7 @@ Copyright (c) 2019 Sebastian Ullrich. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Author: Sebastian Ullrich -/ -import Lean.Data.Position +import Lean.Data.Options namespace Lean diff --git a/stage0/src/Lean/Util/Trace.lean b/stage0/src/Lean/Util/Trace.lean index 0830bdf510..e271553093 100644 --- a/stage0/src/Lean/Util/Trace.lean +++ b/stage0/src/Lean/Util/Trace.lean @@ -3,8 +3,7 @@ Copyright (c) 2018 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Sebastian Ullrich, Leonardo de Moura -/ -import Lean.Message -import Lean.MonadEnv +import Lean.Exception /-! # Trace messages diff --git a/stage0/src/Lean/Widget/InteractiveDiagnostic.lean b/stage0/src/Lean/Widget/InteractiveDiagnostic.lean index 01c8078e04..df7c8e5e58 100644 --- a/stage0/src/Lean/Widget/InteractiveDiagnostic.lean +++ b/stage0/src/Lean/Widget/InteractiveDiagnostic.lean @@ -56,14 +56,15 @@ private def mkPPContext (nCtx : NamingContext) (ctx : MessageDataContext) : PPCo } private inductive EmbedFmt - | /-- Tags denote `Info` objects. -/ - expr (ctx : Elab.ContextInfo) (infos : Std.RBMap Nat Elab.Info compare) + /-- Tags denote `Info` objects. -/ + | expr (ctx : Elab.ContextInfo) (infos : Std.RBMap Nat Elab.Info compare) | goal (ctx : Elab.ContextInfo) (lctx : LocalContext) (g : MVarId) - | /-- Some messages (in particular, traces) are too costly to print eagerly. Instead, we allow - the user to expand sub-traces interactively. -/ - trace (cls : Name) (msg : Format) (collapsed : Bool) - (children : StrictOrLazy (Array Format) (Array MessageData)) - | /-- Ignore any tags in this subtree. -/ ignoreTags + /-- Some messages (in particular, traces) are too costly to print eagerly. Instead, we allow + the user to expand sub-traces interactively. -/ + | trace (cls : Name) (msg : Format) (collapsed : Bool) + (children : StrictOrLazy (Array Format) (Array MessageData)) + /-- Ignore any tags in this subtree. -/ + | ignoreTags deriving Inhabited private abbrev MsgFmtM := StateT (Array EmbedFmt) IO diff --git a/stage0/src/Lean/Widget/TaggedText.lean b/stage0/src/Lean/Widget/TaggedText.lean index b97e15348b..62708e82cc 100644 --- a/stage0/src/Lean/Widget/TaggedText.lean +++ b/stage0/src/Lean/Widget/TaggedText.lean @@ -15,11 +15,11 @@ Much like Lean 3 [`sf`](https://github.com/leanprover-community/mathlib/blob/bfa but with indentation already stringified. -/ inductive TaggedText (α : Type u) where | text : String → TaggedText α - | /-- Invariants: + /-- Invariants: - non-empty - no adjacent `text` elements (they should be collapsed) - no directly nested `append`s (but `append #[tag _ (append ..)]` is okay) -/ - append : Array (TaggedText α) → TaggedText α + | append : Array (TaggedText α) → TaggedText α | tag : α → TaggedText α → TaggedText α deriving Inhabited, BEq, Repr, FromJson, ToJson diff --git a/stage0/src/Lean/Widget/UserWidget.lean b/stage0/src/Lean/Widget/UserWidget.lean index b593148027..c6f6d9fb61 100644 --- a/stage0/src/Lean/Widget/UserWidget.lean +++ b/stage0/src/Lean/Widget/UserWidget.lean @@ -4,11 +4,8 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: E.W.Ayers -/ -import Lean.Widget.Basic -import Lean.Data.Json -import Lean.Environment -import Lean.Server import Lean.Elab.Eval +import Lean.Server.Rpc.RequestHandling open Lean diff --git a/stage0/stdlib/Init/Data/List/Control.c b/stage0/stdlib/Init/Data/List/Control.c index 8e706c1232..670f926c6c 100644 --- a/stage0/stdlib/Init/Data/List/Control.c +++ b/stage0/stdlib/Init/Data/List/Control.c @@ -22,7 +22,6 @@ LEAN_EXPORT lean_object* l_List_findSomeM_x3f___rarg(lean_object*, lean_object*, LEAN_EXPORT lean_object* l_List_filterAuxM___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_instForIn_x27ListInferInstanceMembershipInstMembershipList(lean_object*, lean_object*, lean_object*); static lean_object* l_List_instFunctorList___closed__1; -LEAN_EXPORT lean_object* l_List_mapM___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_firstM___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_anyM___rarg___lambda__1(lean_object*, lean_object*, lean_object*, uint8_t); LEAN_EXPORT lean_object* l_List_filterM___rarg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -39,7 +38,9 @@ static lean_object* l_List_instFunctorList___closed__3; LEAN_EXPORT lean_object* l_List_forIn_loop(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_foldlM___at_List_foldrM___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapM___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_foldlM___at_List_foldrM___spec__1(lean_object*); LEAN_EXPORT lean_object* l_List_allM___rarg___lambda__1(lean_object*, lean_object*, lean_object*, uint8_t); LEAN_EXPORT lean_object* l_List_findSomeM_x3f___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_filterRevM___rarg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -48,9 +49,13 @@ LEAN_EXPORT lean_object* l_List_findM_x3f___rarg(lean_object*, lean_object*, lea LEAN_EXPORT lean_object* l_List_mapTRAux___at_List_instFunctorList___spec__1___rarg(lean_object*, lean_object*, lean_object*); static lean_object* l_List_instFunctorList___closed__2; LEAN_EXPORT lean_object* l_List_forIn_loop___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop(lean_object*); LEAN_EXPORT lean_object* l_List_forA___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forA___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_foldlM___at_List_foldrM___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_allM___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_filterAuxM___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_instFunctorList___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); @@ -79,7 +84,6 @@ static lean_object* l_List_mapA___rarg___closed__1; LEAN_EXPORT lean_object* l_List_filterRevM(lean_object*); LEAN_EXPORT lean_object* l_List_filterM(lean_object*); LEAN_EXPORT lean_object* l_List_anyM___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___rarg___lambda__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at_List_instFunctorList___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_filterAuxM___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t); LEAN_EXPORT lean_object* l_List_findSomeM_x3f(lean_object*); @@ -98,74 +102,71 @@ LEAN_EXPORT lean_object* l_List_forM___rarg___lambda__1(lean_object*, lean_objec LEAN_EXPORT lean_object* l_List_mapA___rarg___lambda__1(lean_object*, lean_object*); lean_object* l_List_mapTRAux___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_List_Control_0__List_forIn_loop_match__2_splitter(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_List_mapM_loop___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_4 = lean_ctor_get(x_1, 0); -lean_inc(x_4); -lean_dec(x_1); -x_5 = lean_ctor_get(x_4, 1); -lean_inc(x_5); -lean_dec(x_4); +lean_object* x_6; lean_object* x_7; x_6 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_6, 0, x_2); -lean_ctor_set(x_6, 1, x_3); -x_7 = lean_apply_2(x_5, lean_box(0), x_6); +lean_ctor_set(x_6, 0, x_5); +lean_ctor_set(x_6, 1, x_1); +x_7 = l_List_mapM_loop___rarg(x_2, lean_box(0), lean_box(0), x_3, x_4, x_6); return x_7; } } -LEAN_EXPORT lean_object* l_List_mapM___rarg___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_List_mapM_loop___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_6; lean_object* x_7; lean_object* x_8; -lean_inc(x_1); -x_6 = l_List_mapM___rarg(x_1, lean_box(0), lean_box(0), x_2, x_3); -x_7 = lean_alloc_closure((void*)(l_List_mapM___rarg___lambda__1), 3, 2); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_5); -x_8 = lean_apply_4(x_4, lean_box(0), lean_box(0), x_6, x_7); -return x_8; +if (lean_obj_tag(x_5) == 0) +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +lean_dec(x_4); +x_7 = lean_ctor_get(x_1, 0); +lean_inc(x_7); +lean_dec(x_1); +x_8 = lean_ctor_get(x_7, 1); +lean_inc(x_8); +lean_dec(x_7); +x_9 = l_List_reverse___rarg(x_6); +x_10 = lean_apply_2(x_8, lean_box(0), x_9); +return x_10; +} +else +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_11 = lean_ctor_get(x_5, 0); +lean_inc(x_11); +x_12 = lean_ctor_get(x_5, 1); +lean_inc(x_12); +lean_dec(x_5); +x_13 = lean_ctor_get(x_1, 1); +lean_inc(x_13); +lean_inc(x_4); +x_14 = lean_apply_1(x_4, x_11); +x_15 = lean_alloc_closure((void*)(l_List_mapM_loop___rarg___lambda__1), 5, 4); +lean_closure_set(x_15, 0, x_6); +lean_closure_set(x_15, 1, x_1); +lean_closure_set(x_15, 2, x_4); +lean_closure_set(x_15, 3, x_12); +x_16 = lean_apply_4(x_13, lean_box(0), lean_box(0), x_14, x_15); +return x_16; +} +} +} +LEAN_EXPORT lean_object* l_List_mapM_loop(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_List_mapM_loop___rarg), 6, 0); +return x_2; } } LEAN_EXPORT lean_object* l_List_mapM___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -if (lean_obj_tag(x_5) == 0) -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; -lean_dec(x_4); -x_6 = lean_ctor_get(x_1, 0); -lean_inc(x_6); -lean_dec(x_1); -x_7 = lean_ctor_get(x_6, 1); -lean_inc(x_7); -lean_dec(x_6); -x_8 = lean_box(0); -x_9 = lean_apply_2(x_7, lean_box(0), x_8); -return x_9; -} -else -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_10 = lean_ctor_get(x_5, 0); -lean_inc(x_10); -x_11 = lean_ctor_get(x_5, 1); -lean_inc(x_11); -lean_dec(x_5); -x_12 = lean_ctor_get(x_1, 1); -lean_inc(x_12); -lean_inc(x_4); -x_13 = lean_apply_1(x_4, x_10); -lean_inc(x_12); -x_14 = lean_alloc_closure((void*)(l_List_mapM___rarg___lambda__2), 5, 4); -lean_closure_set(x_14, 0, x_1); -lean_closure_set(x_14, 1, x_4); -lean_closure_set(x_14, 2, x_11); -lean_closure_set(x_14, 3, x_12); -x_15 = lean_apply_4(x_12, lean_box(0), lean_box(0), x_13, x_14); -return x_15; -} +lean_object* x_6; lean_object* x_7; +x_6 = lean_box(0); +x_7 = l_List_mapM_loop___rarg(x_1, lean_box(0), lean_box(0), x_4, x_5, x_6); +return x_7; } } LEAN_EXPORT lean_object* l_List_mapM(lean_object* x_1) { @@ -635,7 +636,15 @@ x_2 = lean_alloc_closure((void*)(l_List_foldlM___rarg), 6, 0); return x_2; } } -LEAN_EXPORT lean_object* l_List_foldrM___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_EXPORT lean_object* l_List_foldlM___at_List_foldrM___spec__1___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_List_foldlM___at_List_foldrM___spec__1___rarg(x_1, lean_box(0), lean_box(0), x_2, x_4, x_3); +return x_5; +} +} +LEAN_EXPORT lean_object* l_List_foldlM___at_List_foldrM___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: { if (lean_obj_tag(x_6) == 0) @@ -662,13 +671,33 @@ lean_dec(x_6); x_12 = lean_ctor_get(x_1, 1); lean_inc(x_12); lean_inc(x_4); -x_13 = l_List_foldrM___rarg(x_1, lean_box(0), lean_box(0), x_4, x_5, x_11); -x_14 = lean_apply_1(x_4, x_10); +x_13 = lean_apply_2(x_4, x_10, x_5); +x_14 = lean_alloc_closure((void*)(l_List_foldlM___at_List_foldrM___spec__1___rarg___lambda__1), 4, 3); +lean_closure_set(x_14, 0, x_1); +lean_closure_set(x_14, 1, x_4); +lean_closure_set(x_14, 2, x_11); x_15 = lean_apply_4(x_12, lean_box(0), lean_box(0), x_13, x_14); return x_15; } } } +LEAN_EXPORT lean_object* l_List_foldlM___at_List_foldrM___spec__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_List_foldlM___at_List_foldrM___spec__1___rarg), 6, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_List_foldrM___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; +x_7 = l_List_reverse___rarg(x_6); +x_8 = l_List_foldlM___at_List_foldrM___spec__1___rarg(x_1, lean_box(0), lean_box(0), x_4, x_5, x_7); +return x_8; +} +} LEAN_EXPORT lean_object* l_List_foldrM(lean_object* x_1) { _start: { diff --git a/stage0/stdlib/Init/Data/String/Extra.c b/stage0/stdlib/Init/Data/String/Extra.c index 8953174029..56dbfd414b 100644 --- a/stage0/stdlib/Init/Data/String/Extra.c +++ b/stage0/stdlib/Init/Data/String/Extra.c @@ -22,6 +22,7 @@ LEAN_EXPORT lean_object* l___private_Init_Data_String_Extra_0__String_utf8ByteSi LEAN_EXPORT lean_object* l_String___aux__Init__Data__String__Extra______macroRules__tacticDecreasing__trivial__1(lean_object*, lean_object*, lean_object*); static lean_object* l_String___aux__Init__Data__String__Extra______macroRules__tacticDecreasing__trivial__2___closed__2; LEAN_EXPORT lean_object* l_String_toNat_x21___lambda__1(lean_object*, uint32_t); +extern lean_object* l_instInhabitedNat; lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at___aux__Init__Notation______macroRules__precMax__1___spec__1(lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); static lean_object* l_String___aux__Init__Data__String__Extra______macroRules__tacticDecreasing__trivial__2___closed__1; @@ -46,6 +47,7 @@ static lean_object* l_String___aux__Init__Data__String__Extra______macroRules__t static lean_object* l_String___aux__Init__Data__String__Extra______macroRules__tacticDecreasing__trivial__1___closed__22; static lean_object* l_String___aux__Init__Data__String__Extra______macroRules__tacticDecreasing__trivial__1___closed__28; static lean_object* l_String___aux__Init__Data__String__Extra______macroRules__tacticDecreasing__trivial__1___closed__14; +LEAN_EXPORT lean_object* l_panic___at_String_toNat_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l_String_Iterator_foldUntil___rarg(lean_object*, lean_object*, lean_object*); uint8_t l_String_isNat(lean_object*); static lean_object* l_String___aux__Init__Data__String__Extra______macroRules__tacticDecreasing__trivial__1___closed__29; @@ -71,11 +73,10 @@ static lean_object* l_String___aux__Init__Data__String__Extra______macroRules__t static lean_object* l_String___aux__Init__Data__String__Extra______macroRules__tacticDecreasing__trivial__1___closed__9; static lean_object* l_String___aux__Init__Data__String__Extra______macroRules__tacticDecreasing__trivial__1___closed__8; static lean_object* l_String_toNat_x21___closed__4; -lean_object* l_panic___at_Lean_TSyntax_getNat___spec__1(lean_object*); +lean_object* lean_panic_fn(lean_object*, lean_object*); static lean_object* l_String___aux__Init__Data__String__Extra______macroRules__tacticDecreasing__trivial__1___closed__27; uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_String_fromUTF8Unchecked___boxed(lean_object*); -LEAN_EXPORT lean_object* l_String_toNat_x21___boxed(lean_object*); static lean_object* l_String_toNat_x21___closed__1; static lean_object* l_String___aux__Init__Data__String__Extra______macroRules__tacticDecreasing__trivial__2___closed__5; static lean_object* l_String___aux__Init__Data__String__Extra______macroRules__tacticDecreasing__trivial__1___closed__17; @@ -90,6 +91,15 @@ LEAN_EXPORT lean_object* l___private_Init_Data_String_Extra_0__String_utf8ByteSi static lean_object* l_String___aux__Init__Data__String__Extra______macroRules__tacticDecreasing__trivial__2___closed__7; static lean_object* l_String_toNat_x21___closed__5; static lean_object* l_String___aux__Init__Data__String__Extra______macroRules__tacticDecreasing__trivial__1___closed__19; +LEAN_EXPORT lean_object* l_panic___at_String_toNat_x21___spec__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = l_instInhabitedNat; +x_3 = lean_panic_fn(x_2, x_1); +return x_3; +} +} LEAN_EXPORT lean_object* l_String_toNat_x21___lambda__1(lean_object* x_1, uint32_t x_2) { _start: { @@ -159,8 +169,9 @@ x_2 = l_String_isNat(x_1); if (x_2 == 0) { lean_object* x_3; lean_object* x_4; +lean_dec(x_1); x_3 = l_String_toNat_x21___closed__4; -x_4 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_3); +x_4 = l_panic___at_String_toNat_x21___spec__1(x_3); return x_4; } else @@ -171,6 +182,7 @@ x_6 = l_String_toNat_x21___closed__5; x_7 = lean_unsigned_to_nat(0u); x_8 = l_String_foldlAux_loop___rarg(x_6, x_1, x_5, x_7, x_7); lean_dec(x_5); +lean_dec(x_1); return x_8; } } @@ -186,15 +198,6 @@ lean_dec(x_1); return x_4; } } -LEAN_EXPORT lean_object* l_String_toNat_x21___boxed(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = l_String_toNat_x21(x_1); -lean_dec(x_1); -return x_2; -} -} LEAN_EXPORT lean_object* l_String_fromUTF8Unchecked___boxed(lean_object* x_1) { _start: { diff --git a/stage0/stdlib/Init/Meta.c b/stage0/stdlib/Init/Meta.c index de12f15497..2587594314 100644 --- a/stage0/stdlib/Init/Meta.c +++ b/stage0/stdlib/Init/Meta.c @@ -16,9 +16,6 @@ extern "C" { lean_object* l_List_reverse___rarg(lean_object*); LEAN_EXPORT lean_object* l_Array_getSepElems___rarg___boxed(lean_object*); static uint8_t l_Lean_versionString___closed__2; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__22; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__15; -static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__7; static lean_object* l_Lean_Parser_Tactic_dsimpAutoUnfold___closed__10; LEAN_EXPORT lean_object* l_Lean_Syntax_decodeScientificLitVal_x3f_decode___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkCIdentFrom(lean_object*, lean_object*); @@ -28,13 +25,13 @@ LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_version_getMajor___boxed( lean_object* lean_string_push(lean_object*, uint32_t); LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_decodeOctalLitAux___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__31; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__3; LEAN_EXPORT lean_object* l_Lean_Syntax_isIdOrAtom_x3f___boxed(lean_object*); lean_object* lean_array_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_dsimpKind; -LEAN_EXPORT lean_object* l_Lean_TSyntax_getChar(lean_object*); +LEAN_EXPORT uint32_t l_Lean_TSyntax_getChar(lean_object*); static lean_object* l_Lean_Parser_Tactic_declareSimpLikeTactic___closed__6; LEAN_EXPORT lean_object* l_Lean_instQuoteNameStrAnonymous(lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____boxed(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic_simpAllArith___closed__3; lean_object* l_Lean_extractMacroScopes(lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__101; @@ -42,9 +39,9 @@ LEAN_EXPORT lean_object* l_Lean_mkIdentFromRef(lean_object*); static lean_object* l_Lean_Parser_Tactic_dsimpKind___closed__2; static lean_object* l_Lean_Parser_Tactic_declareSimpLikeTactic___closed__15; static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprSyntax____x40_Init_Meta___hyg_2008____closed__2; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__1; size_t lean_usize_add(size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Syntax_isNatLit_x3f___boxed(lean_object*); -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__18; static lean_object* l_Lean_Syntax_unsetTrailing___closed__1; static lean_object* l_Lean_Parser_Tactic_simpArithAutoUnfold___closed__6; static lean_object* l_Lean_Syntax_instReprPreresolved___closed__1; @@ -54,20 +51,20 @@ LEAN_EXPORT lean_object* l_Lean_Syntax_instCoeTailSepArrayArraySyntax___boxed(le static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__16; static lean_object* l_Lean_Syntax_mkNumLit___closed__2; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_updateFirst___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__7; LEAN_EXPORT uint8_t l_Lean_Meta_DSimp_Config_decide___default; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_decodeDecimalLitAux___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Meta_DSimp_Config_zeta___default; -static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__3; LEAN_EXPORT lean_object* l_Lean_Syntax_decodeScientificLitVal_x3f_decodeAfterExp___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_mkSepArray___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*); static lean_object* l_Lean_Parser_Tactic_simpAllKind___closed__5; LEAN_EXPORT uint8_t lean_is_inaccessible_user_name(lean_object*); -extern lean_object* l_String_instInhabitedString; static lean_object* l_Lean_Parser_Tactic_declareSimpLikeTactic___closed__5; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__2; static lean_object* l_Lean_Parser_Tactic_simpArithAutoUnfold___closed__2; +static lean_object* l_Lean_TSyntax_getScientific___closed__2; static lean_object* l_Lean_Parser_Tactic_declareSimpLikeTactic___closed__3; static lean_object* l_Lean_versionString___closed__1; +LEAN_EXPORT lean_object* l_Lean_TSyntax_getScientific___boxed(lean_object*); static lean_object* l_Lean_quoteNameMk___closed__6; static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprTSyntax____x40_Init_Meta___hyg_2253____rarg___closed__3; lean_object* lean_mk_empty_array_with_capacity(lean_object*); @@ -81,6 +78,7 @@ static lean_object* l_Lean_Option_hasQuote___rarg___closed__2; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__63; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__59; LEAN_EXPORT lean_object* l_Lean_Syntax_getTrailingSize(lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__6; static lean_object* l_Lean_Parser_Tactic_simpAllKind___closed__6; static lean_object* l_Lean_Name_reprPrec___closed__7; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__49; @@ -89,6 +87,7 @@ static lean_object* l_Lean_instQuoteProdStrAnonymous___rarg___closed__2; LEAN_EXPORT uint8_t l_Lean_Meta_DSimp_Config_autoUnfold___default; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_updateFirst___at_Lean_Syntax_setHeadInfoAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_TSyntax_instCoeScientificLitTerm(lean_object*); +LEAN_EXPORT lean_object* l_Lean_TSyntax_getString___boxed(lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1___closed__21; static lean_object* l_Lean_Parser_Tactic_simpAllKind___closed__14; LEAN_EXPORT lean_object* l_Lean_Syntax_getSepArgs___boxed(lean_object*); @@ -97,22 +96,24 @@ LEAN_EXPORT lean_object* l___private_Init_Meta_0__Array_filterSepElemsMAux___rar static lean_object* l_Lean_Parser_Tactic_simpArith___closed__8; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__24; LEAN_EXPORT lean_object* l_Lean_TSyntax_instCoeTSyntaxConsSyntaxNodeKind___rarg___boxed(lean_object*); -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__7; static lean_object* l_Lean_Parser_Tactic_declareSimpLikeTactic___closed__18; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__8; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__71; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__7; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_decodeHexDigit(lean_object*, lean_object*); static lean_object* l_Lean_Name_escapePart___closed__1; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__1; lean_object* l_Lean_Syntax_getOptional_x3f(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__22; LEAN_EXPORT lean_object* l_Lean_TSyntax_Compat_instCoeTailArraySyntaxTSepArray___boxed(lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__15; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__5; uint8_t lean_usize_dec_eq(size_t, size_t); -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__21; lean_object* lean_array_uget(lean_object*, size_t); static lean_object* l_Lean_Parser_Tactic_simpAllArithAutoUnfold___closed__9; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__14; static lean_object* l_Lean_termEval__prio_____closed__9; +static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__16; LEAN_EXPORT lean_object* l_Lean_versionStringCore; static lean_object* l_Lean_versionString___closed__8; LEAN_EXPORT uint32_t l_Lean_idBeginEscape; @@ -130,7 +131,6 @@ LEAN_EXPORT lean_object* l_Lean_Syntax_decodeQuotedChar(lean_object*, lean_objec static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__66; static lean_object* l_Lean_quoteNameMk___closed__3; static lean_object* l_Lean_mkSepArray___closed__2; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_simpAutoUnfold; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__33; static lean_object* l_Lean_versionString___closed__4; @@ -139,6 +139,7 @@ static lean_object* l_Lean_instQuoteArrayStrAnonymous___rarg___closed__1; LEAN_EXPORT lean_object* l_Lean_Syntax_mkSep(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_simpAllArith; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1___closed__34; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__15; static lean_object* l_Lean_Parser_Tactic_simpAutoUnfold___closed__11; static lean_object* l_Lean_quoteNameMk___closed__5; static lean_object* l_Array_mapMUnsafe_map___at_Lean_expandMacros___spec__1___closed__1; @@ -156,29 +157,28 @@ static lean_object* l_Lean_version_specialDesc___closed__1; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_updateFirst(lean_object*); LEAN_EXPORT lean_object* l_Lean_TSyntax_instCoeIdentTerm(lean_object*); LEAN_EXPORT lean_object* l_Lean_monadNameGeneratorLift(lean_object*, lean_object*); +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__3; LEAN_EXPORT lean_object* l_Array_mapSepElemsM___rarg(lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__18; static lean_object* l_Lean_toolchain___closed__9; extern lean_object* l_Lean_maxRecDepthErrorMessage; static lean_object* l_List_repr_x27___at___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____spec__1___closed__7; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__5; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__14; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__4; lean_object* lean_array_uset(lean_object*, size_t, lean_object*); -static lean_object* l_panic___at_Lean_TSyntax_getScientific___spec__1___closed__2; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__106; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1___closed__13; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__5; LEAN_EXPORT lean_object* l_Lean_Syntax_decodeScientificLitVal_x3f_decodeAfterDot(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_toNat___boxed(lean_object*); static lean_object* l_Lean_Parser_Tactic_declareSimpLikeTactic___closed__22; static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprSyntax____x40_Init_Meta___hyg_2008____closed__3; static lean_object* l_Lean_Parser_Tactic_simpArith___closed__6; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__14; -static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__16; LEAN_EXPORT uint8_t l_Array_mapMUnsafe_map___at_Lean_expandMacros___spec__1___lambda__1(lean_object*); LEAN_EXPORT uint8_t l_Lean_Meta_Simp_Config_memoize___default; static lean_object* l_Lean_toolchain___closed__4; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__85; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__5; LEAN_EXPORT lean_object* l_Lean_TSyntax_getNat(lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__6; LEAN_EXPORT lean_object* l_Lean_Syntax_getHead_x3f(lean_object*); static lean_object* l_Lean_instQuoteProdStrAnonymous___rarg___closed__3; static lean_object* l_Lean_Parser_Tactic_dsimpKind___closed__8; @@ -186,12 +186,10 @@ static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__85; LEAN_EXPORT uint8_t l_Lean_Meta_DSimp_Config_eta___default; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1___closed__25; -static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__6; LEAN_EXPORT uint8_t l_Lean_Syntax_structEq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____boxed(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__77; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__15; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__18; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__7; LEAN_EXPORT lean_object* l_Lean_Syntax_instCoeTailSepArrayArraySyntax(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_EtaStructMode_noConfusion___rarg(uint8_t, uint8_t, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_decodeInterpStrQuotedChar(lean_object*, lean_object*); @@ -200,12 +198,13 @@ static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_ static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__56; LEAN_EXPORT lean_object* l_Lean_termEval__prec__; static lean_object* l_Lean_quoteNameMk___closed__8; -static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__11; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__11; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__2; LEAN_EXPORT lean_object* l_Lean___aux__Init__Meta______macroRules__Lean__termEval__prio____1(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__37; LEAN_EXPORT lean_object* l_Lean_TSyntax_instCoeIdentLevel___boxed(lean_object*); static lean_object* l_Lean_Parser_Tactic_declareSimpLikeTactic___closed__11; -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__2; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__3; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__12; lean_object* lean_string_utf8_prev(lean_object*, lean_object*); @@ -214,7 +213,6 @@ LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_isNatLitAux(lean_o static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__76; LEAN_EXPORT lean_object* l_Lean_Syntax_SepArray_ofElemsUsingRef___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic_simpAutoUnfold___closed__12; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__3; lean_object* l_id___rarg___boxed(lean_object*); LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_decodeOctalLitAux(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_instQuote(lean_object*, lean_object*, lean_object*); @@ -225,10 +223,12 @@ static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__15; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Syntax_getHead_x3f___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*); uint8_t l_Char_isDigit(uint32_t); -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__8; +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Name_reprPrec(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_reprTSyntax____x40_Init_Meta___hyg_2253____rarg(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Name_escapePart(lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__1; LEAN_EXPORT lean_object* l_Lean_TSyntax_Compat_instCoeTailSyntaxTSyntax___rarg___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_withHeadRefOnly___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_decodeScientificLitVal_x3f_decodeExp(lean_object*, lean_object*, lean_object*, lean_object*); @@ -238,7 +238,6 @@ LEAN_EXPORT lean_object* l_Lean_isGreek___boxed(lean_object*); static lean_object* l_Lean_Parser_Tactic_simpAllKind___closed__16; static lean_object* l_Lean_Parser_Tactic_dsimpKind___closed__1; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_decodeBinLitAux(lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__11; LEAN_EXPORT lean_object* l_Lean_TSyntax_instCoeNumLitTerm(lean_object*); LEAN_EXPORT uint32_t l_Lean_idEndEscape; static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprSyntax____x40_Init_Meta___hyg_2008____closed__8; @@ -260,11 +259,12 @@ static lean_object* l_Lean_Syntax_mkNumLit___closed__1; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__89; LEAN_EXPORT uint8_t l_Lean_Name_escapePart___lambda__1(uint32_t); LEAN_EXPORT lean_object* l_Lean_Syntax_mkScientificLit(lean_object*, lean_object*); -extern lean_object* l_instInhabitedNat; lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at___aux__Init__Notation______macroRules__precMax__1___spec__1(lean_object*, lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__11; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__74; extern lean_object* l_Lean_Parser_Tactic_config; static lean_object* l_Lean_termEval__prec_____closed__3; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__18; static lean_object* l_Lean_Option_hasQuote___rarg___closed__7; static lean_object* l_Lean_TSyntax_expandInterpolatedStr___closed__3; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__30; @@ -285,7 +285,6 @@ lean_object* lean_array_get_size(lean_object*); static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprTSyntax____x40_Init_Meta___hyg_2253____rarg___closed__6; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__14; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1___closed__27; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__15; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__28; static lean_object* l_Lean_Syntax_isInterpolatedStrLit_x3f___closed__1; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__108; @@ -294,26 +293,24 @@ static lean_object* l_Lean_Parser_Tactic_simpAllKind___closed__7; lean_object* lean_string_append(lean_object*, lean_object*); static lean_object* l_Lean_instQuoteSubstringStrAnonymous___closed__1; LEAN_EXPORT lean_object* l_Lean_Syntax_instEmptyCollectionSepArray(lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__3; static lean_object* l_Lean_Parser_Tactic_dsimpKind___closed__4; static lean_object* l_Lean_Parser_Tactic_declareSimpLikeTactic___closed__17; LEAN_EXPORT lean_object* l_Lean_version_getSpecialDesc___boxed(lean_object*); -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__16; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__46; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_decodeHexDigit___boxed(lean_object*, lean_object*); lean_object* lean_get_githash(lean_object*); -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_setTailInfo(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic_simpAutoUnfold___closed__6; LEAN_EXPORT lean_object* l_repr___at___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____spec__2(lean_object*); lean_object* lean_string_utf8_extract(lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__3; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__55; static lean_object* l_Lean_instQuoteBoolStrAnonymous___closed__7; LEAN_EXPORT lean_object* l_Lean_Syntax_instCoeTSyntaxArrayArraySyntax(lean_object*); -static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__1; static lean_object* l_Lean_quoteNameMk___closed__4; LEAN_EXPORT uint8_t l_Lean_Meta_Simp_Config_decide___default; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__5; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__21; +static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__19; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1___closed__2; lean_object* l_Lean_TSyntaxArray_rawImpl___rarg___boxed(lean_object*); static lean_object* l_Lean_Parser_Tactic_simpArithAutoUnfold___closed__1; @@ -324,19 +321,17 @@ lean_object* l___private_Init_Data_Repr_0__reprSourceInfo____x40_Init_Data_Repr_ LEAN_EXPORT lean_object* l_Array_filterSepElemsM___at_Array_filterSepElems___spec__1(lean_object*, lean_object*); static lean_object* l_Lean_quoteNameMk___closed__9; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__50; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__7; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__7; LEAN_EXPORT uint8_t l_Lean_Meta_Simp_Config_contextual___default; -static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__1; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__3; LEAN_EXPORT lean_object* l_Lean_Meta_TransparencyMode_toCtorIdx(uint8_t); -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__24; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__3; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1___closed__23; lean_object* lean_string_utf8_byte_size(lean_object*); static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprSyntax____x40_Init_Meta___hyg_2008____closed__4; LEAN_EXPORT uint8_t l_Lean_Meta_instInhabitedTransparencyMode; LEAN_EXPORT lean_object* l_Lean_NameGenerator_namePrefix___default; LEAN_EXPORT lean_object* l_Array_filterSepElems___boxed(lean_object*, lean_object*); -LEAN_EXPORT uint8_t l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10498_(uint8_t, uint8_t); +LEAN_EXPORT uint8_t l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10509_(uint8_t, uint8_t); LEAN_EXPORT lean_object* l_Lean_Syntax_setHeadInfo(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic_dsimpAutoUnfold___closed__7; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__79; @@ -347,12 +342,14 @@ LEAN_EXPORT lean_object* l_Lean_TSyntax_instCoeTSyntaxConsSyntaxNodeKindNil(lean static lean_object* l_Lean_toolchain___closed__5; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__42; uint8_t lean_usize_dec_lt(size_t, size_t); +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__12; static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprSyntax____x40_Init_Meta___hyg_2008____closed__9; static lean_object* l_Lean_Option_hasQuote___rarg___closed__1; LEAN_EXPORT lean_object* l_Lean_version_patch; static lean_object* l___private_Init_Meta_0__Lean_quoteList___rarg___closed__5; static lean_object* l_Lean_versionString___closed__11; LEAN_EXPORT lean_object* l_List_foldr___at_Lean_Syntax_decodeNameLit___spec__1(lean_object*, lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__7; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__92; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_isNatLitAux___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Syntax_instBEqPreresolved___closed__1; @@ -361,13 +358,13 @@ LEAN_EXPORT lean_object* l_Lean_withHeadRefOnly___rarg___lambda__1(lean_object*, LEAN_EXPORT uint8_t l_Lean_Name_instDecidableEqName(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_List_beq___at___private_Init_Meta_0__Lean_Syntax_beqPreresolved____x40_Init_Meta___hyg_2654____spec__1(lean_object*, lean_object*); LEAN_EXPORT uint8_t l___private_Init_Meta_0__Lean_Syntax_beqPreresolved____x40_Init_Meta___hyg_2654_(lean_object*, lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__1; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Syntax_instCoeTSyntaxArray___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_repr_x27___at___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____spec__1___closed__5; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__53; LEAN_EXPORT lean_object* l_Lean_version_specialDesc; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__16; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__10; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__76; +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____boxed(lean_object*, lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_mkSep___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_instBEqPreresolved; @@ -375,14 +372,11 @@ LEAN_EXPORT lean_object* l_Lean_Syntax_decodeQuotedChar___boxed__const__6; LEAN_EXPORT lean_object* l_Lean_isSubScriptAlnum___boxed(lean_object*); LEAN_EXPORT lean_object* l_Array_mapSepElems(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__26; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__23; static lean_object* l_Lean_Parser_Tactic_declareSimpLikeTactic___closed__24; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__20; static lean_object* l_Lean_Meta_DSimp_instBEqConfig___closed__1; static lean_object* l_Lean_Parser_Tactic_tacticErw_______closed__5; static lean_object* l_Lean_versionStringCore___closed__2; static lean_object* l_Lean_Parser_Tactic_simpAllArith___closed__2; -static lean_object* l_Lean_TSyntax_getNat___closed__3; LEAN_EXPORT lean_object* l_Lean_Name_instReprName; static lean_object* l_Lean_Parser_Tactic_simpAllAutoUnfold___closed__5; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__12; @@ -393,40 +387,41 @@ static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean LEAN_EXPORT lean_object* l_Lean_Syntax_SepArray_ofElems(lean_object*, lean_object*); static lean_object* l_Lean_Name_escapePart___closed__4; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1___closed__19; -static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__16; +static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__2; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__28; LEAN_EXPORT lean_object* l_Lean_Syntax_instCoeTSepArrayTSyntaxArray(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Syntax_instCoeTSyntaxArray___spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic_simpArithAutoUnfold___closed__7; static lean_object* l_Array_mapMUnsafe_map___at_Lean_expandMacros___spec__1___lambda__1___closed__3; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__7; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__15; static lean_object* l_Lean_termEval__prio_____closed__4; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__18; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__21; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__75; static lean_object* l_Lean_version_major___closed__1; static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprTSyntax____x40_Init_Meta___hyg_2253____rarg___closed__10; LEAN_EXPORT lean_object* l_Lean_Meta_EtaStructMode_toCtorIdx___boxed(lean_object*); -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_beqEtaStructMode____x40_Init_Meta___hyg_10679____boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_TSyntax_expandInterpolatedStr___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Option_hasQuote___rarg___closed__4; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__10; static lean_object* l_Lean_Parser_Tactic_simpAllAutoUnfold___closed__7; LEAN_EXPORT uint8_t l_Lean_Meta_Simp_Config_etaStruct___default; lean_object* lean_string_utf8_next(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__58; static lean_object* l_Lean_Name_isInaccessibleUserName___closed__1; -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____boxed(lean_object*, lean_object*); static lean_object* l_Lean_Syntax_mkStrLit___closed__2; LEAN_EXPORT lean_object* l_Lean_Name_instDecidableEqName___boxed(lean_object*, lean_object*); static lean_object* l_Lean_versionStringCore___closed__1; static lean_object* l_Lean_termEval__prio_____closed__2; LEAN_EXPORT lean_object* l_Lean_TSyntax_getId(lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__90; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__11; LEAN_EXPORT lean_object* l_Lean_TSyntax_expandInterpolatedStrChunks___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__54; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__16; LEAN_EXPORT lean_object* l_Lean_Name_toStringWithSep_maybeEscape(uint8_t, lean_object*); LEAN_EXPORT lean_object* l_List_beq___at___private_Init_Meta_0__Lean_Syntax_beqPreresolved____x40_Init_Meta___hyg_2654____spec__1___boxed(lean_object*, lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__7; LEAN_EXPORT lean_object* l_Lean_Syntax_isLit_x3f___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic_tacticErw_______closed__3; LEAN_EXPORT uint8_t l_Lean_Meta_DSimp_Config_proj___default; @@ -438,7 +433,6 @@ static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean static lean_object* l_Lean_Name_reprPrec___closed__6; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_decodeInterpStrLit_loop___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1___closed__11; -static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__2; LEAN_EXPORT lean_object* l_Lean_Syntax_getSubstring_x3f(lean_object*, uint8_t, uint8_t); LEAN_EXPORT lean_object* l_Lean_Syntax_SepArray_getElems___rarg(lean_object*); LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at_Lean_Syntax_getTailInfo_x3f___spec__1(lean_object*, lean_object*, lean_object*); @@ -449,13 +443,12 @@ LEAN_EXPORT lean_object* l_Lean_Syntax_mkApp(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapSepElems___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_instBEqTSyntax___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_Config_maxSteps___default; -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_TSepArray_getElems___rarg___boxed(lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__12; static lean_object* l_Lean_TSyntax_expandInterpolatedStrChunks___closed__1; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_version_getMinor___boxed(lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__43; static lean_object* l_Lean_evalPrio___closed__1; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__6; uint8_t l_Lean_Name_hasMacroScopes(lean_object*); static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprSyntax____x40_Init_Meta___hyg_2008____closed__12; static uint8_t l_Lean_version_isRelease___closed__1; @@ -466,18 +459,15 @@ LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_reprSyntax____x40_ static lean_object* l_Lean_termEval__prec_____closed__10; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__84; LEAN_EXPORT lean_object* l_Lean_Syntax_decodeScientificLitVal_x3f_decodeExp___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__10; LEAN_EXPORT lean_object* l_Lean_Syntax_isLit_x3f(lean_object*, lean_object*); static lean_object* l_Lean_Name_reprPrec___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_Simp_instInhabitedConfig; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__18; +static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__16; LEAN_EXPORT lean_object* l_Lean_Syntax_isScientificLit_x3f___boxed(lean_object*); -static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__8; LEAN_EXPORT lean_object* l_Lean_Syntax_isCharLit_x3f(lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_getTrailingSize___boxed(lean_object*); LEAN_EXPORT uint8_t l_Lean_Meta_DSimp_Config_iota___default; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__10; LEAN_EXPORT lean_object* l_Lean_Syntax_isNatLit_x3f(lean_object*); LEAN_EXPORT lean_object* l_Lean_TSyntax_Compat_instCoeTailArraySyntaxTSyntaxArray(lean_object*); static lean_object* l_Lean_Parser_Tactic_dsimpKind___closed__5; @@ -500,6 +490,7 @@ uint8_t l_instDecidableNot___rarg(uint8_t); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_neutralConfig; uint8_t l_String_contains(lean_object*, uint32_t); LEAN_EXPORT lean_object* l_Lean_Syntax_TSepArray_push___rarg(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic_tacticErw_______closed__1; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__73; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__10; @@ -507,25 +498,27 @@ static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_getEscapedNameParts_x3f(lean_object*, lean_object*); static lean_object* l_Lean_instQuoteBoolStrAnonymous___closed__5; LEAN_EXPORT lean_object* l_Lean_Syntax_mkStrLit___boxed(lean_object*, lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__12; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__33; static lean_object* l_Lean___aux__Init__Meta______macroRules__Lean__Parser__Syntax__subPrec__1___closed__1; static lean_object* l_Array_mapMUnsafe_map___at_Lean_expandMacros___spec__1___lambda__1___closed__2; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1___closed__4; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__6; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__20; static lean_object* l_Lean_instQuoteBoolStrAnonymous___closed__3; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__23; static lean_object* l_Lean_termEval__prec_____closed__7; +static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__8; static lean_object* l_Lean_Parser_Tactic_simpAllArith___closed__9; static lean_object* l_Lean_instQuoteSubstringStrAnonymous___closed__4; LEAN_EXPORT lean_object* l_Lean_instQuoteNatNumLitKind(lean_object*); LEAN_EXPORT lean_object* l_Lean_TSyntax_instCoeScientificLitTerm___boxed(lean_object*); -static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__12; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__61; static lean_object* l_Lean_Parser_Tactic_tacticErw_______closed__2; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_decodeDecimalLitAux(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapSepElemsM(lean_object*); static lean_object* l_Lean_Parser_Tactic_declareSimpLikeTactic___closed__10; LEAN_EXPORT lean_object* l_Lean_mkGroupNode(lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__10; lean_object* lean_nat_sub(lean_object*, lean_object*); static lean_object* l_Lean_termEval__prio_____closed__1; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__46; @@ -537,10 +530,10 @@ static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean LEAN_EXPORT lean_object* l_Lean_Name_reprPrec___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_decodeScientificLitVal_x3f_decode(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_mkGroupNode___closed__2; -static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__17; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__21; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Array_mapSepElemsMAux(lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_mkCApp(lean_object*, lean_object*); -static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__7; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__1; static lean_object* l_Lean_Syntax_mkNameLit___closed__2; static lean_object* l_Lean_termEval__prio_____closed__6; static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprSyntax____x40_Init_Meta___hyg_2008____closed__1; @@ -551,25 +544,27 @@ static lean_object* l_Lean_Parser_Tactic_simpAllAutoUnfold___closed__3; LEAN_EXPORT lean_object* l_Array_getSepElems(lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_String_Basic_0__Substring_takeWhileAux___at___private_Init_Meta_0__Lean_Syntax_splitNameLitAux___spec__3(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__29; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__17; LEAN_EXPORT lean_object* l_Lean_monadNameGeneratorLift___rarg(lean_object*, lean_object*); +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__6; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__10; LEAN_EXPORT lean_object* l_Lean_Syntax_SepArray_getElems(lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_structEq___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic_simpArithAutoUnfold___closed__5; static lean_object* l_List_repr_x27___at___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____spec__1___closed__10; static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprSyntax____x40_Init_Meta___hyg_2008____closed__7; -static lean_object* l_panic___at_Lean_TSyntax_getScientific___spec__1___closed__1; -LEAN_EXPORT uint8_t l___private_Init_Meta_0__Lean_Meta_Simp_beqConfig____x40_Init_Meta___hyg_11362_(lean_object*, lean_object*); +LEAN_EXPORT uint8_t l___private_Init_Meta_0__Lean_Meta_Simp_beqConfig____x40_Init_Meta___hyg_11373_(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Meta_Simp_ConfigCtx_contextual___default; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_quoteList___rarg(lean_object*, lean_object*); +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__9; LEAN_EXPORT lean_object* l_Lean_Syntax_isFieldIdx_x3f(lean_object*); -static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__5; LEAN_EXPORT lean_object* l_Lean_TSyntax_expandInterpolatedStr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__4; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__99; LEAN_EXPORT lean_object* l_Lean_Syntax_instCoeTSyntaxArrayTSepArray___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_instQuoteStringStrLitKind(lean_object*); lean_object* l_Lean_Syntax_getHeadInfo(lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_SepArray_ofElems___boxed(lean_object*, lean_object*); -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__2; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_decodeHexLitAux(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__24; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__71; @@ -580,33 +575,33 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_mkSepArray___spec__1 LEAN_EXPORT lean_object* l_Lean_Syntax_instEmptyCollectionSepArray___boxed(lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__63; LEAN_EXPORT lean_object* l_Lean_Syntax_isScientificLit_x3f(lean_object*); -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__2; static lean_object* l_Lean_Parser_Tactic_dsimpAutoUnfold___closed__1; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__20; static lean_object* l_Lean_Parser_Tactic_declareSimpLikeTactic___closed__25; LEAN_EXPORT lean_object* l_Lean_Name_toString(lean_object*, uint8_t); lean_object* l_Lean_Name_num___override(lean_object*, lean_object*); static lean_object* l_Lean_toolchain___closed__8; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__9; LEAN_EXPORT lean_object* l_Lean_Meta_DSimp_instInhabitedConfig; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__49; lean_object* l_Lean_replaceRef(lean_object*, lean_object*); -static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__15; lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_instReprTransparencyMode; static lean_object* l_Lean_Parser_Tactic_simpAllArith___closed__4; LEAN_EXPORT lean_object* l_Lean_mkIdentFromRef___rarg___lambda__1(lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__1; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__2; LEAN_EXPORT lean_object* l_Lean_mkFreshId___rarg(lean_object*, lean_object*); lean_object* l_String_capitalize(lean_object*); -LEAN_EXPORT lean_object* l_panic___at_Lean_TSyntax_getString___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_NameGenerator_next(lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_decodeCharLit___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_decodeNatLitVal_x3f(lean_object*); -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695_(uint8_t, lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706_(uint8_t, lean_object*); static lean_object* l_Lean_Parser_Tactic_declareSimpLikeTactic___closed__2; LEAN_EXPORT lean_object* l_Lean_Syntax_SepArray_getElems___boxed(lean_object*); LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at_Lean_Syntax_getTailInfo_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_TSyntax_Compat_instCoeTailSyntaxTSyntax___boxed(lean_object*); static lean_object* l_Lean_mkNullNode___closed__2; +static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__5; static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprTSyntax____x40_Init_Meta___hyg_2253____rarg___closed__7; static lean_object* l_Lean_Parser_Tactic_dsimpKind___closed__6; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__55; @@ -618,6 +613,7 @@ lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Internal_isStage0(lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__37; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1___closed__31; +static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__14; static lean_object* l_Array_mapMUnsafe_map___at_Lean_expandMacros___spec__1___lambda__1___closed__8; LEAN_EXPORT lean_object* l_Lean_withHeadRefOnly___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_TransparencyMode_noConfusion___rarg___boxed(lean_object*, lean_object*, lean_object*); @@ -626,7 +622,7 @@ LEAN_EXPORT lean_object* l_Lean_TSyntax_instCoeStrLitTerm(lean_object*); LEAN_EXPORT lean_object* l_Lean_TSyntax_expandInterpolatedStrChunks(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_setKind(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__42; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__13; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__8; LEAN_EXPORT lean_object* lean_name_append_index_after(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Name_eraseSuffix_x3f(lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_instReprConfig___closed__1; @@ -652,26 +648,29 @@ LEAN_EXPORT lean_object* l_Lean_Name_instToStringName(lean_object*); static lean_object* l_Lean_quoteNameMk___closed__2; static lean_object* l___private_Init_Meta_0__Lean_Syntax_updateLast___rarg___closed__4; LEAN_EXPORT lean_object* l_Lean_Name_toStringWithSep_maybeEscape___boxed(lean_object*, lean_object*); -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__16; LEAN_EXPORT lean_object* l_Lean_Name_modifyBase(lean_object*, lean_object*); static lean_object* l_List_foldr___at_Lean_Syntax_decodeNameLit___spec__1___closed__2; static lean_object* l_Lean_Parser_Tactic_dsimpAutoUnfold___closed__3; LEAN_EXPORT lean_object* l_Lean_instQuote___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Meta_Rewrite_Config_transparency___default; -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Nat_repr(lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__3; LEAN_EXPORT lean_object* l_Array_mapSepElemsM___at_Array_mapSepElems___spec__1___boxed(lean_object*, lean_object*); static lean_object* l___private_Init_Meta_0__Lean_Syntax_splitNameLitAux___closed__1; LEAN_EXPORT lean_object* l_Std_Format_joinSep___at___private_Init_Meta_0__Lean_Syntax_reprSyntax____x40_Init_Meta___hyg_2008____spec__2(lean_object*, lean_object*); +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____lambda__1___closed__1; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__3; LEAN_EXPORT lean_object* l_Lean_TSyntax_Compat_instCoeTailSyntaxTSyntax___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean___aux__Init__Meta______macroRules__Lean__termEval__prec____1(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_mkNullNode___closed__1; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__13; static lean_object* l_Array_mapMUnsafe_map___at_Lean_expandMacros___spec__1___lambda__1___closed__1; static lean_object* l_Lean_instQuoteBoolStrAnonymous___closed__6; static lean_object* l_List_repr_x27___at___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____spec__1___closed__4; static lean_object* l_Lean_versionStringCore___closed__8; +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__53; +static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__15; LEAN_EXPORT lean_object* l_Lean_Internal_isStage0___boxed(lean_object*); static lean_object* l_Lean_Parser_Tactic_simpAllKind___closed__10; LEAN_EXPORT lean_object* l_Lean_instQuoteArrayStrAnonymous___rarg(lean_object*, lean_object*); @@ -683,9 +682,12 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_mkSepArray___spec__1 LEAN_EXPORT lean_object* l_Lean_TSyntax_instCoeNameLitTerm(lean_object*); static lean_object* l_Lean_versionStringCore___closed__4; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_decodeInterpStrQuotedChar___boxed(lean_object*, lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__12; extern lean_object* l_Lean_Parser_Tactic_rwRuleSeq; static lean_object* l_Lean_instQuoteArrayStrAnonymous___rarg___closed__2; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__16; static lean_object* l_Lean_Syntax_instBEqSyntax___closed__1; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__13; LEAN_EXPORT lean_object* l_Lean_TSyntax_instCoeTSyntaxConsSyntaxNodeKind___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_NameGenerator_idx___default; static lean_object* l_Lean_Parser_Tactic_simpAllArith___closed__5; @@ -694,24 +696,22 @@ LEAN_EXPORT lean_object* l_Lean_Meta_EtaStructMode_noConfusion___rarg___boxed(le static lean_object* l_Lean_Parser_Tactic_dsimpAutoUnfold___closed__6; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_reprTSyntax____x40_Init_Meta___hyg_2253____boxed(lean_object*); static lean_object* l_Lean_Meta_instBEqTransparencyMode___closed__1; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__23; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__5; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_TSyntax_expandInterpolatedStrChunks___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at_Lean_expandMacros___spec__1___lambda__1___closed__6; lean_object* lean_array_to_list(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkFreshId(lean_object*); static lean_object* l_Lean_Parser_Tactic_declareSimpLikeTactic___closed__7; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__12; lean_object* l_Lean_Macro_throwErrorAt___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__20; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__92; extern lean_object* l_Lean_Parser_Tactic_location; LEAN_EXPORT lean_object* l_Lean_Meta_TransparencyMode_toCtorIdx___boxed(lean_object*); -static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__19; LEAN_EXPORT lean_object* l_Lean_mkCIdent(lean_object*); LEAN_EXPORT lean_object* l_Lean_version_getIsRelease___boxed(lean_object*); LEAN_EXPORT uint8_t l_Lean_Meta_Simp_Config_dsimp___default; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Name_beq_match__1_splitter___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__14; +static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__8; static lean_object* l_Lean_Parser_Tactic_simpArithAutoUnfold___closed__3; static lean_object* l_Lean_Parser_Tactic_simpAutoUnfold___closed__16; uint32_t lean_string_utf8_get(lean_object*, lean_object*); @@ -719,6 +719,7 @@ LEAN_EXPORT lean_object* l_Lean_instQuoteSubstringStrAnonymous(lean_object*); static lean_object* l_Lean_Parser_Tactic_simpAutoUnfold___closed__3; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Name_hasNum___boxed(lean_object*); static lean_object* l_Lean_Syntax_instReprTSyntax___closed__1; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____lambda__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Syntax_mkStrLit(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic_simpAllAutoUnfold___closed__4; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__93; @@ -732,22 +733,17 @@ static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean LEAN_EXPORT lean_object* l_Lean_TSyntax_instCoeTSyntaxConsSyntaxNodeKindNil___rarg___boxed(lean_object*); static lean_object* l_Lean_Parser_Tactic_simpAllArithAutoUnfold___closed__1; LEAN_EXPORT lean_object* l_Lean_mkOptionalNode(lean_object*); -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__9; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_version_getPatch___boxed(lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__27; -static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__12; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__9; -static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__14; LEAN_EXPORT lean_object* l_Lean_Syntax_copyHeadTailInfoFrom(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_panic___at_Lean_TSyntax_getChar___spec__1(lean_object*); -static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__9; LEAN_EXPORT lean_object* l_Lean_Syntax_instCoeIdentTSyntaxConsSyntaxNodeKindStrAnonymousNil(lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_instCoeTSyntaxArray(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Nat_pred(lean_object*); LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_decodeHexLitAux___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Meta_0__Array_filterSepElemsMAux(lean_object*); static lean_object* l_Lean_Name_reprPrec___closed__4; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__2; +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_instQuoteBoolStrAnonymous___closed__1; lean_object* l_panic___at___private_Init_Prelude_0__Lean_assembleParts___spec__1(lean_object*); lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -762,13 +758,13 @@ static lean_object* l_Lean_version_patch___closed__1; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__21; uint8_t l_Array_isEmpty___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_instCoeTermTSyntaxConsSyntaxNodeKindStrAnonymousNil___boxed(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215_(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_20185_(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_21146_(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_18145_(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224_(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203_(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174_(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226_(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_20196_(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_21157_(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_18156_(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235_(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214_(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185_(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__4; uint8_t l_Substring_beq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Name_toStringWithSep___boxed(lean_object*, lean_object*, lean_object*); @@ -779,10 +775,12 @@ LEAN_EXPORT lean_object* l_Lean___aux__Init__Meta______macroRules__Lean__Parser_ static lean_object* l_Lean_Parser_Tactic_simpAllArithAutoUnfold___closed__2; extern lean_object* l_Lean_instInhabitedSyntax; LEAN_EXPORT lean_object* l_Lean_version_getSpecialDesc(lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__10; static lean_object* l_Lean_toolchain___closed__6; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__91; static lean_object* l_Lean_Parser_Tactic_simpAllAutoUnfold___closed__6; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__78; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__22; static lean_object* l_Lean___aux__Init__Meta______macroRules__Lean__Parser__Syntax__addPrio__1___closed__2; static lean_object* l_Lean_version_minor___closed__1; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__1; @@ -793,17 +791,18 @@ LEAN_EXPORT lean_object* l_Lean_mkSepArray(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_SepArray_ofElemsUsingRef___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_Config_maxDischargeDepth___default; static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprSyntax____x40_Init_Meta___hyg_2008____closed__10; +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10509____boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_TSyntax_getChar___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_TSepArray_getElems(lean_object*, lean_object*); -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__17; LEAN_EXPORT lean_object* l_Lean_isNumericSubscript___boxed(lean_object*); lean_object* l_Substring_nextn(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Format_joinSep___at___private_Init_Meta_0__Lean_Syntax_reprSyntax____x40_Init_Meta___hyg_2008____spec__5(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__68; LEAN_EXPORT lean_object* l_Lean_evalOptPrio(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__83; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__12; static lean_object* l_Lean_Parser_Tactic_simpArithAutoUnfold___closed__10; static lean_object* l___private_Init_Meta_0__Lean_Syntax_updateLast___rarg___closed__3; +static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__9; static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprSyntax____x40_Init_Meta___hyg_2008____closed__20; LEAN_EXPORT lean_object* l_Lean_instQuoteProdStrAnonymous(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__14; @@ -812,8 +811,8 @@ static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprTSyntax____x40_Init static lean_object* l_Lean_Syntax_mkApp___closed__2; LEAN_EXPORT lean_object* l_Lean_NameGenerator_mkChild(lean_object*); LEAN_EXPORT lean_object* l_Lean_getGithash___boxed(lean_object*); -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__8; LEAN_EXPORT lean_object* l_Lean_Meta_instReprEtaStructMode; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__20; static lean_object* l_Lean_Syntax_isCharLit_x3f___closed__1; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__45; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_updateFirst___at_Lean_Syntax_setHeadInfoAux___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -824,34 +823,37 @@ LEAN_EXPORT lean_object* l_Lean_Syntax_isCharLit_x3f___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_splitNameLit(lean_object*); static lean_object* l___private_Init_Meta_0__Lean_quoteList___rarg___closed__6; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__103; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__4; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__22; +static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__4; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__31; size_t lean_usize_of_nat(lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__17; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_decodeInterpStrLit(lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__1; static lean_object* l_Lean_Parser_Tactic_dsimpAutoUnfold___closed__4; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__1; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__17; static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprTSyntax____x40_Init_Meta___hyg_2253____rarg___closed__12; LEAN_EXPORT lean_object* l_Lean_version_minor; LEAN_EXPORT lean_object* l_Lean_Syntax_decodeStrLit___boxed(lean_object*); -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075_(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086_(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Meta_0__Array_mapSepElemsMAux___at_Array_mapSepElems___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_NameGenerator_namePrefix___default___closed__2; lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__17; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__44; LEAN_EXPORT lean_object* l_Lean_Syntax_instEmptyCollectionTSepArray(lean_object*, lean_object*); +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__8; LEAN_EXPORT uint8_t l_Lean_isIdEndEscape(uint32_t); static lean_object* l_Lean_Parser_Tactic_simpAllArithAutoUnfold___closed__4; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_version_getMajor(lean_object*); -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__19; -LEAN_EXPORT lean_object* l_panic___at_Lean_TSyntax_getScientific___spec__1(lean_object*); LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_updateLast___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_decodeNatLitVal_x3f___boxed(lean_object*); static lean_object* l_Lean_Parser_Tactic_simpAutoUnfold___closed__14; LEAN_EXPORT lean_object* l_Lean_Syntax_decodeCharLit(lean_object*); LEAN_EXPORT uint8_t l_Lean_version_isRelease; -LEAN_EXPORT uint8_t l___private_Init_Meta_0__Lean_Meta_DSimp_beqConfig____x40_Init_Meta___hyg_10906_(lean_object*, lean_object*); +LEAN_EXPORT uint8_t l___private_Init_Meta_0__Lean_Meta_DSimp_beqConfig____x40_Init_Meta___hyg_10917_(lean_object*, lean_object*); +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__2; +static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__12; static lean_object* l_Lean_Syntax_decodeNatLitVal_x3f___closed__1; LEAN_EXPORT uint8_t l_Lean_Meta_Simp_Config_arith___default; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__59; @@ -862,38 +864,36 @@ static lean_object* l_Lean_Parser_Tactic_declareSimpLikeTactic___closed__19; static lean_object* l_Lean___aux__Init__Meta______macroRules__Lean__Parser__Syntax__addPrio__1___closed__1; uint8_t l_Char_isAlpha(uint32_t); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__97; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__11; static lean_object* l_Lean_Parser_Tactic_simpAllArithAutoUnfold___closed__8; -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10498____boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Option_hasQuote(lean_object*); LEAN_EXPORT uint8_t l_Lean_Syntax_isAtom(lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__8; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Array_getSepElems___spec__1(lean_object*); -static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__4; +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_beqConfig____x40_Init_Meta___hyg_11373____boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_TSyntax_Compat_instCoeTailArraySyntaxTSepArray___rarg___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__94; LEAN_EXPORT lean_object* l_Lean_TSyntax_instCoeDepTermMkConsSyntaxNodeKindStrAnonymousNilIdentIdent(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic_simpAutoUnfold___closed__15; LEAN_EXPORT uint8_t l_Lean_isLetterLike(uint32_t); -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__11; LEAN_EXPORT uint8_t l_Lean_Meta_DSimp_Config_beta___default; LEAN_EXPORT lean_object* l_Lean_evalPrec(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_isStrLit_x3f___boxed(lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__67; static lean_object* l_Lean_Syntax_getHead_x3f___closed__3; lean_object* l_Lean_Macro_expandMacro_x3f(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_declareSimpLikeTactic; LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_simpArith; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__8; extern lean_object* l_Lean_Parser_Tactic_simpLemma; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__10; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__9; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__40; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__11; lean_object* l_Lean_mkAtomFrom(lean_object*, lean_object*); lean_object* l_Lean_TSyntaxArray_mkImpl___rarg___boxed(lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__4; static lean_object* l_Lean_termEval__prio_____closed__8; LEAN_EXPORT lean_object* l_Lean_Syntax_mkNumLit(lean_object*, lean_object*); -extern uint32_t l_Char_instInhabitedChar; static lean_object* l_Lean_instInhabitedNameGenerator___closed__1; static lean_object* l_Lean_Meta_TransparencyMode_noConfusion___rarg___closed__1; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__57; @@ -908,7 +908,6 @@ static lean_object* l_Lean_termEval__prio_____closed__7; static lean_object* l_Array_mapMUnsafe_map___at_Lean_expandMacros___spec__1___lambda__1___closed__5; LEAN_EXPORT lean_object* l_Lean_isLetterLike___boxed(lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1___closed__26; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__8; LEAN_EXPORT lean_object* l_Lean_Syntax_decodeScientificLitVal_x3f___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_isIdOrAtom_x3f(lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_instCoeTSyntaxArray___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -919,6 +918,7 @@ LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Name_beq_match__1_splitte LEAN_EXPORT lean_object* l_Lean_Syntax_decodeQuotedChar___boxed__const__2; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__44; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_expandMacros___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__14; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1___closed__7; LEAN_EXPORT lean_object* l_Lean_Syntax_instReprSyntax; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__35; @@ -933,10 +933,10 @@ LEAN_EXPORT lean_object* l_Lean_TSyntax_instCoeCharLitTerm(lean_object*); static lean_object* l_Lean_Name_instReprName___closed__1; static lean_object* l_Lean_Parser_Tactic_simpAllKind___closed__8; lean_object* l_String_intercalate(lean_object*, lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__10; LEAN_EXPORT lean_object* l_Lean_Meta_EtaStructMode_noConfusion(lean_object*); +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____lambda__1___closed__1; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__69; -static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__5; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__5; static lean_object* l_Lean_Syntax_instCoeIdentTSyntaxConsSyntaxNodeKindStrAnonymousNil___closed__1; static lean_object* l_Lean_Syntax_instCoeTSepArrayTSyntaxArray___closed__1; LEAN_EXPORT lean_object* l_Lean_Syntax_instCoeTSepArrayTSyntaxArray___boxed(lean_object*, lean_object*); @@ -946,10 +946,8 @@ LEAN_EXPORT lean_object* lean_name_append_after(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_version_getMinor(lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_getSepArgs(lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__6; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__14; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__86; uint8_t l_String_isEmpty(lean_object*); -extern uint8_t l_instInhabitedBool; LEAN_EXPORT lean_object* l_Lean_Meta_TransparencyMode_noConfusion(lean_object*); static lean_object* l___private_Init_Meta_0__Lean_Syntax_updateLast___rarg___closed__2; static lean_object* l_Lean_TSyntax_expandInterpolatedStr___lambda__1___closed__4; @@ -957,6 +955,7 @@ static lean_object* l_Lean_Parser_Tactic_simpAllKind___closed__4; static lean_object* l_Lean_Parser_Tactic_tacticErw_______closed__9; static lean_object* l_Lean_Parser_Tactic_dsimpKind___closed__7; LEAN_EXPORT lean_object* l_Lean_mkHole(lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__6; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__83; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Array_getSepElems___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__19; @@ -973,18 +972,14 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Syntax_getHead_x3f__ LEAN_EXPORT uint8_t l_Lean_Meta_Simp_Config_eta___default; static lean_object* l_Lean_instQuoteBoolStrAnonymous___closed__4; LEAN_EXPORT lean_object* l_Lean_Syntax_instCoeTermTSyntaxConsSyntaxNodeKindStrAnonymousNil(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____lambda__1___closed__1; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__9; +static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__14; static lean_object* l_Lean_Parser_Tactic_tacticErw_______closed__8; LEAN_EXPORT uint8_t l_Lean_Syntax_hasArgs(lean_object*); static lean_object* l_Lean_toolchain___closed__1; static lean_object* l_Lean_Parser_Tactic_simpAllArith___closed__1; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__104; static lean_object* l_Lean_Parser_Tactic_simpAllKind___closed__11; -static lean_object* l_Lean_TSyntax_getNat___closed__4; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__11; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__19; uint8_t l_String_isPrefixOf(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__45; static lean_object* l_Lean_instQuoteBoolStrAnonymous___closed__8; @@ -994,32 +989,36 @@ uint8_t lean_nat_dec_le(lean_object*, lean_object*); static lean_object* l_Lean_Syntax_isFieldIdx_x3f___closed__2; LEAN_EXPORT lean_object* l_Lean_withHeadRefOnly(lean_object*); lean_object* l_String_quote(lean_object*); -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____lambda__1___closed__1; uint8_t l_Char_isAlphanum(uint32_t); LEAN_EXPORT lean_object* l_Lean_Syntax_copyHeadTailInfoFrom___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1___closed__32; static lean_object* l_Lean_Parser_Tactic_simpAutoUnfold___closed__22; +static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__5; LEAN_EXPORT lean_object* l_Lean_Meta_Simp_instReprConfig; LEAN_EXPORT lean_object* l_Lean_instInhabitedNameGenerator; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__82; LEAN_EXPORT uint8_t l_Lean_Syntax_instBEqTSyntax___rarg(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1___closed__10; -static lean_object* l_Lean_TSyntax_getNat___closed__2; +static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__15; lean_object* l_Lean_Syntax_getArgs(lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Syntax_SepArray_getElems___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_repr_x27___at___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____spec__1___closed__8; LEAN_EXPORT lean_object* l_Lean_TSyntax_Compat_instCoeTailArraySyntaxTSepArray___rarg(lean_object*, lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__9; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__87; LEAN_EXPORT lean_object* l_Lean_Syntax_decodeScientificLitVal_x3f(lean_object*); LEAN_EXPORT lean_object* l_Lean_TSyntax_instCoeIdentLevel(lean_object*); LEAN_EXPORT uint8_t l_Lean_isGreek(uint32_t); LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_tacticErw____; lean_object* l_Lean_Syntax_getKind(lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__18; static lean_object* l_Lean_Parser_Tactic_simpAllArith___closed__8; static lean_object* l_Lean_TSyntax_expandInterpolatedStr___closed__6; LEAN_EXPORT lean_object* l_Lean___aux__Init__Meta______macroRules__Lean__Parser__Syntax__subPrec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MacroScopesView_review(lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__23; +static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__3; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__19; LEAN_EXPORT lean_object* l_Lean_quoteNameMk(lean_object*); LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_decodeInterpStrQuotedChar___boxed__const__1; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__88; @@ -1028,18 +1027,19 @@ static lean_object* l_Lean_toolchain___closed__2; LEAN_EXPORT lean_object* l_Array_filterSepElems(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__34; LEAN_EXPORT lean_object* l_Array_mapSepElemsM___at_Array_mapSepElems___spec__1(lean_object*, lean_object*); -static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__10; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__17; static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____closed__7; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__17; -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643_(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654_(lean_object*, lean_object*); LEAN_EXPORT uint8_t l___private_Init_Meta_0__Lean_Name_hasNum(lean_object*); static lean_object* l_Lean_Syntax_mkScientificLit___closed__1; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__4; LEAN_EXPORT lean_object* l_Lean_Meta_instBEqEtaStructMode; static lean_object* l_Lean_Syntax_mkScientificLit___closed__2; LEAN_EXPORT lean_object* l_repr___at___private_Init_Meta_0__Lean_Syntax_reprSyntax____x40_Init_Meta___hyg_2008____spec__1(lean_object*); static lean_object* l_Lean_Parser_Tactic_dsimpAutoUnfold___closed__9; lean_object* l_panic___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1(lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__13; LEAN_EXPORT lean_object* l_Lean_Name_isInaccessibleUserName___boxed(lean_object*); static uint8_t l_Lean_versionString___closed__3; LEAN_EXPORT lean_object* l_Lean_Name_replacePrefix___boxed(lean_object*, lean_object*, lean_object*); @@ -1047,40 +1047,34 @@ static lean_object* l_List_repr_x27___at___private_Init_Meta_0__Lean_Syntax_repr static lean_object* l_Lean_versionString___closed__5; LEAN_EXPORT lean_object* l_Lean_TSyntax_getScientific(lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__13; -static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__15; static lean_object* l_Lean_termEval__prec_____closed__11; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__41; LEAN_EXPORT lean_object* l_Lean_Syntax_getOptionalIdent_x3f(lean_object*); -LEAN_EXPORT lean_object* l_panic___at_Lean_TSyntax_getChar___spec__1___boxed__const__1; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__4; static lean_object* l_Lean_evalPrec___closed__1; LEAN_EXPORT lean_object* l_Lean_TSyntax_instCoeTSyntaxConsSyntaxNodeKindNil___boxed(lean_object*, lean_object*); static lean_object* l_Lean_instQuoteProdStrAnonymous___rarg___closed__4; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__70; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__7; static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprSyntax____x40_Init_Meta___hyg_2008____closed__16; -static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__18; static lean_object* l_Lean_Syntax_instCoeIdentTSyntaxConsSyntaxNodeKindStrAnonymousNil___closed__4; static lean_object* l_Lean_Name_toStringWithSep___closed__1; LEAN_EXPORT lean_object* l_Lean_NameGenerator_curr(lean_object*); static lean_object* l_Lean_Parser_Tactic_dsimpKind___closed__3; LEAN_EXPORT lean_object* l_Lean_Syntax_TSepArray_push___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_SepArray_getElems___rarg___boxed(lean_object*); -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__9; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__5; LEAN_EXPORT lean_object* l_Lean_Meta_DSimp_instBEqConfig; LEAN_EXPORT lean_object* l_Lean_Syntax_TSepArray_push(lean_object*); +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__6; LEAN_EXPORT lean_object* l_Std_Format_joinSep___at___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____spec__3___boxed(lean_object*, lean_object*); -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__9; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_TSyntax_expandInterpolatedStrChunks___spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at_Lean_expandMacros___spec__1___lambda__1___closed__7; -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514_(uint8_t, lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525_(uint8_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_isNameLit_x3f___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_instQuoteBoolStrAnonymous___boxed(lean_object*); LEAN_EXPORT lean_object* l___private_Init_Meta_0__Array_mapSepElemsMAux___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_instQuoteListStrAnonymous___rarg(lean_object*); -static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__13; static lean_object* l_Lean_mkHole___closed__1; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__1; +LEAN_EXPORT lean_object* l_Lean_TSyntax_getNat___boxed(lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__72; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__96; static lean_object* l_Lean_Syntax_mkApp___closed__3; @@ -1089,8 +1083,9 @@ LEAN_EXPORT lean_object* l_Lean_isIdBeginEscape___boxed(lean_object*); static lean_object* l_Lean_Parser_Tactic_tacticErw_______closed__6; static lean_object* l_Lean_instQuoteNameStrAnonymous___closed__1; static lean_object* l_Lean_Parser_Tactic_dsimpAutoUnfold___closed__2; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__5; LEAN_EXPORT lean_object* l_Lean_mkFreshId___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__3; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__19; static lean_object* l_Lean_instQuoteBoolStrAnonymous___closed__2; LEAN_EXPORT uint8_t l_Lean_Meta_Rewrite_Config_offsetCnstrs___default; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Array_filterSepElemsMAux___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1100,25 +1095,24 @@ static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean static lean_object* l_Lean___aux__Init__Meta______macroRules__Lean__Parser__Syntax__subPrio__1___closed__1; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__65; LEAN_EXPORT lean_object* l_List_beq___at_Lean_Syntax_structEq___spec__2___boxed(lean_object*, lean_object*); -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__4; static lean_object* l_Lean_Parser_Tactic_simpAutoUnfold___closed__23; lean_object* lean_nat_mul(lean_object*, lean_object*); -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__17; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__62; static lean_object* l_Lean_Parser_Tactic_simpAllAutoUnfold___closed__12; -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__54; LEAN_EXPORT lean_object* l_Lean_Syntax_mkNameLit(lean_object*, lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__14; static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____closed__5; -static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__6; static lean_object* l_Lean_Parser_Tactic_simpArithAutoUnfold___closed__9; -static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__9; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__5; LEAN_EXPORT lean_object* l_Lean_mkCIdentFromRef___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_decodeQuotedChar___boxed__const__4; static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprSyntax____x40_Init_Meta___hyg_2008____closed__14; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__9; static lean_object* l_List_foldr___at_Lean_Syntax_decodeNameLit___spec__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Syntax_decodeQuotedChar___boxed__const__1; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__2; +static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__10; +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_beqConfig____x40_Init_Meta___hyg_10917____boxed(lean_object*, lean_object*); static lean_object* l_Lean_TSyntax_expandInterpolatedStr___closed__1; static lean_object* l_Lean_Parser_Tactic_simpAllKind___closed__13; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1___closed__5; @@ -1130,22 +1124,21 @@ uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_instBEqConfig; static lean_object* l_Lean_termEval__prec_____closed__2; static lean_object* l_Lean_Parser_Tactic_simpAutoUnfold___closed__21; +static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__20; LEAN_EXPORT lean_object* l_Lean_Syntax_instBEqTSyntax___rarg___boxed(lean_object*, lean_object*); +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__3; LEAN_EXPORT uint8_t l_Lean_Meta_Simp_Config_iota___default; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__8; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1___closed__16; LEAN_EXPORT lean_object* l_Lean_Syntax_setInfo(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_beqConfig____x40_Init_Meta___hyg_10906____boxed(lean_object*, lean_object*); +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__4; static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprSyntax____x40_Init_Meta___hyg_2008____closed__5; static lean_object* l_Lean_Parser_Tactic_simpAutoUnfold___closed__13; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__82; -static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__4; -static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__13; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__29; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__1; +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean___aux__Init__Meta______macroRules__Lean__Parser__Syntax__addPrec__1(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_panic___at_Lean_TSyntax_getNat___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_TSyntax_expandInterpolatedStrChunks___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__12; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__69; static lean_object* l_Lean_Meta_Simp_neutralConfig___closed__1; LEAN_EXPORT uint8_t l_Lean_Syntax_isNone(lean_object*); @@ -1154,16 +1147,12 @@ static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1___closed__28; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_reprTSyntax____x40_Init_Meta___hyg_2253____rarg___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_decodeScientificLitVal_x3f_decodeAfterDot___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__8; LEAN_EXPORT lean_object* l_Lean_Name_toString_maybePseudoSyntax___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_expandMacros(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__61; -static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__20; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_updateLast(lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__2; -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_decodeNameLit(lean_object*); -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__8; static lean_object* l_Lean_Name_toString_maybePseudoSyntax___closed__1; LEAN_EXPORT lean_object* l_Lean_TSyntax_Compat_instCoeTailArraySyntaxTSepArray(lean_object*); static lean_object* l_Lean_TSyntax_expandInterpolatedStr___closed__4; @@ -1172,15 +1161,15 @@ static lean_object* l_Lean_Meta_DSimp_instReprConfig___closed__1; LEAN_EXPORT lean_object* l_Lean_Syntax_isNameLit_x3f(lean_object*); static lean_object* l_Lean_quoteNameMk___closed__7; LEAN_EXPORT lean_object* l_Lean_Syntax_isInterpolatedStrLit_x3f(lean_object*); -lean_object* lean_panic_fn(lean_object*, lean_object*); -static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__10; LEAN_EXPORT lean_object* l_Lean_Syntax_getHead_x3f___lambda__1___boxed(lean_object*); static lean_object* l_Lean_TSyntax_expandInterpolatedStr___lambda__1___closed__2; static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprSyntax____x40_Init_Meta___hyg_2008____closed__22; lean_object* l_String_trim(lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_decodeQuotedChar___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_isIdEndEscape___boxed(lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__22; static lean_object* l_Lean_Parser_Tactic_declareSimpLikeTactic___closed__23; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__8; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_mkSepArray___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_getTailInfo_x3f___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_getTailInfo(lean_object*); @@ -1196,15 +1185,13 @@ static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean LEAN_EXPORT lean_object* l_List_foldr___at_Lean_Syntax_decodeNameLit___spec__1___boxed(lean_object*, lean_object*); static lean_object* l_Lean_termEval__prec_____closed__5; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__86; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__9; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__47; LEAN_EXPORT lean_object* l_List_repr_x27___at___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____spec__1___boxed(lean_object*, lean_object*); static lean_object* l___private_Init_Meta_0__Lean_quoteList___rarg___closed__7; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__1; static lean_object* l_Lean_Parser_Tactic_declareSimpLikeTactic___closed__21; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__4; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__60; static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____closed__3; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__8; static lean_object* l_List_repr_x27___at___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____spec__1___closed__1; LEAN_EXPORT lean_object* l_Lean_mkCIdentFromRef(lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__74; @@ -1219,9 +1206,11 @@ static lean_object* l_Lean_Parser_Tactic_declareSimpLikeTactic___closed__13; static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprTSyntax____x40_Init_Meta___hyg_2253____rarg___closed__4; LEAN_EXPORT lean_object* l_Lean_TSyntax_getName(lean_object*); static lean_object* l_Lean_Parser_Tactic_simpAutoUnfold___closed__1; +static lean_object* l_Lean_TSyntax_getScientific___closed__1; LEAN_EXPORT lean_object* l_Lean_Syntax_isToken___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__26; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__2; +static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__4; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__1; LEAN_EXPORT lean_object* l_Lean_TSyntax_instCoeTSyntaxConsSyntaxNodeKind___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_instQuoteBoolStrAnonymous(uint8_t); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__58; @@ -1236,7 +1225,6 @@ LEAN_EXPORT lean_object* l_Lean_TSyntax_instCoeIdentTerm___boxed(lean_object*); static lean_object* l_Lean_termEval__prec_____closed__8; LEAN_EXPORT lean_object* l_Lean_Syntax_decodeQuotedChar___boxed__const__3; LEAN_EXPORT lean_object* l_Lean_Syntax_instReprPreresolved; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__23; static lean_object* l_Lean_Parser_Tactic_simpAutoUnfold___closed__2; static lean_object* l_Lean_toolchain___closed__7; static lean_object* l_Lean___aux__Init__Meta______macroRules__Lean__Parser__Syntax__addPrec__1___closed__3; @@ -1246,8 +1234,10 @@ LEAN_EXPORT lean_object* l_Lean_Syntax_isInterpolatedStrLit_x3f___boxed(lean_obj LEAN_EXPORT lean_object* l_Lean_origin; static lean_object* l_Lean_Syntax_isInterpolatedStrLit_x3f___closed__2; lean_object* lean_string_length(lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__9; static lean_object* l_Lean_Parser_Tactic_declareSimpLikeTactic___closed__8; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Syntax_findAux___spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__16; LEAN_EXPORT lean_object* l___private_Init_Data_String_Basic_0__Substring_takeWhileAux___at___private_Init_Meta_0__Lean_Syntax_splitNameLitAux___spec__2(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprTSyntax____x40_Init_Meta___hyg_2253____rarg___closed__8; static lean_object* l_Lean_Parser_Tactic_tacticErw_______closed__10; @@ -1259,47 +1249,42 @@ static lean_object* l_Lean_Name_reprPrec___closed__10; LEAN_EXPORT uint8_t l_Lean_Meta_Simp_Config_beta___default; LEAN_EXPORT lean_object* l_Lean_Syntax_getHead_x3f___lambda__1(lean_object*); static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____closed__8; -static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__2; static lean_object* l_Lean_Option_hasQuote___rarg___closed__3; LEAN_EXPORT uint8_t l_List_beq___at_Lean_Syntax_structEq___spec__2(lean_object*, lean_object*); static lean_object* l_Lean_TSyntax_expandInterpolatedStr___lambda__1___closed__1; static lean_object* l_List_repr_x27___at___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____spec__1___closed__6; static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprTSyntax____x40_Init_Meta___hyg_2253____rarg___closed__2; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____lambda__1___closed__1; LEAN_EXPORT lean_object* l_Lean_withHeadRefOnly___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__90; LEAN_EXPORT lean_object* lean_mk_syntax_ident(lean_object*); extern lean_object* l_Lean_Parser_Tactic_discharger; LEAN_EXPORT lean_object* l_Lean_Meta_TransparencyMode_noConfusion___rarg___lambda__1(lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__2; static lean_object* l_Lean_Syntax_getHead_x3f___closed__1; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_updateFirst___rarg(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic_simpArith___closed__7; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__3; LEAN_EXPORT lean_object* l_Lean_Syntax_mkSynthetic(lean_object*); lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__84; static lean_object* l_Lean_termEval__prec_____closed__1; LEAN_EXPORT lean_object* l_Lean_Syntax_toNat(lean_object*); static lean_object* l_Lean_versionString___closed__6; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__1; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__75; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1___closed__37; LEAN_EXPORT lean_object* lean_name_append_before(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_version_getPatch(lean_object*); LEAN_EXPORT lean_object* l_Lean_toolchain; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__13; static lean_object* l_Lean_mkOptionalNode___closed__2; static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____closed__4; static lean_object* l_Lean_Parser_Tactic_simpArithAutoUnfold___closed__4; static lean_object* l_Lean_Parser_Tactic_declareSimpLikeTactic___closed__1; static lean_object* l_Lean_Syntax_getHead_x3f___closed__2; static lean_object* l_Lean_mkCIdentFrom___closed__2; +static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__13; static lean_object* l_Lean_origin___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_simpAllArithAutoUnfold; lean_object* lean_nat_mod(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1(lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_TSyntax_getNat___closed__1; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__52; LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_dsimpAutoUnfold; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__27; @@ -1313,10 +1298,13 @@ static lean_object* l_Lean_Meta_Simp_instBEqConfig___closed__1; static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprSyntax____x40_Init_Meta___hyg_2008____closed__15; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__23; LEAN_EXPORT lean_object* l_Lean_mkFreshId___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__24; static lean_object* l_Lean_termEval__prec_____closed__4; LEAN_EXPORT uint8_t l_Lean_Meta_Simp_Config_proj___default; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__7; LEAN_EXPORT lean_object* l_Lean_Meta_instBEqTransparencyMode; LEAN_EXPORT lean_object* l_Lean_Syntax_instCoeArraySyntaxSepArray(lean_object*); +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__2; static lean_object* l_Lean_instQuoteTermStrAnonymous___closed__1; LEAN_EXPORT lean_object* l_List_repr_x27___at___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____spec__1(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic_tacticErw_______closed__11; @@ -1329,7 +1317,7 @@ static lean_object* l_Lean_Parser_Tactic_tacticErw_______closed__12; LEAN_EXPORT lean_object* l_Lean_Syntax_decodeStrLitAux___boxed(lean_object*, lean_object*, lean_object*); uint8_t l_List_isEmpty___rarg(lean_object*); lean_object* l_String_drop(lean_object*, lean_object*); -LEAN_EXPORT uint8_t l___private_Init_Meta_0__Lean_Meta_beqEtaStructMode____x40_Init_Meta___hyg_10679_(uint8_t, uint8_t); +LEAN_EXPORT uint8_t l___private_Init_Meta_0__Lean_Meta_beqEtaStructMode____x40_Init_Meta___hyg_10690_(uint8_t, uint8_t); LEAN_EXPORT lean_object* l_Lean_TSyntax_instCoeTSyntaxConsSyntaxNodeKindNil___rarg(lean_object*); LEAN_EXPORT lean_object* l_Array_filterSepElemsM___at_Array_filterSepElems___spec__1___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic_simpAllAutoUnfold___closed__9; @@ -1341,10 +1329,8 @@ static lean_object* l_List_repr_x27___at___private_Init_Meta_0__Lean_Syntax_repr LEAN_EXPORT lean_object* l_Lean_instQuoteArrayStrAnonymous(lean_object*); lean_object* l_Nat_min(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__72; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__13; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__5; static lean_object* l___private_Init_Meta_0__Lean_quoteList___rarg___closed__4; -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_beqConfig____x40_Init_Meta___hyg_11362____boxed(lean_object*, lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__7; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1___closed__33; static lean_object* l_Lean_mkSepArray___closed__1; static lean_object* l_Lean_Parser_Tactic_simpArith___closed__5; @@ -1355,21 +1341,25 @@ static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_TSyntax_expandInterpolatedStrChunks___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_instCoeTSyntaxArrayArraySyntax___boxed(lean_object*); LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_reprSyntax____x40_Init_Meta___hyg_2008_(lean_object*, lean_object*); +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__5; LEAN_EXPORT lean_object* l_Lean_Name_getRoot___boxed(lean_object*); LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Syntax_decodeBinLitAux___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Name_getRoot(lean_object*); uint8_t lean_uint32_dec_le(uint32_t, uint32_t); static lean_object* l_Lean_Name_reprPrec___closed__5; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__13; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1___closed__22; LEAN_EXPORT lean_object* l_Lean_mkSepArray___boxed(lean_object*, lean_object*); -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__3; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__70; static lean_object* l_Lean_Syntax_instCoeTSyntaxArrayArraySyntax___closed__1; static lean_object* l_Lean_Name_reprPrec___closed__3; +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_beqEtaStructMode____x40_Init_Meta___hyg_10690____boxed(lean_object*, lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__11; static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____closed__6; static lean_object* l___private_Init_Meta_0__Lean_quoteList___rarg___closed__2; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__35; LEAN_EXPORT uint8_t l_Lean_Name_toString_maybePseudoSyntax(lean_object*); +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__1; LEAN_EXPORT lean_object* l_Lean_Syntax_instReprTSyntax(lean_object*); LEAN_EXPORT lean_object* l_Lean_instQuoteProdStrAnonymous___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_TSyntax_expandInterpolatedStr___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); @@ -1381,15 +1371,16 @@ LEAN_EXPORT lean_object* l_Lean_Meta_TransparencyMode_noConfusion___rarg___lambd LEAN_EXPORT lean_object* l_Lean_TSyntax_instCoeNumLitPrec(lean_object*); static lean_object* l_Array_getSepElems___rarg___closed__1; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Array_getSepElems___spec__1___rarg(lean_object*, size_t, size_t, lean_object*); +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__7; static lean_object* l_Lean_Parser_Tactic_simpAllArith___closed__7; static lean_object* l_Lean_Parser_Tactic_declareSimpLikeTactic___closed__12; LEAN_EXPORT lean_object* l_Lean_Syntax_findAux(lean_object*, lean_object*); -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__4; static lean_object* l_Lean_Name_escapePart___closed__3; LEAN_EXPORT lean_object* l_Lean_Syntax_instCoeTSyntaxArrayTSepArray___rarg___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_decodeStrLitAux(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Init_Meta_0__Lean_Syntax_reprSyntax____x40_Init_Meta___hyg_2008____closed__18; uint8_t lean_string_utf8_at_end(lean_object*, lean_object*); +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__3; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__40; static lean_object* l_Lean_Parser_Tactic_simpAllKind___closed__2; static lean_object* l_Lean_Parser_Tactic_simpAutoUnfold___closed__7; @@ -1398,7 +1389,6 @@ LEAN_EXPORT lean_object* l_Lean_mkNode(lean_object*, lean_object*); static lean_object* l___private_Init_Meta_0__Lean_quoteList___rarg___closed__1; static lean_object* l_Lean_instQuoteSubstringStrAnonymous___closed__3; lean_object* lean_uint32_to_nat(uint32_t); -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__1; static lean_object* l_Lean_TSyntax_expandInterpolatedStr___closed__7; static lean_object* l_Array_forInUnsafe_loop___at_Lean_mkSepArray___spec__1___closed__1; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__51; @@ -1427,14 +1417,15 @@ LEAN_EXPORT lean_object* l_repr___at___private_Init_Meta_0__Lean_Syntax_reprPrer LEAN_EXPORT lean_object* l_Lean_evalPrio(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic_simpAllArithAutoUnfold___closed__5; LEAN_EXPORT lean_object* l_Lean_Meta_Simp_defaultMaxSteps; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__15; static lean_object* l_Lean___aux__Init__Meta______macroRules__Lean__Parser__Syntax__addPrec__1___closed__4; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__6; -static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__6; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__4; LEAN_EXPORT lean_object* l___private_Init_Data_String_Basic_0__Substring_takeWhileAux___at___private_Init_Meta_0__Lean_Syntax_splitNameLitAux___spec__1___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Syntax_SepArray_getElems___spec__1(lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_TSyntax_Compat_instCoeTailArraySyntaxTSyntaxArray___boxed(lean_object*); static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__36; LEAN_EXPORT lean_object* l_Lean_Syntax_setHeadInfoAux(lean_object*, lean_object*); +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__18; static lean_object* l_Lean_Parser_Tactic_simpArith___closed__9; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__19; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1___closed__30; @@ -1447,7 +1438,6 @@ static lean_object* l_Lean_Parser_Tactic_simpAutoUnfold___closed__4; static lean_object* l_Lean_Meta_Simp_instInhabitedConfig___closed__1; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__48; static lean_object* l_Lean_TSyntax_expandInterpolatedStr___lambda__1___closed__3; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__6; static lean_object* l_Lean_Syntax_instCoeIdentTSyntaxConsSyntaxNodeKindStrAnonymousNil___closed__2; static lean_object* l_Lean_Parser_Tactic_simpAllKind___closed__1; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1___closed__3; @@ -1458,10 +1448,9 @@ static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__13; static lean_object* l_Lean_Syntax_isFieldIdx_x3f___closed__1; LEAN_EXPORT uint8_t l_Lean_isIdRest(uint32_t); -static lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__11; static lean_object* l_Lean_Parser_Tactic_simpAllArithAutoUnfold___closed__3; LEAN_EXPORT lean_object* l_Lean_Meta_DSimp_instReprConfig; -static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__2; +static lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__6; static lean_object* l_Lean_Parser_Tactic_simpAutoUnfold___closed__9; uint8_t lean_string_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_mkLit(lean_object*, lean_object*, lean_object*); @@ -1469,6 +1458,7 @@ lean_object* l_Char_ofNat(lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Meta_0__Array_mapSepElemsMAux___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_versionStringCore___closed__7; +static lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__6; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___lambda__1___closed__34; lean_object* l_Repr_addAppParen(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic_simpArith___closed__2; @@ -13578,75 +13568,36 @@ x_3 = l_Lean_Syntax_findAux(x_2, x_1); return x_3; } } -LEAN_EXPORT lean_object* l_panic___at_Lean_TSyntax_getNat___spec__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; -x_2 = l_instInhabitedNat; -x_3 = lean_panic_fn(x_2, x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_TSyntax_getNat___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("Init.Data.Option.BasicAux", 25); -return x_1; -} -} -static lean_object* _init_l_Lean_TSyntax_getNat___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("Option.get!", 11); -return x_1; -} -} -static lean_object* _init_l_Lean_TSyntax_getNat___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("value is none", 13); -return x_1; -} -} -static lean_object* _init_l_Lean_TSyntax_getNat___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_TSyntax_getNat___closed__1; -x_2 = l_Lean_TSyntax_getNat___closed__2; -x_3 = lean_unsigned_to_nat(16u); -x_4 = lean_unsigned_to_nat(14u); -x_5 = l_Lean_TSyntax_getNat___closed__3; -x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); -return x_6; -} -} LEAN_EXPORT lean_object* l_Lean_TSyntax_getNat(lean_object* x_1) { _start: { lean_object* x_2; x_2 = l_Lean_Syntax_isNatLit_x3f(x_1); -lean_dec(x_1); if (lean_obj_tag(x_2) == 0) { -lean_object* x_3; lean_object* x_4; -x_3 = l_Lean_TSyntax_getNat___closed__4; -x_4 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_3); -return x_4; +lean_object* x_3; +x_3 = lean_unsigned_to_nat(0u); +return x_3; } else { -lean_object* x_5; -x_5 = lean_ctor_get(x_2, 0); -lean_inc(x_5); +lean_object* x_4; +x_4 = lean_ctor_get(x_2, 0); +lean_inc(x_4); lean_dec(x_2); -return x_5; +return x_4; } } } +LEAN_EXPORT lean_object* l_Lean_TSyntax_getNat___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Lean_TSyntax_getNat(x_1); +lean_dec(x_1); +return x_2; +} +} LEAN_EXPORT lean_object* l_Lean_TSyntax_getId(lean_object* x_1) { _start: { @@ -13664,12 +13615,12 @@ lean_dec(x_1); return x_2; } } -static lean_object* _init_l_panic___at_Lean_TSyntax_getScientific___spec__1___closed__1() { +static lean_object* _init_l_Lean_TSyntax_getScientific___closed__1() { _start: { uint8_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_instInhabitedBool; -x_2 = l_instInhabitedNat; +x_1 = 0; +x_2 = lean_unsigned_to_nat(0u); x_3 = lean_box(x_1); x_4 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_4, 0, x_3); @@ -13677,57 +13628,46 @@ lean_ctor_set(x_4, 1, x_2); return x_4; } } -static lean_object* _init_l_panic___at_Lean_TSyntax_getScientific___spec__1___closed__2() { +static lean_object* _init_l_Lean_TSyntax_getScientific___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_instInhabitedNat; -x_2 = l_panic___at_Lean_TSyntax_getScientific___spec__1___closed__1; +x_1 = lean_unsigned_to_nat(0u); +x_2 = l_Lean_TSyntax_getScientific___closed__1; 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_EXPORT lean_object* l_panic___at_Lean_TSyntax_getScientific___spec__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; -x_2 = l_panic___at_Lean_TSyntax_getScientific___spec__1___closed__2; -x_3 = lean_panic_fn(x_2, x_1); -return x_3; -} -} LEAN_EXPORT lean_object* l_Lean_TSyntax_getScientific(lean_object* x_1) { _start: { lean_object* x_2; x_2 = l_Lean_Syntax_isScientificLit_x3f(x_1); -lean_dec(x_1); if (lean_obj_tag(x_2) == 0) { -lean_object* x_3; lean_object* x_4; -x_3 = l_Lean_TSyntax_getNat___closed__4; -x_4 = l_panic___at_Lean_TSyntax_getScientific___spec__1(x_3); -return x_4; +lean_object* x_3; +x_3 = l_Lean_TSyntax_getScientific___closed__2; +return x_3; } else { -lean_object* x_5; -x_5 = lean_ctor_get(x_2, 0); -lean_inc(x_5); +lean_object* x_4; +x_4 = lean_ctor_get(x_2, 0); +lean_inc(x_4); lean_dec(x_2); -return x_5; +return x_4; } } } -LEAN_EXPORT lean_object* l_panic___at_Lean_TSyntax_getString___spec__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_TSyntax_getScientific___boxed(lean_object* x_1) { _start: { -lean_object* x_2; lean_object* x_3; -x_2 = l_String_instInhabitedString; -x_3 = lean_panic_fn(x_2, x_1); -return x_3; +lean_object* x_2; +x_2 = l_Lean_TSyntax_getScientific(x_1); +lean_dec(x_1); +return x_2; } } LEAN_EXPORT lean_object* l_Lean_TSyntax_getString(lean_object* x_1) { @@ -13735,65 +13675,64 @@ _start: { lean_object* x_2; x_2 = l_Lean_Syntax_isStrLit_x3f(x_1); -lean_dec(x_1); if (lean_obj_tag(x_2) == 0) { -lean_object* x_3; lean_object* x_4; -x_3 = l_Lean_TSyntax_getNat___closed__4; -x_4 = l_panic___at_Lean_TSyntax_getString___spec__1(x_3); -return x_4; +lean_object* x_3; +x_3 = l_Lean_versionString___closed__1; +return x_3; } else { -lean_object* x_5; -x_5 = lean_ctor_get(x_2, 0); -lean_inc(x_5); +lean_object* x_4; +x_4 = lean_ctor_get(x_2, 0); +lean_inc(x_4); lean_dec(x_2); -return x_5; +return x_4; } } } -static lean_object* _init_l_panic___at_Lean_TSyntax_getChar___spec__1___boxed__const__1() { +LEAN_EXPORT lean_object* l_Lean_TSyntax_getString___boxed(lean_object* x_1) { _start: { -uint32_t x_1; lean_object* x_2; -x_1 = l_Char_instInhabitedChar; -x_2 = lean_box_uint32(x_1); +lean_object* x_2; +x_2 = l_Lean_TSyntax_getString(x_1); +lean_dec(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_panic___at_Lean_TSyntax_getChar___spec__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; -x_2 = l_panic___at_Lean_TSyntax_getChar___spec__1___boxed__const__1; -x_3 = lean_panic_fn(x_2, x_1); -return x_3; -} -} -LEAN_EXPORT lean_object* l_Lean_TSyntax_getChar(lean_object* x_1) { +LEAN_EXPORT uint32_t l_Lean_TSyntax_getChar(lean_object* x_1) { _start: { lean_object* x_2; x_2 = l_Lean_Syntax_isCharLit_x3f(x_1); -lean_dec(x_1); if (lean_obj_tag(x_2) == 0) { -lean_object* x_3; lean_object* x_4; -x_3 = l_Lean_TSyntax_getNat___closed__4; -x_4 = l_panic___at_Lean_TSyntax_getChar___spec__1(x_3); -return x_4; +uint32_t x_3; +x_3 = 65; +return x_3; } else { -lean_object* x_5; -x_5 = lean_ctor_get(x_2, 0); -lean_inc(x_5); +lean_object* x_4; uint32_t x_5; +x_4 = lean_ctor_get(x_2, 0); +lean_inc(x_4); lean_dec(x_2); +x_5 = lean_unbox_uint32(x_4); +lean_dec(x_4); return x_5; } } } +LEAN_EXPORT lean_object* l_Lean_TSyntax_getChar___boxed(lean_object* x_1) { +_start: +{ +uint32_t x_2; lean_object* x_3; +x_2 = l_Lean_TSyntax_getChar(x_1); +lean_dec(x_1); +x_3 = lean_box_uint32(x_2); +return x_3; +} +} LEAN_EXPORT lean_object* l_Lean_TSyntax_getName(lean_object* x_1) { _start: { @@ -13801,18 +13740,17 @@ lean_object* x_2; x_2 = l_Lean_Syntax_isNameLit_x3f(x_1); if (lean_obj_tag(x_2) == 0) { -lean_object* x_3; lean_object* x_4; -x_3 = l_Lean_TSyntax_getNat___closed__4; -x_4 = l_panic___at___private_Init_Prelude_0__Lean_assembleParts___spec__1(x_3); -return x_4; +lean_object* x_3; +x_3 = lean_box(0); +return x_3; } else { -lean_object* x_5; -x_5 = lean_ctor_get(x_2, 0); -lean_inc(x_5); +lean_object* x_4; +x_4 = lean_ctor_get(x_2, 0); +lean_inc(x_4); lean_dec(x_2); -return x_5; +return x_4; } } } @@ -14728,6 +14666,7 @@ else lean_object* x_23; lean_dec(x_2); x_23 = l_Lean_TSyntax_getNat(x_17); +lean_dec(x_17); lean_ctor_set(x_15, 0, x_23); return x_15; } @@ -14756,6 +14695,7 @@ else lean_object* x_30; lean_object* x_31; lean_dec(x_2); x_30 = l_Lean_TSyntax_getNat(x_24); +lean_dec(x_24); x_31 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_31, 0, x_30); lean_ctor_set(x_31, 1, x_25); @@ -14872,6 +14812,7 @@ else lean_object* x_58; lean_object* x_59; lean_dec(x_48); x_58 = l_Lean_TSyntax_getNat(x_51); +lean_dec(x_51); if (lean_is_scalar(x_53)) { x_59 = lean_alloc_ctor(0, 2, 0); } else { @@ -15507,6 +15448,7 @@ else lean_object* x_23; lean_dec(x_2); x_23 = l_Lean_TSyntax_getNat(x_17); +lean_dec(x_17); lean_ctor_set(x_15, 0, x_23); return x_15; } @@ -15535,6 +15477,7 @@ else lean_object* x_30; lean_object* x_31; lean_dec(x_2); x_30 = l_Lean_TSyntax_getNat(x_24); +lean_dec(x_24); x_31 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_31, 0, x_30); lean_ctor_set(x_31, 1, x_25); @@ -15651,6 +15594,7 @@ else lean_object* x_58; lean_object* x_59; lean_dec(x_48); x_58 = l_Lean_TSyntax_getNat(x_51); +lean_dec(x_51); if (lean_is_scalar(x_53)) { x_59 = lean_alloc_ctor(0, 2, 0); } else { @@ -18647,7 +18591,7 @@ x_1 = 0; return x_1; } } -LEAN_EXPORT uint8_t l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10498_(uint8_t x_1, uint8_t x_2) { +LEAN_EXPORT uint8_t l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10509_(uint8_t x_1, uint8_t x_2) { _start: { lean_object* x_3; lean_object* x_4; uint8_t x_5; @@ -18659,7 +18603,7 @@ lean_dec(x_3); return x_5; } } -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10498____boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10509____boxed(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; uint8_t x_4; uint8_t x_5; lean_object* x_6; @@ -18667,7 +18611,7 @@ x_3 = lean_unbox(x_1); lean_dec(x_1); x_4 = lean_unbox(x_2); lean_dec(x_2); -x_5 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10498_(x_3, x_4); +x_5 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10509_(x_3, x_4); x_6 = lean_box(x_5); return x_6; } @@ -18676,7 +18620,7 @@ static lean_object* _init_l_Lean_Meta_instBEqTransparencyMode___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10498____boxed), 2, 0); +x_1 = lean_alloc_closure((void*)(l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10509____boxed), 2, 0); return x_1; } } @@ -18688,7 +18632,7 @@ x_1 = l_Lean_Meta_instBEqTransparencyMode___closed__1; return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__1() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__1() { _start: { lean_object* x_1; @@ -18696,33 +18640,33 @@ x_1 = lean_mk_string_from_bytes("Lean.Meta.TransparencyMode.all", 30); return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__2() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__1; +x_1 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__1; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__3() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____closed__4; -x_2 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__2; +x_2 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__2; x_3 = lean_alloc_ctor(3, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__4() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__4() { _start: { lean_object* x_1; uint8_t x_2; lean_object* x_3; -x_1 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__3; +x_1 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__3; x_2 = 0; x_3 = lean_alloc_ctor(5, 1, 1); lean_ctor_set(x_3, 0, x_1); @@ -18730,23 +18674,23 @@ lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__5() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____closed__5; -x_2 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__2; +x_2 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__2; x_3 = lean_alloc_ctor(3, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__6() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__6() { _start: { lean_object* x_1; uint8_t x_2; lean_object* x_3; -x_1 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__5; +x_1 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__5; x_2 = 0; x_3 = lean_alloc_ctor(5, 1, 1); lean_ctor_set(x_3, 0, x_1); @@ -18754,7 +18698,7 @@ lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__7() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__7() { _start: { lean_object* x_1; @@ -18762,33 +18706,33 @@ x_1 = lean_mk_string_from_bytes("Lean.Meta.TransparencyMode.default", 34); return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__8() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__8() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__7; +x_1 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__7; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__9() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____closed__4; -x_2 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__8; +x_2 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__8; x_3 = lean_alloc_ctor(3, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__10() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__10() { _start: { lean_object* x_1; uint8_t x_2; lean_object* x_3; -x_1 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__9; +x_1 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__9; x_2 = 0; x_3 = lean_alloc_ctor(5, 1, 1); lean_ctor_set(x_3, 0, x_1); @@ -18796,23 +18740,23 @@ lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__11() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____closed__5; -x_2 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__8; +x_2 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__8; x_3 = lean_alloc_ctor(3, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__12() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__12() { _start: { lean_object* x_1; uint8_t x_2; lean_object* x_3; -x_1 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__11; +x_1 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__11; x_2 = 0; x_3 = lean_alloc_ctor(5, 1, 1); lean_ctor_set(x_3, 0, x_1); @@ -18820,7 +18764,7 @@ lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__13() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__13() { _start: { lean_object* x_1; @@ -18828,33 +18772,33 @@ x_1 = lean_mk_string_from_bytes("Lean.Meta.TransparencyMode.reducible", 36); return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__14() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__14() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__13; +x_1 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__13; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__15() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__15() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____closed__4; -x_2 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__14; +x_2 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__14; x_3 = lean_alloc_ctor(3, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__16() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__16() { _start: { lean_object* x_1; uint8_t x_2; lean_object* x_3; -x_1 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__15; +x_1 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__15; x_2 = 0; x_3 = lean_alloc_ctor(5, 1, 1); lean_ctor_set(x_3, 0, x_1); @@ -18862,23 +18806,23 @@ lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__17() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__17() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____closed__5; -x_2 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__14; +x_2 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__14; x_3 = lean_alloc_ctor(3, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__18() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__18() { _start: { lean_object* x_1; uint8_t x_2; lean_object* x_3; -x_1 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__17; +x_1 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__17; x_2 = 0; x_3 = lean_alloc_ctor(5, 1, 1); lean_ctor_set(x_3, 0, x_1); @@ -18886,7 +18830,7 @@ lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__19() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__19() { _start: { lean_object* x_1; @@ -18894,33 +18838,33 @@ x_1 = lean_mk_string_from_bytes("Lean.Meta.TransparencyMode.instances", 36); return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__20() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__20() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__19; +x_1 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__19; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__21() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__21() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____closed__4; -x_2 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__20; +x_2 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__20; x_3 = lean_alloc_ctor(3, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__22() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__22() { _start: { lean_object* x_1; uint8_t x_2; lean_object* x_3; -x_1 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__21; +x_1 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__21; x_2 = 0; x_3 = lean_alloc_ctor(5, 1, 1); lean_ctor_set(x_3, 0, x_1); @@ -18928,23 +18872,23 @@ lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__23() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__23() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____closed__5; -x_2 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__20; +x_2 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__20; x_3 = lean_alloc_ctor(3, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__24() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__24() { _start: { lean_object* x_1; uint8_t x_2; lean_object* x_3; -x_1 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__23; +x_1 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__23; x_2 = 0; x_3 = lean_alloc_ctor(5, 1, 1); lean_ctor_set(x_3, 0, x_1); @@ -18952,7 +18896,7 @@ lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514_(uint8_t x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525_(uint8_t x_1, lean_object* x_2) { _start: { switch (x_1) { @@ -18964,14 +18908,14 @@ x_4 = lean_nat_dec_le(x_3, x_2); if (x_4 == 0) { lean_object* x_5; lean_object* x_6; -x_5 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__4; +x_5 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__4; x_6 = l_Repr_addAppParen(x_5, x_2); return x_6; } else { lean_object* x_7; lean_object* x_8; -x_7 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__6; +x_7 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__6; x_8 = l_Repr_addAppParen(x_7, x_2); return x_8; } @@ -18984,14 +18928,14 @@ x_10 = lean_nat_dec_le(x_9, x_2); if (x_10 == 0) { lean_object* x_11; lean_object* x_12; -x_11 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__10; +x_11 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__10; x_12 = l_Repr_addAppParen(x_11, x_2); return x_12; } else { lean_object* x_13; lean_object* x_14; -x_13 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__12; +x_13 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__12; x_14 = l_Repr_addAppParen(x_13, x_2); return x_14; } @@ -19004,14 +18948,14 @@ x_16 = lean_nat_dec_le(x_15, x_2); if (x_16 == 0) { lean_object* x_17; lean_object* x_18; -x_17 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__16; +x_17 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__16; x_18 = l_Repr_addAppParen(x_17, x_2); return x_18; } else { lean_object* x_19; lean_object* x_20; -x_19 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__18; +x_19 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__18; x_20 = l_Repr_addAppParen(x_19, x_2); return x_20; } @@ -19024,14 +18968,14 @@ x_22 = lean_nat_dec_le(x_21, x_2); if (x_22 == 0) { lean_object* x_23; lean_object* x_24; -x_23 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__22; +x_23 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__22; x_24 = l_Repr_addAppParen(x_23, x_2); return x_24; } else { lean_object* x_25; lean_object* x_26; -x_25 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__24; +x_25 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__24; x_26 = l_Repr_addAppParen(x_25, x_2); return x_26; } @@ -19039,13 +18983,13 @@ return x_26; } } } -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____boxed(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; lean_object* x_4; x_3 = lean_unbox(x_1); lean_dec(x_1); -x_4 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514_(x_3, x_2); +x_4 = l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525_(x_3, x_2); lean_dec(x_2); return x_4; } @@ -19054,7 +18998,7 @@ static lean_object* _init_l_Lean_Meta_instReprTransparencyMode___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____boxed), 2, 0); +x_1 = lean_alloc_closure((void*)(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____boxed), 2, 0); return x_1; } } @@ -19137,7 +19081,7 @@ x_1 = 0; return x_1; } } -LEAN_EXPORT uint8_t l___private_Init_Meta_0__Lean_Meta_beqEtaStructMode____x40_Init_Meta___hyg_10679_(uint8_t x_1, uint8_t x_2) { +LEAN_EXPORT uint8_t l___private_Init_Meta_0__Lean_Meta_beqEtaStructMode____x40_Init_Meta___hyg_10690_(uint8_t x_1, uint8_t x_2) { _start: { lean_object* x_3; lean_object* x_4; uint8_t x_5; @@ -19149,7 +19093,7 @@ lean_dec(x_3); return x_5; } } -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_beqEtaStructMode____x40_Init_Meta___hyg_10679____boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_beqEtaStructMode____x40_Init_Meta___hyg_10690____boxed(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; uint8_t x_4; uint8_t x_5; lean_object* x_6; @@ -19157,7 +19101,7 @@ x_3 = lean_unbox(x_1); lean_dec(x_1); x_4 = lean_unbox(x_2); lean_dec(x_2); -x_5 = l___private_Init_Meta_0__Lean_Meta_beqEtaStructMode____x40_Init_Meta___hyg_10679_(x_3, x_4); +x_5 = l___private_Init_Meta_0__Lean_Meta_beqEtaStructMode____x40_Init_Meta___hyg_10690_(x_3, x_4); x_6 = lean_box(x_5); return x_6; } @@ -19166,7 +19110,7 @@ static lean_object* _init_l_Lean_Meta_instBEqEtaStructMode___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l___private_Init_Meta_0__Lean_Meta_beqEtaStructMode____x40_Init_Meta___hyg_10679____boxed), 2, 0); +x_1 = lean_alloc_closure((void*)(l___private_Init_Meta_0__Lean_Meta_beqEtaStructMode____x40_Init_Meta___hyg_10690____boxed), 2, 0); return x_1; } } @@ -19178,7 +19122,7 @@ x_1 = l_Lean_Meta_instBEqEtaStructMode___closed__1; return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__1() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__1() { _start: { lean_object* x_1; @@ -19186,33 +19130,33 @@ x_1 = lean_mk_string_from_bytes("Lean.Meta.EtaStructMode.all", 27); return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__2() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__1; +x_1 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__1; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__3() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____closed__4; -x_2 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__2; +x_2 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__2; x_3 = lean_alloc_ctor(3, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__4() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__4() { _start: { lean_object* x_1; uint8_t x_2; lean_object* x_3; -x_1 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__3; +x_1 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__3; x_2 = 0; x_3 = lean_alloc_ctor(5, 1, 1); lean_ctor_set(x_3, 0, x_1); @@ -19220,23 +19164,23 @@ lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__5() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____closed__5; -x_2 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__2; +x_2 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__2; x_3 = lean_alloc_ctor(3, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__6() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__6() { _start: { lean_object* x_1; uint8_t x_2; lean_object* x_3; -x_1 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__5; +x_1 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__5; x_2 = 0; x_3 = lean_alloc_ctor(5, 1, 1); lean_ctor_set(x_3, 0, x_1); @@ -19244,7 +19188,7 @@ lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__7() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__7() { _start: { lean_object* x_1; @@ -19252,33 +19196,33 @@ x_1 = lean_mk_string_from_bytes("Lean.Meta.EtaStructMode.notClasses", 34); return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__8() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__8() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__7; +x_1 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__7; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__9() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____closed__4; -x_2 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__8; +x_2 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__8; x_3 = lean_alloc_ctor(3, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__10() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__10() { _start: { lean_object* x_1; uint8_t x_2; lean_object* x_3; -x_1 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__9; +x_1 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__9; x_2 = 0; x_3 = lean_alloc_ctor(5, 1, 1); lean_ctor_set(x_3, 0, x_1); @@ -19286,23 +19230,23 @@ lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__11() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____closed__5; -x_2 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__8; +x_2 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__8; x_3 = lean_alloc_ctor(3, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__12() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__12() { _start: { lean_object* x_1; uint8_t x_2; lean_object* x_3; -x_1 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__11; +x_1 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__11; x_2 = 0; x_3 = lean_alloc_ctor(5, 1, 1); lean_ctor_set(x_3, 0, x_1); @@ -19310,7 +19254,7 @@ lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__13() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__13() { _start: { lean_object* x_1; @@ -19318,33 +19262,33 @@ x_1 = lean_mk_string_from_bytes("Lean.Meta.EtaStructMode.none", 28); return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__14() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__14() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__13; +x_1 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__13; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__15() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__15() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____closed__4; -x_2 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__14; +x_2 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__14; x_3 = lean_alloc_ctor(3, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__16() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__16() { _start: { lean_object* x_1; uint8_t x_2; lean_object* x_3; -x_1 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__15; +x_1 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__15; x_2 = 0; x_3 = lean_alloc_ctor(5, 1, 1); lean_ctor_set(x_3, 0, x_1); @@ -19352,23 +19296,23 @@ lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__17() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__17() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l___private_Init_Meta_0__Lean_Syntax_reprPreresolved____x40_Init_Meta___hyg_1893____closed__5; -x_2 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__14; +x_2 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__14; x_3 = lean_alloc_ctor(3, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__18() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__18() { _start: { lean_object* x_1; uint8_t x_2; lean_object* x_3; -x_1 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__17; +x_1 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__17; x_2 = 0; x_3 = lean_alloc_ctor(5, 1, 1); lean_ctor_set(x_3, 0, x_1); @@ -19376,7 +19320,7 @@ lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695_(uint8_t x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706_(uint8_t x_1, lean_object* x_2) { _start: { switch (x_1) { @@ -19388,14 +19332,14 @@ x_4 = lean_nat_dec_le(x_3, x_2); if (x_4 == 0) { lean_object* x_5; lean_object* x_6; -x_5 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__4; +x_5 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__4; x_6 = l_Repr_addAppParen(x_5, x_2); return x_6; } else { lean_object* x_7; lean_object* x_8; -x_7 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__6; +x_7 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__6; x_8 = l_Repr_addAppParen(x_7, x_2); return x_8; } @@ -19408,14 +19352,14 @@ x_10 = lean_nat_dec_le(x_9, x_2); if (x_10 == 0) { lean_object* x_11; lean_object* x_12; -x_11 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__10; +x_11 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__10; x_12 = l_Repr_addAppParen(x_11, x_2); return x_12; } else { lean_object* x_13; lean_object* x_14; -x_13 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__12; +x_13 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__12; x_14 = l_Repr_addAppParen(x_13, x_2); return x_14; } @@ -19428,14 +19372,14 @@ x_16 = lean_nat_dec_le(x_15, x_2); if (x_16 == 0) { lean_object* x_17; lean_object* x_18; -x_17 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__16; +x_17 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__16; x_18 = l_Repr_addAppParen(x_17, x_2); return x_18; } else { lean_object* x_19; lean_object* x_20; -x_19 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__18; +x_19 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__18; x_20 = l_Repr_addAppParen(x_19, x_2); return x_20; } @@ -19443,13 +19387,13 @@ return x_20; } } } -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____boxed(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; lean_object* x_4; x_3 = lean_unbox(x_1); lean_dec(x_1); -x_4 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695_(x_3, x_2); +x_4 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706_(x_3, x_2); lean_dec(x_2); return x_4; } @@ -19458,7 +19402,7 @@ static lean_object* _init_l_Lean_Meta_instReprEtaStructMode___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____boxed), 2, 0); +x_1 = lean_alloc_closure((void*)(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____boxed), 2, 0); return x_1; } } @@ -19560,7 +19504,7 @@ x_1 = l_Lean_Meta_DSimp_instInhabitedConfig___closed__1; return x_1; } } -LEAN_EXPORT uint8_t l___private_Init_Meta_0__Lean_Meta_DSimp_beqConfig____x40_Init_Meta___hyg_10906_(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT uint8_t l___private_Init_Meta_0__Lean_Meta_DSimp_beqConfig____x40_Init_Meta___hyg_10917_(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; uint8_t x_4; uint8_t x_5; uint8_t x_6; uint8_t x_7; uint8_t x_8; uint8_t x_9; uint8_t x_10; uint8_t x_11; uint8_t x_12; uint8_t x_13; uint8_t x_14; uint8_t x_15; uint8_t x_16; uint8_t x_17; uint8_t x_18; lean_object* x_19; lean_object* x_23; lean_object* x_29; lean_object* x_35; lean_object* x_43; uint8_t x_49; @@ -19713,7 +19657,7 @@ block_42: { uint8_t x_36; lean_dec(x_35); -x_36 = l___private_Init_Meta_0__Lean_Meta_beqEtaStructMode____x40_Init_Meta___hyg_10679_(x_6, x_14); +x_36 = l___private_Init_Meta_0__Lean_Meta_beqEtaStructMode____x40_Init_Meta___hyg_10690_(x_6, x_14); if (x_36 == 0) { uint8_t x_37; @@ -19838,11 +19782,11 @@ goto block_48; } } } -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_beqConfig____x40_Init_Meta___hyg_10906____boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_beqConfig____x40_Init_Meta___hyg_10917____boxed(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; lean_object* x_4; -x_3 = l___private_Init_Meta_0__Lean_Meta_DSimp_beqConfig____x40_Init_Meta___hyg_10906_(x_1, x_2); +x_3 = l___private_Init_Meta_0__Lean_Meta_DSimp_beqConfig____x40_Init_Meta___hyg_10917_(x_1, x_2); lean_dec(x_2); lean_dec(x_1); x_4 = lean_box(x_3); @@ -19853,7 +19797,7 @@ static lean_object* _init_l_Lean_Meta_DSimp_instBEqConfig___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l___private_Init_Meta_0__Lean_Meta_DSimp_beqConfig____x40_Init_Meta___hyg_10906____boxed), 2, 0); +x_1 = lean_alloc_closure((void*)(l___private_Init_Meta_0__Lean_Meta_DSimp_beqConfig____x40_Init_Meta___hyg_10917____boxed), 2, 0); return x_1; } } @@ -19865,7 +19809,7 @@ x_1 = l_Lean_Meta_DSimp_instBEqConfig___closed__1; return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__1() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__1() { _start: { lean_object* x_1; @@ -19873,33 +19817,33 @@ x_1 = lean_mk_string_from_bytes("zeta", 4); return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__2() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__1; +x_1 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__1; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__3() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__2; +x_2 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__2; x_3 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__4() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__3; +x_1 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__3; x_2 = l___private_Init_Meta_0__Lean_Syntax_reprTSyntax____x40_Init_Meta___hyg_2253____rarg___closed__5; x_3 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -19907,7 +19851,7 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__5() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__5() { _start: { lean_object* x_1; @@ -19915,17 +19859,17 @@ x_1 = lean_mk_string_from_bytes("beta", 4); return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__6() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__6() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__5; +x_1 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__5; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__7() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__7() { _start: { lean_object* x_1; @@ -19933,17 +19877,17 @@ x_1 = lean_mk_string_from_bytes("eta", 3); return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__8() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__8() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__7; +x_1 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__7; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__9() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__9() { _start: { lean_object* x_1; @@ -19951,17 +19895,17 @@ x_1 = lean_mk_string_from_bytes("etaStruct", 9); return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__10() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__10() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__9; +x_1 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__9; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__11() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__11() { _start: { lean_object* x_1; @@ -19969,17 +19913,17 @@ x_1 = lean_mk_string_from_bytes("iota", 4); return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__12() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__12() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__11; +x_1 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__11; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__13() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__13() { _start: { lean_object* x_1; @@ -19987,17 +19931,17 @@ x_1 = lean_mk_string_from_bytes("proj", 4); return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__14() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__14() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__13; +x_1 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__13; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__15() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__15() { _start: { lean_object* x_1; @@ -20005,17 +19949,17 @@ x_1 = lean_mk_string_from_bytes("decide", 6); return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__16() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__16() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__15; +x_1 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__15; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__17() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__17() { _start: { lean_object* x_1; @@ -20023,17 +19967,17 @@ x_1 = lean_mk_string_from_bytes("autoUnfold", 10); return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__18() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__18() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__17; +x_1 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__17; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__19() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__19() { _start: { lean_object* x_1; lean_object* x_2; @@ -20043,7 +19987,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__20() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__20() { _start: { lean_object* x_1; lean_object* x_2; @@ -20053,7 +19997,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075_(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086_(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; uint8_t x_4; uint8_t x_5; uint8_t x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9; uint8_t x_10; uint8_t x_11; uint8_t x_12; lean_object* x_13; @@ -20062,7 +20006,7 @@ x_4 = lean_ctor_get_uint8(x_1, 1); x_5 = lean_ctor_get_uint8(x_1, 2); x_6 = lean_ctor_get_uint8(x_1, 3); x_7 = lean_unsigned_to_nat(0u); -x_8 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695_(x_6, x_7); +x_8 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706_(x_6, x_7); x_9 = lean_ctor_get_uint8(x_1, 4); x_10 = lean_ctor_get_uint8(x_1, 5); x_11 = lean_ctor_get_uint8(x_1, 6); @@ -20070,21 +20014,21 @@ x_12 = lean_ctor_get_uint8(x_1, 7); if (x_3 == 0) { lean_object* x_123; -x_123 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__19; +x_123 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__19; x_13 = x_123; goto block_122; } else { lean_object* x_124; -x_124 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__20; +x_124 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__20; x_13 = x_124; goto block_122; } block_122: { 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; -x_14 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__4; +x_14 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__4; x_15 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_15, 0, x_14); lean_ctor_set(x_15, 1, x_13); @@ -20096,7 +20040,7 @@ x_18 = lean_box(1); x_19 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_19, 0, x_17); lean_ctor_set(x_19, 1, x_18); -x_20 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__6; +x_20 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__6; x_21 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_21, 0, x_19); lean_ctor_set(x_21, 1, x_20); @@ -20107,14 +20051,14 @@ lean_ctor_set(x_23, 1, x_22); if (x_4 == 0) { lean_object* x_120; -x_120 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__19; +x_120 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__19; x_24 = x_120; goto block_119; } else { lean_object* x_121; -x_121 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__20; +x_121 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__20; x_24 = x_121; goto block_119; } @@ -20130,7 +20074,7 @@ lean_ctor_set(x_26, 1, x_16); x_27 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_27, 0, x_26); lean_ctor_set(x_27, 1, x_18); -x_28 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__8; +x_28 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__8; x_29 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_29, 0, x_27); lean_ctor_set(x_29, 1, x_28); @@ -20140,14 +20084,14 @@ lean_ctor_set(x_30, 1, x_22); if (x_5 == 0) { lean_object* x_117; -x_117 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__19; +x_117 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__19; x_31 = x_117; goto block_116; } else { lean_object* x_118; -x_118 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__20; +x_118 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__20; x_31 = x_118; goto block_116; } @@ -20163,7 +20107,7 @@ lean_ctor_set(x_33, 1, x_16); x_34 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_34, 0, x_33); lean_ctor_set(x_34, 1, x_18); -x_35 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__10; +x_35 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__10; x_36 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_36, 0, x_34); lean_ctor_set(x_36, 1, x_35); @@ -20179,7 +20123,7 @@ lean_ctor_set(x_39, 1, x_16); x_40 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_40, 0, x_39); lean_ctor_set(x_40, 1, x_18); -x_41 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__12; +x_41 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__12; x_42 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_42, 0, x_40); lean_ctor_set(x_42, 1, x_41); @@ -20189,14 +20133,14 @@ lean_ctor_set(x_43, 1, x_22); if (x_9 == 0) { lean_object* x_114; -x_114 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__19; +x_114 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__19; x_44 = x_114; goto block_113; } else { lean_object* x_115; -x_115 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__20; +x_115 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__20; x_44 = x_115; goto block_113; } @@ -20212,7 +20156,7 @@ lean_ctor_set(x_46, 1, x_16); x_47 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_47, 0, x_46); lean_ctor_set(x_47, 1, x_18); -x_48 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__14; +x_48 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__14; x_49 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_49, 0, x_47); lean_ctor_set(x_49, 1, x_48); @@ -20222,14 +20166,14 @@ lean_ctor_set(x_50, 1, x_22); if (x_10 == 0) { lean_object* x_111; -x_111 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__19; +x_111 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__19; x_51 = x_111; goto block_110; } else { lean_object* x_112; -x_112 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__20; +x_112 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__20; x_51 = x_112; goto block_110; } @@ -20245,7 +20189,7 @@ lean_ctor_set(x_53, 1, x_16); x_54 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_54, 0, x_53); lean_ctor_set(x_54, 1, x_18); -x_55 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__16; +x_55 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__16; x_56 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_56, 0, x_54); lean_ctor_set(x_56, 1, x_55); @@ -20255,7 +20199,7 @@ lean_ctor_set(x_57, 1, x_22); if (x_11 == 0) { lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; -x_58 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__19; +x_58 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__19; x_59 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_59, 0, x_57); lean_ctor_set(x_59, 1, x_58); @@ -20265,7 +20209,7 @@ lean_ctor_set(x_60, 1, x_16); x_61 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_61, 0, x_60); lean_ctor_set(x_61, 1, x_18); -x_62 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__18; +x_62 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__18; x_63 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_63, 0, x_61); lean_ctor_set(x_63, 1, x_62); @@ -20299,7 +20243,7 @@ return x_73; else { lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; uint8_t x_82; lean_object* x_83; -x_74 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__20; +x_74 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__20; x_75 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_75, 0, x_64); lean_ctor_set(x_75, 1, x_74); @@ -20325,7 +20269,7 @@ return x_83; else { lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; -x_84 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__20; +x_84 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__20; x_85 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_85, 0, x_57); lean_ctor_set(x_85, 1, x_84); @@ -20335,7 +20279,7 @@ lean_ctor_set(x_86, 1, x_16); x_87 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_87, 0, x_86); lean_ctor_set(x_87, 1, x_18); -x_88 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__18; +x_88 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__18; x_89 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_89, 0, x_87); lean_ctor_set(x_89, 1, x_88); @@ -20345,7 +20289,7 @@ lean_ctor_set(x_90, 1, x_22); if (x_12 == 0) { lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; uint8_t x_99; lean_object* x_100; -x_91 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__19; +x_91 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__19; x_92 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_92, 0, x_90); lean_ctor_set(x_92, 1, x_91); @@ -20399,11 +20343,11 @@ return x_109; } } } -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____boxed(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075_(x_1, x_2); +x_3 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086_(x_1, x_2); lean_dec(x_2); lean_dec(x_1); return x_3; @@ -20413,7 +20357,7 @@ static lean_object* _init_l_Lean_Meta_DSimp_instReprConfig___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____boxed), 2, 0); +x_1 = lean_alloc_closure((void*)(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____boxed), 2, 0); return x_1; } } @@ -20587,7 +20531,7 @@ x_1 = l_Lean_Meta_Simp_instInhabitedConfig___closed__1; return x_1; } } -LEAN_EXPORT uint8_t l___private_Init_Meta_0__Lean_Meta_Simp_beqConfig____x40_Init_Meta___hyg_11362_(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT uint8_t l___private_Init_Meta_0__Lean_Meta_Simp_beqConfig____x40_Init_Meta___hyg_11373_(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; uint8_t x_5; uint8_t x_6; uint8_t x_7; uint8_t x_8; uint8_t x_9; uint8_t x_10; uint8_t x_11; uint8_t x_12; uint8_t x_13; uint8_t x_14; uint8_t x_15; uint8_t x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; uint8_t x_21; uint8_t x_22; uint8_t x_23; uint8_t x_24; uint8_t x_25; uint8_t x_26; uint8_t x_27; uint8_t x_28; uint8_t x_29; uint8_t x_30; uint8_t x_31; uint8_t x_32; lean_object* x_33; lean_object* x_37; lean_object* x_43; lean_object* x_49; lean_object* x_55; lean_object* x_61; lean_object* x_69; lean_object* x_75; lean_object* x_81; lean_object* x_87; lean_object* x_93; uint8_t x_99; @@ -20845,7 +20789,7 @@ block_68: { uint8_t x_62; lean_dec(x_61); -x_62 = l___private_Init_Meta_0__Lean_Meta_beqEtaStructMode____x40_Init_Meta___hyg_10679_(x_11, x_26); +x_62 = l___private_Init_Meta_0__Lean_Meta_beqEtaStructMode____x40_Init_Meta___hyg_10690_(x_11, x_26); if (x_62 == 0) { uint8_t x_63; @@ -21070,11 +21014,11 @@ goto block_92; } } } -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_beqConfig____x40_Init_Meta___hyg_11362____boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_beqConfig____x40_Init_Meta___hyg_11373____boxed(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; lean_object* x_4; -x_3 = l___private_Init_Meta_0__Lean_Meta_Simp_beqConfig____x40_Init_Meta___hyg_11362_(x_1, x_2); +x_3 = l___private_Init_Meta_0__Lean_Meta_Simp_beqConfig____x40_Init_Meta___hyg_11373_(x_1, x_2); lean_dec(x_2); lean_dec(x_1); x_4 = lean_box(x_3); @@ -21085,7 +21029,7 @@ static lean_object* _init_l_Lean_Meta_Simp_instBEqConfig___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l___private_Init_Meta_0__Lean_Meta_Simp_beqConfig____x40_Init_Meta___hyg_11362____boxed), 2, 0); +x_1 = lean_alloc_closure((void*)(l___private_Init_Meta_0__Lean_Meta_Simp_beqConfig____x40_Init_Meta___hyg_11373____boxed), 2, 0); return x_1; } } @@ -21097,7 +21041,7 @@ x_1 = l_Lean_Meta_Simp_instBEqConfig___closed__1; return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__1() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__1() { _start: { lean_object* x_1; @@ -21105,33 +21049,33 @@ x_1 = lean_mk_string_from_bytes("maxSteps", 8); return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__2() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__1; +x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__1; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__3() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__2; +x_2 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__2; x_3 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__4() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__3; +x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__3; x_2 = l___private_Init_Meta_0__Lean_Syntax_reprTSyntax____x40_Init_Meta___hyg_2253____rarg___closed__5; x_3 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -21139,7 +21083,7 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__5() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__5() { _start: { lean_object* x_1; @@ -21147,17 +21091,17 @@ x_1 = lean_mk_string_from_bytes("maxDischargeDepth", 17); return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__6() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__6() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__5; +x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__5; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__7() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__7() { _start: { lean_object* x_1; @@ -21165,17 +21109,17 @@ x_1 = lean_mk_string_from_bytes("contextual", 10); return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__8() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__8() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__7; +x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__7; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__9() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__9() { _start: { lean_object* x_1; @@ -21183,17 +21127,17 @@ x_1 = lean_mk_string_from_bytes("memoize", 7); return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__10() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__10() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__9; +x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__9; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__11() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__11() { _start: { lean_object* x_1; @@ -21201,17 +21145,17 @@ x_1 = lean_mk_string_from_bytes("singlePass", 10); return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__12() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__12() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__11; +x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__11; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__13() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__13() { _start: { lean_object* x_1; @@ -21219,17 +21163,17 @@ x_1 = lean_mk_string_from_bytes("arith", 5); return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__14() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__14() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__13; +x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__13; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__15() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__15() { _start: { lean_object* x_1; @@ -21237,17 +21181,17 @@ x_1 = lean_mk_string_from_bytes("dsimp", 5); return x_1; } } -static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__16() { +static lean_object* _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__16() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__15; +x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__15; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643_(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654_(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; 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; uint8_t x_25; uint8_t x_26; uint8_t x_27; uint8_t x_28; uint8_t x_29; uint8_t x_30; uint8_t x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34; uint8_t x_35; uint8_t x_36; uint8_t x_37; uint8_t x_38; uint8_t x_39; lean_object* x_40; @@ -21256,7 +21200,7 @@ lean_inc(x_3); x_4 = l_Nat_repr(x_3); x_5 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_5, 0, x_4); -x_6 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__4; +x_6 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__4; x_7 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_7, 0, x_6); lean_ctor_set(x_7, 1, x_5); @@ -21268,7 +21212,7 @@ x_10 = lean_box(1); x_11 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_11, 0, x_9); lean_ctor_set(x_11, 1, x_10); -x_12 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__6; +x_12 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__6; x_13 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_13, 0, x_11); lean_ctor_set(x_13, 1, x_12); @@ -21290,7 +21234,7 @@ lean_ctor_set(x_20, 1, x_8); x_21 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_21, 0, x_20); lean_ctor_set(x_21, 1, x_10); -x_22 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__8; +x_22 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__8; x_23 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_23, 0, x_21); lean_ctor_set(x_23, 1, x_22); @@ -21305,7 +21249,7 @@ x_29 = lean_ctor_get_uint8(x_1, sizeof(void*)*2 + 4); x_30 = lean_ctor_get_uint8(x_1, sizeof(void*)*2 + 5); x_31 = lean_ctor_get_uint8(x_1, sizeof(void*)*2 + 6); x_32 = lean_unsigned_to_nat(0u); -x_33 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695_(x_31, x_32); +x_33 = l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706_(x_31, x_32); x_34 = lean_ctor_get_uint8(x_1, sizeof(void*)*2 + 7); x_35 = lean_ctor_get_uint8(x_1, sizeof(void*)*2 + 8); x_36 = lean_ctor_get_uint8(x_1, sizeof(void*)*2 + 9); @@ -21316,14 +21260,14 @@ lean_dec(x_1); if (x_25 == 0) { lean_object* x_196; -x_196 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__19; +x_196 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__19; x_40 = x_196; goto block_195; } else { lean_object* x_197; -x_197 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__20; +x_197 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__20; x_40 = x_197; goto block_195; } @@ -21339,7 +21283,7 @@ lean_ctor_set(x_42, 1, x_8); x_43 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_43, 0, x_42); lean_ctor_set(x_43, 1, x_10); -x_44 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__10; +x_44 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__10; x_45 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_45, 0, x_43); lean_ctor_set(x_45, 1, x_44); @@ -21349,14 +21293,14 @@ lean_ctor_set(x_46, 1, x_14); if (x_26 == 0) { lean_object* x_193; -x_193 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__19; +x_193 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__19; x_47 = x_193; goto block_192; } else { lean_object* x_194; -x_194 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__20; +x_194 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__20; x_47 = x_194; goto block_192; } @@ -21372,7 +21316,7 @@ lean_ctor_set(x_49, 1, x_8); x_50 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_50, 0, x_49); lean_ctor_set(x_50, 1, x_10); -x_51 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__12; +x_51 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__12; x_52 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_52, 0, x_50); lean_ctor_set(x_52, 1, x_51); @@ -21382,14 +21326,14 @@ lean_ctor_set(x_53, 1, x_14); if (x_27 == 0) { lean_object* x_190; -x_190 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__19; +x_190 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__19; x_54 = x_190; goto block_189; } else { lean_object* x_191; -x_191 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__20; +x_191 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__20; x_54 = x_191; goto block_189; } @@ -21405,7 +21349,7 @@ lean_ctor_set(x_56, 1, x_8); x_57 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_57, 0, x_56); lean_ctor_set(x_57, 1, x_10); -x_58 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__2; +x_58 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__2; x_59 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_59, 0, x_57); lean_ctor_set(x_59, 1, x_58); @@ -21415,14 +21359,14 @@ lean_ctor_set(x_60, 1, x_14); if (x_28 == 0) { lean_object* x_187; -x_187 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__19; +x_187 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__19; x_61 = x_187; goto block_186; } else { lean_object* x_188; -x_188 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__20; +x_188 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__20; x_61 = x_188; goto block_186; } @@ -21438,7 +21382,7 @@ lean_ctor_set(x_63, 1, x_8); x_64 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_64, 0, x_63); lean_ctor_set(x_64, 1, x_10); -x_65 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__6; +x_65 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__6; x_66 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_66, 0, x_64); lean_ctor_set(x_66, 1, x_65); @@ -21448,14 +21392,14 @@ lean_ctor_set(x_67, 1, x_14); if (x_29 == 0) { lean_object* x_184; -x_184 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__19; +x_184 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__19; x_68 = x_184; goto block_183; } else { lean_object* x_185; -x_185 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__20; +x_185 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__20; x_68 = x_185; goto block_183; } @@ -21471,7 +21415,7 @@ lean_ctor_set(x_70, 1, x_8); x_71 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_71, 0, x_70); lean_ctor_set(x_71, 1, x_10); -x_72 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__8; +x_72 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__8; x_73 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_73, 0, x_71); lean_ctor_set(x_73, 1, x_72); @@ -21481,14 +21425,14 @@ lean_ctor_set(x_74, 1, x_14); if (x_30 == 0) { lean_object* x_181; -x_181 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__19; +x_181 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__19; x_75 = x_181; goto block_180; } else { lean_object* x_182; -x_182 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__20; +x_182 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__20; x_75 = x_182; goto block_180; } @@ -21504,7 +21448,7 @@ lean_ctor_set(x_77, 1, x_8); x_78 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_78, 0, x_77); lean_ctor_set(x_78, 1, x_10); -x_79 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__10; +x_79 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__10; x_80 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_80, 0, x_78); lean_ctor_set(x_80, 1, x_79); @@ -21520,7 +21464,7 @@ lean_ctor_set(x_83, 1, x_8); x_84 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_84, 0, x_83); lean_ctor_set(x_84, 1, x_10); -x_85 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__12; +x_85 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__12; x_86 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_86, 0, x_84); lean_ctor_set(x_86, 1, x_85); @@ -21530,14 +21474,14 @@ lean_ctor_set(x_87, 1, x_14); if (x_34 == 0) { lean_object* x_178; -x_178 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__19; +x_178 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__19; x_88 = x_178; goto block_177; } else { lean_object* x_179; -x_179 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__20; +x_179 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__20; x_88 = x_179; goto block_177; } @@ -21553,7 +21497,7 @@ lean_ctor_set(x_90, 1, x_8); x_91 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_91, 0, x_90); lean_ctor_set(x_91, 1, x_10); -x_92 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__14; +x_92 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__14; x_93 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_93, 0, x_91); lean_ctor_set(x_93, 1, x_92); @@ -21563,14 +21507,14 @@ lean_ctor_set(x_94, 1, x_14); if (x_35 == 0) { lean_object* x_175; -x_175 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__19; +x_175 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__19; x_95 = x_175; goto block_174; } else { lean_object* x_176; -x_176 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__20; +x_176 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__20; x_95 = x_176; goto block_174; } @@ -21586,7 +21530,7 @@ lean_ctor_set(x_97, 1, x_8); x_98 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_98, 0, x_97); lean_ctor_set(x_98, 1, x_10); -x_99 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__16; +x_99 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__16; x_100 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_100, 0, x_98); lean_ctor_set(x_100, 1, x_99); @@ -21596,14 +21540,14 @@ lean_ctor_set(x_101, 1, x_14); if (x_36 == 0) { lean_object* x_172; -x_172 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__19; +x_172 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__19; x_102 = x_172; goto block_171; } else { lean_object* x_173; -x_173 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__20; +x_173 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__20; x_102 = x_173; goto block_171; } @@ -21619,7 +21563,7 @@ lean_ctor_set(x_104, 1, x_8); x_105 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_105, 0, x_104); lean_ctor_set(x_105, 1, x_10); -x_106 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__14; +x_106 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__14; x_107 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_107, 0, x_105); lean_ctor_set(x_107, 1, x_106); @@ -21629,14 +21573,14 @@ lean_ctor_set(x_108, 1, x_14); if (x_37 == 0) { lean_object* x_169; -x_169 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__19; +x_169 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__19; x_109 = x_169; goto block_168; } else { lean_object* x_170; -x_170 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__20; +x_170 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__20; x_109 = x_170; goto block_168; } @@ -21652,7 +21596,7 @@ lean_ctor_set(x_111, 1, x_8); x_112 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_112, 0, x_111); lean_ctor_set(x_112, 1, x_10); -x_113 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__18; +x_113 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__18; x_114 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_114, 0, x_112); lean_ctor_set(x_114, 1, x_113); @@ -21662,7 +21606,7 @@ lean_ctor_set(x_115, 1, x_14); if (x_38 == 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; lean_object* x_122; -x_116 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__19; +x_116 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__19; x_117 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_117, 0, x_115); lean_ctor_set(x_117, 1, x_116); @@ -21672,7 +21616,7 @@ lean_ctor_set(x_118, 1, x_8); x_119 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_119, 0, x_118); lean_ctor_set(x_119, 1, x_10); -x_120 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__16; +x_120 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__16; x_121 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_121, 0, x_119); lean_ctor_set(x_121, 1, x_120); @@ -21706,7 +21650,7 @@ return x_131; else { lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; uint8_t x_140; lean_object* x_141; -x_132 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__20; +x_132 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__20; x_133 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_133, 0, x_122); lean_ctor_set(x_133, 1, x_132); @@ -21732,7 +21676,7 @@ return x_141; else { lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; -x_142 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__20; +x_142 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__20; x_143 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_143, 0, x_115); lean_ctor_set(x_143, 1, x_142); @@ -21742,7 +21686,7 @@ lean_ctor_set(x_144, 1, x_8); x_145 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_145, 0, x_144); lean_ctor_set(x_145, 1, x_10); -x_146 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__16; +x_146 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__16; x_147 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_147, 0, x_145); lean_ctor_set(x_147, 1, x_146); @@ -21752,7 +21696,7 @@ lean_ctor_set(x_148, 1, x_14); if (x_39 == 0) { lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; uint8_t x_157; lean_object* x_158; -x_149 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__19; +x_149 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__19; x_150 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_150, 0, x_148); lean_ctor_set(x_150, 1, x_149); @@ -21811,11 +21755,11 @@ return x_167; } } } -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____boxed(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643_(x_1, x_2); +x_3 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654_(x_1, x_2); lean_dec(x_2); return x_3; } @@ -21824,7 +21768,7 @@ static lean_object* _init_l_Lean_Meta_Simp_instReprConfig___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____boxed), 2, 0); +x_1 = lean_alloc_closure((void*)(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____boxed), 2, 0); return x_1; } } @@ -22921,7 +22865,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_dsimpKind___closed__3() { _start: { lean_object* x_1; uint8_t x_2; lean_object* x_3; -x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__15; +x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__15; x_2 = 0; x_3 = lean_alloc_ctor(6, 1, 1); lean_ctor_set(x_3, 0, x_1); @@ -26633,7 +26577,7 @@ static lean_object* _init_l_Lean_Parser_Tactic___aux__Init__Meta______macroRules _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__15; +x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__15; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } @@ -26642,7 +26586,7 @@ static lean_object* _init_l_Lean_Parser_Tactic___aux__Init__Meta______macroRules _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__15; +x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__15; x_2 = lean_unsigned_to_nat(0u); x_3 = l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__declareSimpLikeTactic__1___closed__3; x_4 = lean_alloc_ctor(0, 3, 0); @@ -26657,7 +26601,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__15; +x_2 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__15; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } @@ -26667,7 +26611,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Tactic_tacticErw_______closed__2; -x_2 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__15; +x_2 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__15; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } @@ -29814,7 +29758,7 @@ x_1 = l_Lean_Parser_Tactic_simpAutoUnfold___closed__25; return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____lambda__1___closed__1() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____lambda__1___closed__1() { _start: { lean_object* x_1; @@ -29822,7 +29766,7 @@ x_1 = lean_mk_string_from_bytes("simp ", 5); return x_1; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; 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; @@ -29830,7 +29774,7 @@ x_5 = l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tact x_6 = l_Lean_Syntax_setKind(x_1, x_5); x_7 = lean_unsigned_to_nat(0u); x_8 = l_Lean_Syntax_getArg(x_6, x_7); -x_9 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____lambda__1___closed__1; +x_9 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____lambda__1___closed__1; x_10 = l_Lean_mkAtomFrom(x_8, x_9); x_11 = l_Lean_Syntax_setArg(x_6, x_7, x_10); x_12 = l_Lean_mkOptionalNode___closed__2; @@ -29849,7 +29793,7 @@ lean_ctor_set(x_19, 1, x_4); return x_19; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__1() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -29859,7 +29803,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__2() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -29869,7 +29813,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__3() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__3() { _start: { lean_object* x_1; @@ -29877,22 +29821,22 @@ x_1 = lean_mk_string_from_bytes("Lean.Meta.Simp.Config", 21); return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__4() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__3; +x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__3; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__5() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__3; +x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__3; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__4; +x_3 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__4; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -29900,7 +29844,7 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__6() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__6() { _start: { lean_object* x_1; @@ -29908,17 +29852,17 @@ x_1 = lean_mk_string_from_bytes("Meta", 4); return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__7() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Array_mapMUnsafe_map___at_Lean_expandMacros___spec__1___lambda__1___closed__2; -x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__6; +x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__6; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__8() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__8() { _start: { lean_object* x_1; @@ -29926,17 +29870,17 @@ x_1 = lean_mk_string_from_bytes("Simp", 4); return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__9() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__7; -x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__8; +x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__7; +x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__8; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__10() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__10() { _start: { lean_object* x_1; @@ -29944,78 +29888,78 @@ x_1 = lean_mk_string_from_bytes("Config", 6); return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__11() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__9; -x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__10; +x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__9; +x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__10; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__12() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__11; +x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__11; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__13() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__13() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__11; +x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__11; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__14() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__14() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__13; +x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__13; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__15() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__15() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__12; -x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__14; +x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__12; +x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__14; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__16() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__16() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__17; +x_1 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__17; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__17() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__17() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__17; +x_1 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__17; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__16; +x_3 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__16; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -30023,17 +29967,17 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__18() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__18() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__17; +x_2 = l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__17; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__19() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__19() { _start: { lean_object* x_1; lean_object* x_2; @@ -30042,13 +29986,13 @@ x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__20() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__20() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_instQuoteBoolStrAnonymous___closed__6; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__19; +x_3 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__19; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -30056,7 +30000,7 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__21() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__21() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -30066,7 +30010,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__22() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__22() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -30078,19 +30022,19 @@ lean_ctor_set(x_3, 1, x_1); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__23() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__23() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__22; +x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__22; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214_(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; uint8_t x_9; @@ -30154,12 +30098,12 @@ lean_inc(x_11); x_29 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_29, 0, x_11); lean_ctor_set(x_29, 1, x_28); -x_30 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__11; +x_30 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__11; lean_inc(x_13); lean_inc(x_14); x_31 = l_Lean_addMacroScope(x_14, x_30, x_13); -x_32 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__5; -x_33 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__15; +x_32 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__5; +x_33 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__15; lean_inc(x_11); x_34 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_34, 0, x_11); @@ -30248,11 +30192,11 @@ x_69 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_69, 0, x_11); lean_ctor_set(x_69, 1, x_42); lean_ctor_set(x_69, 2, x_68); -x_70 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__18; +x_70 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__18; lean_inc(x_13); lean_inc(x_14); x_71 = l_Lean_addMacroScope(x_14, x_70, x_13); -x_72 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__17; +x_72 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__17; lean_inc(x_11); x_73 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_73, 0, x_11); @@ -30268,10 +30212,10 @@ x_77 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_77, 0, x_11); lean_ctor_set(x_77, 1, x_76); lean_ctor_set(x_77, 2, x_75); -x_78 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__21; +x_78 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__21; x_79 = l_Lean_addMacroScope(x_14, x_78, x_13); -x_80 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__20; -x_81 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__23; +x_80 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__20; +x_81 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__23; lean_inc(x_11); x_82 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_82, 0, x_11); @@ -30331,7 +30275,7 @@ lean_inc(x_58); x_106 = lean_array_push(x_105, x_58); x_107 = lean_array_push(x_106, x_60); x_108 = lean_array_push(x_107, x_103); -x_109 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__2; +x_109 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__2; lean_inc(x_11); x_110 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_110, 0, x_11); @@ -30339,7 +30283,7 @@ lean_ctor_set(x_110, 1, x_109); lean_ctor_set(x_110, 2, x_108); x_111 = lean_array_push(x_35, x_22); x_112 = lean_array_push(x_111, x_110); -x_113 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__1; +x_113 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__1; lean_inc(x_11); x_114 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_114, 0, x_11); @@ -30398,7 +30342,7 @@ x_141 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_141, 0, x_11); lean_ctor_set(x_141, 1, x_8); lean_ctor_set(x_141, 2, x_140); -x_142 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____lambda__1(x_1, x_141, x_2, x_12); +x_142 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____lambda__1(x_1, x_141, x_2, x_12); lean_dec(x_2); return x_142; } @@ -30456,12 +30400,12 @@ lean_inc(x_146); x_164 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_164, 0, x_146); lean_ctor_set(x_164, 1, x_163); -x_165 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__11; +x_165 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__11; lean_inc(x_148); lean_inc(x_149); x_166 = l_Lean_addMacroScope(x_149, x_165, x_148); -x_167 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__5; -x_168 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__15; +x_167 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__5; +x_168 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__15; lean_inc(x_146); x_169 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_169, 0, x_146); @@ -30550,11 +30494,11 @@ x_204 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_204, 0, x_146); lean_ctor_set(x_204, 1, x_177); lean_ctor_set(x_204, 2, x_203); -x_205 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__18; +x_205 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__18; lean_inc(x_148); lean_inc(x_149); x_206 = l_Lean_addMacroScope(x_149, x_205, x_148); -x_207 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__17; +x_207 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__17; lean_inc(x_146); x_208 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_208, 0, x_146); @@ -30570,10 +30514,10 @@ x_212 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_212, 0, x_146); lean_ctor_set(x_212, 1, x_211); lean_ctor_set(x_212, 2, x_210); -x_213 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__21; +x_213 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__21; x_214 = l_Lean_addMacroScope(x_149, x_213, x_148); -x_215 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__20; -x_216 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__23; +x_215 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__20; +x_216 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__23; lean_inc(x_146); x_217 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_217, 0, x_146); @@ -30628,7 +30572,7 @@ x_240 = lean_array_push(x_239, x_191); x_241 = lean_array_push(x_240, x_193); x_242 = lean_array_push(x_241, x_195); x_243 = lean_array_push(x_242, x_238); -x_244 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__2; +x_244 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__2; lean_inc(x_146); x_245 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_245, 0, x_146); @@ -30636,7 +30580,7 @@ lean_ctor_set(x_245, 1, x_244); lean_ctor_set(x_245, 2, x_243); x_246 = lean_array_push(x_170, x_157); x_247 = lean_array_push(x_246, x_245); -x_248 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__1; +x_248 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__1; lean_inc(x_146); x_249 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_249, 0, x_146); @@ -30666,17 +30610,17 @@ x_262 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_262, 0, x_146); lean_ctor_set(x_262, 1, x_8); lean_ctor_set(x_262, 2, x_261); -x_263 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____lambda__1(x_1, x_262, x_2, x_147); +x_263 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____lambda__1(x_1, x_262, x_2, x_147); lean_dec(x_2); return x_263; } } } -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; -x_5 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____lambda__1(x_1, x_2, x_3, x_4); +x_5 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____lambda__1(x_1, x_2, x_3, x_4); lean_dec(x_3); return x_5; } @@ -30811,22 +30755,22 @@ x_1 = l_Lean_Parser_Tactic_simpArith___closed__10; return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__1() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__1() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__13; +x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__13; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__2() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__13; +x_1 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__13; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__1; +x_3 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__1; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -30834,17 +30778,17 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__3() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__13; +x_2 = l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__13; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185_(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; uint8_t x_9; @@ -30908,12 +30852,12 @@ lean_inc(x_11); x_29 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_29, 0, x_11); lean_ctor_set(x_29, 1, x_28); -x_30 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__11; +x_30 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__11; lean_inc(x_13); lean_inc(x_14); x_31 = l_Lean_addMacroScope(x_14, x_30, x_13); -x_32 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__5; -x_33 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__15; +x_32 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__5; +x_33 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__15; lean_inc(x_11); x_34 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_34, 0, x_11); @@ -31002,11 +30946,11 @@ x_69 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_69, 0, x_11); lean_ctor_set(x_69, 1, x_42); lean_ctor_set(x_69, 2, x_68); -x_70 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__3; +x_70 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__3; lean_inc(x_13); lean_inc(x_14); x_71 = l_Lean_addMacroScope(x_14, x_70, x_13); -x_72 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__2; +x_72 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__2; lean_inc(x_11); x_73 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_73, 0, x_11); @@ -31022,10 +30966,10 @@ x_77 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_77, 0, x_11); lean_ctor_set(x_77, 1, x_76); lean_ctor_set(x_77, 2, x_75); -x_78 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__21; +x_78 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__21; x_79 = l_Lean_addMacroScope(x_14, x_78, x_13); -x_80 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__20; -x_81 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__23; +x_80 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__20; +x_81 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__23; lean_inc(x_11); x_82 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_82, 0, x_11); @@ -31085,7 +31029,7 @@ lean_inc(x_58); x_106 = lean_array_push(x_105, x_58); x_107 = lean_array_push(x_106, x_60); x_108 = lean_array_push(x_107, x_103); -x_109 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__2; +x_109 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__2; lean_inc(x_11); x_110 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_110, 0, x_11); @@ -31093,7 +31037,7 @@ lean_ctor_set(x_110, 1, x_109); lean_ctor_set(x_110, 2, x_108); x_111 = lean_array_push(x_35, x_22); x_112 = lean_array_push(x_111, x_110); -x_113 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__1; +x_113 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__1; lean_inc(x_11); x_114 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_114, 0, x_11); @@ -31152,7 +31096,7 @@ x_141 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_141, 0, x_11); lean_ctor_set(x_141, 1, x_8); lean_ctor_set(x_141, 2, x_140); -x_142 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____lambda__1(x_1, x_141, x_2, x_12); +x_142 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____lambda__1(x_1, x_141, x_2, x_12); lean_dec(x_2); return x_142; } @@ -31210,12 +31154,12 @@ lean_inc(x_146); x_164 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_164, 0, x_146); lean_ctor_set(x_164, 1, x_163); -x_165 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__11; +x_165 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__11; lean_inc(x_148); lean_inc(x_149); x_166 = l_Lean_addMacroScope(x_149, x_165, x_148); -x_167 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__5; -x_168 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__15; +x_167 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__5; +x_168 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__15; lean_inc(x_146); x_169 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_169, 0, x_146); @@ -31304,11 +31248,11 @@ x_204 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_204, 0, x_146); lean_ctor_set(x_204, 1, x_177); lean_ctor_set(x_204, 2, x_203); -x_205 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__3; +x_205 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__3; lean_inc(x_148); lean_inc(x_149); x_206 = l_Lean_addMacroScope(x_149, x_205, x_148); -x_207 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__2; +x_207 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__2; lean_inc(x_146); x_208 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_208, 0, x_146); @@ -31324,10 +31268,10 @@ x_212 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_212, 0, x_146); lean_ctor_set(x_212, 1, x_211); lean_ctor_set(x_212, 2, x_210); -x_213 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__21; +x_213 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__21; x_214 = l_Lean_addMacroScope(x_149, x_213, x_148); -x_215 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__20; -x_216 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__23; +x_215 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__20; +x_216 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__23; lean_inc(x_146); x_217 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_217, 0, x_146); @@ -31382,7 +31326,7 @@ x_240 = lean_array_push(x_239, x_191); x_241 = lean_array_push(x_240, x_193); x_242 = lean_array_push(x_241, x_195); x_243 = lean_array_push(x_242, x_238); -x_244 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__2; +x_244 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__2; lean_inc(x_146); x_245 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_245, 0, x_146); @@ -31390,7 +31334,7 @@ lean_ctor_set(x_245, 1, x_244); lean_ctor_set(x_245, 2, x_243); x_246 = lean_array_push(x_170, x_157); x_247 = lean_array_push(x_246, x_245); -x_248 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__1; +x_248 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__1; lean_inc(x_146); x_249 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_249, 0, x_146); @@ -31420,7 +31364,7 @@ x_262 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_262, 0, x_146); lean_ctor_set(x_262, 1, x_8); lean_ctor_set(x_262, 2, x_261); -x_263 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____lambda__1(x_1, x_262, x_2, x_147); +x_263 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____lambda__1(x_1, x_262, x_2, x_147); lean_dec(x_2); return x_263; } @@ -31556,7 +31500,7 @@ x_1 = l_Lean_Parser_Tactic_simpArithAutoUnfold___closed__10; return x_1; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_18145_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_18156_(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; uint8_t x_9; @@ -31620,12 +31564,12 @@ lean_inc(x_11); x_29 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_29, 0, x_11); lean_ctor_set(x_29, 1, x_28); -x_30 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__11; +x_30 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__11; lean_inc(x_13); lean_inc(x_14); x_31 = l_Lean_addMacroScope(x_14, x_30, x_13); -x_32 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__5; -x_33 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__15; +x_32 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__5; +x_33 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__15; lean_inc(x_11); x_34 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_34, 0, x_11); @@ -31714,11 +31658,11 @@ x_69 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_69, 0, x_11); lean_ctor_set(x_69, 1, x_42); lean_ctor_set(x_69, 2, x_68); -x_70 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__3; +x_70 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__3; lean_inc(x_13); lean_inc(x_14); x_71 = l_Lean_addMacroScope(x_14, x_70, x_13); -x_72 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__2; +x_72 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__2; lean_inc(x_11); x_73 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_73, 0, x_11); @@ -31734,12 +31678,12 @@ x_77 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_77, 0, x_11); lean_ctor_set(x_77, 1, x_76); lean_ctor_set(x_77, 2, x_75); -x_78 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__21; +x_78 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__21; lean_inc(x_13); lean_inc(x_14); x_79 = l_Lean_addMacroScope(x_14, x_78, x_13); -x_80 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__20; -x_81 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__23; +x_80 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__20; +x_81 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__23; lean_inc(x_11); x_82 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_82, 0, x_11); @@ -31762,9 +31706,9 @@ lean_inc(x_11); x_89 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_89, 0, x_11); lean_ctor_set(x_89, 1, x_88); -x_90 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__18; +x_90 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__18; x_91 = l_Lean_addMacroScope(x_14, x_90, x_13); -x_92 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__17; +x_92 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__17; lean_inc(x_11); x_93 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_93, 0, x_11); @@ -31833,7 +31777,7 @@ lean_inc(x_58); x_121 = lean_array_push(x_120, x_58); x_122 = lean_array_push(x_121, x_60); x_123 = lean_array_push(x_122, x_118); -x_124 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__2; +x_124 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__2; lean_inc(x_11); x_125 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_125, 0, x_11); @@ -31841,7 +31785,7 @@ lean_ctor_set(x_125, 1, x_124); lean_ctor_set(x_125, 2, x_123); x_126 = lean_array_push(x_35, x_22); x_127 = lean_array_push(x_126, x_125); -x_128 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__1; +x_128 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__1; lean_inc(x_11); x_129 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_129, 0, x_11); @@ -31900,7 +31844,7 @@ x_156 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_156, 0, x_11); lean_ctor_set(x_156, 1, x_8); lean_ctor_set(x_156, 2, x_155); -x_157 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____lambda__1(x_1, x_156, x_2, x_12); +x_157 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____lambda__1(x_1, x_156, x_2, x_12); lean_dec(x_2); return x_157; } @@ -31958,12 +31902,12 @@ lean_inc(x_161); x_179 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_179, 0, x_161); lean_ctor_set(x_179, 1, x_178); -x_180 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__11; +x_180 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__11; lean_inc(x_163); lean_inc(x_164); x_181 = l_Lean_addMacroScope(x_164, x_180, x_163); -x_182 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__5; -x_183 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__15; +x_182 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__5; +x_183 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__15; lean_inc(x_161); x_184 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_184, 0, x_161); @@ -32052,11 +31996,11 @@ x_219 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_219, 0, x_161); lean_ctor_set(x_219, 1, x_192); lean_ctor_set(x_219, 2, x_218); -x_220 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__3; +x_220 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__3; lean_inc(x_163); lean_inc(x_164); x_221 = l_Lean_addMacroScope(x_164, x_220, x_163); -x_222 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__2; +x_222 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__2; lean_inc(x_161); x_223 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_223, 0, x_161); @@ -32072,12 +32016,12 @@ x_227 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_227, 0, x_161); lean_ctor_set(x_227, 1, x_226); lean_ctor_set(x_227, 2, x_225); -x_228 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__21; +x_228 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__21; lean_inc(x_163); lean_inc(x_164); x_229 = l_Lean_addMacroScope(x_164, x_228, x_163); -x_230 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__20; -x_231 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__23; +x_230 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__20; +x_231 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__23; lean_inc(x_161); x_232 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_232, 0, x_161); @@ -32100,9 +32044,9 @@ lean_inc(x_161); x_239 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_239, 0, x_161); lean_ctor_set(x_239, 1, x_238); -x_240 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__18; +x_240 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__18; x_241 = l_Lean_addMacroScope(x_164, x_240, x_163); -x_242 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__17; +x_242 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__17; lean_inc(x_161); x_243 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_243, 0, x_161); @@ -32166,7 +32110,7 @@ x_270 = lean_array_push(x_269, x_206); x_271 = lean_array_push(x_270, x_208); x_272 = lean_array_push(x_271, x_210); x_273 = lean_array_push(x_272, x_268); -x_274 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__2; +x_274 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__2; lean_inc(x_161); x_275 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_275, 0, x_161); @@ -32174,7 +32118,7 @@ lean_ctor_set(x_275, 1, x_274); lean_ctor_set(x_275, 2, x_273); x_276 = lean_array_push(x_185, x_172); x_277 = lean_array_push(x_276, x_275); -x_278 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__1; +x_278 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__1; lean_inc(x_161); x_279 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_279, 0, x_161); @@ -32204,7 +32148,7 @@ x_292 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_292, 0, x_161); lean_ctor_set(x_292, 1, x_8); lean_ctor_set(x_292, 2, x_291); -x_293 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____lambda__1(x_1, x_292, x_2, x_162); +x_293 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____lambda__1(x_1, x_292, x_2, x_162); lean_dec(x_2); return x_293; } @@ -32382,7 +32326,7 @@ x_1 = l_Lean_Parser_Tactic_simpAllAutoUnfold___closed__13; return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____lambda__1___closed__1() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____lambda__1___closed__1() { _start: { lean_object* x_1; @@ -32390,7 +32334,7 @@ x_1 = lean_mk_string_from_bytes("simp_all ", 9); return x_1; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; 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; @@ -32398,7 +32342,7 @@ x_5 = l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tact x_6 = l_Lean_Syntax_setKind(x_1, x_5); x_7 = lean_unsigned_to_nat(0u); x_8 = l_Lean_Syntax_getArg(x_6, x_7); -x_9 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____lambda__1___closed__1; +x_9 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____lambda__1___closed__1; x_10 = l_Lean_mkAtomFrom(x_8, x_9); x_11 = l_Lean_Syntax_setArg(x_6, x_7, x_10); x_12 = l_Lean_mkOptionalNode___closed__2; @@ -32417,7 +32361,7 @@ lean_ctor_set(x_19, 1, x_4); return x_19; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__1() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__1() { _start: { lean_object* x_1; @@ -32425,22 +32369,22 @@ x_1 = lean_mk_string_from_bytes("Lean.Meta.Simp.ConfigCtx", 24); return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__2() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__1; +x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__1; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__3() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__1; +x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__1; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__2; +x_3 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__2; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -32448,7 +32392,7 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__4() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__4() { _start: { lean_object* x_1; @@ -32456,63 +32400,63 @@ x_1 = lean_mk_string_from_bytes("ConfigCtx", 9); return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__5() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__9; -x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__4; +x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__9; +x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__4; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__6() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__5; +x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__5; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__7() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__7() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__5; +x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__5; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__8() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__7; +x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__7; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__9() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__6; -x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__8; +x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__6; +x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__8; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235_(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; uint8_t x_9; @@ -32576,12 +32520,12 @@ lean_inc(x_11); x_29 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_29, 0, x_11); lean_ctor_set(x_29, 1, x_28); -x_30 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__5; +x_30 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__5; lean_inc(x_13); lean_inc(x_14); x_31 = l_Lean_addMacroScope(x_14, x_30, x_13); -x_32 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__3; -x_33 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__9; +x_32 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__3; +x_33 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__9; lean_inc(x_11); x_34 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_34, 0, x_11); @@ -32670,11 +32614,11 @@ x_69 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_69, 0, x_11); lean_ctor_set(x_69, 1, x_42); lean_ctor_set(x_69, 2, x_68); -x_70 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__18; +x_70 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__18; lean_inc(x_13); lean_inc(x_14); x_71 = l_Lean_addMacroScope(x_14, x_70, x_13); -x_72 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__17; +x_72 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__17; lean_inc(x_11); x_73 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_73, 0, x_11); @@ -32690,10 +32634,10 @@ x_77 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_77, 0, x_11); lean_ctor_set(x_77, 1, x_76); lean_ctor_set(x_77, 2, x_75); -x_78 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__21; +x_78 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__21; x_79 = l_Lean_addMacroScope(x_14, x_78, x_13); -x_80 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__20; -x_81 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__23; +x_80 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__20; +x_81 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__23; lean_inc(x_11); x_82 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_82, 0, x_11); @@ -32753,7 +32697,7 @@ lean_inc(x_58); x_106 = lean_array_push(x_105, x_58); x_107 = lean_array_push(x_106, x_60); x_108 = lean_array_push(x_107, x_103); -x_109 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__2; +x_109 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__2; lean_inc(x_11); x_110 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_110, 0, x_11); @@ -32761,7 +32705,7 @@ lean_ctor_set(x_110, 1, x_109); lean_ctor_set(x_110, 2, x_108); x_111 = lean_array_push(x_35, x_22); x_112 = lean_array_push(x_111, x_110); -x_113 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__1; +x_113 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__1; lean_inc(x_11); x_114 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_114, 0, x_11); @@ -32820,7 +32764,7 @@ x_141 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_141, 0, x_11); lean_ctor_set(x_141, 1, x_8); lean_ctor_set(x_141, 2, x_140); -x_142 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____lambda__1(x_1, x_141, x_2, x_12); +x_142 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____lambda__1(x_1, x_141, x_2, x_12); lean_dec(x_2); return x_142; } @@ -32878,12 +32822,12 @@ lean_inc(x_146); x_164 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_164, 0, x_146); lean_ctor_set(x_164, 1, x_163); -x_165 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__5; +x_165 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__5; lean_inc(x_148); lean_inc(x_149); x_166 = l_Lean_addMacroScope(x_149, x_165, x_148); -x_167 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__3; -x_168 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__9; +x_167 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__3; +x_168 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__9; lean_inc(x_146); x_169 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_169, 0, x_146); @@ -32972,11 +32916,11 @@ x_204 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_204, 0, x_146); lean_ctor_set(x_204, 1, x_177); lean_ctor_set(x_204, 2, x_203); -x_205 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__18; +x_205 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__18; lean_inc(x_148); lean_inc(x_149); x_206 = l_Lean_addMacroScope(x_149, x_205, x_148); -x_207 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__17; +x_207 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__17; lean_inc(x_146); x_208 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_208, 0, x_146); @@ -32992,10 +32936,10 @@ x_212 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_212, 0, x_146); lean_ctor_set(x_212, 1, x_211); lean_ctor_set(x_212, 2, x_210); -x_213 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__21; +x_213 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__21; x_214 = l_Lean_addMacroScope(x_149, x_213, x_148); -x_215 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__20; -x_216 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__23; +x_215 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__20; +x_216 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__23; lean_inc(x_146); x_217 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_217, 0, x_146); @@ -33050,7 +32994,7 @@ x_240 = lean_array_push(x_239, x_191); x_241 = lean_array_push(x_240, x_193); x_242 = lean_array_push(x_241, x_195); x_243 = lean_array_push(x_242, x_238); -x_244 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__2; +x_244 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__2; lean_inc(x_146); x_245 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_245, 0, x_146); @@ -33058,7 +33002,7 @@ lean_ctor_set(x_245, 1, x_244); lean_ctor_set(x_245, 2, x_243); x_246 = lean_array_push(x_170, x_157); x_247 = lean_array_push(x_246, x_245); -x_248 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__1; +x_248 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__1; lean_inc(x_146); x_249 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_249, 0, x_146); @@ -33088,17 +33032,17 @@ x_262 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_262, 0, x_146); lean_ctor_set(x_262, 1, x_8); lean_ctor_set(x_262, 2, x_261); -x_263 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____lambda__1(x_1, x_262, x_2, x_147); +x_263 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____lambda__1(x_1, x_262, x_2, x_147); lean_dec(x_2); return x_263; } } } -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; -x_5 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____lambda__1(x_1, x_2, x_3, x_4); +x_5 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____lambda__1(x_1, x_2, x_3, x_4); lean_dec(x_3); return x_5; } @@ -33219,7 +33163,7 @@ x_1 = l_Lean_Parser_Tactic_simpAllArith___closed__9; return x_1; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_20185_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_20196_(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; uint8_t x_9; @@ -33283,12 +33227,12 @@ lean_inc(x_11); x_29 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_29, 0, x_11); lean_ctor_set(x_29, 1, x_28); -x_30 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__5; +x_30 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__5; lean_inc(x_13); lean_inc(x_14); x_31 = l_Lean_addMacroScope(x_14, x_30, x_13); -x_32 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__3; -x_33 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__9; +x_32 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__3; +x_33 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__9; lean_inc(x_11); x_34 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_34, 0, x_11); @@ -33377,11 +33321,11 @@ x_69 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_69, 0, x_11); lean_ctor_set(x_69, 1, x_42); lean_ctor_set(x_69, 2, x_68); -x_70 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__3; +x_70 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__3; lean_inc(x_13); lean_inc(x_14); x_71 = l_Lean_addMacroScope(x_14, x_70, x_13); -x_72 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__2; +x_72 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__2; lean_inc(x_11); x_73 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_73, 0, x_11); @@ -33397,10 +33341,10 @@ x_77 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_77, 0, x_11); lean_ctor_set(x_77, 1, x_76); lean_ctor_set(x_77, 2, x_75); -x_78 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__21; +x_78 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__21; x_79 = l_Lean_addMacroScope(x_14, x_78, x_13); -x_80 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__20; -x_81 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__23; +x_80 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__20; +x_81 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__23; lean_inc(x_11); x_82 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_82, 0, x_11); @@ -33460,7 +33404,7 @@ lean_inc(x_58); x_106 = lean_array_push(x_105, x_58); x_107 = lean_array_push(x_106, x_60); x_108 = lean_array_push(x_107, x_103); -x_109 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__2; +x_109 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__2; lean_inc(x_11); x_110 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_110, 0, x_11); @@ -33468,7 +33412,7 @@ lean_ctor_set(x_110, 1, x_109); lean_ctor_set(x_110, 2, x_108); x_111 = lean_array_push(x_35, x_22); x_112 = lean_array_push(x_111, x_110); -x_113 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__1; +x_113 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__1; lean_inc(x_11); x_114 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_114, 0, x_11); @@ -33527,7 +33471,7 @@ x_141 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_141, 0, x_11); lean_ctor_set(x_141, 1, x_8); lean_ctor_set(x_141, 2, x_140); -x_142 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____lambda__1(x_1, x_141, x_2, x_12); +x_142 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____lambda__1(x_1, x_141, x_2, x_12); lean_dec(x_2); return x_142; } @@ -33585,12 +33529,12 @@ lean_inc(x_146); x_164 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_164, 0, x_146); lean_ctor_set(x_164, 1, x_163); -x_165 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__5; +x_165 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__5; lean_inc(x_148); lean_inc(x_149); x_166 = l_Lean_addMacroScope(x_149, x_165, x_148); -x_167 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__3; -x_168 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__9; +x_167 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__3; +x_168 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__9; lean_inc(x_146); x_169 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_169, 0, x_146); @@ -33679,11 +33623,11 @@ x_204 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_204, 0, x_146); lean_ctor_set(x_204, 1, x_177); lean_ctor_set(x_204, 2, x_203); -x_205 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__3; +x_205 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__3; lean_inc(x_148); lean_inc(x_149); x_206 = l_Lean_addMacroScope(x_149, x_205, x_148); -x_207 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__2; +x_207 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__2; lean_inc(x_146); x_208 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_208, 0, x_146); @@ -33699,10 +33643,10 @@ x_212 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_212, 0, x_146); lean_ctor_set(x_212, 1, x_211); lean_ctor_set(x_212, 2, x_210); -x_213 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__21; +x_213 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__21; x_214 = l_Lean_addMacroScope(x_149, x_213, x_148); -x_215 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__20; -x_216 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__23; +x_215 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__20; +x_216 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__23; lean_inc(x_146); x_217 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_217, 0, x_146); @@ -33757,7 +33701,7 @@ x_240 = lean_array_push(x_239, x_191); x_241 = lean_array_push(x_240, x_193); x_242 = lean_array_push(x_241, x_195); x_243 = lean_array_push(x_242, x_238); -x_244 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__2; +x_244 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__2; lean_inc(x_146); x_245 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_245, 0, x_146); @@ -33765,7 +33709,7 @@ lean_ctor_set(x_245, 1, x_244); lean_ctor_set(x_245, 2, x_243); x_246 = lean_array_push(x_170, x_157); x_247 = lean_array_push(x_246, x_245); -x_248 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__1; +x_248 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__1; lean_inc(x_146); x_249 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_249, 0, x_146); @@ -33795,7 +33739,7 @@ x_262 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_262, 0, x_146); lean_ctor_set(x_262, 1, x_8); lean_ctor_set(x_262, 2, x_261); -x_263 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____lambda__1(x_1, x_262, x_2, x_147); +x_263 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____lambda__1(x_1, x_262, x_2, x_147); lean_dec(x_2); return x_263; } @@ -33917,7 +33861,7 @@ x_1 = l_Lean_Parser_Tactic_simpAllArithAutoUnfold___closed__9; return x_1; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_21146_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_21157_(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; uint8_t x_9; @@ -33981,12 +33925,12 @@ lean_inc(x_11); x_29 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_29, 0, x_11); lean_ctor_set(x_29, 1, x_28); -x_30 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__5; +x_30 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__5; lean_inc(x_13); lean_inc(x_14); x_31 = l_Lean_addMacroScope(x_14, x_30, x_13); -x_32 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__3; -x_33 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__9; +x_32 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__3; +x_33 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__9; lean_inc(x_11); x_34 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_34, 0, x_11); @@ -34075,11 +34019,11 @@ x_69 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_69, 0, x_11); lean_ctor_set(x_69, 1, x_42); lean_ctor_set(x_69, 2, x_68); -x_70 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__3; +x_70 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__3; lean_inc(x_13); lean_inc(x_14); x_71 = l_Lean_addMacroScope(x_14, x_70, x_13); -x_72 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__2; +x_72 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__2; lean_inc(x_11); x_73 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_73, 0, x_11); @@ -34095,12 +34039,12 @@ x_77 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_77, 0, x_11); lean_ctor_set(x_77, 1, x_76); lean_ctor_set(x_77, 2, x_75); -x_78 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__21; +x_78 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__21; lean_inc(x_13); lean_inc(x_14); x_79 = l_Lean_addMacroScope(x_14, x_78, x_13); -x_80 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__20; -x_81 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__23; +x_80 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__20; +x_81 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__23; lean_inc(x_11); x_82 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_82, 0, x_11); @@ -34123,9 +34067,9 @@ lean_inc(x_11); x_89 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_89, 0, x_11); lean_ctor_set(x_89, 1, x_88); -x_90 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__18; +x_90 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__18; x_91 = l_Lean_addMacroScope(x_14, x_90, x_13); -x_92 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__17; +x_92 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__17; lean_inc(x_11); x_93 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_93, 0, x_11); @@ -34194,7 +34138,7 @@ lean_inc(x_58); x_121 = lean_array_push(x_120, x_58); x_122 = lean_array_push(x_121, x_60); x_123 = lean_array_push(x_122, x_118); -x_124 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__2; +x_124 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__2; lean_inc(x_11); x_125 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_125, 0, x_11); @@ -34202,7 +34146,7 @@ lean_ctor_set(x_125, 1, x_124); lean_ctor_set(x_125, 2, x_123); x_126 = lean_array_push(x_35, x_22); x_127 = lean_array_push(x_126, x_125); -x_128 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__1; +x_128 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__1; lean_inc(x_11); x_129 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_129, 0, x_11); @@ -34261,7 +34205,7 @@ x_156 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_156, 0, x_11); lean_ctor_set(x_156, 1, x_8); lean_ctor_set(x_156, 2, x_155); -x_157 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____lambda__1(x_1, x_156, x_2, x_12); +x_157 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____lambda__1(x_1, x_156, x_2, x_12); lean_dec(x_2); return x_157; } @@ -34319,12 +34263,12 @@ lean_inc(x_161); x_179 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_179, 0, x_161); lean_ctor_set(x_179, 1, x_178); -x_180 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__5; +x_180 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__5; lean_inc(x_163); lean_inc(x_164); x_181 = l_Lean_addMacroScope(x_164, x_180, x_163); -x_182 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__3; -x_183 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__9; +x_182 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__3; +x_183 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__9; lean_inc(x_161); x_184 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_184, 0, x_161); @@ -34413,11 +34357,11 @@ x_219 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_219, 0, x_161); lean_ctor_set(x_219, 1, x_192); lean_ctor_set(x_219, 2, x_218); -x_220 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__3; +x_220 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__3; lean_inc(x_163); lean_inc(x_164); x_221 = l_Lean_addMacroScope(x_164, x_220, x_163); -x_222 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__2; +x_222 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__2; lean_inc(x_161); x_223 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_223, 0, x_161); @@ -34433,12 +34377,12 @@ x_227 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_227, 0, x_161); lean_ctor_set(x_227, 1, x_226); lean_ctor_set(x_227, 2, x_225); -x_228 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__21; +x_228 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__21; lean_inc(x_163); lean_inc(x_164); x_229 = l_Lean_addMacroScope(x_164, x_228, x_163); -x_230 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__20; -x_231 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__23; +x_230 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__20; +x_231 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__23; lean_inc(x_161); x_232 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_232, 0, x_161); @@ -34461,9 +34405,9 @@ lean_inc(x_161); x_239 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_239, 0, x_161); lean_ctor_set(x_239, 1, x_238); -x_240 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__18; +x_240 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__18; x_241 = l_Lean_addMacroScope(x_164, x_240, x_163); -x_242 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__17; +x_242 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__17; lean_inc(x_161); x_243 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_243, 0, x_161); @@ -34527,7 +34471,7 @@ x_270 = lean_array_push(x_269, x_206); x_271 = lean_array_push(x_270, x_208); x_272 = lean_array_push(x_271, x_210); x_273 = lean_array_push(x_272, x_268); -x_274 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__2; +x_274 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__2; lean_inc(x_161); x_275 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_275, 0, x_161); @@ -34535,7 +34479,7 @@ lean_ctor_set(x_275, 1, x_274); lean_ctor_set(x_275, 2, x_273); x_276 = lean_array_push(x_185, x_172); x_277 = lean_array_push(x_276, x_275); -x_278 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__1; +x_278 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__1; lean_inc(x_161); x_279 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_279, 0, x_161); @@ -34565,7 +34509,7 @@ x_292 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_292, 0, x_161); lean_ctor_set(x_292, 1, x_8); lean_ctor_set(x_292, 2, x_291); -x_293 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____lambda__1(x_1, x_292, x_2, x_162); +x_293 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____lambda__1(x_1, x_292, x_2, x_162); lean_dec(x_2); return x_293; } @@ -34701,7 +34645,7 @@ x_1 = l_Lean_Parser_Tactic_dsimpAutoUnfold___closed__10; return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____lambda__1___closed__1() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____lambda__1___closed__1() { _start: { lean_object* x_1; @@ -34709,7 +34653,7 @@ x_1 = lean_mk_string_from_bytes("dsimp ", 6); return x_1; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; 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; @@ -34717,7 +34661,7 @@ x_5 = l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tact x_6 = l_Lean_Syntax_setKind(x_1, x_5); x_7 = lean_unsigned_to_nat(0u); x_8 = l_Lean_Syntax_getArg(x_6, x_7); -x_9 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____lambda__1___closed__1; +x_9 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____lambda__1___closed__1; x_10 = l_Lean_mkAtomFrom(x_8, x_9); x_11 = l_Lean_Syntax_setArg(x_6, x_7, x_10); x_12 = l_Lean_mkOptionalNode___closed__2; @@ -34736,7 +34680,7 @@ lean_ctor_set(x_19, 1, x_4); return x_19; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__1() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__1() { _start: { lean_object* x_1; @@ -34744,22 +34688,22 @@ x_1 = lean_mk_string_from_bytes("Lean.Meta.DSimp.Config", 22); return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__2() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__1; +x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__1; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__3() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__1; +x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__1; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__2; +x_3 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__2; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -34767,7 +34711,7 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__4() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__4() { _start: { lean_object* x_1; @@ -34775,73 +34719,73 @@ x_1 = lean_mk_string_from_bytes("DSimp", 5); return x_1; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__5() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__7; -x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__4; +x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__7; +x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__4; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__6() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__5; -x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__10; +x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__5; +x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__10; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__7() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__6; +x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__6; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__8() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__8() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__6; +x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__6; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__9() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__8; +x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__8; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__10() { +static lean_object* _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__7; -x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__9; +x_1 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__7; +x_2 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__9; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226_(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; uint8_t x_9; @@ -34905,12 +34849,12 @@ lean_inc(x_11); x_29 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_29, 0, x_11); lean_ctor_set(x_29, 1, x_28); -x_30 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__6; +x_30 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__6; lean_inc(x_13); lean_inc(x_14); x_31 = l_Lean_addMacroScope(x_14, x_30, x_13); -x_32 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__3; -x_33 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__10; +x_32 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__3; +x_33 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__10; lean_inc(x_11); x_34 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_34, 0, x_11); @@ -34999,11 +34943,11 @@ x_69 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_69, 0, x_11); lean_ctor_set(x_69, 1, x_42); lean_ctor_set(x_69, 2, x_68); -x_70 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__18; +x_70 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__18; lean_inc(x_13); lean_inc(x_14); x_71 = l_Lean_addMacroScope(x_14, x_70, x_13); -x_72 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__17; +x_72 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__17; lean_inc(x_11); x_73 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_73, 0, x_11); @@ -35019,10 +34963,10 @@ x_77 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_77, 0, x_11); lean_ctor_set(x_77, 1, x_76); lean_ctor_set(x_77, 2, x_75); -x_78 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__21; +x_78 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__21; x_79 = l_Lean_addMacroScope(x_14, x_78, x_13); -x_80 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__20; -x_81 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__23; +x_80 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__20; +x_81 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__23; lean_inc(x_11); x_82 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_82, 0, x_11); @@ -35082,7 +35026,7 @@ lean_inc(x_58); x_106 = lean_array_push(x_105, x_58); x_107 = lean_array_push(x_106, x_60); x_108 = lean_array_push(x_107, x_103); -x_109 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__2; +x_109 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__2; lean_inc(x_11); x_110 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_110, 0, x_11); @@ -35090,7 +35034,7 @@ lean_ctor_set(x_110, 1, x_109); lean_ctor_set(x_110, 2, x_108); x_111 = lean_array_push(x_35, x_22); x_112 = lean_array_push(x_111, x_110); -x_113 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__1; +x_113 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__1; lean_inc(x_11); x_114 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_114, 0, x_11); @@ -35149,7 +35093,7 @@ x_141 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_141, 0, x_11); lean_ctor_set(x_141, 1, x_8); lean_ctor_set(x_141, 2, x_140); -x_142 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____lambda__1(x_1, x_141, x_2, x_12); +x_142 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____lambda__1(x_1, x_141, x_2, x_12); lean_dec(x_2); return x_142; } @@ -35207,12 +35151,12 @@ lean_inc(x_146); x_164 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_164, 0, x_146); lean_ctor_set(x_164, 1, x_163); -x_165 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__6; +x_165 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__6; lean_inc(x_148); lean_inc(x_149); x_166 = l_Lean_addMacroScope(x_149, x_165, x_148); -x_167 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__3; -x_168 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__10; +x_167 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__3; +x_168 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__10; lean_inc(x_146); x_169 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_169, 0, x_146); @@ -35301,11 +35245,11 @@ x_204 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_204, 0, x_146); lean_ctor_set(x_204, 1, x_177); lean_ctor_set(x_204, 2, x_203); -x_205 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__18; +x_205 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__18; lean_inc(x_148); lean_inc(x_149); x_206 = l_Lean_addMacroScope(x_149, x_205, x_148); -x_207 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__17; +x_207 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__17; lean_inc(x_146); x_208 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_208, 0, x_146); @@ -35321,10 +35265,10 @@ x_212 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_212, 0, x_146); lean_ctor_set(x_212, 1, x_211); lean_ctor_set(x_212, 2, x_210); -x_213 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__21; +x_213 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__21; x_214 = l_Lean_addMacroScope(x_149, x_213, x_148); -x_215 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__20; -x_216 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__23; +x_215 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__20; +x_216 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__23; lean_inc(x_146); x_217 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_217, 0, x_146); @@ -35379,7 +35323,7 @@ x_240 = lean_array_push(x_239, x_191); x_241 = lean_array_push(x_240, x_193); x_242 = lean_array_push(x_241, x_195); x_243 = lean_array_push(x_242, x_238); -x_244 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__2; +x_244 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__2; lean_inc(x_146); x_245 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_245, 0, x_146); @@ -35387,7 +35331,7 @@ lean_ctor_set(x_245, 1, x_244); lean_ctor_set(x_245, 2, x_243); x_246 = lean_array_push(x_170, x_157); x_247 = lean_array_push(x_246, x_245); -x_248 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__1; +x_248 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__1; lean_inc(x_146); x_249 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_249, 0, x_146); @@ -35417,17 +35361,17 @@ x_262 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_262, 0, x_146); lean_ctor_set(x_262, 1, x_8); lean_ctor_set(x_262, 2, x_261); -x_263 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____lambda__1(x_1, x_262, x_2, x_147); +x_263 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____lambda__1(x_1, x_262, x_2, x_147); lean_dec(x_2); return x_263; } } } -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; -x_5 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____lambda__1(x_1, x_2, x_3, x_4); +x_5 = l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____lambda__1(x_1, x_2, x_3, x_4); lean_dec(x_3); return x_5; } @@ -35829,20 +35773,10 @@ l_List_foldr___at_Lean_Syntax_decodeNameLit___spec__1___closed__3 = _init_l_List lean_mark_persistent(l_List_foldr___at_Lean_Syntax_decodeNameLit___spec__1___closed__3); l_List_foldr___at_Lean_Syntax_decodeNameLit___spec__1___closed__4 = _init_l_List_foldr___at_Lean_Syntax_decodeNameLit___spec__1___closed__4(); lean_mark_persistent(l_List_foldr___at_Lean_Syntax_decodeNameLit___spec__1___closed__4); -l_Lean_TSyntax_getNat___closed__1 = _init_l_Lean_TSyntax_getNat___closed__1(); -lean_mark_persistent(l_Lean_TSyntax_getNat___closed__1); -l_Lean_TSyntax_getNat___closed__2 = _init_l_Lean_TSyntax_getNat___closed__2(); -lean_mark_persistent(l_Lean_TSyntax_getNat___closed__2); -l_Lean_TSyntax_getNat___closed__3 = _init_l_Lean_TSyntax_getNat___closed__3(); -lean_mark_persistent(l_Lean_TSyntax_getNat___closed__3); -l_Lean_TSyntax_getNat___closed__4 = _init_l_Lean_TSyntax_getNat___closed__4(); -lean_mark_persistent(l_Lean_TSyntax_getNat___closed__4); -l_panic___at_Lean_TSyntax_getScientific___spec__1___closed__1 = _init_l_panic___at_Lean_TSyntax_getScientific___spec__1___closed__1(); -lean_mark_persistent(l_panic___at_Lean_TSyntax_getScientific___spec__1___closed__1); -l_panic___at_Lean_TSyntax_getScientific___spec__1___closed__2 = _init_l_panic___at_Lean_TSyntax_getScientific___spec__1___closed__2(); -lean_mark_persistent(l_panic___at_Lean_TSyntax_getScientific___spec__1___closed__2); -l_panic___at_Lean_TSyntax_getChar___spec__1___boxed__const__1 = _init_l_panic___at_Lean_TSyntax_getChar___spec__1___boxed__const__1(); -lean_mark_persistent(l_panic___at_Lean_TSyntax_getChar___spec__1___boxed__const__1); +l_Lean_TSyntax_getScientific___closed__1 = _init_l_Lean_TSyntax_getScientific___closed__1(); +lean_mark_persistent(l_Lean_TSyntax_getScientific___closed__1); +l_Lean_TSyntax_getScientific___closed__2 = _init_l_Lean_TSyntax_getScientific___closed__2(); +lean_mark_persistent(l_Lean_TSyntax_getScientific___closed__2); l_Lean_instQuoteTermStrAnonymous___closed__1 = _init_l_Lean_instQuoteTermStrAnonymous___closed__1(); lean_mark_persistent(l_Lean_instQuoteTermStrAnonymous___closed__1); l_Lean_instQuoteTermStrAnonymous = _init_l_Lean_instQuoteTermStrAnonymous(); @@ -36056,54 +35990,54 @@ l_Lean_Meta_instBEqTransparencyMode___closed__1 = _init_l_Lean_Meta_instBEqTrans lean_mark_persistent(l_Lean_Meta_instBEqTransparencyMode___closed__1); l_Lean_Meta_instBEqTransparencyMode = _init_l_Lean_Meta_instBEqTransparencyMode(); lean_mark_persistent(l_Lean_Meta_instBEqTransparencyMode); -l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__1 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__1(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__1); -l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__2 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__2(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__2); -l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__3 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__3(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__3); -l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__4 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__4(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__4); -l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__5 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__5(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__5); -l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__6 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__6(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__6); -l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__7 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__7(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__7); -l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__8 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__8(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__8); -l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__9 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__9(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__9); -l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__10 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__10(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__10); -l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__11 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__11(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__11); -l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__12 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__12(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__12); -l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__13 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__13(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__13); -l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__14 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__14(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__14); -l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__15 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__15(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__15); -l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__16 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__16(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__16); -l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__17 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__17(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__17); -l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__18 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__18(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__18); -l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__19 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__19(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__19); -l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__20 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__20(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__20); -l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__21 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__21(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__21); -l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__22 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__22(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__22); -l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__23 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__23(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__23); -l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__24 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__24(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10514____closed__24); +l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__1 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__1(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__1); +l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__2 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__2(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__2); +l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__3 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__3(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__3); +l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__4 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__4(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__4); +l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__5 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__5(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__5); +l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__6 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__6(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__6); +l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__7 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__7(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__7); +l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__8 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__8(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__8); +l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__9 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__9(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__9); +l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__10 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__10(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__10); +l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__11 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__11(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__11); +l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__12 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__12(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__12); +l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__13 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__13(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__13); +l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__14 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__14(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__14); +l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__15 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__15(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__15); +l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__16 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__16(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__16); +l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__17 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__17(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__17); +l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__18 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__18(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__18); +l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__19 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__19(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__19); +l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__20 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__20(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__20); +l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__21 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__21(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__21); +l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__22 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__22(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__22); +l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__23 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__23(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__23); +l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__24 = _init_l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__24(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprTransparencyMode____x40_Init_Meta___hyg_10525____closed__24); l_Lean_Meta_instReprTransparencyMode___closed__1 = _init_l_Lean_Meta_instReprTransparencyMode___closed__1(); lean_mark_persistent(l_Lean_Meta_instReprTransparencyMode___closed__1); l_Lean_Meta_instReprTransparencyMode = _init_l_Lean_Meta_instReprTransparencyMode(); @@ -36113,42 +36047,42 @@ l_Lean_Meta_instBEqEtaStructMode___closed__1 = _init_l_Lean_Meta_instBEqEtaStruc lean_mark_persistent(l_Lean_Meta_instBEqEtaStructMode___closed__1); l_Lean_Meta_instBEqEtaStructMode = _init_l_Lean_Meta_instBEqEtaStructMode(); lean_mark_persistent(l_Lean_Meta_instBEqEtaStructMode); -l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__1 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__1(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__1); -l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__2 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__2(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__2); -l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__3 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__3(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__3); -l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__4 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__4(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__4); -l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__5 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__5(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__5); -l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__6 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__6(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__6); -l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__7 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__7(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__7); -l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__8 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__8(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__8); -l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__9 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__9(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__9); -l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__10 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__10(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__10); -l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__11 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__11(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__11); -l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__12 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__12(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__12); -l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__13 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__13(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__13); -l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__14 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__14(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__14); -l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__15 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__15(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__15); -l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__16 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__16(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__16); -l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__17 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__17(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__17); -l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__18 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__18(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10695____closed__18); +l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__1 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__1(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__1); +l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__2 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__2(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__2); +l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__3 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__3(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__3); +l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__4 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__4(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__4); +l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__5 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__5(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__5); +l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__6 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__6(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__6); +l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__7 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__7(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__7); +l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__8 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__8(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__8); +l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__9 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__9(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__9); +l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__10 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__10(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__10); +l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__11 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__11(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__11); +l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__12 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__12(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__12); +l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__13 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__13(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__13); +l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__14 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__14(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__14); +l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__15 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__15(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__15); +l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__16 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__16(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__16); +l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__17 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__17(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__17); +l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__18 = _init_l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__18(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_reprEtaStructMode____x40_Init_Meta___hyg_10706____closed__18); l_Lean_Meta_instReprEtaStructMode___closed__1 = _init_l_Lean_Meta_instReprEtaStructMode___closed__1(); lean_mark_persistent(l_Lean_Meta_instReprEtaStructMode___closed__1); l_Lean_Meta_instReprEtaStructMode = _init_l_Lean_Meta_instReprEtaStructMode(); @@ -36169,46 +36103,46 @@ l_Lean_Meta_DSimp_instBEqConfig___closed__1 = _init_l_Lean_Meta_DSimp_instBEqCon lean_mark_persistent(l_Lean_Meta_DSimp_instBEqConfig___closed__1); l_Lean_Meta_DSimp_instBEqConfig = _init_l_Lean_Meta_DSimp_instBEqConfig(); lean_mark_persistent(l_Lean_Meta_DSimp_instBEqConfig); -l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__1 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__1(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__1); -l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__2 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__2(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__2); -l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__3 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__3(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__3); -l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__4 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__4(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__4); -l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__5 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__5(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__5); -l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__6 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__6(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__6); -l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__7 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__7(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__7); -l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__8 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__8(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__8); -l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__9 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__9(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__9); -l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__10 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__10(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__10); -l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__11 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__11(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__11); -l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__12 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__12(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__12); -l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__13 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__13(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__13); -l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__14 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__14(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__14); -l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__15 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__15(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__15); -l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__16 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__16(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__16); -l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__17 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__17(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__17); -l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__18 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__18(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__18); -l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__19 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__19(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__19); -l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__20 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__20(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11075____closed__20); +l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__1 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__1(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__1); +l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__2 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__2(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__2); +l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__3 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__3(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__3); +l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__4 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__4(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__4); +l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__5 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__5(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__5); +l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__6 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__6(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__6); +l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__7 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__7(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__7); +l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__8 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__8(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__8); +l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__9 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__9(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__9); +l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__10 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__10(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__10); +l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__11 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__11(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__11); +l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__12 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__12(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__12); +l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__13 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__13(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__13); +l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__14 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__14(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__14); +l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__15 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__15(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__15); +l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__16 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__16(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__16); +l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__17 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__17(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__17); +l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__18 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__18(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__18); +l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__19 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__19(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__19); +l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__20 = _init_l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__20(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_DSimp_reprConfig____x40_Init_Meta___hyg_11086____closed__20); l_Lean_Meta_DSimp_instReprConfig___closed__1 = _init_l_Lean_Meta_DSimp_instReprConfig___closed__1(); lean_mark_persistent(l_Lean_Meta_DSimp_instReprConfig___closed__1); l_Lean_Meta_DSimp_instReprConfig = _init_l_Lean_Meta_DSimp_instReprConfig(); @@ -36240,38 +36174,38 @@ l_Lean_Meta_Simp_instBEqConfig___closed__1 = _init_l_Lean_Meta_Simp_instBEqConfi lean_mark_persistent(l_Lean_Meta_Simp_instBEqConfig___closed__1); l_Lean_Meta_Simp_instBEqConfig = _init_l_Lean_Meta_Simp_instBEqConfig(); lean_mark_persistent(l_Lean_Meta_Simp_instBEqConfig); -l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__1 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__1(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__1); -l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__2 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__2(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__2); -l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__3 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__3(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__3); -l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__4 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__4(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__4); -l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__5 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__5(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__5); -l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__6 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__6(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__6); -l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__7 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__7(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__7); -l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__8 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__8(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__8); -l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__9 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__9(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__9); -l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__10 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__10(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__10); -l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__11 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__11(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__11); -l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__12 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__12(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__12); -l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__13 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__13(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__13); -l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__14 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__14(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__14); -l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__15 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__15(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__15); -l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__16 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__16(); -lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11643____closed__16); +l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__1 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__1(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__1); +l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__2 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__2(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__2); +l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__3 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__3(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__3); +l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__4 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__4(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__4); +l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__5 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__5(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__5); +l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__6 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__6(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__6); +l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__7 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__7(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__7); +l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__8 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__8(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__8); +l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__9 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__9(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__9); +l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__10 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__10(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__10); +l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__11 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__11(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__11); +l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__12 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__12(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__12); +l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__13 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__13(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__13); +l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__14 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__14(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__14); +l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__15 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__15(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__15); +l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__16 = _init_l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__16(); +lean_mark_persistent(l___private_Init_Meta_0__Lean_Meta_Simp_reprConfig____x40_Init_Meta___hyg_11654____closed__16); l_Lean_Meta_Simp_instReprConfig___closed__1 = _init_l_Lean_Meta_Simp_instReprConfig___closed__1(); lean_mark_persistent(l_Lean_Meta_Simp_instReprConfig___closed__1); l_Lean_Meta_Simp_instReprConfig = _init_l_Lean_Meta_Simp_instReprConfig(); @@ -36947,54 +36881,54 @@ l_Lean_Parser_Tactic_simpAutoUnfold___closed__25 = _init_l_Lean_Parser_Tactic_si lean_mark_persistent(l_Lean_Parser_Tactic_simpAutoUnfold___closed__25); l_Lean_Parser_Tactic_simpAutoUnfold = _init_l_Lean_Parser_Tactic_simpAutoUnfold(); lean_mark_persistent(l_Lean_Parser_Tactic_simpAutoUnfold); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____lambda__1___closed__1 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____lambda__1___closed__1(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____lambda__1___closed__1); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__1 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__1(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__1); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__2 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__2(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__2); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__3 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__3(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__3); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__4 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__4(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__4); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__5 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__5(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__5); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__6 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__6(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__6); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__7 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__7(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__7); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__8 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__8(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__8); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__9 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__9(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__9); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__10 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__10(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__10); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__11 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__11(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__11); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__12 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__12(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__12); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__13 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__13(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__13); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__14 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__14(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__14); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__15 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__15(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__15); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__16 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__16(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__16); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__17 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__17(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__17); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__18 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__18(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__18); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__19 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__19(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__19); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__20 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__20(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__20); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__21 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__21(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__21); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__22 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__22(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__22); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__23 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__23(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16203____closed__23); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____lambda__1___closed__1 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____lambda__1___closed__1(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____lambda__1___closed__1); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__1 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__1(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__1); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__2 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__2(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__2); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__3 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__3(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__3); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__4 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__4(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__4); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__5 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__5(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__5); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__6 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__6(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__6); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__7 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__7(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__7); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__8 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__8(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__8); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__9 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__9(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__9); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__10 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__10(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__10); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__11 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__11(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__11); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__12 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__12(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__12); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__13 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__13(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__13); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__14 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__14(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__14); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__15 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__15(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__15); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__16 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__16(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__16); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__17 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__17(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__17); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__18 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__18(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__18); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__19 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__19(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__19); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__20 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__20(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__20); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__21 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__21(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__21); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__22 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__22(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__22); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__23 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__23(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_16214____closed__23); l_Lean_Parser_Tactic_simpArith___closed__1 = _init_l_Lean_Parser_Tactic_simpArith___closed__1(); lean_mark_persistent(l_Lean_Parser_Tactic_simpArith___closed__1); l_Lean_Parser_Tactic_simpArith___closed__2 = _init_l_Lean_Parser_Tactic_simpArith___closed__2(); @@ -37017,12 +36951,12 @@ l_Lean_Parser_Tactic_simpArith___closed__10 = _init_l_Lean_Parser_Tactic_simpAri lean_mark_persistent(l_Lean_Parser_Tactic_simpArith___closed__10); l_Lean_Parser_Tactic_simpArith = _init_l_Lean_Parser_Tactic_simpArith(); lean_mark_persistent(l_Lean_Parser_Tactic_simpArith); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__1 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__1(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__1); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__2 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__2(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__2); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__3 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__3(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17174____closed__3); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__1 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__1(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__1); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__2 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__2(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__2); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__3 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__3(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_17185____closed__3); l_Lean_Parser_Tactic_simpArithAutoUnfold___closed__1 = _init_l_Lean_Parser_Tactic_simpArithAutoUnfold___closed__1(); lean_mark_persistent(l_Lean_Parser_Tactic_simpArithAutoUnfold___closed__1); l_Lean_Parser_Tactic_simpArithAutoUnfold___closed__2 = _init_l_Lean_Parser_Tactic_simpArithAutoUnfold___closed__2(); @@ -37073,26 +37007,26 @@ l_Lean_Parser_Tactic_simpAllAutoUnfold___closed__13 = _init_l_Lean_Parser_Tactic lean_mark_persistent(l_Lean_Parser_Tactic_simpAllAutoUnfold___closed__13); l_Lean_Parser_Tactic_simpAllAutoUnfold = _init_l_Lean_Parser_Tactic_simpAllAutoUnfold(); lean_mark_persistent(l_Lean_Parser_Tactic_simpAllAutoUnfold); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____lambda__1___closed__1 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____lambda__1___closed__1(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____lambda__1___closed__1); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__1 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__1(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__1); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__2 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__2(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__2); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__3 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__3(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__3); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__4 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__4(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__4); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__5 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__5(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__5); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__6 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__6(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__6); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__7 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__7(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__7); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__8 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__8(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__8); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__9 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__9(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19224____closed__9); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____lambda__1___closed__1 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____lambda__1___closed__1(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____lambda__1___closed__1); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__1 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__1(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__1); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__2 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__2(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__2); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__3 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__3(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__3); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__4 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__4(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__4); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__5 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__5(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__5); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__6 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__6(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__6); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__7 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__7(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__7); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__8 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__8(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__8); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__9 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__9(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_19235____closed__9); l_Lean_Parser_Tactic_simpAllArith___closed__1 = _init_l_Lean_Parser_Tactic_simpAllArith___closed__1(); lean_mark_persistent(l_Lean_Parser_Tactic_simpAllArith___closed__1); l_Lean_Parser_Tactic_simpAllArith___closed__2 = _init_l_Lean_Parser_Tactic_simpAllArith___closed__2(); @@ -37155,28 +37089,28 @@ l_Lean_Parser_Tactic_dsimpAutoUnfold___closed__10 = _init_l_Lean_Parser_Tactic_d lean_mark_persistent(l_Lean_Parser_Tactic_dsimpAutoUnfold___closed__10); l_Lean_Parser_Tactic_dsimpAutoUnfold = _init_l_Lean_Parser_Tactic_dsimpAutoUnfold(); lean_mark_persistent(l_Lean_Parser_Tactic_dsimpAutoUnfold); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____lambda__1___closed__1 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____lambda__1___closed__1(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____lambda__1___closed__1); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__1 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__1(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__1); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__2 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__2(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__2); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__3 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__3(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__3); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__4 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__4(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__4); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__5 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__5(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__5); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__6 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__6(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__6); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__7 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__7(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__7); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__8 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__8(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__8); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__9 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__9(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__9); -l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__10 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__10(); -lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22215____closed__10); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____lambda__1___closed__1 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____lambda__1___closed__1(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____lambda__1___closed__1); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__1 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__1(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__1); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__2 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__2(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__2); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__3 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__3(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__3); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__4 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__4(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__4); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__5 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__5(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__5); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__6 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__6(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__6); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__7 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__7(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__7); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__8 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__8(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__8); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__9 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__9(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__9); +l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__10 = _init_l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__10(); +lean_mark_persistent(l_Lean_Parser_Tactic_expandSimp____x40_Init_Meta___hyg_22226____closed__10); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Lean/Attributes.c b/stage0/stdlib/Lean/Attributes.c index 066caebeea..a24721f4d7 100644 --- a/stage0/stdlib/Lean/Attributes.c +++ b/stage0/stdlib/Lean/Attributes.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Attributes -// Imports: Init Lean.Syntax Lean.CoreM Lean.ResolveName +// Imports: Init Lean.CoreM Lean.MonadEnv #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -10467,9 +10467,8 @@ return x_10; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Syntax(uint8_t builtin, lean_object*); lean_object* initialize_Lean_CoreM(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_ResolveName(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_MonadEnv(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Attributes(uint8_t builtin, lean_object* w) { lean_object * res; @@ -10478,13 +10477,10 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Syntax(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_CoreM(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_ResolveName(builtin, lean_io_mk_world()); +res = initialize_Lean_MonadEnv(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_AttributeApplicationTime_noConfusion___rarg___closed__1 = _init_l_Lean_AttributeApplicationTime_noConfusion___rarg___closed__1(); diff --git a/stage0/stdlib/Lean/Compiler/IR/EmitC.c b/stage0/stdlib/Lean/Compiler/IR/EmitC.c index 588f6bd87c..02a7561fb3 100644 --- a/stage0/stdlib/Lean/Compiler/IR/EmitC.c +++ b/stage0/stdlib/Lean/Compiler/IR/EmitC.c @@ -262,7 +262,6 @@ LEAN_EXPORT lean_object* l_Lean_IR_EmitC_emitLhs(lean_object*, lean_object*, lea LEAN_EXPORT lean_object* l_Lean_IR_EmitC_emitCtor___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_EmitC_emitSimpleExternalCall___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_IR_EmitC_emitBoxFn___closed__4; -lean_object* l_panic___at_Lean_TSyntax_getString___spec__1(lean_object*); static lean_object* l_Lean_IR_EmitC_emitMainFn___lambda__3___closed__2; LEAN_EXPORT lean_object* l_Lean_IR_EmitC_emitJmp(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_IR_EmitC_emitMainFn___lambda__1___closed__6; @@ -557,6 +556,7 @@ LEAN_EXPORT lean_object* l_Std_RBNode_revFold___at_Lean_IR_EmitC_emitFnDecls___s LEAN_EXPORT lean_object* l_Lean_IR_EmitC_emitOffset(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_IR_EmitC_emitInitFn___spec__3(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_IR_EmitC_emitSSet___closed__4; +lean_object* l_panic___at_Lean_Name_getString_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Nat_forM_loop___at_Lean_IR_EmitC_emitTailCall___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_IR_EmitC_emitInitFn___closed__2; LEAN_EXPORT lean_object* l_List_forM___at_Lean_IR_EmitC_emitMainFn___spec__3(lean_object*, lean_object*, lean_object*); @@ -1180,14 +1180,14 @@ case 9: { lean_object* x_8; lean_object* x_9; x_8 = l_Lean_IR_EmitC_toCType___closed__11; -x_9 = l_panic___at_Lean_TSyntax_getString___spec__1(x_8); +x_9 = l_panic___at_Lean_Name_getString_x21___spec__1(x_8); return x_9; } case 10: { lean_object* x_10; lean_object* x_11; x_10 = l_Lean_IR_EmitC_toCType___closed__12; -x_11 = l_panic___at_Lean_TSyntax_getString___spec__1(x_10); +x_11 = l_panic___at_Lean_Name_getString_x21___spec__1(x_10); return x_11; } default: diff --git a/stage0/stdlib/Lean/Compiler/InitAttr.c b/stage0/stdlib/Lean/Compiler/InitAttr.c index 67dcb9631d..467a9c2a09 100644 --- a/stage0/stdlib/Lean/Compiler/InitAttr.c +++ b/stage0/stdlib/Lean/Compiler/InitAttr.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Compiler.InitAttr -// Imports: Init Lean.Environment Lean.Attributes Lean.Elab.InfoTree.Main +// Imports: Init Lean.Elab.InfoTree.Main #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -4396,8 +4396,6 @@ return x_5; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Environment(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Attributes(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_InfoTree_Main(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Compiler_InitAttr(uint8_t builtin, lean_object* w) { @@ -4407,12 +4405,6 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Environment(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Attributes(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Elab_InfoTree_Main(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Compiler/LCNF/Basic.c b/stage0/stdlib/Lean/Compiler/LCNF/Basic.c index dbc37b341e..1c422dca3c 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/Basic.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/Basic.c @@ -21,6 +21,7 @@ static lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_c static lean_object* l_Lean_Compiler_LCNF_instInhabitedParam___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateReturnImp(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqLetDecl____x40_Lean_Compiler_LCNF_Basic___hyg_272____boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Code_forM_go___spec__1___rarg___lambda__1(size_t, lean_object*, lean_object*, lean_object*, size_t, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); LEAN_EXPORT lean_object* l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_eqAlt___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_CasesCore_extractAlt_x21___closed__4; @@ -33,6 +34,7 @@ uint8_t lean_usize_dec_eq(size_t, size_t); lean_object* lean_array_uget(lean_object*, size_t); LEAN_EXPORT uint8_t l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_eqFunDecl___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateContImp(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_forM_go___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_instInhabitedParam___closed__1; static lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___closed__2; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_AltCore_forCodeM___rarg(lean_object*, lean_object*); @@ -45,6 +47,7 @@ static lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_u LEAN_EXPORT uint8_t l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_eqCases___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectParams___spec__1(lean_object*, size_t, size_t, lean_object*); static lean_object* l_panic___at_Lean_Compiler_LCNF_CasesCore_extractAlt_x21___spec__1___closed__2; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_forM___rarg(lean_object*, lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqParam____x40_Lean_Compiler_LCNF_Basic___hyg_51_(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instInhabitedCasesCore(lean_object*); @@ -53,10 +56,9 @@ LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_CasesCore_extractAlt_x21___lambda__1(le static lean_object* l_Lean_Compiler_LCNF_instInhabitedCasesCore___closed__1; lean_object* lean_array_get_size(lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Code_collectUsed___spec__1(lean_object*, size_t, size_t, lean_object*); -LEAN_EXPORT lean_object* l_List_beq___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_2877____spec__1___boxed(lean_object*, lean_object*); LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqLetDecl____x40_Lean_Compiler_LCNF_Basic___hyg_272_(lean_object*, lean_object*); static lean_object* l_panic___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___spec__3___closed__1; -LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_2877_(lean_object*, lean_object*); +LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3052_(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_size(lean_object*); LEAN_EXPORT uint8_t l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_eqAlt___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_instantiateValueLevelParams(lean_object*, lean_object*); @@ -69,8 +71,10 @@ LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_L LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExprs___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_eqFunDecl(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_instInhabitedAltCore___rarg___closed__1; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_forM_go___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instBEqLetDecl; LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_Code_isFun(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_forM_go___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectParams___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instInhabitedAltCore(lean_object*); @@ -121,10 +125,8 @@ static lean_object* l_Lean_Compiler_LCNF_CasesCore_extractAlt_x21___closed__5; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_instantiateValueLevelParams_instLetDecl___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_instBEqCode___closed__1; static lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateReturnImp___closed__2; -LEAN_EXPORT uint8_t l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_2877____spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateJmpImp___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instBEqParam; -LEAN_EXPORT uint8_t l_List_beq___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_2877____spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CodeDecl_fvarId___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instInhabitedAltCore___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_AltCore_forCodeM___boxed(lean_object*, lean_object*); @@ -132,10 +134,14 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_AltCore_mapCodeM(lean_object*); static lean_object* l_Lean_Compiler_LCNF_CasesCore_extractAlt_x21___closed__7; lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_insert___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___spec__1(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Code_forM_go___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instBEqCode; lean_object* l_Lean_Expr_bvar___override(lean_object*); +LEAN_EXPORT uint8_t l_List_beq___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3052____spec__1(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_instInhabitedDecl___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_instantiateValueLevelParams_instParams___lambda__1(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3052____spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Code_forM_go___spec__1___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMono(lean_object*); size_t lean_usize_of_nat(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_AltCore_getCode___boxed(lean_object*); @@ -149,12 +155,13 @@ lean_object* l_Lean_Expr_fvar___override(lean_object*); size_t lean_ptr_addr(lean_object*); LEAN_EXPORT lean_object* l_panic___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___spec__3___lambda__1___boxed(lean_object*); LEAN_EXPORT lean_object* l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_eqImp___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3052____boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_sizeLe_go(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_isDecl___boxed(lean_object*); +LEAN_EXPORT lean_object* l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3052____spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_expr_eqv(lean_object*, lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_2877____boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_AltCore_getCode(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_instantiateParamsLevelParams___lambda__1(lean_object*, lean_object*, lean_object*); uint8_t l_Std_RBNode_isRed___rarg(lean_object*); @@ -190,13 +197,16 @@ LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_L LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateJmpImp(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_FunDeclCore_getArity___rarg___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_instantiateValueLevelParams_instLetDecl(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_beq___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3052____spec__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_instantiateValueLevelParams_instParams(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_forM(lean_object*); LEAN_EXPORT lean_object* l_panic___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___spec__3(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateUnreachImp(lean_object*, lean_object*); lean_object* l_Array_findIdx_x3f_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at_Lean_Compiler_LCNF_CasesCore_extractAlt_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_AltCore_mapCodeM___rarg___lambda__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_eqCases(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Code_forM_go___spec__1___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_instantiateParamsLevelParams___lambda__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_instantiateLevelParamsCore_visit___at_Lean_Expr_instantiateLevelParams___spec__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectParams___boxed(lean_object*, lean_object*); @@ -206,15 +216,17 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_instantiateValueLevelParams_i static lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateReturnImp___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_eqFunDecl___boxed(lean_object*, lean_object*); static lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateCasesImp___closed__1; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_forM_go___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_AltCore_mapCodeM___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_eqAlt___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_sizeLe___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_size(lean_object*); LEAN_EXPORT lean_object* l_panic___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltImp___spec__1(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltImp(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_forM_go(lean_object*); LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_CasesCore_extractAlt_x21___lambda__2(lean_object*); -LEAN_EXPORT lean_object* l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_2877____spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_instantiateValueLevelParams_instParams___lambda__1___boxed(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Code_forM_go___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExprs(lean_object*, lean_object*); static lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltImp___closed__3; static lean_object* l_panic___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltImp___spec__1___closed__1; @@ -4279,6 +4291,289 @@ x_4 = lean_box(x_3); return x_4; } } +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Code_forM_go___spec__1___rarg___lambda__1(size_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t x_5, lean_object* x_6) { +_start: +{ +size_t x_7; size_t x_8; lean_object* x_9; +x_7 = 1; +x_8 = lean_usize_add(x_1, x_7); +x_9 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Code_forM_go___spec__1___rarg(x_2, x_3, x_4, x_8, x_5, x_6); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Code_forM_go___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6) { +_start: +{ +uint8_t x_7; +x_7 = lean_usize_dec_eq(x_4, x_5); +if (x_7 == 0) +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +lean_dec(x_6); +x_8 = lean_ctor_get(x_1, 1); +lean_inc(x_8); +x_9 = lean_array_uget(x_3, x_4); +x_10 = l_Lean_Compiler_LCNF_AltCore_getCode(x_9); +lean_dec(x_9); +lean_inc(x_2); +lean_inc(x_1); +x_11 = l_Lean_Compiler_LCNF_Code_forM_go___rarg(x_1, x_2, x_10); +x_12 = lean_box_usize(x_4); +x_13 = lean_box_usize(x_5); +x_14 = lean_alloc_closure((void*)(l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Code_forM_go___spec__1___rarg___lambda__1___boxed), 6, 5); +lean_closure_set(x_14, 0, x_12); +lean_closure_set(x_14, 1, x_1); +lean_closure_set(x_14, 2, x_2); +lean_closure_set(x_14, 3, x_3); +lean_closure_set(x_14, 4, x_13); +x_15 = lean_apply_4(x_8, lean_box(0), lean_box(0), x_11, x_14); +return x_15; +} +else +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; +lean_dec(x_3); +lean_dec(x_2); +x_16 = lean_ctor_get(x_1, 0); +lean_inc(x_16); +lean_dec(x_1); +x_17 = lean_ctor_get(x_16, 1); +lean_inc(x_17); +lean_dec(x_16); +x_18 = lean_apply_2(x_17, lean_box(0), x_6); +return x_18; +} +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Code_forM_go___spec__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Code_forM_go___spec__1___rarg___boxed), 6, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_forM_go___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_Compiler_LCNF_Code_forM_go___rarg(x_1, x_2, x_3); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_forM_go___rarg___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_dec(x_5); +switch (lean_obj_tag(x_1)) { +case 0: +{ +lean_object* x_6; lean_object* x_7; +lean_dec(x_4); +x_6 = lean_ctor_get(x_1, 1); +lean_inc(x_6); +lean_dec(x_1); +x_7 = l_Lean_Compiler_LCNF_Code_forM_go___rarg(x_2, x_3, x_6); +return x_7; +} +case 1: +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_8 = lean_ctor_get(x_1, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_1, 1); +lean_inc(x_9); +lean_dec(x_1); +x_10 = lean_ctor_get(x_8, 4); +lean_inc(x_10); +lean_dec(x_8); +lean_inc(x_3); +lean_inc(x_2); +x_11 = l_Lean_Compiler_LCNF_Code_forM_go___rarg(x_2, x_3, x_10); +x_12 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Code_forM_go___rarg___lambda__1___boxed), 4, 3); +lean_closure_set(x_12, 0, x_2); +lean_closure_set(x_12, 1, x_3); +lean_closure_set(x_12, 2, x_9); +x_13 = lean_apply_4(x_4, lean_box(0), lean_box(0), x_11, x_12); +return x_13; +} +case 2: +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_14 = lean_ctor_get(x_1, 0); +lean_inc(x_14); +x_15 = lean_ctor_get(x_1, 1); +lean_inc(x_15); +lean_dec(x_1); +x_16 = lean_ctor_get(x_14, 4); +lean_inc(x_16); +lean_dec(x_14); +lean_inc(x_3); +lean_inc(x_2); +x_17 = l_Lean_Compiler_LCNF_Code_forM_go___rarg(x_2, x_3, x_16); +x_18 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Code_forM_go___rarg___lambda__1___boxed), 4, 3); +lean_closure_set(x_18, 0, x_2); +lean_closure_set(x_18, 1, x_3); +lean_closure_set(x_18, 2, x_15); +x_19 = lean_apply_4(x_4, lean_box(0), lean_box(0), x_17, x_18); +return x_19; +} +case 4: +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; +lean_dec(x_4); +x_20 = lean_ctor_get(x_1, 0); +lean_inc(x_20); +lean_dec(x_1); +x_21 = lean_ctor_get(x_20, 3); +lean_inc(x_21); +lean_dec(x_20); +x_22 = lean_array_get_size(x_21); +x_23 = lean_unsigned_to_nat(0u); +x_24 = lean_nat_dec_lt(x_23, x_22); +if (x_24 == 0) +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_3); +x_25 = lean_ctor_get(x_2, 0); +lean_inc(x_25); +lean_dec(x_2); +x_26 = lean_ctor_get(x_25, 1); +lean_inc(x_26); +lean_dec(x_25); +x_27 = lean_box(0); +x_28 = lean_apply_2(x_26, lean_box(0), x_27); +return x_28; +} +else +{ +uint8_t x_29; +x_29 = lean_nat_dec_le(x_22, x_22); +if (x_29 == 0) +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_3); +x_30 = lean_ctor_get(x_2, 0); +lean_inc(x_30); +lean_dec(x_2); +x_31 = lean_ctor_get(x_30, 1); +lean_inc(x_31); +lean_dec(x_30); +x_32 = lean_box(0); +x_33 = lean_apply_2(x_31, lean_box(0), x_32); +return x_33; +} +else +{ +size_t x_34; size_t x_35; lean_object* x_36; lean_object* x_37; +x_34 = 0; +x_35 = lean_usize_of_nat(x_22); +lean_dec(x_22); +x_36 = lean_box(0); +x_37 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Code_forM_go___spec__1___rarg(x_2, x_3, x_21, x_34, x_35, x_36); +return x_37; +} +} +} +default: +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_38 = lean_ctor_get(x_2, 0); +lean_inc(x_38); +lean_dec(x_2); +x_39 = lean_ctor_get(x_38, 1); +lean_inc(x_39); +lean_dec(x_38); +x_40 = lean_box(0); +x_41 = lean_apply_2(x_39, lean_box(0), x_40); +return x_41; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_forM_go___rarg(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; +x_4 = lean_ctor_get(x_1, 1); +lean_inc(x_4); +lean_inc(x_2); +lean_inc(x_3); +x_5 = lean_apply_1(x_2, x_3); +lean_inc(x_4); +x_6 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Code_forM_go___rarg___lambda__2), 5, 4); +lean_closure_set(x_6, 0, x_3); +lean_closure_set(x_6, 1, x_1); +lean_closure_set(x_6, 2, x_2); +lean_closure_set(x_6, 3, x_4); +x_7 = lean_apply_4(x_4, lean_box(0), lean_box(0), x_5, x_6); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_forM_go(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Code_forM_go___rarg), 3, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Code_forM_go___spec__1___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) { +_start: +{ +size_t x_7; size_t x_8; lean_object* x_9; +x_7 = lean_unbox_usize(x_1); +lean_dec(x_1); +x_8 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_9 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Code_forM_go___spec__1___rarg___lambda__1(x_7, x_2, x_3, x_4, x_8, x_6); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Code_forM_go___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: +{ +size_t x_7; size_t x_8; lean_object* x_9; +x_7 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_8 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_9 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Code_forM_go___spec__1___rarg(x_1, x_2, x_3, x_7, x_8, x_6); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_forM_go___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_Compiler_LCNF_Code_forM_go___rarg___lambda__1(x_1, x_2, x_3, x_4); +lean_dec(x_4); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_forM___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_Lean_Compiler_LCNF_Code_forM_go___rarg(x_1, x_3, x_2); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_forM(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Code_forM___rarg), 3, 0); +return x_2; +} +} static lean_object* _init_l_Lean_Compiler_LCNF_instInhabitedDecl___closed__1() { _start: { @@ -4305,7 +4600,7 @@ x_1 = l_Lean_Compiler_LCNF_instInhabitedDecl___closed__1; return x_1; } } -LEAN_EXPORT uint8_t l_List_beq___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_2877____spec__1(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT uint8_t l_List_beq___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3052____spec__1(lean_object* x_1, lean_object* x_2) { _start: { if (lean_obj_tag(x_1) == 0) @@ -4355,7 +4650,7 @@ goto _start; } } } -LEAN_EXPORT uint8_t l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_2877____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_EXPORT uint8_t l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3052____spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; uint8_t x_8; @@ -4397,7 +4692,7 @@ goto _start; } } } -LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_2877_(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT uint8_t l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3052_(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; @@ -4432,7 +4727,7 @@ return x_14; else { uint8_t x_15; -x_15 = l_List_beq___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_2877____spec__1(x_4, x_9); +x_15 = l_List_beq___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3052____spec__1(x_4, x_9); lean_dec(x_4); if (x_15 == 0) { @@ -4476,7 +4771,7 @@ else { lean_object* x_23; uint8_t x_24; x_23 = lean_unsigned_to_nat(0u); -x_24 = l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_2877____spec__2(x_6, x_11, lean_box(0), x_6, x_11, x_23); +x_24 = l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3052____spec__2(x_6, x_11, lean_box(0), x_6, x_11, x_23); lean_dec(x_6); if (x_24 == 0) { @@ -4497,22 +4792,22 @@ return x_26; } } } -LEAN_EXPORT lean_object* l_List_beq___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_2877____spec__1___boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_List_beq___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3052____spec__1___boxed(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; lean_object* x_4; -x_3 = l_List_beq___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_2877____spec__1(x_1, x_2); +x_3 = l_List_beq___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3052____spec__1(x_1, x_2); lean_dec(x_2); lean_dec(x_1); x_4 = lean_box(x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_2877____spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +LEAN_EXPORT lean_object* l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3052____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: { uint8_t x_7; lean_object* x_8; -x_7 = l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_2877____spec__2(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Array_isEqvAux___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3052____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_2); @@ -4521,11 +4816,11 @@ x_8 = lean_box(x_7); return x_8; } } -LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_2877____boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3052____boxed(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; lean_object* x_4; -x_3 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_2877_(x_1, x_2); +x_3 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3052_(x_1, x_2); lean_dec(x_2); x_4 = lean_box(x_3); return x_4; @@ -4535,7 +4830,7 @@ static lean_object* _init_l_Lean_Compiler_LCNF_instBEqDecl___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_2877____boxed), 2, 0); +x_1 = lean_alloc_closure((void*)(l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3052____boxed), 2, 0); return x_1; } } @@ -7905,7 +8200,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltImp___closed__1; x_2 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___closed__1; -x_3 = lean_unsigned_to_nat(384u); +x_3 = lean_unsigned_to_nat(395u); x_4 = lean_unsigned_to_nat(24u); x_5 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltImp___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Compiler/LCNF/Bind.c b/stage0/stdlib/Lean/Compiler/LCNF/Bind.c index 379c5b9446..8d62e41a0e 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/Bind.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/Bind.c @@ -21,21 +21,21 @@ lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Code_bind_go___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_uget(lean_object*, size_t); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_mkNewParams_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_etaExpandCore_x3f___lambda__1___closed__1; lean_object* l_Array_append___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Code_bind_go___spec__3(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_uset(lean_object*, size_t, lean_object*); static lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Code_bind_go___spec__2___closed__6; lean_object* lean_st_ref_get(lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_etaExpandCore_x3f___lambda__1___closed__2; lean_object* l_Lean_Compiler_LCNF_mkCasesResultType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); -static lean_object* l_Lean_Compiler_LCNF_FunDeclCore_etaExpand___lambda__1___closed__2; -static lean_object* l_Lean_Compiler_LCNF_FunDeclCore_etaExpand___lambda__1___closed__1; uint8_t lean_usize_dec_lt(size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_mkNewParams___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkAppN(lean_object*, lean_object*); lean_object* l_Lean_Compiler_LCNF_Code_inferParamType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Compiler_LCNF_FunDeclCore_getArity___rarg(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_etaExpand(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_headBeta(lean_object*); lean_object* l_Lean_Compiler_LCNF_instantiateForall_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Code_bind_go___spec__2___closed__3; @@ -52,7 +52,6 @@ static lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Code_bind_go___spe uint8_t l_Array_isEmpty___rarg(lean_object*); static lean_object* l_Lean_Compiler_LCNF_Code_bind_go___closed__1; lean_object* l_Std_RBNode_insert___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___spec__1(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_FunDeclCore_etaExpand___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateFunDeclImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Code_bind_go___closed__4; size_t lean_usize_of_nat(lean_object*); @@ -67,6 +66,7 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_bind_go___lambda__1(lean_obje lean_object* l_Lean_Compiler_LCNF_LCtx_toLocalContext(lean_object*); static lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Code_bind_go___spec__2___closed__2; static lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Code_bind_go___spec__2___closed__4; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_etaExpandCore_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_expr_instantiate_rev(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_mkNewParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_bind_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -76,6 +76,7 @@ lean_object* l_Lean_Compiler_LCNF_mkAuxParam(lean_object*, uint8_t, lean_object* LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_mkNewParams_go___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_mkNewParams_go___closed__1; static lean_object* l_Lean_Compiler_LCNF_Code_bind_go___closed__3; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_etaExpandCore_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_findCore___at_Lean_Compiler_LCNF_Code_bind_go___spec__1(lean_object* x_1, lean_object* x_2) { _start: { @@ -1611,7 +1612,7 @@ lean_dec(x_2); return x_6; } } -static lean_object* _init_l_Lean_Compiler_LCNF_FunDeclCore_etaExpand___lambda__1___closed__1() { +static lean_object* _init_l_Lean_Compiler_LCNF_etaExpandCore_x3f___lambda__1___closed__1() { _start: { lean_object* x_1; @@ -1619,23 +1620,23 @@ x_1 = lean_mk_string_from_bytes("_x", 2); return x_1; } } -static lean_object* _init_l_Lean_Compiler_LCNF_FunDeclCore_etaExpand___lambda__1___closed__2() { +static lean_object* _init_l_Lean_Compiler_LCNF_etaExpandCore_x3f___lambda__1___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Compiler_LCNF_FunDeclCore_etaExpand___lambda__1___closed__1; +x_2 = l_Lean_Compiler_LCNF_etaExpandCore_x3f___lambda__1___closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_FunDeclCore_etaExpand___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_etaExpandCore_x3f___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; x_7 = l_Lean_Expr_fvar___override(x_2); x_8 = l_Lean_mkAppN(x_7, x_1); -x_9 = l_Lean_Compiler_LCNF_FunDeclCore_etaExpand___lambda__1___closed__2; +x_9 = l_Lean_Compiler_LCNF_etaExpandCore_x3f___lambda__1___closed__2; x_10 = l_Lean_Compiler_LCNF_mkAuxLetDecl(x_8, x_9, x_3, x_4, x_5, x_6); if (lean_obj_tag(x_10) == 0) { @@ -1700,139 +1701,415 @@ return x_25; } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_FunDeclCore_etaExpand(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_etaExpandCore_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9; -x_6 = lean_ctor_get(x_1, 3); -lean_inc(x_6); -x_7 = l_Lean_Compiler_LCNF_getArrowArity(x_6); -x_8 = l_Lean_Compiler_LCNF_FunDeclCore_getArity___rarg(x_1); -x_9 = lean_nat_dec_le(x_7, x_8); +lean_object* x_8; lean_object* x_9; uint8_t x_10; +x_8 = l_Lean_Compiler_LCNF_getArrowArity(x_1); +x_9 = lean_array_get_size(x_2); +x_10 = lean_nat_dec_le(x_8, x_9); +lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -if (x_9 == 0) +if (x_10 == 0) { -lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_10 = lean_ctor_get(x_1, 2); -lean_inc(x_10); +lean_object* x_11; lean_object* x_12; x_11 = lean_unsigned_to_nat(0u); -lean_inc(x_3); -lean_inc(x_6); -lean_inc(x_10); -x_12 = l_Lean_Compiler_LCNF_instantiateForall_go(x_10, x_6, x_11, x_3, x_4, x_5); +lean_inc(x_5); +lean_inc(x_2); +x_12 = l_Lean_Compiler_LCNF_instantiateForall_go(x_2, x_1, x_11, x_5, x_6, x_7); if (lean_obj_tag(x_12) == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; size_t x_20; size_t x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +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; size_t x_20; size_t x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; x_13 = lean_ctor_get(x_12, 0); lean_inc(x_13); x_14 = lean_ctor_get(x_12, 1); lean_inc(x_14); lean_dec(x_12); -x_15 = l_Lean_Compiler_LCNF_mkNewParams(x_13, x_2, x_3, x_4, x_14); +x_15 = l_Lean_Compiler_LCNF_mkNewParams(x_13, x_4, x_5, x_6, x_14); x_16 = lean_ctor_get(x_15, 0); lean_inc(x_16); x_17 = lean_ctor_get(x_15, 1); lean_inc(x_17); lean_dec(x_15); lean_inc(x_16); -x_18 = l_Array_append___rarg(x_10, x_16); +x_18 = l_Array_append___rarg(x_2, x_16); x_19 = lean_array_get_size(x_16); x_20 = lean_usize_of_nat(x_19); lean_dec(x_19); x_21 = 0; x_22 = l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_InferType_mkForallParams___spec__1(x_20, x_21, x_16); -x_23 = lean_ctor_get(x_1, 4); -lean_inc(x_23); -x_24 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_FunDeclCore_etaExpand___lambda__1), 6, 1); -lean_closure_set(x_24, 0, x_22); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_25 = l_Lean_Compiler_LCNF_Code_bind(x_23, x_24, x_2, x_3, x_4, x_17); -if (lean_obj_tag(x_25) == 0) +x_23 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_etaExpandCore_x3f___lambda__1), 6, 1); +lean_closure_set(x_23, 0, x_22); +x_24 = l_Lean_Compiler_LCNF_Code_bind(x_3, x_23, x_4, x_5, x_6, x_17); +if (lean_obj_tag(x_24) == 0) +{ +uint8_t x_25; +x_25 = !lean_is_exclusive(x_24); +if (x_25 == 0) { lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_25, 0); -lean_inc(x_26); -x_27 = lean_ctor_get(x_25, 1); -lean_inc(x_27); -lean_dec(x_25); -x_28 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateFunDeclImp(x_1, x_6, x_18, x_26, x_2, x_3, x_4, x_27); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_28; +x_26 = lean_ctor_get(x_24, 0); +x_27 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_27, 0, x_18); +lean_ctor_set(x_27, 1, x_26); +x_28 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_24, 0, x_28); +return x_24; } else { -uint8_t x_29; -lean_dec(x_18); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_29 = !lean_is_exclusive(x_25); -if (x_29 == 0) -{ -return x_25; -} -else -{ -lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_30 = lean_ctor_get(x_25, 0); -x_31 = lean_ctor_get(x_25, 1); -lean_inc(x_31); +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_29 = lean_ctor_get(x_24, 0); +x_30 = lean_ctor_get(x_24, 1); lean_inc(x_30); -lean_dec(x_25); -x_32 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_32, 0, x_30); -lean_ctor_set(x_32, 1, x_31); -return x_32; +lean_inc(x_29); +lean_dec(x_24); +x_31 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_31, 0, x_18); +lean_ctor_set(x_31, 1, x_29); +x_32 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_32, 0, x_31); +x_33 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_33, 0, x_32); +lean_ctor_set(x_33, 1, x_30); +return x_33; +} +} +else +{ +uint8_t x_34; +lean_dec(x_18); +x_34 = !lean_is_exclusive(x_24); +if (x_34 == 0) +{ +return x_24; +} +else +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_24, 0); +x_36 = lean_ctor_get(x_24, 1); +lean_inc(x_36); +lean_inc(x_35); +lean_dec(x_24); +x_37 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_37, 0, x_35); +lean_ctor_set(x_37, 1, x_36); +return x_37; } } } else { -uint8_t x_33; -lean_dec(x_10); +uint8_t x_38; lean_dec(x_6); +lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -lean_dec(x_1); -x_33 = !lean_is_exclusive(x_12); -if (x_33 == 0) +x_38 = !lean_is_exclusive(x_12); +if (x_38 == 0) { return x_12; } else { -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_12, 0); -x_35 = lean_ctor_get(x_12, 1); -lean_inc(x_35); -lean_inc(x_34); +lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_39 = lean_ctor_get(x_12, 0); +x_40 = lean_ctor_get(x_12, 1); +lean_inc(x_40); +lean_inc(x_39); lean_dec(x_12); -x_36 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_36, 0, x_34); -lean_ctor_set(x_36, 1, x_35); -return x_36; +x_41 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_41, 0, x_39); +lean_ctor_set(x_41, 1, x_40); +return x_41; } } } else { -lean_object* x_37; +lean_object* x_42; lean_object* x_43; +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_42 = lean_box(0); +x_43 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_43, 0, x_42); +lean_ctor_set(x_43, 1, x_7); +return x_43; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_FunDeclCore_etaExpand(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; +x_6 = lean_ctor_get(x_1, 3); +lean_inc(x_6); +x_7 = lean_ctor_get(x_1, 2); +lean_inc(x_7); +x_8 = lean_ctor_get(x_1, 4); +lean_inc(x_8); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_6); +x_9 = l_Lean_Compiler_LCNF_etaExpandCore_x3f(x_6, x_7, x_8, x_2, x_3, x_4, x_5); +if (lean_obj_tag(x_9) == 0) +{ +lean_object* x_10; +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +if (lean_obj_tag(x_10) == 0) +{ +uint8_t x_11; lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_37 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_37, 0, x_1); -lean_ctor_set(x_37, 1, x_5); -return x_37; +x_11 = !lean_is_exclusive(x_9); +if (x_11 == 0) +{ +lean_object* x_12; +x_12 = lean_ctor_get(x_9, 0); +lean_dec(x_12); +lean_ctor_set(x_9, 0, x_1); +return x_9; +} +else +{ +lean_object* x_13; lean_object* x_14; +x_13 = lean_ctor_get(x_9, 1); +lean_inc(x_13); +lean_dec(x_9); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_1); +lean_ctor_set(x_14, 1, x_13); +return x_14; +} +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_15 = lean_ctor_get(x_10, 0); +lean_inc(x_15); +lean_dec(x_10); +x_16 = lean_ctor_get(x_9, 1); +lean_inc(x_16); +lean_dec(x_9); +x_17 = lean_ctor_get(x_15, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_15, 1); +lean_inc(x_18); +lean_dec(x_15); +x_19 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateFunDeclImp(x_1, x_6, x_17, x_18, x_2, x_3, x_4, x_16); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_19; +} +} +else +{ +uint8_t x_20; +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_20 = !lean_is_exclusive(x_9); +if (x_20 == 0) +{ +return x_9; +} +else +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_9, 0); +x_22 = lean_ctor_get(x_9, 1); +lean_inc(x_22); +lean_inc(x_21); +lean_dec(x_9); +x_23 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_23, 0, x_21); +lean_ctor_set(x_23, 1, x_22); +return x_23; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_etaExpand(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_6 = lean_ctor_get(x_1, 0); +lean_inc(x_6); +x_7 = lean_ctor_get(x_1, 1); +lean_inc(x_7); +x_8 = lean_ctor_get(x_1, 2); +lean_inc(x_8); +x_9 = lean_ctor_get(x_1, 3); +lean_inc(x_9); +x_10 = lean_ctor_get(x_1, 4); +lean_inc(x_10); +lean_inc(x_8); +x_11 = l_Lean_Compiler_LCNF_etaExpandCore_x3f(x_8, x_9, x_10, x_2, x_3, x_4, x_5); +if (lean_obj_tag(x_11) == 0) +{ +lean_object* x_12; +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +if (lean_obj_tag(x_12) == 0) +{ +uint8_t x_13; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +x_13 = !lean_is_exclusive(x_11); +if (x_13 == 0) +{ +lean_object* x_14; +x_14 = lean_ctor_get(x_11, 0); +lean_dec(x_14); +lean_ctor_set(x_11, 0, x_1); +return x_11; +} +else +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_ctor_get(x_11, 1); +lean_inc(x_15); +lean_dec(x_11); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_1); +lean_ctor_set(x_16, 1, x_15); +return x_16; +} +} +else +{ +uint8_t x_17; +x_17 = !lean_is_exclusive(x_1); +if (x_17 == 0) +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; +x_18 = lean_ctor_get(x_1, 4); +lean_dec(x_18); +x_19 = lean_ctor_get(x_1, 3); +lean_dec(x_19); +x_20 = lean_ctor_get(x_1, 2); +lean_dec(x_20); +x_21 = lean_ctor_get(x_1, 1); +lean_dec(x_21); +x_22 = lean_ctor_get(x_1, 0); +lean_dec(x_22); +x_23 = lean_ctor_get(x_12, 0); +lean_inc(x_23); +lean_dec(x_12); +x_24 = !lean_is_exclusive(x_11); +if (x_24 == 0) +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_11, 0); +lean_dec(x_25); +x_26 = lean_ctor_get(x_23, 0); +lean_inc(x_26); +x_27 = lean_ctor_get(x_23, 1); +lean_inc(x_27); +lean_dec(x_23); +lean_ctor_set(x_1, 4, x_27); +lean_ctor_set(x_1, 3, x_26); +lean_ctor_set(x_11, 0, x_1); +return x_11; +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_28 = lean_ctor_get(x_11, 1); +lean_inc(x_28); +lean_dec(x_11); +x_29 = lean_ctor_get(x_23, 0); +lean_inc(x_29); +x_30 = lean_ctor_get(x_23, 1); +lean_inc(x_30); +lean_dec(x_23); +lean_ctor_set(x_1, 4, x_30); +lean_ctor_set(x_1, 3, x_29); +x_31 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_31, 0, x_1); +lean_ctor_set(x_31, 1, x_28); +return x_31; +} +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; +lean_dec(x_1); +x_32 = lean_ctor_get(x_12, 0); +lean_inc(x_32); +lean_dec(x_12); +x_33 = lean_ctor_get(x_11, 1); +lean_inc(x_33); +if (lean_is_exclusive(x_11)) { + lean_ctor_release(x_11, 0); + lean_ctor_release(x_11, 1); + x_34 = x_11; +} else { + lean_dec_ref(x_11); + x_34 = lean_box(0); +} +x_35 = lean_ctor_get(x_32, 0); +lean_inc(x_35); +x_36 = lean_ctor_get(x_32, 1); +lean_inc(x_36); +lean_dec(x_32); +x_37 = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(x_37, 0, x_6); +lean_ctor_set(x_37, 1, x_7); +lean_ctor_set(x_37, 2, x_8); +lean_ctor_set(x_37, 3, x_35); +lean_ctor_set(x_37, 4, x_36); +if (lean_is_scalar(x_34)) { + x_38 = lean_alloc_ctor(0, 2, 0); +} else { + x_38 = x_34; +} +lean_ctor_set(x_38, 0, x_37); +lean_ctor_set(x_38, 1, x_33); +return x_38; +} +} +} +else +{ +uint8_t x_39; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_39 = !lean_is_exclusive(x_11); +if (x_39 == 0) +{ +return x_11; +} +else +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_40 = lean_ctor_get(x_11, 0); +x_41 = lean_ctor_get(x_11, 1); +lean_inc(x_41); +lean_inc(x_40); +lean_dec(x_11); +x_42 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_42, 0, x_40); +lean_ctor_set(x_42, 1, x_41); +return x_42; +} } } } @@ -1871,10 +2148,10 @@ l_Lean_Compiler_LCNF_Code_bind_go___closed__4 = _init_l_Lean_Compiler_LCNF_Code_ lean_mark_persistent(l_Lean_Compiler_LCNF_Code_bind_go___closed__4); l_Lean_Compiler_LCNF_mkNewParams_go___closed__1 = _init_l_Lean_Compiler_LCNF_mkNewParams_go___closed__1(); lean_mark_persistent(l_Lean_Compiler_LCNF_mkNewParams_go___closed__1); -l_Lean_Compiler_LCNF_FunDeclCore_etaExpand___lambda__1___closed__1 = _init_l_Lean_Compiler_LCNF_FunDeclCore_etaExpand___lambda__1___closed__1(); -lean_mark_persistent(l_Lean_Compiler_LCNF_FunDeclCore_etaExpand___lambda__1___closed__1); -l_Lean_Compiler_LCNF_FunDeclCore_etaExpand___lambda__1___closed__2 = _init_l_Lean_Compiler_LCNF_FunDeclCore_etaExpand___lambda__1___closed__2(); -lean_mark_persistent(l_Lean_Compiler_LCNF_FunDeclCore_etaExpand___lambda__1___closed__2); +l_Lean_Compiler_LCNF_etaExpandCore_x3f___lambda__1___closed__1 = _init_l_Lean_Compiler_LCNF_etaExpandCore_x3f___lambda__1___closed__1(); +lean_mark_persistent(l_Lean_Compiler_LCNF_etaExpandCore_x3f___lambda__1___closed__1); +l_Lean_Compiler_LCNF_etaExpandCore_x3f___lambda__1___closed__2 = _init_l_Lean_Compiler_LCNF_etaExpandCore_x3f___lambda__1___closed__2(); +lean_mark_persistent(l_Lean_Compiler_LCNF_etaExpandCore_x3f___lambda__1___closed__2); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Lean/Compiler/LCNF/CSE.c b/stage0/stdlib/Lean/Compiler/LCNF/CSE.c index ec3d243095..4b156981cf 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/CSE.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/CSE.c @@ -22,6 +22,7 @@ lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateParamImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateLetDeclImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_984____closed__3; static lean_object* l_Lean_Compiler_LCNF_CSE_State_map___default___closed__3; uint8_t lean_usize_dec_eq(size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_withNewScope(lean_object*); @@ -31,6 +32,7 @@ static lean_object* l_Lean_Compiler_LCNF_Code_cse_go___closed__2; lean_object* lean_st_ref_get(lean_object*, lean_object*); static size_t l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_CSE_addEntry___spec__2___closed__2; uint8_t lean_name_eq(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_replaceLet(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_instMonadFVarSubstM___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_Code_cse_go___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); @@ -38,8 +40,8 @@ lean_object* lean_array_get_size(lean_object*); lean_object* l_Std_PersistentHashMap_getCollisionNodeSize___rarg(lean_object*); static lean_object* l_Lean_Compiler_LCNF_cse___closed__4; static lean_object* l_Lean_Compiler_LCNF_cse___closed__2; -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_replaceFVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_shift_right(size_t, size_t); +lean_object* l_Lean_Compiler_LCNF_eraseLetDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_Code_cse_goFunDecl___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltCodeImp(lean_object*, lean_object*); lean_object* l_Lean_Compiler_LCNF_FunDeclCore_toExpr(lean_object*, lean_object*); @@ -50,9 +52,9 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_instMonadFVarSubstM; static lean_object* l_Lean_Compiler_LCNF_cse___closed__1; size_t lean_uint64_to_usize(uint64_t); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insert___at_Lean_Compiler_LCNF_CSE_addEntry___spec__1(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Compiler_LCNF_eraseFunDecl(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAtAux___at_Lean_Compiler_LCNF_Code_cse_go___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_LCNF_CSE_addEntry___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_939____closed__3; lean_object* lean_array_fget(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at_Lean_Compiler_LCNF_Code_cse_goFunDecl___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normLetDecl___at_Lean_Compiler_LCNF_Code_cse_go___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -67,6 +69,7 @@ lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); lean_object* l_Std_mkHashMapImp___rarg(lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_CSE_addEntry___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_StateRefT_x27_get___at_Lean_Compiler_LCNF_CSE_instMonadFVarSubstM___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_replaceLet___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normParams___at_Lean_Compiler_LCNF_Code_cse_goFunDecl___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_CSE_addEntry___spec__2___closed__3; lean_object* lean_st_mk_ref(lean_object*, lean_object*); @@ -84,22 +87,24 @@ lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_norm size_t lean_usize_mul(size_t, size_t); static lean_object* l_Lean_Compiler_LCNF_CSE_State_map___default___closed__1; lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateFunDeclImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_replaceFun___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at_Lean_Compiler_LCNF_Code_cse_go___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_land(size_t, size_t); static lean_object* l_Lean_Compiler_LCNF_Code_cse_go___closed__1; LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at_Lean_Compiler_LCNF_Code_cse_go___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_984____closed__2; static lean_object* l_Lean_Compiler_LCNF_cse___closed__3; static lean_object* l_Lean_Compiler_LCNF_CSE_instMonadFVarSubstM___closed__2; lean_object* l_Lean_Expr_fvar___override(lean_object*); size_t lean_ptr_addr(lean_object*); -lean_object* l_Lean_Compiler_LCNF_eraseFVar(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_Compiler_LCNF_CSE_instMonadFVarSubstM___spec__2(lean_object*, lean_object*); uint8_t lean_expr_eqv(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_Compiler_LCNF_CSE_addEntry___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_usize_dec_le(size_t, size_t); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAtAux___at_Lean_Compiler_LCNF_Code_cse_go___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_replaceFun(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_CSE_instMonadFVarSubstM___closed__1; -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_939_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_984_(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_getSubst___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAux___at_Lean_Compiler_LCNF_Code_cse_go___spec__3(lean_object*, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_addEntry___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -112,11 +117,9 @@ static size_t l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_CSE_addE LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_CSE_addEntry___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_State_subst___default; +static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_984____closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_cse_go___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_usize_to_nat(size_t); -static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_939____closed__1; -static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_939____closed__2; -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_replaceFVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_withNewScope___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_Compiler_LCNF_CSE_instMonadFVarSubstM___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normExprs___at_Lean_Compiler_LCNF_Code_cse_go___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1254,35 +1257,36 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_CSE_withNewScope___rarg), return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_replaceFVar(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_replaceLet(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -uint8_t x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; -x_8 = 1; -lean_inc(x_1); -x_9 = l_Lean_Compiler_LCNF_eraseFVar(x_1, x_8, x_4, x_5, x_6, x_7); -x_10 = lean_ctor_get(x_9, 1); -lean_inc(x_10); -lean_dec(x_9); -x_11 = lean_st_ref_get(x_6, x_10); -x_12 = lean_ctor_get(x_11, 1); -lean_inc(x_12); -lean_dec(x_11); -x_13 = lean_st_ref_take(x_3, x_12); -x_14 = lean_ctor_get(x_13, 0); +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; +x_8 = l_Lean_Compiler_LCNF_eraseLetDecl(x_1, x_4, x_5, x_6, x_7); +x_9 = lean_ctor_get(x_8, 1); +lean_inc(x_9); +lean_dec(x_8); +x_10 = lean_st_ref_get(x_6, x_9); +x_11 = lean_ctor_get(x_10, 1); +lean_inc(x_11); +lean_dec(x_10); +x_12 = lean_st_ref_take(x_3, x_11); +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_12, 1); lean_inc(x_14); -x_15 = lean_ctor_get(x_13, 1); -lean_inc(x_15); -lean_dec(x_13); -x_16 = !lean_is_exclusive(x_14); -if (x_16 == 0) +lean_dec(x_12); +x_15 = !lean_is_exclusive(x_13); +if (x_15 == 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_14, 1); +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_13, 1); +x_17 = lean_ctor_get(x_1, 0); +lean_inc(x_17); +lean_dec(x_1); x_18 = l_Lean_Expr_fvar___override(x_2); -x_19 = l_Std_HashMap_insert___at___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_mkNewFVarId___spec__3(x_17, x_1, x_18); -lean_ctor_set(x_14, 1, x_19); -x_20 = lean_st_ref_set(x_3, x_14, x_15); +x_19 = l_Std_HashMap_insert___at___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_mkNewFVarId___spec__3(x_16, x_17, x_18); +lean_ctor_set(x_13, 1, x_19); +x_20 = lean_st_ref_set(x_3, x_13, x_14); x_21 = !lean_is_exclusive(x_20); if (x_21 == 0) { @@ -1308,45 +1312,154 @@ return x_26; } else { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_27 = lean_ctor_get(x_14, 0); -x_28 = lean_ctor_get(x_14, 1); +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_27 = lean_ctor_get(x_13, 0); +x_28 = lean_ctor_get(x_13, 1); lean_inc(x_28); lean_inc(x_27); -lean_dec(x_14); -x_29 = l_Lean_Expr_fvar___override(x_2); -x_30 = l_Std_HashMap_insert___at___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_mkNewFVarId___spec__3(x_28, x_1, x_29); -x_31 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_31, 0, x_27); -lean_ctor_set(x_31, 1, x_30); -x_32 = lean_st_ref_set(x_3, x_31, x_15); -x_33 = lean_ctor_get(x_32, 1); -lean_inc(x_33); -if (lean_is_exclusive(x_32)) { - lean_ctor_release(x_32, 0); - lean_ctor_release(x_32, 1); - x_34 = x_32; +lean_dec(x_13); +x_29 = lean_ctor_get(x_1, 0); +lean_inc(x_29); +lean_dec(x_1); +x_30 = l_Lean_Expr_fvar___override(x_2); +x_31 = l_Std_HashMap_insert___at___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_mkNewFVarId___spec__3(x_28, x_29, x_30); +x_32 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_32, 0, x_27); +lean_ctor_set(x_32, 1, x_31); +x_33 = lean_st_ref_set(x_3, x_32, x_14); +x_34 = lean_ctor_get(x_33, 1); +lean_inc(x_34); +if (lean_is_exclusive(x_33)) { + lean_ctor_release(x_33, 0); + lean_ctor_release(x_33, 1); + x_35 = x_33; } else { - lean_dec_ref(x_32); - x_34 = lean_box(0); + lean_dec_ref(x_33); + x_35 = lean_box(0); } -x_35 = lean_box(0); -if (lean_is_scalar(x_34)) { - x_36 = lean_alloc_ctor(0, 2, 0); +x_36 = lean_box(0); +if (lean_is_scalar(x_35)) { + x_37 = lean_alloc_ctor(0, 2, 0); } else { - x_36 = x_34; + x_37 = x_35; } -lean_ctor_set(x_36, 0, x_35); -lean_ctor_set(x_36, 1, x_33); -return x_36; +lean_ctor_set(x_37, 0, x_36); +lean_ctor_set(x_37, 1, x_34); +return x_37; } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_replaceFVar___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_replaceLet___boxed(lean_object* x_1, 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_Compiler_LCNF_CSE_replaceFVar(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Lean_Compiler_LCNF_CSE_replaceLet(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_8; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_replaceFun(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +uint8_t x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; +x_8 = 1; +lean_inc(x_1); +x_9 = l_Lean_Compiler_LCNF_eraseFunDecl(x_1, x_8, x_4, x_5, x_6, x_7); +x_10 = lean_ctor_get(x_9, 1); +lean_inc(x_10); +lean_dec(x_9); +x_11 = lean_st_ref_get(x_6, x_10); +x_12 = lean_ctor_get(x_11, 1); +lean_inc(x_12); +lean_dec(x_11); +x_13 = lean_st_ref_take(x_3, x_12); +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +x_16 = !lean_is_exclusive(x_14); +if (x_16 == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; +x_17 = lean_ctor_get(x_14, 1); +x_18 = lean_ctor_get(x_1, 0); +lean_inc(x_18); +lean_dec(x_1); +x_19 = l_Lean_Expr_fvar___override(x_2); +x_20 = l_Std_HashMap_insert___at___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_mkNewFVarId___spec__3(x_17, x_18, x_19); +lean_ctor_set(x_14, 1, x_20); +x_21 = lean_st_ref_set(x_3, x_14, x_15); +x_22 = !lean_is_exclusive(x_21); +if (x_22 == 0) +{ +lean_object* x_23; lean_object* x_24; +x_23 = lean_ctor_get(x_21, 0); +lean_dec(x_23); +x_24 = lean_box(0); +lean_ctor_set(x_21, 0, x_24); +return x_21; +} +else +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_21, 1); +lean_inc(x_25); +lean_dec(x_21); +x_26 = lean_box(0); +x_27 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_27, 0, x_26); +lean_ctor_set(x_27, 1, x_25); +return x_27; +} +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_28 = lean_ctor_get(x_14, 0); +x_29 = lean_ctor_get(x_14, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_14); +x_30 = lean_ctor_get(x_1, 0); +lean_inc(x_30); +lean_dec(x_1); +x_31 = l_Lean_Expr_fvar___override(x_2); +x_32 = l_Std_HashMap_insert___at___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_mkNewFVarId___spec__3(x_29, x_30, x_31); +x_33 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_33, 0, x_28); +lean_ctor_set(x_33, 1, x_32); +x_34 = lean_st_ref_set(x_3, x_33, x_15); +x_35 = lean_ctor_get(x_34, 1); +lean_inc(x_35); +if (lean_is_exclusive(x_34)) { + lean_ctor_release(x_34, 0); + lean_ctor_release(x_34, 1); + x_36 = x_34; +} else { + lean_dec_ref(x_34); + x_36 = lean_box(0); +} +x_37 = lean_box(0); +if (lean_is_scalar(x_36)) { + x_38 = lean_alloc_ctor(0, 2, 0); +} else { + x_38 = x_36; +} +lean_ctor_set(x_38, 0, x_37); +lean_ctor_set(x_38, 1, x_35); +return x_38; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CSE_replaceFun___boxed(lean_object* x_1, 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_Compiler_LCNF_CSE_replaceFun(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); @@ -3086,1580 +3199,1574 @@ return x_93; } else { -lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; +lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_dec(x_18); lean_dec(x_7); lean_dec(x_1); x_94 = lean_ctor_get(x_19, 0); lean_inc(x_94); lean_dec(x_19); -x_95 = lean_ctor_get(x_10, 0); -lean_inc(x_95); -lean_dec(x_10); -x_96 = l_Lean_Compiler_LCNF_CSE_replaceFVar(x_95, x_94, x_2, x_3, x_4, x_5, x_16); -x_97 = lean_ctor_get(x_96, 1); -lean_inc(x_97); -lean_dec(x_96); +x_95 = l_Lean_Compiler_LCNF_CSE_replaceLet(x_10, x_94, x_2, x_3, x_4, x_5, x_16); +x_96 = lean_ctor_get(x_95, 1); +lean_inc(x_96); +lean_dec(x_95); x_1 = x_8; -x_6 = x_97; +x_6 = x_96; goto _start; } } case 1: { -lean_object* x_99; lean_object* x_100; lean_object* x_101; -x_99 = lean_ctor_get(x_1, 0); +lean_object* x_98; lean_object* x_99; lean_object* x_100; +x_98 = lean_ctor_get(x_1, 0); +lean_inc(x_98); +x_99 = lean_ctor_get(x_1, 1); lean_inc(x_99); -x_100 = lean_ctor_get(x_1, 1); -lean_inc(x_100); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -lean_inc(x_99); -x_101 = l_Lean_Compiler_LCNF_Code_cse_goFunDecl(x_99, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_101) == 0) +lean_inc(x_98); +x_100 = l_Lean_Compiler_LCNF_Code_cse_goFunDecl(x_98, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_100) == 0) { -lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; -x_102 = lean_ctor_get(x_101, 0); +lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; +x_101 = lean_ctor_get(x_100, 0); +lean_inc(x_101); +x_102 = lean_ctor_get(x_100, 1); lean_inc(x_102); -x_103 = lean_ctor_get(x_101, 1); -lean_inc(x_103); -lean_dec(x_101); -x_104 = l_Lean_Compiler_LCNF_Code_cse_go___closed__1; -lean_inc(x_102); -x_105 = l_Lean_Compiler_LCNF_FunDeclCore_toExpr(x_102, x_104); -x_106 = lean_st_ref_get(x_5, x_103); -x_107 = lean_ctor_get(x_106, 1); -lean_inc(x_107); -lean_dec(x_106); -x_108 = lean_st_ref_get(x_2, x_107); -x_109 = lean_ctor_get(x_108, 0); +lean_dec(x_100); +x_103 = l_Lean_Compiler_LCNF_Code_cse_go___closed__1; +lean_inc(x_101); +x_104 = l_Lean_Compiler_LCNF_FunDeclCore_toExpr(x_101, x_103); +x_105 = lean_st_ref_get(x_5, x_102); +x_106 = lean_ctor_get(x_105, 1); +lean_inc(x_106); +lean_dec(x_105); +x_107 = lean_st_ref_get(x_2, x_106); +x_108 = lean_ctor_get(x_107, 0); +lean_inc(x_108); +x_109 = lean_ctor_get(x_107, 1); lean_inc(x_109); -x_110 = lean_ctor_get(x_108, 1); +lean_dec(x_107); +x_110 = lean_ctor_get(x_108, 0); lean_inc(x_110); lean_dec(x_108); -x_111 = lean_ctor_get(x_109, 0); -lean_inc(x_111); -lean_dec(x_109); -lean_inc(x_105); -x_112 = l_Std_PersistentHashMap_find_x3f___at_Lean_Compiler_LCNF_Code_cse_go___spec__2(x_111, x_105); -if (lean_obj_tag(x_112) == 0) +lean_inc(x_104); +x_111 = l_Std_PersistentHashMap_find_x3f___at_Lean_Compiler_LCNF_Code_cse_go___spec__2(x_110, x_104); +if (lean_obj_tag(x_111) == 0) { -lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; uint8_t x_119; -x_113 = lean_ctor_get(x_102, 0); -lean_inc(x_113); -x_114 = lean_st_ref_get(x_5, x_110); -x_115 = lean_ctor_get(x_114, 1); -lean_inc(x_115); -lean_dec(x_114); -x_116 = lean_st_ref_take(x_2, x_115); -x_117 = lean_ctor_get(x_116, 0); +lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; uint8_t x_118; +x_112 = lean_ctor_get(x_101, 0); +lean_inc(x_112); +x_113 = lean_st_ref_get(x_5, x_109); +x_114 = lean_ctor_get(x_113, 1); +lean_inc(x_114); +lean_dec(x_113); +x_115 = lean_st_ref_take(x_2, x_114); +x_116 = lean_ctor_get(x_115, 0); +lean_inc(x_116); +x_117 = lean_ctor_get(x_115, 1); lean_inc(x_117); -x_118 = lean_ctor_get(x_116, 1); -lean_inc(x_118); -lean_dec(x_116); -x_119 = !lean_is_exclusive(x_117); -if (x_119 == 0) +lean_dec(x_115); +x_118 = !lean_is_exclusive(x_116); +if (x_118 == 0) { -lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; -x_120 = lean_ctor_get(x_117, 0); -x_121 = l_Std_PersistentHashMap_insert___at_Lean_Compiler_LCNF_CSE_addEntry___spec__1(x_120, x_105, x_113); -lean_ctor_set(x_117, 0, x_121); -x_122 = lean_st_ref_set(x_2, x_117, x_118); -x_123 = lean_ctor_get(x_122, 1); -lean_inc(x_123); -lean_dec(x_122); -lean_inc(x_100); -x_124 = l_Lean_Compiler_LCNF_Code_cse_go(x_100, x_2, x_3, x_4, x_5, x_123); -if (lean_obj_tag(x_124) == 0) +lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; +x_119 = lean_ctor_get(x_116, 0); +x_120 = l_Std_PersistentHashMap_insert___at_Lean_Compiler_LCNF_CSE_addEntry___spec__1(x_119, x_104, x_112); +lean_ctor_set(x_116, 0, x_120); +x_121 = lean_st_ref_set(x_2, x_116, x_117); +x_122 = lean_ctor_get(x_121, 1); +lean_inc(x_122); +lean_dec(x_121); +lean_inc(x_99); +x_123 = l_Lean_Compiler_LCNF_Code_cse_go(x_99, x_2, x_3, x_4, x_5, x_122); +if (lean_obj_tag(x_123) == 0) { -uint8_t x_125; -x_125 = !lean_is_exclusive(x_124); -if (x_125 == 0) +uint8_t x_124; +x_124 = !lean_is_exclusive(x_123); +if (x_124 == 0) { -lean_object* x_126; size_t x_127; size_t x_128; uint8_t x_129; -x_126 = lean_ctor_get(x_124, 0); -x_127 = lean_ptr_addr(x_100); -lean_dec(x_100); -x_128 = lean_ptr_addr(x_126); -x_129 = lean_usize_dec_eq(x_127, x_128); +lean_object* x_125; size_t x_126; size_t x_127; uint8_t x_128; +x_125 = lean_ctor_get(x_123, 0); +x_126 = lean_ptr_addr(x_99); +lean_dec(x_99); +x_127 = lean_ptr_addr(x_125); +x_128 = lean_usize_dec_eq(x_126, x_127); +if (x_128 == 0) +{ +uint8_t x_129; +lean_dec(x_98); +x_129 = !lean_is_exclusive(x_1); if (x_129 == 0) { -uint8_t x_130; -lean_dec(x_99); -x_130 = !lean_is_exclusive(x_1); -if (x_130 == 0) -{ -lean_object* x_131; lean_object* x_132; -x_131 = lean_ctor_get(x_1, 1); +lean_object* x_130; lean_object* x_131; +x_130 = lean_ctor_get(x_1, 1); +lean_dec(x_130); +x_131 = lean_ctor_get(x_1, 0); lean_dec(x_131); -x_132 = lean_ctor_get(x_1, 0); -lean_dec(x_132); -lean_ctor_set(x_1, 1, x_126); -lean_ctor_set(x_1, 0, x_102); -lean_ctor_set(x_124, 0, x_1); -return x_124; +lean_ctor_set(x_1, 1, x_125); +lean_ctor_set(x_1, 0, x_101); +lean_ctor_set(x_123, 0, x_1); +return x_123; } else { -lean_object* x_133; +lean_object* x_132; lean_dec(x_1); -x_133 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_133, 0, x_102); -lean_ctor_set(x_133, 1, x_126); -lean_ctor_set(x_124, 0, x_133); -return x_124; +x_132 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_132, 0, x_101); +lean_ctor_set(x_132, 1, x_125); +lean_ctor_set(x_123, 0, x_132); +return x_123; } } else { -size_t x_134; size_t x_135; uint8_t x_136; -x_134 = lean_ptr_addr(x_99); -lean_dec(x_99); -x_135 = lean_ptr_addr(x_102); -x_136 = lean_usize_dec_eq(x_134, x_135); +size_t x_133; size_t x_134; uint8_t x_135; +x_133 = lean_ptr_addr(x_98); +lean_dec(x_98); +x_134 = lean_ptr_addr(x_101); +x_135 = lean_usize_dec_eq(x_133, x_134); +if (x_135 == 0) +{ +uint8_t x_136; +x_136 = !lean_is_exclusive(x_1); if (x_136 == 0) { -uint8_t x_137; -x_137 = !lean_is_exclusive(x_1); -if (x_137 == 0) -{ -lean_object* x_138; lean_object* x_139; -x_138 = lean_ctor_get(x_1, 1); +lean_object* x_137; lean_object* x_138; +x_137 = lean_ctor_get(x_1, 1); +lean_dec(x_137); +x_138 = lean_ctor_get(x_1, 0); lean_dec(x_138); -x_139 = lean_ctor_get(x_1, 0); -lean_dec(x_139); -lean_ctor_set(x_1, 1, x_126); -lean_ctor_set(x_1, 0, x_102); -lean_ctor_set(x_124, 0, x_1); -return x_124; +lean_ctor_set(x_1, 1, x_125); +lean_ctor_set(x_1, 0, x_101); +lean_ctor_set(x_123, 0, x_1); +return x_123; } else { -lean_object* x_140; +lean_object* x_139; lean_dec(x_1); -x_140 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_140, 0, x_102); -lean_ctor_set(x_140, 1, x_126); -lean_ctor_set(x_124, 0, x_140); -return x_124; +x_139 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_139, 0, x_101); +lean_ctor_set(x_139, 1, x_125); +lean_ctor_set(x_123, 0, x_139); +return x_123; } } else { -lean_dec(x_126); -lean_dec(x_102); -lean_ctor_set(x_124, 0, x_1); -return x_124; +lean_dec(x_125); +lean_dec(x_101); +lean_ctor_set(x_123, 0, x_1); +return x_123; } } } else { -lean_object* x_141; lean_object* x_142; size_t x_143; size_t x_144; uint8_t x_145; -x_141 = lean_ctor_get(x_124, 0); -x_142 = lean_ctor_get(x_124, 1); -lean_inc(x_142); +lean_object* x_140; lean_object* x_141; size_t x_142; size_t x_143; uint8_t x_144; +x_140 = lean_ctor_get(x_123, 0); +x_141 = lean_ctor_get(x_123, 1); lean_inc(x_141); -lean_dec(x_124); -x_143 = lean_ptr_addr(x_100); -lean_dec(x_100); -x_144 = lean_ptr_addr(x_141); -x_145 = lean_usize_dec_eq(x_143, x_144); -if (x_145 == 0) -{ -lean_object* x_146; lean_object* x_147; lean_object* x_148; +lean_inc(x_140); +lean_dec(x_123); +x_142 = lean_ptr_addr(x_99); lean_dec(x_99); +x_143 = lean_ptr_addr(x_140); +x_144 = lean_usize_dec_eq(x_142, x_143); +if (x_144 == 0) +{ +lean_object* x_145; lean_object* x_146; lean_object* x_147; +lean_dec(x_98); if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); lean_ctor_release(x_1, 1); - x_146 = x_1; + x_145 = x_1; } else { lean_dec_ref(x_1); - x_146 = lean_box(0); + x_145 = lean_box(0); } -if (lean_is_scalar(x_146)) { - x_147 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_145)) { + x_146 = lean_alloc_ctor(1, 2, 0); } else { - x_147 = x_146; + x_146 = x_145; } -lean_ctor_set(x_147, 0, x_102); +lean_ctor_set(x_146, 0, x_101); +lean_ctor_set(x_146, 1, x_140); +x_147 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_147, 0, x_146); lean_ctor_set(x_147, 1, x_141); -x_148 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_148, 0, x_147); -lean_ctor_set(x_148, 1, x_142); -return x_148; +return x_147; } else { -size_t x_149; size_t x_150; uint8_t x_151; -x_149 = lean_ptr_addr(x_99); -lean_dec(x_99); -x_150 = lean_ptr_addr(x_102); -x_151 = lean_usize_dec_eq(x_149, x_150); -if (x_151 == 0) +size_t x_148; size_t x_149; uint8_t x_150; +x_148 = lean_ptr_addr(x_98); +lean_dec(x_98); +x_149 = lean_ptr_addr(x_101); +x_150 = lean_usize_dec_eq(x_148, x_149); +if (x_150 == 0) { -lean_object* x_152; lean_object* x_153; lean_object* x_154; +lean_object* x_151; lean_object* x_152; lean_object* x_153; if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); lean_ctor_release(x_1, 1); - x_152 = x_1; + x_151 = x_1; } else { lean_dec_ref(x_1); - x_152 = lean_box(0); + x_151 = lean_box(0); } -if (lean_is_scalar(x_152)) { - x_153 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_151)) { + x_152 = lean_alloc_ctor(1, 2, 0); } else { - x_153 = x_152; + x_152 = x_151; } -lean_ctor_set(x_153, 0, x_102); +lean_ctor_set(x_152, 0, x_101); +lean_ctor_set(x_152, 1, x_140); +x_153 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_153, 0, x_152); lean_ctor_set(x_153, 1, x_141); +return x_153; +} +else +{ +lean_object* x_154; +lean_dec(x_140); +lean_dec(x_101); x_154 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_154, 0, x_153); -lean_ctor_set(x_154, 1, x_142); +lean_ctor_set(x_154, 0, x_1); +lean_ctor_set(x_154, 1, x_141); return x_154; } -else -{ -lean_object* x_155; -lean_dec(x_141); -lean_dec(x_102); -x_155 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_155, 0, x_1); -lean_ctor_set(x_155, 1, x_142); -return x_155; -} } } } else { -uint8_t x_156; -lean_dec(x_102); -lean_dec(x_100); +uint8_t x_155; +lean_dec(x_101); lean_dec(x_99); +lean_dec(x_98); lean_dec(x_1); -x_156 = !lean_is_exclusive(x_124); -if (x_156 == 0) +x_155 = !lean_is_exclusive(x_123); +if (x_155 == 0) { -return x_124; +return x_123; } else { -lean_object* x_157; lean_object* x_158; lean_object* x_159; -x_157 = lean_ctor_get(x_124, 0); -x_158 = lean_ctor_get(x_124, 1); -lean_inc(x_158); +lean_object* x_156; lean_object* x_157; lean_object* x_158; +x_156 = lean_ctor_get(x_123, 0); +x_157 = lean_ctor_get(x_123, 1); lean_inc(x_157); -lean_dec(x_124); -x_159 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_159, 0, x_157); -lean_ctor_set(x_159, 1, x_158); -return x_159; +lean_inc(x_156); +lean_dec(x_123); +x_158 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_158, 0, x_156); +lean_ctor_set(x_158, 1, x_157); +return x_158; } } } else { -lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; -x_160 = lean_ctor_get(x_117, 0); -x_161 = lean_ctor_get(x_117, 1); -lean_inc(x_161); +lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; +x_159 = lean_ctor_get(x_116, 0); +x_160 = lean_ctor_get(x_116, 1); lean_inc(x_160); -lean_dec(x_117); -x_162 = l_Std_PersistentHashMap_insert___at_Lean_Compiler_LCNF_CSE_addEntry___spec__1(x_160, x_105, x_113); -x_163 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_163, 0, x_162); -lean_ctor_set(x_163, 1, x_161); -x_164 = lean_st_ref_set(x_2, x_163, x_118); -x_165 = lean_ctor_get(x_164, 1); -lean_inc(x_165); -lean_dec(x_164); -lean_inc(x_100); -x_166 = l_Lean_Compiler_LCNF_Code_cse_go(x_100, x_2, x_3, x_4, x_5, x_165); -if (lean_obj_tag(x_166) == 0) +lean_inc(x_159); +lean_dec(x_116); +x_161 = l_Std_PersistentHashMap_insert___at_Lean_Compiler_LCNF_CSE_addEntry___spec__1(x_159, x_104, x_112); +x_162 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_162, 0, x_161); +lean_ctor_set(x_162, 1, x_160); +x_163 = lean_st_ref_set(x_2, x_162, x_117); +x_164 = lean_ctor_get(x_163, 1); +lean_inc(x_164); +lean_dec(x_163); +lean_inc(x_99); +x_165 = l_Lean_Compiler_LCNF_Code_cse_go(x_99, x_2, x_3, x_4, x_5, x_164); +if (lean_obj_tag(x_165) == 0) { -lean_object* x_167; lean_object* x_168; lean_object* x_169; size_t x_170; size_t x_171; uint8_t x_172; -x_167 = lean_ctor_get(x_166, 0); +lean_object* x_166; lean_object* x_167; lean_object* x_168; size_t x_169; size_t 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); -x_168 = lean_ctor_get(x_166, 1); -lean_inc(x_168); -if (lean_is_exclusive(x_166)) { - lean_ctor_release(x_166, 0); - lean_ctor_release(x_166, 1); - x_169 = x_166; +if (lean_is_exclusive(x_165)) { + lean_ctor_release(x_165, 0); + lean_ctor_release(x_165, 1); + x_168 = x_165; } else { - lean_dec_ref(x_166); - x_169 = lean_box(0); + lean_dec_ref(x_165); + x_168 = lean_box(0); } -x_170 = lean_ptr_addr(x_100); -lean_dec(x_100); -x_171 = lean_ptr_addr(x_167); -x_172 = lean_usize_dec_eq(x_170, x_171); -if (x_172 == 0) -{ -lean_object* x_173; lean_object* x_174; lean_object* x_175; +x_169 = lean_ptr_addr(x_99); lean_dec(x_99); +x_170 = lean_ptr_addr(x_166); +x_171 = lean_usize_dec_eq(x_169, x_170); +if (x_171 == 0) +{ +lean_object* x_172; lean_object* x_173; lean_object* x_174; +lean_dec(x_98); if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); lean_ctor_release(x_1, 1); - x_173 = x_1; + x_172 = x_1; } else { lean_dec_ref(x_1); - x_173 = lean_box(0); + x_172 = lean_box(0); } -if (lean_is_scalar(x_173)) { - x_174 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_172)) { + x_173 = lean_alloc_ctor(1, 2, 0); } else { - x_174 = x_173; + x_173 = x_172; } -lean_ctor_set(x_174, 0, x_102); +lean_ctor_set(x_173, 0, x_101); +lean_ctor_set(x_173, 1, x_166); +if (lean_is_scalar(x_168)) { + x_174 = lean_alloc_ctor(0, 2, 0); +} else { + x_174 = x_168; +} +lean_ctor_set(x_174, 0, x_173); lean_ctor_set(x_174, 1, x_167); -if (lean_is_scalar(x_169)) { - x_175 = lean_alloc_ctor(0, 2, 0); -} else { - x_175 = x_169; -} -lean_ctor_set(x_175, 0, x_174); -lean_ctor_set(x_175, 1, x_168); -return x_175; +return x_174; } else { -size_t x_176; size_t x_177; uint8_t x_178; -x_176 = lean_ptr_addr(x_99); -lean_dec(x_99); -x_177 = lean_ptr_addr(x_102); -x_178 = lean_usize_dec_eq(x_176, x_177); -if (x_178 == 0) +size_t x_175; size_t x_176; uint8_t x_177; +x_175 = lean_ptr_addr(x_98); +lean_dec(x_98); +x_176 = lean_ptr_addr(x_101); +x_177 = lean_usize_dec_eq(x_175, x_176); +if (x_177 == 0) { -lean_object* x_179; lean_object* x_180; lean_object* x_181; +lean_object* x_178; lean_object* x_179; lean_object* x_180; if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); lean_ctor_release(x_1, 1); - x_179 = x_1; + x_178 = x_1; } else { lean_dec_ref(x_1); - x_179 = lean_box(0); + x_178 = lean_box(0); } -if (lean_is_scalar(x_179)) { - x_180 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_178)) { + x_179 = lean_alloc_ctor(1, 2, 0); } else { - x_180 = x_179; + x_179 = x_178; } -lean_ctor_set(x_180, 0, x_102); +lean_ctor_set(x_179, 0, x_101); +lean_ctor_set(x_179, 1, x_166); +if (lean_is_scalar(x_168)) { + x_180 = lean_alloc_ctor(0, 2, 0); +} else { + x_180 = x_168; +} +lean_ctor_set(x_180, 0, x_179); lean_ctor_set(x_180, 1, x_167); -if (lean_is_scalar(x_169)) { +return x_180; +} +else +{ +lean_object* x_181; +lean_dec(x_166); +lean_dec(x_101); +if (lean_is_scalar(x_168)) { x_181 = lean_alloc_ctor(0, 2, 0); } else { - x_181 = x_169; + x_181 = x_168; } -lean_ctor_set(x_181, 0, x_180); -lean_ctor_set(x_181, 1, x_168); +lean_ctor_set(x_181, 0, x_1); +lean_ctor_set(x_181, 1, x_167); return x_181; } -else -{ -lean_object* x_182; -lean_dec(x_167); -lean_dec(x_102); -if (lean_is_scalar(x_169)) { - x_182 = lean_alloc_ctor(0, 2, 0); -} else { - x_182 = x_169; -} -lean_ctor_set(x_182, 0, x_1); -lean_ctor_set(x_182, 1, x_168); -return x_182; -} } } else { -lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; -lean_dec(x_102); -lean_dec(x_100); +lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; +lean_dec(x_101); lean_dec(x_99); +lean_dec(x_98); lean_dec(x_1); -x_183 = lean_ctor_get(x_166, 0); +x_182 = lean_ctor_get(x_165, 0); +lean_inc(x_182); +x_183 = lean_ctor_get(x_165, 1); lean_inc(x_183); -x_184 = lean_ctor_get(x_166, 1); -lean_inc(x_184); -if (lean_is_exclusive(x_166)) { - lean_ctor_release(x_166, 0); - lean_ctor_release(x_166, 1); - x_185 = x_166; +if (lean_is_exclusive(x_165)) { + lean_ctor_release(x_165, 0); + lean_ctor_release(x_165, 1); + x_184 = x_165; } else { - lean_dec_ref(x_166); - x_185 = lean_box(0); + lean_dec_ref(x_165); + x_184 = lean_box(0); } -if (lean_is_scalar(x_185)) { - x_186 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_184)) { + x_185 = lean_alloc_ctor(1, 2, 0); } else { - x_186 = x_185; + x_185 = x_184; } -lean_ctor_set(x_186, 0, x_183); -lean_ctor_set(x_186, 1, x_184); -return x_186; +lean_ctor_set(x_185, 0, x_182); +lean_ctor_set(x_185, 1, x_183); +return x_185; } } } else { -lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; -lean_dec(x_105); -lean_dec(x_99); +lean_object* x_186; lean_object* x_187; lean_object* x_188; +lean_dec(x_104); +lean_dec(x_98); lean_dec(x_1); -x_187 = lean_ctor_get(x_112, 0); -lean_inc(x_187); -lean_dec(x_112); -x_188 = lean_ctor_get(x_102, 0); +x_186 = lean_ctor_get(x_111, 0); +lean_inc(x_186); +lean_dec(x_111); +x_187 = l_Lean_Compiler_LCNF_CSE_replaceFun(x_101, x_186, x_2, x_3, x_4, x_5, x_109); +x_188 = lean_ctor_get(x_187, 1); lean_inc(x_188); -lean_dec(x_102); -x_189 = l_Lean_Compiler_LCNF_CSE_replaceFVar(x_188, x_187, x_2, x_3, x_4, x_5, x_110); -x_190 = lean_ctor_get(x_189, 1); -lean_inc(x_190); -lean_dec(x_189); -x_1 = x_100; -x_6 = x_190; +lean_dec(x_187); +x_1 = x_99; +x_6 = x_188; goto _start; } } else { -uint8_t x_192; -lean_dec(x_100); +uint8_t x_190; lean_dec(x_99); +lean_dec(x_98); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_192 = !lean_is_exclusive(x_101); -if (x_192 == 0) +x_190 = !lean_is_exclusive(x_100); +if (x_190 == 0) { -return x_101; +return x_100; } else { -lean_object* x_193; lean_object* x_194; lean_object* x_195; -x_193 = lean_ctor_get(x_101, 0); -x_194 = lean_ctor_get(x_101, 1); -lean_inc(x_194); -lean_inc(x_193); -lean_dec(x_101); -x_195 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_195, 0, x_193); -lean_ctor_set(x_195, 1, x_194); -return x_195; +lean_object* x_191; lean_object* x_192; lean_object* x_193; +x_191 = lean_ctor_get(x_100, 0); +x_192 = lean_ctor_get(x_100, 1); +lean_inc(x_192); +lean_inc(x_191); +lean_dec(x_100); +x_193 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_193, 0, x_191); +lean_ctor_set(x_193, 1, x_192); +return x_193; } } } case 2: { -lean_object* x_196; lean_object* x_197; lean_object* x_198; -x_196 = lean_ctor_get(x_1, 0); -lean_inc(x_196); -x_197 = lean_ctor_get(x_1, 1); -lean_inc(x_197); +lean_object* x_194; lean_object* x_195; lean_object* x_196; +x_194 = lean_ctor_get(x_1, 0); +lean_inc(x_194); +x_195 = lean_ctor_get(x_1, 1); +lean_inc(x_195); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -lean_inc(x_196); -x_198 = l_Lean_Compiler_LCNF_Code_cse_goFunDecl(x_196, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_198) == 0) +lean_inc(x_194); +x_196 = l_Lean_Compiler_LCNF_Code_cse_goFunDecl(x_194, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_196) == 0) { -lean_object* x_199; lean_object* x_200; lean_object* x_201; -x_199 = lean_ctor_get(x_198, 0); -lean_inc(x_199); -x_200 = lean_ctor_get(x_198, 1); -lean_inc(x_200); -lean_dec(x_198); +lean_object* x_197; lean_object* x_198; lean_object* x_199; +x_197 = lean_ctor_get(x_196, 0); lean_inc(x_197); -x_201 = l_Lean_Compiler_LCNF_Code_cse_go(x_197, x_2, x_3, x_4, x_5, x_200); -if (lean_obj_tag(x_201) == 0) -{ -uint8_t x_202; -x_202 = !lean_is_exclusive(x_201); -if (x_202 == 0) -{ -lean_object* x_203; size_t x_204; size_t x_205; uint8_t x_206; -x_203 = lean_ctor_get(x_201, 0); -x_204 = lean_ptr_addr(x_197); -lean_dec(x_197); -x_205 = lean_ptr_addr(x_203); -x_206 = lean_usize_dec_eq(x_204, x_205); -if (x_206 == 0) -{ -uint8_t x_207; +x_198 = lean_ctor_get(x_196, 1); +lean_inc(x_198); lean_dec(x_196); -x_207 = !lean_is_exclusive(x_1); -if (x_207 == 0) +lean_inc(x_195); +x_199 = l_Lean_Compiler_LCNF_Code_cse_go(x_195, x_2, x_3, x_4, x_5, x_198); +if (lean_obj_tag(x_199) == 0) { -lean_object* x_208; lean_object* x_209; -x_208 = lean_ctor_get(x_1, 1); -lean_dec(x_208); -x_209 = lean_ctor_get(x_1, 0); -lean_dec(x_209); -lean_ctor_set(x_1, 1, x_203); -lean_ctor_set(x_1, 0, x_199); -lean_ctor_set(x_201, 0, x_1); -return x_201; +uint8_t x_200; +x_200 = !lean_is_exclusive(x_199); +if (x_200 == 0) +{ +lean_object* x_201; size_t x_202; size_t x_203; uint8_t x_204; +x_201 = lean_ctor_get(x_199, 0); +x_202 = lean_ptr_addr(x_195); +lean_dec(x_195); +x_203 = lean_ptr_addr(x_201); +x_204 = lean_usize_dec_eq(x_202, x_203); +if (x_204 == 0) +{ +uint8_t x_205; +lean_dec(x_194); +x_205 = !lean_is_exclusive(x_1); +if (x_205 == 0) +{ +lean_object* x_206; lean_object* x_207; +x_206 = lean_ctor_get(x_1, 1); +lean_dec(x_206); +x_207 = lean_ctor_get(x_1, 0); +lean_dec(x_207); +lean_ctor_set(x_1, 1, x_201); +lean_ctor_set(x_1, 0, x_197); +lean_ctor_set(x_199, 0, x_1); +return x_199; } else { -lean_object* x_210; +lean_object* x_208; lean_dec(x_1); -x_210 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_210, 0, x_199); -lean_ctor_set(x_210, 1, x_203); -lean_ctor_set(x_201, 0, x_210); -return x_201; +x_208 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_208, 0, x_197); +lean_ctor_set(x_208, 1, x_201); +lean_ctor_set(x_199, 0, x_208); +return x_199; } } else { -size_t x_211; size_t x_212; uint8_t x_213; -x_211 = lean_ptr_addr(x_196); -lean_dec(x_196); -x_212 = lean_ptr_addr(x_199); -x_213 = lean_usize_dec_eq(x_211, x_212); -if (x_213 == 0) +size_t x_209; size_t x_210; uint8_t x_211; +x_209 = lean_ptr_addr(x_194); +lean_dec(x_194); +x_210 = lean_ptr_addr(x_197); +x_211 = lean_usize_dec_eq(x_209, x_210); +if (x_211 == 0) { -uint8_t x_214; -x_214 = !lean_is_exclusive(x_1); -if (x_214 == 0) +uint8_t x_212; +x_212 = !lean_is_exclusive(x_1); +if (x_212 == 0) { -lean_object* x_215; lean_object* x_216; -x_215 = lean_ctor_get(x_1, 1); -lean_dec(x_215); -x_216 = lean_ctor_get(x_1, 0); +lean_object* x_213; lean_object* x_214; +x_213 = lean_ctor_get(x_1, 1); +lean_dec(x_213); +x_214 = lean_ctor_get(x_1, 0); +lean_dec(x_214); +lean_ctor_set(x_1, 1, x_201); +lean_ctor_set(x_1, 0, x_197); +lean_ctor_set(x_199, 0, x_1); +return x_199; +} +else +{ +lean_object* x_215; +lean_dec(x_1); +x_215 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_215, 0, x_197); +lean_ctor_set(x_215, 1, x_201); +lean_ctor_set(x_199, 0, x_215); +return x_199; +} +} +else +{ +lean_dec(x_201); +lean_dec(x_197); +lean_ctor_set(x_199, 0, x_1); +return x_199; +} +} +} +else +{ +lean_object* x_216; lean_object* x_217; size_t x_218; size_t x_219; uint8_t x_220; +x_216 = lean_ctor_get(x_199, 0); +x_217 = lean_ctor_get(x_199, 1); +lean_inc(x_217); +lean_inc(x_216); +lean_dec(x_199); +x_218 = lean_ptr_addr(x_195); +lean_dec(x_195); +x_219 = lean_ptr_addr(x_216); +x_220 = lean_usize_dec_eq(x_218, x_219); +if (x_220 == 0) +{ +lean_object* x_221; lean_object* x_222; lean_object* x_223; +lean_dec(x_194); +if (lean_is_exclusive(x_1)) { + lean_ctor_release(x_1, 0); + lean_ctor_release(x_1, 1); + x_221 = x_1; +} else { + lean_dec_ref(x_1); + x_221 = lean_box(0); +} +if (lean_is_scalar(x_221)) { + x_222 = lean_alloc_ctor(2, 2, 0); +} else { + x_222 = x_221; +} +lean_ctor_set(x_222, 0, x_197); +lean_ctor_set(x_222, 1, x_216); +x_223 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_223, 0, x_222); +lean_ctor_set(x_223, 1, x_217); +return x_223; +} +else +{ +size_t x_224; size_t x_225; uint8_t x_226; +x_224 = lean_ptr_addr(x_194); +lean_dec(x_194); +x_225 = lean_ptr_addr(x_197); +x_226 = lean_usize_dec_eq(x_224, x_225); +if (x_226 == 0) +{ +lean_object* x_227; lean_object* x_228; lean_object* x_229; +if (lean_is_exclusive(x_1)) { + lean_ctor_release(x_1, 0); + lean_ctor_release(x_1, 1); + x_227 = x_1; +} else { + lean_dec_ref(x_1); + x_227 = lean_box(0); +} +if (lean_is_scalar(x_227)) { + x_228 = lean_alloc_ctor(2, 2, 0); +} else { + x_228 = x_227; +} +lean_ctor_set(x_228, 0, x_197); +lean_ctor_set(x_228, 1, x_216); +x_229 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_229, 0, x_228); +lean_ctor_set(x_229, 1, x_217); +return x_229; +} +else +{ +lean_object* x_230; lean_dec(x_216); -lean_ctor_set(x_1, 1, x_203); -lean_ctor_set(x_1, 0, x_199); -lean_ctor_set(x_201, 0, x_1); -return x_201; +lean_dec(x_197); +x_230 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_230, 0, x_1); +lean_ctor_set(x_230, 1, x_217); +return x_230; +} +} +} } else { -lean_object* x_217; +uint8_t x_231; +lean_dec(x_197); +lean_dec(x_195); +lean_dec(x_194); lean_dec(x_1); -x_217 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_217, 0, x_199); -lean_ctor_set(x_217, 1, x_203); -lean_ctor_set(x_201, 0, x_217); -return x_201; -} +x_231 = !lean_is_exclusive(x_199); +if (x_231 == 0) +{ +return x_199; } else { -lean_dec(x_203); +lean_object* x_232; lean_object* x_233; lean_object* x_234; +x_232 = lean_ctor_get(x_199, 0); +x_233 = lean_ctor_get(x_199, 1); +lean_inc(x_233); +lean_inc(x_232); lean_dec(x_199); -lean_ctor_set(x_201, 0, x_1); -return x_201; +x_234 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_234, 0, x_232); +lean_ctor_set(x_234, 1, x_233); +return x_234; } } } else { -lean_object* x_218; lean_object* x_219; size_t x_220; size_t x_221; uint8_t x_222; -x_218 = lean_ctor_get(x_201, 0); -x_219 = lean_ctor_get(x_201, 1); -lean_inc(x_219); -lean_inc(x_218); -lean_dec(x_201); -x_220 = lean_ptr_addr(x_197); -lean_dec(x_197); -x_221 = lean_ptr_addr(x_218); -x_222 = lean_usize_dec_eq(x_220, x_221); -if (x_222 == 0) -{ -lean_object* x_223; lean_object* x_224; lean_object* x_225; -lean_dec(x_196); -if (lean_is_exclusive(x_1)) { - lean_ctor_release(x_1, 0); - lean_ctor_release(x_1, 1); - x_223 = x_1; -} else { - lean_dec_ref(x_1); - x_223 = lean_box(0); -} -if (lean_is_scalar(x_223)) { - x_224 = lean_alloc_ctor(2, 2, 0); -} else { - x_224 = x_223; -} -lean_ctor_set(x_224, 0, x_199); -lean_ctor_set(x_224, 1, x_218); -x_225 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_225, 0, x_224); -lean_ctor_set(x_225, 1, x_219); -return x_225; -} -else -{ -size_t x_226; size_t x_227; uint8_t x_228; -x_226 = lean_ptr_addr(x_196); -lean_dec(x_196); -x_227 = lean_ptr_addr(x_199); -x_228 = lean_usize_dec_eq(x_226, x_227); -if (x_228 == 0) -{ -lean_object* x_229; lean_object* x_230; lean_object* x_231; -if (lean_is_exclusive(x_1)) { - lean_ctor_release(x_1, 0); - lean_ctor_release(x_1, 1); - x_229 = x_1; -} else { - lean_dec_ref(x_1); - x_229 = lean_box(0); -} -if (lean_is_scalar(x_229)) { - x_230 = lean_alloc_ctor(2, 2, 0); -} else { - x_230 = x_229; -} -lean_ctor_set(x_230, 0, x_199); -lean_ctor_set(x_230, 1, x_218); -x_231 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_231, 0, x_230); -lean_ctor_set(x_231, 1, x_219); -return x_231; -} -else -{ -lean_object* x_232; -lean_dec(x_218); -lean_dec(x_199); -x_232 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_232, 0, x_1); -lean_ctor_set(x_232, 1, x_219); -return x_232; -} -} -} -} -else -{ -uint8_t x_233; -lean_dec(x_199); -lean_dec(x_197); -lean_dec(x_196); -lean_dec(x_1); -x_233 = !lean_is_exclusive(x_201); -if (x_233 == 0) -{ -return x_201; -} -else -{ -lean_object* x_234; lean_object* x_235; lean_object* x_236; -x_234 = lean_ctor_get(x_201, 0); -x_235 = lean_ctor_get(x_201, 1); -lean_inc(x_235); -lean_inc(x_234); -lean_dec(x_201); -x_236 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_236, 0, x_234); -lean_ctor_set(x_236, 1, x_235); -return x_236; -} -} -} -else -{ -uint8_t x_237; -lean_dec(x_197); -lean_dec(x_196); +uint8_t x_235; +lean_dec(x_195); +lean_dec(x_194); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_237 = !lean_is_exclusive(x_198); -if (x_237 == 0) +x_235 = !lean_is_exclusive(x_196); +if (x_235 == 0) { -return x_198; +return x_196; } else { -lean_object* x_238; lean_object* x_239; lean_object* x_240; -x_238 = lean_ctor_get(x_198, 0); -x_239 = lean_ctor_get(x_198, 1); -lean_inc(x_239); -lean_inc(x_238); -lean_dec(x_198); -x_240 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_240, 0, x_238); -lean_ctor_set(x_240, 1, x_239); -return x_240; +lean_object* x_236; lean_object* x_237; lean_object* x_238; +x_236 = lean_ctor_get(x_196, 0); +x_237 = lean_ctor_get(x_196, 1); +lean_inc(x_237); +lean_inc(x_236); +lean_dec(x_196); +x_238 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_238, 0, x_236); +lean_ctor_set(x_238, 1, x_237); +return x_238; } } } case 3: { -lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; -x_241 = lean_ctor_get(x_1, 0); -lean_inc(x_241); -x_242 = lean_ctor_get(x_1, 1); +lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; +x_239 = lean_ctor_get(x_1, 0); +lean_inc(x_239); +x_240 = lean_ctor_get(x_1, 1); +lean_inc(x_240); +x_241 = lean_st_ref_get(x_5, x_6); +x_242 = lean_ctor_get(x_241, 1); lean_inc(x_242); -x_243 = lean_st_ref_get(x_5, x_6); -x_244 = lean_ctor_get(x_243, 1); +lean_dec(x_241); +x_243 = lean_st_ref_get(x_2, x_242); +x_244 = lean_ctor_get(x_243, 0); lean_inc(x_244); +x_245 = lean_ctor_get(x_243, 1); +lean_inc(x_245); lean_dec(x_243); -x_245 = lean_st_ref_get(x_2, x_244); -x_246 = lean_ctor_get(x_245, 0); +x_246 = lean_ctor_get(x_244, 1); lean_inc(x_246); -x_247 = lean_ctor_get(x_245, 1); -lean_inc(x_247); -lean_dec(x_245); -x_248 = lean_ctor_get(x_246, 1); -lean_inc(x_248); -lean_dec(x_246); -lean_inc(x_241); -x_249 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_248, x_241); -lean_inc(x_242); -x_250 = l_Lean_Compiler_LCNF_normExprs___at_Lean_Compiler_LCNF_Code_cse_go___spec__5(x_242, x_2, x_3, x_4, x_5, x_247); -if (lean_obj_tag(x_250) == 0) +lean_dec(x_244); +lean_inc(x_239); +x_247 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_246, x_239); +lean_inc(x_240); +x_248 = l_Lean_Compiler_LCNF_normExprs___at_Lean_Compiler_LCNF_Code_cse_go___spec__5(x_240, x_2, x_3, x_4, x_5, x_245); +if (lean_obj_tag(x_248) == 0) { -uint8_t x_251; -x_251 = !lean_is_exclusive(x_250); +uint8_t x_249; +x_249 = !lean_is_exclusive(x_248); +if (x_249 == 0) +{ +lean_object* x_250; uint8_t x_251; +x_250 = lean_ctor_get(x_248, 0); +x_251 = lean_name_eq(x_239, x_247); +lean_dec(x_239); if (x_251 == 0) { -lean_object* x_252; uint8_t x_253; -x_252 = lean_ctor_get(x_250, 0); -x_253 = lean_name_eq(x_241, x_249); -lean_dec(x_241); -if (x_253 == 0) +uint8_t x_252; +lean_dec(x_240); +x_252 = !lean_is_exclusive(x_1); +if (x_252 == 0) { -uint8_t x_254; -lean_dec(x_242); -x_254 = !lean_is_exclusive(x_1); -if (x_254 == 0) -{ -lean_object* x_255; lean_object* x_256; -x_255 = lean_ctor_get(x_1, 1); -lean_dec(x_255); -x_256 = lean_ctor_get(x_1, 0); -lean_dec(x_256); -lean_ctor_set(x_1, 1, x_252); -lean_ctor_set(x_1, 0, x_249); -lean_ctor_set(x_250, 0, x_1); -return x_250; +lean_object* x_253; lean_object* x_254; +x_253 = lean_ctor_get(x_1, 1); +lean_dec(x_253); +x_254 = lean_ctor_get(x_1, 0); +lean_dec(x_254); +lean_ctor_set(x_1, 1, x_250); +lean_ctor_set(x_1, 0, x_247); +lean_ctor_set(x_248, 0, x_1); +return x_248; } else { -lean_object* x_257; +lean_object* x_255; lean_dec(x_1); -x_257 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_257, 0, x_249); -lean_ctor_set(x_257, 1, x_252); -lean_ctor_set(x_250, 0, x_257); -return x_250; +x_255 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_255, 0, x_247); +lean_ctor_set(x_255, 1, x_250); +lean_ctor_set(x_248, 0, x_255); +return x_248; } } else { -size_t x_258; size_t x_259; uint8_t x_260; -x_258 = lean_ptr_addr(x_242); -lean_dec(x_242); -x_259 = lean_ptr_addr(x_252); -x_260 = lean_usize_dec_eq(x_258, x_259); -if (x_260 == 0) +size_t x_256; size_t x_257; uint8_t x_258; +x_256 = lean_ptr_addr(x_240); +lean_dec(x_240); +x_257 = lean_ptr_addr(x_250); +x_258 = lean_usize_dec_eq(x_256, x_257); +if (x_258 == 0) { -uint8_t x_261; -x_261 = !lean_is_exclusive(x_1); -if (x_261 == 0) +uint8_t x_259; +x_259 = !lean_is_exclusive(x_1); +if (x_259 == 0) { -lean_object* x_262; lean_object* x_263; -x_262 = lean_ctor_get(x_1, 1); -lean_dec(x_262); -x_263 = lean_ctor_get(x_1, 0); +lean_object* x_260; lean_object* x_261; +x_260 = lean_ctor_get(x_1, 1); +lean_dec(x_260); +x_261 = lean_ctor_get(x_1, 0); +lean_dec(x_261); +lean_ctor_set(x_1, 1, x_250); +lean_ctor_set(x_1, 0, x_247); +lean_ctor_set(x_248, 0, x_1); +return x_248; +} +else +{ +lean_object* x_262; +lean_dec(x_1); +x_262 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_262, 0, x_247); +lean_ctor_set(x_262, 1, x_250); +lean_ctor_set(x_248, 0, x_262); +return x_248; +} +} +else +{ +lean_dec(x_250); +lean_dec(x_247); +lean_ctor_set(x_248, 0, x_1); +return x_248; +} +} +} +else +{ +lean_object* x_263; lean_object* x_264; uint8_t x_265; +x_263 = lean_ctor_get(x_248, 0); +x_264 = lean_ctor_get(x_248, 1); +lean_inc(x_264); +lean_inc(x_263); +lean_dec(x_248); +x_265 = lean_name_eq(x_239, x_247); +lean_dec(x_239); +if (x_265 == 0) +{ +lean_object* x_266; lean_object* x_267; lean_object* x_268; +lean_dec(x_240); +if (lean_is_exclusive(x_1)) { + lean_ctor_release(x_1, 0); + lean_ctor_release(x_1, 1); + x_266 = x_1; +} else { + lean_dec_ref(x_1); + x_266 = lean_box(0); +} +if (lean_is_scalar(x_266)) { + x_267 = lean_alloc_ctor(3, 2, 0); +} else { + x_267 = x_266; +} +lean_ctor_set(x_267, 0, x_247); +lean_ctor_set(x_267, 1, x_263); +x_268 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_268, 0, x_267); +lean_ctor_set(x_268, 1, x_264); +return x_268; +} +else +{ +size_t x_269; size_t x_270; uint8_t x_271; +x_269 = lean_ptr_addr(x_240); +lean_dec(x_240); +x_270 = lean_ptr_addr(x_263); +x_271 = lean_usize_dec_eq(x_269, x_270); +if (x_271 == 0) +{ +lean_object* x_272; lean_object* x_273; lean_object* x_274; +if (lean_is_exclusive(x_1)) { + lean_ctor_release(x_1, 0); + lean_ctor_release(x_1, 1); + x_272 = x_1; +} else { + lean_dec_ref(x_1); + x_272 = lean_box(0); +} +if (lean_is_scalar(x_272)) { + x_273 = lean_alloc_ctor(3, 2, 0); +} else { + x_273 = x_272; +} +lean_ctor_set(x_273, 0, x_247); +lean_ctor_set(x_273, 1, x_263); +x_274 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_274, 0, x_273); +lean_ctor_set(x_274, 1, x_264); +return x_274; +} +else +{ +lean_object* x_275; lean_dec(x_263); -lean_ctor_set(x_1, 1, x_252); -lean_ctor_set(x_1, 0, x_249); -lean_ctor_set(x_250, 0, x_1); -return x_250; +lean_dec(x_247); +x_275 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_275, 0, x_1); +lean_ctor_set(x_275, 1, x_264); +return x_275; +} +} +} } else { -lean_object* x_264; +uint8_t x_276; +lean_dec(x_247); +lean_dec(x_240); +lean_dec(x_239); lean_dec(x_1); -x_264 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_264, 0, x_249); -lean_ctor_set(x_264, 1, x_252); -lean_ctor_set(x_250, 0, x_264); -return x_250; -} +x_276 = !lean_is_exclusive(x_248); +if (x_276 == 0) +{ +return x_248; } else { -lean_dec(x_252); -lean_dec(x_249); -lean_ctor_set(x_250, 0, x_1); -return x_250; -} -} -} -else -{ -lean_object* x_265; lean_object* x_266; uint8_t x_267; -x_265 = lean_ctor_get(x_250, 0); -x_266 = lean_ctor_get(x_250, 1); -lean_inc(x_266); -lean_inc(x_265); -lean_dec(x_250); -x_267 = lean_name_eq(x_241, x_249); -lean_dec(x_241); -if (x_267 == 0) -{ -lean_object* x_268; lean_object* x_269; lean_object* x_270; -lean_dec(x_242); -if (lean_is_exclusive(x_1)) { - lean_ctor_release(x_1, 0); - lean_ctor_release(x_1, 1); - x_268 = x_1; -} else { - lean_dec_ref(x_1); - x_268 = lean_box(0); -} -if (lean_is_scalar(x_268)) { - x_269 = lean_alloc_ctor(3, 2, 0); -} else { - x_269 = x_268; -} -lean_ctor_set(x_269, 0, x_249); -lean_ctor_set(x_269, 1, x_265); -x_270 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_270, 0, x_269); -lean_ctor_set(x_270, 1, x_266); -return x_270; -} -else -{ -size_t x_271; size_t x_272; uint8_t x_273; -x_271 = lean_ptr_addr(x_242); -lean_dec(x_242); -x_272 = lean_ptr_addr(x_265); -x_273 = lean_usize_dec_eq(x_271, x_272); -if (x_273 == 0) -{ -lean_object* x_274; lean_object* x_275; lean_object* x_276; -if (lean_is_exclusive(x_1)) { - lean_ctor_release(x_1, 0); - lean_ctor_release(x_1, 1); - x_274 = x_1; -} else { - lean_dec_ref(x_1); - x_274 = lean_box(0); -} -if (lean_is_scalar(x_274)) { - x_275 = lean_alloc_ctor(3, 2, 0); -} else { - x_275 = x_274; -} -lean_ctor_set(x_275, 0, x_249); -lean_ctor_set(x_275, 1, x_265); -x_276 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_276, 0, x_275); -lean_ctor_set(x_276, 1, x_266); -return x_276; -} -else -{ -lean_object* x_277; -lean_dec(x_265); -lean_dec(x_249); -x_277 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_277, 0, x_1); -lean_ctor_set(x_277, 1, x_266); -return x_277; -} -} -} -} -else -{ -uint8_t x_278; -lean_dec(x_249); -lean_dec(x_242); -lean_dec(x_241); -lean_dec(x_1); -x_278 = !lean_is_exclusive(x_250); -if (x_278 == 0) -{ -return x_250; -} -else -{ -lean_object* x_279; lean_object* x_280; lean_object* x_281; -x_279 = lean_ctor_get(x_250, 0); -x_280 = lean_ctor_get(x_250, 1); -lean_inc(x_280); -lean_inc(x_279); -lean_dec(x_250); -x_281 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_281, 0, x_279); -lean_ctor_set(x_281, 1, x_280); -return x_281; +lean_object* x_277; lean_object* x_278; lean_object* x_279; +x_277 = lean_ctor_get(x_248, 0); +x_278 = lean_ctor_get(x_248, 1); +lean_inc(x_278); +lean_inc(x_277); +lean_dec(x_248); +x_279 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_279, 0, x_277); +lean_ctor_set(x_279, 1, x_278); +return x_279; } } } case 4: { -lean_object* x_282; uint8_t x_283; -x_282 = lean_ctor_get(x_1, 0); -lean_inc(x_282); -x_283 = !lean_is_exclusive(x_282); -if (x_283 == 0) +lean_object* x_280; uint8_t x_281; +x_280 = lean_ctor_get(x_1, 0); +lean_inc(x_280); +x_281 = !lean_is_exclusive(x_280); +if (x_281 == 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; lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; -x_284 = lean_ctor_get(x_282, 0); -x_285 = lean_ctor_get(x_282, 1); -x_286 = lean_ctor_get(x_282, 2); -x_287 = lean_ctor_get(x_282, 3); -x_288 = lean_st_ref_get(x_5, x_6); -x_289 = lean_ctor_get(x_288, 1); -lean_inc(x_289); -lean_dec(x_288); -x_290 = lean_st_ref_get(x_2, x_289); -x_291 = lean_ctor_get(x_290, 0); -lean_inc(x_291); -x_292 = lean_ctor_get(x_290, 1); -lean_inc(x_292); -lean_dec(x_290); -x_293 = lean_ctor_get(x_291, 1); -lean_inc(x_293); -lean_dec(x_291); -lean_inc(x_286); -x_294 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_293, x_286); -x_295 = lean_st_ref_get(x_5, x_292); -x_296 = lean_ctor_get(x_295, 1); -lean_inc(x_296); -lean_dec(x_295); -x_297 = lean_st_ref_get(x_2, x_296); -x_298 = lean_ctor_get(x_297, 0); -lean_inc(x_298); -x_299 = lean_ctor_get(x_297, 1); -lean_inc(x_299); -lean_dec(x_297); -x_300 = lean_ctor_get(x_298, 1); -lean_inc(x_300); -lean_dec(x_298); -lean_inc(x_285); -x_301 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_300, x_285); -x_302 = l_Lean_Compiler_LCNF_Code_cse_go___closed__2; +lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; +x_282 = lean_ctor_get(x_280, 0); +x_283 = lean_ctor_get(x_280, 1); +x_284 = lean_ctor_get(x_280, 2); +x_285 = lean_ctor_get(x_280, 3); +x_286 = lean_st_ref_get(x_5, x_6); +x_287 = lean_ctor_get(x_286, 1); lean_inc(x_287); -x_303 = l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_Code_cse_go___spec__9(x_287, x_302, x_2, x_3, x_4, x_5, x_299); -if (lean_obj_tag(x_303) == 0) -{ -uint8_t x_304; -x_304 = !lean_is_exclusive(x_303); -if (x_304 == 0) -{ -lean_object* x_305; size_t x_306; size_t x_307; uint8_t x_308; -x_305 = lean_ctor_get(x_303, 0); -x_306 = lean_ptr_addr(x_287); -lean_dec(x_287); -x_307 = lean_ptr_addr(x_305); -x_308 = lean_usize_dec_eq(x_306, x_307); -if (x_308 == 0) -{ -uint8_t x_309; lean_dec(x_286); +x_288 = lean_st_ref_get(x_2, x_287); +x_289 = lean_ctor_get(x_288, 0); +lean_inc(x_289); +x_290 = lean_ctor_get(x_288, 1); +lean_inc(x_290); +lean_dec(x_288); +x_291 = lean_ctor_get(x_289, 1); +lean_inc(x_291); +lean_dec(x_289); +lean_inc(x_284); +x_292 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_291, x_284); +x_293 = lean_st_ref_get(x_5, x_290); +x_294 = lean_ctor_get(x_293, 1); +lean_inc(x_294); +lean_dec(x_293); +x_295 = lean_st_ref_get(x_2, x_294); +x_296 = lean_ctor_get(x_295, 0); +lean_inc(x_296); +x_297 = lean_ctor_get(x_295, 1); +lean_inc(x_297); +lean_dec(x_295); +x_298 = lean_ctor_get(x_296, 1); +lean_inc(x_298); +lean_dec(x_296); +lean_inc(x_283); +x_299 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_298, x_283); +x_300 = l_Lean_Compiler_LCNF_Code_cse_go___closed__2; +lean_inc(x_285); +x_301 = l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_Code_cse_go___spec__9(x_285, x_300, x_2, x_3, x_4, x_5, x_297); +if (lean_obj_tag(x_301) == 0) +{ +uint8_t x_302; +x_302 = !lean_is_exclusive(x_301); +if (x_302 == 0) +{ +lean_object* x_303; size_t x_304; size_t x_305; uint8_t x_306; +x_303 = lean_ctor_get(x_301, 0); +x_304 = lean_ptr_addr(x_285); lean_dec(x_285); -x_309 = !lean_is_exclusive(x_1); -if (x_309 == 0) +x_305 = lean_ptr_addr(x_303); +x_306 = lean_usize_dec_eq(x_304, x_305); +if (x_306 == 0) { -lean_object* x_310; -x_310 = lean_ctor_get(x_1, 0); -lean_dec(x_310); -lean_ctor_set(x_282, 3, x_305); -lean_ctor_set(x_282, 2, x_294); -lean_ctor_set(x_282, 1, x_301); -lean_ctor_set(x_303, 0, x_1); -return x_303; +uint8_t x_307; +lean_dec(x_284); +lean_dec(x_283); +x_307 = !lean_is_exclusive(x_1); +if (x_307 == 0) +{ +lean_object* x_308; +x_308 = lean_ctor_get(x_1, 0); +lean_dec(x_308); +lean_ctor_set(x_280, 3, x_303); +lean_ctor_set(x_280, 2, x_292); +lean_ctor_set(x_280, 1, x_299); +lean_ctor_set(x_301, 0, x_1); +return x_301; } else { -lean_object* x_311; +lean_object* x_309; lean_dec(x_1); -lean_ctor_set(x_282, 3, x_305); -lean_ctor_set(x_282, 2, x_294); -lean_ctor_set(x_282, 1, x_301); -x_311 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_311, 0, x_282); -lean_ctor_set(x_303, 0, x_311); -return x_303; +lean_ctor_set(x_280, 3, x_303); +lean_ctor_set(x_280, 2, x_292); +lean_ctor_set(x_280, 1, x_299); +x_309 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_309, 0, x_280); +lean_ctor_set(x_301, 0, x_309); +return x_301; } } else { -size_t x_312; size_t x_313; uint8_t x_314; -x_312 = lean_ptr_addr(x_285); +size_t x_310; size_t x_311; uint8_t x_312; +x_310 = lean_ptr_addr(x_283); +lean_dec(x_283); +x_311 = lean_ptr_addr(x_299); +x_312 = lean_usize_dec_eq(x_310, x_311); +if (x_312 == 0) +{ +uint8_t x_313; +lean_dec(x_284); +x_313 = !lean_is_exclusive(x_1); +if (x_313 == 0) +{ +lean_object* x_314; +x_314 = lean_ctor_get(x_1, 0); +lean_dec(x_314); +lean_ctor_set(x_280, 3, x_303); +lean_ctor_set(x_280, 2, x_292); +lean_ctor_set(x_280, 1, x_299); +lean_ctor_set(x_301, 0, x_1); +return x_301; +} +else +{ +lean_object* x_315; +lean_dec(x_1); +lean_ctor_set(x_280, 3, x_303); +lean_ctor_set(x_280, 2, x_292); +lean_ctor_set(x_280, 1, x_299); +x_315 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_315, 0, x_280); +lean_ctor_set(x_301, 0, x_315); +return x_301; +} +} +else +{ +uint8_t x_316; +x_316 = lean_name_eq(x_284, x_292); +lean_dec(x_284); +if (x_316 == 0) +{ +uint8_t x_317; +x_317 = !lean_is_exclusive(x_1); +if (x_317 == 0) +{ +lean_object* x_318; +x_318 = lean_ctor_get(x_1, 0); +lean_dec(x_318); +lean_ctor_set(x_280, 3, x_303); +lean_ctor_set(x_280, 2, x_292); +lean_ctor_set(x_280, 1, x_299); +lean_ctor_set(x_301, 0, x_1); +return x_301; +} +else +{ +lean_object* x_319; +lean_dec(x_1); +lean_ctor_set(x_280, 3, x_303); +lean_ctor_set(x_280, 2, x_292); +lean_ctor_set(x_280, 1, x_299); +x_319 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_319, 0, x_280); +lean_ctor_set(x_301, 0, x_319); +return x_301; +} +} +else +{ +lean_dec(x_303); +lean_dec(x_299); +lean_dec(x_292); +lean_free_object(x_280); +lean_dec(x_282); +lean_ctor_set(x_301, 0, x_1); +return x_301; +} +} +} +} +else +{ +lean_object* x_320; lean_object* x_321; size_t x_322; size_t x_323; uint8_t x_324; +x_320 = lean_ctor_get(x_301, 0); +x_321 = lean_ctor_get(x_301, 1); +lean_inc(x_321); +lean_inc(x_320); +lean_dec(x_301); +x_322 = lean_ptr_addr(x_285); lean_dec(x_285); -x_313 = lean_ptr_addr(x_301); -x_314 = lean_usize_dec_eq(x_312, x_313); -if (x_314 == 0) +x_323 = lean_ptr_addr(x_320); +x_324 = lean_usize_dec_eq(x_322, x_323); +if (x_324 == 0) { -uint8_t x_315; -lean_dec(x_286); -x_315 = !lean_is_exclusive(x_1); -if (x_315 == 0) -{ -lean_object* x_316; -x_316 = lean_ctor_get(x_1, 0); -lean_dec(x_316); -lean_ctor_set(x_282, 3, x_305); -lean_ctor_set(x_282, 2, x_294); -lean_ctor_set(x_282, 1, x_301); -lean_ctor_set(x_303, 0, x_1); -return x_303; +lean_object* x_325; lean_object* x_326; lean_object* x_327; +lean_dec(x_284); +lean_dec(x_283); +if (lean_is_exclusive(x_1)) { + lean_ctor_release(x_1, 0); + x_325 = x_1; +} else { + lean_dec_ref(x_1); + x_325 = lean_box(0); +} +lean_ctor_set(x_280, 3, x_320); +lean_ctor_set(x_280, 2, x_292); +lean_ctor_set(x_280, 1, x_299); +if (lean_is_scalar(x_325)) { + x_326 = lean_alloc_ctor(4, 1, 0); +} else { + x_326 = x_325; +} +lean_ctor_set(x_326, 0, x_280); +x_327 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_327, 0, x_326); +lean_ctor_set(x_327, 1, x_321); +return x_327; } else { -lean_object* x_317; -lean_dec(x_1); -lean_ctor_set(x_282, 3, x_305); -lean_ctor_set(x_282, 2, x_294); -lean_ctor_set(x_282, 1, x_301); -x_317 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_317, 0, x_282); -lean_ctor_set(x_303, 0, x_317); -return x_303; +size_t x_328; size_t x_329; uint8_t x_330; +x_328 = lean_ptr_addr(x_283); +lean_dec(x_283); +x_329 = lean_ptr_addr(x_299); +x_330 = lean_usize_dec_eq(x_328, x_329); +if (x_330 == 0) +{ +lean_object* x_331; lean_object* x_332; lean_object* x_333; +lean_dec(x_284); +if (lean_is_exclusive(x_1)) { + lean_ctor_release(x_1, 0); + x_331 = x_1; +} else { + lean_dec_ref(x_1); + x_331 = lean_box(0); } +lean_ctor_set(x_280, 3, x_320); +lean_ctor_set(x_280, 2, x_292); +lean_ctor_set(x_280, 1, x_299); +if (lean_is_scalar(x_331)) { + x_332 = lean_alloc_ctor(4, 1, 0); +} else { + x_332 = x_331; +} +lean_ctor_set(x_332, 0, x_280); +x_333 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_333, 0, x_332); +lean_ctor_set(x_333, 1, x_321); +return x_333; } else { -uint8_t x_318; -x_318 = lean_name_eq(x_286, x_294); -lean_dec(x_286); -if (x_318 == 0) +uint8_t x_334; +x_334 = lean_name_eq(x_284, x_292); +lean_dec(x_284); +if (x_334 == 0) { -uint8_t x_319; -x_319 = !lean_is_exclusive(x_1); -if (x_319 == 0) +lean_object* x_335; lean_object* x_336; lean_object* x_337; +if (lean_is_exclusive(x_1)) { + lean_ctor_release(x_1, 0); + x_335 = x_1; +} else { + lean_dec_ref(x_1); + x_335 = lean_box(0); +} +lean_ctor_set(x_280, 3, x_320); +lean_ctor_set(x_280, 2, x_292); +lean_ctor_set(x_280, 1, x_299); +if (lean_is_scalar(x_335)) { + x_336 = lean_alloc_ctor(4, 1, 0); +} else { + x_336 = x_335; +} +lean_ctor_set(x_336, 0, x_280); +x_337 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_337, 0, x_336); +lean_ctor_set(x_337, 1, x_321); +return x_337; +} +else { -lean_object* x_320; -x_320 = lean_ctor_get(x_1, 0); +lean_object* x_338; lean_dec(x_320); -lean_ctor_set(x_282, 3, x_305); -lean_ctor_set(x_282, 2, x_294); -lean_ctor_set(x_282, 1, x_301); -lean_ctor_set(x_303, 0, x_1); -return x_303; +lean_dec(x_299); +lean_dec(x_292); +lean_free_object(x_280); +lean_dec(x_282); +x_338 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_338, 0, x_1); +lean_ctor_set(x_338, 1, x_321); +return x_338; +} +} +} +} } else { -lean_object* x_321; +uint8_t x_339; +lean_dec(x_299); +lean_dec(x_292); +lean_free_object(x_280); +lean_dec(x_285); +lean_dec(x_284); +lean_dec(x_283); +lean_dec(x_282); lean_dec(x_1); -lean_ctor_set(x_282, 3, x_305); -lean_ctor_set(x_282, 2, x_294); -lean_ctor_set(x_282, 1, x_301); -x_321 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_321, 0, x_282); -lean_ctor_set(x_303, 0, x_321); -return x_303; -} +x_339 = !lean_is_exclusive(x_301); +if (x_339 == 0) +{ +return x_301; } else { -lean_dec(x_305); +lean_object* x_340; lean_object* x_341; lean_object* x_342; +x_340 = lean_ctor_get(x_301, 0); +x_341 = lean_ctor_get(x_301, 1); +lean_inc(x_341); +lean_inc(x_340); lean_dec(x_301); -lean_dec(x_294); -lean_free_object(x_282); -lean_dec(x_284); -lean_ctor_set(x_303, 0, x_1); -return x_303; -} -} -} -} -else -{ -lean_object* x_322; lean_object* x_323; size_t x_324; size_t x_325; uint8_t x_326; -x_322 = lean_ctor_get(x_303, 0); -x_323 = lean_ctor_get(x_303, 1); -lean_inc(x_323); -lean_inc(x_322); -lean_dec(x_303); -x_324 = lean_ptr_addr(x_287); -lean_dec(x_287); -x_325 = lean_ptr_addr(x_322); -x_326 = lean_usize_dec_eq(x_324, x_325); -if (x_326 == 0) -{ -lean_object* x_327; lean_object* x_328; lean_object* x_329; -lean_dec(x_286); -lean_dec(x_285); -if (lean_is_exclusive(x_1)) { - lean_ctor_release(x_1, 0); - x_327 = x_1; -} else { - lean_dec_ref(x_1); - x_327 = lean_box(0); -} -lean_ctor_set(x_282, 3, x_322); -lean_ctor_set(x_282, 2, x_294); -lean_ctor_set(x_282, 1, x_301); -if (lean_is_scalar(x_327)) { - x_328 = lean_alloc_ctor(4, 1, 0); -} else { - x_328 = x_327; -} -lean_ctor_set(x_328, 0, x_282); -x_329 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_329, 0, x_328); -lean_ctor_set(x_329, 1, x_323); -return x_329; -} -else -{ -size_t x_330; size_t x_331; uint8_t x_332; -x_330 = lean_ptr_addr(x_285); -lean_dec(x_285); -x_331 = lean_ptr_addr(x_301); -x_332 = lean_usize_dec_eq(x_330, x_331); -if (x_332 == 0) -{ -lean_object* x_333; lean_object* x_334; lean_object* x_335; -lean_dec(x_286); -if (lean_is_exclusive(x_1)) { - lean_ctor_release(x_1, 0); - x_333 = x_1; -} else { - lean_dec_ref(x_1); - x_333 = lean_box(0); -} -lean_ctor_set(x_282, 3, x_322); -lean_ctor_set(x_282, 2, x_294); -lean_ctor_set(x_282, 1, x_301); -if (lean_is_scalar(x_333)) { - x_334 = lean_alloc_ctor(4, 1, 0); -} else { - x_334 = x_333; -} -lean_ctor_set(x_334, 0, x_282); -x_335 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_335, 0, x_334); -lean_ctor_set(x_335, 1, x_323); -return x_335; -} -else -{ -uint8_t x_336; -x_336 = lean_name_eq(x_286, x_294); -lean_dec(x_286); -if (x_336 == 0) -{ -lean_object* x_337; lean_object* x_338; lean_object* x_339; -if (lean_is_exclusive(x_1)) { - lean_ctor_release(x_1, 0); - x_337 = x_1; -} else { - lean_dec_ref(x_1); - x_337 = lean_box(0); -} -lean_ctor_set(x_282, 3, x_322); -lean_ctor_set(x_282, 2, x_294); -lean_ctor_set(x_282, 1, x_301); -if (lean_is_scalar(x_337)) { - x_338 = lean_alloc_ctor(4, 1, 0); -} else { - x_338 = x_337; -} -lean_ctor_set(x_338, 0, x_282); -x_339 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_339, 0, x_338); -lean_ctor_set(x_339, 1, x_323); -return x_339; -} -else -{ -lean_object* x_340; -lean_dec(x_322); -lean_dec(x_301); -lean_dec(x_294); -lean_free_object(x_282); -lean_dec(x_284); -x_340 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_340, 0, x_1); -lean_ctor_set(x_340, 1, x_323); -return x_340; -} -} -} -} -} -else -{ -uint8_t x_341; -lean_dec(x_301); -lean_dec(x_294); -lean_free_object(x_282); -lean_dec(x_287); -lean_dec(x_286); -lean_dec(x_285); -lean_dec(x_284); -lean_dec(x_1); -x_341 = !lean_is_exclusive(x_303); -if (x_341 == 0) -{ -return x_303; -} -else -{ -lean_object* x_342; lean_object* x_343; lean_object* x_344; -x_342 = lean_ctor_get(x_303, 0); -x_343 = lean_ctor_get(x_303, 1); -lean_inc(x_343); -lean_inc(x_342); -lean_dec(x_303); -x_344 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_344, 0, x_342); -lean_ctor_set(x_344, 1, x_343); -return x_344; +x_342 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_342, 0, x_340); +lean_ctor_set(x_342, 1, x_341); +return x_342; } } } else { -lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359; lean_object* x_360; lean_object* x_361; lean_object* x_362; lean_object* x_363; lean_object* x_364; -x_345 = lean_ctor_get(x_282, 0); -x_346 = lean_ctor_get(x_282, 1); -x_347 = lean_ctor_get(x_282, 2); -x_348 = lean_ctor_get(x_282, 3); -lean_inc(x_348); -lean_inc(x_347); +lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359; lean_object* x_360; lean_object* x_361; lean_object* x_362; +x_343 = lean_ctor_get(x_280, 0); +x_344 = lean_ctor_get(x_280, 1); +x_345 = lean_ctor_get(x_280, 2); +x_346 = lean_ctor_get(x_280, 3); lean_inc(x_346); lean_inc(x_345); -lean_dec(x_282); -x_349 = lean_st_ref_get(x_5, x_6); -x_350 = lean_ctor_get(x_349, 1); -lean_inc(x_350); -lean_dec(x_349); -x_351 = lean_st_ref_get(x_2, x_350); -x_352 = lean_ctor_get(x_351, 0); -lean_inc(x_352); -x_353 = lean_ctor_get(x_351, 1); -lean_inc(x_353); -lean_dec(x_351); -x_354 = lean_ctor_get(x_352, 1); -lean_inc(x_354); -lean_dec(x_352); -lean_inc(x_347); -x_355 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_354, x_347); -x_356 = lean_st_ref_get(x_5, x_353); -x_357 = lean_ctor_get(x_356, 1); -lean_inc(x_357); -lean_dec(x_356); -x_358 = lean_st_ref_get(x_2, x_357); -x_359 = lean_ctor_get(x_358, 0); -lean_inc(x_359); -x_360 = lean_ctor_get(x_358, 1); -lean_inc(x_360); -lean_dec(x_358); -x_361 = lean_ctor_get(x_359, 1); -lean_inc(x_361); -lean_dec(x_359); -lean_inc(x_346); -x_362 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_361, x_346); -x_363 = l_Lean_Compiler_LCNF_Code_cse_go___closed__2; +lean_inc(x_344); +lean_inc(x_343); +lean_dec(x_280); +x_347 = lean_st_ref_get(x_5, x_6); +x_348 = lean_ctor_get(x_347, 1); lean_inc(x_348); -x_364 = l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_Code_cse_go___spec__9(x_348, x_363, x_2, x_3, x_4, x_5, x_360); -if (lean_obj_tag(x_364) == 0) -{ -lean_object* x_365; lean_object* x_366; lean_object* x_367; size_t x_368; size_t x_369; uint8_t x_370; -x_365 = lean_ctor_get(x_364, 0); -lean_inc(x_365); -x_366 = lean_ctor_get(x_364, 1); -lean_inc(x_366); -if (lean_is_exclusive(x_364)) { - lean_ctor_release(x_364, 0); - lean_ctor_release(x_364, 1); - x_367 = x_364; -} else { - lean_dec_ref(x_364); - x_367 = lean_box(0); -} -x_368 = lean_ptr_addr(x_348); -lean_dec(x_348); -x_369 = lean_ptr_addr(x_365); -x_370 = lean_usize_dec_eq(x_368, x_369); -if (x_370 == 0) -{ -lean_object* x_371; lean_object* x_372; lean_object* x_373; lean_object* x_374; lean_dec(x_347); +x_349 = lean_st_ref_get(x_2, x_348); +x_350 = lean_ctor_get(x_349, 0); +lean_inc(x_350); +x_351 = lean_ctor_get(x_349, 1); +lean_inc(x_351); +lean_dec(x_349); +x_352 = lean_ctor_get(x_350, 1); +lean_inc(x_352); +lean_dec(x_350); +lean_inc(x_345); +x_353 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_352, x_345); +x_354 = lean_st_ref_get(x_5, x_351); +x_355 = lean_ctor_get(x_354, 1); +lean_inc(x_355); +lean_dec(x_354); +x_356 = lean_st_ref_get(x_2, x_355); +x_357 = lean_ctor_get(x_356, 0); +lean_inc(x_357); +x_358 = lean_ctor_get(x_356, 1); +lean_inc(x_358); +lean_dec(x_356); +x_359 = lean_ctor_get(x_357, 1); +lean_inc(x_359); +lean_dec(x_357); +lean_inc(x_344); +x_360 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_359, x_344); +x_361 = l_Lean_Compiler_LCNF_Code_cse_go___closed__2; +lean_inc(x_346); +x_362 = l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_Code_cse_go___spec__9(x_346, x_361, x_2, x_3, x_4, x_5, x_358); +if (lean_obj_tag(x_362) == 0) +{ +lean_object* x_363; lean_object* x_364; lean_object* x_365; size_t x_366; size_t x_367; uint8_t x_368; +x_363 = lean_ctor_get(x_362, 0); +lean_inc(x_363); +x_364 = lean_ctor_get(x_362, 1); +lean_inc(x_364); +if (lean_is_exclusive(x_362)) { + lean_ctor_release(x_362, 0); + lean_ctor_release(x_362, 1); + x_365 = x_362; +} else { + lean_dec_ref(x_362); + x_365 = lean_box(0); +} +x_366 = lean_ptr_addr(x_346); lean_dec(x_346); -if (lean_is_exclusive(x_1)) { - lean_ctor_release(x_1, 0); - x_371 = x_1; -} else { - lean_dec_ref(x_1); - x_371 = lean_box(0); -} -x_372 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_372, 0, x_345); -lean_ctor_set(x_372, 1, x_362); -lean_ctor_set(x_372, 2, x_355); -lean_ctor_set(x_372, 3, x_365); -if (lean_is_scalar(x_371)) { - x_373 = lean_alloc_ctor(4, 1, 0); -} else { - x_373 = x_371; -} -lean_ctor_set(x_373, 0, x_372); -if (lean_is_scalar(x_367)) { - x_374 = lean_alloc_ctor(0, 2, 0); -} else { - x_374 = x_367; -} -lean_ctor_set(x_374, 0, x_373); -lean_ctor_set(x_374, 1, x_366); -return x_374; -} -else +x_367 = lean_ptr_addr(x_363); +x_368 = lean_usize_dec_eq(x_366, x_367); +if (x_368 == 0) { -size_t x_375; size_t x_376; uint8_t x_377; -x_375 = lean_ptr_addr(x_346); -lean_dec(x_346); -x_376 = lean_ptr_addr(x_362); -x_377 = lean_usize_dec_eq(x_375, x_376); -if (x_377 == 0) -{ -lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; -lean_dec(x_347); -if (lean_is_exclusive(x_1)) { - lean_ctor_release(x_1, 0); - x_378 = x_1; -} else { - lean_dec_ref(x_1); - x_378 = lean_box(0); -} -x_379 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_379, 0, x_345); -lean_ctor_set(x_379, 1, x_362); -lean_ctor_set(x_379, 2, x_355); -lean_ctor_set(x_379, 3, x_365); -if (lean_is_scalar(x_378)) { - x_380 = lean_alloc_ctor(4, 1, 0); -} else { - x_380 = x_378; -} -lean_ctor_set(x_380, 0, x_379); -if (lean_is_scalar(x_367)) { - x_381 = lean_alloc_ctor(0, 2, 0); -} else { - x_381 = x_367; -} -lean_ctor_set(x_381, 0, x_380); -lean_ctor_set(x_381, 1, x_366); -return x_381; -} -else -{ -uint8_t x_382; -x_382 = lean_name_eq(x_347, x_355); -lean_dec(x_347); -if (x_382 == 0) -{ -lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; -if (lean_is_exclusive(x_1)) { - lean_ctor_release(x_1, 0); - x_383 = x_1; -} else { - lean_dec_ref(x_1); - x_383 = lean_box(0); -} -x_384 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_384, 0, x_345); -lean_ctor_set(x_384, 1, x_362); -lean_ctor_set(x_384, 2, x_355); -lean_ctor_set(x_384, 3, x_365); -if (lean_is_scalar(x_383)) { - x_385 = lean_alloc_ctor(4, 1, 0); -} else { - x_385 = x_383; -} -lean_ctor_set(x_385, 0, x_384); -if (lean_is_scalar(x_367)) { - x_386 = lean_alloc_ctor(0, 2, 0); -} else { - x_386 = x_367; -} -lean_ctor_set(x_386, 0, x_385); -lean_ctor_set(x_386, 1, x_366); -return x_386; -} -else -{ -lean_object* x_387; -lean_dec(x_365); -lean_dec(x_362); -lean_dec(x_355); +lean_object* x_369; lean_object* x_370; lean_object* x_371; lean_object* x_372; lean_dec(x_345); -if (lean_is_scalar(x_367)) { - x_387 = lean_alloc_ctor(0, 2, 0); +lean_dec(x_344); +if (lean_is_exclusive(x_1)) { + lean_ctor_release(x_1, 0); + x_369 = x_1; } else { - x_387 = x_367; + lean_dec_ref(x_1); + x_369 = lean_box(0); } -lean_ctor_set(x_387, 0, x_1); -lean_ctor_set(x_387, 1, x_366); -return x_387; +x_370 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_370, 0, x_343); +lean_ctor_set(x_370, 1, x_360); +lean_ctor_set(x_370, 2, x_353); +lean_ctor_set(x_370, 3, x_363); +if (lean_is_scalar(x_369)) { + x_371 = lean_alloc_ctor(4, 1, 0); +} else { + x_371 = x_369; +} +lean_ctor_set(x_371, 0, x_370); +if (lean_is_scalar(x_365)) { + x_372 = lean_alloc_ctor(0, 2, 0); +} else { + x_372 = x_365; +} +lean_ctor_set(x_372, 0, x_371); +lean_ctor_set(x_372, 1, x_364); +return x_372; +} +else +{ +size_t x_373; size_t x_374; uint8_t x_375; +x_373 = lean_ptr_addr(x_344); +lean_dec(x_344); +x_374 = lean_ptr_addr(x_360); +x_375 = lean_usize_dec_eq(x_373, x_374); +if (x_375 == 0) +{ +lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; +lean_dec(x_345); +if (lean_is_exclusive(x_1)) { + lean_ctor_release(x_1, 0); + x_376 = x_1; +} else { + lean_dec_ref(x_1); + x_376 = lean_box(0); +} +x_377 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_377, 0, x_343); +lean_ctor_set(x_377, 1, x_360); +lean_ctor_set(x_377, 2, x_353); +lean_ctor_set(x_377, 3, x_363); +if (lean_is_scalar(x_376)) { + x_378 = lean_alloc_ctor(4, 1, 0); +} else { + x_378 = x_376; +} +lean_ctor_set(x_378, 0, x_377); +if (lean_is_scalar(x_365)) { + x_379 = lean_alloc_ctor(0, 2, 0); +} else { + x_379 = x_365; +} +lean_ctor_set(x_379, 0, x_378); +lean_ctor_set(x_379, 1, x_364); +return x_379; +} +else +{ +uint8_t x_380; +x_380 = lean_name_eq(x_345, x_353); +lean_dec(x_345); +if (x_380 == 0) +{ +lean_object* x_381; lean_object* x_382; lean_object* x_383; lean_object* x_384; +if (lean_is_exclusive(x_1)) { + lean_ctor_release(x_1, 0); + x_381 = x_1; +} else { + lean_dec_ref(x_1); + x_381 = lean_box(0); +} +x_382 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_382, 0, x_343); +lean_ctor_set(x_382, 1, x_360); +lean_ctor_set(x_382, 2, x_353); +lean_ctor_set(x_382, 3, x_363); +if (lean_is_scalar(x_381)) { + x_383 = lean_alloc_ctor(4, 1, 0); +} else { + x_383 = x_381; +} +lean_ctor_set(x_383, 0, x_382); +if (lean_is_scalar(x_365)) { + x_384 = lean_alloc_ctor(0, 2, 0); +} else { + x_384 = x_365; +} +lean_ctor_set(x_384, 0, x_383); +lean_ctor_set(x_384, 1, x_364); +return x_384; +} +else +{ +lean_object* x_385; +lean_dec(x_363); +lean_dec(x_360); +lean_dec(x_353); +lean_dec(x_343); +if (lean_is_scalar(x_365)) { + x_385 = lean_alloc_ctor(0, 2, 0); +} else { + x_385 = x_365; +} +lean_ctor_set(x_385, 0, x_1); +lean_ctor_set(x_385, 1, x_364); +return x_385; } } } } else { -lean_object* x_388; lean_object* x_389; lean_object* x_390; lean_object* x_391; -lean_dec(x_362); -lean_dec(x_355); -lean_dec(x_348); -lean_dec(x_347); +lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; +lean_dec(x_360); +lean_dec(x_353); lean_dec(x_346); lean_dec(x_345); +lean_dec(x_344); +lean_dec(x_343); lean_dec(x_1); -x_388 = lean_ctor_get(x_364, 0); -lean_inc(x_388); -x_389 = lean_ctor_get(x_364, 1); -lean_inc(x_389); -if (lean_is_exclusive(x_364)) { - lean_ctor_release(x_364, 0); - lean_ctor_release(x_364, 1); - x_390 = x_364; +x_386 = lean_ctor_get(x_362, 0); +lean_inc(x_386); +x_387 = lean_ctor_get(x_362, 1); +lean_inc(x_387); +if (lean_is_exclusive(x_362)) { + lean_ctor_release(x_362, 0); + lean_ctor_release(x_362, 1); + x_388 = x_362; } else { - lean_dec_ref(x_364); - x_390 = lean_box(0); + lean_dec_ref(x_362); + x_388 = lean_box(0); } -if (lean_is_scalar(x_390)) { - x_391 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_388)) { + x_389 = lean_alloc_ctor(1, 2, 0); } else { - x_391 = x_390; + x_389 = x_388; } -lean_ctor_set(x_391, 0, x_388); -lean_ctor_set(x_391, 1, x_389); -return x_391; +lean_ctor_set(x_389, 0, x_386); +lean_ctor_set(x_389, 1, x_387); +return x_389; } } } case 5: { -lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_395; uint8_t x_396; +lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; uint8_t x_394; lean_dec(x_4); lean_dec(x_3); -x_392 = lean_ctor_get(x_1, 0); -lean_inc(x_392); -x_393 = lean_st_ref_get(x_5, x_6); +x_390 = lean_ctor_get(x_1, 0); +lean_inc(x_390); +x_391 = lean_st_ref_get(x_5, x_6); lean_dec(x_5); -x_394 = lean_ctor_get(x_393, 1); -lean_inc(x_394); -lean_dec(x_393); -x_395 = lean_st_ref_get(x_2, x_394); +x_392 = lean_ctor_get(x_391, 1); +lean_inc(x_392); +lean_dec(x_391); +x_393 = lean_st_ref_get(x_2, x_392); lean_dec(x_2); -x_396 = !lean_is_exclusive(x_395); -if (x_396 == 0) +x_394 = !lean_is_exclusive(x_393); +if (x_394 == 0) { -lean_object* x_397; lean_object* x_398; lean_object* x_399; uint8_t x_400; -x_397 = lean_ctor_get(x_395, 0); -x_398 = lean_ctor_get(x_397, 1); -lean_inc(x_398); -lean_dec(x_397); -lean_inc(x_392); -x_399 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_398, x_392); -x_400 = lean_name_eq(x_392, x_399); -lean_dec(x_392); -if (x_400 == 0) -{ -uint8_t x_401; -x_401 = !lean_is_exclusive(x_1); -if (x_401 == 0) -{ -lean_object* x_402; -x_402 = lean_ctor_get(x_1, 0); -lean_dec(x_402); -lean_ctor_set(x_1, 0, x_399); -lean_ctor_set(x_395, 0, x_1); -return x_395; -} -else -{ -lean_object* x_403; -lean_dec(x_1); -x_403 = lean_alloc_ctor(5, 1, 0); -lean_ctor_set(x_403, 0, x_399); -lean_ctor_set(x_395, 0, x_403); -return x_395; -} -} -else -{ -lean_dec(x_399); -lean_ctor_set(x_395, 0, x_1); -return x_395; -} -} -else -{ -lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; uint8_t x_408; -x_404 = lean_ctor_get(x_395, 0); -x_405 = lean_ctor_get(x_395, 1); -lean_inc(x_405); -lean_inc(x_404); +lean_object* x_395; lean_object* x_396; lean_object* x_397; uint8_t x_398; +x_395 = lean_ctor_get(x_393, 0); +x_396 = lean_ctor_get(x_395, 1); +lean_inc(x_396); lean_dec(x_395); -x_406 = lean_ctor_get(x_404, 1); -lean_inc(x_406); -lean_dec(x_404); -lean_inc(x_392); -x_407 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_406, x_392); -x_408 = lean_name_eq(x_392, x_407); -lean_dec(x_392); -if (x_408 == 0) +lean_inc(x_390); +x_397 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_396, x_390); +x_398 = lean_name_eq(x_390, x_397); +lean_dec(x_390); +if (x_398 == 0) { -lean_object* x_409; lean_object* x_410; lean_object* x_411; +uint8_t x_399; +x_399 = !lean_is_exclusive(x_1); +if (x_399 == 0) +{ +lean_object* x_400; +x_400 = lean_ctor_get(x_1, 0); +lean_dec(x_400); +lean_ctor_set(x_1, 0, x_397); +lean_ctor_set(x_393, 0, x_1); +return x_393; +} +else +{ +lean_object* x_401; +lean_dec(x_1); +x_401 = lean_alloc_ctor(5, 1, 0); +lean_ctor_set(x_401, 0, x_397); +lean_ctor_set(x_393, 0, x_401); +return x_393; +} +} +else +{ +lean_dec(x_397); +lean_ctor_set(x_393, 0, x_1); +return x_393; +} +} +else +{ +lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; uint8_t x_406; +x_402 = lean_ctor_get(x_393, 0); +x_403 = lean_ctor_get(x_393, 1); +lean_inc(x_403); +lean_inc(x_402); +lean_dec(x_393); +x_404 = lean_ctor_get(x_402, 1); +lean_inc(x_404); +lean_dec(x_402); +lean_inc(x_390); +x_405 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_404, x_390); +x_406 = lean_name_eq(x_390, x_405); +lean_dec(x_390); +if (x_406 == 0) +{ +lean_object* x_407; lean_object* x_408; lean_object* x_409; if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); - x_409 = x_1; + x_407 = x_1; } else { lean_dec_ref(x_1); - x_409 = lean_box(0); + x_407 = lean_box(0); } -if (lean_is_scalar(x_409)) { - x_410 = lean_alloc_ctor(5, 1, 0); +if (lean_is_scalar(x_407)) { + x_408 = lean_alloc_ctor(5, 1, 0); } else { - x_410 = x_409; + x_408 = x_407; } -lean_ctor_set(x_410, 0, x_407); -x_411 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_411, 0, x_410); -lean_ctor_set(x_411, 1, x_405); -return x_411; +lean_ctor_set(x_408, 0, x_405); +x_409 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_409, 0, x_408); +lean_ctor_set(x_409, 1, x_403); +return x_409; } else { -lean_object* x_412; -lean_dec(x_407); -x_412 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_412, 0, x_1); -lean_ctor_set(x_412, 1, x_405); -return x_412; +lean_object* x_410; +lean_dec(x_405); +x_410 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_410, 0, x_1); +lean_ctor_set(x_410, 1, x_403); +return x_410; } } } default: { -lean_object* x_413; +lean_object* x_411; lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_413 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_413, 0, x_1); -lean_ctor_set(x_413, 1, x_6); -return x_413; +x_411 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_411, 0, x_1); +lean_ctor_set(x_411, 1, x_6); +return x_411; } } } @@ -5005,7 +5112,7 @@ x_1 = l_Lean_Compiler_LCNF_cse___closed__4; return x_1; } } -static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_939____closed__1() { +static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_984____closed__1() { _start: { lean_object* x_1; @@ -5013,31 +5120,31 @@ x_1 = lean_mk_string_from_bytes("Compiler", 8); return x_1; } } -static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_939____closed__2() { +static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_984____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_939____closed__1; +x_2 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_984____closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_939____closed__3() { +static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_984____closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_939____closed__2; +x_1 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_984____closed__2; x_2 = l_Lean_Compiler_LCNF_cse___closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_939_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_984_(lean_object* x_1) { _start: { lean_object* x_2; uint8_t x_3; lean_object* x_4; -x_2 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_939____closed__3; +x_2 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_984____closed__3; x_3 = 1; x_4 = l_Lean_registerTraceClass(x_2, x_3, x_1); return x_4; @@ -5106,13 +5213,13 @@ l_Lean_Compiler_LCNF_cse___closed__4 = _init_l_Lean_Compiler_LCNF_cse___closed__ lean_mark_persistent(l_Lean_Compiler_LCNF_cse___closed__4); l_Lean_Compiler_LCNF_cse = _init_l_Lean_Compiler_LCNF_cse(); lean_mark_persistent(l_Lean_Compiler_LCNF_cse); -l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_939____closed__1 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_939____closed__1(); -lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_939____closed__1); -l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_939____closed__2 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_939____closed__2(); -lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_939____closed__2); -l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_939____closed__3 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_939____closed__3(); -lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_939____closed__3); -res = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_939_(lean_io_mk_world()); +l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_984____closed__1 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_984____closed__1(); +lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_984____closed__1); +l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_984____closed__2 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_984____closed__2(); +lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_984____closed__2); +l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_984____closed__3 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_984____closed__3(); +lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_984____closed__3); +res = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_CSE___hyg_984_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Compiler/LCNF/Check.c b/stage0/stdlib/Lean/Compiler/LCNF/Check.c index dc24b1a004..2d57c2e243 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/Check.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/Check.c @@ -13,37 +13,43 @@ #ifdef __cplusplus extern "C" { #endif -uint8_t l_Std_HashSetImp_contains___at_Lean_MVarId_getNondepPropHyps___spec__16(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Check_check___closed__4; static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__3___lambda__4___closed__6; size_t lean_usize_add(size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_addFVarId(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__4(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkApp___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_stringToMessageData(lean_object*); static lean_object* l_Lean_Compiler_LCNF_Check_checkFVar___closed__1; lean_object* lean_mk_empty_array_with_capacity(lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_checkDeadLocalDecls_visitDecls___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_RBNode_insert___at_Lean_NameSet_insert___spec__1(lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkFVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_LocalDecl_userName(lean_object*); +LEAN_EXPORT lean_object* l_List_replace___at_Lean_Compiler_LCNF_Check_addFVarId___spec__6(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_State_all___default; static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__3___lambda__3___closed__5; uint8_t lean_usize_dec_eq(size_t, size_t); lean_object* lean_array_uget(lean_object*, size_t); static lean_object* l_Lean_Compiler_LCNF_Check_check___closed__1; static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_checkCases___spec__4___lambda__1___closed__1; -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkLetDecl___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*); +uint64_t l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1681_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_forM___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__3___lambda__3___closed__3; static lean_object* l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__1___closed__1; static lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkFVar___spec__1___closed__6; LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__3___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_array_uset(lean_object*, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkExpr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__3___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_RBNode_findCore___at_Lean_Meta_ToHide_isMarked___spec__1(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isErased(lean_object*); static lean_object* l_Lean_Compiler_LCNF_Check_check___closed__2; static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__3___lambda__5___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_checkDeadLocalDecls_visitParams___boxed(lean_object*, lean_object*); -lean_object* l_Lean_Compiler_LCNF_InferType_inferFVarType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashSetImp_insert___at_Lean_Compiler_LCNF_Check_addFVarId___spec__1(lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__3___lambda__3___closed__1; lean_object* lean_environment_find(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_Context_vars___default; @@ -52,21 +58,24 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_check___lambda__1(lean_objec lean_object* lean_st_ref_get(lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__3___lambda__5___closed__2; uint8_t lean_name_eq(lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_Std_HashSetImp_contains___at_Lean_Compiler_LCNF_Check_addFVarId___spec__7(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkJpInScope___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqParam____x40_Lean_Compiler_LCNF_Basic___hyg_51_(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Check_checkCases___closed__2; static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__3___lambda__4___closed__5; static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__3___lambda__5___closed__4; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_addFVarId___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__3___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__3___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Check_checkFunDecl___closed__2; lean_object* lean_array_get_size(lean_object*); static lean_object* l_Lean_Compiler_LCNF_Check_checkCases___closed__1; static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__3___lambda__6___closed__1; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkFVar___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_withJp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_elem___at_Lean_Compiler_LCNF_Check_addFVarId___spec__2___boxed(lean_object*, lean_object*); +uint8_t l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqLetDecl____x40_Lean_Compiler_LCNF_Basic___hyg_272_(lean_object*, lean_object*); static lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkFVar___spec__1___closed__2; -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_mkHashSetImp___rarg(lean_object*); static lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkFVar___spec__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_withJp(lean_object*); @@ -76,6 +85,7 @@ LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_ch static lean_object* l_Std_AssocList_forM___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__1___closed__2; static lean_object* l_Std_AssocList_forM___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__1___closed__1; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_checkDeadLocalDecls_visitCode___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_List_elem___at_Lean_Compiler_LCNF_Check_addFVarId___spec__2(lean_object*, lean_object*); uint8_t l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_eqFunDecl(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_forM___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Check_check___closed__6; @@ -90,10 +100,9 @@ static lean_object* l_Lean_Compiler_LCNF_Check_run___rarg___closed__1; LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__3___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_run(lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__3___lambda__4___closed__8; -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkFVar___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__1; lean_object* l_Lean_mkAppN(lean_object*, lean_object*); +size_t lean_uint64_to_usize(uint64_t); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__3___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__3___lambda__4___closed__4; static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__3___lambda__3___closed__2; @@ -101,10 +110,8 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkApp___lambda__2___boxed static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_checkCases___spec__4___lambda__3___closed__8; lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_LocalDecl_value(lean_object*); static lean_object* l_Lean_Compiler_LCNF_Check_checkLetDecl___closed__4; static lean_object* l_Lean_Compiler_LCNF_Check_checkCases___closed__5; -static lean_object* l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__4; lean_object* lean_array_fget(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Check_run___rarg___closed__4; static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_checkCases___spec__4___closed__3; @@ -115,13 +122,13 @@ uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_checkDeadLocalDecls_visitCode___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Check_checkJpInScope___closed__2; lean_object* lean_st_ref_take(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_checkCases___spec__4___lambda__3___closed__2; lean_object* lean_nat_sub(lean_object*, lean_object*); lean_object* l_Lean_Compiler_LCNF_FunDeclCore_getArity___rarg(lean_object*); static lean_object* l_Lean_Compiler_LCNF_Check_checkCases___closed__3; static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__3___lambda__4___closed__3; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkParams___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_replace___at_Lean_Compiler_LCNF_Check_addFVarId___spec__6___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__1___closed__4; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkCases___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkCases___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*); @@ -130,6 +137,8 @@ static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_check LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_check(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_headBeta(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_checkDeadLocalDecls_visitDecls(lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Check_checkFunDecl___closed__1; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkParam___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkFVar___spec__1___closed__3; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_checkCases___spec__4(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Check_checkApp___closed__2; @@ -137,11 +146,13 @@ lean_object* l_Lean_Compiler_LCNF_inferType(lean_object*, lean_object*, lean_obj static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_checkCases___spec__4___lambda__1___closed__2; lean_object* l_Lean_Expr_fvarId_x21(lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_checkCases___spec__4___closed__1; +lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_forM___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_RBNode_findCore___at_Lean_Meta_removeUnused___spec__1(lean_object*, lean_object*); lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_checkCases___spec__4___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_withParams___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Compiler_LCNF_getParam(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkJpInScope(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkFunDeclCore(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_checkCases___spec__4___closed__4; @@ -153,32 +164,41 @@ static lean_object* l_Lean_Compiler_LCNF_Check_checkLetDecl___closed__2; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkFunDecl___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_Nat_repr(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_check___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_Std_HashSetImp_insert___at_Lean_MVarId_getNondepPropHyps___spec__2(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashSetImp_moveEntries___at_Lean_Compiler_LCNF_Check_addFVarId___spec__4(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashSetImp_contains___at_Lean_Compiler_LCNF_Check_addFVarId___spec__7___boxed(lean_object*, lean_object*); lean_object* lean_st_mk_ref(lean_object*, lean_object*); +lean_object* l_Std_RBNode_insert___at_Lean_Meta_ToHide_moveToHiddeProp___spec__1(lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Check_checkParam___closed__4; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_checkCases___spec__4___lambda__4(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); lean_object* l_Lean_Expr_sort___override(lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___closed__4; static lean_object* l_Lean_Compiler_LCNF_Check_checkFVar___closed__4; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkApp___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Check_checkParams___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Check_checkLetDecl___closed__1; static lean_object* l_Lean_getConstInfo___at_Lean_Compiler_LCNF_Check_checkCases___spec__1___closed__2; static lean_object* l_Lean_Compiler_LCNF_Check_addFVarId___closed__2; +size_t lean_usize_modn(size_t, lean_object*); lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isConst(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_checkCases___spec__4___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__6(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_forM___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Check_addFVarId___closed__1; -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_mkHashSet___at_Lean_Compiler_LCNF_Check_State_all___default___spec__1(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_checkCases___spec__4___lambda__1(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__3___lambda__3___closed__6; +lean_object* l_Lean_Compiler_LCNF_getBinderName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_checkCases___spec__4___lambda__3___closed__5; static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__3___lambda__4___closed__2; static lean_object* l_Lean_Compiler_LCNF_Check_checkFVar___closed__2; size_t lean_usize_of_nat(lean_object*); extern lean_object* l_Lean_NameSet_empty; uint8_t l_Lean_Compiler_LCNF_maybeTypeFormerType(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkParam___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_checkDeadLocalDecls(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_checkCases___spec__4___lambda__4___closed__3; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkCases___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -192,24 +212,23 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkApp___lambda__1___boxed static lean_object* l_Lean_Compiler_LCNF_Check_checkParam___closed__1; static lean_object* l_Lean_getConstInfo___at_Lean_Compiler_LCNF_Check_checkCases___spec__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkCases___lambda__1(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_LocalDecl_type(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_checkCases___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Compiler_LCNF_mkForallParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Check_checkExpr___closed__2; lean_object* l_Lean_Expr_fvar___override(lean_object*); static lean_object* l_Lean_Compiler_LCNF_Check_checkJpInScope___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_check(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__3; static lean_object* l_Lean_Compiler_LCNF_Check_check___closed__5; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); -static lean_object* l_Lean_Compiler_LCNF_Check_State_all___default___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkLetDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_checkDeadLocalDecls_visitFVar(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_checkDeadLocalDecls_visitParams___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkCases___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_expr_eqv(lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Check_run___rarg___closed__7; +LEAN_EXPORT lean_object* l_Std_AssocList_forM___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_checkCases___spec__4___lambda__3___closed__4; static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_checkCases___spec__4___lambda__4___closed__1; uint8_t lean_nat_dec_le(lean_object*, lean_object*); @@ -223,13 +242,15 @@ uint8_t l_Lean_Compiler_LCNF_compatibleTypes(lean_object*, lean_object*); lean_object* l_Lean_Compiler_LCNF_LCtx_toLocalContext(lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_checkCases___spec__4___lambda__3___closed__6; static lean_object* l_Lean_Compiler_LCNF_Check_checkExpr___closed__1; -static lean_object* l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__5; static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_checkCases___spec__4___lambda__4___closed__4; +static lean_object* l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___closed__2; lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_mkCasesResultType___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_checkCases___spec__4___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_checkCases___spec__4___lambda__3___closed__1; -lean_object* l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashSetImp_expand___at_Lean_Compiler_LCNF_Check_addFVarId___spec__3(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_run___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Compiler_LCNF_getType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_nat_mul(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Check_withParams___spec__1(lean_object*, size_t, size_t, lean_object*); uint8_t l_Lean_Expr_isAnyType(lean_object*); static lean_object* l_Lean_getConstInfo___at_Lean_Compiler_LCNF_Check_checkCases___spec__1___closed__3; @@ -241,8 +262,10 @@ static lean_object* l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__1___closed uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_Context_jps___default; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_withFVarId___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___closed__3; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Check_withParams___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Check_checkParams___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Compiler_LCNF_getLetDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Check_run___rarg___closed__5; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkCases___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -251,6 +274,7 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_checkDeadLocalDecls_visitParams(le LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_checkDeadLocalDecls_visitCode(lean_object*, lean_object*); lean_object* l_Lean_Compiler_LCNF_getFunDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Check_withParams___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Check_checkParam___closed__3; lean_object* lean_mk_array(lean_object*, lean_object*); static lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkFVar___spec__1___closed__4; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_checkCases___spec__4___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -259,12 +283,10 @@ LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_ch LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_checkCases___spec__4___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Check_checkJpInScope___closed__4; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_checkDeadLocalDecls_visitParams___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkCases(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_NameSet_contains(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_checkDeadLocalDecls_visitParam(lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__3___closed__2; -static lean_object* l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__6; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_checkDeadLocalDecls_visitDecls___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkApp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_getAppFn(lean_object*); @@ -272,6 +294,7 @@ static lean_object* l_Lean_Compiler_LCNF_Check_checkFVar___closed__3; LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__3___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__2(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__3___closed__1; +LEAN_EXPORT lean_object* l_List_foldl___at_Lean_Compiler_LCNF_Check_addFVarId___spec__5(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_checkDeadLocalDecls_visitDecl(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_withFVarId(lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Check_checkCases___spec__4___lambda__4___closed__2; @@ -291,7 +314,6 @@ static lean_object* l_Lean_Compiler_LCNF_Check_checkCases___closed__6; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkFVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Check_checkJpInScope___closed__3; static lean_object* l_Lean_Compiler_LCNF_Check_checkExpr___closed__3; -lean_object* l_Lean_Compiler_LCNF_getLocalDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); static lean_object* l_Lean_getConstInfo___at_Lean_Compiler_LCNF_Check_checkCases___spec__1___closed__4; static lean_object* _init_l_Lean_Compiler_LCNF_Check_Context_jps___default() { @@ -310,11 +332,10 @@ x_1 = lean_box(0); return x_1; } } -static lean_object* _init_l_Lean_Compiler_LCNF_Check_State_all___default___closed__1() { +LEAN_EXPORT lean_object* l_Std_mkHashSet___at_Lean_Compiler_LCNF_Check_State_all___default___spec__1(lean_object* x_1) { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = lean_unsigned_to_nat(8u); +lean_object* x_2; x_2 = l_Std_mkHashSetImp___rarg(x_1); return x_2; } @@ -322,9 +343,10 @@ return x_2; static lean_object* _init_l_Lean_Compiler_LCNF_Check_State_all___default() { _start: { -lean_object* x_1; -x_1 = l_Lean_Compiler_LCNF_Check_State_all___default___closed__1; -return x_1; +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(8u); +x_2 = l_Std_mkHashSetImp___rarg(x_1); +return x_2; } } static lean_object* _init_l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkFVar___spec__1___closed__1() { @@ -517,67 +539,65 @@ _start: { lean_object* x_9; lean_object* x_10; x_9 = lean_ctor_get(x_2, 1); -x_10 = l_Std_RBNode_findCore___at_Lean_Meta_removeUnused___spec__1(x_9, x_1); +x_10 = l_Std_RBNode_findCore___at_Lean_Meta_ToHide_isMarked___spec__1(x_9, x_1); if (lean_obj_tag(x_10) == 0) { lean_object* x_11; -x_11 = l_Lean_Compiler_LCNF_getLocalDecl(x_1, x_5, x_6, x_7, x_8); +x_11 = l_Lean_Compiler_LCNF_getBinderName(x_1, x_5, x_6, x_7, x_8); if (lean_obj_tag(x_11) == 0) { -lean_object* x_12; lean_object* x_13; lean_object* x_14; 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_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; x_12 = lean_ctor_get(x_11, 0); lean_inc(x_12); x_13 = lean_ctor_get(x_11, 1); lean_inc(x_13); lean_dec(x_11); -x_14 = l_Lean_LocalDecl_userName(x_12); -lean_dec(x_12); -x_15 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_15, 0, x_14); -x_16 = l_Lean_Compiler_LCNF_Check_checkFVar___closed__2; -x_17 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_17, 0, x_16); -lean_ctor_set(x_17, 1, x_15); -x_18 = l_Lean_Compiler_LCNF_Check_checkFVar___closed__4; -x_19 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_19, 0, x_17); -lean_ctor_set(x_19, 1, x_18); -x_20 = l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkFVar___spec__1(x_19, x_2, x_3, x_4, x_5, x_6, x_7, x_13); -return x_20; +x_14 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_14, 0, x_12); +x_15 = l_Lean_Compiler_LCNF_Check_checkFVar___closed__2; +x_16 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_16, 0, x_15); +lean_ctor_set(x_16, 1, x_14); +x_17 = l_Lean_Compiler_LCNF_Check_checkFVar___closed__4; +x_18 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_18, 0, x_16); +lean_ctor_set(x_18, 1, x_17); +x_19 = l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkFVar___spec__1(x_18, x_2, x_3, x_4, x_5, x_6, x_7, x_13); +return x_19; } else { -uint8_t x_21; -x_21 = !lean_is_exclusive(x_11); -if (x_21 == 0) +uint8_t x_20; +x_20 = !lean_is_exclusive(x_11); +if (x_20 == 0) { return x_11; } else { -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_11, 0); -x_23 = lean_ctor_get(x_11, 1); -lean_inc(x_23); +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_11, 0); +x_22 = lean_ctor_get(x_11, 1); lean_inc(x_22); +lean_inc(x_21); lean_dec(x_11); -x_24 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -return x_24; +x_23 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_23, 0, x_21); +lean_ctor_set(x_23, 1, x_22); +return x_23; } } } else { -lean_object* x_25; lean_object* x_26; +lean_object* x_24; lean_object* x_25; lean_dec(x_10); lean_dec(x_1); -x_25 = lean_box(0); -x_26 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_26, 0, x_25); -lean_ctor_set(x_26, 1, x_8); -return x_26; +x_24 = lean_box(0); +x_25 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_25, 0, x_24); +lean_ctor_set(x_25, 1, x_8); +return x_25; } } } @@ -2326,7 +2346,7 @@ _start: { lean_object* x_9; lean_object* x_10; x_9 = lean_ctor_get(x_2, 0); -x_10 = l_Std_RBNode_findCore___at_Lean_Meta_removeUnused___spec__1(x_9, x_1); +x_10 = l_Std_RBNode_findCore___at_Lean_Meta_ToHide_isMarked___spec__1(x_9, x_1); if (lean_obj_tag(x_10) == 0) { lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; @@ -2371,119 +2391,11 @@ lean_dec(x_2); return x_9; } } -static lean_object* _init_l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("LCNF parameter mismatch at `", 28); -return x_1; -} -} -static lean_object* _init_l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__1; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("`, type in local context", 24); -return x_1; -} -} -static lean_object* _init_l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__3; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__5() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("\nexpected", 9); -return x_1; -} -} -static lean_object* _init_l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__6() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__5; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkParam___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; -x_11 = l_Lean_LocalDecl_type(x_1); -x_12 = lean_ctor_get(x_2, 2); -lean_inc(x_12); -x_13 = lean_expr_eqv(x_11, x_12); -if (x_13 == 0) -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_14 = lean_ctor_get(x_2, 1); -lean_inc(x_14); -lean_dec(x_2); -x_15 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_15, 0, x_14); -x_16 = l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__2; -x_17 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_17, 0, x_16); -lean_ctor_set(x_17, 1, x_15); -x_18 = l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__4; -x_19 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_19, 0, x_17); -lean_ctor_set(x_19, 1, x_18); -x_20 = l_Lean_indentExpr(x_11); -x_21 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_21, 0, x_19); -lean_ctor_set(x_21, 1, x_20); -x_22 = l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__6; -x_23 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_23, 0, x_21); -lean_ctor_set(x_23, 1, x_22); -x_24 = l_Lean_indentExpr(x_12); -x_25 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_25, 0, x_23); -lean_ctor_set(x_25, 1, x_24); -x_26 = l_Lean_Compiler_LCNF_Check_checkFVar___closed__4; -x_27 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_27, 0, x_25); -lean_ctor_set(x_27, 1, x_26); -x_28 = l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkFVar___spec__1(x_27, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -return x_28; -} -else -{ -lean_object* x_29; lean_object* x_30; -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_2); -x_29 = lean_box(0); -x_30 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_30, 0, x_29); -lean_ctor_set(x_30, 1, x_10); -return x_30; -} -} -} static lean_object* _init_l_Lean_Compiler_LCNF_Check_checkParam___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("`, binder name in local context `", 33); +x_1 = lean_mk_string_from_bytes("LCNF parameter mismatch at `", 28); return x_1; } } @@ -2496,137 +2408,148 @@ x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } +static lean_object* _init_l_Lean_Compiler_LCNF_Check_checkParam___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("`, does not value in local context", 34); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Check_checkParam___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Compiler_LCNF_Check_checkParam___closed__3; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkParam(lean_object* x_1, lean_object* x_2, 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; x_9 = lean_ctor_get(x_1, 0); lean_inc(x_9); -x_10 = l_Lean_Compiler_LCNF_getLocalDecl(x_9, x_5, x_6, x_7, x_8); +x_10 = l_Lean_Compiler_LCNF_getParam(x_9, x_5, x_6, x_7, x_8); if (lean_obj_tag(x_10) == 0) { -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; -x_11 = lean_ctor_get(x_10, 0); -lean_inc(x_11); -x_12 = lean_ctor_get(x_10, 1); -lean_inc(x_12); -lean_dec(x_10); -x_13 = l_Lean_LocalDecl_userName(x_11); -x_14 = lean_ctor_get(x_1, 1); -lean_inc(x_14); -x_15 = lean_name_eq(x_13, x_14); -if (x_15 == 0) +uint8_t x_11; +x_11 = !lean_is_exclusive(x_10); +if (x_11 == 0) { -lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; -lean_dec(x_11); +lean_object* x_12; lean_object* x_13; uint8_t x_14; +x_12 = lean_ctor_get(x_10, 0); +x_13 = lean_ctor_get(x_10, 1); +x_14 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqParam____x40_Lean_Compiler_LCNF_Basic___hyg_51_(x_1, x_12); +lean_dec(x_12); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +lean_free_object(x_10); +x_15 = lean_ctor_get(x_1, 1); +lean_inc(x_15); lean_dec(x_1); x_16 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_16, 0, x_14); -x_17 = l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__2; +lean_ctor_set(x_16, 0, x_15); +x_17 = l_Lean_Compiler_LCNF_Check_checkParam___closed__2; x_18 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_18, 0, x_17); lean_ctor_set(x_18, 1, x_16); -x_19 = l_Lean_Compiler_LCNF_Check_checkParam___closed__2; +x_19 = l_Lean_Compiler_LCNF_Check_checkParam___closed__4; x_20 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_20, 0, x_18); lean_ctor_set(x_20, 1, x_19); -x_21 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_21, 0, x_13); -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_Compiler_LCNF_Check_checkJpInScope___closed__4; -x_24 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -x_25 = l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__1(x_24, x_2, x_3, x_4, x_5, x_6, x_7, x_12); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_26 = !lean_is_exclusive(x_25); -if (x_26 == 0) -{ -return x_25; +x_21 = l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkFVar___spec__1(x_20, x_2, x_3, x_4, x_5, x_6, x_7, x_13); +return x_21; } else { -lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_27 = lean_ctor_get(x_25, 0); -x_28 = lean_ctor_get(x_25, 1); -lean_inc(x_28); -lean_inc(x_27); -lean_dec(x_25); -x_29 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_29, 0, x_27); -lean_ctor_set(x_29, 1, x_28); -return x_29; -} -} -else -{ -lean_object* x_30; lean_object* x_31; -lean_dec(x_14); -lean_dec(x_13); -x_30 = lean_box(0); -x_31 = l_Lean_Compiler_LCNF_Check_checkParam___lambda__1(x_11, x_1, x_30, x_2, x_3, x_4, x_5, x_6, x_7, x_12); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_11); -return x_31; -} -} -else -{ -uint8_t x_32; -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_object* x_22; lean_dec(x_1); -x_32 = !lean_is_exclusive(x_10); -if (x_32 == 0) +x_22 = lean_box(0); +lean_ctor_set(x_10, 0, x_22); +return x_10; +} +} +else +{ +lean_object* x_23; lean_object* x_24; uint8_t x_25; +x_23 = lean_ctor_get(x_10, 0); +x_24 = lean_ctor_get(x_10, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_10); +x_25 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqParam____x40_Lean_Compiler_LCNF_Basic___hyg_51_(x_1, x_23); +lean_dec(x_23); +if (x_25 == 0) +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_26 = lean_ctor_get(x_1, 1); +lean_inc(x_26); +lean_dec(x_1); +x_27 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_27, 0, x_26); +x_28 = l_Lean_Compiler_LCNF_Check_checkParam___closed__2; +x_29 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_29, 0, x_28); +lean_ctor_set(x_29, 1, x_27); +x_30 = l_Lean_Compiler_LCNF_Check_checkParam___closed__4; +x_31 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_31, 0, x_29); +lean_ctor_set(x_31, 1, x_30); +x_32 = l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkFVar___spec__1(x_31, x_2, x_3, x_4, x_5, x_6, x_7, x_24); +return x_32; +} +else +{ +lean_object* x_33; lean_object* x_34; +lean_dec(x_1); +x_33 = lean_box(0); +x_34 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_34, 0, x_33); +lean_ctor_set(x_34, 1, x_24); +return x_34; +} +} +} +else +{ +uint8_t x_35; +lean_dec(x_1); +x_35 = !lean_is_exclusive(x_10); +if (x_35 == 0) { return x_10; } else { -lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_33 = lean_ctor_get(x_10, 0); -x_34 = lean_ctor_get(x_10, 1); -lean_inc(x_34); -lean_inc(x_33); +lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_36 = lean_ctor_get(x_10, 0); +x_37 = lean_ctor_get(x_10, 1); +lean_inc(x_37); +lean_inc(x_36); lean_dec(x_10); -x_35 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_35, 0, x_33); -lean_ctor_set(x_35, 1, x_34); -return x_35; +x_38 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_38, 0, x_36); +lean_ctor_set(x_38, 1, x_37); +return x_38; } } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkParam___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { -lean_object* x_11; -x_11 = l_Lean_Compiler_LCNF_Check_checkParam___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_object* x_9; +x_9 = l_Lean_Compiler_LCNF_Check_checkParam(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_1); -return x_11; +lean_dec(x_2); +return x_9; } } LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Check_checkParams___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) { @@ -2639,12 +2562,6 @@ if (x_12 == 0) lean_object* x_13; lean_object* x_14; lean_dec(x_4); x_13 = lean_array_uget(x_1, x_2); -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_14 = l_Lean_Compiler_LCNF_Check_checkParam(x_13, x_5, x_6, x_7, x_8, x_9, x_10, x_11); if (lean_obj_tag(x_14) == 0) { @@ -2664,12 +2581,6 @@ goto _start; else { uint8_t x_20; -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_20 = !lean_is_exclusive(x_14); if (x_20 == 0) { @@ -2693,12 +2604,6 @@ return x_23; else { lean_object* x_24; -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_24 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_24, 0, x_4); lean_ctor_set(x_24, 1, x_11); @@ -2757,6 +2662,12 @@ x_18 = lean_usize_of_nat(x_9); lean_dec(x_9); x_19 = lean_box(0); x_20 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Check_checkParams___spec__1(x_1, x_17, x_18, x_19, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); return x_20; } } @@ -2771,6 +2682,12 @@ lean_dec(x_2); x_13 = lean_unbox_usize(x_3); lean_dec(x_3); x_14 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Check_checkParams___spec__1(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_7); +lean_dec(x_6); +lean_dec(x_5); lean_dec(x_1); return x_14; } @@ -2805,7 +2722,7 @@ static lean_object* _init_l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__1___ _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("`, value in local context", 25); +x_1 = lean_mk_string_from_bytes("`, does not match value in local context", 40); return x_1; } } @@ -2818,249 +2735,115 @@ x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkLetDecl___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_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkLetDecl___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_12; uint8_t x_13; -x_12 = l_Lean_LocalDecl_value(x_1); -x_13 = lean_expr_eqv(x_12, x_2); -if (x_13 == 0) +lean_object* x_10; lean_object* x_11; +x_10 = lean_ctor_get(x_1, 0); +lean_inc(x_10); +x_11 = l_Lean_Compiler_LCNF_getLetDecl(x_10, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_11) == 0) { -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_14 = lean_ctor_get(x_3, 1); -lean_inc(x_14); -x_15 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_15, 0, x_14); -x_16 = l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__1___closed__2; -x_17 = lean_alloc_ctor(10, 2, 0); +uint8_t x_12; +x_12 = !lean_is_exclusive(x_11); +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; uint8_t x_15; +x_13 = lean_ctor_get(x_11, 0); +x_14 = lean_ctor_get(x_11, 1); +x_15 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqLetDecl____x40_Lean_Compiler_LCNF_Basic___hyg_272_(x_1, x_13); +lean_dec(x_13); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +lean_free_object(x_11); +x_16 = lean_ctor_get(x_1, 1); +lean_inc(x_16); +lean_dec(x_1); +x_17 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_17, 0, x_16); -lean_ctor_set(x_17, 1, x_15); -x_18 = l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__1___closed__4; +x_18 = l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__1___closed__2; x_19 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_19, 0, x_17); -lean_ctor_set(x_19, 1, x_18); -x_20 = l_Lean_indentExpr(x_12); +lean_ctor_set(x_19, 0, x_18); +lean_ctor_set(x_19, 1, x_17); +x_20 = l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__1___closed__4; x_21 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_21, 0, x_19); lean_ctor_set(x_21, 1, x_20); -x_22 = l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__6; -x_23 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_23, 0, x_21); -lean_ctor_set(x_23, 1, x_22); -x_24 = l_Lean_indentExpr(x_2); -x_25 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_25, 0, x_23); -lean_ctor_set(x_25, 1, x_24); -x_26 = l_Lean_Compiler_LCNF_Check_checkFVar___closed__4; -x_27 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_27, 0, x_25); -lean_ctor_set(x_27, 1, x_26); -x_28 = l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkFVar___spec__1(x_27, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -return x_28; +x_22 = l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkFVar___spec__1(x_21, x_3, x_4, x_5, x_6, x_7, x_8, x_14); +return x_22; } else { -lean_object* x_29; lean_object* x_30; -lean_dec(x_12); -lean_dec(x_2); -x_29 = lean_box(0); -x_30 = lean_alloc_ctor(0, 2, 0); +lean_object* x_23; +lean_dec(x_1); +x_23 = lean_box(0); +lean_ctor_set(x_11, 0, x_23); +return x_11; +} +} +else +{ +lean_object* x_24; lean_object* x_25; uint8_t x_26; +x_24 = lean_ctor_get(x_11, 0); +x_25 = lean_ctor_get(x_11, 1); +lean_inc(x_25); +lean_inc(x_24); +lean_dec(x_11); +x_26 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqLetDecl____x40_Lean_Compiler_LCNF_Basic___hyg_272_(x_1, x_24); +lean_dec(x_24); +if (x_26 == 0) +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_27 = lean_ctor_get(x_1, 1); +lean_inc(x_27); +lean_dec(x_1); +x_28 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_28, 0, x_27); +x_29 = l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__1___closed__2; +x_30 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_30, 0, x_29); -lean_ctor_set(x_30, 1, x_11); -return x_30; -} -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkLetDecl___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; uint8_t x_14; -lean_dec(x_4); -x_12 = l_Lean_LocalDecl_type(x_1); -x_13 = lean_ctor_get(x_3, 2); -lean_inc(x_13); -x_14 = lean_expr_eqv(x_12, x_13); -if (x_14 == 0) -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_30; -lean_dec(x_2); -x_15 = lean_ctor_get(x_3, 1); -lean_inc(x_15); -lean_dec(x_3); -x_16 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_16, 0, x_15); -x_17 = l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__1___closed__2; -x_18 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_18, 0, x_17); -lean_ctor_set(x_18, 1, x_16); -x_19 = l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__4; -x_20 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_20, 0, x_18); -lean_ctor_set(x_20, 1, x_19); -x_21 = l_Lean_indentExpr(x_12); -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_Compiler_LCNF_Check_checkParam___lambda__1___closed__6; -x_24 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -x_25 = l_Lean_indentExpr(x_13); -x_26 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -x_27 = l_Lean_Compiler_LCNF_Check_checkFVar___closed__4; -x_28 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -x_29 = l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__1(x_28, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -x_30 = !lean_is_exclusive(x_29); -if (x_30 == 0) -{ -return x_29; -} -else -{ -lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_31 = lean_ctor_get(x_29, 0); -x_32 = lean_ctor_get(x_29, 1); -lean_inc(x_32); -lean_inc(x_31); -lean_dec(x_29); -x_33 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_33, 0, x_31); -lean_ctor_set(x_33, 1, x_32); +lean_ctor_set(x_30, 1, x_28); +x_31 = l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__1___closed__4; +x_32 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +x_33 = l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkFVar___spec__1(x_32, x_3, x_4, x_5, x_6, x_7, x_8, x_25); return x_33; } -} else { lean_object* x_34; lean_object* x_35; -lean_dec(x_13); -lean_dec(x_12); +lean_dec(x_1); x_34 = lean_box(0); -x_35 = l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__1(x_1, x_2, x_3, x_34, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_3); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_34); +lean_ctor_set(x_35, 1, x_25); return x_35; } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: +else { -lean_object* x_11; lean_object* x_12; -lean_dec(x_3); -x_11 = lean_ctor_get(x_1, 0); -lean_inc(x_11); -x_12 = l_Lean_Compiler_LCNF_getLocalDecl(x_11, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_12) == 0) -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); -lean_inc(x_14); -lean_dec(x_12); -x_15 = l_Lean_LocalDecl_userName(x_13); -x_16 = lean_ctor_get(x_1, 1); -lean_inc(x_16); -x_17 = lean_name_eq(x_15, x_16); -if (x_17 == 0) -{ -lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; -lean_dec(x_13); -lean_dec(x_2); +uint8_t x_36; lean_dec(x_1); -x_18 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_18, 0, x_16); -x_19 = l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__1___closed__2; -x_20 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_20, 0, x_19); -lean_ctor_set(x_20, 1, x_18); -x_21 = l_Lean_Compiler_LCNF_Check_checkParam___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 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_23, 0, x_15); -x_24 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -x_25 = l_Lean_Compiler_LCNF_Check_checkJpInScope___closed__4; -x_26 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -x_27 = l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkAppArgs___spec__1(x_26, x_4, x_5, x_6, x_7, x_8, x_9, x_14); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -x_28 = !lean_is_exclusive(x_27); -if (x_28 == 0) +x_36 = !lean_is_exclusive(x_11); +if (x_36 == 0) { -return x_27; +return x_11; } else { -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_27, 0); -x_30 = lean_ctor_get(x_27, 1); -lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_27); -x_31 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_31, 0, x_29); -lean_ctor_set(x_31, 1, x_30); -return x_31; -} -} -else -{ -lean_object* x_32; lean_object* x_33; -lean_dec(x_16); -lean_dec(x_15); -x_32 = lean_box(0); -x_33 = l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__2(x_13, x_2, x_1, x_32, x_4, x_5, x_6, x_7, x_8, x_9, x_14); -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_13); -return x_33; -} -} -else -{ -uint8_t x_34; -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -lean_dec(x_1); -x_34 = !lean_is_exclusive(x_12); -if (x_34 == 0) -{ -return x_12; -} -else -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_35 = lean_ctor_get(x_12, 0); -x_36 = lean_ctor_get(x_12, 1); -lean_inc(x_36); -lean_inc(x_35); -lean_dec(x_12); -x_37 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_37, 0, x_35); -lean_ctor_set(x_37, 1, x_36); -return x_37; +lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_37 = lean_ctor_get(x_11, 0); +x_38 = lean_ctor_get(x_11, 1); +lean_inc(x_38); +lean_inc(x_37); +lean_dec(x_11); +x_39 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_39, 0, x_37); +lean_ctor_set(x_39, 1, x_38); +return x_39; } } } @@ -3122,7 +2905,6 @@ lean_dec(x_10); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -lean_inc(x_9); x_12 = l_Lean_Compiler_LCNF_inferType(x_9, x_5, x_6, x_7, x_11); if (lean_obj_tag(x_12) == 0) { @@ -3140,7 +2922,6 @@ x_16 = l_Lean_Compiler_LCNF_compatibleTypes(x_15, x_13); if (x_16 == 0) { lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; -lean_dec(x_9); x_17 = lean_ctor_get(x_1, 1); lean_inc(x_17); lean_dec(x_1); @@ -3202,14 +2983,19 @@ lean_object* x_36; lean_object* x_37; lean_dec(x_15); lean_dec(x_13); x_36 = lean_box(0); -x_37 = l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__3(x_1, x_9, x_36, x_2, x_3, x_4, x_5, x_6, x_7, x_14); +x_37 = l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__1(x_1, x_36, x_2, x_3, x_4, x_5, x_6, x_7, x_14); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); return x_37; } } else { uint8_t x_38; -lean_dec(x_9); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -3269,36 +3055,345 @@ return x_45; } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkLetDecl___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_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkLetDecl___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_12; -x_12 = l_Lean_Compiler_LCNF_Check_checkLetDecl___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_object* x_10; +x_10 = l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_1); -return x_12; +lean_dec(x_2); +return x_10; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +LEAN_EXPORT uint8_t l_List_elem___at_Lean_Compiler_LCNF_Check_addFVarId___spec__2(lean_object* x_1, lean_object* x_2) { _start: { -lean_object* x_12; -x_12 = l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); +if (lean_obj_tag(x_2) == 0) +{ +uint8_t x_3; +x_3 = 0; +return x_3; +} +else +{ +lean_object* x_4; lean_object* x_5; uint8_t x_6; +x_4 = lean_ctor_get(x_2, 0); +x_5 = lean_ctor_get(x_2, 1); +x_6 = lean_name_eq(x_1, x_4); +if (x_6 == 0) +{ +x_2 = x_5; +goto _start; +} +else +{ +uint8_t x_8; +x_8 = 1; +return x_8; +} +} +} +} +LEAN_EXPORT lean_object* l_List_foldl___at_Lean_Compiler_LCNF_Check_addFVarId___spec__5(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +return x_1; +} +else +{ +uint8_t x_3; +x_3 = !lean_is_exclusive(x_2); +if (x_3 == 0) +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; uint64_t x_7; size_t x_8; size_t x_9; lean_object* x_10; lean_object* x_11; +x_4 = lean_ctor_get(x_2, 0); +x_5 = lean_ctor_get(x_2, 1); +x_6 = lean_array_get_size(x_1); +x_7 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1681_(x_4); +x_8 = lean_uint64_to_usize(x_7); +x_9 = lean_usize_modn(x_8, x_6); lean_dec(x_6); -lean_dec(x_5); +x_10 = lean_array_uget(x_1, x_9); +lean_ctor_set(x_2, 1, x_10); +x_11 = lean_array_uset(x_1, x_9, x_2); +x_1 = x_11; +x_2 = x_5; +goto _start; +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; uint64_t x_16; size_t x_17; size_t x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_13 = lean_ctor_get(x_2, 0); +x_14 = lean_ctor_get(x_2, 1); +lean_inc(x_14); +lean_inc(x_13); +lean_dec(x_2); +x_15 = lean_array_get_size(x_1); +x_16 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1681_(x_13); +x_17 = lean_uint64_to_usize(x_16); +x_18 = lean_usize_modn(x_17, x_15); +lean_dec(x_15); +x_19 = lean_array_uget(x_1, x_18); +x_20 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_20, 0, x_13); +lean_ctor_set(x_20, 1, x_19); +x_21 = lean_array_uset(x_1, x_18, x_20); +x_1 = x_21; +x_2 = x_14; +goto _start; +} +} +} +} +LEAN_EXPORT lean_object* l_Std_HashSetImp_moveEntries___at_Lean_Compiler_LCNF_Check_addFVarId___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; uint8_t x_5; +x_4 = lean_array_get_size(x_2); +x_5 = lean_nat_dec_lt(x_1, x_4); +lean_dec(x_4); +if (x_5 == 0) +{ +lean_dec(x_2); lean_dec(x_1); -return x_12; +return x_3; +} +else +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_6 = lean_array_fget(x_2, x_1); +x_7 = lean_box(0); +x_8 = lean_array_fset(x_2, x_1, x_7); +x_9 = l_List_foldl___at_Lean_Compiler_LCNF_Check_addFVarId___spec__5(x_3, x_6); +x_10 = lean_unsigned_to_nat(1u); +x_11 = lean_nat_add(x_1, x_10); +lean_dec(x_1); +x_1 = x_11; +x_2 = x_8; +x_3 = x_9; +goto _start; +} +} +} +LEAN_EXPORT lean_object* l_Std_HashSetImp_expand___at_Lean_Compiler_LCNF_Check_addFVarId___spec__3(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_3 = lean_array_get_size(x_2); +x_4 = lean_unsigned_to_nat(2u); +x_5 = lean_nat_mul(x_3, x_4); +lean_dec(x_3); +x_6 = lean_box(0); +x_7 = lean_mk_array(x_5, x_6); +x_8 = lean_unsigned_to_nat(0u); +x_9 = l_Std_HashSetImp_moveEntries___at_Lean_Compiler_LCNF_Check_addFVarId___spec__4(x_8, x_2, x_7); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_1); +lean_ctor_set(x_10, 1, x_9); +return x_10; +} +} +LEAN_EXPORT lean_object* l_List_replace___at_Lean_Compiler_LCNF_Check_addFVarId___spec__6(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_3); +x_4 = lean_box(0); +return x_4; +} +else +{ +uint8_t x_5; +x_5 = !lean_is_exclusive(x_1); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; uint8_t x_8; +x_6 = lean_ctor_get(x_1, 0); +x_7 = lean_ctor_get(x_1, 1); +x_8 = lean_name_eq(x_6, x_2); +if (x_8 == 0) +{ +lean_object* x_9; +x_9 = l_List_replace___at_Lean_Compiler_LCNF_Check_addFVarId___spec__6(x_7, x_2, x_3); +lean_ctor_set(x_1, 1, x_9); +return x_1; +} +else +{ +lean_dec(x_6); +lean_ctor_set(x_1, 0, x_3); +return x_1; +} +} +else +{ +lean_object* x_10; lean_object* x_11; uint8_t x_12; +x_10 = lean_ctor_get(x_1, 0); +x_11 = lean_ctor_get(x_1, 1); +lean_inc(x_11); +lean_inc(x_10); +lean_dec(x_1); +x_12 = lean_name_eq(x_10, x_2); +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; +x_13 = l_List_replace___at_Lean_Compiler_LCNF_Check_addFVarId___spec__6(x_11, x_2, x_3); +x_14 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_14, 0, x_10); +lean_ctor_set(x_14, 1, x_13); +return x_14; +} +else +{ +lean_object* x_15; +lean_dec(x_10); +x_15 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_15, 0, x_3); +lean_ctor_set(x_15, 1, x_11); +return x_15; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Std_HashSetImp_insert___at_Lean_Compiler_LCNF_Check_addFVarId___spec__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; +x_3 = !lean_is_exclusive(x_1); +if (x_3 == 0) +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; uint64_t x_7; size_t x_8; size_t x_9; lean_object* x_10; uint8_t x_11; +x_4 = lean_ctor_get(x_1, 0); +x_5 = lean_ctor_get(x_1, 1); +x_6 = lean_array_get_size(x_5); +x_7 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1681_(x_2); +x_8 = lean_uint64_to_usize(x_7); +x_9 = lean_usize_modn(x_8, x_6); +x_10 = lean_array_uget(x_5, x_9); +x_11 = l_List_elem___at_Lean_Compiler_LCNF_Check_addFVarId___spec__2(x_2, x_10); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; +x_12 = lean_unsigned_to_nat(1u); +x_13 = lean_nat_add(x_4, x_12); +lean_dec(x_4); +x_14 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_14, 0, x_2); +lean_ctor_set(x_14, 1, x_10); +x_15 = lean_array_uset(x_5, x_9, x_14); +x_16 = lean_nat_dec_le(x_13, x_6); +lean_dec(x_6); +if (x_16 == 0) +{ +lean_object* x_17; +lean_free_object(x_1); +x_17 = l_Std_HashSetImp_expand___at_Lean_Compiler_LCNF_Check_addFVarId___spec__3(x_13, x_15); +return x_17; +} +else +{ +lean_ctor_set(x_1, 1, x_15); +lean_ctor_set(x_1, 0, x_13); +return x_1; +} +} +else +{ +lean_object* x_18; lean_object* x_19; +lean_dec(x_6); +lean_inc(x_2); +x_18 = l_List_replace___at_Lean_Compiler_LCNF_Check_addFVarId___spec__6(x_10, x_2, x_2); +lean_dec(x_2); +x_19 = lean_array_uset(x_5, x_9, x_18); +lean_ctor_set(x_1, 1, x_19); +return x_1; +} +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; uint64_t x_23; size_t x_24; size_t x_25; lean_object* x_26; uint8_t x_27; +x_20 = lean_ctor_get(x_1, 0); +x_21 = lean_ctor_get(x_1, 1); +lean_inc(x_21); +lean_inc(x_20); +lean_dec(x_1); +x_22 = lean_array_get_size(x_21); +x_23 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1681_(x_2); +x_24 = lean_uint64_to_usize(x_23); +x_25 = lean_usize_modn(x_24, x_22); +x_26 = lean_array_uget(x_21, x_25); +x_27 = l_List_elem___at_Lean_Compiler_LCNF_Check_addFVarId___spec__2(x_2, x_26); +if (x_27 == 0) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_28 = lean_unsigned_to_nat(1u); +x_29 = lean_nat_add(x_20, x_28); +lean_dec(x_20); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_2); +lean_ctor_set(x_30, 1, x_26); +x_31 = lean_array_uset(x_21, x_25, x_30); +x_32 = lean_nat_dec_le(x_29, x_22); +lean_dec(x_22); +if (x_32 == 0) +{ +lean_object* x_33; +x_33 = l_Std_HashSetImp_expand___at_Lean_Compiler_LCNF_Check_addFVarId___spec__3(x_29, x_31); +return x_33; +} +else +{ +lean_object* x_34; +x_34 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_34, 0, x_29); +lean_ctor_set(x_34, 1, x_31); +return x_34; +} +} +else +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; +lean_dec(x_22); +lean_inc(x_2); +x_35 = l_List_replace___at_Lean_Compiler_LCNF_Check_addFVarId___spec__6(x_26, x_2, x_2); +lean_dec(x_2); +x_36 = lean_array_uset(x_21, x_25, x_35); +x_37 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_37, 0, x_20); +lean_ctor_set(x_37, 1, x_36); +return x_37; +} +} +} +} +LEAN_EXPORT uint8_t l_Std_HashSetImp_contains___at_Lean_Compiler_LCNF_Check_addFVarId___spec__7(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; uint64_t x_5; size_t x_6; size_t x_7; lean_object* x_8; uint8_t x_9; +x_3 = lean_ctor_get(x_1, 1); +lean_inc(x_3); +lean_dec(x_1); +x_4 = lean_array_get_size(x_3); +x_5 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1681_(x_2); +x_6 = lean_uint64_to_usize(x_5); +x_7 = lean_usize_modn(x_6, x_4); +lean_dec(x_4); +x_8 = lean_array_uget(x_3, x_7); +lean_dec(x_3); +x_9 = l_List_elem___at_Lean_Compiler_LCNF_Check_addFVarId___spec__2(x_2, x_8); +lean_dec(x_8); +lean_dec(x_2); +return x_9; } } LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_addFVarId___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) { @@ -3315,7 +3410,7 @@ lean_inc(x_13); x_14 = lean_ctor_get(x_12, 1); lean_inc(x_14); lean_dec(x_12); -x_15 = l_Std_HashSetImp_insert___at_Lean_MVarId_getNondepPropHyps___spec__2(x_13, x_1); +x_15 = l_Std_HashSetImp_insert___at_Lean_Compiler_LCNF_Check_addFVarId___spec__1(x_13, x_1); x_16 = lean_st_ref_set(x_4, x_15, x_14); x_17 = !lean_is_exclusive(x_16); if (x_17 == 0) @@ -3373,7 +3468,7 @@ x_13 = lean_ctor_get(x_11, 1); lean_inc(x_13); lean_dec(x_11); lean_inc(x_1); -x_14 = l_Std_HashSetImp_contains___at_Lean_MVarId_getNondepPropHyps___spec__16(x_12, x_1); +x_14 = l_Std_HashSetImp_contains___at_Lean_Compiler_LCNF_Check_addFVarId___spec__7(x_12, x_1); if (x_14 == 0) { lean_object* x_15; lean_object* x_16; @@ -3428,6 +3523,35 @@ return x_26; } } } +LEAN_EXPORT lean_object* l_List_elem___at_Lean_Compiler_LCNF_Check_addFVarId___spec__2___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_List_elem___at_Lean_Compiler_LCNF_Check_addFVarId___spec__2(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l_List_replace___at_Lean_Compiler_LCNF_Check_addFVarId___spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_List_replace___at_Lean_Compiler_LCNF_Check_addFVarId___spec__6(x_1, x_2, x_3); +lean_dec(x_2); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Std_HashSetImp_contains___at_Lean_Compiler_LCNF_Check_addFVarId___spec__7___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_Std_HashSetImp_contains___at_Lean_Compiler_LCNF_Check_addFVarId___spec__7(x_1, x_2); +x_4 = lean_box(x_3); +return x_4; +} +} LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_addFVarId___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: { @@ -3467,7 +3591,7 @@ if (x_12 == 0) lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; x_13 = lean_ctor_get(x_3, 1); x_14 = lean_box(0); -x_15 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_13, x_1, x_14); +x_15 = l_Std_RBNode_insert___at_Lean_Meta_ToHide_moveToHiddeProp___spec__1(x_13, x_1, x_14); lean_ctor_set(x_3, 1, x_15); x_16 = lean_apply_7(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_11); return x_16; @@ -3481,7 +3605,7 @@ lean_inc(x_18); lean_inc(x_17); lean_dec(x_3); x_19 = lean_box(0); -x_20 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_18, x_1, x_19); +x_20 = l_Std_RBNode_insert___at_Lean_Meta_ToHide_moveToHiddeProp___spec__1(x_18, x_1, x_19); x_21 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_21, 0, x_17); lean_ctor_set(x_21, 1, x_20); @@ -3553,7 +3677,7 @@ if (x_12 == 0) lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; x_13 = lean_ctor_get(x_3, 0); x_14 = lean_box(0); -x_15 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_13, x_1, x_14); +x_15 = l_Std_RBNode_insert___at_Lean_Meta_ToHide_moveToHiddeProp___spec__1(x_13, x_1, x_14); lean_ctor_set(x_3, 0, x_15); x_16 = lean_apply_7(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_11); return x_16; @@ -3567,7 +3691,7 @@ lean_inc(x_18); lean_inc(x_17); lean_dec(x_3); x_19 = lean_box(0); -x_20 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_17, x_1, x_19); +x_20 = l_Std_RBNode_insert___at_Lean_Meta_ToHide_moveToHiddeProp___spec__1(x_17, x_1, x_19); x_21 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_21, 0, x_20); lean_ctor_set(x_21, 1, x_18); @@ -3630,7 +3754,7 @@ lean_dec(x_6); x_8 = 1; x_9 = lean_usize_add(x_2, x_8); x_10 = lean_box(0); -x_11 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_4, x_7, x_10); +x_11 = l_Std_RBNode_insert___at_Lean_Meta_ToHide_moveToHiddeProp___spec__1(x_4, x_7, x_10); x_2 = x_9; x_4 = x_11; goto _start; @@ -4605,7 +4729,7 @@ if (x_16 == 0) lean_object* x_17; lean_object* x_18; lean_object* x_19; x_17 = lean_ctor_get(x_2, 1); x_18 = lean_box(0); -x_19 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_17, x_13, x_18); +x_19 = l_Std_RBNode_insert___at_Lean_Meta_ToHide_moveToHiddeProp___spec__1(x_17, x_13, x_18); lean_ctor_set(x_2, 1, x_19); x_1 = x_10; x_8 = x_15; @@ -4620,7 +4744,7 @@ lean_inc(x_22); lean_inc(x_21); lean_dec(x_2); x_23 = lean_box(0); -x_24 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_22, x_13, x_23); +x_24 = l_Std_RBNode_insert___at_Lean_Meta_ToHide_moveToHiddeProp___spec__1(x_22, x_13, x_23); x_25 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_25, 0, x_21); lean_ctor_set(x_25, 1, x_24); @@ -4748,7 +4872,7 @@ x_48 = lean_ctor_get(x_44, 1); lean_inc(x_48); lean_dec(x_44); x_49 = lean_box(0); -x_50 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_39, x_43, x_49); +x_50 = l_Std_RBNode_insert___at_Lean_Meta_ToHide_moveToHiddeProp___spec__1(x_39, x_43, x_49); lean_ctor_set(x_2, 1, x_50); x_1 = x_36; x_8 = x_48; @@ -4797,7 +4921,7 @@ x_56 = lean_ctor_get(x_44, 1); lean_inc(x_56); lean_dec(x_44); x_57 = lean_box(0); -x_58 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_39, x_43, x_57); +x_58 = l_Std_RBNode_insert___at_Lean_Meta_ToHide_moveToHiddeProp___spec__1(x_39, x_43, x_57); x_59 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_59, 0, x_38); lean_ctor_set(x_59, 1, x_58); @@ -4919,7 +5043,7 @@ if (x_76 == 0) lean_object* x_77; lean_object* x_78; lean_object* x_79; x_77 = lean_ctor_get(x_2, 0); x_78 = lean_box(0); -x_79 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_77, x_73, x_78); +x_79 = l_Std_RBNode_insert___at_Lean_Meta_ToHide_moveToHiddeProp___spec__1(x_77, x_73, x_78); lean_ctor_set(x_2, 0, x_79); x_1 = x_70; x_8 = x_75; @@ -4934,7 +5058,7 @@ lean_inc(x_82); lean_inc(x_81); lean_dec(x_2); x_83 = lean_box(0); -x_84 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_81, x_73, x_83); +x_84 = l_Std_RBNode_insert___at_Lean_Meta_ToHide_moveToHiddeProp___spec__1(x_81, x_73, x_83); x_85 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_85, 0, x_84); lean_ctor_set(x_85, 1, x_82); @@ -6734,8 +6858,7 @@ lean_object* x_11; lean_object* x_12; x_11 = lean_ctor_get(x_10, 1); lean_inc(x_11); lean_dec(x_10); -lean_inc(x_4); -x_12 = l_Lean_Compiler_LCNF_InferType_inferFVarType(x_9, x_4, x_5, x_6, x_7, x_11); +x_12 = l_Lean_Compiler_LCNF_getType(x_9, x_5, x_6, x_7, x_11); if (lean_obj_tag(x_12) == 0) { lean_object* x_13; lean_object* x_14; uint8_t x_15; @@ -7074,11 +7197,46 @@ return x_38; } } } +static lean_object* _init_l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("`, type in local context", 24); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("\nexpected", 9); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___closed__3; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { lean_object* x_14; uint8_t x_15; -x_14 = l_Lean_LocalDecl_type(x_4); +x_14 = lean_ctor_get(x_4, 3); +lean_inc(x_14); lean_dec(x_4); x_15 = lean_expr_eqv(x_14, x_5); if (x_15 == 0) @@ -7091,7 +7249,7 @@ x_17 = l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__1___closed__2; x_18 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_18, 0, x_17); lean_ctor_set(x_18, 1, x_16); -x_19 = l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__4; +x_19 = l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___closed__2; x_20 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_20, 0, x_18); lean_ctor_set(x_20, 1, x_19); @@ -7099,7 +7257,7 @@ x_21 = l_Lean_indentExpr(x_14); 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_Compiler_LCNF_Check_checkParam___lambda__1___closed__6; +x_23 = l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___closed__4; x_24 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_24, 0, x_22); lean_ctor_set(x_24, 1, x_23); @@ -7148,6 +7306,23 @@ return x_35; } } } +static lean_object* _init_l_Lean_Compiler_LCNF_Check_checkFunDecl___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("`, binder name in local context `", 33); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Check_checkFunDecl___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Compiler_LCNF_Check_checkFunDecl___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Check_checkFunDecl(lean_object* x_1, lean_object* x_2, 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: { @@ -7178,7 +7353,7 @@ lean_dec(x_13); x_15 = lean_ctor_get(x_1, 0); lean_inc(x_15); lean_inc(x_15); -x_16 = l_Lean_Compiler_LCNF_getLocalDecl(x_15, x_5, x_6, x_7, x_14); +x_16 = l_Lean_Compiler_LCNF_getFunDecl(x_15, x_5, x_6, x_7, x_14); if (lean_obj_tag(x_16) == 0) { lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; @@ -7187,7 +7362,8 @@ lean_inc(x_17); x_18 = lean_ctor_get(x_16, 1); lean_inc(x_18); lean_dec(x_16); -x_19 = l_Lean_LocalDecl_userName(x_17); +x_19 = lean_ctor_get(x_17, 1); +lean_inc(x_19); x_20 = lean_name_eq(x_19, x_9); if (x_20 == 0) { @@ -7202,7 +7378,7 @@ x_22 = l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__1___closed__2; x_23 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_23, 0, x_22); lean_ctor_set(x_23, 1, x_21); -x_24 = l_Lean_Compiler_LCNF_Check_checkParam___closed__2; +x_24 = l_Lean_Compiler_LCNF_Check_checkFunDecl___closed__2; x_25 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_25, 0, x_23); lean_ctor_set(x_25, 1, x_24); @@ -7487,6 +7663,15 @@ return x_2; static lean_object* _init_l_Lean_Compiler_LCNF_Check_run___rarg___closed__2() { _start: { +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(8u); +x_2 = l_Std_mkHashSetImp___rarg(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Check_run___rarg___closed__3() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkFVar___spec__1___closed__2; x_2 = lean_unsigned_to_nat(0u); @@ -7496,7 +7681,7 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Compiler_LCNF_Check_run___rarg___closed__3() { +static lean_object* _init_l_Lean_Compiler_LCNF_Check_run___rarg___closed__4() { _start: { lean_object* x_1; lean_object* x_2; @@ -7505,23 +7690,23 @@ x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -static lean_object* _init_l_Lean_Compiler_LCNF_Check_run___rarg___closed__4() { +static lean_object* _init_l_Lean_Compiler_LCNF_Check_run___rarg___closed__5() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Compiler_LCNF_Check_run___rarg___closed__3; +x_1 = l_Lean_Compiler_LCNF_Check_run___rarg___closed__4; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Compiler_LCNF_Check_run___rarg___closed__5() { +static lean_object* _init_l_Lean_Compiler_LCNF_Check_run___rarg___closed__6() { _start: { size_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = 5; -x_2 = l_Lean_Compiler_LCNF_Check_run___rarg___closed__4; -x_3 = l_Lean_Compiler_LCNF_Check_run___rarg___closed__3; +x_2 = l_Lean_Compiler_LCNF_Check_run___rarg___closed__5; +x_3 = l_Lean_Compiler_LCNF_Check_run___rarg___closed__4; x_4 = lean_unsigned_to_nat(0u); x_5 = lean_alloc_ctor(0, 4, sizeof(size_t)*1); lean_ctor_set(x_5, 0, x_2); @@ -7532,12 +7717,12 @@ lean_ctor_set_usize(x_5, 4, x_1); return x_5; } } -static lean_object* _init_l_Lean_Compiler_LCNF_Check_run___rarg___closed__6() { +static lean_object* _init_l_Lean_Compiler_LCNF_Check_run___rarg___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Compiler_LCNF_Check_run___rarg___closed__2; -x_2 = l_Lean_Compiler_LCNF_Check_run___rarg___closed__5; +x_1 = l_Lean_Compiler_LCNF_Check_run___rarg___closed__3; +x_2 = l_Lean_Compiler_LCNF_Check_run___rarg___closed__6; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); @@ -7552,7 +7737,7 @@ x_6 = lean_st_ref_get(x_4, x_5); x_7 = lean_ctor_get(x_6, 1); lean_inc(x_7); lean_dec(x_6); -x_8 = l_Lean_Compiler_LCNF_Check_State_all___default___closed__1; +x_8 = l_Lean_Compiler_LCNF_Check_run___rarg___closed__2; x_9 = lean_st_mk_ref(x_8, x_7); x_10 = lean_ctor_get(x_9, 0); lean_inc(x_10); @@ -7560,7 +7745,7 @@ x_11 = lean_ctor_get(x_9, 1); lean_inc(x_11); lean_dec(x_9); x_12 = l_Lean_Compiler_LCNF_Check_run___rarg___closed__1; -x_13 = l_Lean_Compiler_LCNF_Check_run___rarg___closed__6; +x_13 = l_Lean_Compiler_LCNF_Check_run___rarg___closed__7; lean_inc(x_4); lean_inc(x_10); x_14 = lean_apply_7(x_1, x_12, x_10, x_13, x_2, x_3, x_4, x_11); @@ -7660,7 +7845,7 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_checkDeadLocalDecls_visitFVar(lean _start: { lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_3 = l_Std_HashSetImp_insert___at_Lean_MVarId_getNondepPropHyps___spec__2(x_2, x_1); +x_3 = l_Std_HashSetImp_insert___at_Lean_Compiler_LCNF_Check_addFVarId___spec__1(x_2, x_1); x_4 = lean_box(0); x_5 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_5, 0, x_4); @@ -8157,7 +8342,7 @@ return x_8; } else { -lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; x_9 = lean_ctor_get(x_2, 0); lean_inc(x_9); x_10 = lean_ctor_get(x_2, 1); @@ -8165,17 +8350,18 @@ lean_inc(x_10); x_11 = lean_ctor_get(x_2, 2); lean_inc(x_11); lean_dec(x_2); +x_12 = lean_ctor_get(x_10, 1); +lean_inc(x_12); +lean_dec(x_10); lean_inc(x_1); -x_12 = l_Std_HashSetImp_contains___at_Lean_MVarId_getNondepPropHyps___spec__16(x_1, x_9); -if (x_12 == 0) +x_13 = l_Std_HashSetImp_contains___at_Lean_Compiler_LCNF_Check_addFVarId___spec__7(x_1, x_9); +if (x_13 == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; +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; lean_dec(x_11); lean_dec(x_1); -x_13 = l_Lean_LocalDecl_userName(x_10); -lean_dec(x_10); x_14 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_14, 0, x_13); +lean_ctor_set(x_14, 0, x_12); x_15 = l_Std_AssocList_forM___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__1___closed__2; x_16 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_16, 0, x_15); @@ -8206,7 +8392,7 @@ return x_23; } else { -lean_dec(x_10); +lean_dec(x_12); x_2 = x_11; goto _start; } @@ -8275,11 +8461,279 @@ return x_22; } } } +LEAN_EXPORT lean_object* l_Std_AssocList_forM___at_Lean_Compiler_LCNF_checkDeadLocalDecls___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: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_7; lean_object* x_8; +lean_dec(x_1); +x_7 = lean_box(0); +x_8 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_6); +return x_8; +} +else +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; +x_9 = lean_ctor_get(x_2, 0); +lean_inc(x_9); +x_10 = lean_ctor_get(x_2, 1); +lean_inc(x_10); +x_11 = lean_ctor_get(x_2, 2); +lean_inc(x_11); +lean_dec(x_2); +x_12 = lean_ctor_get(x_10, 1); +lean_inc(x_12); +lean_dec(x_10); +lean_inc(x_1); +x_13 = l_Std_HashSetImp_contains___at_Lean_Compiler_LCNF_Check_addFVarId___spec__7(x_1, x_9); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; +lean_dec(x_11); +lean_dec(x_1); +x_14 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_14, 0, x_12); +x_15 = l_Std_AssocList_forM___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__1___closed__2; +x_16 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_16, 0, x_15); +lean_ctor_set(x_16, 1, x_14); +x_17 = l_Lean_Compiler_LCNF_Check_checkJpInScope___closed__4; +x_18 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_18, 0, x_16); +lean_ctor_set(x_18, 1, x_17); +x_19 = l_Lean_throwError___at_Lean_Compiler_LCNF_mkCasesResultType___spec__2(x_18, x_3, x_4, x_5, x_6); +x_20 = !lean_is_exclusive(x_19); +if (x_20 == 0) +{ +return x_19; +} +else +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_19, 0); +x_22 = lean_ctor_get(x_19, 1); +lean_inc(x_22); +lean_inc(x_21); +lean_dec(x_19); +x_23 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_23, 0, x_21); +lean_ctor_set(x_23, 1, x_22); +return x_23; +} +} +else +{ +lean_dec(x_12); +x_2 = x_11; +goto _start; +} +} +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_checkDeadLocalDecls___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) { +_start: +{ +uint8_t x_10; +x_10 = lean_usize_dec_eq(x_3, x_4); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; +lean_dec(x_5); +x_11 = lean_array_uget(x_2, x_3); +lean_inc(x_1); +x_12 = l_Std_AssocList_forM___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__3(x_1, x_11, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; lean_object* x_14; size_t x_15; size_t 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 = 1; +x_16 = lean_usize_add(x_3, x_15); +x_3 = x_16; +x_5 = x_13; +x_9 = x_14; +goto _start; +} +else +{ +uint8_t x_18; +lean_dec(x_1); +x_18 = !lean_is_exclusive(x_12); +if (x_18 == 0) +{ +return x_12; +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_12, 0); +x_20 = lean_ctor_get(x_12, 1); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_12); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_20); +return x_21; +} +} +} +else +{ +lean_object* x_22; +lean_dec(x_1); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_5); +lean_ctor_set(x_22, 1, x_9); +return x_22; +} +} +} +LEAN_EXPORT lean_object* l_Std_AssocList_forM___at_Lean_Compiler_LCNF_checkDeadLocalDecls___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) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_7; lean_object* x_8; +lean_dec(x_1); +x_7 = lean_box(0); +x_8 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_6); +return x_8; +} +else +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; +x_9 = lean_ctor_get(x_2, 0); +lean_inc(x_9); +x_10 = lean_ctor_get(x_2, 1); +lean_inc(x_10); +x_11 = lean_ctor_get(x_2, 2); +lean_inc(x_11); +lean_dec(x_2); +x_12 = lean_ctor_get(x_10, 1); +lean_inc(x_12); +lean_dec(x_10); +lean_inc(x_1); +x_13 = l_Std_HashSetImp_contains___at_Lean_Compiler_LCNF_Check_addFVarId___spec__7(x_1, x_9); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; +lean_dec(x_11); +lean_dec(x_1); +x_14 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_14, 0, x_12); +x_15 = l_Std_AssocList_forM___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__1___closed__2; +x_16 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_16, 0, x_15); +lean_ctor_set(x_16, 1, x_14); +x_17 = l_Lean_Compiler_LCNF_Check_checkJpInScope___closed__4; +x_18 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_18, 0, x_16); +lean_ctor_set(x_18, 1, x_17); +x_19 = l_Lean_throwError___at_Lean_Compiler_LCNF_mkCasesResultType___spec__2(x_18, x_3, x_4, x_5, x_6); +x_20 = !lean_is_exclusive(x_19); +if (x_20 == 0) +{ +return x_19; +} +else +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_19, 0); +x_22 = lean_ctor_get(x_19, 1); +lean_inc(x_22); +lean_inc(x_21); +lean_dec(x_19); +x_23 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_23, 0, x_21); +lean_ctor_set(x_23, 1, x_22); +return x_23; +} +} +else +{ +lean_dec(x_12); +x_2 = x_11; +goto _start; +} +} +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__6(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) { +_start: +{ +uint8_t x_10; +x_10 = lean_usize_dec_eq(x_3, x_4); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; +lean_dec(x_5); +x_11 = lean_array_uget(x_2, x_3); +lean_inc(x_1); +x_12 = l_Std_AssocList_forM___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__5(x_1, x_11, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; lean_object* x_14; size_t x_15; size_t 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 = 1; +x_16 = lean_usize_add(x_3, x_15); +x_3 = x_16; +x_5 = x_13; +x_9 = x_14; +goto _start; +} +else +{ +uint8_t x_18; +lean_dec(x_1); +x_18 = !lean_is_exclusive(x_12); +if (x_18 == 0) +{ +return x_12; +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_12, 0); +x_20 = lean_ctor_get(x_12, 1); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_12); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_20); +return x_21; +} +} +} +else +{ +lean_object* x_22; +lean_dec(x_1); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_5); +lean_ctor_set(x_22, 1, x_9); +return x_22; +} +} +} LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_checkDeadLocalDecls(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; -x_6 = l_Lean_Compiler_LCNF_Check_State_all___default___closed__1; +lean_object* x_6; lean_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_50; lean_object* x_51; lean_object* x_52; uint8_t x_53; +x_6 = l_Lean_Compiler_LCNF_Check_run___rarg___closed__2; x_7 = l_Lean_Compiler_LCNF_checkDeadLocalDecls_visitDecls(x_1, x_6); lean_dec(x_1); x_8 = lean_ctor_get(x_7, 1); @@ -8290,138 +8744,243 @@ x_10 = lean_ctor_get(x_9, 1); lean_inc(x_10); lean_dec(x_9); x_11 = lean_st_ref_get(x_2, x_10); -x_12 = !lean_is_exclusive(x_11); -if (x_12 == 0) -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; -x_13 = lean_ctor_get(x_11, 0); -x_14 = lean_ctor_get(x_11, 1); -x_15 = lean_ctor_get(x_13, 0); +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_11, 1); +lean_inc(x_13); +if (lean_is_exclusive(x_11)) { + lean_ctor_release(x_11, 0); + lean_ctor_release(x_11, 1); + x_14 = x_11; +} else { + lean_dec_ref(x_11); + x_14 = lean_box(0); +} +x_15 = lean_ctor_get(x_12, 0); lean_inc(x_15); -lean_dec(x_13); +lean_dec(x_12); x_16 = lean_ctor_get(x_15, 0); lean_inc(x_16); -lean_dec(x_15); -x_17 = lean_ctor_get(x_16, 1); -lean_inc(x_17); +x_50 = lean_ctor_get(x_16, 1); +lean_inc(x_50); lean_dec(x_16); -x_18 = lean_array_get_size(x_17); -x_19 = lean_unsigned_to_nat(0u); -x_20 = lean_nat_dec_lt(x_19, x_18); -if (x_20 == 0) +x_51 = lean_array_get_size(x_50); +x_52 = lean_unsigned_to_nat(0u); +x_53 = lean_nat_dec_lt(x_52, x_51); +if (x_53 == 0) { -lean_object* x_21; -lean_dec(x_18); -lean_dec(x_17); +lean_dec(x_51); +lean_dec(x_50); +x_17 = x_13; +goto block_49; +} +else +{ +uint8_t x_54; +x_54 = lean_nat_dec_le(x_51, x_51); +if (x_54 == 0) +{ +lean_dec(x_51); +lean_dec(x_50); +x_17 = x_13; +goto block_49; +} +else +{ +size_t x_55; size_t x_56; lean_object* x_57; lean_object* x_58; +x_55 = 0; +x_56 = lean_usize_of_nat(x_51); +lean_dec(x_51); +x_57 = lean_box(0); +lean_inc(x_8); +x_58 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__6(x_8, x_50, x_55, x_56, x_57, x_2, x_3, x_4, x_13); +lean_dec(x_50); +if (lean_obj_tag(x_58) == 0) +{ +lean_object* x_59; +x_59 = lean_ctor_get(x_58, 1); +lean_inc(x_59); +lean_dec(x_58); +x_17 = x_59; +goto block_49; +} +else +{ +uint8_t x_60; +lean_dec(x_15); +lean_dec(x_14); lean_dec(x_8); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_21 = lean_box(0); -lean_ctor_set(x_11, 0, x_21); -return x_11; +x_60 = !lean_is_exclusive(x_58); +if (x_60 == 0) +{ +return x_58; } else { -uint8_t x_22; -x_22 = lean_nat_dec_le(x_18, x_18); -if (x_22 == 0) +lean_object* x_61; lean_object* x_62; lean_object* x_63; +x_61 = lean_ctor_get(x_58, 0); +x_62 = lean_ctor_get(x_58, 1); +lean_inc(x_62); +lean_inc(x_61); +lean_dec(x_58); +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; +} +} +} +} +block_49: { -lean_object* x_23; +lean_object* x_18; lean_object* x_19; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; +x_18 = lean_ctor_get(x_15, 1); +lean_inc(x_18); +x_35 = lean_ctor_get(x_18, 1); +lean_inc(x_35); lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_8); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_23 = lean_box(0); -lean_ctor_set(x_11, 0, x_23); -return x_11; -} -else -{ -size_t x_24; size_t x_25; lean_object* x_26; lean_object* x_27; -lean_free_object(x_11); -x_24 = 0; -x_25 = lean_usize_of_nat(x_18); -lean_dec(x_18); -x_26 = lean_box(0); -x_27 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__2(x_8, x_17, x_24, x_25, x_26, x_2, x_3, x_4, x_14); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_17); -return x_27; -} -} -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; -x_28 = lean_ctor_get(x_11, 0); -x_29 = lean_ctor_get(x_11, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_11); -x_30 = lean_ctor_get(x_28, 0); -lean_inc(x_30); -lean_dec(x_28); -x_31 = lean_ctor_get(x_30, 0); -lean_inc(x_31); -lean_dec(x_30); -x_32 = lean_ctor_get(x_31, 1); -lean_inc(x_32); -lean_dec(x_31); -x_33 = lean_array_get_size(x_32); -x_34 = lean_unsigned_to_nat(0u); -x_35 = lean_nat_dec_lt(x_34, x_33); -if (x_35 == 0) -{ -lean_object* x_36; lean_object* x_37; -lean_dec(x_33); -lean_dec(x_32); -lean_dec(x_8); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_36 = lean_box(0); -x_37 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_37, 0, x_36); -lean_ctor_set(x_37, 1, x_29); -return x_37; -} -else -{ -uint8_t x_38; -x_38 = lean_nat_dec_le(x_33, x_33); +x_36 = lean_array_get_size(x_35); +x_37 = lean_unsigned_to_nat(0u); +x_38 = lean_nat_dec_lt(x_37, x_36); if (x_38 == 0) { -lean_object* x_39; lean_object* x_40; -lean_dec(x_33); -lean_dec(x_32); +lean_dec(x_36); +lean_dec(x_35); +x_19 = x_17; +goto block_34; +} +else +{ +uint8_t x_39; +x_39 = lean_nat_dec_le(x_36, x_36); +if (x_39 == 0) +{ +lean_dec(x_36); +lean_dec(x_35); +x_19 = x_17; +goto block_34; +} +else +{ +size_t x_40; size_t x_41; lean_object* x_42; lean_object* x_43; +x_40 = 0; +x_41 = lean_usize_of_nat(x_36); +lean_dec(x_36); +x_42 = lean_box(0); +lean_inc(x_8); +x_43 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__4(x_8, x_35, x_40, x_41, x_42, x_2, x_3, x_4, x_17); +lean_dec(x_35); +if (lean_obj_tag(x_43) == 0) +{ +lean_object* x_44; +x_44 = lean_ctor_get(x_43, 1); +lean_inc(x_44); +lean_dec(x_43); +x_19 = x_44; +goto block_34; +} +else +{ +uint8_t x_45; +lean_dec(x_15); +lean_dec(x_14); lean_dec(x_8); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_39 = lean_box(0); -x_40 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_40, 0, x_39); -lean_ctor_set(x_40, 1, x_29); -return x_40; +x_45 = !lean_is_exclusive(x_43); +if (x_45 == 0) +{ +return x_43; } else { -size_t x_41; size_t x_42; lean_object* x_43; lean_object* x_44; -x_41 = 0; -x_42 = lean_usize_of_nat(x_33); -lean_dec(x_33); -x_43 = lean_box(0); -x_44 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__2(x_8, x_32, x_41, x_42, x_43, x_2, x_3, x_4, x_29); +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_43, 0); +x_47 = lean_ctor_get(x_43, 1); +lean_inc(x_47); +lean_inc(x_46); +lean_dec(x_43); +x_48 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_47); +return x_48; +} +} +} +} +block_34: +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; +x_20 = lean_ctor_get(x_15, 2); +lean_inc(x_20); +lean_dec(x_15); +x_21 = lean_ctor_get(x_20, 1); +lean_inc(x_21); +lean_dec(x_20); +x_22 = lean_array_get_size(x_21); +x_23 = lean_unsigned_to_nat(0u); +x_24 = lean_nat_dec_lt(x_23, x_22); +if (x_24 == 0) +{ +lean_object* x_25; lean_object* x_26; +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_8); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -lean_dec(x_32); -return x_44; +x_25 = lean_box(0); +if (lean_is_scalar(x_14)) { + x_26 = lean_alloc_ctor(0, 2, 0); +} else { + x_26 = x_14; +} +lean_ctor_set(x_26, 0, x_25); +lean_ctor_set(x_26, 1, x_19); +return x_26; +} +else +{ +uint8_t x_27; +x_27 = lean_nat_dec_le(x_22, x_22); +if (x_27 == 0) +{ +lean_object* x_28; lean_object* x_29; +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_8); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_28 = lean_box(0); +if (lean_is_scalar(x_14)) { + x_29 = lean_alloc_ctor(0, 2, 0); +} else { + x_29 = x_14; +} +lean_ctor_set(x_29, 0, x_28); +lean_ctor_set(x_29, 1, x_19); +return x_29; +} +else +{ +size_t x_30; size_t x_31; lean_object* x_32; lean_object* x_33; +lean_dec(x_14); +x_30 = 0; +x_31 = lean_usize_of_nat(x_22); +lean_dec(x_22); +x_32 = lean_box(0); +x_33 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__2(x_8, x_21, x_30, x_31, x_32, x_2, x_3, x_4, x_19); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_21); +return x_33; +} } } } @@ -8454,6 +9013,60 @@ lean_dec(x_2); return x_12; } } +LEAN_EXPORT lean_object* l_Std_AssocList_forM___at_Lean_Compiler_LCNF_checkDeadLocalDecls___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_Std_AssocList_forM___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__3(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_checkDeadLocalDecls___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; +x_10 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_11 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_12 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__4(x_1, x_2, x_10, x_11, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +return x_12; +} +} +LEAN_EXPORT lean_object* l_Std_AssocList_forM___at_Lean_Compiler_LCNF_checkDeadLocalDecls___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) { +_start: +{ +lean_object* x_7; +x_7 = l_Std_AssocList_forM___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__5(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +size_t x_10; size_t x_11; lean_object* x_12; +x_10 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_11 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_12 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__6(x_1, x_2, x_10, x_11, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +return x_12; +} +} lean_object* initialize_Init(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Compiler_LCNF_InferType(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Compiler_LCNF_PrettyPrinter(uint8_t builtin, lean_object*); @@ -8475,8 +9088,6 @@ l_Lean_Compiler_LCNF_Check_Context_jps___default = _init_l_Lean_Compiler_LCNF_Ch lean_mark_persistent(l_Lean_Compiler_LCNF_Check_Context_jps___default); l_Lean_Compiler_LCNF_Check_Context_vars___default = _init_l_Lean_Compiler_LCNF_Check_Context_vars___default(); lean_mark_persistent(l_Lean_Compiler_LCNF_Check_Context_vars___default); -l_Lean_Compiler_LCNF_Check_State_all___default___closed__1 = _init_l_Lean_Compiler_LCNF_Check_State_all___default___closed__1(); -lean_mark_persistent(l_Lean_Compiler_LCNF_Check_State_all___default___closed__1); l_Lean_Compiler_LCNF_Check_State_all___default = _init_l_Lean_Compiler_LCNF_Check_State_all___default(); lean_mark_persistent(l_Lean_Compiler_LCNF_Check_State_all___default); l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkFVar___spec__1___closed__1 = _init_l_Lean_throwError___at_Lean_Compiler_LCNF_Check_checkFVar___spec__1___closed__1(); @@ -8563,22 +9174,14 @@ l_Lean_Compiler_LCNF_Check_checkJpInScope___closed__3 = _init_l_Lean_Compiler_LC lean_mark_persistent(l_Lean_Compiler_LCNF_Check_checkJpInScope___closed__3); l_Lean_Compiler_LCNF_Check_checkJpInScope___closed__4 = _init_l_Lean_Compiler_LCNF_Check_checkJpInScope___closed__4(); lean_mark_persistent(l_Lean_Compiler_LCNF_Check_checkJpInScope___closed__4); -l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__1 = _init_l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__1(); -lean_mark_persistent(l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__1); -l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__2 = _init_l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__2(); -lean_mark_persistent(l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__2); -l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__3 = _init_l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__3(); -lean_mark_persistent(l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__3); -l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__4 = _init_l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__4(); -lean_mark_persistent(l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__4); -l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__5 = _init_l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__5(); -lean_mark_persistent(l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__5); -l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__6 = _init_l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__6(); -lean_mark_persistent(l_Lean_Compiler_LCNF_Check_checkParam___lambda__1___closed__6); l_Lean_Compiler_LCNF_Check_checkParam___closed__1 = _init_l_Lean_Compiler_LCNF_Check_checkParam___closed__1(); lean_mark_persistent(l_Lean_Compiler_LCNF_Check_checkParam___closed__1); l_Lean_Compiler_LCNF_Check_checkParam___closed__2 = _init_l_Lean_Compiler_LCNF_Check_checkParam___closed__2(); lean_mark_persistent(l_Lean_Compiler_LCNF_Check_checkParam___closed__2); +l_Lean_Compiler_LCNF_Check_checkParam___closed__3 = _init_l_Lean_Compiler_LCNF_Check_checkParam___closed__3(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Check_checkParam___closed__3); +l_Lean_Compiler_LCNF_Check_checkParam___closed__4 = _init_l_Lean_Compiler_LCNF_Check_checkParam___closed__4(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Check_checkParam___closed__4); l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__1___closed__1 = _init_l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__1___closed__1(); lean_mark_persistent(l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__1___closed__1); l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__1___closed__2 = _init_l_Lean_Compiler_LCNF_Check_checkLetDecl___lambda__1___closed__2(); @@ -8675,6 +9278,18 @@ l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__1___closed__3 = _init_l_Lean_C lean_mark_persistent(l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__1___closed__3); l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__1___closed__4 = _init_l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__1___closed__4(); lean_mark_persistent(l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__1___closed__4); +l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___closed__1 = _init_l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___closed__1(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___closed__1); +l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___closed__2 = _init_l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___closed__2(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___closed__2); +l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___closed__3 = _init_l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___closed__3(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___closed__3); +l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___closed__4 = _init_l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___closed__4(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Check_checkFunDecl___lambda__2___closed__4); +l_Lean_Compiler_LCNF_Check_checkFunDecl___closed__1 = _init_l_Lean_Compiler_LCNF_Check_checkFunDecl___closed__1(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Check_checkFunDecl___closed__1); +l_Lean_Compiler_LCNF_Check_checkFunDecl___closed__2 = _init_l_Lean_Compiler_LCNF_Check_checkFunDecl___closed__2(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Check_checkFunDecl___closed__2); l_Lean_Compiler_LCNF_Check_run___rarg___closed__1 = _init_l_Lean_Compiler_LCNF_Check_run___rarg___closed__1(); lean_mark_persistent(l_Lean_Compiler_LCNF_Check_run___rarg___closed__1); l_Lean_Compiler_LCNF_Check_run___rarg___closed__2 = _init_l_Lean_Compiler_LCNF_Check_run___rarg___closed__2(); @@ -8687,6 +9302,8 @@ l_Lean_Compiler_LCNF_Check_run___rarg___closed__5 = _init_l_Lean_Compiler_LCNF_C lean_mark_persistent(l_Lean_Compiler_LCNF_Check_run___rarg___closed__5); l_Lean_Compiler_LCNF_Check_run___rarg___closed__6 = _init_l_Lean_Compiler_LCNF_Check_run___rarg___closed__6(); lean_mark_persistent(l_Lean_Compiler_LCNF_Check_run___rarg___closed__6); +l_Lean_Compiler_LCNF_Check_run___rarg___closed__7 = _init_l_Lean_Compiler_LCNF_Check_run___rarg___closed__7(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Check_run___rarg___closed__7); l_Std_AssocList_forM___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__1___closed__1 = _init_l_Std_AssocList_forM___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__1___closed__1(); lean_mark_persistent(l_Std_AssocList_forM___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__1___closed__1); l_Std_AssocList_forM___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__1___closed__2 = _init_l_Std_AssocList_forM___at_Lean_Compiler_LCNF_checkDeadLocalDecls___spec__1___closed__2(); diff --git a/stage0/stdlib/Lean/Compiler/LCNF/CompilerM.c b/stage0/stdlib/Lean/Compiler/LCNF/CompilerM.c index 2ec651d539..6a5a2ef792 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/CompilerM.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/CompilerM.c @@ -20,6 +20,7 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Internalize_internalizeFunDecl(lea LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normExpr___rarg___lambda__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normCodeImp___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkFreshId___at___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_mkNewFVarId___spec__2(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseParam___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_add(size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CompilerM_instInhabitedState; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normParams___rarg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -33,12 +34,13 @@ LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compil uint8_t lean_usize_dec_eq(size_t, size_t); lean_object* lean_array_uget(lean_object*, size_t); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normCodeImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_findParam_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normExpr___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_addParam(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at_Lean_Compiler_LCNF_normCodeImp___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint64_t l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1681_(lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Internalize_internalizeFunDecl___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_getLocalDecl___spec__2___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_getBinderName___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_mkParam(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp___closed__3; lean_object* lean_array_uset(lean_object*, size_t, lean_object*); @@ -46,6 +48,7 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Internalize_internalizeCode___boxe LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_cleanup(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normCode___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normFVar___rarg(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_getParam___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_normCodeImp___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateLetDeclImp___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_mdata___override(lean_object*, lean_object*); @@ -53,36 +56,39 @@ lean_object* l___private_Lean_Data_HashMap_0__Std_numBucketsForCapacity(lean_obj LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go___spec__2(lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseParam(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Compiler_LCNF_replaceFVar___spec__1(lean_object*); -lean_object* l_Lean_Compiler_LCNF_LCtx_addLetDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_getLocalDecl___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Compiler_LCNF_LCtx_addLetDecl(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_modifyLCtx___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseFunDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Internalize_internalizeCode___spec__2(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_getType___spec__4(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_StateRefT_x27_get___at_Lean_Compiler_LCNF_Internalize_instMonadFVarSubstM___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_modifyLCtx(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normFunDecl(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_internalize(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Compiler_LCNF_getLocalDecl___closed__3; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseLetDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instAddMessageContextCompilerM___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Internalize_internalizeFunDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltCodeImp(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseFVarsAt___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_getLocalDecl___spec__2(lean_object*, lean_object*); uint8_t lean_usize_dec_lt(size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normExprs(lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go___spec__2___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_getType___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_replaceFVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Compiler_LCNF_LCtx_erase(lean_object*, lean_object*, uint8_t); LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_normParams___spec__1(lean_object*); static lean_object* l_Lean_Compiler_LCNF_instAddMessageContextCompilerM___closed__1; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Internalize_internalizeCode___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Internalize_internalizeCode___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_cleanup___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_getType___spec__6(lean_object*, lean_object*); size_t lean_uint64_to_usize(uint64_t); static lean_object* l_Lean_Compiler_LCNF_instAddMessageContextCompilerM___closed__2; static lean_object* l_Lean_Compiler_LCNF_CompilerM_instInhabitedState___closed__1; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_findParam_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseFunDecl(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_normFunDeclImp___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_normExprs___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CompilerM_run(lean_object*); @@ -90,32 +96,41 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_replaceExprFVars___boxed(lean_obje static lean_object* l_Lean_Compiler_LCNF_cleanup___closed__1; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_getFunDecl___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseFVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkFreshId___at_Lean_Compiler_LCNF_mkParam___spec__2___rarg(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_instAddMessageContextCompilerM___closed__4; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseCode___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normLetDecl(lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateFunDeclImp___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go___at_Lean_Compiler_LCNF_normFunDeclImp___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_LCtx_erase___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normParam___rarg___lambda__1(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go___closed__4; +static lean_object* l_Lean_Compiler_LCNF_getParam___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_replaceExprFVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_num___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_replaceFVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_getType___closed__2; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instAddMessageContextCompilerM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normLetDecl___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_getBinderName___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkFreshId___at___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_mkNewFVarId___spec__2___rarg___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_mkFreshJpName___closed__2; lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); lean_object* l_Std_mkHashMapImp___rarg(lean_object*); static lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go___closed__2; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getParam___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Compiler_LCNF_LCtx_eraseParams(lean_object*, lean_object*); lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_mkFreshFVarId___at___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_mkNewFVarId___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkFreshId___at_Lean_Compiler_LCNF_mkParam___spec__2___rarg___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_getLetDecl___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_mkFreshJpName___closed__1; LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Compiler_LCNF_replaceFVar___spec__1___boxed(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getParam(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normFunDecl___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getType___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_getType___closed__1; +static lean_object* l_Lean_Compiler_LCNF_getParam___closed__2; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_FunDeclCore_updateValue___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_mkFreshJpName___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_internalize(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -126,6 +141,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compil lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_StateRefT_x27_get___at_Lean_Compiler_LCNF_Internalize_instMonadFVarSubstM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instMonadFVarSubst___rarg(lean_object*, lean_object*); +lean_object* l_Lean_Compiler_LCNF_LCtx_eraseLetDecl(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_instAddMessageContextCompilerM___closed__3; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_mkLetDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normLetDecl___at_Lean_Compiler_LCNF_normCodeImp___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -144,9 +160,11 @@ static lean_object* l_Lean_Compiler_LCNF_instAddMessageContextCompilerM___closed static lean_object* l_Lean_Compiler_LCNF_instMonadFVarSubstReaderTFVarSubstCompilerM___closed__1; static lean_object* l_Lean_Compiler_LCNF_getFunDecl___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CompilerM_State_lctx___default; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseLetDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getBinderName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_of_nat(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_FunDeclCore_updateValue(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getLocalDecl___spec__1(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_getType___spec__6___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_findFunDecl_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normExprs___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normExpr(lean_object*); @@ -161,80 +179,92 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normFunDeclImp(lean_object*, lean_ lean_object* l_Lean_Expr_fvar___override(lean_object*); size_t lean_ptr_addr(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_mkFunDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseFVar(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normParam___at_Lean_Compiler_LCNF_normFunDeclImp___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_getLocalDecl___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_getType___spec__4___boxed(lean_object*, lean_object*); static lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp___closed__1; LEAN_EXPORT lean_object* l_ReaderT_read___at_Lean_Compiler_LCNF_instMonadFVarSubstReaderTFVarSubstCompilerM___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_normExprs___at_Lean_Compiler_LCNF_normCodeImp___spec__2___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_refreshBinderName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Std_AssocList_contains___at___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_mkNewFVarId___spec__4(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LetDecl_updateValue(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Compiler_LCNF_LCtx_addLocalDecl(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_getType___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getType___spec__5(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CompilerM_State_nextIdx___default; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseCodeDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_mkNewFVarId___spec__7(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_instAddMessageContextCompilerM___closed__6; uint8_t lean_nat_dec_le(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normFVar___rarg___lambda__1(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Compiler_LCNF_LCtx_addParam(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_mkFreshBinderName___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normFVar(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseCode(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_replace___at___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_mkNewFVarId___spec__8(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Compiler_LCNF_LCtx_eraseFunDecl(lean_object*, lean_object*, uint8_t); static lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp___closed__2; LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_normExprs___spec__1___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normParam(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_mkFreshBinderName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Compiler_LCNF_LCtx_toLocalContext(lean_object*); static lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go___closed__1; -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_eraseParams___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_mkNewFVarId___spec__6(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_CompilerM_run___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instMonadFVarSubst(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normParams(lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Internalize_internalizeCode___spec__3(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_findLetDecl_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkFreshFVarId___at_Lean_Compiler_LCNF_mkParam___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normParam___at_Lean_Compiler_LCNF_normFunDeclImp___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_mul(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_mkNewFVarId___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getLetDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_HashMap_insert___at___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_mkNewFVarId___spec__3(lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_getLetDecl___closed__1; LEAN_EXPORT lean_object* l_Lean_mkFreshId___at_Lean_Compiler_LCNF_mkParam___spec__2(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getLetDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LetDecl_updateValue___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getLocalDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_app___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateParamImp___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Compiler_LCNF_LCtx_erase_go(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_getLetDecl___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_normCodeImp___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normParam___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_cleanup___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getFunDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Compiler_LCNF_getLocalDecl___closed__2; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getBinderName___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getType___spec__3(lean_object*, lean_object*); lean_object* lean_mk_array(lean_object*, lean_object*); uint8_t l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(uint8_t, uint8_t); LEAN_EXPORT lean_object* l_Lean_mkFreshFVarId___at_Lean_Compiler_LCNF_mkParam___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normExpr___at_Lean_Compiler_LCNF_Internalize_internalizeCode___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Compiler_LCNF_getLocalDecl___closed__4; +LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getType___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normParams___at_Lean_Compiler_LCNF_normFunDeclImp___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_normCodeImp___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normExpr___at_Lean_Compiler_LCNF_normCodeImp___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_mkFreshJpName(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_mkParam___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_mkAuxParam___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_eraseParams___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_findLetDecl_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_mkAuxParam___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_internalize___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_proj___override(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go___closed__3; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_mkAuxParam(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Compiler_LCNF_LCtx_eraseParam(lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_getType___closed__3; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_getFunDecl___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_mkAuxParam___closed__2; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_mkLetDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_getType___spec__2___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_contains___at___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_mkNewFVarId___spec__4___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseParams___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_refreshBinderName___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Internalize_instMonadFVarSubstM; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseCodeDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normCode(lean_object*); lean_object* l_Lean_Compiler_LCNF_LCtx_addFunDecl(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_internalize___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -252,11 +282,13 @@ lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp_go(lean_object* LEAN_EXPORT lean_object* l_Lean_mkFreshFVarId___at___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_mkNewFVarId___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normLetDecl___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getFunDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Compiler_LCNF_getLocalDecl___closed__1; -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseFVarsAt(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getLocalDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_getLetDecl___closed__2; +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_getParam___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_getType___spec__2(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkFreshId___at___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_mkNewFVarId___spec__2___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Compiler_LCNF_LCtx_eraseCode(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_getFunDecl___closed__2; +static lean_object* l_Lean_Compiler_LCNF_getType___closed__4; uint8_t lean_nat_dec_lt(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normFunDecl___rarg___lambda__1(lean_object*, lean_object*, lean_object*); static lean_object* _init_l_Lean_Compiler_LCNF_CompilerM_State_lctx___default___closed__1() { @@ -273,9 +305,10 @@ _start: { lean_object* x_1; lean_object* x_2; x_1 = l_Lean_Compiler_LCNF_CompilerM_State_lctx___default___closed__1; -x_2 = lean_alloc_ctor(0, 2, 0); +x_2 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_2, 0, x_1); lean_ctor_set(x_2, 1, x_1); +lean_ctor_set(x_2, 2, x_1); return x_2; } } @@ -467,7 +500,7 @@ lean_dec(x_2); return x_6; } } -LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_getLocalDecl___spec__2(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_getType___spec__2(lean_object* x_1, lean_object* x_2) { _start: { if (lean_obj_tag(x_2) == 0) @@ -499,7 +532,7 @@ return x_9; } } } -LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getLocalDecl___spec__1(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getType___spec__1(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; uint64_t x_5; size_t x_6; size_t x_7; lean_object* x_8; lean_object* x_9; @@ -513,13 +546,117 @@ x_7 = lean_usize_modn(x_6, x_4); lean_dec(x_4); x_8 = lean_array_uget(x_3, x_7); lean_dec(x_3); -x_9 = l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_getLocalDecl___spec__2(x_2, x_8); +x_9 = l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_getType___spec__2(x_2, x_8); lean_dec(x_8); lean_dec(x_2); return x_9; } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_getLocalDecl___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_getType___spec__4(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_3; +x_3 = lean_box(0); +return x_3; +} +else +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7; +x_4 = lean_ctor_get(x_2, 0); +x_5 = lean_ctor_get(x_2, 1); +x_6 = lean_ctor_get(x_2, 2); +x_7 = lean_name_eq(x_4, x_1); +if (x_7 == 0) +{ +x_2 = x_6; +goto _start; +} +else +{ +lean_object* x_9; +lean_inc(x_5); +x_9 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_9, 0, x_5); +return x_9; +} +} +} +} +LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getType___spec__3(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; uint64_t x_5; size_t x_6; size_t x_7; lean_object* x_8; lean_object* x_9; +x_3 = lean_ctor_get(x_1, 1); +lean_inc(x_3); +lean_dec(x_1); +x_4 = lean_array_get_size(x_3); +x_5 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1681_(x_2); +x_6 = lean_uint64_to_usize(x_5); +x_7 = lean_usize_modn(x_6, x_4); +lean_dec(x_4); +x_8 = lean_array_uget(x_3, x_7); +lean_dec(x_3); +x_9 = l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_getType___spec__4(x_2, x_8); +lean_dec(x_8); +lean_dec(x_2); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_getType___spec__6(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_3; +x_3 = lean_box(0); +return x_3; +} +else +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7; +x_4 = lean_ctor_get(x_2, 0); +x_5 = lean_ctor_get(x_2, 1); +x_6 = lean_ctor_get(x_2, 2); +x_7 = lean_name_eq(x_4, x_1); +if (x_7 == 0) +{ +x_2 = x_6; +goto _start; +} +else +{ +lean_object* x_9; +lean_inc(x_5); +x_9 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_9, 0, x_5); +return x_9; +} +} +} +} +LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getType___spec__5(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; uint64_t x_5; size_t x_6; size_t x_7; lean_object* x_8; lean_object* x_9; +x_3 = lean_ctor_get(x_1, 1); +lean_inc(x_3); +lean_dec(x_1); +x_4 = lean_array_get_size(x_3); +x_5 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1681_(x_2); +x_6 = lean_uint64_to_usize(x_5); +x_7 = lean_usize_modn(x_6, x_4); +lean_dec(x_4); +x_8 = lean_array_uget(x_3, x_7); +lean_dec(x_3); +x_9 = l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_getType___spec__6(x_2, x_8); +lean_dec(x_8); +lean_dec(x_2); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_getType___spec__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; @@ -596,7 +733,7 @@ return x_30; } } } -static lean_object* _init_l_Lean_Compiler_LCNF_getLocalDecl___closed__1() { +static lean_object* _init_l_Lean_Compiler_LCNF_getType___closed__1() { _start: { lean_object* x_1; @@ -604,16 +741,16 @@ x_1 = lean_mk_string_from_bytes("unknown free variable ", 22); return x_1; } } -static lean_object* _init_l_Lean_Compiler_LCNF_getLocalDecl___closed__2() { +static lean_object* _init_l_Lean_Compiler_LCNF_getType___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Compiler_LCNF_getLocalDecl___closed__1; +x_1 = l_Lean_Compiler_LCNF_getType___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Lean_Compiler_LCNF_getLocalDecl___closed__3() { +static lean_object* _init_l_Lean_Compiler_LCNF_getType___closed__3() { _start: { lean_object* x_1; @@ -621,16 +758,16 @@ x_1 = lean_mk_string_from_bytes("", 0); return x_1; } } -static lean_object* _init_l_Lean_Compiler_LCNF_getLocalDecl___closed__4() { +static lean_object* _init_l_Lean_Compiler_LCNF_getType___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Compiler_LCNF_getLocalDecl___closed__3; +x_1 = l_Lean_Compiler_LCNF_getType___closed__3; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getLocalDecl(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getType(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; uint8_t x_7; @@ -644,112 +781,627 @@ x_9 = lean_ctor_get(x_6, 1); x_10 = lean_ctor_get(x_8, 0); lean_inc(x_10); lean_dec(x_8); -x_11 = lean_ctor_get(x_10, 0); +x_11 = lean_ctor_get(x_10, 1); lean_inc(x_11); -lean_dec(x_10); lean_inc(x_1); -x_12 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getLocalDecl___spec__1(x_11, x_1); +x_12 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getType___spec__1(x_11, x_1); if (lean_obj_tag(x_12) == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +lean_object* x_13; lean_object* x_14; +x_13 = lean_ctor_get(x_10, 0); +lean_inc(x_13); +lean_inc(x_1); +x_14 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getType___spec__3(x_13, x_1); +if (lean_obj_tag(x_14) == 0) +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_ctor_get(x_10, 2); +lean_inc(x_15); +lean_dec(x_10); +lean_inc(x_1); +x_16 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getType___spec__5(x_15, x_1); +if (lean_obj_tag(x_16) == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_free_object(x_6); -x_13 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_13, 0, x_1); -x_14 = l_Lean_Compiler_LCNF_getLocalDecl___closed__2; -x_15 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_15, 0, x_14); -lean_ctor_set(x_15, 1, x_13); -x_16 = l_Lean_Compiler_LCNF_getLocalDecl___closed__4; -x_17 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_17, 0, x_15); -lean_ctor_set(x_17, 1, x_16); -x_18 = l_Lean_throwError___at_Lean_Compiler_LCNF_getLocalDecl___spec__3(x_17, x_2, x_3, x_4, x_9); -return x_18; +x_17 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_17, 0, x_1); +x_18 = l_Lean_Compiler_LCNF_getType___closed__2; +x_19 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_19, 0, x_18); +lean_ctor_set(x_19, 1, x_17); +x_20 = l_Lean_Compiler_LCNF_getType___closed__4; +x_21 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_20); +x_22 = l_Lean_throwError___at_Lean_Compiler_LCNF_getType___spec__7(x_21, x_2, x_3, x_4, x_9); +return x_22; } else { -lean_object* x_19; +lean_object* x_23; lean_object* x_24; lean_dec(x_1); -x_19 = lean_ctor_get(x_12, 0); -lean_inc(x_19); -lean_dec(x_12); -lean_ctor_set(x_6, 0, x_19); +x_23 = lean_ctor_get(x_16, 0); +lean_inc(x_23); +lean_dec(x_16); +x_24 = lean_ctor_get(x_23, 3); +lean_inc(x_24); +lean_dec(x_23); +lean_ctor_set(x_6, 0, x_24); return x_6; } } else { -lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_20 = lean_ctor_get(x_6, 0); -x_21 = lean_ctor_get(x_6, 1); -lean_inc(x_21); -lean_inc(x_20); -lean_dec(x_6); -x_22 = lean_ctor_get(x_20, 0); -lean_inc(x_22); -lean_dec(x_20); -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -lean_dec(x_22); -lean_inc(x_1); -x_24 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getLocalDecl___spec__1(x_23, x_1); -if (lean_obj_tag(x_24) == 0) -{ -lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_25 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_25, 0, x_1); -x_26 = l_Lean_Compiler_LCNF_getLocalDecl___closed__2; -x_27 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_27, 0, x_26); -lean_ctor_set(x_27, 1, x_25); -x_28 = l_Lean_Compiler_LCNF_getLocalDecl___closed__4; -x_29 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_29, 0, x_27); -lean_ctor_set(x_29, 1, x_28); -x_30 = l_Lean_throwError___at_Lean_Compiler_LCNF_getLocalDecl___spec__3(x_29, x_2, x_3, x_4, x_21); -return x_30; +lean_object* x_25; lean_object* x_26; +lean_dec(x_10); +lean_dec(x_1); +x_25 = lean_ctor_get(x_14, 0); +lean_inc(x_25); +lean_dec(x_14); +x_26 = lean_ctor_get(x_25, 2); +lean_inc(x_26); +lean_dec(x_25); +lean_ctor_set(x_6, 0, x_26); +return x_6; +} } else { -lean_object* x_31; lean_object* x_32; +lean_object* x_27; lean_object* x_28; +lean_dec(x_10); lean_dec(x_1); -x_31 = lean_ctor_get(x_24, 0); +x_27 = lean_ctor_get(x_12, 0); +lean_inc(x_27); +lean_dec(x_12); +x_28 = lean_ctor_get(x_27, 2); +lean_inc(x_28); +lean_dec(x_27); +lean_ctor_set(x_6, 0, x_28); +return x_6; +} +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_29 = lean_ctor_get(x_6, 0); +x_30 = lean_ctor_get(x_6, 1); +lean_inc(x_30); +lean_inc(x_29); +lean_dec(x_6); +x_31 = lean_ctor_get(x_29, 0); lean_inc(x_31); -lean_dec(x_24); -x_32 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_32, 0, x_31); -lean_ctor_set(x_32, 1, x_21); -return x_32; +lean_dec(x_29); +x_32 = lean_ctor_get(x_31, 1); +lean_inc(x_32); +lean_inc(x_1); +x_33 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getType___spec__1(x_32, x_1); +if (lean_obj_tag(x_33) == 0) +{ +lean_object* x_34; lean_object* x_35; +x_34 = lean_ctor_get(x_31, 0); +lean_inc(x_34); +lean_inc(x_1); +x_35 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getType___spec__3(x_34, x_1); +if (lean_obj_tag(x_35) == 0) +{ +lean_object* x_36; lean_object* x_37; +x_36 = lean_ctor_get(x_31, 2); +lean_inc(x_36); +lean_dec(x_31); +lean_inc(x_1); +x_37 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getType___spec__5(x_36, x_1); +if (lean_obj_tag(x_37) == 0) +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; +x_38 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_38, 0, x_1); +x_39 = l_Lean_Compiler_LCNF_getType___closed__2; +x_40 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +x_41 = l_Lean_Compiler_LCNF_getType___closed__4; +x_42 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_42, 0, x_40); +lean_ctor_set(x_42, 1, x_41); +x_43 = l_Lean_throwError___at_Lean_Compiler_LCNF_getType___spec__7(x_42, x_2, x_3, x_4, x_30); +return x_43; +} +else +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; +lean_dec(x_1); +x_44 = lean_ctor_get(x_37, 0); +lean_inc(x_44); +lean_dec(x_37); +x_45 = lean_ctor_get(x_44, 3); +lean_inc(x_45); +lean_dec(x_44); +x_46 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_46, 0, x_45); +lean_ctor_set(x_46, 1, x_30); +return x_46; +} +} +else +{ +lean_object* x_47; lean_object* x_48; lean_object* x_49; +lean_dec(x_31); +lean_dec(x_1); +x_47 = lean_ctor_get(x_35, 0); +lean_inc(x_47); +lean_dec(x_35); +x_48 = lean_ctor_get(x_47, 2); +lean_inc(x_48); +lean_dec(x_47); +x_49 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_49, 0, x_48); +lean_ctor_set(x_49, 1, x_30); +return x_49; +} +} +else +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; +lean_dec(x_31); +lean_dec(x_1); +x_50 = lean_ctor_get(x_33, 0); +lean_inc(x_50); +lean_dec(x_33); +x_51 = lean_ctor_get(x_50, 2); +lean_inc(x_51); +lean_dec(x_50); +x_52 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_52, 0, x_51); +lean_ctor_set(x_52, 1, x_30); +return x_52; } } } } -LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_getLocalDecl___spec__2___boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_getType___spec__2___boxed(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_getLocalDecl___spec__2(x_1, x_2); +x_3 = l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_getType___spec__2(x_1, x_2); lean_dec(x_2); lean_dec(x_1); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_getLocalDecl___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_getType___spec__4___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_getType___spec__4(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_getType___spec__6___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_getType___spec__6(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_getType___spec__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; -x_6 = l_Lean_throwError___at_Lean_Compiler_LCNF_getLocalDecl___spec__3(x_1, x_2, x_3, x_4, x_5); +x_6 = l_Lean_throwError___at_Lean_Compiler_LCNF_getType___spec__7(x_1, x_2, x_3, x_4, x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); return x_6; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getLocalDecl___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getType___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; -x_6 = l_Lean_Compiler_LCNF_getLocalDecl(x_1, x_2, x_3, x_4, x_5); +x_6 = l_Lean_Compiler_LCNF_getType(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_getBinderName___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; +x_6 = lean_ctor_get(x_3, 5); +x_7 = lean_st_ref_get(x_4, x_5); +x_8 = lean_ctor_get(x_7, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_7, 1); +lean_inc(x_9); +lean_dec(x_7); +x_10 = lean_ctor_get(x_8, 0); +lean_inc(x_10); +lean_dec(x_8); +x_11 = lean_st_ref_get(x_2, x_9); +x_12 = !lean_is_exclusive(x_11); +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_13 = lean_ctor_get(x_11, 0); +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +lean_dec(x_13); +x_15 = l_Lean_Compiler_LCNF_LCtx_toLocalContext(x_14); +x_16 = lean_ctor_get(x_3, 2); +x_17 = l_Lean_Compiler_LCNF_instAddMessageContextCompilerM___closed__6; +lean_inc(x_16); +x_18 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_18, 0, x_10); +lean_ctor_set(x_18, 1, x_17); +lean_ctor_set(x_18, 2, x_15); +lean_ctor_set(x_18, 3, x_16); +x_19 = lean_alloc_ctor(6, 2, 0); +lean_ctor_set(x_19, 0, x_18); +lean_ctor_set(x_19, 1, x_1); +lean_inc(x_6); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_6); +lean_ctor_set(x_20, 1, x_19); +lean_ctor_set_tag(x_11, 1); +lean_ctor_set(x_11, 0, x_20); +return x_11; +} +else +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_21 = lean_ctor_get(x_11, 0); +x_22 = lean_ctor_get(x_11, 1); +lean_inc(x_22); +lean_inc(x_21); +lean_dec(x_11); +x_23 = lean_ctor_get(x_21, 0); +lean_inc(x_23); +lean_dec(x_21); +x_24 = l_Lean_Compiler_LCNF_LCtx_toLocalContext(x_23); +x_25 = lean_ctor_get(x_3, 2); +x_26 = l_Lean_Compiler_LCNF_instAddMessageContextCompilerM___closed__6; +lean_inc(x_25); +x_27 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_27, 0, x_10); +lean_ctor_set(x_27, 1, x_26); +lean_ctor_set(x_27, 2, x_24); +lean_ctor_set(x_27, 3, x_25); +x_28 = lean_alloc_ctor(6, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_1); +lean_inc(x_6); +x_29 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_29, 0, x_6); +lean_ctor_set(x_29, 1, x_28); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_29); +lean_ctor_set(x_30, 1, x_22); +return x_30; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getBinderName(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; uint8_t x_7; +x_6 = lean_st_ref_get(x_2, x_5); +x_7 = !lean_is_exclusive(x_6); +if (x_7 == 0) +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_8 = lean_ctor_get(x_6, 0); +x_9 = lean_ctor_get(x_6, 1); +x_10 = lean_ctor_get(x_8, 0); +lean_inc(x_10); +lean_dec(x_8); +x_11 = lean_ctor_get(x_10, 1); +lean_inc(x_11); +lean_inc(x_1); +x_12 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getType___spec__1(x_11, x_1); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; lean_object* x_14; +x_13 = lean_ctor_get(x_10, 0); +lean_inc(x_13); +lean_inc(x_1); +x_14 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getType___spec__3(x_13, x_1); +if (lean_obj_tag(x_14) == 0) +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_ctor_get(x_10, 2); +lean_inc(x_15); +lean_dec(x_10); +lean_inc(x_1); +x_16 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getType___spec__5(x_15, x_1); +if (lean_obj_tag(x_16) == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +lean_free_object(x_6); +x_17 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_17, 0, x_1); +x_18 = l_Lean_Compiler_LCNF_getType___closed__2; +x_19 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_19, 0, x_18); +lean_ctor_set(x_19, 1, x_17); +x_20 = l_Lean_Compiler_LCNF_getType___closed__4; +x_21 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_20); +x_22 = l_Lean_throwError___at_Lean_Compiler_LCNF_getBinderName___spec__1(x_21, x_2, x_3, x_4, x_9); +return x_22; +} +else +{ +lean_object* x_23; lean_object* x_24; +lean_dec(x_1); +x_23 = lean_ctor_get(x_16, 0); +lean_inc(x_23); +lean_dec(x_16); +x_24 = lean_ctor_get(x_23, 1); +lean_inc(x_24); +lean_dec(x_23); +lean_ctor_set(x_6, 0, x_24); +return x_6; +} +} +else +{ +lean_object* x_25; lean_object* x_26; +lean_dec(x_10); +lean_dec(x_1); +x_25 = lean_ctor_get(x_14, 0); +lean_inc(x_25); +lean_dec(x_14); +x_26 = lean_ctor_get(x_25, 1); +lean_inc(x_26); +lean_dec(x_25); +lean_ctor_set(x_6, 0, x_26); +return x_6; +} +} +else +{ +lean_object* x_27; lean_object* x_28; +lean_dec(x_10); +lean_dec(x_1); +x_27 = lean_ctor_get(x_12, 0); +lean_inc(x_27); +lean_dec(x_12); +x_28 = lean_ctor_get(x_27, 1); +lean_inc(x_28); +lean_dec(x_27); +lean_ctor_set(x_6, 0, x_28); +return x_6; +} +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_29 = lean_ctor_get(x_6, 0); +x_30 = lean_ctor_get(x_6, 1); +lean_inc(x_30); +lean_inc(x_29); +lean_dec(x_6); +x_31 = lean_ctor_get(x_29, 0); +lean_inc(x_31); +lean_dec(x_29); +x_32 = lean_ctor_get(x_31, 1); +lean_inc(x_32); +lean_inc(x_1); +x_33 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getType___spec__1(x_32, x_1); +if (lean_obj_tag(x_33) == 0) +{ +lean_object* x_34; lean_object* x_35; +x_34 = lean_ctor_get(x_31, 0); +lean_inc(x_34); +lean_inc(x_1); +x_35 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getType___spec__3(x_34, x_1); +if (lean_obj_tag(x_35) == 0) +{ +lean_object* x_36; lean_object* x_37; +x_36 = lean_ctor_get(x_31, 2); +lean_inc(x_36); +lean_dec(x_31); +lean_inc(x_1); +x_37 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getType___spec__5(x_36, x_1); +if (lean_obj_tag(x_37) == 0) +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; +x_38 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_38, 0, x_1); +x_39 = l_Lean_Compiler_LCNF_getType___closed__2; +x_40 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +x_41 = l_Lean_Compiler_LCNF_getType___closed__4; +x_42 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_42, 0, x_40); +lean_ctor_set(x_42, 1, x_41); +x_43 = l_Lean_throwError___at_Lean_Compiler_LCNF_getBinderName___spec__1(x_42, x_2, x_3, x_4, x_30); +return x_43; +} +else +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; +lean_dec(x_1); +x_44 = lean_ctor_get(x_37, 0); +lean_inc(x_44); +lean_dec(x_37); +x_45 = lean_ctor_get(x_44, 1); +lean_inc(x_45); +lean_dec(x_44); +x_46 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_46, 0, x_45); +lean_ctor_set(x_46, 1, x_30); +return x_46; +} +} +else +{ +lean_object* x_47; lean_object* x_48; lean_object* x_49; +lean_dec(x_31); +lean_dec(x_1); +x_47 = lean_ctor_get(x_35, 0); +lean_inc(x_47); +lean_dec(x_35); +x_48 = lean_ctor_get(x_47, 1); +lean_inc(x_48); +lean_dec(x_47); +x_49 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_49, 0, x_48); +lean_ctor_set(x_49, 1, x_30); +return x_49; +} +} +else +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; +lean_dec(x_31); +lean_dec(x_1); +x_50 = lean_ctor_get(x_33, 0); +lean_inc(x_50); +lean_dec(x_33); +x_51 = lean_ctor_get(x_50, 1); +lean_inc(x_51); +lean_dec(x_50); +x_52 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_52, 0, x_51); +lean_ctor_set(x_52, 1, x_30); +return x_52; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_getBinderName___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = l_Lean_throwError___at_Lean_Compiler_LCNF_getBinderName___spec__1(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getBinderName___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = l_Lean_Compiler_LCNF_getBinderName(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_findParam_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; uint8_t x_7; +x_6 = lean_st_ref_get(x_2, x_5); +x_7 = !lean_is_exclusive(x_6); +if (x_7 == 0) +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_8 = lean_ctor_get(x_6, 0); +x_9 = lean_ctor_get(x_8, 0); +lean_inc(x_9); +lean_dec(x_8); +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +lean_dec(x_9); +x_11 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getType___spec__3(x_10, x_1); +lean_ctor_set(x_6, 0, x_11); +return x_6; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_12 = lean_ctor_get(x_6, 0); +x_13 = lean_ctor_get(x_6, 1); +lean_inc(x_13); +lean_inc(x_12); +lean_dec(x_6); +x_14 = lean_ctor_get(x_12, 0); +lean_inc(x_14); +lean_dec(x_12); +x_15 = lean_ctor_get(x_14, 0); +lean_inc(x_15); +lean_dec(x_14); +x_16 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getType___spec__3(x_15, x_1); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_13); +return x_17; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_findParam_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = l_Lean_Compiler_LCNF_findParam_x3f(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_findLetDecl_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; uint8_t x_7; +x_6 = lean_st_ref_get(x_2, x_5); +x_7 = !lean_is_exclusive(x_6); +if (x_7 == 0) +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_8 = lean_ctor_get(x_6, 0); +x_9 = lean_ctor_get(x_8, 0); +lean_inc(x_9); +lean_dec(x_8); +x_10 = lean_ctor_get(x_9, 1); +lean_inc(x_10); +lean_dec(x_9); +x_11 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getType___spec__1(x_10, x_1); +lean_ctor_set(x_6, 0, x_11); +return x_6; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_12 = lean_ctor_get(x_6, 0); +x_13 = lean_ctor_get(x_6, 1); +lean_inc(x_13); +lean_inc(x_12); +lean_dec(x_6); +x_14 = lean_ctor_get(x_12, 0); +lean_inc(x_14); +lean_dec(x_12); +x_15 = lean_ctor_get(x_14, 1); +lean_inc(x_15); +lean_dec(x_14); +x_16 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getType___spec__1(x_15, x_1); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_13); +return x_17; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_findLetDecl_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = l_Lean_Compiler_LCNF_findLetDecl_x3f(x_1, x_2, x_3, x_4, x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); @@ -769,10 +1421,10 @@ x_8 = lean_ctor_get(x_6, 0); x_9 = lean_ctor_get(x_8, 0); lean_inc(x_9); lean_dec(x_8); -x_10 = lean_ctor_get(x_9, 1); +x_10 = lean_ctor_get(x_9, 2); lean_inc(x_10); lean_dec(x_9); -x_11 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_LCtx_erase___spec__1(x_10, x_1); +x_11 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getType___spec__5(x_10, x_1); lean_ctor_set(x_6, 0, x_11); return x_6; } @@ -787,10 +1439,10 @@ lean_dec(x_6); x_14 = lean_ctor_get(x_12, 0); lean_inc(x_14); lean_dec(x_12); -x_15 = lean_ctor_get(x_14, 1); +x_15 = lean_ctor_get(x_14, 2); lean_inc(x_15); lean_dec(x_14); -x_16 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_LCtx_erase___spec__1(x_15, x_1); +x_16 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getType___spec__5(x_15, x_1); x_17 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_17, 0, x_16); lean_ctor_set(x_17, 1, x_13); @@ -809,6 +1461,358 @@ lean_dec(x_2); return x_6; } } +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_getParam___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; +x_6 = lean_ctor_get(x_3, 5); +x_7 = lean_st_ref_get(x_4, x_5); +x_8 = lean_ctor_get(x_7, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_7, 1); +lean_inc(x_9); +lean_dec(x_7); +x_10 = lean_ctor_get(x_8, 0); +lean_inc(x_10); +lean_dec(x_8); +x_11 = lean_st_ref_get(x_2, x_9); +x_12 = !lean_is_exclusive(x_11); +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_13 = lean_ctor_get(x_11, 0); +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +lean_dec(x_13); +x_15 = l_Lean_Compiler_LCNF_LCtx_toLocalContext(x_14); +x_16 = lean_ctor_get(x_3, 2); +x_17 = l_Lean_Compiler_LCNF_instAddMessageContextCompilerM___closed__6; +lean_inc(x_16); +x_18 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_18, 0, x_10); +lean_ctor_set(x_18, 1, x_17); +lean_ctor_set(x_18, 2, x_15); +lean_ctor_set(x_18, 3, x_16); +x_19 = lean_alloc_ctor(6, 2, 0); +lean_ctor_set(x_19, 0, x_18); +lean_ctor_set(x_19, 1, x_1); +lean_inc(x_6); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_6); +lean_ctor_set(x_20, 1, x_19); +lean_ctor_set_tag(x_11, 1); +lean_ctor_set(x_11, 0, x_20); +return x_11; +} +else +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_21 = lean_ctor_get(x_11, 0); +x_22 = lean_ctor_get(x_11, 1); +lean_inc(x_22); +lean_inc(x_21); +lean_dec(x_11); +x_23 = lean_ctor_get(x_21, 0); +lean_inc(x_23); +lean_dec(x_21); +x_24 = l_Lean_Compiler_LCNF_LCtx_toLocalContext(x_23); +x_25 = lean_ctor_get(x_3, 2); +x_26 = l_Lean_Compiler_LCNF_instAddMessageContextCompilerM___closed__6; +lean_inc(x_25); +x_27 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_27, 0, x_10); +lean_ctor_set(x_27, 1, x_26); +lean_ctor_set(x_27, 2, x_24); +lean_ctor_set(x_27, 3, x_25); +x_28 = lean_alloc_ctor(6, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_1); +lean_inc(x_6); +x_29 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_29, 0, x_6); +lean_ctor_set(x_29, 1, x_28); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_29); +lean_ctor_set(x_30, 1, x_22); +return x_30; +} +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_getParam___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("unknown parameter ", 18); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_getParam___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Compiler_LCNF_getParam___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getParam(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; +lean_inc(x_1); +x_6 = l_Lean_Compiler_LCNF_findParam_x3f(x_1, x_2, x_3, x_4, x_5); +x_7 = lean_ctor_get(x_6, 0); +lean_inc(x_7); +if (lean_obj_tag(x_7) == 0) +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_8 = lean_ctor_get(x_6, 1); +lean_inc(x_8); +lean_dec(x_6); +x_9 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_9, 0, x_1); +x_10 = l_Lean_Compiler_LCNF_getParam___closed__2; +x_11 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_11, 0, x_10); +lean_ctor_set(x_11, 1, x_9); +x_12 = l_Lean_Compiler_LCNF_getType___closed__4; +x_13 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_13, 0, x_11); +lean_ctor_set(x_13, 1, x_12); +x_14 = l_Lean_throwError___at_Lean_Compiler_LCNF_getParam___spec__1(x_13, x_2, x_3, x_4, x_8); +return x_14; +} +else +{ +uint8_t x_15; +lean_dec(x_1); +x_15 = !lean_is_exclusive(x_6); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; +x_16 = lean_ctor_get(x_6, 0); +lean_dec(x_16); +x_17 = lean_ctor_get(x_7, 0); +lean_inc(x_17); +lean_dec(x_7); +lean_ctor_set(x_6, 0, x_17); +return x_6; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_6, 1); +lean_inc(x_18); +lean_dec(x_6); +x_19 = lean_ctor_get(x_7, 0); +lean_inc(x_19); +lean_dec(x_7); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_19); +lean_ctor_set(x_20, 1, x_18); +return x_20; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_getParam___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = l_Lean_throwError___at_Lean_Compiler_LCNF_getParam___spec__1(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getParam___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = l_Lean_Compiler_LCNF_getParam(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_getLetDecl___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; +x_6 = lean_ctor_get(x_3, 5); +x_7 = lean_st_ref_get(x_4, x_5); +x_8 = lean_ctor_get(x_7, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_7, 1); +lean_inc(x_9); +lean_dec(x_7); +x_10 = lean_ctor_get(x_8, 0); +lean_inc(x_10); +lean_dec(x_8); +x_11 = lean_st_ref_get(x_2, x_9); +x_12 = !lean_is_exclusive(x_11); +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_13 = lean_ctor_get(x_11, 0); +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +lean_dec(x_13); +x_15 = l_Lean_Compiler_LCNF_LCtx_toLocalContext(x_14); +x_16 = lean_ctor_get(x_3, 2); +x_17 = l_Lean_Compiler_LCNF_instAddMessageContextCompilerM___closed__6; +lean_inc(x_16); +x_18 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_18, 0, x_10); +lean_ctor_set(x_18, 1, x_17); +lean_ctor_set(x_18, 2, x_15); +lean_ctor_set(x_18, 3, x_16); +x_19 = lean_alloc_ctor(6, 2, 0); +lean_ctor_set(x_19, 0, x_18); +lean_ctor_set(x_19, 1, x_1); +lean_inc(x_6); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_6); +lean_ctor_set(x_20, 1, x_19); +lean_ctor_set_tag(x_11, 1); +lean_ctor_set(x_11, 0, x_20); +return x_11; +} +else +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_21 = lean_ctor_get(x_11, 0); +x_22 = lean_ctor_get(x_11, 1); +lean_inc(x_22); +lean_inc(x_21); +lean_dec(x_11); +x_23 = lean_ctor_get(x_21, 0); +lean_inc(x_23); +lean_dec(x_21); +x_24 = l_Lean_Compiler_LCNF_LCtx_toLocalContext(x_23); +x_25 = lean_ctor_get(x_3, 2); +x_26 = l_Lean_Compiler_LCNF_instAddMessageContextCompilerM___closed__6; +lean_inc(x_25); +x_27 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_27, 0, x_10); +lean_ctor_set(x_27, 1, x_26); +lean_ctor_set(x_27, 2, x_24); +lean_ctor_set(x_27, 3, x_25); +x_28 = lean_alloc_ctor(6, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_1); +lean_inc(x_6); +x_29 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_29, 0, x_6); +lean_ctor_set(x_29, 1, x_28); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_29); +lean_ctor_set(x_30, 1, x_22); +return x_30; +} +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_getLetDecl___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("unknown let-declaration ", 24); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_getLetDecl___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Compiler_LCNF_getLetDecl___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getLetDecl(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; +lean_inc(x_1); +x_6 = l_Lean_Compiler_LCNF_findLetDecl_x3f(x_1, x_2, x_3, x_4, x_5); +x_7 = lean_ctor_get(x_6, 0); +lean_inc(x_7); +if (lean_obj_tag(x_7) == 0) +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_8 = lean_ctor_get(x_6, 1); +lean_inc(x_8); +lean_dec(x_6); +x_9 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_9, 0, x_1); +x_10 = l_Lean_Compiler_LCNF_getLetDecl___closed__2; +x_11 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_11, 0, x_10); +lean_ctor_set(x_11, 1, x_9); +x_12 = l_Lean_Compiler_LCNF_getType___closed__4; +x_13 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_13, 0, x_11); +lean_ctor_set(x_13, 1, x_12); +x_14 = l_Lean_throwError___at_Lean_Compiler_LCNF_getLetDecl___spec__1(x_13, x_2, x_3, x_4, x_8); +return x_14; +} +else +{ +uint8_t x_15; +lean_dec(x_1); +x_15 = !lean_is_exclusive(x_6); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; +x_16 = lean_ctor_get(x_6, 0); +lean_dec(x_16); +x_17 = lean_ctor_get(x_7, 0); +lean_inc(x_17); +lean_dec(x_7); +lean_ctor_set(x_6, 0, x_17); +return x_6; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_6, 1); +lean_inc(x_18); +lean_dec(x_6); +x_19 = lean_ctor_get(x_7, 0); +lean_inc(x_19); +lean_dec(x_7); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_19); +lean_ctor_set(x_20, 1, x_18); +return x_20; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_getLetDecl___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = l_Lean_throwError___at_Lean_Compiler_LCNF_getLetDecl___spec__1(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_getLetDecl___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = l_Lean_Compiler_LCNF_getLetDecl(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_6; +} +} LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_getFunDecl___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { @@ -923,7 +1927,7 @@ x_10 = l_Lean_Compiler_LCNF_getFunDecl___closed__2; x_11 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_11, 0, x_10); lean_ctor_set(x_11, 1, x_9); -x_12 = l_Lean_Compiler_LCNF_getLocalDecl___closed__4; +x_12 = l_Lean_Compiler_LCNF_getType___closed__4; x_13 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_13, 0, x_11); lean_ctor_set(x_13, 1, x_12); @@ -1072,96 +2076,7 @@ lean_dec(x_2); return x_6; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseFVar(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; lean_object* x_8; lean_object* x_9; uint8_t x_10; -x_7 = lean_st_ref_take(x_3, x_6); -x_8 = lean_ctor_get(x_7, 0); -lean_inc(x_8); -x_9 = lean_ctor_get(x_7, 1); -lean_inc(x_9); -lean_dec(x_7); -x_10 = !lean_is_exclusive(x_8); -if (x_10 == 0) -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; -x_11 = lean_ctor_get(x_8, 0); -x_12 = l_Lean_Compiler_LCNF_LCtx_erase(x_1, x_11, x_2); -lean_ctor_set(x_8, 0, x_12); -x_13 = lean_st_ref_set(x_3, x_8, x_9); -x_14 = !lean_is_exclusive(x_13); -if (x_14 == 0) -{ -lean_object* x_15; lean_object* x_16; -x_15 = lean_ctor_get(x_13, 0); -lean_dec(x_15); -x_16 = lean_box(0); -lean_ctor_set(x_13, 0, x_16); -return x_13; -} -else -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_17 = lean_ctor_get(x_13, 1); -lean_inc(x_17); -lean_dec(x_13); -x_18 = lean_box(0); -x_19 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_19, 0, x_18); -lean_ctor_set(x_19, 1, x_17); -return x_19; -} -} -else -{ -lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_20 = lean_ctor_get(x_8, 0); -x_21 = lean_ctor_get(x_8, 1); -lean_inc(x_21); -lean_inc(x_20); -lean_dec(x_8); -x_22 = l_Lean_Compiler_LCNF_LCtx_erase(x_1, x_20, x_2); -x_23 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_23, 0, x_22); -lean_ctor_set(x_23, 1, x_21); -x_24 = lean_st_ref_set(x_3, x_23, x_9); -x_25 = lean_ctor_get(x_24, 1); -lean_inc(x_25); -if (lean_is_exclusive(x_24)) { - lean_ctor_release(x_24, 0); - lean_ctor_release(x_24, 1); - x_26 = x_24; -} else { - lean_dec_ref(x_24); - x_26 = lean_box(0); -} -x_27 = lean_box(0); -if (lean_is_scalar(x_26)) { - x_28 = lean_alloc_ctor(0, 2, 0); -} else { - x_28 = x_26; -} -lean_ctor_set(x_28, 0, x_27); -lean_ctor_set(x_28, 1, x_25); -return x_28; -} -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseFVar___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -uint8_t x_7; lean_object* x_8; -x_7 = lean_unbox(x_2); -lean_dec(x_2); -x_8 = l_Lean_Compiler_LCNF_eraseFVar(x_1, x_7, x_3, x_4, x_5, x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -return x_8; -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseFVarsAt(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseLetDecl(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9; @@ -1176,7 +2091,7 @@ if (x_9 == 0) { lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; x_10 = lean_ctor_get(x_7, 0); -x_11 = l_Lean_Compiler_LCNF_LCtx_erase_go(x_1, x_10); +x_11 = l_Lean_Compiler_LCNF_LCtx_eraseLetDecl(x_10, x_1); lean_ctor_set(x_7, 0, x_11); x_12 = lean_st_ref_set(x_2, x_7, x_8); x_13 = !lean_is_exclusive(x_12); @@ -1210,7 +2125,7 @@ x_20 = lean_ctor_get(x_7, 1); lean_inc(x_20); lean_inc(x_19); lean_dec(x_7); -x_21 = l_Lean_Compiler_LCNF_LCtx_erase_go(x_1, x_19); +x_21 = l_Lean_Compiler_LCNF_LCtx_eraseLetDecl(x_19, x_1); x_22 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_22, 0, x_21); lean_ctor_set(x_22, 1, x_20); @@ -1237,121 +2152,356 @@ return x_27; } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseFVarsAt___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseLetDecl___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; -x_6 = l_Lean_Compiler_LCNF_eraseFVarsAt(x_1, x_2, x_3, x_4, x_5); +x_6 = l_Lean_Compiler_LCNF_eraseLetDecl(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseFunDecl(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; uint8_t x_10; +x_7 = lean_st_ref_take(x_3, x_6); +x_8 = lean_ctor_get(x_7, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_7, 1); +lean_inc(x_9); +lean_dec(x_7); +x_10 = !lean_is_exclusive(x_8); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; +x_11 = lean_ctor_get(x_8, 0); +x_12 = l_Lean_Compiler_LCNF_LCtx_eraseFunDecl(x_11, x_1, x_2); +lean_ctor_set(x_8, 0, x_12); +x_13 = lean_st_ref_set(x_3, x_8, x_9); +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_ctor_get(x_13, 0); +lean_dec(x_15); +x_16 = lean_box(0); +lean_ctor_set(x_13, 0, x_16); +return x_13; +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_ctor_get(x_13, 1); +lean_inc(x_17); +lean_dec(x_13); +x_18 = lean_box(0); +x_19 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_19, 0, x_18); +lean_ctor_set(x_19, 1, x_17); +return x_19; +} +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_20 = lean_ctor_get(x_8, 0); +x_21 = lean_ctor_get(x_8, 1); +lean_inc(x_21); +lean_inc(x_20); +lean_dec(x_8); +x_22 = l_Lean_Compiler_LCNF_LCtx_eraseFunDecl(x_20, x_1, x_2); +x_23 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_23, 0, x_22); +lean_ctor_set(x_23, 1, x_21); +x_24 = lean_st_ref_set(x_3, x_23, x_9); +x_25 = lean_ctor_get(x_24, 1); +lean_inc(x_25); +if (lean_is_exclusive(x_24)) { + lean_ctor_release(x_24, 0); + lean_ctor_release(x_24, 1); + x_26 = x_24; +} else { + lean_dec_ref(x_24); + x_26 = lean_box(0); +} +x_27 = lean_box(0); +if (lean_is_scalar(x_26)) { + x_28 = lean_alloc_ctor(0, 2, 0); +} else { + x_28 = x_26; +} +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_25); +return x_28; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseFunDecl___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +uint8_t x_7; lean_object* x_8; +x_7 = lean_unbox(x_2); +lean_dec(x_2); +x_8 = l_Lean_Compiler_LCNF_eraseFunDecl(x_1, x_7, x_3, x_4, x_5, x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_8; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseCode(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9; +x_6 = lean_st_ref_take(x_2, x_5); +x_7 = lean_ctor_get(x_6, 0); +lean_inc(x_7); +x_8 = lean_ctor_get(x_6, 1); +lean_inc(x_8); +lean_dec(x_6); +x_9 = !lean_is_exclusive(x_7); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; +x_10 = lean_ctor_get(x_7, 0); +x_11 = l_Lean_Compiler_LCNF_LCtx_eraseCode(x_1, x_10); +lean_ctor_set(x_7, 0, x_11); +x_12 = lean_st_ref_set(x_2, x_7, x_8); +x_13 = !lean_is_exclusive(x_12); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; +x_14 = lean_ctor_get(x_12, 0); +lean_dec(x_14); +x_15 = lean_box(0); +lean_ctor_set(x_12, 0, x_15); +return x_12; +} +else +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_16 = lean_ctor_get(x_12, 1); +lean_inc(x_16); +lean_dec(x_12); +x_17 = lean_box(0); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_17); +lean_ctor_set(x_18, 1, x_16); +return x_18; +} +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_19 = lean_ctor_get(x_7, 0); +x_20 = lean_ctor_get(x_7, 1); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_7); +x_21 = l_Lean_Compiler_LCNF_LCtx_eraseCode(x_1, x_19); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_21); +lean_ctor_set(x_22, 1, x_20); +x_23 = lean_st_ref_set(x_2, x_22, x_8); +x_24 = lean_ctor_get(x_23, 1); +lean_inc(x_24); +if (lean_is_exclusive(x_23)) { + lean_ctor_release(x_23, 0); + lean_ctor_release(x_23, 1); + x_25 = x_23; +} else { + lean_dec_ref(x_23); + x_25 = lean_box(0); +} +x_26 = lean_box(0); +if (lean_is_scalar(x_25)) { + x_27 = lean_alloc_ctor(0, 2, 0); +} else { + x_27 = x_25; +} +lean_ctor_set(x_27, 0, x_26); +lean_ctor_set(x_27, 1, x_24); +return x_27; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseCode___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = l_Lean_Compiler_LCNF_eraseCode(x_1, x_2, x_3, x_4, x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); return x_6; } } -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_eraseParams___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_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseParam(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -uint8_t x_9; -x_9 = lean_usize_dec_eq(x_2, x_3); +lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9; +x_6 = lean_st_ref_take(x_2, x_5); +x_7 = lean_ctor_get(x_6, 0); +lean_inc(x_7); +x_8 = lean_ctor_get(x_6, 1); +lean_inc(x_8); +lean_dec(x_6); +x_9 = !lean_is_exclusive(x_7); if (x_9 == 0) { -lean_object* x_10; lean_object* x_11; uint8_t x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; size_t x_16; size_t x_17; -lean_dec(x_4); -x_10 = lean_array_uget(x_1, x_2); -x_11 = lean_ctor_get(x_10, 0); -lean_inc(x_11); -lean_dec(x_10); -x_12 = 1; -x_13 = l_Lean_Compiler_LCNF_eraseFVar(x_11, x_12, x_5, x_6, x_7, x_8); -x_14 = lean_ctor_get(x_13, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_13, 1); -lean_inc(x_15); -lean_dec(x_13); -x_16 = 1; -x_17 = lean_usize_add(x_2, x_16); -x_2 = x_17; -x_4 = x_14; -x_8 = x_15; -goto _start; +lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; +x_10 = lean_ctor_get(x_7, 0); +x_11 = l_Lean_Compiler_LCNF_LCtx_eraseParam(x_10, x_1); +lean_ctor_set(x_7, 0, x_11); +x_12 = lean_st_ref_set(x_2, x_7, x_8); +x_13 = !lean_is_exclusive(x_12); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; +x_14 = lean_ctor_get(x_12, 0); +lean_dec(x_14); +x_15 = lean_box(0); +lean_ctor_set(x_12, 0, x_15); +return x_12; } else { -lean_object* x_19; -x_19 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_19, 0, x_4); -lean_ctor_set(x_19, 1, x_8); -return x_19; +lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_16 = lean_ctor_get(x_12, 1); +lean_inc(x_16); +lean_dec(x_12); +x_17 = lean_box(0); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_17); +lean_ctor_set(x_18, 1, x_16); +return x_18; } } +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_19 = lean_ctor_get(x_7, 0); +x_20 = lean_ctor_get(x_7, 1); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_7); +x_21 = l_Lean_Compiler_LCNF_LCtx_eraseParam(x_19, x_1); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_21); +lean_ctor_set(x_22, 1, x_20); +x_23 = lean_st_ref_set(x_2, x_22, x_8); +x_24 = lean_ctor_get(x_23, 1); +lean_inc(x_24); +if (lean_is_exclusive(x_23)) { + lean_ctor_release(x_23, 0); + lean_ctor_release(x_23, 1); + x_25 = x_23; +} else { + lean_dec_ref(x_23); + x_25 = lean_box(0); +} +x_26 = lean_box(0); +if (lean_is_scalar(x_25)) { + x_27 = lean_alloc_ctor(0, 2, 0); +} else { + x_27 = x_25; +} +lean_ctor_set(x_27, 0, x_26); +lean_ctor_set(x_27, 1, x_24); +return x_27; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseParam___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = l_Lean_Compiler_LCNF_eraseParam(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_6; +} } LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseParams(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_6; lean_object* x_7; uint8_t x_8; -x_6 = lean_array_get_size(x_1); -x_7 = lean_unsigned_to_nat(0u); -x_8 = lean_nat_dec_lt(x_7, x_6); -if (x_8 == 0) -{ -lean_object* x_9; lean_object* x_10; +lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9; +x_6 = lean_st_ref_take(x_2, x_5); +x_7 = lean_ctor_get(x_6, 0); +lean_inc(x_7); +x_8 = lean_ctor_get(x_6, 1); +lean_inc(x_8); lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_9 = lean_box(0); -x_10 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_10, 0, x_9); -lean_ctor_set(x_10, 1, x_5); -return x_10; +x_9 = !lean_is_exclusive(x_7); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; +x_10 = lean_ctor_get(x_7, 0); +x_11 = l_Lean_Compiler_LCNF_LCtx_eraseParams(x_10, x_1); +lean_ctor_set(x_7, 0, x_11); +x_12 = lean_st_ref_set(x_2, x_7, x_8); +x_13 = !lean_is_exclusive(x_12); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; +x_14 = lean_ctor_get(x_12, 0); +lean_dec(x_14); +x_15 = lean_box(0); +lean_ctor_set(x_12, 0, x_15); +return x_12; } else { -uint8_t x_11; -x_11 = lean_nat_dec_le(x_6, x_6); -if (x_11 == 0) -{ -lean_object* x_12; lean_object* x_13; -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_12 = lean_box(0); -x_13 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_13, 0, x_12); -lean_ctor_set(x_13, 1, x_5); -return x_13; +lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_16 = lean_ctor_get(x_12, 1); +lean_inc(x_16); +lean_dec(x_12); +x_17 = lean_box(0); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_17); +lean_ctor_set(x_18, 1, x_16); +return x_18; +} } else { -size_t x_14; size_t x_15; lean_object* x_16; lean_object* x_17; -x_14 = 0; -x_15 = lean_usize_of_nat(x_6); -lean_dec(x_6); -x_16 = lean_box(0); -x_17 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_eraseParams___spec__1(x_1, x_14, x_15, x_16, x_2, x_3, x_4, x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_17; -} -} -} -} -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_eraseParams___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -size_t x_9; size_t x_10; lean_object* x_11; -x_9 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_10 = lean_unbox_usize(x_3); -lean_dec(x_3); -x_11 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_eraseParams___spec__1(x_1, x_9, x_10, x_4, x_5, x_6, x_7, x_8); +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_19 = lean_ctor_get(x_7, 0); +x_20 = lean_ctor_get(x_7, 1); +lean_inc(x_20); +lean_inc(x_19); lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_1); -return x_11; +x_21 = l_Lean_Compiler_LCNF_LCtx_eraseParams(x_19, x_1); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_21); +lean_ctor_set(x_22, 1, x_20); +x_23 = lean_st_ref_set(x_2, x_22, x_8); +x_24 = lean_ctor_get(x_23, 1); +lean_inc(x_24); +if (lean_is_exclusive(x_23)) { + lean_ctor_release(x_23, 0); + lean_ctor_release(x_23, 1); + x_25 = x_23; +} else { + lean_dec_ref(x_23); + x_25 = lean_box(0); +} +x_26 = lean_box(0); +if (lean_is_scalar(x_25)) { + x_27 = lean_alloc_ctor(0, 2, 0); +} else { + x_27 = x_25; +} +lean_ctor_set(x_27, 0, x_26); +lean_ctor_set(x_27, 1, x_24); +return x_27; +} } } LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseParams___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { @@ -1359,10 +2509,49 @@ _start: { lean_object* x_6; x_6 = l_Lean_Compiler_LCNF_eraseParams(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); lean_dec(x_1); return x_6; } } +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseCodeDecl(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_6; lean_object* x_7; +x_6 = lean_ctor_get(x_1, 0); +lean_inc(x_6); +lean_dec(x_1); +x_7 = l_Lean_Compiler_LCNF_eraseLetDecl(x_6, x_2, x_3, x_4, x_5); +lean_dec(x_6); +return x_7; +} +else +{ +lean_object* x_8; uint8_t x_9; lean_object* x_10; +x_8 = lean_ctor_get(x_1, 0); +lean_inc(x_8); +lean_dec(x_1); +x_9 = 1; +x_10 = l_Lean_Compiler_LCNF_eraseFunDecl(x_8, x_9, x_2, x_3, x_4, x_5); +return x_10; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_eraseCodeDecl___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; +x_6 = l_Lean_Compiler_LCNF_eraseCodeDecl(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_6; +} +} LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go___spec__2(lean_object* x_1, lean_object* x_2) { _start: { @@ -1445,7 +2634,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go___closed__1; x_2 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go___closed__2; -x_3 = lean_unsigned_to_nat(80u); +x_3 = lean_unsigned_to_nat(123u); x_4 = lean_unsigned_to_nat(20u); x_5 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -1780,7 +2969,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go___closed__1; x_2 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp___closed__1; -x_3 = lean_unsigned_to_nat(87u); +x_3 = lean_unsigned_to_nat(130u); x_4 = lean_unsigned_to_nat(14u); x_5 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -2825,128 +4014,124 @@ uint8_t x_7; x_7 = !lean_is_exclusive(x_1); if (x_7 == 0) { -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t 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; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; x_8 = lean_ctor_get(x_1, 0); -x_9 = lean_ctor_get(x_1, 1); -x_10 = lean_ctor_get(x_1, 2); -x_11 = lean_st_ref_get(x_2, x_6); -x_12 = lean_ctor_get(x_11, 0); +x_9 = lean_ctor_get(x_1, 2); +x_10 = lean_st_ref_get(x_2, x_6); +x_11 = lean_ctor_get(x_10, 0); +lean_inc(x_11); +x_12 = lean_ctor_get(x_10, 1); lean_inc(x_12); -x_13 = lean_ctor_get(x_11, 1); -lean_inc(x_13); -lean_dec(x_11); -x_14 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_12, x_10); -x_15 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_mkNewFVarId(x_8, x_2, x_3, x_4, x_5, x_13); -x_16 = lean_ctor_get(x_15, 0); +lean_dec(x_10); +x_13 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_11, x_9); +x_14 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_mkNewFVarId(x_8, x_2, x_3, x_4, x_5, x_12); +x_15 = lean_ctor_get(x_14, 0); +lean_inc(x_15); +x_16 = lean_ctor_get(x_14, 1); lean_inc(x_16); -x_17 = lean_ctor_get(x_15, 1); -lean_inc(x_17); -lean_dec(x_15); -x_18 = lean_st_ref_take(x_3, x_17); -x_19 = lean_ctor_get(x_18, 0); +lean_dec(x_14); +lean_ctor_set(x_1, 2, x_13); +lean_ctor_set(x_1, 0, x_15); +x_17 = lean_st_ref_take(x_3, x_16); +x_18 = lean_ctor_get(x_17, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_17, 1); lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -x_21 = !lean_is_exclusive(x_19); -if (x_21 == 0) +lean_dec(x_17); +x_20 = !lean_is_exclusive(x_18); +if (x_20 == 0) { -lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; -x_22 = lean_ctor_get(x_19, 0); -lean_inc(x_14); -lean_inc(x_9); -lean_inc(x_16); -x_23 = l_Lean_Compiler_LCNF_LCtx_addLocalDecl(x_22, x_16, x_9, x_14); -lean_ctor_set(x_19, 0, x_23); -x_24 = lean_st_ref_set(x_3, x_19, x_20); -x_25 = !lean_is_exclusive(x_24); -if (x_25 == 0) +lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; +x_21 = lean_ctor_get(x_18, 0); +lean_inc(x_1); +x_22 = l_Lean_Compiler_LCNF_LCtx_addParam(x_21, x_1); +lean_ctor_set(x_18, 0, x_22); +x_23 = lean_st_ref_set(x_3, x_18, x_19); +x_24 = !lean_is_exclusive(x_23); +if (x_24 == 0) { -lean_object* x_26; -x_26 = lean_ctor_get(x_24, 0); -lean_dec(x_26); -lean_ctor_set(x_1, 2, x_14); -lean_ctor_set(x_1, 0, x_16); -lean_ctor_set(x_24, 0, x_1); -return x_24; +lean_object* x_25; +x_25 = lean_ctor_get(x_23, 0); +lean_dec(x_25); +lean_ctor_set(x_23, 0, x_1); +return x_23; } else { -lean_object* x_27; lean_object* x_28; -x_27 = lean_ctor_get(x_24, 1); -lean_inc(x_27); -lean_dec(x_24); -lean_ctor_set(x_1, 2, x_14); -lean_ctor_set(x_1, 0, x_16); -x_28 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_28, 0, x_1); -lean_ctor_set(x_28, 1, x_27); -return x_28; +lean_object* x_26; lean_object* x_27; +x_26 = lean_ctor_get(x_23, 1); +lean_inc(x_26); +lean_dec(x_23); +x_27 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_27, 0, x_1); +lean_ctor_set(x_27, 1, x_26); +return x_27; } } else { -lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_29 = lean_ctor_get(x_19, 0); -x_30 = lean_ctor_get(x_19, 1); -lean_inc(x_30); +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_28 = lean_ctor_get(x_18, 0); +x_29 = lean_ctor_get(x_18, 1); lean_inc(x_29); -lean_dec(x_19); -lean_inc(x_14); -lean_inc(x_9); -lean_inc(x_16); -x_31 = l_Lean_Compiler_LCNF_LCtx_addLocalDecl(x_29, x_16, x_9, x_14); -x_32 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_32, 0, x_31); -lean_ctor_set(x_32, 1, x_30); -x_33 = lean_st_ref_set(x_3, x_32, x_20); -x_34 = lean_ctor_get(x_33, 1); -lean_inc(x_34); -if (lean_is_exclusive(x_33)) { - lean_ctor_release(x_33, 0); - lean_ctor_release(x_33, 1); - x_35 = x_33; +lean_inc(x_28); +lean_dec(x_18); +lean_inc(x_1); +x_30 = l_Lean_Compiler_LCNF_LCtx_addParam(x_28, x_1); +x_31 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_31, 0, x_30); +lean_ctor_set(x_31, 1, x_29); +x_32 = lean_st_ref_set(x_3, x_31, x_19); +x_33 = lean_ctor_get(x_32, 1); +lean_inc(x_33); +if (lean_is_exclusive(x_32)) { + lean_ctor_release(x_32, 0); + lean_ctor_release(x_32, 1); + x_34 = x_32; } else { - lean_dec_ref(x_33); - x_35 = lean_box(0); + lean_dec_ref(x_32); + x_34 = lean_box(0); } -lean_ctor_set(x_1, 2, x_14); -lean_ctor_set(x_1, 0, x_16); -if (lean_is_scalar(x_35)) { - x_36 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_34)) { + x_35 = lean_alloc_ctor(0, 2, 0); } else { - x_36 = x_35; + x_35 = x_34; } -lean_ctor_set(x_36, 0, x_1); -lean_ctor_set(x_36, 1, x_34); -return x_36; +lean_ctor_set(x_35, 0, x_1); +lean_ctor_set(x_35, 1, x_33); +return x_35; } } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; uint8_t x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_37 = lean_ctor_get(x_1, 0); -x_38 = lean_ctor_get(x_1, 1); -x_39 = lean_ctor_get(x_1, 2); -x_40 = lean_ctor_get_uint8(x_1, sizeof(void*)*3); -lean_inc(x_39); +lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_36 = lean_ctor_get(x_1, 0); +x_37 = lean_ctor_get(x_1, 1); +x_38 = lean_ctor_get(x_1, 2); +x_39 = lean_ctor_get_uint8(x_1, sizeof(void*)*3); lean_inc(x_38); lean_inc(x_37); +lean_inc(x_36); lean_dec(x_1); -x_41 = lean_st_ref_get(x_2, x_6); -x_42 = lean_ctor_get(x_41, 0); +x_40 = lean_st_ref_get(x_2, x_6); +x_41 = lean_ctor_get(x_40, 0); +lean_inc(x_41); +x_42 = lean_ctor_get(x_40, 1); lean_inc(x_42); -x_43 = lean_ctor_get(x_41, 1); -lean_inc(x_43); -lean_dec(x_41); -x_44 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_42, x_39); -x_45 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_mkNewFVarId(x_37, x_2, x_3, x_4, x_5, x_43); -x_46 = lean_ctor_get(x_45, 0); +lean_dec(x_40); +x_43 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_41, x_38); +x_44 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_mkNewFVarId(x_36, x_2, x_3, x_4, x_5, x_42); +x_45 = lean_ctor_get(x_44, 0); +lean_inc(x_45); +x_46 = lean_ctor_get(x_44, 1); lean_inc(x_46); -x_47 = lean_ctor_get(x_45, 1); -lean_inc(x_47); -lean_dec(x_45); -x_48 = lean_st_ref_take(x_3, x_47); +lean_dec(x_44); +x_47 = lean_alloc_ctor(0, 3, 1); +lean_ctor_set(x_47, 0, x_45); +lean_ctor_set(x_47, 1, x_37); +lean_ctor_set(x_47, 2, x_43); +lean_ctor_set_uint8(x_47, sizeof(void*)*3, x_39); +x_48 = lean_st_ref_take(x_3, x_46); x_49 = lean_ctor_get(x_48, 0); lean_inc(x_49); x_50 = lean_ctor_get(x_48, 1); @@ -2964,10 +4149,8 @@ if (lean_is_exclusive(x_49)) { lean_dec_ref(x_49); x_53 = lean_box(0); } -lean_inc(x_44); -lean_inc(x_38); -lean_inc(x_46); -x_54 = l_Lean_Compiler_LCNF_LCtx_addLocalDecl(x_51, x_46, x_38, x_44); +lean_inc(x_47); +x_54 = l_Lean_Compiler_LCNF_LCtx_addParam(x_51, x_47); if (lean_is_scalar(x_53)) { x_55 = lean_alloc_ctor(0, 2, 0); } else { @@ -2986,19 +4169,14 @@ if (lean_is_exclusive(x_56)) { lean_dec_ref(x_56); x_58 = lean_box(0); } -x_59 = lean_alloc_ctor(0, 3, 1); -lean_ctor_set(x_59, 0, x_46); -lean_ctor_set(x_59, 1, x_38); -lean_ctor_set(x_59, 2, x_44); -lean_ctor_set_uint8(x_59, sizeof(void*)*3, x_40); if (lean_is_scalar(x_58)) { - x_60 = lean_alloc_ctor(0, 2, 0); + x_59 = lean_alloc_ctor(0, 2, 0); } else { - x_60 = x_58; + x_59 = x_58; } -lean_ctor_set(x_60, 0, x_59); -lean_ctor_set(x_60, 1, x_57); -return x_60; +lean_ctor_set(x_59, 0, x_47); +lean_ctor_set(x_59, 1, x_57); +return x_59; } } } @@ -3393,7 +4571,7 @@ uint8_t x_7; x_7 = !lean_is_exclusive(x_1); if (x_7 == 0) { -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; 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; +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; x_8 = lean_ctor_get(x_1, 0); x_9 = lean_ctor_get(x_1, 1); x_10 = lean_ctor_get(x_8, 1); @@ -3431,807 +4609,788 @@ lean_inc(x_26); x_27 = lean_ctor_get(x_25, 1); lean_inc(x_27); lean_dec(x_25); -x_28 = lean_st_ref_take(x_3, x_27); -x_29 = lean_ctor_get(x_28, 0); -lean_inc(x_29); -x_30 = lean_ctor_get(x_28, 1); +x_28 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_12); +lean_ctor_set(x_28, 2, x_18); +lean_ctor_set(x_28, 3, x_23); +x_29 = lean_st_ref_take(x_3, x_27); +x_30 = lean_ctor_get(x_29, 0); lean_inc(x_30); -lean_dec(x_28); -x_31 = !lean_is_exclusive(x_29); -if (x_31 == 0) +x_31 = lean_ctor_get(x_29, 1); +lean_inc(x_31); +lean_dec(x_29); +x_32 = !lean_is_exclusive(x_30); +if (x_32 == 0) { -lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; -x_32 = lean_ctor_get(x_29, 0); -lean_inc(x_23); -lean_inc(x_18); -lean_inc(x_12); -lean_inc(x_26); -x_33 = l_Lean_Compiler_LCNF_LCtx_addLetDecl(x_32, x_26, x_12, x_18, x_23); -lean_ctor_set(x_29, 0, x_33); -x_34 = lean_st_ref_set(x_3, x_29, x_30); -x_35 = lean_ctor_get(x_34, 1); -lean_inc(x_35); -lean_dec(x_34); -x_36 = l_Lean_Compiler_LCNF_Internalize_internalizeCode(x_9, x_2, x_3, x_4, x_5, x_35); -x_37 = !lean_is_exclusive(x_36); -if (x_37 == 0) +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; +x_33 = lean_ctor_get(x_30, 0); +lean_inc(x_28); +x_34 = l_Lean_Compiler_LCNF_LCtx_addLetDecl(x_33, x_28); +lean_ctor_set(x_30, 0, x_34); +x_35 = lean_st_ref_set(x_3, x_30, x_31); +x_36 = lean_ctor_get(x_35, 1); +lean_inc(x_36); +lean_dec(x_35); +x_37 = l_Lean_Compiler_LCNF_Internalize_internalizeCode(x_9, x_2, x_3, x_4, x_5, x_36); +x_38 = !lean_is_exclusive(x_37); +if (x_38 == 0) { -lean_object* x_38; lean_object* x_39; -x_38 = lean_ctor_get(x_36, 0); -x_39 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_39, 0, x_26); -lean_ctor_set(x_39, 1, x_12); -lean_ctor_set(x_39, 2, x_18); -lean_ctor_set(x_39, 3, x_23); -lean_ctor_set(x_1, 1, x_38); -lean_ctor_set(x_1, 0, x_39); -lean_ctor_set(x_36, 0, x_1); -return x_36; +lean_object* x_39; +x_39 = lean_ctor_get(x_37, 0); +lean_ctor_set(x_1, 1, x_39); +lean_ctor_set(x_1, 0, x_28); +lean_ctor_set(x_37, 0, x_1); +return x_37; } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_36, 0); -x_41 = lean_ctor_get(x_36, 1); +lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_40 = lean_ctor_get(x_37, 0); +x_41 = lean_ctor_get(x_37, 1); lean_inc(x_41); lean_inc(x_40); -lean_dec(x_36); -x_42 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_42, 0, x_26); -lean_ctor_set(x_42, 1, x_12); -lean_ctor_set(x_42, 2, x_18); -lean_ctor_set(x_42, 3, x_23); +lean_dec(x_37); lean_ctor_set(x_1, 1, x_40); -lean_ctor_set(x_1, 0, x_42); -x_43 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_43, 0, x_1); -lean_ctor_set(x_43, 1, x_41); -return x_43; +lean_ctor_set(x_1, 0, x_28); +x_42 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_42, 0, x_1); +lean_ctor_set(x_42, 1, x_41); +return x_42; } } else { -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_44 = lean_ctor_get(x_29, 0); -x_45 = lean_ctor_get(x_29, 1); -lean_inc(x_45); +lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_43 = lean_ctor_get(x_30, 0); +x_44 = lean_ctor_get(x_30, 1); lean_inc(x_44); -lean_dec(x_29); -lean_inc(x_23); -lean_inc(x_18); -lean_inc(x_12); -lean_inc(x_26); -x_46 = l_Lean_Compiler_LCNF_LCtx_addLetDecl(x_44, x_26, x_12, x_18, x_23); -x_47 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_47, 0, x_46); -lean_ctor_set(x_47, 1, x_45); -x_48 = lean_st_ref_set(x_3, x_47, x_30); -x_49 = lean_ctor_get(x_48, 1); -lean_inc(x_49); -lean_dec(x_48); -x_50 = l_Lean_Compiler_LCNF_Internalize_internalizeCode(x_9, x_2, x_3, x_4, x_5, x_49); -x_51 = lean_ctor_get(x_50, 0); +lean_inc(x_43); +lean_dec(x_30); +lean_inc(x_28); +x_45 = l_Lean_Compiler_LCNF_LCtx_addLetDecl(x_43, x_28); +x_46 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_46, 0, x_45); +lean_ctor_set(x_46, 1, x_44); +x_47 = lean_st_ref_set(x_3, x_46, x_31); +x_48 = lean_ctor_get(x_47, 1); +lean_inc(x_48); +lean_dec(x_47); +x_49 = l_Lean_Compiler_LCNF_Internalize_internalizeCode(x_9, x_2, x_3, x_4, x_5, x_48); +x_50 = lean_ctor_get(x_49, 0); +lean_inc(x_50); +x_51 = lean_ctor_get(x_49, 1); lean_inc(x_51); -x_52 = lean_ctor_get(x_50, 1); -lean_inc(x_52); -if (lean_is_exclusive(x_50)) { - lean_ctor_release(x_50, 0); - lean_ctor_release(x_50, 1); - x_53 = x_50; +if (lean_is_exclusive(x_49)) { + lean_ctor_release(x_49, 0); + lean_ctor_release(x_49, 1); + x_52 = x_49; } else { - lean_dec_ref(x_50); - x_53 = lean_box(0); + lean_dec_ref(x_49); + x_52 = lean_box(0); } -x_54 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_54, 0, x_26); -lean_ctor_set(x_54, 1, x_12); -lean_ctor_set(x_54, 2, x_18); -lean_ctor_set(x_54, 3, x_23); -lean_ctor_set(x_1, 1, x_51); -lean_ctor_set(x_1, 0, x_54); -if (lean_is_scalar(x_53)) { - x_55 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_1, 1, x_50); +lean_ctor_set(x_1, 0, x_28); +if (lean_is_scalar(x_52)) { + x_53 = lean_alloc_ctor(0, 2, 0); } else { - x_55 = x_53; + x_53 = x_52; } -lean_ctor_set(x_55, 0, x_1); -lean_ctor_set(x_55, 1, x_52); -return x_55; +lean_ctor_set(x_53, 0, x_1); +lean_ctor_set(x_53, 1, x_51); +return x_53; } } else { -lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; -x_56 = lean_ctor_get(x_1, 0); -x_57 = lean_ctor_get(x_1, 1); -lean_inc(x_57); -lean_inc(x_56); +lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; +x_54 = lean_ctor_get(x_1, 0); +x_55 = lean_ctor_get(x_1, 1); +lean_inc(x_55); +lean_inc(x_54); lean_dec(x_1); -x_58 = lean_ctor_get(x_56, 1); +x_56 = lean_ctor_get(x_54, 1); +lean_inc(x_56); +x_57 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_refreshBinderName(x_56, x_3, x_4, x_5, x_6); +x_58 = lean_ctor_get(x_57, 0); lean_inc(x_58); -x_59 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_refreshBinderName(x_58, x_3, x_4, x_5, x_6); -x_60 = lean_ctor_get(x_59, 0); +x_59 = lean_ctor_get(x_57, 1); +lean_inc(x_59); +lean_dec(x_57); +x_60 = lean_ctor_get(x_54, 2); lean_inc(x_60); -x_61 = lean_ctor_get(x_59, 1); -lean_inc(x_61); -lean_dec(x_59); -x_62 = lean_ctor_get(x_56, 2); +x_61 = lean_st_ref_get(x_2, x_59); +x_62 = lean_ctor_get(x_61, 0); lean_inc(x_62); -x_63 = lean_st_ref_get(x_2, x_61); -x_64 = lean_ctor_get(x_63, 0); -lean_inc(x_64); -x_65 = lean_ctor_get(x_63, 1); +x_63 = lean_ctor_get(x_61, 1); +lean_inc(x_63); +lean_dec(x_61); +x_64 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_62, x_60); +x_65 = lean_ctor_get(x_54, 3); lean_inc(x_65); -lean_dec(x_63); -x_66 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_64, x_62); -x_67 = lean_ctor_get(x_56, 3); +x_66 = lean_st_ref_get(x_2, x_63); +x_67 = lean_ctor_get(x_66, 0); lean_inc(x_67); -x_68 = lean_st_ref_get(x_2, x_65); -x_69 = lean_ctor_get(x_68, 0); -lean_inc(x_69); -x_70 = lean_ctor_get(x_68, 1); +x_68 = lean_ctor_get(x_66, 1); +lean_inc(x_68); +lean_dec(x_66); +x_69 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_67, x_65); +x_70 = lean_ctor_get(x_54, 0); lean_inc(x_70); -lean_dec(x_68); -x_71 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_69, x_67); -x_72 = lean_ctor_get(x_56, 0); +lean_dec(x_54); +x_71 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_mkNewFVarId(x_70, x_2, x_3, x_4, x_5, x_68); +x_72 = lean_ctor_get(x_71, 0); lean_inc(x_72); -lean_dec(x_56); -x_73 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_Internalize_mkNewFVarId(x_72, x_2, x_3, x_4, x_5, x_70); -x_74 = lean_ctor_get(x_73, 0); -lean_inc(x_74); -x_75 = lean_ctor_get(x_73, 1); -lean_inc(x_75); -lean_dec(x_73); -x_76 = lean_st_ref_take(x_3, x_75); -x_77 = lean_ctor_get(x_76, 0); +x_73 = lean_ctor_get(x_71, 1); +lean_inc(x_73); +lean_dec(x_71); +x_74 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_74, 0, x_72); +lean_ctor_set(x_74, 1, x_58); +lean_ctor_set(x_74, 2, x_64); +lean_ctor_set(x_74, 3, x_69); +x_75 = lean_st_ref_take(x_3, x_73); +x_76 = lean_ctor_get(x_75, 0); +lean_inc(x_76); +x_77 = lean_ctor_get(x_75, 1); lean_inc(x_77); -x_78 = lean_ctor_get(x_76, 1); +lean_dec(x_75); +x_78 = lean_ctor_get(x_76, 0); lean_inc(x_78); -lean_dec(x_76); -x_79 = lean_ctor_get(x_77, 0); +x_79 = lean_ctor_get(x_76, 1); lean_inc(x_79); -x_80 = lean_ctor_get(x_77, 1); -lean_inc(x_80); -if (lean_is_exclusive(x_77)) { - lean_ctor_release(x_77, 0); - lean_ctor_release(x_77, 1); - x_81 = x_77; +if (lean_is_exclusive(x_76)) { + lean_ctor_release(x_76, 0); + lean_ctor_release(x_76, 1); + x_80 = x_76; } else { - lean_dec_ref(x_77); - x_81 = lean_box(0); + lean_dec_ref(x_76); + x_80 = lean_box(0); } -lean_inc(x_71); -lean_inc(x_66); -lean_inc(x_60); lean_inc(x_74); -x_82 = l_Lean_Compiler_LCNF_LCtx_addLetDecl(x_79, x_74, x_60, x_66, x_71); -if (lean_is_scalar(x_81)) { - x_83 = lean_alloc_ctor(0, 2, 0); +x_81 = l_Lean_Compiler_LCNF_LCtx_addLetDecl(x_78, x_74); +if (lean_is_scalar(x_80)) { + x_82 = lean_alloc_ctor(0, 2, 0); } else { - x_83 = x_81; + x_82 = x_80; } -lean_ctor_set(x_83, 0, x_82); -lean_ctor_set(x_83, 1, x_80); -x_84 = lean_st_ref_set(x_3, x_83, x_78); -x_85 = lean_ctor_get(x_84, 1); -lean_inc(x_85); -lean_dec(x_84); -x_86 = l_Lean_Compiler_LCNF_Internalize_internalizeCode(x_57, x_2, x_3, x_4, x_5, x_85); -x_87 = lean_ctor_get(x_86, 0); +lean_ctor_set(x_82, 0, x_81); +lean_ctor_set(x_82, 1, x_79); +x_83 = lean_st_ref_set(x_3, x_82, x_77); +x_84 = lean_ctor_get(x_83, 1); +lean_inc(x_84); +lean_dec(x_83); +x_85 = l_Lean_Compiler_LCNF_Internalize_internalizeCode(x_55, x_2, x_3, x_4, x_5, x_84); +x_86 = lean_ctor_get(x_85, 0); +lean_inc(x_86); +x_87 = lean_ctor_get(x_85, 1); lean_inc(x_87); -x_88 = lean_ctor_get(x_86, 1); -lean_inc(x_88); -if (lean_is_exclusive(x_86)) { - lean_ctor_release(x_86, 0); - lean_ctor_release(x_86, 1); - x_89 = x_86; +if (lean_is_exclusive(x_85)) { + lean_ctor_release(x_85, 0); + lean_ctor_release(x_85, 1); + x_88 = x_85; } else { - lean_dec_ref(x_86); - x_89 = lean_box(0); + lean_dec_ref(x_85); + x_88 = lean_box(0); } -x_90 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_90, 0, x_74); -lean_ctor_set(x_90, 1, x_60); -lean_ctor_set(x_90, 2, x_66); -lean_ctor_set(x_90, 3, x_71); -x_91 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_91, 0, x_90); -lean_ctor_set(x_91, 1, x_87); -if (lean_is_scalar(x_89)) { - x_92 = lean_alloc_ctor(0, 2, 0); +x_89 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_89, 0, x_74); +lean_ctor_set(x_89, 1, x_86); +if (lean_is_scalar(x_88)) { + x_90 = lean_alloc_ctor(0, 2, 0); } else { - x_92 = x_89; + x_90 = x_88; } -lean_ctor_set(x_92, 0, x_91); -lean_ctor_set(x_92, 1, x_88); -return x_92; +lean_ctor_set(x_90, 0, x_89); +lean_ctor_set(x_90, 1, x_87); +return x_90; } } case 1: { -uint8_t x_93; -x_93 = !lean_is_exclusive(x_1); -if (x_93 == 0) +uint8_t x_91; +x_91 = !lean_is_exclusive(x_1); +if (x_91 == 0) { -lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; uint8_t x_100; -x_94 = lean_ctor_get(x_1, 0); -x_95 = lean_ctor_get(x_1, 1); -x_96 = l_Lean_Compiler_LCNF_Internalize_internalizeFunDecl(x_94, x_2, x_3, x_4, x_5, x_6); -x_97 = lean_ctor_get(x_96, 0); -lean_inc(x_97); -x_98 = lean_ctor_get(x_96, 1); -lean_inc(x_98); -lean_dec(x_96); -x_99 = l_Lean_Compiler_LCNF_Internalize_internalizeCode(x_95, x_2, x_3, x_4, x_5, x_98); -x_100 = !lean_is_exclusive(x_99); -if (x_100 == 0) +lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98; +x_92 = lean_ctor_get(x_1, 0); +x_93 = lean_ctor_get(x_1, 1); +x_94 = l_Lean_Compiler_LCNF_Internalize_internalizeFunDecl(x_92, x_2, x_3, x_4, x_5, x_6); +x_95 = lean_ctor_get(x_94, 0); +lean_inc(x_95); +x_96 = lean_ctor_get(x_94, 1); +lean_inc(x_96); +lean_dec(x_94); +x_97 = l_Lean_Compiler_LCNF_Internalize_internalizeCode(x_93, x_2, x_3, x_4, x_5, x_96); +x_98 = !lean_is_exclusive(x_97); +if (x_98 == 0) { -lean_object* x_101; -x_101 = lean_ctor_get(x_99, 0); -lean_ctor_set(x_1, 1, x_101); -lean_ctor_set(x_1, 0, x_97); -lean_ctor_set(x_99, 0, x_1); -return x_99; +lean_object* x_99; +x_99 = lean_ctor_get(x_97, 0); +lean_ctor_set(x_1, 1, x_99); +lean_ctor_set(x_1, 0, x_95); +lean_ctor_set(x_97, 0, x_1); +return x_97; } else { -lean_object* x_102; lean_object* x_103; lean_object* x_104; -x_102 = lean_ctor_get(x_99, 0); -x_103 = lean_ctor_get(x_99, 1); +lean_object* x_100; lean_object* x_101; lean_object* x_102; +x_100 = lean_ctor_get(x_97, 0); +x_101 = lean_ctor_get(x_97, 1); +lean_inc(x_101); +lean_inc(x_100); +lean_dec(x_97); +lean_ctor_set(x_1, 1, x_100); +lean_ctor_set(x_1, 0, x_95); +x_102 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_102, 0, x_1); +lean_ctor_set(x_102, 1, x_101); +return x_102; +} +} +else +{ +lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; +x_103 = lean_ctor_get(x_1, 0); +x_104 = lean_ctor_get(x_1, 1); +lean_inc(x_104); lean_inc(x_103); -lean_inc(x_102); -lean_dec(x_99); -lean_ctor_set(x_1, 1, x_102); -lean_ctor_set(x_1, 0, x_97); -x_104 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_104, 0, x_1); -lean_ctor_set(x_104, 1, x_103); -return x_104; -} -} -else -{ -lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; -x_105 = lean_ctor_get(x_1, 0); -x_106 = lean_ctor_get(x_1, 1); -lean_inc(x_106); -lean_inc(x_105); lean_dec(x_1); -x_107 = l_Lean_Compiler_LCNF_Internalize_internalizeFunDecl(x_105, x_2, x_3, x_4, x_5, x_6); -x_108 = lean_ctor_get(x_107, 0); -lean_inc(x_108); -x_109 = lean_ctor_get(x_107, 1); +x_105 = l_Lean_Compiler_LCNF_Internalize_internalizeFunDecl(x_103, x_2, x_3, x_4, x_5, x_6); +x_106 = lean_ctor_get(x_105, 0); +lean_inc(x_106); +x_107 = lean_ctor_get(x_105, 1); +lean_inc(x_107); +lean_dec(x_105); +x_108 = l_Lean_Compiler_LCNF_Internalize_internalizeCode(x_104, x_2, x_3, x_4, x_5, x_107); +x_109 = lean_ctor_get(x_108, 0); lean_inc(x_109); -lean_dec(x_107); -x_110 = l_Lean_Compiler_LCNF_Internalize_internalizeCode(x_106, x_2, x_3, x_4, x_5, x_109); -x_111 = lean_ctor_get(x_110, 0); -lean_inc(x_111); -x_112 = lean_ctor_get(x_110, 1); -lean_inc(x_112); -if (lean_is_exclusive(x_110)) { - lean_ctor_release(x_110, 0); - lean_ctor_release(x_110, 1); - x_113 = x_110; +x_110 = lean_ctor_get(x_108, 1); +lean_inc(x_110); +if (lean_is_exclusive(x_108)) { + lean_ctor_release(x_108, 0); + lean_ctor_release(x_108, 1); + x_111 = x_108; } else { - lean_dec_ref(x_110); - x_113 = lean_box(0); + lean_dec_ref(x_108); + x_111 = lean_box(0); } -x_114 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_114, 0, x_108); -lean_ctor_set(x_114, 1, x_111); -if (lean_is_scalar(x_113)) { - x_115 = lean_alloc_ctor(0, 2, 0); +x_112 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_112, 0, x_106); +lean_ctor_set(x_112, 1, x_109); +if (lean_is_scalar(x_111)) { + x_113 = lean_alloc_ctor(0, 2, 0); } else { - x_115 = x_113; + x_113 = x_111; } -lean_ctor_set(x_115, 0, x_114); -lean_ctor_set(x_115, 1, x_112); -return x_115; +lean_ctor_set(x_113, 0, x_112); +lean_ctor_set(x_113, 1, x_110); +return x_113; } } case 2: { -uint8_t x_116; -x_116 = !lean_is_exclusive(x_1); -if (x_116 == 0) +uint8_t x_114; +x_114 = !lean_is_exclusive(x_1); +if (x_114 == 0) { -lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; uint8_t x_123; -x_117 = lean_ctor_get(x_1, 0); -x_118 = lean_ctor_get(x_1, 1); -x_119 = l_Lean_Compiler_LCNF_Internalize_internalizeFunDecl(x_117, x_2, x_3, x_4, x_5, x_6); -x_120 = lean_ctor_get(x_119, 0); -lean_inc(x_120); -x_121 = lean_ctor_get(x_119, 1); -lean_inc(x_121); -lean_dec(x_119); -x_122 = l_Lean_Compiler_LCNF_Internalize_internalizeCode(x_118, x_2, x_3, x_4, x_5, x_121); -x_123 = !lean_is_exclusive(x_122); -if (x_123 == 0) +lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; uint8_t x_121; +x_115 = lean_ctor_get(x_1, 0); +x_116 = lean_ctor_get(x_1, 1); +x_117 = l_Lean_Compiler_LCNF_Internalize_internalizeFunDecl(x_115, x_2, x_3, x_4, x_5, x_6); +x_118 = lean_ctor_get(x_117, 0); +lean_inc(x_118); +x_119 = lean_ctor_get(x_117, 1); +lean_inc(x_119); +lean_dec(x_117); +x_120 = l_Lean_Compiler_LCNF_Internalize_internalizeCode(x_116, x_2, x_3, x_4, x_5, x_119); +x_121 = !lean_is_exclusive(x_120); +if (x_121 == 0) { -lean_object* x_124; -x_124 = lean_ctor_get(x_122, 0); -lean_ctor_set(x_1, 1, x_124); -lean_ctor_set(x_1, 0, x_120); -lean_ctor_set(x_122, 0, x_1); -return x_122; +lean_object* x_122; +x_122 = lean_ctor_get(x_120, 0); +lean_ctor_set(x_1, 1, x_122); +lean_ctor_set(x_1, 0, x_118); +lean_ctor_set(x_120, 0, x_1); +return x_120; } else { -lean_object* x_125; lean_object* x_126; lean_object* x_127; -x_125 = lean_ctor_get(x_122, 0); -x_126 = lean_ctor_get(x_122, 1); +lean_object* x_123; lean_object* x_124; lean_object* x_125; +x_123 = lean_ctor_get(x_120, 0); +x_124 = lean_ctor_get(x_120, 1); +lean_inc(x_124); +lean_inc(x_123); +lean_dec(x_120); +lean_ctor_set(x_1, 1, x_123); +lean_ctor_set(x_1, 0, x_118); +x_125 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_125, 0, x_1); +lean_ctor_set(x_125, 1, x_124); +return x_125; +} +} +else +{ +lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; +x_126 = lean_ctor_get(x_1, 0); +x_127 = lean_ctor_get(x_1, 1); +lean_inc(x_127); lean_inc(x_126); -lean_inc(x_125); -lean_dec(x_122); -lean_ctor_set(x_1, 1, x_125); -lean_ctor_set(x_1, 0, x_120); -x_127 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_127, 0, x_1); -lean_ctor_set(x_127, 1, x_126); -return x_127; -} -} -else -{ -lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; -x_128 = lean_ctor_get(x_1, 0); -x_129 = lean_ctor_get(x_1, 1); -lean_inc(x_129); -lean_inc(x_128); lean_dec(x_1); -x_130 = l_Lean_Compiler_LCNF_Internalize_internalizeFunDecl(x_128, x_2, x_3, x_4, x_5, x_6); -x_131 = lean_ctor_get(x_130, 0); -lean_inc(x_131); -x_132 = lean_ctor_get(x_130, 1); +x_128 = l_Lean_Compiler_LCNF_Internalize_internalizeFunDecl(x_126, x_2, x_3, x_4, x_5, x_6); +x_129 = lean_ctor_get(x_128, 0); +lean_inc(x_129); +x_130 = lean_ctor_get(x_128, 1); +lean_inc(x_130); +lean_dec(x_128); +x_131 = l_Lean_Compiler_LCNF_Internalize_internalizeCode(x_127, x_2, x_3, x_4, x_5, x_130); +x_132 = lean_ctor_get(x_131, 0); lean_inc(x_132); -lean_dec(x_130); -x_133 = l_Lean_Compiler_LCNF_Internalize_internalizeCode(x_129, x_2, x_3, x_4, x_5, x_132); -x_134 = lean_ctor_get(x_133, 0); -lean_inc(x_134); -x_135 = lean_ctor_get(x_133, 1); -lean_inc(x_135); -if (lean_is_exclusive(x_133)) { - lean_ctor_release(x_133, 0); - lean_ctor_release(x_133, 1); - x_136 = x_133; +x_133 = lean_ctor_get(x_131, 1); +lean_inc(x_133); +if (lean_is_exclusive(x_131)) { + lean_ctor_release(x_131, 0); + lean_ctor_release(x_131, 1); + x_134 = x_131; } else { - lean_dec_ref(x_133); - x_136 = lean_box(0); + lean_dec_ref(x_131); + x_134 = lean_box(0); } -x_137 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_137, 0, x_131); -lean_ctor_set(x_137, 1, x_134); -if (lean_is_scalar(x_136)) { - x_138 = lean_alloc_ctor(0, 2, 0); +x_135 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_135, 0, x_129); +lean_ctor_set(x_135, 1, x_132); +if (lean_is_scalar(x_134)) { + x_136 = lean_alloc_ctor(0, 2, 0); } else { - x_138 = x_136; + x_136 = x_134; } -lean_ctor_set(x_138, 0, x_137); -lean_ctor_set(x_138, 1, x_135); -return x_138; +lean_ctor_set(x_136, 0, x_135); +lean_ctor_set(x_136, 1, x_133); +return x_136; } } case 3: { -uint8_t x_139; -x_139 = !lean_is_exclusive(x_1); -if (x_139 == 0) +uint8_t x_137; +x_137 = !lean_is_exclusive(x_1); +if (x_137 == 0) { -lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; size_t x_147; size_t x_148; lean_object* x_149; uint8_t x_150; -x_140 = lean_ctor_get(x_1, 0); -x_141 = lean_ctor_get(x_1, 1); -x_142 = lean_st_ref_get(x_2, x_6); -x_143 = lean_ctor_get(x_142, 0); -lean_inc(x_143); -x_144 = lean_ctor_get(x_142, 1); -lean_inc(x_144); -lean_dec(x_142); -x_145 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_143, x_140); -x_146 = lean_array_get_size(x_141); -x_147 = lean_usize_of_nat(x_146); -lean_dec(x_146); -x_148 = 0; -x_149 = l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Internalize_internalizeCode___spec__2(x_147, x_148, x_141, x_2, x_3, x_4, x_5, x_144); -x_150 = !lean_is_exclusive(x_149); -if (x_150 == 0) +lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; size_t x_145; size_t x_146; lean_object* x_147; uint8_t x_148; +x_138 = lean_ctor_get(x_1, 0); +x_139 = lean_ctor_get(x_1, 1); +x_140 = lean_st_ref_get(x_2, x_6); +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 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_141, x_138); +x_144 = lean_array_get_size(x_139); +x_145 = lean_usize_of_nat(x_144); +lean_dec(x_144); +x_146 = 0; +x_147 = l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Internalize_internalizeCode___spec__2(x_145, x_146, x_139, x_2, x_3, x_4, x_5, x_142); +x_148 = !lean_is_exclusive(x_147); +if (x_148 == 0) { -lean_object* x_151; -x_151 = lean_ctor_get(x_149, 0); -lean_ctor_set(x_1, 1, x_151); -lean_ctor_set(x_1, 0, x_145); -lean_ctor_set(x_149, 0, x_1); -return x_149; +lean_object* x_149; +x_149 = lean_ctor_get(x_147, 0); +lean_ctor_set(x_1, 1, x_149); +lean_ctor_set(x_1, 0, x_143); +lean_ctor_set(x_147, 0, x_1); +return x_147; } else { -lean_object* x_152; lean_object* x_153; lean_object* x_154; -x_152 = lean_ctor_get(x_149, 0); -x_153 = lean_ctor_get(x_149, 1); +lean_object* x_150; lean_object* x_151; lean_object* x_152; +x_150 = lean_ctor_get(x_147, 0); +x_151 = lean_ctor_get(x_147, 1); +lean_inc(x_151); +lean_inc(x_150); +lean_dec(x_147); +lean_ctor_set(x_1, 1, x_150); +lean_ctor_set(x_1, 0, x_143); +x_152 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_152, 0, x_1); +lean_ctor_set(x_152, 1, x_151); +return x_152; +} +} +else +{ +lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; size_t x_160; size_t x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; +x_153 = lean_ctor_get(x_1, 0); +x_154 = lean_ctor_get(x_1, 1); +lean_inc(x_154); lean_inc(x_153); -lean_inc(x_152); -lean_dec(x_149); -lean_ctor_set(x_1, 1, x_152); -lean_ctor_set(x_1, 0, x_145); -x_154 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_154, 0, x_1); -lean_ctor_set(x_154, 1, x_153); -return x_154; -} -} -else -{ -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; size_t x_162; size_t x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; -x_155 = lean_ctor_get(x_1, 0); -x_156 = lean_ctor_get(x_1, 1); -lean_inc(x_156); -lean_inc(x_155); lean_dec(x_1); -x_157 = lean_st_ref_get(x_2, x_6); -x_158 = lean_ctor_get(x_157, 0); -lean_inc(x_158); -x_159 = lean_ctor_get(x_157, 1); -lean_inc(x_159); -lean_dec(x_157); -x_160 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_158, x_155); -x_161 = lean_array_get_size(x_156); -x_162 = lean_usize_of_nat(x_161); -lean_dec(x_161); -x_163 = 0; -x_164 = l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Internalize_internalizeCode___spec__2(x_162, x_163, x_156, x_2, x_3, x_4, x_5, x_159); -x_165 = lean_ctor_get(x_164, 0); -lean_inc(x_165); -x_166 = lean_ctor_get(x_164, 1); -lean_inc(x_166); -if (lean_is_exclusive(x_164)) { - lean_ctor_release(x_164, 0); - lean_ctor_release(x_164, 1); - x_167 = x_164; +x_155 = lean_st_ref_get(x_2, x_6); +x_156 = lean_ctor_get(x_155, 0); +lean_inc(x_156); +x_157 = lean_ctor_get(x_155, 1); +lean_inc(x_157); +lean_dec(x_155); +x_158 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_156, x_153); +x_159 = lean_array_get_size(x_154); +x_160 = lean_usize_of_nat(x_159); +lean_dec(x_159); +x_161 = 0; +x_162 = l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Internalize_internalizeCode___spec__2(x_160, x_161, x_154, x_2, x_3, x_4, x_5, x_157); +x_163 = lean_ctor_get(x_162, 0); +lean_inc(x_163); +x_164 = lean_ctor_get(x_162, 1); +lean_inc(x_164); +if (lean_is_exclusive(x_162)) { + lean_ctor_release(x_162, 0); + lean_ctor_release(x_162, 1); + x_165 = x_162; } else { - lean_dec_ref(x_164); - x_167 = lean_box(0); + lean_dec_ref(x_162); + x_165 = lean_box(0); } -x_168 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_168, 0, x_160); -lean_ctor_set(x_168, 1, x_165); -if (lean_is_scalar(x_167)) { - x_169 = lean_alloc_ctor(0, 2, 0); +x_166 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_166, 0, x_158); +lean_ctor_set(x_166, 1, x_163); +if (lean_is_scalar(x_165)) { + x_167 = lean_alloc_ctor(0, 2, 0); } else { - x_169 = x_167; + x_167 = x_165; } -lean_ctor_set(x_169, 0, x_168); -lean_ctor_set(x_169, 1, x_166); -return x_169; +lean_ctor_set(x_167, 0, x_166); +lean_ctor_set(x_167, 1, x_164); +return x_167; } } case 4: { -uint8_t x_170; -x_170 = !lean_is_exclusive(x_1); +uint8_t x_168; +x_168 = !lean_is_exclusive(x_1); +if (x_168 == 0) +{ +lean_object* x_169; uint8_t x_170; +x_169 = lean_ctor_get(x_1, 0); +x_170 = !lean_is_exclusive(x_169); if (x_170 == 0) { -lean_object* x_171; uint8_t x_172; -x_171 = lean_ctor_get(x_1, 0); -x_172 = !lean_is_exclusive(x_171); -if (x_172 == 0) +lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; size_t x_183; size_t x_184; lean_object* x_185; uint8_t x_186; +x_171 = lean_ctor_get(x_169, 1); +x_172 = lean_ctor_get(x_169, 2); +x_173 = lean_ctor_get(x_169, 3); +x_174 = lean_st_ref_get(x_2, x_6); +x_175 = lean_ctor_get(x_174, 0); +lean_inc(x_175); +x_176 = lean_ctor_get(x_174, 1); +lean_inc(x_176); +lean_dec(x_174); +x_177 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_175, x_171); +x_178 = lean_st_ref_get(x_2, x_176); +x_179 = lean_ctor_get(x_178, 0); +lean_inc(x_179); +x_180 = lean_ctor_get(x_178, 1); +lean_inc(x_180); +lean_dec(x_178); +x_181 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_179, x_172); +x_182 = lean_array_get_size(x_173); +x_183 = lean_usize_of_nat(x_182); +lean_dec(x_182); +x_184 = 0; +x_185 = l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Internalize_internalizeCode___spec__3(x_183, x_184, x_173, x_2, x_3, x_4, x_5, x_180); +x_186 = !lean_is_exclusive(x_185); +if (x_186 == 0) { -lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; size_t x_185; size_t x_186; lean_object* x_187; uint8_t x_188; -x_173 = lean_ctor_get(x_171, 1); -x_174 = lean_ctor_get(x_171, 2); -x_175 = lean_ctor_get(x_171, 3); -x_176 = lean_st_ref_get(x_2, x_6); -x_177 = lean_ctor_get(x_176, 0); -lean_inc(x_177); -x_178 = lean_ctor_get(x_176, 1); -lean_inc(x_178); -lean_dec(x_176); -x_179 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_177, x_173); -x_180 = lean_st_ref_get(x_2, x_178); -x_181 = lean_ctor_get(x_180, 0); -lean_inc(x_181); -x_182 = lean_ctor_get(x_180, 1); -lean_inc(x_182); -lean_dec(x_180); -x_183 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_181, x_174); -x_184 = lean_array_get_size(x_175); -x_185 = lean_usize_of_nat(x_184); -lean_dec(x_184); -x_186 = 0; -x_187 = l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Internalize_internalizeCode___spec__3(x_185, x_186, x_175, x_2, x_3, x_4, x_5, x_182); -x_188 = !lean_is_exclusive(x_187); -if (x_188 == 0) -{ -lean_object* x_189; -x_189 = lean_ctor_get(x_187, 0); -lean_ctor_set(x_171, 3, x_189); -lean_ctor_set(x_171, 2, x_183); -lean_ctor_set(x_171, 1, x_179); -lean_ctor_set(x_187, 0, x_1); -return x_187; +lean_object* x_187; +x_187 = lean_ctor_get(x_185, 0); +lean_ctor_set(x_169, 3, x_187); +lean_ctor_set(x_169, 2, x_181); +lean_ctor_set(x_169, 1, x_177); +lean_ctor_set(x_185, 0, x_1); +return x_185; } else { -lean_object* x_190; lean_object* x_191; lean_object* x_192; -x_190 = lean_ctor_get(x_187, 0); -x_191 = lean_ctor_get(x_187, 1); -lean_inc(x_191); -lean_inc(x_190); -lean_dec(x_187); -lean_ctor_set(x_171, 3, x_190); -lean_ctor_set(x_171, 2, x_183); -lean_ctor_set(x_171, 1, x_179); -x_192 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_192, 0, x_1); -lean_ctor_set(x_192, 1, x_191); -return x_192; +lean_object* x_188; lean_object* x_189; lean_object* x_190; +x_188 = lean_ctor_get(x_185, 0); +x_189 = lean_ctor_get(x_185, 1); +lean_inc(x_189); +lean_inc(x_188); +lean_dec(x_185); +lean_ctor_set(x_169, 3, x_188); +lean_ctor_set(x_169, 2, x_181); +lean_ctor_set(x_169, 1, x_177); +x_190 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_190, 0, x_1); +lean_ctor_set(x_190, 1, x_189); +return x_190; } } else { -lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; size_t x_206; size_t x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; -x_193 = lean_ctor_get(x_171, 0); -x_194 = lean_ctor_get(x_171, 1); -x_195 = lean_ctor_get(x_171, 2); -x_196 = lean_ctor_get(x_171, 3); -lean_inc(x_196); -lean_inc(x_195); +lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; size_t x_204; size_t x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; +x_191 = lean_ctor_get(x_169, 0); +x_192 = lean_ctor_get(x_169, 1); +x_193 = lean_ctor_get(x_169, 2); +x_194 = lean_ctor_get(x_169, 3); lean_inc(x_194); lean_inc(x_193); -lean_dec(x_171); -x_197 = lean_st_ref_get(x_2, x_6); -x_198 = lean_ctor_get(x_197, 0); -lean_inc(x_198); -x_199 = lean_ctor_get(x_197, 1); -lean_inc(x_199); -lean_dec(x_197); -x_200 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_198, x_194); -x_201 = lean_st_ref_get(x_2, x_199); -x_202 = lean_ctor_get(x_201, 0); -lean_inc(x_202); -x_203 = lean_ctor_get(x_201, 1); -lean_inc(x_203); -lean_dec(x_201); -x_204 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_202, x_195); -x_205 = lean_array_get_size(x_196); -x_206 = lean_usize_of_nat(x_205); -lean_dec(x_205); -x_207 = 0; -x_208 = l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Internalize_internalizeCode___spec__3(x_206, x_207, x_196, x_2, x_3, x_4, x_5, x_203); -x_209 = lean_ctor_get(x_208, 0); -lean_inc(x_209); -x_210 = lean_ctor_get(x_208, 1); -lean_inc(x_210); -if (lean_is_exclusive(x_208)) { - lean_ctor_release(x_208, 0); - lean_ctor_release(x_208, 1); - x_211 = x_208; +lean_inc(x_192); +lean_inc(x_191); +lean_dec(x_169); +x_195 = lean_st_ref_get(x_2, x_6); +x_196 = lean_ctor_get(x_195, 0); +lean_inc(x_196); +x_197 = lean_ctor_get(x_195, 1); +lean_inc(x_197); +lean_dec(x_195); +x_198 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_196, x_192); +x_199 = lean_st_ref_get(x_2, x_197); +x_200 = lean_ctor_get(x_199, 0); +lean_inc(x_200); +x_201 = lean_ctor_get(x_199, 1); +lean_inc(x_201); +lean_dec(x_199); +x_202 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_200, x_193); +x_203 = lean_array_get_size(x_194); +x_204 = lean_usize_of_nat(x_203); +lean_dec(x_203); +x_205 = 0; +x_206 = l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Internalize_internalizeCode___spec__3(x_204, x_205, x_194, x_2, x_3, x_4, x_5, x_201); +x_207 = lean_ctor_get(x_206, 0); +lean_inc(x_207); +x_208 = lean_ctor_get(x_206, 1); +lean_inc(x_208); +if (lean_is_exclusive(x_206)) { + lean_ctor_release(x_206, 0); + lean_ctor_release(x_206, 1); + x_209 = x_206; } else { - lean_dec_ref(x_208); - x_211 = lean_box(0); + lean_dec_ref(x_206); + x_209 = lean_box(0); } -x_212 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_212, 0, x_193); -lean_ctor_set(x_212, 1, x_200); -lean_ctor_set(x_212, 2, x_204); -lean_ctor_set(x_212, 3, x_209); -lean_ctor_set(x_1, 0, x_212); -if (lean_is_scalar(x_211)) { - x_213 = lean_alloc_ctor(0, 2, 0); +x_210 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_210, 0, x_191); +lean_ctor_set(x_210, 1, x_198); +lean_ctor_set(x_210, 2, x_202); +lean_ctor_set(x_210, 3, x_207); +lean_ctor_set(x_1, 0, x_210); +if (lean_is_scalar(x_209)) { + x_211 = lean_alloc_ctor(0, 2, 0); } else { - x_213 = x_211; + x_211 = x_209; } -lean_ctor_set(x_213, 0, x_1); -lean_ctor_set(x_213, 1, x_210); -return x_213; +lean_ctor_set(x_211, 0, x_1); +lean_ctor_set(x_211, 1, x_208); +return x_211; } } else { -lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; size_t x_229; size_t x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; -x_214 = lean_ctor_get(x_1, 0); -lean_inc(x_214); +lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; size_t x_227; size_t x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; +x_212 = lean_ctor_get(x_1, 0); +lean_inc(x_212); lean_dec(x_1); -x_215 = lean_ctor_get(x_214, 0); +x_213 = lean_ctor_get(x_212, 0); +lean_inc(x_213); +x_214 = lean_ctor_get(x_212, 1); +lean_inc(x_214); +x_215 = lean_ctor_get(x_212, 2); lean_inc(x_215); -x_216 = lean_ctor_get(x_214, 1); +x_216 = lean_ctor_get(x_212, 3); lean_inc(x_216); -x_217 = lean_ctor_get(x_214, 2); -lean_inc(x_217); -x_218 = lean_ctor_get(x_214, 3); -lean_inc(x_218); -if (lean_is_exclusive(x_214)) { - lean_ctor_release(x_214, 0); - lean_ctor_release(x_214, 1); - lean_ctor_release(x_214, 2); - lean_ctor_release(x_214, 3); - x_219 = x_214; +if (lean_is_exclusive(x_212)) { + lean_ctor_release(x_212, 0); + lean_ctor_release(x_212, 1); + lean_ctor_release(x_212, 2); + lean_ctor_release(x_212, 3); + x_217 = x_212; } else { - lean_dec_ref(x_214); - x_219 = lean_box(0); + lean_dec_ref(x_212); + x_217 = lean_box(0); } -x_220 = lean_st_ref_get(x_2, x_6); -x_221 = lean_ctor_get(x_220, 0); -lean_inc(x_221); -x_222 = lean_ctor_get(x_220, 1); -lean_inc(x_222); -lean_dec(x_220); -x_223 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_221, x_216); -x_224 = lean_st_ref_get(x_2, x_222); -x_225 = lean_ctor_get(x_224, 0); -lean_inc(x_225); -x_226 = lean_ctor_get(x_224, 1); -lean_inc(x_226); -lean_dec(x_224); -x_227 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_225, x_217); -x_228 = lean_array_get_size(x_218); -x_229 = lean_usize_of_nat(x_228); -lean_dec(x_228); -x_230 = 0; -x_231 = l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Internalize_internalizeCode___spec__3(x_229, x_230, x_218, x_2, x_3, x_4, x_5, x_226); -x_232 = lean_ctor_get(x_231, 0); -lean_inc(x_232); -x_233 = lean_ctor_get(x_231, 1); -lean_inc(x_233); -if (lean_is_exclusive(x_231)) { - lean_ctor_release(x_231, 0); - lean_ctor_release(x_231, 1); - x_234 = x_231; +x_218 = lean_st_ref_get(x_2, x_6); +x_219 = lean_ctor_get(x_218, 0); +lean_inc(x_219); +x_220 = lean_ctor_get(x_218, 1); +lean_inc(x_220); +lean_dec(x_218); +x_221 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_219, x_214); +x_222 = lean_st_ref_get(x_2, x_220); +x_223 = lean_ctor_get(x_222, 0); +lean_inc(x_223); +x_224 = lean_ctor_get(x_222, 1); +lean_inc(x_224); +lean_dec(x_222); +x_225 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_223, x_215); +x_226 = lean_array_get_size(x_216); +x_227 = lean_usize_of_nat(x_226); +lean_dec(x_226); +x_228 = 0; +x_229 = l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Internalize_internalizeCode___spec__3(x_227, x_228, x_216, x_2, x_3, x_4, x_5, x_224); +x_230 = lean_ctor_get(x_229, 0); +lean_inc(x_230); +x_231 = lean_ctor_get(x_229, 1); +lean_inc(x_231); +if (lean_is_exclusive(x_229)) { + lean_ctor_release(x_229, 0); + lean_ctor_release(x_229, 1); + x_232 = x_229; } else { - lean_dec_ref(x_231); - x_234 = lean_box(0); + lean_dec_ref(x_229); + x_232 = lean_box(0); } -if (lean_is_scalar(x_219)) { - x_235 = lean_alloc_ctor(0, 4, 0); +if (lean_is_scalar(x_217)) { + x_233 = lean_alloc_ctor(0, 4, 0); } else { - x_235 = x_219; + x_233 = x_217; } -lean_ctor_set(x_235, 0, x_215); -lean_ctor_set(x_235, 1, x_223); -lean_ctor_set(x_235, 2, x_227); -lean_ctor_set(x_235, 3, x_232); -x_236 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_236, 0, x_235); -if (lean_is_scalar(x_234)) { - x_237 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_233, 0, x_213); +lean_ctor_set(x_233, 1, x_221); +lean_ctor_set(x_233, 2, x_225); +lean_ctor_set(x_233, 3, x_230); +x_234 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_234, 0, x_233); +if (lean_is_scalar(x_232)) { + x_235 = lean_alloc_ctor(0, 2, 0); } else { - x_237 = x_234; + x_235 = x_232; } -lean_ctor_set(x_237, 0, x_236); -lean_ctor_set(x_237, 1, x_233); -return x_237; +lean_ctor_set(x_235, 0, x_234); +lean_ctor_set(x_235, 1, x_231); +return x_235; } } case 5: { -uint8_t x_238; -x_238 = !lean_is_exclusive(x_1); -if (x_238 == 0) +uint8_t x_236; +x_236 = !lean_is_exclusive(x_1); +if (x_236 == 0) { -lean_object* x_239; lean_object* x_240; uint8_t x_241; -x_239 = lean_ctor_get(x_1, 0); -x_240 = lean_st_ref_get(x_2, x_6); -x_241 = !lean_is_exclusive(x_240); -if (x_241 == 0) +lean_object* x_237; lean_object* x_238; uint8_t x_239; +x_237 = lean_ctor_get(x_1, 0); +x_238 = lean_st_ref_get(x_2, x_6); +x_239 = !lean_is_exclusive(x_238); +if (x_239 == 0) { -lean_object* x_242; lean_object* x_243; -x_242 = lean_ctor_get(x_240, 0); -x_243 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_242, x_239); -lean_ctor_set(x_1, 0, x_243); -lean_ctor_set(x_240, 0, x_1); -return x_240; +lean_object* x_240; lean_object* x_241; +x_240 = lean_ctor_get(x_238, 0); +x_241 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_240, x_237); +lean_ctor_set(x_1, 0, x_241); +lean_ctor_set(x_238, 0, x_1); +return x_238; } else { -lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; -x_244 = lean_ctor_get(x_240, 0); -x_245 = lean_ctor_get(x_240, 1); -lean_inc(x_245); -lean_inc(x_244); -lean_dec(x_240); -x_246 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_244, x_239); -lean_ctor_set(x_1, 0, x_246); -x_247 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_247, 0, x_1); -lean_ctor_set(x_247, 1, x_245); -return x_247; +lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; +x_242 = lean_ctor_get(x_238, 0); +x_243 = lean_ctor_get(x_238, 1); +lean_inc(x_243); +lean_inc(x_242); +lean_dec(x_238); +x_244 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_242, x_237); +lean_ctor_set(x_1, 0, x_244); +x_245 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_245, 0, x_1); +lean_ctor_set(x_245, 1, x_243); +return x_245; } } else { -lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; -x_248 = lean_ctor_get(x_1, 0); -lean_inc(x_248); +lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; +x_246 = lean_ctor_get(x_1, 0); +lean_inc(x_246); lean_dec(x_1); -x_249 = lean_st_ref_get(x_2, x_6); -x_250 = lean_ctor_get(x_249, 0); -lean_inc(x_250); -x_251 = lean_ctor_get(x_249, 1); -lean_inc(x_251); -if (lean_is_exclusive(x_249)) { - lean_ctor_release(x_249, 0); - lean_ctor_release(x_249, 1); - x_252 = x_249; +x_247 = lean_st_ref_get(x_2, x_6); +x_248 = lean_ctor_get(x_247, 0); +lean_inc(x_248); +x_249 = lean_ctor_get(x_247, 1); +lean_inc(x_249); +if (lean_is_exclusive(x_247)) { + lean_ctor_release(x_247, 0); + lean_ctor_release(x_247, 1); + x_250 = x_247; } else { - lean_dec_ref(x_249); - x_252 = lean_box(0); + lean_dec_ref(x_247); + x_250 = lean_box(0); } -x_253 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_250, x_248); -x_254 = lean_alloc_ctor(5, 1, 0); -lean_ctor_set(x_254, 0, x_253); -if (lean_is_scalar(x_252)) { - x_255 = lean_alloc_ctor(0, 2, 0); +x_251 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_248, x_246); +x_252 = lean_alloc_ctor(5, 1, 0); +lean_ctor_set(x_252, 0, x_251); +if (lean_is_scalar(x_250)) { + x_253 = lean_alloc_ctor(0, 2, 0); } else { - x_255 = x_252; + x_253 = x_250; } -lean_ctor_set(x_255, 0, x_254); -lean_ctor_set(x_255, 1, x_251); -return x_255; +lean_ctor_set(x_253, 0, x_252); +lean_ctor_set(x_253, 1, x_249); +return x_253; } } default: { -uint8_t x_256; -x_256 = !lean_is_exclusive(x_1); -if (x_256 == 0) +uint8_t x_254; +x_254 = !lean_is_exclusive(x_1); +if (x_254 == 0) { -lean_object* x_257; lean_object* x_258; uint8_t x_259; -x_257 = lean_ctor_get(x_1, 0); -x_258 = lean_st_ref_get(x_2, x_6); -x_259 = !lean_is_exclusive(x_258); -if (x_259 == 0) +lean_object* x_255; lean_object* x_256; uint8_t x_257; +x_255 = lean_ctor_get(x_1, 0); +x_256 = lean_st_ref_get(x_2, x_6); +x_257 = !lean_is_exclusive(x_256); +if (x_257 == 0) { -lean_object* x_260; lean_object* x_261; -x_260 = lean_ctor_get(x_258, 0); -x_261 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_260, x_257); -lean_ctor_set(x_1, 0, x_261); -lean_ctor_set(x_258, 0, x_1); -return x_258; +lean_object* x_258; lean_object* x_259; +x_258 = lean_ctor_get(x_256, 0); +x_259 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_258, x_255); +lean_ctor_set(x_1, 0, x_259); +lean_ctor_set(x_256, 0, x_1); +return x_256; } else { -lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; -x_262 = lean_ctor_get(x_258, 0); -x_263 = lean_ctor_get(x_258, 1); -lean_inc(x_263); -lean_inc(x_262); -lean_dec(x_258); -x_264 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_262, x_257); -lean_ctor_set(x_1, 0, x_264); -x_265 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_265, 0, x_1); -lean_ctor_set(x_265, 1, x_263); -return x_265; +lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; +x_260 = lean_ctor_get(x_256, 0); +x_261 = lean_ctor_get(x_256, 1); +lean_inc(x_261); +lean_inc(x_260); +lean_dec(x_256); +x_262 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_260, x_255); +lean_ctor_set(x_1, 0, x_262); +x_263 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_263, 0, x_1); +lean_ctor_set(x_263, 1, x_261); +return x_263; } } 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_object* x_272; lean_object* x_273; -x_266 = lean_ctor_get(x_1, 0); -lean_inc(x_266); +lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; +x_264 = lean_ctor_get(x_1, 0); +lean_inc(x_264); lean_dec(x_1); -x_267 = lean_st_ref_get(x_2, 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; +x_265 = lean_st_ref_get(x_2, x_6); +x_266 = lean_ctor_get(x_265, 0); +lean_inc(x_266); +x_267 = lean_ctor_get(x_265, 1); +lean_inc(x_267); +if (lean_is_exclusive(x_265)) { + lean_ctor_release(x_265, 0); + lean_ctor_release(x_265, 1); + x_268 = x_265; } else { - lean_dec_ref(x_267); - x_270 = lean_box(0); + lean_dec_ref(x_265); + x_268 = lean_box(0); } -x_271 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_268, x_266); -x_272 = lean_alloc_ctor(6, 1, 0); -lean_ctor_set(x_272, 0, x_271); -if (lean_is_scalar(x_270)) { - x_273 = lean_alloc_ctor(0, 2, 0); +x_269 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_266, x_264); +x_270 = lean_alloc_ctor(6, 1, 0); +lean_ctor_set(x_270, 0, x_269); +if (lean_is_scalar(x_268)) { + x_271 = lean_alloc_ctor(0, 2, 0); } else { - x_273 = x_270; + x_271 = x_268; } -lean_ctor_set(x_273, 0, x_272); -lean_ctor_set(x_273, 1, x_269); -return x_273; +lean_ctor_set(x_271, 0, x_270); +lean_ctor_set(x_271, 1, x_267); +return x_271; } } } @@ -4777,100 +5936,86 @@ return x_9; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_mkParam(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; x_8 = l_Lean_mkFreshFVarId___at_Lean_Compiler_LCNF_mkParam___spec__1(x_4, x_5, x_6, x_7); x_9 = lean_ctor_get(x_8, 0); lean_inc(x_9); x_10 = lean_ctor_get(x_8, 1); lean_inc(x_10); lean_dec(x_8); -x_11 = lean_st_ref_take(x_4, x_10); -x_12 = lean_ctor_get(x_11, 0); -lean_inc(x_12); -x_13 = lean_ctor_get(x_11, 1); +x_11 = lean_alloc_ctor(0, 3, 1); +lean_ctor_set(x_11, 0, x_9); +lean_ctor_set(x_11, 1, x_1); +lean_ctor_set(x_11, 2, x_2); +lean_ctor_set_uint8(x_11, sizeof(void*)*3, x_3); +x_12 = lean_st_ref_take(x_4, x_10); +x_13 = lean_ctor_get(x_12, 0); lean_inc(x_13); -lean_dec(x_11); -x_14 = !lean_is_exclusive(x_12); -if (x_14 == 0) -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; -x_15 = lean_ctor_get(x_12, 0); -lean_inc(x_2); -lean_inc(x_1); -lean_inc(x_9); -x_16 = l_Lean_Compiler_LCNF_LCtx_addLocalDecl(x_15, x_9, x_1, x_2); -lean_ctor_set(x_12, 0, x_16); -x_17 = lean_st_ref_set(x_4, x_12, x_13); -x_18 = !lean_is_exclusive(x_17); -if (x_18 == 0) -{ -lean_object* x_19; lean_object* x_20; -x_19 = lean_ctor_get(x_17, 0); -lean_dec(x_19); -x_20 = lean_alloc_ctor(0, 3, 1); -lean_ctor_set(x_20, 0, x_9); -lean_ctor_set(x_20, 1, x_1); -lean_ctor_set(x_20, 2, x_2); -lean_ctor_set_uint8(x_20, sizeof(void*)*3, x_3); -lean_ctor_set(x_17, 0, x_20); -return x_17; -} -else -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_21 = lean_ctor_get(x_17, 1); -lean_inc(x_21); -lean_dec(x_17); -x_22 = lean_alloc_ctor(0, 3, 1); -lean_ctor_set(x_22, 0, x_9); -lean_ctor_set(x_22, 1, x_1); -lean_ctor_set(x_22, 2, x_2); -lean_ctor_set_uint8(x_22, sizeof(void*)*3, x_3); -x_23 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_23, 0, x_22); -lean_ctor_set(x_23, 1, x_21); -return x_23; -} -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_24 = lean_ctor_get(x_12, 0); -x_25 = lean_ctor_get(x_12, 1); -lean_inc(x_25); -lean_inc(x_24); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); lean_dec(x_12); -lean_inc(x_2); -lean_inc(x_1); -lean_inc(x_9); -x_26 = l_Lean_Compiler_LCNF_LCtx_addLocalDecl(x_24, x_9, x_1, x_2); -x_27 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_27, 0, x_26); -lean_ctor_set(x_27, 1, x_25); -x_28 = lean_st_ref_set(x_4, x_27, x_13); -x_29 = lean_ctor_get(x_28, 1); -lean_inc(x_29); -if (lean_is_exclusive(x_28)) { - lean_ctor_release(x_28, 0); - lean_ctor_release(x_28, 1); - x_30 = x_28; -} else { - lean_dec_ref(x_28); - x_30 = lean_box(0); +x_15 = !lean_is_exclusive(x_13); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; +x_16 = lean_ctor_get(x_13, 0); +lean_inc(x_11); +x_17 = l_Lean_Compiler_LCNF_LCtx_addParam(x_16, x_11); +lean_ctor_set(x_13, 0, x_17); +x_18 = lean_st_ref_set(x_4, x_13, x_14); +x_19 = !lean_is_exclusive(x_18); +if (x_19 == 0) +{ +lean_object* x_20; +x_20 = lean_ctor_get(x_18, 0); +lean_dec(x_20); +lean_ctor_set(x_18, 0, x_11); +return x_18; } -x_31 = lean_alloc_ctor(0, 3, 1); -lean_ctor_set(x_31, 0, x_9); -lean_ctor_set(x_31, 1, x_1); -lean_ctor_set(x_31, 2, x_2); -lean_ctor_set_uint8(x_31, sizeof(void*)*3, x_3); -if (lean_is_scalar(x_30)) { - x_32 = lean_alloc_ctor(0, 2, 0); -} else { - x_32 = x_30; +else +{ +lean_object* x_21; lean_object* x_22; +x_21 = lean_ctor_get(x_18, 1); +lean_inc(x_21); +lean_dec(x_18); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_11); +lean_ctor_set(x_22, 1, x_21); +return x_22; } -lean_ctor_set(x_32, 0, x_31); -lean_ctor_set(x_32, 1, x_29); -return x_32; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_23 = lean_ctor_get(x_13, 0); +x_24 = lean_ctor_get(x_13, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_13); +lean_inc(x_11); +x_25 = l_Lean_Compiler_LCNF_LCtx_addParam(x_23, x_11); +x_26 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_26, 0, x_25); +lean_ctor_set(x_26, 1, x_24); +x_27 = lean_st_ref_set(x_4, x_26, x_14); +x_28 = lean_ctor_get(x_27, 1); +lean_inc(x_28); +if (lean_is_exclusive(x_27)) { + lean_ctor_release(x_27, 0); + lean_ctor_release(x_27, 1); + x_29 = x_27; +} else { + lean_dec_ref(x_27); + x_29 = lean_box(0); +} +if (lean_is_scalar(x_29)) { + x_30 = lean_alloc_ctor(0, 2, 0); +} else { + x_30 = x_29; +} +lean_ctor_set(x_30, 0, x_11); +lean_ctor_set(x_30, 1, x_28); +return x_30; } } } @@ -4920,102 +6065,86 @@ return x_9; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_mkLetDecl(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; x_8 = l_Lean_mkFreshFVarId___at_Lean_Compiler_LCNF_mkParam___spec__1(x_4, x_5, x_6, x_7); x_9 = lean_ctor_get(x_8, 0); lean_inc(x_9); x_10 = lean_ctor_get(x_8, 1); lean_inc(x_10); lean_dec(x_8); -x_11 = lean_st_ref_take(x_4, x_10); -x_12 = lean_ctor_get(x_11, 0); -lean_inc(x_12); -x_13 = lean_ctor_get(x_11, 1); +x_11 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_11, 0, x_9); +lean_ctor_set(x_11, 1, x_1); +lean_ctor_set(x_11, 2, x_2); +lean_ctor_set(x_11, 3, x_3); +x_12 = lean_st_ref_take(x_4, x_10); +x_13 = lean_ctor_get(x_12, 0); lean_inc(x_13); -lean_dec(x_11); -x_14 = !lean_is_exclusive(x_12); -if (x_14 == 0) -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; -x_15 = lean_ctor_get(x_12, 0); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -lean_inc(x_9); -x_16 = l_Lean_Compiler_LCNF_LCtx_addLetDecl(x_15, x_9, x_1, x_2, x_3); -lean_ctor_set(x_12, 0, x_16); -x_17 = lean_st_ref_set(x_4, x_12, x_13); -x_18 = !lean_is_exclusive(x_17); -if (x_18 == 0) -{ -lean_object* x_19; lean_object* x_20; -x_19 = lean_ctor_get(x_17, 0); -lean_dec(x_19); -x_20 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_20, 0, x_9); -lean_ctor_set(x_20, 1, x_1); -lean_ctor_set(x_20, 2, x_2); -lean_ctor_set(x_20, 3, x_3); -lean_ctor_set(x_17, 0, x_20); -return x_17; -} -else -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_21 = lean_ctor_get(x_17, 1); -lean_inc(x_21); -lean_dec(x_17); -x_22 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_22, 0, x_9); -lean_ctor_set(x_22, 1, x_1); -lean_ctor_set(x_22, 2, x_2); -lean_ctor_set(x_22, 3, x_3); -x_23 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_23, 0, x_22); -lean_ctor_set(x_23, 1, x_21); -return x_23; -} -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_24 = lean_ctor_get(x_12, 0); -x_25 = lean_ctor_get(x_12, 1); -lean_inc(x_25); -lean_inc(x_24); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); lean_dec(x_12); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -lean_inc(x_9); -x_26 = l_Lean_Compiler_LCNF_LCtx_addLetDecl(x_24, x_9, x_1, x_2, x_3); -x_27 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_27, 0, x_26); -lean_ctor_set(x_27, 1, x_25); -x_28 = lean_st_ref_set(x_4, x_27, x_13); -x_29 = lean_ctor_get(x_28, 1); -lean_inc(x_29); -if (lean_is_exclusive(x_28)) { - lean_ctor_release(x_28, 0); - lean_ctor_release(x_28, 1); - x_30 = x_28; -} else { - lean_dec_ref(x_28); - x_30 = lean_box(0); +x_15 = !lean_is_exclusive(x_13); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; +x_16 = lean_ctor_get(x_13, 0); +lean_inc(x_11); +x_17 = l_Lean_Compiler_LCNF_LCtx_addLetDecl(x_16, x_11); +lean_ctor_set(x_13, 0, x_17); +x_18 = lean_st_ref_set(x_4, x_13, x_14); +x_19 = !lean_is_exclusive(x_18); +if (x_19 == 0) +{ +lean_object* x_20; +x_20 = lean_ctor_get(x_18, 0); +lean_dec(x_20); +lean_ctor_set(x_18, 0, x_11); +return x_18; } -x_31 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_31, 0, x_9); -lean_ctor_set(x_31, 1, x_1); -lean_ctor_set(x_31, 2, x_2); -lean_ctor_set(x_31, 3, x_3); -if (lean_is_scalar(x_30)) { - x_32 = lean_alloc_ctor(0, 2, 0); -} else { - x_32 = x_30; +else +{ +lean_object* x_21; lean_object* x_22; +x_21 = lean_ctor_get(x_18, 1); +lean_inc(x_21); +lean_dec(x_18); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_11); +lean_ctor_set(x_22, 1, x_21); +return x_22; } -lean_ctor_set(x_32, 0, x_31); -lean_ctor_set(x_32, 1, x_29); -return x_32; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_23 = lean_ctor_get(x_13, 0); +x_24 = lean_ctor_get(x_13, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_13); +lean_inc(x_11); +x_25 = l_Lean_Compiler_LCNF_LCtx_addLetDecl(x_23, x_11); +x_26 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_26, 0, x_25); +lean_ctor_set(x_26, 1, x_24); +x_27 = lean_st_ref_set(x_4, x_26, x_14); +x_28 = lean_ctor_get(x_27, 1); +lean_inc(x_28); +if (lean_is_exclusive(x_27)) { + lean_ctor_release(x_27, 0); + lean_ctor_release(x_27, 1); + x_29 = x_27; +} else { + lean_dec_ref(x_27); + x_29 = lean_box(0); +} +if (lean_is_scalar(x_29)) { + x_30 = lean_alloc_ctor(0, 2, 0); +} else { + x_30 = x_29; +} +lean_ctor_set(x_30, 0, x_11); +lean_ctor_set(x_30, 1, x_28); +return x_30; } } } @@ -5156,9 +6285,6 @@ x_16 = lean_ctor_get(x_1, 1); lean_dec(x_16); x_17 = lean_ctor_get(x_1, 0); lean_dec(x_17); -lean_inc(x_2); -lean_inc(x_8); -lean_inc(x_7); lean_ctor_set(x_1, 2, x_2); x_18 = lean_st_ref_take(x_3, x_6); x_19 = lean_ctor_get(x_18, 0); @@ -5171,7 +6297,8 @@ if (x_21 == 0) { lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; x_22 = lean_ctor_get(x_19, 0); -x_23 = l_Lean_Compiler_LCNF_LCtx_addLocalDecl(x_22, x_7, x_8, x_2); +lean_inc(x_1); +x_23 = l_Lean_Compiler_LCNF_LCtx_addParam(x_22, x_1); lean_ctor_set(x_19, 0, x_23); x_24 = lean_st_ref_set(x_3, x_19, x_20); x_25 = !lean_is_exclusive(x_24); @@ -5203,7 +6330,8 @@ x_30 = lean_ctor_get(x_19, 1); lean_inc(x_30); lean_inc(x_29); lean_dec(x_19); -x_31 = l_Lean_Compiler_LCNF_LCtx_addLocalDecl(x_29, x_7, x_8, x_2); +lean_inc(x_1); +x_31 = l_Lean_Compiler_LCNF_LCtx_addParam(x_29, x_1); x_32 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_32, 0, x_31); lean_ctor_set(x_32, 1, x_30); @@ -5232,9 +6360,6 @@ else { lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_dec(x_1); -lean_inc(x_2); -lean_inc(x_8); -lean_inc(x_7); x_37 = lean_alloc_ctor(0, 3, 1); lean_ctor_set(x_37, 0, x_7); lean_ctor_set(x_37, 1, x_8); @@ -5258,7 +6383,8 @@ if (lean_is_exclusive(x_39)) { lean_dec_ref(x_39); x_43 = lean_box(0); } -x_44 = l_Lean_Compiler_LCNF_LCtx_addLocalDecl(x_41, x_7, x_8, x_2); +lean_inc(x_37); +x_44 = l_Lean_Compiler_LCNF_LCtx_addParam(x_41, x_37); if (lean_is_scalar(x_43)) { x_45 = lean_alloc_ctor(0, 2, 0); } else { @@ -5343,10 +6469,6 @@ x_18 = lean_ctor_get(x_1, 1); lean_dec(x_18); x_19 = lean_ctor_get(x_1, 0); lean_dec(x_19); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_9); -lean_inc(x_8); lean_ctor_set(x_1, 3, x_3); lean_ctor_set(x_1, 2, x_2); x_20 = lean_st_ref_take(x_4, x_7); @@ -5360,7 +6482,8 @@ 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_21, 0); -x_25 = l_Lean_Compiler_LCNF_LCtx_addLetDecl(x_24, x_8, x_9, x_2, x_3); +lean_inc(x_1); +x_25 = l_Lean_Compiler_LCNF_LCtx_addLetDecl(x_24, x_1); lean_ctor_set(x_21, 0, x_25); x_26 = lean_st_ref_set(x_4, x_21, x_22); x_27 = !lean_is_exclusive(x_26); @@ -5392,7 +6515,8 @@ x_32 = lean_ctor_get(x_21, 1); lean_inc(x_32); lean_inc(x_31); lean_dec(x_21); -x_33 = l_Lean_Compiler_LCNF_LCtx_addLetDecl(x_31, x_8, x_9, x_2, x_3); +lean_inc(x_1); +x_33 = l_Lean_Compiler_LCNF_LCtx_addLetDecl(x_31, x_1); x_34 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_34, 0, x_33); lean_ctor_set(x_34, 1, x_32); @@ -5421,10 +6545,6 @@ else { lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_dec(x_1); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_9); -lean_inc(x_8); x_39 = lean_alloc_ctor(0, 4, 0); lean_ctor_set(x_39, 0, x_8); lean_ctor_set(x_39, 1, x_9); @@ -5448,7 +6568,8 @@ if (lean_is_exclusive(x_41)) { lean_dec_ref(x_41); x_45 = lean_box(0); } -x_46 = l_Lean_Compiler_LCNF_LCtx_addLetDecl(x_43, x_8, x_9, x_2, x_3); +lean_inc(x_39); +x_46 = l_Lean_Compiler_LCNF_LCtx_addLetDecl(x_43, x_39); if (lean_is_scalar(x_45)) { x_47 = lean_alloc_ctor(0, 2, 0); } else { @@ -5499,10 +6620,6 @@ x_58 = lean_ctor_get(x_1, 1); lean_dec(x_58); x_59 = lean_ctor_get(x_1, 0); lean_dec(x_59); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_9); -lean_inc(x_8); lean_ctor_set(x_1, 3, x_3); lean_ctor_set(x_1, 2, x_2); x_60 = lean_st_ref_take(x_4, x_7); @@ -5516,7 +6633,8 @@ if (x_63 == 0) { lean_object* x_64; lean_object* x_65; lean_object* x_66; uint8_t x_67; x_64 = lean_ctor_get(x_61, 0); -x_65 = l_Lean_Compiler_LCNF_LCtx_addLetDecl(x_64, x_8, x_9, x_2, x_3); +lean_inc(x_1); +x_65 = l_Lean_Compiler_LCNF_LCtx_addLetDecl(x_64, x_1); lean_ctor_set(x_61, 0, x_65); x_66 = lean_st_ref_set(x_4, x_61, x_62); x_67 = !lean_is_exclusive(x_66); @@ -5548,7 +6666,8 @@ x_72 = lean_ctor_get(x_61, 1); lean_inc(x_72); lean_inc(x_71); lean_dec(x_61); -x_73 = l_Lean_Compiler_LCNF_LCtx_addLetDecl(x_71, x_8, x_9, x_2, x_3); +lean_inc(x_1); +x_73 = l_Lean_Compiler_LCNF_LCtx_addLetDecl(x_71, x_1); x_74 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_74, 0, x_73); lean_ctor_set(x_74, 1, x_72); @@ -5577,10 +6696,6 @@ else { lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_dec(x_1); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_9); -lean_inc(x_8); x_79 = lean_alloc_ctor(0, 4, 0); lean_ctor_set(x_79, 0, x_8); lean_ctor_set(x_79, 1, x_9); @@ -5604,7 +6719,8 @@ if (lean_is_exclusive(x_81)) { lean_dec_ref(x_81); x_85 = lean_box(0); } -x_86 = l_Lean_Compiler_LCNF_LCtx_addLetDecl(x_83, x_8, x_9, x_2, x_3); +lean_inc(x_79); +x_86 = l_Lean_Compiler_LCNF_LCtx_addLetDecl(x_83, x_79); if (lean_is_scalar(x_85)) { x_87 = lean_alloc_ctor(0, 2, 0); } else { @@ -9024,14 +10140,22 @@ l_Lean_Compiler_LCNF_instAddMessageContextCompilerM___closed__5 = _init_l_Lean_C lean_mark_persistent(l_Lean_Compiler_LCNF_instAddMessageContextCompilerM___closed__5); l_Lean_Compiler_LCNF_instAddMessageContextCompilerM___closed__6 = _init_l_Lean_Compiler_LCNF_instAddMessageContextCompilerM___closed__6(); lean_mark_persistent(l_Lean_Compiler_LCNF_instAddMessageContextCompilerM___closed__6); -l_Lean_Compiler_LCNF_getLocalDecl___closed__1 = _init_l_Lean_Compiler_LCNF_getLocalDecl___closed__1(); -lean_mark_persistent(l_Lean_Compiler_LCNF_getLocalDecl___closed__1); -l_Lean_Compiler_LCNF_getLocalDecl___closed__2 = _init_l_Lean_Compiler_LCNF_getLocalDecl___closed__2(); -lean_mark_persistent(l_Lean_Compiler_LCNF_getLocalDecl___closed__2); -l_Lean_Compiler_LCNF_getLocalDecl___closed__3 = _init_l_Lean_Compiler_LCNF_getLocalDecl___closed__3(); -lean_mark_persistent(l_Lean_Compiler_LCNF_getLocalDecl___closed__3); -l_Lean_Compiler_LCNF_getLocalDecl___closed__4 = _init_l_Lean_Compiler_LCNF_getLocalDecl___closed__4(); -lean_mark_persistent(l_Lean_Compiler_LCNF_getLocalDecl___closed__4); +l_Lean_Compiler_LCNF_getType___closed__1 = _init_l_Lean_Compiler_LCNF_getType___closed__1(); +lean_mark_persistent(l_Lean_Compiler_LCNF_getType___closed__1); +l_Lean_Compiler_LCNF_getType___closed__2 = _init_l_Lean_Compiler_LCNF_getType___closed__2(); +lean_mark_persistent(l_Lean_Compiler_LCNF_getType___closed__2); +l_Lean_Compiler_LCNF_getType___closed__3 = _init_l_Lean_Compiler_LCNF_getType___closed__3(); +lean_mark_persistent(l_Lean_Compiler_LCNF_getType___closed__3); +l_Lean_Compiler_LCNF_getType___closed__4 = _init_l_Lean_Compiler_LCNF_getType___closed__4(); +lean_mark_persistent(l_Lean_Compiler_LCNF_getType___closed__4); +l_Lean_Compiler_LCNF_getParam___closed__1 = _init_l_Lean_Compiler_LCNF_getParam___closed__1(); +lean_mark_persistent(l_Lean_Compiler_LCNF_getParam___closed__1); +l_Lean_Compiler_LCNF_getParam___closed__2 = _init_l_Lean_Compiler_LCNF_getParam___closed__2(); +lean_mark_persistent(l_Lean_Compiler_LCNF_getParam___closed__2); +l_Lean_Compiler_LCNF_getLetDecl___closed__1 = _init_l_Lean_Compiler_LCNF_getLetDecl___closed__1(); +lean_mark_persistent(l_Lean_Compiler_LCNF_getLetDecl___closed__1); +l_Lean_Compiler_LCNF_getLetDecl___closed__2 = _init_l_Lean_Compiler_LCNF_getLetDecl___closed__2(); +lean_mark_persistent(l_Lean_Compiler_LCNF_getLetDecl___closed__2); l_Lean_Compiler_LCNF_getFunDecl___closed__1 = _init_l_Lean_Compiler_LCNF_getFunDecl___closed__1(); lean_mark_persistent(l_Lean_Compiler_LCNF_getFunDecl___closed__1); l_Lean_Compiler_LCNF_getFunDecl___closed__2 = _init_l_Lean_Compiler_LCNF_getFunDecl___closed__2(); diff --git a/stage0/stdlib/Lean/Compiler/LCNF/ElimDead.c b/stage0/stdlib/Lean/Compiler/LCNF/ElimDead.c index 7c31aa2c19..5947cece91 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/ElimDead.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/ElimDead.c @@ -24,12 +24,14 @@ lean_object* lean_st_ref_get(lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); lean_object* l_Std_mkHashSetImp___rarg(lean_object*); +lean_object* l_Lean_Compiler_LCNF_eraseLetDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltCodeImp(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ElimDead_elimDead(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); size_t lean_uint64_to_usize(uint64_t); static lean_object* l_Lean_Compiler_LCNF_collectLocalDecls_go___closed__3; LEAN_EXPORT lean_object* l_Std_HashSetImp_insert___at_Lean_Compiler_LCNF_collectLocalDecls_go___spec__1(lean_object*, lean_object*); +lean_object* l_Lean_Compiler_LCNF_eraseFunDecl(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_ElimDead_elimDead___closed__1; lean_object* lean_array_fget(lean_object*, lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); @@ -52,7 +54,6 @@ LEAN_EXPORT lean_object* l_List_replace___at_Lean_Compiler_LCNF_collectLocalDecl LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_ElimDead_0__Lean_Compiler_LCNF_ElimDead_collectExprM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ElimDead_elimDead___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_ptr_addr(lean_object*); -lean_object* l_Lean_Compiler_LCNF_eraseFVar(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_ElimDead_elimDead___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_ElimDead_elimDead___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); @@ -942,151 +943,150 @@ lean_dec(x_12); x_15 = lean_ctor_get(x_7, 0); lean_inc(x_15); x_16 = l_Std_HashSetImp_contains___at_Lean_Compiler_LCNF_ElimDead_elimDead___spec__1(x_13, x_15); +lean_dec(x_15); lean_dec(x_13); if (x_16 == 0) { -uint8_t x_17; lean_object* x_18; uint8_t x_19; +lean_object* x_17; uint8_t x_18; lean_dec(x_8); -lean_dec(x_7); lean_dec(x_2); lean_dec(x_1); -x_17 = 1; -x_18 = l_Lean_Compiler_LCNF_eraseFVar(x_15, x_17, x_3, x_4, x_5, x_14); +x_17 = l_Lean_Compiler_LCNF_eraseLetDecl(x_7, x_3, x_4, x_5, x_14); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_19 = !lean_is_exclusive(x_18); -if (x_19 == 0) +lean_dec(x_7); +x_18 = !lean_is_exclusive(x_17); +if (x_18 == 0) { -lean_object* x_20; -x_20 = lean_ctor_get(x_18, 0); -lean_dec(x_20); -lean_ctor_set(x_18, 0, x_10); -return x_18; +lean_object* x_19; +x_19 = lean_ctor_get(x_17, 0); +lean_dec(x_19); +lean_ctor_set(x_17, 0, x_10); +return x_17; } else { -lean_object* x_21; lean_object* x_22; -x_21 = lean_ctor_get(x_18, 1); -lean_inc(x_21); -lean_dec(x_18); -x_22 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_22, 0, x_10); -lean_ctor_set(x_22, 1, x_21); -return x_22; +lean_object* x_20; lean_object* x_21; +x_20 = lean_ctor_get(x_17, 1); +lean_inc(x_20); +lean_dec(x_17); +x_21 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_21, 0, x_10); +lean_ctor_set(x_21, 1, x_20); +return x_21; } } else { -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; -lean_dec(x_15); +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_23 = lean_ctor_get(x_7, 3); -lean_inc(x_23); -x_24 = lean_st_ref_take(x_2, x_14); -x_25 = lean_ctor_get(x_24, 0); +x_22 = lean_ctor_get(x_7, 3); +lean_inc(x_22); +x_23 = lean_st_ref_take(x_2, x_14); +x_24 = lean_ctor_get(x_23, 0); +lean_inc(x_24); +x_25 = lean_ctor_get(x_23, 1); lean_inc(x_25); -x_26 = lean_ctor_get(x_24, 1); -lean_inc(x_26); -lean_dec(x_24); -x_27 = l_Lean_Compiler_LCNF_collectLocalDecls_go(x_25, x_23); -x_28 = lean_st_ref_set(x_2, x_27, x_26); +lean_dec(x_23); +x_26 = l_Lean_Compiler_LCNF_collectLocalDecls_go(x_24, x_22); +x_27 = lean_st_ref_set(x_2, x_26, x_25); lean_dec(x_2); -x_29 = !lean_is_exclusive(x_28); -if (x_29 == 0) +x_28 = !lean_is_exclusive(x_27); +if (x_28 == 0) { -lean_object* x_30; size_t x_31; size_t x_32; uint8_t x_33; -x_30 = lean_ctor_get(x_28, 0); -lean_dec(x_30); -x_31 = lean_ptr_addr(x_8); +lean_object* x_29; size_t x_30; size_t x_31; uint8_t x_32; +x_29 = lean_ctor_get(x_27, 0); +lean_dec(x_29); +x_30 = lean_ptr_addr(x_8); lean_dec(x_8); -x_32 = lean_ptr_addr(x_10); -x_33 = lean_usize_dec_eq(x_31, x_32); +x_31 = lean_ptr_addr(x_10); +x_32 = lean_usize_dec_eq(x_30, x_31); +if (x_32 == 0) +{ +uint8_t x_33; +x_33 = !lean_is_exclusive(x_1); if (x_33 == 0) { -uint8_t x_34; -x_34 = !lean_is_exclusive(x_1); -if (x_34 == 0) -{ -lean_object* x_35; lean_object* x_36; -x_35 = lean_ctor_get(x_1, 1); +lean_object* x_34; lean_object* x_35; +x_34 = lean_ctor_get(x_1, 1); +lean_dec(x_34); +x_35 = lean_ctor_get(x_1, 0); lean_dec(x_35); -x_36 = lean_ctor_get(x_1, 0); -lean_dec(x_36); lean_ctor_set(x_1, 1, x_10); -lean_ctor_set(x_28, 0, x_1); -return x_28; +lean_ctor_set(x_27, 0, x_1); +return x_27; } else { -lean_object* x_37; +lean_object* x_36; lean_dec(x_1); -x_37 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_37, 0, x_7); -lean_ctor_set(x_37, 1, x_10); -lean_ctor_set(x_28, 0, x_37); -return x_28; +x_36 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_36, 0, x_7); +lean_ctor_set(x_36, 1, x_10); +lean_ctor_set(x_27, 0, x_36); +return x_27; } } else { lean_dec(x_10); lean_dec(x_7); -lean_ctor_set(x_28, 0, x_1); -return x_28; +lean_ctor_set(x_27, 0, x_1); +return x_27; } } else { -lean_object* x_38; size_t x_39; size_t x_40; uint8_t x_41; -x_38 = lean_ctor_get(x_28, 1); -lean_inc(x_38); -lean_dec(x_28); -x_39 = lean_ptr_addr(x_8); +lean_object* x_37; size_t x_38; size_t x_39; uint8_t x_40; +x_37 = lean_ctor_get(x_27, 1); +lean_inc(x_37); +lean_dec(x_27); +x_38 = lean_ptr_addr(x_8); lean_dec(x_8); -x_40 = lean_ptr_addr(x_10); -x_41 = lean_usize_dec_eq(x_39, x_40); -if (x_41 == 0) +x_39 = lean_ptr_addr(x_10); +x_40 = lean_usize_dec_eq(x_38, x_39); +if (x_40 == 0) { -lean_object* x_42; lean_object* x_43; lean_object* x_44; +lean_object* x_41; lean_object* x_42; lean_object* x_43; if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); lean_ctor_release(x_1, 1); - x_42 = x_1; + x_41 = x_1; } else { lean_dec_ref(x_1); - x_42 = lean_box(0); + x_41 = lean_box(0); } -if (lean_is_scalar(x_42)) { - x_43 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_41)) { + x_42 = lean_alloc_ctor(0, 2, 0); } else { - x_43 = x_42; + x_42 = x_41; } -lean_ctor_set(x_43, 0, x_7); -lean_ctor_set(x_43, 1, x_10); -x_44 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_44, 0, x_43); -lean_ctor_set(x_44, 1, x_38); -return x_44; +lean_ctor_set(x_42, 0, x_7); +lean_ctor_set(x_42, 1, x_10); +x_43 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_43, 0, x_42); +lean_ctor_set(x_43, 1, x_37); +return x_43; } else { -lean_object* x_45; +lean_object* x_44; lean_dec(x_10); lean_dec(x_7); -x_45 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_45, 0, x_1); -lean_ctor_set(x_45, 1, x_38); -return x_45; +x_44 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_44, 0, x_1); +lean_ctor_set(x_44, 1, x_37); +return x_44; } } } } else { -uint8_t x_46; +uint8_t x_45; lean_dec(x_8); lean_dec(x_7); lean_dec(x_5); @@ -1094,1103 +1094,1101 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_46 = !lean_is_exclusive(x_9); -if (x_46 == 0) +x_45 = !lean_is_exclusive(x_9); +if (x_45 == 0) { return x_9; } else { -lean_object* x_47; lean_object* x_48; lean_object* x_49; -x_47 = lean_ctor_get(x_9, 0); -x_48 = lean_ctor_get(x_9, 1); -lean_inc(x_48); +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_9, 0); +x_47 = lean_ctor_get(x_9, 1); lean_inc(x_47); +lean_inc(x_46); lean_dec(x_9); -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; +x_48 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_47); +return x_48; } } } case 1: { -lean_object* x_50; lean_object* x_51; lean_object* x_52; -x_50 = lean_ctor_get(x_1, 0); +lean_object* x_49; lean_object* x_50; lean_object* x_51; +x_49 = lean_ctor_get(x_1, 0); +lean_inc(x_49); +x_50 = lean_ctor_get(x_1, 1); lean_inc(x_50); -x_51 = lean_ctor_get(x_1, 1); -lean_inc(x_51); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -lean_inc(x_51); -x_52 = l_Lean_Compiler_LCNF_ElimDead_elimDead(x_51, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_52) == 0) +lean_inc(x_50); +x_51 = l_Lean_Compiler_LCNF_ElimDead_elimDead(x_50, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_51) == 0) { -lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; -x_53 = lean_ctor_get(x_52, 0); +lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; uint8_t x_58; +x_52 = lean_ctor_get(x_51, 0); +lean_inc(x_52); +x_53 = lean_ctor_get(x_51, 1); lean_inc(x_53); -x_54 = lean_ctor_get(x_52, 1); -lean_inc(x_54); -lean_dec(x_52); -x_55 = lean_st_ref_get(x_2, x_54); -x_56 = lean_ctor_get(x_55, 0); -lean_inc(x_56); -x_57 = lean_ctor_get(x_55, 1); -lean_inc(x_57); -lean_dec(x_55); -x_58 = lean_ctor_get(x_50, 0); -lean_inc(x_58); -x_59 = l_Std_HashSetImp_contains___at_Lean_Compiler_LCNF_ElimDead_elimDead___spec__1(x_56, x_58); -lean_dec(x_56); -if (x_59 == 0) -{ -uint8_t x_60; lean_object* x_61; uint8_t x_62; lean_dec(x_51); +x_54 = lean_st_ref_get(x_2, x_53); +x_55 = lean_ctor_get(x_54, 0); +lean_inc(x_55); +x_56 = lean_ctor_get(x_54, 1); +lean_inc(x_56); +lean_dec(x_54); +x_57 = lean_ctor_get(x_49, 0); +lean_inc(x_57); +x_58 = l_Std_HashSetImp_contains___at_Lean_Compiler_LCNF_ElimDead_elimDead___spec__1(x_55, x_57); +lean_dec(x_57); +lean_dec(x_55); +if (x_58 == 0) +{ +uint8_t x_59; lean_object* x_60; uint8_t x_61; lean_dec(x_50); lean_dec(x_2); lean_dec(x_1); -x_60 = 1; -x_61 = l_Lean_Compiler_LCNF_eraseFVar(x_58, x_60, x_3, x_4, x_5, x_57); +x_59 = 1; +x_60 = l_Lean_Compiler_LCNF_eraseFunDecl(x_49, x_59, x_3, x_4, x_5, x_56); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_62 = !lean_is_exclusive(x_61); -if (x_62 == 0) +x_61 = !lean_is_exclusive(x_60); +if (x_61 == 0) { -lean_object* x_63; -x_63 = lean_ctor_get(x_61, 0); -lean_dec(x_63); -lean_ctor_set(x_61, 0, x_53); -return x_61; +lean_object* x_62; +x_62 = lean_ctor_get(x_60, 0); +lean_dec(x_62); +lean_ctor_set(x_60, 0, x_52); +return x_60; } else { -lean_object* x_64; lean_object* x_65; -x_64 = lean_ctor_get(x_61, 1); -lean_inc(x_64); -lean_dec(x_61); -x_65 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_65, 0, x_53); -lean_ctor_set(x_65, 1, x_64); +lean_object* x_63; lean_object* x_64; +x_63 = lean_ctor_get(x_60, 1); +lean_inc(x_63); +lean_dec(x_60); +x_64 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_64, 0, x_52); +lean_ctor_set(x_64, 1, x_63); +return x_64; +} +} +else +{ +lean_object* x_65; +lean_inc(x_49); +x_65 = l_Lean_Compiler_LCNF_ElimDead_visitFunDecl(x_49, x_2, x_3, x_4, x_5, x_56); +if (lean_obj_tag(x_65) == 0) +{ +uint8_t x_66; +x_66 = !lean_is_exclusive(x_65); +if (x_66 == 0) +{ +lean_object* x_67; size_t x_68; size_t x_69; uint8_t x_70; +x_67 = lean_ctor_get(x_65, 0); +x_68 = lean_ptr_addr(x_50); +lean_dec(x_50); +x_69 = lean_ptr_addr(x_52); +x_70 = lean_usize_dec_eq(x_68, x_69); +if (x_70 == 0) +{ +uint8_t x_71; +lean_dec(x_49); +x_71 = !lean_is_exclusive(x_1); +if (x_71 == 0) +{ +lean_object* x_72; lean_object* x_73; +x_72 = lean_ctor_get(x_1, 1); +lean_dec(x_72); +x_73 = lean_ctor_get(x_1, 0); +lean_dec(x_73); +lean_ctor_set(x_1, 1, x_52); +lean_ctor_set(x_1, 0, x_67); +lean_ctor_set(x_65, 0, x_1); +return x_65; +} +else +{ +lean_object* x_74; +lean_dec(x_1); +x_74 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_74, 0, x_67); +lean_ctor_set(x_74, 1, x_52); +lean_ctor_set(x_65, 0, x_74); return x_65; } } else { -lean_object* x_66; -lean_dec(x_58); -lean_inc(x_50); -x_66 = l_Lean_Compiler_LCNF_ElimDead_visitFunDecl(x_50, x_2, x_3, x_4, x_5, x_57); -if (lean_obj_tag(x_66) == 0) +size_t x_75; size_t x_76; uint8_t x_77; +x_75 = lean_ptr_addr(x_49); +lean_dec(x_49); +x_76 = lean_ptr_addr(x_67); +x_77 = lean_usize_dec_eq(x_75, x_76); +if (x_77 == 0) { -uint8_t x_67; -x_67 = !lean_is_exclusive(x_66); -if (x_67 == 0) -{ -lean_object* x_68; size_t x_69; size_t x_70; uint8_t x_71; -x_68 = lean_ctor_get(x_66, 0); -x_69 = lean_ptr_addr(x_51); -lean_dec(x_51); -x_70 = lean_ptr_addr(x_53); -x_71 = lean_usize_dec_eq(x_69, x_70); -if (x_71 == 0) -{ -uint8_t x_72; -lean_dec(x_50); -x_72 = !lean_is_exclusive(x_1); -if (x_72 == 0) -{ -lean_object* x_73; lean_object* x_74; -x_73 = lean_ctor_get(x_1, 1); -lean_dec(x_73); -x_74 = lean_ctor_get(x_1, 0); -lean_dec(x_74); -lean_ctor_set(x_1, 1, x_53); -lean_ctor_set(x_1, 0, x_68); -lean_ctor_set(x_66, 0, x_1); -return x_66; -} -else -{ -lean_object* x_75; -lean_dec(x_1); -x_75 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_75, 0, x_68); -lean_ctor_set(x_75, 1, x_53); -lean_ctor_set(x_66, 0, x_75); -return x_66; -} -} -else -{ -size_t x_76; size_t x_77; uint8_t x_78; -x_76 = lean_ptr_addr(x_50); -lean_dec(x_50); -x_77 = lean_ptr_addr(x_68); -x_78 = lean_usize_dec_eq(x_76, x_77); +uint8_t x_78; +x_78 = !lean_is_exclusive(x_1); if (x_78 == 0) { -uint8_t x_79; -x_79 = !lean_is_exclusive(x_1); -if (x_79 == 0) -{ -lean_object* x_80; lean_object* x_81; -x_80 = lean_ctor_get(x_1, 1); +lean_object* x_79; lean_object* x_80; +x_79 = lean_ctor_get(x_1, 1); +lean_dec(x_79); +x_80 = lean_ctor_get(x_1, 0); lean_dec(x_80); -x_81 = lean_ctor_get(x_1, 0); -lean_dec(x_81); -lean_ctor_set(x_1, 1, x_53); -lean_ctor_set(x_1, 0, x_68); -lean_ctor_set(x_66, 0, x_1); -return x_66; +lean_ctor_set(x_1, 1, x_52); +lean_ctor_set(x_1, 0, x_67); +lean_ctor_set(x_65, 0, x_1); +return x_65; } else { -lean_object* x_82; +lean_object* x_81; lean_dec(x_1); -x_82 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_82, 0, x_68); -lean_ctor_set(x_82, 1, x_53); -lean_ctor_set(x_66, 0, x_82); -return x_66; +x_81 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_81, 0, x_67); +lean_ctor_set(x_81, 1, x_52); +lean_ctor_set(x_65, 0, x_81); +return x_65; } } else { -lean_dec(x_68); -lean_dec(x_53); -lean_ctor_set(x_66, 0, x_1); -return x_66; +lean_dec(x_67); +lean_dec(x_52); +lean_ctor_set(x_65, 0, x_1); +return x_65; } } } else { -lean_object* x_83; lean_object* x_84; size_t x_85; size_t x_86; uint8_t x_87; -x_83 = lean_ctor_get(x_66, 0); -x_84 = lean_ctor_get(x_66, 1); -lean_inc(x_84); +lean_object* x_82; lean_object* x_83; size_t x_84; size_t x_85; uint8_t x_86; +x_82 = lean_ctor_get(x_65, 0); +x_83 = lean_ctor_get(x_65, 1); lean_inc(x_83); -lean_dec(x_66); -x_85 = lean_ptr_addr(x_51); -lean_dec(x_51); -x_86 = lean_ptr_addr(x_53); -x_87 = lean_usize_dec_eq(x_85, x_86); -if (x_87 == 0) -{ -lean_object* x_88; lean_object* x_89; lean_object* x_90; +lean_inc(x_82); +lean_dec(x_65); +x_84 = lean_ptr_addr(x_50); lean_dec(x_50); +x_85 = lean_ptr_addr(x_52); +x_86 = lean_usize_dec_eq(x_84, x_85); +if (x_86 == 0) +{ +lean_object* x_87; lean_object* x_88; lean_object* x_89; +lean_dec(x_49); if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); lean_ctor_release(x_1, 1); - x_88 = x_1; + x_87 = x_1; } else { lean_dec_ref(x_1); - x_88 = lean_box(0); + x_87 = lean_box(0); } -if (lean_is_scalar(x_88)) { - x_89 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_87)) { + x_88 = lean_alloc_ctor(1, 2, 0); } else { - x_89 = x_88; + x_88 = x_87; } -lean_ctor_set(x_89, 0, x_83); -lean_ctor_set(x_89, 1, x_53); -x_90 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_90, 0, x_89); -lean_ctor_set(x_90, 1, x_84); -return x_90; +lean_ctor_set(x_88, 0, x_82); +lean_ctor_set(x_88, 1, x_52); +x_89 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_89, 0, x_88); +lean_ctor_set(x_89, 1, x_83); +return x_89; } else { -size_t x_91; size_t x_92; uint8_t x_93; -x_91 = lean_ptr_addr(x_50); -lean_dec(x_50); -x_92 = lean_ptr_addr(x_83); -x_93 = lean_usize_dec_eq(x_91, x_92); -if (x_93 == 0) +size_t x_90; size_t x_91; uint8_t x_92; +x_90 = lean_ptr_addr(x_49); +lean_dec(x_49); +x_91 = lean_ptr_addr(x_82); +x_92 = lean_usize_dec_eq(x_90, x_91); +if (x_92 == 0) { -lean_object* x_94; lean_object* x_95; lean_object* x_96; +lean_object* x_93; lean_object* x_94; lean_object* x_95; if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); lean_ctor_release(x_1, 1); - x_94 = x_1; + x_93 = x_1; } else { lean_dec_ref(x_1); - x_94 = lean_box(0); + x_93 = lean_box(0); } -if (lean_is_scalar(x_94)) { - x_95 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_93)) { + x_94 = lean_alloc_ctor(1, 2, 0); } else { - x_95 = x_94; + x_94 = x_93; } -lean_ctor_set(x_95, 0, x_83); -lean_ctor_set(x_95, 1, x_53); +lean_ctor_set(x_94, 0, x_82); +lean_ctor_set(x_94, 1, x_52); +x_95 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_95, 0, x_94); +lean_ctor_set(x_95, 1, x_83); +return x_95; +} +else +{ +lean_object* x_96; +lean_dec(x_82); +lean_dec(x_52); x_96 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_96, 0, x_95); -lean_ctor_set(x_96, 1, x_84); +lean_ctor_set(x_96, 0, x_1); +lean_ctor_set(x_96, 1, x_83); return x_96; } -else -{ -lean_object* x_97; -lean_dec(x_83); -lean_dec(x_53); -x_97 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_97, 0, x_1); -lean_ctor_set(x_97, 1, x_84); -return x_97; -} } } } else { -uint8_t x_98; -lean_dec(x_53); -lean_dec(x_51); +uint8_t x_97; +lean_dec(x_52); lean_dec(x_50); +lean_dec(x_49); lean_dec(x_1); -x_98 = !lean_is_exclusive(x_66); -if (x_98 == 0) +x_97 = !lean_is_exclusive(x_65); +if (x_97 == 0) { -return x_66; +return x_65; } else { -lean_object* x_99; lean_object* x_100; lean_object* x_101; -x_99 = lean_ctor_get(x_66, 0); -x_100 = lean_ctor_get(x_66, 1); -lean_inc(x_100); +lean_object* x_98; lean_object* x_99; lean_object* x_100; +x_98 = lean_ctor_get(x_65, 0); +x_99 = lean_ctor_get(x_65, 1); lean_inc(x_99); -lean_dec(x_66); -x_101 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_101, 0, x_99); -lean_ctor_set(x_101, 1, x_100); -return x_101; +lean_inc(x_98); +lean_dec(x_65); +x_100 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_100, 0, x_98); +lean_ctor_set(x_100, 1, x_99); +return x_100; } } } } else { -uint8_t x_102; -lean_dec(x_51); +uint8_t x_101; lean_dec(x_50); +lean_dec(x_49); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_102 = !lean_is_exclusive(x_52); -if (x_102 == 0) +x_101 = !lean_is_exclusive(x_51); +if (x_101 == 0) { -return x_52; +return x_51; } else { -lean_object* x_103; lean_object* x_104; lean_object* x_105; -x_103 = lean_ctor_get(x_52, 0); -x_104 = lean_ctor_get(x_52, 1); -lean_inc(x_104); +lean_object* x_102; lean_object* x_103; lean_object* x_104; +x_102 = lean_ctor_get(x_51, 0); +x_103 = lean_ctor_get(x_51, 1); lean_inc(x_103); -lean_dec(x_52); -x_105 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_105, 0, x_103); -lean_ctor_set(x_105, 1, x_104); -return x_105; +lean_inc(x_102); +lean_dec(x_51); +x_104 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_104, 0, x_102); +lean_ctor_set(x_104, 1, x_103); +return x_104; } } } case 2: { -lean_object* x_106; lean_object* x_107; lean_object* x_108; -x_106 = lean_ctor_get(x_1, 0); +lean_object* x_105; lean_object* x_106; lean_object* x_107; +x_105 = lean_ctor_get(x_1, 0); +lean_inc(x_105); +x_106 = lean_ctor_get(x_1, 1); lean_inc(x_106); -x_107 = lean_ctor_get(x_1, 1); -lean_inc(x_107); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -lean_inc(x_107); -x_108 = l_Lean_Compiler_LCNF_ElimDead_elimDead(x_107, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_108) == 0) +lean_inc(x_106); +x_107 = l_Lean_Compiler_LCNF_ElimDead_elimDead(x_106, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_107) == 0) { -lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; uint8_t x_115; -x_109 = lean_ctor_get(x_108, 0); +lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; uint8_t x_114; +x_108 = lean_ctor_get(x_107, 0); +lean_inc(x_108); +x_109 = lean_ctor_get(x_107, 1); lean_inc(x_109); -x_110 = lean_ctor_get(x_108, 1); -lean_inc(x_110); -lean_dec(x_108); -x_111 = lean_st_ref_get(x_2, x_110); -x_112 = lean_ctor_get(x_111, 0); -lean_inc(x_112); -x_113 = lean_ctor_get(x_111, 1); -lean_inc(x_113); -lean_dec(x_111); -x_114 = lean_ctor_get(x_106, 0); -lean_inc(x_114); -x_115 = l_Std_HashSetImp_contains___at_Lean_Compiler_LCNF_ElimDead_elimDead___spec__1(x_112, x_114); -lean_dec(x_112); -if (x_115 == 0) -{ -uint8_t x_116; lean_object* x_117; uint8_t x_118; lean_dec(x_107); +x_110 = lean_st_ref_get(x_2, x_109); +x_111 = lean_ctor_get(x_110, 0); +lean_inc(x_111); +x_112 = lean_ctor_get(x_110, 1); +lean_inc(x_112); +lean_dec(x_110); +x_113 = lean_ctor_get(x_105, 0); +lean_inc(x_113); +x_114 = l_Std_HashSetImp_contains___at_Lean_Compiler_LCNF_ElimDead_elimDead___spec__1(x_111, x_113); +lean_dec(x_113); +lean_dec(x_111); +if (x_114 == 0) +{ +uint8_t x_115; lean_object* x_116; uint8_t x_117; lean_dec(x_106); lean_dec(x_2); lean_dec(x_1); -x_116 = 1; -x_117 = l_Lean_Compiler_LCNF_eraseFVar(x_114, x_116, x_3, x_4, x_5, x_113); +x_115 = 1; +x_116 = l_Lean_Compiler_LCNF_eraseFunDecl(x_105, x_115, x_3, x_4, x_5, x_112); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_118 = !lean_is_exclusive(x_117); -if (x_118 == 0) +x_117 = !lean_is_exclusive(x_116); +if (x_117 == 0) { -lean_object* x_119; -x_119 = lean_ctor_get(x_117, 0); -lean_dec(x_119); -lean_ctor_set(x_117, 0, x_109); -return x_117; +lean_object* x_118; +x_118 = lean_ctor_get(x_116, 0); +lean_dec(x_118); +lean_ctor_set(x_116, 0, x_108); +return x_116; } else { -lean_object* x_120; lean_object* x_121; -x_120 = lean_ctor_get(x_117, 1); -lean_inc(x_120); -lean_dec(x_117); -x_121 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_121, 0, x_109); -lean_ctor_set(x_121, 1, x_120); +lean_object* x_119; lean_object* x_120; +x_119 = lean_ctor_get(x_116, 1); +lean_inc(x_119); +lean_dec(x_116); +x_120 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_120, 0, x_108); +lean_ctor_set(x_120, 1, x_119); +return x_120; +} +} +else +{ +lean_object* x_121; +lean_inc(x_105); +x_121 = l_Lean_Compiler_LCNF_ElimDead_visitFunDecl(x_105, x_2, x_3, x_4, x_5, x_112); +if (lean_obj_tag(x_121) == 0) +{ +uint8_t x_122; +x_122 = !lean_is_exclusive(x_121); +if (x_122 == 0) +{ +lean_object* x_123; size_t x_124; size_t x_125; uint8_t x_126; +x_123 = lean_ctor_get(x_121, 0); +x_124 = lean_ptr_addr(x_106); +lean_dec(x_106); +x_125 = lean_ptr_addr(x_108); +x_126 = lean_usize_dec_eq(x_124, x_125); +if (x_126 == 0) +{ +uint8_t x_127; +lean_dec(x_105); +x_127 = !lean_is_exclusive(x_1); +if (x_127 == 0) +{ +lean_object* x_128; lean_object* x_129; +x_128 = lean_ctor_get(x_1, 1); +lean_dec(x_128); +x_129 = lean_ctor_get(x_1, 0); +lean_dec(x_129); +lean_ctor_set(x_1, 1, x_108); +lean_ctor_set(x_1, 0, x_123); +lean_ctor_set(x_121, 0, x_1); +return x_121; +} +else +{ +lean_object* x_130; +lean_dec(x_1); +x_130 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_130, 0, x_123); +lean_ctor_set(x_130, 1, x_108); +lean_ctor_set(x_121, 0, x_130); return x_121; } } else { -lean_object* x_122; -lean_dec(x_114); -lean_inc(x_106); -x_122 = l_Lean_Compiler_LCNF_ElimDead_visitFunDecl(x_106, x_2, x_3, x_4, x_5, x_113); -if (lean_obj_tag(x_122) == 0) +size_t x_131; size_t x_132; uint8_t x_133; +x_131 = lean_ptr_addr(x_105); +lean_dec(x_105); +x_132 = lean_ptr_addr(x_123); +x_133 = lean_usize_dec_eq(x_131, x_132); +if (x_133 == 0) { -uint8_t x_123; -x_123 = !lean_is_exclusive(x_122); -if (x_123 == 0) -{ -lean_object* x_124; size_t x_125; size_t x_126; uint8_t x_127; -x_124 = lean_ctor_get(x_122, 0); -x_125 = lean_ptr_addr(x_107); -lean_dec(x_107); -x_126 = lean_ptr_addr(x_109); -x_127 = lean_usize_dec_eq(x_125, x_126); -if (x_127 == 0) -{ -uint8_t x_128; -lean_dec(x_106); -x_128 = !lean_is_exclusive(x_1); -if (x_128 == 0) -{ -lean_object* x_129; lean_object* x_130; -x_129 = lean_ctor_get(x_1, 1); -lean_dec(x_129); -x_130 = lean_ctor_get(x_1, 0); -lean_dec(x_130); -lean_ctor_set(x_1, 1, x_109); -lean_ctor_set(x_1, 0, x_124); -lean_ctor_set(x_122, 0, x_1); -return x_122; -} -else -{ -lean_object* x_131; -lean_dec(x_1); -x_131 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_131, 0, x_124); -lean_ctor_set(x_131, 1, x_109); -lean_ctor_set(x_122, 0, x_131); -return x_122; -} -} -else -{ -size_t x_132; size_t x_133; uint8_t x_134; -x_132 = lean_ptr_addr(x_106); -lean_dec(x_106); -x_133 = lean_ptr_addr(x_124); -x_134 = lean_usize_dec_eq(x_132, x_133); +uint8_t x_134; +x_134 = !lean_is_exclusive(x_1); if (x_134 == 0) { -uint8_t x_135; -x_135 = !lean_is_exclusive(x_1); -if (x_135 == 0) -{ -lean_object* x_136; lean_object* x_137; -x_136 = lean_ctor_get(x_1, 1); +lean_object* x_135; lean_object* x_136; +x_135 = lean_ctor_get(x_1, 1); +lean_dec(x_135); +x_136 = lean_ctor_get(x_1, 0); lean_dec(x_136); -x_137 = lean_ctor_get(x_1, 0); -lean_dec(x_137); -lean_ctor_set(x_1, 1, x_109); -lean_ctor_set(x_1, 0, x_124); -lean_ctor_set(x_122, 0, x_1); -return x_122; +lean_ctor_set(x_1, 1, x_108); +lean_ctor_set(x_1, 0, x_123); +lean_ctor_set(x_121, 0, x_1); +return x_121; } else { -lean_object* x_138; +lean_object* x_137; lean_dec(x_1); -x_138 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_138, 0, x_124); -lean_ctor_set(x_138, 1, x_109); -lean_ctor_set(x_122, 0, x_138); -return x_122; +x_137 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_137, 0, x_123); +lean_ctor_set(x_137, 1, x_108); +lean_ctor_set(x_121, 0, x_137); +return x_121; } } else { -lean_dec(x_124); -lean_dec(x_109); -lean_ctor_set(x_122, 0, x_1); -return x_122; +lean_dec(x_123); +lean_dec(x_108); +lean_ctor_set(x_121, 0, x_1); +return x_121; } } } else { -lean_object* x_139; lean_object* x_140; size_t x_141; size_t x_142; uint8_t x_143; -x_139 = lean_ctor_get(x_122, 0); -x_140 = lean_ctor_get(x_122, 1); -lean_inc(x_140); +lean_object* x_138; lean_object* x_139; size_t x_140; size_t x_141; uint8_t x_142; +x_138 = lean_ctor_get(x_121, 0); +x_139 = lean_ctor_get(x_121, 1); lean_inc(x_139); -lean_dec(x_122); -x_141 = lean_ptr_addr(x_107); -lean_dec(x_107); -x_142 = lean_ptr_addr(x_109); -x_143 = lean_usize_dec_eq(x_141, x_142); -if (x_143 == 0) -{ -lean_object* x_144; lean_object* x_145; lean_object* x_146; +lean_inc(x_138); +lean_dec(x_121); +x_140 = lean_ptr_addr(x_106); lean_dec(x_106); +x_141 = lean_ptr_addr(x_108); +x_142 = lean_usize_dec_eq(x_140, x_141); +if (x_142 == 0) +{ +lean_object* x_143; lean_object* x_144; lean_object* x_145; +lean_dec(x_105); if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); lean_ctor_release(x_1, 1); - x_144 = x_1; + x_143 = x_1; } else { lean_dec_ref(x_1); - x_144 = lean_box(0); + x_143 = lean_box(0); } -if (lean_is_scalar(x_144)) { - x_145 = lean_alloc_ctor(2, 2, 0); +if (lean_is_scalar(x_143)) { + x_144 = lean_alloc_ctor(2, 2, 0); } else { - x_145 = x_144; + x_144 = x_143; } -lean_ctor_set(x_145, 0, x_139); -lean_ctor_set(x_145, 1, x_109); -x_146 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_146, 0, x_145); -lean_ctor_set(x_146, 1, x_140); -return x_146; +lean_ctor_set(x_144, 0, x_138); +lean_ctor_set(x_144, 1, x_108); +x_145 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_145, 0, x_144); +lean_ctor_set(x_145, 1, x_139); +return x_145; } else { -size_t x_147; size_t x_148; uint8_t x_149; -x_147 = lean_ptr_addr(x_106); -lean_dec(x_106); -x_148 = lean_ptr_addr(x_139); -x_149 = lean_usize_dec_eq(x_147, x_148); -if (x_149 == 0) +size_t x_146; size_t x_147; uint8_t x_148; +x_146 = lean_ptr_addr(x_105); +lean_dec(x_105); +x_147 = lean_ptr_addr(x_138); +x_148 = lean_usize_dec_eq(x_146, x_147); +if (x_148 == 0) { -lean_object* x_150; lean_object* x_151; lean_object* x_152; +lean_object* x_149; lean_object* x_150; lean_object* x_151; if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); lean_ctor_release(x_1, 1); - x_150 = x_1; + x_149 = x_1; } else { lean_dec_ref(x_1); - x_150 = lean_box(0); + x_149 = lean_box(0); } -if (lean_is_scalar(x_150)) { - x_151 = lean_alloc_ctor(2, 2, 0); +if (lean_is_scalar(x_149)) { + x_150 = lean_alloc_ctor(2, 2, 0); } else { - x_151 = x_150; + x_150 = x_149; } -lean_ctor_set(x_151, 0, x_139); -lean_ctor_set(x_151, 1, x_109); +lean_ctor_set(x_150, 0, x_138); +lean_ctor_set(x_150, 1, x_108); +x_151 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_151, 0, x_150); +lean_ctor_set(x_151, 1, x_139); +return x_151; +} +else +{ +lean_object* x_152; +lean_dec(x_138); +lean_dec(x_108); x_152 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_152, 0, x_151); -lean_ctor_set(x_152, 1, x_140); +lean_ctor_set(x_152, 0, x_1); +lean_ctor_set(x_152, 1, x_139); return x_152; } -else -{ -lean_object* x_153; -lean_dec(x_139); -lean_dec(x_109); -x_153 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_153, 0, x_1); -lean_ctor_set(x_153, 1, x_140); -return x_153; -} } } } else { -uint8_t x_154; -lean_dec(x_109); -lean_dec(x_107); +uint8_t x_153; +lean_dec(x_108); lean_dec(x_106); +lean_dec(x_105); lean_dec(x_1); -x_154 = !lean_is_exclusive(x_122); -if (x_154 == 0) +x_153 = !lean_is_exclusive(x_121); +if (x_153 == 0) { -return x_122; +return x_121; } else { -lean_object* x_155; lean_object* x_156; lean_object* x_157; -x_155 = lean_ctor_get(x_122, 0); -x_156 = lean_ctor_get(x_122, 1); -lean_inc(x_156); +lean_object* x_154; lean_object* x_155; lean_object* x_156; +x_154 = lean_ctor_get(x_121, 0); +x_155 = lean_ctor_get(x_121, 1); lean_inc(x_155); -lean_dec(x_122); -x_157 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_157, 0, x_155); -lean_ctor_set(x_157, 1, x_156); -return x_157; +lean_inc(x_154); +lean_dec(x_121); +x_156 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_156, 0, x_154); +lean_ctor_set(x_156, 1, x_155); +return x_156; } } } } else { -uint8_t x_158; -lean_dec(x_107); +uint8_t x_157; lean_dec(x_106); +lean_dec(x_105); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_158 = !lean_is_exclusive(x_108); -if (x_158 == 0) +x_157 = !lean_is_exclusive(x_107); +if (x_157 == 0) { -return x_108; +return x_107; } else { -lean_object* x_159; lean_object* x_160; lean_object* x_161; -x_159 = lean_ctor_get(x_108, 0); -x_160 = lean_ctor_get(x_108, 1); -lean_inc(x_160); +lean_object* x_158; lean_object* x_159; lean_object* x_160; +x_158 = lean_ctor_get(x_107, 0); +x_159 = lean_ctor_get(x_107, 1); lean_inc(x_159); -lean_dec(x_108); -x_161 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_161, 0, x_159); -lean_ctor_set(x_161, 1, x_160); -return x_161; +lean_inc(x_158); +lean_dec(x_107); +x_160 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_160, 0, x_158); +lean_ctor_set(x_160, 1, x_159); +return x_160; } } } case 3: { -lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; uint8_t x_169; -x_162 = lean_ctor_get(x_1, 0); +lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; uint8_t x_168; +x_161 = lean_ctor_get(x_1, 0); +lean_inc(x_161); +x_162 = lean_ctor_get(x_1, 1); lean_inc(x_162); -x_163 = lean_ctor_get(x_1, 1); -lean_inc(x_163); -x_164 = lean_st_ref_take(x_2, x_6); -x_165 = lean_ctor_get(x_164, 0); +x_163 = lean_st_ref_take(x_2, x_6); +x_164 = lean_ctor_get(x_163, 0); +lean_inc(x_164); +x_165 = lean_ctor_get(x_163, 1); lean_inc(x_165); -x_166 = lean_ctor_get(x_164, 1); -lean_inc(x_166); -lean_dec(x_164); -x_167 = l_Std_HashSetImp_insert___at_Lean_Compiler_LCNF_collectLocalDecls_go___spec__1(x_165, x_162); -x_168 = lean_st_ref_set(x_2, x_167, x_166); -x_169 = !lean_is_exclusive(x_168); -if (x_169 == 0) +lean_dec(x_163); +x_166 = l_Std_HashSetImp_insert___at_Lean_Compiler_LCNF_collectLocalDecls_go___spec__1(x_164, x_161); +x_167 = lean_st_ref_set(x_2, x_166, x_165); +x_168 = !lean_is_exclusive(x_167); +if (x_168 == 0) +{ +lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; uint8_t x_173; +x_169 = lean_ctor_get(x_167, 1); +x_170 = lean_ctor_get(x_167, 0); +lean_dec(x_170); +x_171 = lean_array_get_size(x_162); +x_172 = lean_unsigned_to_nat(0u); +x_173 = lean_nat_dec_lt(x_172, x_171); +if (x_173 == 0) { -lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; uint8_t x_174; -x_170 = lean_ctor_get(x_168, 1); -x_171 = lean_ctor_get(x_168, 0); lean_dec(x_171); -x_172 = lean_array_get_size(x_163); -x_173 = lean_unsigned_to_nat(0u); -x_174 = lean_nat_dec_lt(x_173, x_172); +lean_dec(x_162); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_ctor_set(x_167, 0, x_1); +return x_167; +} +else +{ +uint8_t x_174; +x_174 = lean_nat_dec_le(x_171, x_171); if (x_174 == 0) { -lean_dec(x_172); -lean_dec(x_163); +lean_dec(x_171); +lean_dec(x_162); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -lean_ctor_set(x_168, 0, x_1); -return x_168; +lean_ctor_set(x_167, 0, x_1); +return x_167; } else { -uint8_t x_175; -x_175 = lean_nat_dec_le(x_172, x_172); -if (x_175 == 0) -{ -lean_dec(x_172); -lean_dec(x_163); +size_t x_175; size_t x_176; lean_object* x_177; lean_object* x_178; uint8_t x_179; +lean_free_object(x_167); +x_175 = 0; +x_176 = lean_usize_of_nat(x_171); +lean_dec(x_171); +x_177 = lean_box(0); +x_178 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_ElimDead_elimDead___spec__2(x_162, x_175, x_176, x_177, x_2, x_3, x_4, x_5, x_169); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -lean_ctor_set(x_168, 0, x_1); -return x_168; +lean_dec(x_162); +x_179 = !lean_is_exclusive(x_178); +if (x_179 == 0) +{ +lean_object* x_180; +x_180 = lean_ctor_get(x_178, 0); +lean_dec(x_180); +lean_ctor_set(x_178, 0, x_1); +return x_178; } else { -size_t x_176; size_t x_177; lean_object* x_178; lean_object* x_179; uint8_t x_180; -lean_free_object(x_168); -x_176 = 0; -x_177 = lean_usize_of_nat(x_172); -lean_dec(x_172); -x_178 = lean_box(0); -x_179 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_ElimDead_elimDead___spec__2(x_163, x_176, x_177, x_178, x_2, x_3, x_4, x_5, x_170); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_163); -x_180 = !lean_is_exclusive(x_179); -if (x_180 == 0) -{ -lean_object* x_181; -x_181 = lean_ctor_get(x_179, 0); -lean_dec(x_181); -lean_ctor_set(x_179, 0, x_1); -return x_179; -} -else -{ -lean_object* x_182; lean_object* x_183; -x_182 = lean_ctor_get(x_179, 1); -lean_inc(x_182); -lean_dec(x_179); -x_183 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_183, 0, x_1); -lean_ctor_set(x_183, 1, x_182); -return x_183; +lean_object* x_181; lean_object* x_182; +x_181 = lean_ctor_get(x_178, 1); +lean_inc(x_181); +lean_dec(x_178); +x_182 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_182, 0, x_1); +lean_ctor_set(x_182, 1, x_181); +return x_182; } } } } else { -lean_object* x_184; lean_object* x_185; lean_object* x_186; uint8_t x_187; -x_184 = lean_ctor_get(x_168, 1); -lean_inc(x_184); -lean_dec(x_168); -x_185 = lean_array_get_size(x_163); -x_186 = lean_unsigned_to_nat(0u); -x_187 = lean_nat_dec_lt(x_186, x_185); -if (x_187 == 0) +lean_object* x_183; lean_object* x_184; lean_object* x_185; uint8_t x_186; +x_183 = lean_ctor_get(x_167, 1); +lean_inc(x_183); +lean_dec(x_167); +x_184 = lean_array_get_size(x_162); +x_185 = lean_unsigned_to_nat(0u); +x_186 = lean_nat_dec_lt(x_185, x_184); +if (x_186 == 0) { -lean_object* x_188; -lean_dec(x_185); -lean_dec(x_163); +lean_object* x_187; +lean_dec(x_184); +lean_dec(x_162); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_188 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_188, 0, x_1); -lean_ctor_set(x_188, 1, x_184); -return x_188; +x_187 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_187, 0, x_1); +lean_ctor_set(x_187, 1, x_183); +return x_187; } else { -uint8_t x_189; -x_189 = lean_nat_dec_le(x_185, x_185); -if (x_189 == 0) +uint8_t x_188; +x_188 = lean_nat_dec_le(x_184, x_184); +if (x_188 == 0) { -lean_object* x_190; -lean_dec(x_185); -lean_dec(x_163); +lean_object* x_189; +lean_dec(x_184); +lean_dec(x_162); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_190 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_190, 0, x_1); -lean_ctor_set(x_190, 1, x_184); -return x_190; +x_189 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_189, 0, x_1); +lean_ctor_set(x_189, 1, x_183); +return x_189; } else { -size_t x_191; size_t x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; -x_191 = 0; -x_192 = lean_usize_of_nat(x_185); -lean_dec(x_185); -x_193 = lean_box(0); -x_194 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_ElimDead_elimDead___spec__2(x_163, x_191, x_192, x_193, x_2, x_3, x_4, x_5, x_184); +size_t x_190; size_t x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; +x_190 = 0; +x_191 = lean_usize_of_nat(x_184); +lean_dec(x_184); +x_192 = lean_box(0); +x_193 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_ElimDead_elimDead___spec__2(x_162, x_190, x_191, x_192, x_2, x_3, x_4, x_5, x_183); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -lean_dec(x_163); -x_195 = lean_ctor_get(x_194, 1); -lean_inc(x_195); -if (lean_is_exclusive(x_194)) { - lean_ctor_release(x_194, 0); - lean_ctor_release(x_194, 1); - x_196 = x_194; +lean_dec(x_162); +x_194 = lean_ctor_get(x_193, 1); +lean_inc(x_194); +if (lean_is_exclusive(x_193)) { + lean_ctor_release(x_193, 0); + lean_ctor_release(x_193, 1); + x_195 = x_193; } else { - lean_dec_ref(x_194); - x_196 = lean_box(0); + lean_dec_ref(x_193); + x_195 = lean_box(0); } -if (lean_is_scalar(x_196)) { - x_197 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_195)) { + x_196 = lean_alloc_ctor(0, 2, 0); } else { - x_197 = x_196; + x_196 = x_195; } -lean_ctor_set(x_197, 0, x_1); -lean_ctor_set(x_197, 1, x_195); -return x_197; +lean_ctor_set(x_196, 0, x_1); +lean_ctor_set(x_196, 1, x_194); +return x_196; } } } } case 4: { -lean_object* x_198; uint8_t x_199; -x_198 = lean_ctor_get(x_1, 0); -lean_inc(x_198); -x_199 = !lean_is_exclusive(x_198); -if (x_199 == 0) +lean_object* x_197; uint8_t x_198; +x_197 = lean_ctor_get(x_1, 0); +lean_inc(x_197); +x_198 = !lean_is_exclusive(x_197); +if (x_198 == 0) { -lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; -x_200 = lean_ctor_get(x_198, 0); -x_201 = lean_ctor_get(x_198, 1); -x_202 = lean_ctor_get(x_198, 2); -x_203 = lean_ctor_get(x_198, 3); -x_204 = l_Lean_Compiler_LCNF_ElimDead_elimDead___closed__1; +lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; +x_199 = lean_ctor_get(x_197, 0); +x_200 = lean_ctor_get(x_197, 1); +x_201 = lean_ctor_get(x_197, 2); +x_202 = lean_ctor_get(x_197, 3); +x_203 = l_Lean_Compiler_LCNF_ElimDead_elimDead___closed__1; lean_inc(x_2); -lean_inc(x_203); -x_205 = l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_ElimDead_elimDead___spec__3(x_203, x_204, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_205) == 0) -{ -lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; uint8_t x_213; -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 = lean_st_ref_take(x_2, x_207); -x_209 = lean_ctor_get(x_208, 0); -lean_inc(x_209); -x_210 = lean_ctor_get(x_208, 1); -lean_inc(x_210); -lean_dec(x_208); lean_inc(x_202); -x_211 = l_Std_HashSetImp_insert___at_Lean_Compiler_LCNF_collectLocalDecls_go___spec__1(x_209, x_202); -x_212 = lean_st_ref_set(x_2, x_211, x_210); -lean_dec(x_2); -x_213 = !lean_is_exclusive(x_212); -if (x_213 == 0) +x_204 = l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_ElimDead_elimDead___spec__3(x_202, x_203, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_204) == 0) { -lean_object* x_214; size_t x_215; size_t x_216; uint8_t x_217; -x_214 = lean_ctor_get(x_212, 0); -lean_dec(x_214); -x_215 = lean_ptr_addr(x_203); -lean_dec(x_203); -x_216 = lean_ptr_addr(x_206); -x_217 = lean_usize_dec_eq(x_215, x_216); +lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; uint8_t x_212; +x_205 = lean_ctor_get(x_204, 0); +lean_inc(x_205); +x_206 = lean_ctor_get(x_204, 1); +lean_inc(x_206); +lean_dec(x_204); +x_207 = lean_st_ref_take(x_2, x_206); +x_208 = lean_ctor_get(x_207, 0); +lean_inc(x_208); +x_209 = lean_ctor_get(x_207, 1); +lean_inc(x_209); +lean_dec(x_207); +lean_inc(x_201); +x_210 = l_Std_HashSetImp_insert___at_Lean_Compiler_LCNF_collectLocalDecls_go___spec__1(x_208, x_201); +x_211 = lean_st_ref_set(x_2, x_210, x_209); +lean_dec(x_2); +x_212 = !lean_is_exclusive(x_211); +if (x_212 == 0) +{ +lean_object* x_213; size_t x_214; size_t x_215; uint8_t x_216; +x_213 = lean_ctor_get(x_211, 0); +lean_dec(x_213); +x_214 = lean_ptr_addr(x_202); +lean_dec(x_202); +x_215 = lean_ptr_addr(x_205); +x_216 = lean_usize_dec_eq(x_214, x_215); +if (x_216 == 0) +{ +uint8_t x_217; +x_217 = !lean_is_exclusive(x_1); if (x_217 == 0) { -uint8_t x_218; -x_218 = !lean_is_exclusive(x_1); -if (x_218 == 0) +lean_object* x_218; +x_218 = lean_ctor_get(x_1, 0); +lean_dec(x_218); +lean_ctor_set(x_197, 3, x_205); +lean_ctor_set(x_211, 0, x_1); +return x_211; +} +else { lean_object* x_219; -x_219 = lean_ctor_get(x_1, 0); -lean_dec(x_219); -lean_ctor_set(x_198, 3, x_206); -lean_ctor_set(x_212, 0, x_1); -return x_212; -} -else -{ -lean_object* x_220; lean_dec(x_1); -lean_ctor_set(x_198, 3, x_206); -x_220 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_220, 0, x_198); -lean_ctor_set(x_212, 0, x_220); -return x_212; +lean_ctor_set(x_197, 3, x_205); +x_219 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_219, 0, x_197); +lean_ctor_set(x_211, 0, x_219); +return x_211; } } else { -lean_dec(x_206); -lean_free_object(x_198); -lean_dec(x_202); +lean_dec(x_205); +lean_free_object(x_197); lean_dec(x_201); lean_dec(x_200); -lean_ctor_set(x_212, 0, x_1); -return x_212; +lean_dec(x_199); +lean_ctor_set(x_211, 0, x_1); +return x_211; } } else { -lean_object* x_221; size_t x_222; size_t x_223; uint8_t x_224; -x_221 = lean_ctor_get(x_212, 1); -lean_inc(x_221); -lean_dec(x_212); -x_222 = lean_ptr_addr(x_203); -lean_dec(x_203); -x_223 = lean_ptr_addr(x_206); -x_224 = lean_usize_dec_eq(x_222, x_223); -if (x_224 == 0) +lean_object* x_220; size_t x_221; size_t x_222; uint8_t x_223; +x_220 = lean_ctor_get(x_211, 1); +lean_inc(x_220); +lean_dec(x_211); +x_221 = lean_ptr_addr(x_202); +lean_dec(x_202); +x_222 = lean_ptr_addr(x_205); +x_223 = lean_usize_dec_eq(x_221, x_222); +if (x_223 == 0) { -lean_object* x_225; lean_object* x_226; lean_object* x_227; +lean_object* x_224; lean_object* x_225; lean_object* x_226; if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); - x_225 = x_1; + x_224 = x_1; } else { lean_dec_ref(x_1); - x_225 = lean_box(0); + x_224 = lean_box(0); } -lean_ctor_set(x_198, 3, x_206); -if (lean_is_scalar(x_225)) { - x_226 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_197, 3, x_205); +if (lean_is_scalar(x_224)) { + x_225 = lean_alloc_ctor(4, 1, 0); } else { - x_226 = x_225; + x_225 = x_224; } -lean_ctor_set(x_226, 0, x_198); +lean_ctor_set(x_225, 0, x_197); +x_226 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_226, 0, x_225); +lean_ctor_set(x_226, 1, x_220); +return x_226; +} +else +{ +lean_object* x_227; +lean_dec(x_205); +lean_free_object(x_197); +lean_dec(x_201); +lean_dec(x_200); +lean_dec(x_199); x_227 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_227, 0, x_226); -lean_ctor_set(x_227, 1, x_221); +lean_ctor_set(x_227, 0, x_1); +lean_ctor_set(x_227, 1, x_220); return x_227; } -else -{ -lean_object* x_228; -lean_dec(x_206); -lean_free_object(x_198); -lean_dec(x_202); -lean_dec(x_201); -lean_dec(x_200); -x_228 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_228, 0, x_1); -lean_ctor_set(x_228, 1, x_221); -return x_228; -} } } else { -uint8_t x_229; -lean_free_object(x_198); -lean_dec(x_203); +uint8_t x_228; +lean_free_object(x_197); lean_dec(x_202); lean_dec(x_201); lean_dec(x_200); +lean_dec(x_199); lean_dec(x_2); lean_dec(x_1); -x_229 = !lean_is_exclusive(x_205); -if (x_229 == 0) +x_228 = !lean_is_exclusive(x_204); +if (x_228 == 0) { -return x_205; +return x_204; } else { -lean_object* x_230; lean_object* x_231; lean_object* x_232; -x_230 = lean_ctor_get(x_205, 0); -x_231 = lean_ctor_get(x_205, 1); -lean_inc(x_231); +lean_object* x_229; lean_object* x_230; lean_object* x_231; +x_229 = lean_ctor_get(x_204, 0); +x_230 = lean_ctor_get(x_204, 1); lean_inc(x_230); -lean_dec(x_205); -x_232 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_232, 0, x_230); -lean_ctor_set(x_232, 1, x_231); -return x_232; +lean_inc(x_229); +lean_dec(x_204); +x_231 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_231, 0, x_229); +lean_ctor_set(x_231, 1, x_230); +return x_231; } } } else { -lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; -x_233 = lean_ctor_get(x_198, 0); -x_234 = lean_ctor_get(x_198, 1); -x_235 = lean_ctor_get(x_198, 2); -x_236 = lean_ctor_get(x_198, 3); -lean_inc(x_236); +lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; +x_232 = lean_ctor_get(x_197, 0); +x_233 = lean_ctor_get(x_197, 1); +x_234 = lean_ctor_get(x_197, 2); +x_235 = lean_ctor_get(x_197, 3); lean_inc(x_235); lean_inc(x_234); lean_inc(x_233); -lean_dec(x_198); -x_237 = l_Lean_Compiler_LCNF_ElimDead_elimDead___closed__1; +lean_inc(x_232); +lean_dec(x_197); +x_236 = l_Lean_Compiler_LCNF_ElimDead_elimDead___closed__1; lean_inc(x_2); -lean_inc(x_236); -x_238 = l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_ElimDead_elimDead___spec__3(x_236, x_237, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_238) == 0) -{ -lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; size_t x_248; size_t x_249; uint8_t x_250; -x_239 = lean_ctor_get(x_238, 0); -lean_inc(x_239); -x_240 = lean_ctor_get(x_238, 1); -lean_inc(x_240); -lean_dec(x_238); -x_241 = lean_st_ref_take(x_2, x_240); -x_242 = lean_ctor_get(x_241, 0); -lean_inc(x_242); -x_243 = lean_ctor_get(x_241, 1); -lean_inc(x_243); -lean_dec(x_241); lean_inc(x_235); -x_244 = l_Std_HashSetImp_insert___at_Lean_Compiler_LCNF_collectLocalDecls_go___spec__1(x_242, x_235); -x_245 = lean_st_ref_set(x_2, x_244, x_243); -lean_dec(x_2); -x_246 = lean_ctor_get(x_245, 1); -lean_inc(x_246); -if (lean_is_exclusive(x_245)) { - lean_ctor_release(x_245, 0); - lean_ctor_release(x_245, 1); - x_247 = x_245; -} else { - lean_dec_ref(x_245); - x_247 = lean_box(0); -} -x_248 = lean_ptr_addr(x_236); -lean_dec(x_236); -x_249 = lean_ptr_addr(x_239); -x_250 = lean_usize_dec_eq(x_248, x_249); -if (x_250 == 0) +x_237 = l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_ElimDead_elimDead___spec__3(x_235, x_236, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_237) == 0) { -lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; +lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; size_t x_247; size_t x_248; uint8_t x_249; +x_238 = lean_ctor_get(x_237, 0); +lean_inc(x_238); +x_239 = lean_ctor_get(x_237, 1); +lean_inc(x_239); +lean_dec(x_237); +x_240 = lean_st_ref_take(x_2, x_239); +x_241 = lean_ctor_get(x_240, 0); +lean_inc(x_241); +x_242 = lean_ctor_get(x_240, 1); +lean_inc(x_242); +lean_dec(x_240); +lean_inc(x_234); +x_243 = l_Std_HashSetImp_insert___at_Lean_Compiler_LCNF_collectLocalDecls_go___spec__1(x_241, x_234); +x_244 = lean_st_ref_set(x_2, x_243, x_242); +lean_dec(x_2); +x_245 = lean_ctor_get(x_244, 1); +lean_inc(x_245); +if (lean_is_exclusive(x_244)) { + lean_ctor_release(x_244, 0); + lean_ctor_release(x_244, 1); + x_246 = x_244; +} else { + lean_dec_ref(x_244); + x_246 = lean_box(0); +} +x_247 = lean_ptr_addr(x_235); +lean_dec(x_235); +x_248 = lean_ptr_addr(x_238); +x_249 = lean_usize_dec_eq(x_247, x_248); +if (x_249 == 0) +{ +lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); - x_251 = x_1; + x_250 = x_1; } else { lean_dec_ref(x_1); - x_251 = lean_box(0); + x_250 = lean_box(0); } -x_252 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_252, 0, x_233); -lean_ctor_set(x_252, 1, x_234); -lean_ctor_set(x_252, 2, x_235); -lean_ctor_set(x_252, 3, x_239); -if (lean_is_scalar(x_251)) { - x_253 = lean_alloc_ctor(4, 1, 0); +x_251 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_251, 0, x_232); +lean_ctor_set(x_251, 1, x_233); +lean_ctor_set(x_251, 2, x_234); +lean_ctor_set(x_251, 3, x_238); +if (lean_is_scalar(x_250)) { + x_252 = lean_alloc_ctor(4, 1, 0); } else { - x_253 = x_251; + x_252 = x_250; +} +lean_ctor_set(x_252, 0, x_251); +if (lean_is_scalar(x_246)) { + x_253 = lean_alloc_ctor(0, 2, 0); +} else { + x_253 = x_246; } lean_ctor_set(x_253, 0, x_252); -if (lean_is_scalar(x_247)) { +lean_ctor_set(x_253, 1, x_245); +return x_253; +} +else +{ +lean_object* x_254; +lean_dec(x_238); +lean_dec(x_234); +lean_dec(x_233); +lean_dec(x_232); +if (lean_is_scalar(x_246)) { x_254 = lean_alloc_ctor(0, 2, 0); } else { - x_254 = x_247; + x_254 = x_246; } -lean_ctor_set(x_254, 0, x_253); -lean_ctor_set(x_254, 1, x_246); +lean_ctor_set(x_254, 0, x_1); +lean_ctor_set(x_254, 1, x_245); return x_254; } -else -{ -lean_object* x_255; -lean_dec(x_239); -lean_dec(x_235); -lean_dec(x_234); -lean_dec(x_233); -if (lean_is_scalar(x_247)) { - x_255 = lean_alloc_ctor(0, 2, 0); -} else { - x_255 = x_247; -} -lean_ctor_set(x_255, 0, x_1); -lean_ctor_set(x_255, 1, x_246); -return x_255; -} } else { -lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; -lean_dec(x_236); +lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_dec(x_235); lean_dec(x_234); lean_dec(x_233); +lean_dec(x_232); lean_dec(x_2); lean_dec(x_1); -x_256 = lean_ctor_get(x_238, 0); +x_255 = lean_ctor_get(x_237, 0); +lean_inc(x_255); +x_256 = lean_ctor_get(x_237, 1); lean_inc(x_256); -x_257 = lean_ctor_get(x_238, 1); -lean_inc(x_257); -if (lean_is_exclusive(x_238)) { - lean_ctor_release(x_238, 0); - lean_ctor_release(x_238, 1); - x_258 = x_238; +if (lean_is_exclusive(x_237)) { + lean_ctor_release(x_237, 0); + lean_ctor_release(x_237, 1); + x_257 = x_237; } else { - lean_dec_ref(x_238); - x_258 = lean_box(0); + lean_dec_ref(x_237); + x_257 = lean_box(0); } -if (lean_is_scalar(x_258)) { - x_259 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_257)) { + x_258 = lean_alloc_ctor(1, 2, 0); } else { - x_259 = x_258; + x_258 = x_257; } -lean_ctor_set(x_259, 0, x_256); -lean_ctor_set(x_259, 1, x_257); -return x_259; +lean_ctor_set(x_258, 0, x_255); +lean_ctor_set(x_258, 1, x_256); +return x_258; } } } case 5: { -lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; uint8_t x_266; +lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; uint8_t x_265; lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_260 = lean_ctor_get(x_1, 0); -lean_inc(x_260); -x_261 = lean_st_ref_take(x_2, x_6); -x_262 = lean_ctor_get(x_261, 0); +x_259 = lean_ctor_get(x_1, 0); +lean_inc(x_259); +x_260 = lean_st_ref_take(x_2, x_6); +x_261 = lean_ctor_get(x_260, 0); +lean_inc(x_261); +x_262 = lean_ctor_get(x_260, 1); lean_inc(x_262); -x_263 = lean_ctor_get(x_261, 1); -lean_inc(x_263); -lean_dec(x_261); -x_264 = l_Std_HashSetImp_insert___at_Lean_Compiler_LCNF_collectLocalDecls_go___spec__1(x_262, x_260); -x_265 = lean_st_ref_set(x_2, x_264, x_263); +lean_dec(x_260); +x_263 = l_Std_HashSetImp_insert___at_Lean_Compiler_LCNF_collectLocalDecls_go___spec__1(x_261, x_259); +x_264 = lean_st_ref_set(x_2, x_263, x_262); lean_dec(x_2); -x_266 = !lean_is_exclusive(x_265); -if (x_266 == 0) +x_265 = !lean_is_exclusive(x_264); +if (x_265 == 0) { -lean_object* x_267; -x_267 = lean_ctor_get(x_265, 0); -lean_dec(x_267); -lean_ctor_set(x_265, 0, x_1); -return x_265; +lean_object* x_266; +x_266 = lean_ctor_get(x_264, 0); +lean_dec(x_266); +lean_ctor_set(x_264, 0, x_1); +return x_264; } else { -lean_object* x_268; lean_object* x_269; -x_268 = lean_ctor_get(x_265, 1); -lean_inc(x_268); -lean_dec(x_265); -x_269 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_269, 0, x_1); -lean_ctor_set(x_269, 1, x_268); -return x_269; +lean_object* x_267; lean_object* x_268; +x_267 = lean_ctor_get(x_264, 1); +lean_inc(x_267); +lean_dec(x_264); +x_268 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_268, 0, x_1); +lean_ctor_set(x_268, 1, x_267); +return x_268; } } default: { -lean_object* x_270; +lean_object* x_269; lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_270 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_270, 0, x_1); -lean_ctor_set(x_270, 1, x_6); -return x_270; +x_269 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_269, 0, x_1); +lean_ctor_set(x_269, 1, x_6); +return x_269; } } } diff --git a/stage0/stdlib/Lean/Compiler/LCNF/InferType.c b/stage0/stdlib/Lean/Compiler/LCNF/InferType.c index 51b74b01e0..12d07c78a7 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/InferType.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/InferType.c @@ -14,11 +14,9 @@ extern "C" { #endif LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_mkForallParams___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__2; lean_object* l_Lean_addMessageContextPartial___at_Lean_Core_instAddMessageContextCoreM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_add(size_t, size_t); static lean_object* l_Lean_Compiler_LCNF_InferType_mkForallParams___closed__1; -LEAN_EXPORT lean_object* l_panic___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); extern lean_object* l_Lean_Compiler_LCNF_anyTypeExpr; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_InferType_inferForallType_go___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -26,11 +24,10 @@ lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_Compiler_LCNF_instantiateLCNFTypeLevelParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); lean_object* l_Lean_Expr_forallE___override(lean_object*, lean_object*, lean_object*, uint8_t); -LEAN_EXPORT lean_object* l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_userName(lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_InferType_inferAppTypeCore___spec__2___lambda__1___closed__5; static lean_object* l_Lean_Compiler_LCNF_InferType_inferConstType___closed__3; -static lean_object* l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__8; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_getBinderName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_inferLambdaType_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_uget(lean_object*, size_t); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_mkLcCast(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -39,29 +36,32 @@ LEAN_EXPORT lean_object* l_Lean_mkFreshId___at_Lean_Compiler_LCNF_InferType_with lean_object* l_Lean_Level_succ___override(lean_object*); static lean_object* l_Lean_Compiler_LCNF_InferType_getLevel_x3f___closed__2; static lean_object* l_Lean_Compiler_LCNF_InferType_inferAppType___closed__1; -static lean_object* l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__1; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_getType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_inferAppTypeCore___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_array_uset(lean_object*, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instantiateForall(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_InferType_inferForallType_go___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkFreshFVarId___at_Lean_Compiler_LCNF_InferType_withLocalDecl___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_getConstInfo___at_Lean_Compiler_LCNF_InferType_inferProjType___spec__1___closed__3; -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_inferFVarType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_environment_find(lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); +static lean_object* l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__2; LEAN_EXPORT lean_object* l_Subarray_forInUnsafe_loop___at_Lean_Compiler_LCNF_mkCasesResultType___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_mkCasesResultType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_expr_instantiate1(lean_object*, lean_object*); lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_mkCasesResultType___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_InferType_inferForallType_go___spec__9(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_instantiateForall_go___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_InferType_inferForallType_go___spec__8(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_InferType_getLevel_x3f___closed__1; static lean_object* l_Lean_Compiler_LCNF_InferType_mkForallParams___closed__2; +static lean_object* l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__1; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_InferType_inferForallType_go___spec__2(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_usize_dec_lt(size_t, size_t); static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_InferType_inferAppTypeCore___spec__2___lambda__1___closed__3; @@ -69,8 +69,6 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_inferType(lean_object*, lean_ extern lean_object* l_Lean_levelZero; lean_object* lean_nat_add(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Compiler_LCNF_InferType_inferProjType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__6; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_InferType_inferForallType_go___spec__7(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_getLevel___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkAppN(lean_object*, lean_object*); @@ -80,7 +78,6 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_inferParamType(lean_object*, lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Literal_type(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_InferType_inferForallType_go___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__3; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_InferType_inferForallType_go___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_InferType_inferForallType_go___spec__6(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); @@ -97,7 +94,6 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_mkForallFVars___boxed(le lean_object* lean_nat_sub(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_InferType_inferProjType___spec__3___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_Expr_headBeta(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_inferFVarType___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instantiateForall_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_num___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_InferType_inferAppTypeCore___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*); @@ -106,14 +102,12 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_inferType(lean_object*, lean_objec lean_object* l_Lean_Expr_fvarId_x21(lean_object*); static lean_object* l_Lean_Compiler_LCNF_InferType_inferConstType___closed__4; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_inferForallType_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_instInhabited___rarg(lean_object*, lean_object*); lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instantiateForall___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_panic___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_withLocalDecl___rarg(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instantiateForall_go___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_panic___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__1; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_getBinderName___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_instantiateForall_go___closed__1; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_InferType_inferForallType_go___spec__11(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_expr_abstract_range(lean_object*, lean_object*, lean_object*); @@ -125,18 +119,15 @@ static lean_object* l_Lean_Compiler_LCNF_InferType_mkForallParams___closed__5; lean_object* l_Lean_Compiler_LCNF_mkLetDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_InferType_inferConstType___closed__2; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_getLevel_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__4; -extern lean_object* l_Lean_instInhabitedExpr; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_inferAppTypeCore(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_AltCore_inferType___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__7; lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_inferType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Array_isEmpty___rarg(lean_object*); -static lean_object* l_panic___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__3; static lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_InferType_inferType___spec__1___closed__4; static lean_object* l_Lean_Compiler_LCNF_instantiateForall_go___closed__2; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_inferAppType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Compiler_LCNF_getBinderName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_InferType_inferProjType___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_inferLambdaType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_of_nat(lean_object*); @@ -146,7 +137,6 @@ LEAN_EXPORT lean_object* l_Subarray_forInUnsafe_loop___at_Lean_Compiler_LCNF_mkC static lean_object* l_Lean_Compiler_LCNF_InferType_mkForallParams___closed__7; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_mkAuxLetDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_mkLcCast___closed__1; -static lean_object* l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__5; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_mkCasesResultType___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_inferForallType_go___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_type(lean_object*); @@ -176,8 +166,6 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_inferConstType(lean_obje lean_object* l_Lean_Compiler_LCNF_AltCore_getCode(lean_object*); LEAN_EXPORT lean_object* l_Lean_mkFreshId___at_Lean_Compiler_LCNF_InferType_withLocalDecl___spec__2___rarg___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkFreshId___at_Lean_Compiler_LCNF_InferType_withLocalDecl___spec__2___rarg(lean_object*, lean_object*); -lean_object* l_instInhabitedReaderT___rarg___boxed(lean_object*, lean_object*); -extern lean_object* l_Lean_Core_instMonadCoreM; static lean_object* l_Lean_Compiler_LCNF_InferType_inferLambdaType___closed__1; static lean_object* l_Lean_Compiler_LCNF_InferType_inferType___closed__6; lean_object* l_Lean_Compiler_LCNF_mkFreshBinderName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -189,6 +177,7 @@ LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_mkCasesResult LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_InferType_inferProjType___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_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_mkForallFVars(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_Compiler_LCNF_getType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_InferType_inferType___closed__2; uint8_t l_Lean_Expr_isAnyType(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_inferProjType___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -201,7 +190,6 @@ LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_InferTyp lean_object* lean_expr_instantiate_rev(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_AltCore_inferType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_inferForallType_go___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* lean_panic_fn(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_inferProjType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_hasLooseBVars(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_withLocalDecl(lean_object*); @@ -220,9 +208,9 @@ static lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_InferType_inferTyp static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_InferType_inferAppTypeCore___spec__2___lambda__1___closed__2; static lean_object* l_Lean_getConstInfo___at_Lean_Compiler_LCNF_InferType_inferProjType___spec__1___closed__2; lean_object* l_Lean_Expr_proj___override(lean_object*, lean_object*, lean_object*); -lean_object* l_ReaderT_instMonadReaderT___rarg(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_InferType_inferForallType_go___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_InferType_inferForallType_go___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__4; static lean_object* l_Lean_Compiler_LCNF_InferType_inferType___closed__4; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_instantiateForall_go___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_InferType_inferForallType_go___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -230,29 +218,28 @@ LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_InferType_get LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_InferType_inferForallType_go___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_Expr_getAppFn(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_mkAuxJpDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_getLocalDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_withLocalDecl___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_local_ctx_find(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_inferAppTypeCore___lambda__1(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_levelOne; static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_InferType_inferAppTypeCore___spec__2___lambda__1___closed__6; -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_getLocalDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_indentExpr(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_InferType_inferForallType_go___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_panic___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltImp___spec__1(lean_object*); static lean_object* l_Lean_getConstInfo___at_Lean_Compiler_LCNF_InferType_inferProjType___spec__1___closed__4; static lean_object* l_Lean_Compiler_LCNF_mkAuxJpDecl_x27___closed__1; +static lean_object* l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__3; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_getType___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_InferType_inferType___spec__1___closed__2; static lean_object* l_Lean_getConstInfo___at_Lean_Compiler_LCNF_InferType_inferProjType___spec__1___closed__1; static lean_object* l_Lean_Compiler_LCNF_InferType_inferType___closed__3; lean_object* l_Lean_mkApp3(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_InferType_inferType___spec__1___closed__1; -lean_object* l_Lean_Compiler_LCNF_getLocalDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_InferType_getLevel_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_InferType_inferType___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_InferType_inferForallType_go___spec__10(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_getLocalDecl(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_getBinderName(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; @@ -261,74 +248,76 @@ x_7 = lean_local_ctx_find(x_2, x_1); if (lean_obj_tag(x_7) == 0) { lean_object* x_8; -x_8 = l_Lean_Compiler_LCNF_getLocalDecl(x_1, x_3, x_4, x_5, x_6); +x_8 = l_Lean_Compiler_LCNF_getBinderName(x_1, x_3, x_4, x_5, x_6); return x_8; } else { -lean_object* x_9; lean_object* x_10; +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_dec(x_1); x_9 = lean_ctor_get(x_7, 0); lean_inc(x_9); lean_dec(x_7); -x_10 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_10, 0, x_9); -lean_ctor_set(x_10, 1, x_6); -return x_10; +x_10 = l_Lean_LocalDecl_userName(x_9); +lean_dec(x_9); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_10); +lean_ctor_set(x_11, 1, x_6); +return x_11; } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_getLocalDecl___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_getBinderName___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; -x_7 = l_Lean_Compiler_LCNF_InferType_getLocalDecl(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_Compiler_LCNF_InferType_getBinderName(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; } } -static lean_object* _init_l_panic___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__1() { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_getType(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_1; lean_object* x_2; -x_1 = l_Lean_Core_instMonadCoreM; -x_2 = l_ReaderT_instMonadReaderT___rarg(x_1); -return x_2; +lean_object* x_7; +lean_inc(x_1); +x_7 = lean_local_ctx_find(x_2, x_1); +if (lean_obj_tag(x_7) == 0) +{ +lean_object* x_8; +x_8 = l_Lean_Compiler_LCNF_getType(x_1, x_3, x_4, x_5, x_6); +return x_8; +} +else +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; +lean_dec(x_1); +x_9 = lean_ctor_get(x_7, 0); +lean_inc(x_9); +lean_dec(x_7); +x_10 = l_Lean_LocalDecl_type(x_9); +lean_dec(x_9); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_10); +lean_ctor_set(x_11, 1, x_6); +return x_11; } } -static lean_object* _init_l_panic___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__2() { +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_getType___boxed(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_1; lean_object* x_2; lean_object* x_3; -x_1 = l_panic___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__1; -x_2 = l_Lean_instInhabitedExpr; -x_3 = l_instInhabited___rarg(x_1, x_2); -return x_3; +lean_object* x_7; +x_7 = l_Lean_Compiler_LCNF_InferType_getType(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; } } -static lean_object* _init_l_panic___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_panic___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__2; -x_2 = lean_alloc_closure((void*)(l_instInhabitedReaderT___rarg___boxed), 2, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; -} -} -LEAN_EXPORT lean_object* l_panic___at_Lean_Compiler_LCNF_InferType_mkForallFVars___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; lean_object* x_9; -x_7 = l_panic___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__3; -x_8 = lean_panic_fn(x_7, x_1); -x_9 = lean_apply_5(x_8, x_2, x_3, x_4, x_5, x_6); -return x_9; -} -} -static lean_object* _init_l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__1() { +static lean_object* _init_l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__1() { _start: { lean_object* x_1; @@ -336,7 +325,7 @@ x_1 = lean_mk_string_from_bytes("Init.Util", 9); return x_1; } } -static lean_object* _init_l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__2() { +static lean_object* _init_l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__2() { _start: { lean_object* x_1; @@ -344,7 +333,7 @@ x_1 = lean_mk_string_from_bytes("getElem!", 8); return x_1; } } -static lean_object* _init_l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__3() { +static lean_object* _init_l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__3() { _start: { lean_object* x_1; @@ -352,57 +341,20 @@ x_1 = lean_mk_string_from_bytes("index out of bounds", 19); return x_1; } } -static lean_object* _init_l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__4() { +static lean_object* _init_l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__1; -x_2 = l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__2; +x_1 = l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__1; +x_2 = l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__2; x_3 = lean_unsigned_to_nat(77u); x_4 = lean_unsigned_to_nat(36u); -x_5 = l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__3; +x_5 = l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__5() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("Lean.Compiler.LCNF.InferType", 28); -return x_1; -} -} -static lean_object* _init_l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__6() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("Lean.Compiler.LCNF.InferType.mkForallFVars", 42); -return x_1; -} -} -static lean_object* _init_l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__7() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("unreachable code has been reached", 33); -return x_1; -} -} -static lean_object* _init_l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__8() { -_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_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__5; -x_2 = l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__6; -x_3 = lean_unsigned_to_nat(33u); -x_4 = lean_unsigned_to_nat(53u); -x_5 = l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__7; -x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); -return x_6; -} -} -LEAN_EXPORT lean_object* l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; uint8_t x_10; @@ -420,251 +372,192 @@ lean_dec(x_13); if (x_14 == 0) { lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_15 = l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__4; +x_15 = l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__4; x_16 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_15); x_17 = l_Lean_Expr_fvarId_x21(x_16); lean_inc(x_4); -x_18 = l_Lean_Compiler_LCNF_InferType_getLocalDecl(x_17, x_4, x_5, x_6, x_7, x_8); +lean_inc(x_17); +x_18 = l_Lean_Compiler_LCNF_InferType_getBinderName(x_17, x_4, x_5, x_6, x_7, x_8); if (lean_obj_tag(x_18) == 0) { -lean_object* x_19; +lean_object* x_19; lean_object* x_20; lean_object* x_21; x_19 = lean_ctor_get(x_18, 0); lean_inc(x_19); -if (lean_obj_tag(x_19) == 0) -{ -lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; x_20 = lean_ctor_get(x_18, 1); lean_inc(x_20); lean_dec(x_18); -x_21 = lean_ctor_get(x_19, 2); -lean_inc(x_21); -x_22 = lean_ctor_get(x_19, 3); -lean_inc(x_22); -lean_dec(x_19); -x_23 = lean_expr_abstract_range(x_22, x_12, x_1); -lean_dec(x_22); -x_24 = 0; -x_25 = l_Lean_Expr_forallE___override(x_21, x_23, x_3, x_24); -x_2 = x_12; -x_3 = x_25; -x_8 = x_20; -goto _start; -} -else -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; -lean_dec(x_19); -lean_dec(x_3); -x_27 = lean_ctor_get(x_18, 1); -lean_inc(x_27); -lean_dec(x_18); -x_28 = l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__8; -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); lean_inc(x_4); -x_29 = l_panic___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1(x_28, x_4, x_5, x_6, x_7, x_27); -if (lean_obj_tag(x_29) == 0) +x_21 = l_Lean_Compiler_LCNF_InferType_getType(x_17, x_4, x_5, x_6, x_7, x_20); +if (lean_obj_tag(x_21) == 0) { -lean_object* x_30; lean_object* x_31; -x_30 = lean_ctor_get(x_29, 0); -lean_inc(x_30); -x_31 = lean_ctor_get(x_29, 1); -lean_inc(x_31); -lean_dec(x_29); +lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; lean_object* x_26; +x_22 = lean_ctor_get(x_21, 0); +lean_inc(x_22); +x_23 = lean_ctor_get(x_21, 1); +lean_inc(x_23); +lean_dec(x_21); +x_24 = lean_expr_abstract_range(x_22, x_12, x_1); +lean_dec(x_22); +x_25 = 0; +x_26 = l_Lean_Expr_forallE___override(x_19, x_24, x_3, x_25); x_2 = x_12; -x_3 = x_30; -x_8 = x_31; +x_3 = x_26; +x_8 = x_23; goto _start; } else { -uint8_t x_33; +uint8_t x_28; +lean_dec(x_19); lean_dec(x_12); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -x_33 = !lean_is_exclusive(x_29); -if (x_33 == 0) -{ -return x_29; -} -else -{ -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_29, 0); -x_35 = lean_ctor_get(x_29, 1); -lean_inc(x_35); -lean_inc(x_34); -lean_dec(x_29); -x_36 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_36, 0, x_34); -lean_ctor_set(x_36, 1, x_35); -return x_36; -} -} -} -} -else -{ -uint8_t x_37; -lean_dec(x_12); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_37 = !lean_is_exclusive(x_18); -if (x_37 == 0) +x_28 = !lean_is_exclusive(x_21); +if (x_28 == 0) +{ +return x_21; +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_21, 0); +x_30 = lean_ctor_get(x_21, 1); +lean_inc(x_30); +lean_inc(x_29); +lean_dec(x_21); +x_31 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_31, 0, x_29); +lean_ctor_set(x_31, 1, x_30); +return x_31; +} +} +} +else +{ +uint8_t x_32; +lean_dec(x_17); +lean_dec(x_12); +lean_dec(x_4); +lean_dec(x_3); +x_32 = !lean_is_exclusive(x_18); +if (x_32 == 0) { return x_18; } else { -lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_38 = lean_ctor_get(x_18, 0); -x_39 = lean_ctor_get(x_18, 1); -lean_inc(x_39); -lean_inc(x_38); +lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_33 = lean_ctor_get(x_18, 0); +x_34 = lean_ctor_get(x_18, 1); +lean_inc(x_34); +lean_inc(x_33); lean_dec(x_18); -x_40 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_40, 0, x_38); -lean_ctor_set(x_40, 1, x_39); -return x_40; +x_35 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_35, 0, x_33); +lean_ctor_set(x_35, 1, x_34); +return x_35; } } } else { -lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_41 = lean_array_fget(x_1, x_12); -x_42 = l_Lean_Expr_fvarId_x21(x_41); +lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_36 = lean_array_fget(x_1, x_12); +x_37 = l_Lean_Expr_fvarId_x21(x_36); lean_inc(x_4); -x_43 = l_Lean_Compiler_LCNF_InferType_getLocalDecl(x_42, x_4, x_5, x_6, x_7, x_8); -if (lean_obj_tag(x_43) == 0) +lean_inc(x_37); +x_38 = l_Lean_Compiler_LCNF_InferType_getBinderName(x_37, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_38) == 0) { -lean_object* x_44; -x_44 = lean_ctor_get(x_43, 0); -lean_inc(x_44); -if (lean_obj_tag(x_44) == 0) +lean_object* x_39; lean_object* x_40; lean_object* x_41; +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); +lean_inc(x_4); +x_41 = l_Lean_Compiler_LCNF_InferType_getType(x_37, x_4, x_5, x_6, x_7, x_40); +if (lean_obj_tag(x_41) == 0) { -lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; uint8_t x_49; lean_object* x_50; -x_45 = lean_ctor_get(x_43, 1); -lean_inc(x_45); -lean_dec(x_43); -x_46 = lean_ctor_get(x_44, 2); -lean_inc(x_46); -x_47 = lean_ctor_get(x_44, 3); -lean_inc(x_47); -lean_dec(x_44); -x_48 = lean_expr_abstract_range(x_47, x_12, x_1); -lean_dec(x_47); -x_49 = 0; -x_50 = l_Lean_Expr_forallE___override(x_46, x_48, x_3, x_49); +lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46; +x_42 = lean_ctor_get(x_41, 0); +lean_inc(x_42); +x_43 = lean_ctor_get(x_41, 1); +lean_inc(x_43); +lean_dec(x_41); +x_44 = lean_expr_abstract_range(x_42, x_12, x_1); +lean_dec(x_42); +x_45 = 0; +x_46 = l_Lean_Expr_forallE___override(x_39, x_44, x_3, x_45); x_2 = x_12; -x_3 = x_50; -x_8 = x_45; +x_3 = x_46; +x_8 = x_43; goto _start; } else { -lean_object* x_52; lean_object* x_53; lean_object* x_54; -lean_dec(x_44); -lean_dec(x_3); -x_52 = lean_ctor_get(x_43, 1); -lean_inc(x_52); -lean_dec(x_43); -x_53 = l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__8; -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -x_54 = l_panic___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1(x_53, x_4, x_5, x_6, x_7, x_52); -if (lean_obj_tag(x_54) == 0) -{ -lean_object* x_55; lean_object* x_56; -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_2 = x_12; -x_3 = x_55; -x_8 = x_56; -goto _start; -} -else -{ -uint8_t x_58; +uint8_t x_48; +lean_dec(x_39); lean_dec(x_12); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -x_58 = !lean_is_exclusive(x_54); -if (x_58 == 0) -{ -return x_54; -} -else -{ -lean_object* x_59; lean_object* x_60; lean_object* x_61; -x_59 = lean_ctor_get(x_54, 0); -x_60 = lean_ctor_get(x_54, 1); -lean_inc(x_60); -lean_inc(x_59); -lean_dec(x_54); -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_12); -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_43); -if (x_62 == 0) +x_48 = !lean_is_exclusive(x_41); +if (x_48 == 0) { -return x_43; +return x_41; } else { -lean_object* x_63; lean_object* x_64; lean_object* x_65; -x_63 = lean_ctor_get(x_43, 0); -x_64 = lean_ctor_get(x_43, 1); -lean_inc(x_64); -lean_inc(x_63); -lean_dec(x_43); -x_65 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_65, 0, x_63); -lean_ctor_set(x_65, 1, x_64); -return x_65; +lean_object* x_49; lean_object* x_50; lean_object* x_51; +x_49 = lean_ctor_get(x_41, 0); +x_50 = lean_ctor_get(x_41, 1); +lean_inc(x_50); +lean_inc(x_49); +lean_dec(x_41); +x_51 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_51, 0, x_49); +lean_ctor_set(x_51, 1, x_50); +return x_51; +} +} +} +else +{ +uint8_t x_52; +lean_dec(x_37); +lean_dec(x_12); +lean_dec(x_4); +lean_dec(x_3); +x_52 = !lean_is_exclusive(x_38); +if (x_52 == 0) +{ +return x_38; +} +else +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_53 = lean_ctor_get(x_38, 0); +x_54 = lean_ctor_get(x_38, 1); +lean_inc(x_54); +lean_inc(x_53); +lean_dec(x_38); +x_55 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_55, 0, x_53); +lean_ctor_set(x_55, 1, x_54); +return x_55; } } } } else { -lean_object* x_66; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); +lean_object* x_56; lean_dec(x_4); lean_dec(x_2); -x_66 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_66, 0, x_3); -lean_ctor_set(x_66, 1, x_8); -return x_66; +x_56 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_56, 0, x_3); +lean_ctor_set(x_56, 1, x_8); +return x_56; } } } @@ -675,15 +568,21 @@ lean_object* x_8; lean_object* x_9; lean_object* x_10; x_8 = lean_expr_abstract(x_2, x_1); lean_dec(x_2); x_9 = lean_array_get_size(x_1); -x_10 = l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2(x_1, x_9, x_8, x_3, x_4, x_5, x_6, x_7); +x_10 = l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1(x_1, x_9, x_8, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); return x_10; } } -LEAN_EXPORT lean_object* l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___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_EXPORT lean_object* l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; -x_9 = l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); lean_dec(x_1); return x_9; } @@ -1127,75 +1026,6 @@ x_11 = l_Lean_Compiler_LCNF_InferType_withLocalDecl___rarg(x_1, x_2, x_10, x_4, return x_11; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_inferFVarType(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; -x_7 = l_Lean_Compiler_LCNF_InferType_getLocalDecl(x_1, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_7) == 0) -{ -uint8_t x_8; -x_8 = !lean_is_exclusive(x_7); -if (x_8 == 0) -{ -lean_object* x_9; lean_object* x_10; -x_9 = lean_ctor_get(x_7, 0); -x_10 = l_Lean_LocalDecl_type(x_9); -lean_dec(x_9); -lean_ctor_set(x_7, 0, x_10); -return x_7; -} -else -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_11 = lean_ctor_get(x_7, 0); -x_12 = lean_ctor_get(x_7, 1); -lean_inc(x_12); -lean_inc(x_11); -lean_dec(x_7); -x_13 = l_Lean_LocalDecl_type(x_11); -lean_dec(x_11); -x_14 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_14, 0, x_13); -lean_ctor_set(x_14, 1, x_12); -return x_14; -} -} -else -{ -uint8_t x_15; -x_15 = !lean_is_exclusive(x_7); -if (x_15 == 0) -{ -return x_7; -} -else -{ -lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_16 = lean_ctor_get(x_7, 0); -x_17 = lean_ctor_get(x_7, 1); -lean_inc(x_17); -lean_inc(x_16); -lean_dec(x_7); -x_18 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_18, 0, x_16); -lean_ctor_set(x_18, 1, x_17); -return x_18; -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_InferType_inferFVarType___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; -x_7 = l_Lean_Compiler_LCNF_InferType_inferFVarType(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; -} -} static lean_object* _init_l_Lean_Compiler_LCNF_InferType_inferConstType___closed__1() { _start: { @@ -1611,7 +1441,7 @@ lean_object* x_13; lean_object* x_14; x_13 = lean_ctor_get(x_1, 0); lean_inc(x_13); lean_dec(x_1); -x_14 = l_Lean_Compiler_LCNF_InferType_inferFVarType(x_13, x_2, x_3, x_4, x_5, x_6); +x_14 = l_Lean_Compiler_LCNF_InferType_getType(x_13, x_2, x_3, x_4, x_5, x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); @@ -10632,83 +10462,33 @@ lean_object* x_14; lean_object* x_15; x_14 = lean_ctor_get(x_1, 0); lean_inc(x_14); lean_dec(x_1); -x_15 = l_Lean_Compiler_LCNF_getLocalDecl(x_14, x_2, x_3, x_4, x_5); +x_15 = l_Lean_Compiler_LCNF_getType(x_14, x_2, x_3, x_4, x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -if (lean_obj_tag(x_15) == 0) -{ -uint8_t x_16; -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; -x_17 = lean_ctor_get(x_15, 0); -x_18 = l_Lean_LocalDecl_type(x_17); -lean_dec(x_17); -lean_ctor_set(x_15, 0, x_18); return x_15; } -else -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_15, 0); -x_20 = lean_ctor_get(x_15, 1); -lean_inc(x_20); -lean_inc(x_19); -lean_dec(x_15); -x_21 = l_Lean_LocalDecl_type(x_19); -lean_dec(x_19); -x_22 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_22, 0, x_21); -lean_ctor_set(x_22, 1, x_20); -return x_22; -} -} -else -{ -uint8_t x_23; -x_23 = !lean_is_exclusive(x_15); -if (x_23 == 0) -{ -return x_15; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_15, 0); -x_25 = lean_ctor_get(x_15, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_15); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -} case 6: { -lean_object* x_27; lean_object* x_28; +lean_object* x_16; lean_object* x_17; lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_27 = lean_ctor_get(x_1, 0); -lean_inc(x_27); +x_16 = lean_ctor_get(x_1, 0); +lean_inc(x_16); lean_dec(x_1); -x_28 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_28, 0, x_27); -lean_ctor_set(x_28, 1, x_5); -return x_28; +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_5); +return x_17; } default: { -lean_object* x_29; -x_29 = lean_ctor_get(x_1, 1); -lean_inc(x_29); +lean_object* x_18; +x_18 = lean_ctor_get(x_1, 1); +lean_inc(x_18); lean_dec(x_1); -x_1 = x_29; +x_1 = x_18; goto _start; } } @@ -10974,59 +10754,11 @@ return x_2; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_mkAuxJpDecl_x27(lean_object* x_1, 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_inc(x_1); -x_8 = l_Lean_Compiler_LCNF_getLocalDecl(x_1, 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; uint8_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_9 = lean_ctor_get(x_8, 0); -lean_inc(x_9); -x_10 = lean_ctor_get(x_8, 1); -lean_inc(x_10); -lean_dec(x_8); -x_11 = l_Lean_LocalDecl_userName(x_9); -x_12 = l_Lean_LocalDecl_type(x_9); -lean_dec(x_9); -x_13 = 0; -x_14 = lean_alloc_ctor(0, 3, 1); -lean_ctor_set(x_14, 0, x_1); -lean_ctor_set(x_14, 1, x_11); -lean_ctor_set(x_14, 2, x_12); -lean_ctor_set_uint8(x_14, sizeof(void*)*3, x_13); -x_15 = l_Lean_Compiler_LCNF_mkAuxJpDecl_x27___closed__1; -x_16 = lean_array_push(x_15, x_14); -x_17 = l_Lean_Compiler_LCNF_mkAuxFunDecl(x_16, x_2, x_3, x_4, x_5, x_6, x_10); -return x_17; -} -else -{ -uint8_t x_18; -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_18 = !lean_is_exclusive(x_8); -if (x_18 == 0) -{ -return x_8; -} -else -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_19 = lean_ctor_get(x_8, 0); -x_20 = lean_ctor_get(x_8, 1); -lean_inc(x_20); -lean_inc(x_19); -lean_dec(x_8); -x_21 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_21, 0, x_19); -lean_ctor_set(x_21, 1, x_20); -return x_21; -} -} +lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_8 = l_Lean_Compiler_LCNF_mkAuxJpDecl_x27___closed__1; +x_9 = lean_array_push(x_8, x_1); +x_10 = l_Lean_Compiler_LCNF_mkAuxFunDecl(x_9, x_2, x_3, x_4, x_5, x_6, x_7); +return x_10; } } LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_instantiateForall_go___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { @@ -11335,7 +11067,7 @@ lean_dec(x_32); if (x_34 == 0) { lean_object* x_35; lean_object* x_36; -x_35 = l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__4; +x_35 = l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__4; x_36 = l_panic___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltImp___spec__1(x_35); x_7 = x_36; goto block_31; @@ -11559,28 +11291,14 @@ lean_dec_ref(res); res = initialize_Lean_Compiler_LCNF_Types(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l_panic___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__1 = _init_l_panic___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__1(); -lean_mark_persistent(l_panic___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__1); -l_panic___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__2 = _init_l_panic___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__2(); -lean_mark_persistent(l_panic___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__2); -l_panic___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__3 = _init_l_panic___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__3(); -lean_mark_persistent(l_panic___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__3); -l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__1 = _init_l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__1(); -lean_mark_persistent(l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__1); -l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__2 = _init_l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__2(); -lean_mark_persistent(l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__2); -l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__3 = _init_l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__3(); -lean_mark_persistent(l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__3); -l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__4 = _init_l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__4(); -lean_mark_persistent(l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__4); -l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__5 = _init_l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__5(); -lean_mark_persistent(l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__5); -l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__6 = _init_l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__6(); -lean_mark_persistent(l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__6); -l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__7 = _init_l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__7(); -lean_mark_persistent(l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__7); -l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__8 = _init_l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__8(); -lean_mark_persistent(l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__2___closed__8); +l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__1 = _init_l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__1(); +lean_mark_persistent(l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__1); +l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__2 = _init_l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__2(); +lean_mark_persistent(l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__2); +l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__3 = _init_l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__3(); +lean_mark_persistent(l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__3); +l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__4 = _init_l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__4(); +lean_mark_persistent(l_Nat_foldRevM_loop___at_Lean_Compiler_LCNF_InferType_mkForallFVars___spec__1___closed__4); l_Lean_Compiler_LCNF_InferType_mkForallParams___closed__1 = _init_l_Lean_Compiler_LCNF_InferType_mkForallParams___closed__1(); lean_mark_persistent(l_Lean_Compiler_LCNF_InferType_mkForallParams___closed__1); l_Lean_Compiler_LCNF_InferType_mkForallParams___closed__2 = _init_l_Lean_Compiler_LCNF_InferType_mkForallParams___closed__2(); diff --git a/stage0/stdlib/Lean/Compiler/LCNF/JoinPoints.c b/stage0/stdlib/Lean/Compiler/LCNF/JoinPoints.c index 331009d08a..3150ba7af0 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/JoinPoints.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/JoinPoints.c @@ -13,7 +13,6 @@ #ifdef __cplusplus extern "C" { #endif -static lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_replace_go___closed__1; LEAN_EXPORT lean_object* l_Std_AssocList_erase___at___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate___spec__3___boxed(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Std_HashMapImp_contains___at_Lean_Compiler_LCNF_JoinPointFinder_replace_go___spec__1(lean_object*, lean_object*); size_t lean_usize_add(size_t, size_t); @@ -40,12 +39,10 @@ LEAN_EXPORT lean_object* l_Std_mkHashSet___at_Lean_Compiler_LCNF_JoinPointFinder LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_FindState_candidates___default; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_find_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_uset(lean_object*, size_t, lean_object*); -static lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_replace_go___closed__4; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Decl_findJoinPoints(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Decl_findJoinPoints___closed__4; LEAN_EXPORT lean_object* l_List_replace___at___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency___spec__6___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate___spec__4(lean_object*, lean_object*); -lean_object* l_panic___at_Lean_LocalDecl_setBinderInfo___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate___spec__3(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Data_HashMap_0__Std_numBucketsForCapacity(lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_JoinPointFinder_replace___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -53,10 +50,10 @@ lean_object* lean_st_ref_get(lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addCandidate___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Decl_findJoinPoints___closed__2; -lean_object* l_Lean_Compiler_LCNF_LCtx_eraseLocal(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); lean_object* lean_string_append(lean_object*, lean_object*); lean_object* l_Std_mkHashSetImp___rarg(lean_object*); +lean_object* l_Lean_Compiler_LCNF_eraseLetDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_addTrace___at_Lean_Compiler_LCNF_Decl_findJoinPoints___spec__2___closed__5; lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltCodeImp(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate___spec__5(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -105,7 +102,6 @@ LEAN_EXPORT lean_object* l_List_elem___at___private_Lean_Compiler_LCNF_JoinPoint lean_object* lean_st_mk_ref(lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Decl_findJoinPoints___closed__3; -static lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_replace_go___closed__3; lean_object* l_Lean_Expr_sort___override(lean_object*); static lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_find___closed__2; lean_object* l_Lean_Compiler_LCNF_Pass_mkPerDeclaration(lean_object*, lean_object*, uint8_t, lean_object*); @@ -127,9 +123,7 @@ LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_Compiler_LCNF_JoinPointF LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_JoinPointFinder_replace_go___spec__4___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_replace___at_Lean_Compiler_LCNF_JoinPointFinder_replace___spec__5(lean_object*, lean_object*, lean_object*); size_t lean_usize_of_nat(lean_object*); -lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getLocalDecl___spec__1(lean_object*, lean_object*); static lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_removeCandidatesContainedIn___closed__2; -lean_object* l_Lean_LocalDecl_fvarId(lean_object*); LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_eraseCandidate___spec__1___boxed(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_List_elem___at___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency___spec__2(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Std_HashSetImp_contains___at___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_isInScope___spec__1(lean_object*, lean_object*); @@ -144,11 +138,10 @@ LEAN_EXPORT lean_object* l_Std_HashMap_insert___at___private_Lean_Compiler_LCNF_ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_find(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_replace___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_JoinPoints_0__Lean_Compiler_LCNF_JoinPointFinder_addDependency(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_replace_go___closed__2; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_FindState_scope___default; uint8_t lean_nat_dec_le(lean_object*, lean_object*); lean_object* l_Lean_Compiler_LCNF_AltCore_getCode(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_JoinPoints___hyg_2031_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_JoinPoints___hyg_2004_(lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_JoinPointFinder_replace_go___spec__4(lean_object*, lean_object*); lean_object* l_instInhabitedReaderT___rarg___boxed(lean_object*, lean_object*); extern lean_object* l_Lean_Core_instMonadCoreM; @@ -4364,43 +4357,6 @@ return x_25; } } } -static lean_object* _init_l_Lean_Compiler_LCNF_JoinPointFinder_replace_go___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("Lean.Data.HashMap", 17); -return x_1; -} -} -static lean_object* _init_l_Lean_Compiler_LCNF_JoinPointFinder_replace_go___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("Std.HashMap.find!", 17); -return x_1; -} -} -static lean_object* _init_l_Lean_Compiler_LCNF_JoinPointFinder_replace_go___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("key is not in the map", 21); -return x_1; -} -} -static lean_object* _init_l_Lean_Compiler_LCNF_JoinPointFinder_replace_go___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go___closed__1; -x_2 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go___closed__2; -x_3 = lean_unsigned_to_nat(177u); -x_4 = lean_unsigned_to_nat(14u); -x_5 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go___closed__3; -x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); -return x_6; -} -} LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { @@ -4809,22 +4765,22 @@ if (lean_obj_tag(x_81) == 1) { lean_object* x_82; lean_object* x_83; uint8_t x_84; lean_dec(x_7); -lean_dec(x_4); x_82 = lean_ctor_get(x_81, 0); lean_inc(x_82); lean_dec(x_81); x_83 = lean_ctor_get(x_78, 0); lean_inc(x_83); -lean_dec(x_78); x_84 = lean_name_eq(x_80, x_83); +lean_dec(x_83); lean_dec(x_80); if (x_84 == 0) { lean_object* x_85; -lean_dec(x_83); lean_dec(x_82); lean_dec(x_79); +lean_dec(x_78); lean_dec(x_5); +lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); x_85 = lean_alloc_ctor(0, 2, 0); @@ -4834,330 +4790,412 @@ return x_85; } else { -lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_145; lean_object* x_146; lean_object* x_147; -x_86 = lean_st_ref_get(x_5, x_6); -lean_dec(x_5); -x_87 = lean_ctor_get(x_86, 1); -lean_inc(x_87); -lean_dec(x_86); -x_88 = lean_st_ref_get(x_3, x_87); -x_89 = lean_ctor_get(x_88, 0); -lean_inc(x_89); -x_90 = lean_ctor_get(x_88, 1); -lean_inc(x_90); -if (lean_is_exclusive(x_88)) { - lean_ctor_release(x_88, 0); - lean_ctor_release(x_88, 1); - x_91 = x_88; -} else { - lean_dec_ref(x_88); - x_91 = lean_box(0); -} -x_145 = lean_ctor_get(x_89, 0); -lean_inc(x_145); -lean_dec(x_89); -x_146 = lean_ctor_get(x_145, 0); -lean_inc(x_146); -lean_dec(x_145); +uint8_t x_86; lean_inc(x_82); -x_147 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_getLocalDecl___spec__1(x_146, x_82); -if (lean_obj_tag(x_147) == 0) +x_86 = l_Std_HashMapImp_contains___at_Lean_Compiler_LCNF_JoinPointFinder_replace_go___spec__1(x_2, x_82); +if (x_86 == 0) { -lean_object* x_148; lean_object* x_149; -x_148 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go___closed__4; -x_149 = l_panic___at_Lean_LocalDecl_setBinderInfo___spec__1(x_148); -x_92 = x_149; -goto block_144; -} -else -{ -lean_object* x_150; -x_150 = lean_ctor_get(x_147, 0); -lean_inc(x_150); -lean_dec(x_147); -x_92 = x_150; -goto block_144; -} -block_144: -{ -lean_object* x_93; uint8_t x_94; -x_93 = l_Lean_LocalDecl_fvarId(x_92); -lean_dec(x_92); -x_94 = l_Std_HashMapImp_contains___at_Lean_Compiler_LCNF_JoinPointFinder_replace_go___spec__1(x_2, x_93); -if (x_94 == 0) -{ -lean_object* x_95; -lean_dec(x_83); +lean_object* x_87; lean_dec(x_82); lean_dec(x_79); +lean_dec(x_78); +lean_dec(x_5); +lean_dec(x_4); lean_dec(x_3); -if (lean_is_scalar(x_91)) { - x_95 = lean_alloc_ctor(0, 2, 0); -} else { - x_95 = x_91; -} -lean_ctor_set(x_95, 0, x_1); -lean_ctor_set(x_95, 1, x_90); -return x_95; +x_87 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_87, 0, x_1); +lean_ctor_set(x_87, 1, x_6); +return x_87; } else { -uint8_t x_96; -lean_dec(x_91); -x_96 = !lean_is_exclusive(x_1); -if (x_96 == 0) +uint8_t x_88; +x_88 = !lean_is_exclusive(x_1); +if (x_88 == 0) { -lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; uint8_t x_107; -x_97 = lean_ctor_get(x_1, 1); -lean_dec(x_97); -x_98 = lean_ctor_get(x_1, 0); -lean_dec(x_98); -x_99 = lean_st_ref_take(x_3, x_90); -x_100 = lean_ctor_get(x_99, 0); -lean_inc(x_100); -x_101 = lean_ctor_get(x_99, 1); +lean_object* x_89; lean_object* x_90; lean_object* x_91; uint8_t x_92; +x_89 = lean_ctor_get(x_1, 1); +lean_dec(x_89); +x_90 = lean_ctor_get(x_1, 0); +lean_dec(x_90); +x_91 = l_Lean_Compiler_LCNF_eraseLetDecl(x_78, x_3, x_4, x_5, x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_78); +x_92 = !lean_is_exclusive(x_91); +if (x_92 == 0) +{ +lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; +x_93 = lean_ctor_get(x_91, 0); +lean_dec(x_93); +x_94 = lean_unsigned_to_nat(0u); +x_95 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_79, x_94); +x_96 = l_Lean_Compiler_LCNF_JoinPointFinder_find_go___closed__1; +lean_inc(x_95); +x_97 = lean_mk_array(x_95, x_96); +x_98 = lean_unsigned_to_nat(1u); +x_99 = lean_nat_sub(x_95, x_98); +lean_dec(x_95); +x_100 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_79, x_97, x_99); +lean_ctor_set_tag(x_1, 3); +lean_ctor_set(x_1, 1, x_100); +lean_ctor_set(x_1, 0, x_82); +lean_ctor_set(x_91, 0, x_1); +return x_91; +} +else +{ +lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; +x_101 = lean_ctor_get(x_91, 1); lean_inc(x_101); -lean_dec(x_99); -x_102 = lean_ctor_get(x_100, 0); -lean_inc(x_102); -x_103 = l_Lean_Compiler_LCNF_LCtx_eraseLocal(x_83, x_102); -lean_dec(x_83); -x_104 = lean_ctor_get(x_100, 1); -lean_inc(x_104); -lean_dec(x_100); -x_105 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_105, 0, x_103); -lean_ctor_set(x_105, 1, x_104); -x_106 = lean_st_ref_set(x_3, x_105, x_101); -lean_dec(x_3); -x_107 = !lean_is_exclusive(x_106); -if (x_107 == 0) -{ -lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; -x_108 = lean_ctor_get(x_106, 0); -lean_dec(x_108); -x_109 = lean_unsigned_to_nat(0u); -x_110 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_79, x_109); -x_111 = l_Lean_Compiler_LCNF_JoinPointFinder_find_go___closed__1; -lean_inc(x_110); -x_112 = lean_mk_array(x_110, x_111); -x_113 = lean_unsigned_to_nat(1u); -x_114 = lean_nat_sub(x_110, x_113); -lean_dec(x_110); -x_115 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_79, x_112, x_114); +lean_dec(x_91); +x_102 = lean_unsigned_to_nat(0u); +x_103 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_79, x_102); +x_104 = l_Lean_Compiler_LCNF_JoinPointFinder_find_go___closed__1; +lean_inc(x_103); +x_105 = lean_mk_array(x_103, x_104); +x_106 = lean_unsigned_to_nat(1u); +x_107 = lean_nat_sub(x_103, x_106); +lean_dec(x_103); +x_108 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_79, x_105, x_107); lean_ctor_set_tag(x_1, 3); -lean_ctor_set(x_1, 1, x_115); +lean_ctor_set(x_1, 1, x_108); lean_ctor_set(x_1, 0, x_82); -lean_ctor_set(x_106, 0, x_1); -return x_106; -} -else -{ -lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; -x_116 = lean_ctor_get(x_106, 1); -lean_inc(x_116); -lean_dec(x_106); -x_117 = lean_unsigned_to_nat(0u); -x_118 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_79, x_117); -x_119 = l_Lean_Compiler_LCNF_JoinPointFinder_find_go___closed__1; -lean_inc(x_118); -x_120 = lean_mk_array(x_118, x_119); -x_121 = lean_unsigned_to_nat(1u); -x_122 = lean_nat_sub(x_118, x_121); -lean_dec(x_118); -x_123 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_79, x_120, x_122); -lean_ctor_set_tag(x_1, 3); -lean_ctor_set(x_1, 1, x_123); -lean_ctor_set(x_1, 0, x_82); -x_124 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_124, 0, x_1); -lean_ctor_set(x_124, 1, x_116); -return x_124; +x_109 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_109, 0, x_1); +lean_ctor_set(x_109, 1, x_101); +return x_109; } } else { -lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; +lean_object* x_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_dec(x_1); -x_125 = lean_st_ref_take(x_3, x_90); -x_126 = lean_ctor_get(x_125, 0); -lean_inc(x_126); -x_127 = lean_ctor_get(x_125, 1); -lean_inc(x_127); -lean_dec(x_125); -x_128 = lean_ctor_get(x_126, 0); -lean_inc(x_128); -x_129 = l_Lean_Compiler_LCNF_LCtx_eraseLocal(x_83, x_128); -lean_dec(x_83); -x_130 = lean_ctor_get(x_126, 1); -lean_inc(x_130); -lean_dec(x_126); -x_131 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_131, 0, x_129); -lean_ctor_set(x_131, 1, x_130); -x_132 = lean_st_ref_set(x_3, x_131, x_127); +x_110 = l_Lean_Compiler_LCNF_eraseLetDecl(x_78, x_3, x_4, x_5, x_6); +lean_dec(x_5); +lean_dec(x_4); lean_dec(x_3); -x_133 = lean_ctor_get(x_132, 1); -lean_inc(x_133); -if (lean_is_exclusive(x_132)) { - lean_ctor_release(x_132, 0); - lean_ctor_release(x_132, 1); - x_134 = x_132; +lean_dec(x_78); +x_111 = lean_ctor_get(x_110, 1); +lean_inc(x_111); +if (lean_is_exclusive(x_110)) { + lean_ctor_release(x_110, 0); + lean_ctor_release(x_110, 1); + x_112 = x_110; } else { - lean_dec_ref(x_132); - x_134 = lean_box(0); + lean_dec_ref(x_110); + x_112 = lean_box(0); } -x_135 = lean_unsigned_to_nat(0u); -x_136 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_79, x_135); -x_137 = l_Lean_Compiler_LCNF_JoinPointFinder_find_go___closed__1; -lean_inc(x_136); -x_138 = lean_mk_array(x_136, x_137); -x_139 = lean_unsigned_to_nat(1u); -x_140 = lean_nat_sub(x_136, x_139); -lean_dec(x_136); -x_141 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_79, x_138, x_140); -x_142 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_142, 0, x_82); -lean_ctor_set(x_142, 1, x_141); -if (lean_is_scalar(x_134)) { - x_143 = lean_alloc_ctor(0, 2, 0); +x_113 = lean_unsigned_to_nat(0u); +x_114 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_79, x_113); +x_115 = l_Lean_Compiler_LCNF_JoinPointFinder_find_go___closed__1; +lean_inc(x_114); +x_116 = lean_mk_array(x_114, x_115); +x_117 = lean_unsigned_to_nat(1u); +x_118 = lean_nat_sub(x_114, x_117); +lean_dec(x_114); +x_119 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_79, x_116, x_118); +x_120 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_120, 0, x_82); +lean_ctor_set(x_120, 1, x_119); +if (lean_is_scalar(x_112)) { + x_121 = lean_alloc_ctor(0, 2, 0); } else { - x_143 = x_134; -} -lean_ctor_set(x_143, 0, x_142); -lean_ctor_set(x_143, 1, x_133); -return x_143; + x_121 = x_112; } +lean_ctor_set(x_121, 0, x_120); +lean_ctor_set(x_121, 1, x_111); +return x_121; } } } } else { -lean_object* x_151; +lean_object* x_122; lean_dec(x_81); lean_dec(x_80); lean_dec(x_79); lean_inc(x_7); -x_151 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_7, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_151) == 0) +x_122 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_7, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_122) == 0) { -uint8_t x_152; -x_152 = !lean_is_exclusive(x_151); -if (x_152 == 0) +uint8_t x_123; +x_123 = !lean_is_exclusive(x_122); +if (x_123 == 0) { -lean_object* x_153; size_t x_154; size_t x_155; uint8_t x_156; -x_153 = lean_ctor_get(x_151, 0); -x_154 = lean_ptr_addr(x_7); +lean_object* x_124; size_t x_125; size_t x_126; uint8_t x_127; +x_124 = lean_ctor_get(x_122, 0); +x_125 = lean_ptr_addr(x_7); lean_dec(x_7); -x_155 = lean_ptr_addr(x_153); -x_156 = lean_usize_dec_eq(x_154, x_155); -if (x_156 == 0) +x_126 = lean_ptr_addr(x_124); +x_127 = lean_usize_dec_eq(x_125, x_126); +if (x_127 == 0) { -uint8_t x_157; -x_157 = !lean_is_exclusive(x_1); -if (x_157 == 0) +uint8_t x_128; +x_128 = !lean_is_exclusive(x_1); +if (x_128 == 0) { -lean_object* x_158; lean_object* x_159; -x_158 = lean_ctor_get(x_1, 1); -lean_dec(x_158); -x_159 = lean_ctor_get(x_1, 0); -lean_dec(x_159); -lean_ctor_set(x_1, 1, x_153); -lean_ctor_set(x_151, 0, x_1); -return x_151; +lean_object* x_129; lean_object* x_130; +x_129 = lean_ctor_get(x_1, 1); +lean_dec(x_129); +x_130 = lean_ctor_get(x_1, 0); +lean_dec(x_130); +lean_ctor_set(x_1, 1, x_124); +lean_ctor_set(x_122, 0, x_1); +return x_122; } else { -lean_object* x_160; +lean_object* x_131; lean_dec(x_1); -x_160 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_160, 0, x_78); -lean_ctor_set(x_160, 1, x_153); -lean_ctor_set(x_151, 0, x_160); -return x_151; +x_131 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_131, 0, x_78); +lean_ctor_set(x_131, 1, x_124); +lean_ctor_set(x_122, 0, x_131); +return x_122; } } else { -size_t x_161; uint8_t x_162; -x_161 = lean_ptr_addr(x_78); -x_162 = lean_usize_dec_eq(x_161, x_161); -if (x_162 == 0) +size_t x_132; uint8_t x_133; +x_132 = lean_ptr_addr(x_78); +x_133 = lean_usize_dec_eq(x_132, x_132); +if (x_133 == 0) { -uint8_t x_163; -x_163 = !lean_is_exclusive(x_1); -if (x_163 == 0) +uint8_t x_134; +x_134 = !lean_is_exclusive(x_1); +if (x_134 == 0) { -lean_object* x_164; lean_object* x_165; -x_164 = lean_ctor_get(x_1, 1); -lean_dec(x_164); -x_165 = lean_ctor_get(x_1, 0); -lean_dec(x_165); -lean_ctor_set(x_1, 1, x_153); -lean_ctor_set(x_151, 0, x_1); -return x_151; +lean_object* x_135; lean_object* x_136; +x_135 = lean_ctor_get(x_1, 1); +lean_dec(x_135); +x_136 = lean_ctor_get(x_1, 0); +lean_dec(x_136); +lean_ctor_set(x_1, 1, x_124); +lean_ctor_set(x_122, 0, x_1); +return x_122; } else { -lean_object* x_166; +lean_object* x_137; lean_dec(x_1); -x_166 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_166, 0, x_78); -lean_ctor_set(x_166, 1, x_153); -lean_ctor_set(x_151, 0, x_166); -return x_151; +x_137 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_137, 0, x_78); +lean_ctor_set(x_137, 1, x_124); +lean_ctor_set(x_122, 0, x_137); +return x_122; } } else { -lean_dec(x_153); +lean_dec(x_124); lean_dec(x_78); -lean_ctor_set(x_151, 0, x_1); -return x_151; +lean_ctor_set(x_122, 0, x_1); +return x_122; } } } else { -lean_object* x_167; lean_object* x_168; size_t x_169; size_t x_170; uint8_t x_171; -x_167 = lean_ctor_get(x_151, 0); -x_168 = lean_ctor_get(x_151, 1); -lean_inc(x_168); -lean_inc(x_167); -lean_dec(x_151); -x_169 = lean_ptr_addr(x_7); +lean_object* x_138; lean_object* x_139; size_t x_140; size_t x_141; uint8_t x_142; +x_138 = lean_ctor_get(x_122, 0); +x_139 = lean_ctor_get(x_122, 1); +lean_inc(x_139); +lean_inc(x_138); +lean_dec(x_122); +x_140 = lean_ptr_addr(x_7); lean_dec(x_7); -x_170 = lean_ptr_addr(x_167); -x_171 = lean_usize_dec_eq(x_169, x_170); -if (x_171 == 0) +x_141 = lean_ptr_addr(x_138); +x_142 = lean_usize_dec_eq(x_140, x_141); +if (x_142 == 0) { -lean_object* x_172; lean_object* x_173; lean_object* x_174; +lean_object* x_143; lean_object* x_144; lean_object* x_145; if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); lean_ctor_release(x_1, 1); - x_172 = x_1; + x_143 = x_1; } else { lean_dec_ref(x_1); - x_172 = lean_box(0); + x_143 = lean_box(0); } -if (lean_is_scalar(x_172)) { - x_173 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_143)) { + x_144 = lean_alloc_ctor(0, 2, 0); } else { - x_173 = x_172; + x_144 = x_143; } -lean_ctor_set(x_173, 0, x_78); -lean_ctor_set(x_173, 1, x_167); -x_174 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_174, 0, x_173); -lean_ctor_set(x_174, 1, x_168); -return x_174; +lean_ctor_set(x_144, 0, x_78); +lean_ctor_set(x_144, 1, x_138); +x_145 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_145, 0, x_144); +lean_ctor_set(x_145, 1, x_139); +return x_145; } else { -size_t x_175; uint8_t x_176; -x_175 = lean_ptr_addr(x_78); -x_176 = lean_usize_dec_eq(x_175, x_175); +size_t x_146; uint8_t x_147; +x_146 = lean_ptr_addr(x_78); +x_147 = lean_usize_dec_eq(x_146, x_146); +if (x_147 == 0) +{ +lean_object* x_148; lean_object* x_149; lean_object* x_150; +if (lean_is_exclusive(x_1)) { + lean_ctor_release(x_1, 0); + lean_ctor_release(x_1, 1); + x_148 = x_1; +} else { + lean_dec_ref(x_1); + x_148 = lean_box(0); +} +if (lean_is_scalar(x_148)) { + x_149 = lean_alloc_ctor(0, 2, 0); +} else { + x_149 = x_148; +} +lean_ctor_set(x_149, 0, x_78); +lean_ctor_set(x_149, 1, x_138); +x_150 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_150, 0, x_149); +lean_ctor_set(x_150, 1, x_139); +return x_150; +} +else +{ +lean_object* x_151; +lean_dec(x_138); +lean_dec(x_78); +x_151 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_151, 0, x_1); +lean_ctor_set(x_151, 1, x_139); +return x_151; +} +} +} +} +else +{ +uint8_t x_152; +lean_dec(x_78); +lean_dec(x_7); +lean_dec(x_1); +x_152 = !lean_is_exclusive(x_122); +if (x_152 == 0) +{ +return x_122; +} +else +{ +lean_object* x_153; lean_object* x_154; lean_object* x_155; +x_153 = lean_ctor_get(x_122, 0); +x_154 = lean_ctor_get(x_122, 1); +lean_inc(x_154); +lean_inc(x_153); +lean_dec(x_122); +x_155 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_155, 0, x_153); +lean_ctor_set(x_155, 1, x_154); +return x_155; +} +} +} +} +else +{ +lean_object* x_156; +lean_dec(x_79); +lean_inc(x_7); +x_156 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_7, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_156) == 0) +{ +uint8_t x_157; +x_157 = !lean_is_exclusive(x_156); +if (x_157 == 0) +{ +lean_object* x_158; size_t x_159; size_t x_160; uint8_t x_161; +x_158 = lean_ctor_get(x_156, 0); +x_159 = lean_ptr_addr(x_7); +lean_dec(x_7); +x_160 = lean_ptr_addr(x_158); +x_161 = lean_usize_dec_eq(x_159, x_160); +if (x_161 == 0) +{ +uint8_t x_162; +x_162 = !lean_is_exclusive(x_1); +if (x_162 == 0) +{ +lean_object* x_163; lean_object* x_164; +x_163 = lean_ctor_get(x_1, 1); +lean_dec(x_163); +x_164 = lean_ctor_get(x_1, 0); +lean_dec(x_164); +lean_ctor_set(x_1, 1, x_158); +lean_ctor_set(x_156, 0, x_1); +return x_156; +} +else +{ +lean_object* x_165; +lean_dec(x_1); +x_165 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_165, 0, x_78); +lean_ctor_set(x_165, 1, x_158); +lean_ctor_set(x_156, 0, x_165); +return x_156; +} +} +else +{ +size_t x_166; uint8_t x_167; +x_166 = lean_ptr_addr(x_78); +x_167 = lean_usize_dec_eq(x_166, x_166); +if (x_167 == 0) +{ +uint8_t x_168; +x_168 = !lean_is_exclusive(x_1); +if (x_168 == 0) +{ +lean_object* x_169; lean_object* x_170; +x_169 = lean_ctor_get(x_1, 1); +lean_dec(x_169); +x_170 = lean_ctor_get(x_1, 0); +lean_dec(x_170); +lean_ctor_set(x_1, 1, x_158); +lean_ctor_set(x_156, 0, x_1); +return x_156; +} +else +{ +lean_object* x_171; +lean_dec(x_1); +x_171 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_171, 0, x_78); +lean_ctor_set(x_171, 1, x_158); +lean_ctor_set(x_156, 0, x_171); +return x_156; +} +} +else +{ +lean_dec(x_158); +lean_dec(x_78); +lean_ctor_set(x_156, 0, x_1); +return x_156; +} +} +} +else +{ +lean_object* x_172; lean_object* x_173; size_t x_174; size_t x_175; uint8_t x_176; +x_172 = lean_ctor_get(x_156, 0); +x_173 = lean_ctor_get(x_156, 1); +lean_inc(x_173); +lean_inc(x_172); +lean_dec(x_156); +x_174 = lean_ptr_addr(x_7); +lean_dec(x_7); +x_175 = lean_ptr_addr(x_172); +x_176 = lean_usize_dec_eq(x_174, x_175); if (x_176 == 0) { lean_object* x_177; lean_object* x_178; lean_object* x_179; @@ -5175,101 +5213,99 @@ if (lean_is_scalar(x_177)) { x_178 = x_177; } lean_ctor_set(x_178, 0, x_78); -lean_ctor_set(x_178, 1, x_167); +lean_ctor_set(x_178, 1, x_172); x_179 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_179, 0, x_178); -lean_ctor_set(x_179, 1, x_168); +lean_ctor_set(x_179, 1, x_173); return x_179; } else { -lean_object* x_180; -lean_dec(x_167); -lean_dec(x_78); -x_180 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_180, 0, x_1); -lean_ctor_set(x_180, 1, x_168); -return x_180; -} -} -} -} -else -{ -uint8_t x_181; -lean_dec(x_78); -lean_dec(x_7); -lean_dec(x_1); -x_181 = !lean_is_exclusive(x_151); +size_t x_180; uint8_t x_181; +x_180 = lean_ptr_addr(x_78); +x_181 = lean_usize_dec_eq(x_180, x_180); if (x_181 == 0) { -return x_151; -} -else -{ lean_object* x_182; lean_object* x_183; lean_object* x_184; -x_182 = lean_ctor_get(x_151, 0); -x_183 = lean_ctor_get(x_151, 1); -lean_inc(x_183); -lean_inc(x_182); -lean_dec(x_151); -x_184 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_184, 0, x_182); -lean_ctor_set(x_184, 1, x_183); +if (lean_is_exclusive(x_1)) { + lean_ctor_release(x_1, 0); + lean_ctor_release(x_1, 1); + x_182 = x_1; +} else { + lean_dec_ref(x_1); + x_182 = lean_box(0); +} +if (lean_is_scalar(x_182)) { + x_183 = lean_alloc_ctor(0, 2, 0); +} else { + x_183 = x_182; +} +lean_ctor_set(x_183, 0, x_78); +lean_ctor_set(x_183, 1, x_172); +x_184 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_184, 0, x_183); +lean_ctor_set(x_184, 1, x_173); return x_184; } -} -} -} else { lean_object* x_185; -lean_dec(x_79); -lean_inc(x_7); -x_185 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_7, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_185) == 0) +lean_dec(x_172); +lean_dec(x_78); +x_185 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_185, 0, x_1); +lean_ctor_set(x_185, 1, x_173); +return x_185; +} +} +} +} +else { uint8_t x_186; -x_186 = !lean_is_exclusive(x_185); +lean_dec(x_78); +lean_dec(x_7); +lean_dec(x_1); +x_186 = !lean_is_exclusive(x_156); if (x_186 == 0) { -lean_object* x_187; size_t x_188; size_t x_189; uint8_t x_190; -x_187 = lean_ctor_get(x_185, 0); -x_188 = lean_ptr_addr(x_7); +return x_156; +} +else +{ +lean_object* x_187; lean_object* x_188; lean_object* x_189; +x_187 = lean_ctor_get(x_156, 0); +x_188 = lean_ctor_get(x_156, 1); +lean_inc(x_188); +lean_inc(x_187); +lean_dec(x_156); +x_189 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_189, 0, x_187); +lean_ctor_set(x_189, 1, x_188); +return x_189; +} +} +} +} +case 6: +{ +lean_object* x_190; lean_object* x_191; +x_190 = lean_ctor_get(x_1, 0); +lean_inc(x_190); +lean_inc(x_7); +x_191 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_7, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_191) == 0) +{ +uint8_t x_192; +x_192 = !lean_is_exclusive(x_191); +if (x_192 == 0) +{ +lean_object* x_193; size_t x_194; size_t x_195; uint8_t x_196; +x_193 = lean_ctor_get(x_191, 0); +x_194 = lean_ptr_addr(x_7); lean_dec(x_7); -x_189 = lean_ptr_addr(x_187); -x_190 = lean_usize_dec_eq(x_188, x_189); -if (x_190 == 0) -{ -uint8_t x_191; -x_191 = !lean_is_exclusive(x_1); -if (x_191 == 0) -{ -lean_object* x_192; lean_object* x_193; -x_192 = lean_ctor_get(x_1, 1); -lean_dec(x_192); -x_193 = lean_ctor_get(x_1, 0); -lean_dec(x_193); -lean_ctor_set(x_1, 1, x_187); -lean_ctor_set(x_185, 0, x_1); -return x_185; -} -else -{ -lean_object* x_194; -lean_dec(x_1); -x_194 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_194, 0, x_78); -lean_ctor_set(x_194, 1, x_187); -lean_ctor_set(x_185, 0, x_194); -return x_185; -} -} -else -{ -size_t x_195; uint8_t x_196; -x_195 = lean_ptr_addr(x_78); -x_196 = lean_usize_dec_eq(x_195, x_195); +x_195 = lean_ptr_addr(x_193); +x_196 = lean_usize_dec_eq(x_194, x_195); if (x_196 == 0) { uint8_t x_197; @@ -5281,515 +5317,358 @@ x_198 = lean_ctor_get(x_1, 1); lean_dec(x_198); x_199 = lean_ctor_get(x_1, 0); lean_dec(x_199); -lean_ctor_set(x_1, 1, x_187); -lean_ctor_set(x_185, 0, x_1); -return x_185; +lean_ctor_set(x_1, 1, x_193); +lean_ctor_set(x_191, 0, x_1); +return x_191; } else { lean_object* x_200; lean_dec(x_1); x_200 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_200, 0, x_78); -lean_ctor_set(x_200, 1, x_187); -lean_ctor_set(x_185, 0, x_200); -return x_185; +lean_ctor_set(x_200, 0, x_190); +lean_ctor_set(x_200, 1, x_193); +lean_ctor_set(x_191, 0, x_200); +return x_191; } } else { -lean_dec(x_187); -lean_dec(x_78); -lean_ctor_set(x_185, 0, x_1); -return x_185; +size_t x_201; uint8_t x_202; +x_201 = lean_ptr_addr(x_190); +x_202 = lean_usize_dec_eq(x_201, x_201); +if (x_202 == 0) +{ +uint8_t x_203; +x_203 = !lean_is_exclusive(x_1); +if (x_203 == 0) +{ +lean_object* x_204; lean_object* x_205; +x_204 = lean_ctor_get(x_1, 1); +lean_dec(x_204); +x_205 = lean_ctor_get(x_1, 0); +lean_dec(x_205); +lean_ctor_set(x_1, 1, x_193); +lean_ctor_set(x_191, 0, x_1); +return x_191; +} +else +{ +lean_object* x_206; +lean_dec(x_1); +x_206 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_206, 0, x_190); +lean_ctor_set(x_206, 1, x_193); +lean_ctor_set(x_191, 0, x_206); +return x_191; +} +} +else +{ +lean_dec(x_193); +lean_dec(x_190); +lean_ctor_set(x_191, 0, x_1); +return x_191; } } } else { -lean_object* x_201; lean_object* x_202; size_t x_203; size_t x_204; uint8_t x_205; -x_201 = lean_ctor_get(x_185, 0); -x_202 = lean_ctor_get(x_185, 1); -lean_inc(x_202); -lean_inc(x_201); -lean_dec(x_185); -x_203 = lean_ptr_addr(x_7); +lean_object* x_207; lean_object* x_208; size_t x_209; size_t x_210; uint8_t x_211; +x_207 = lean_ctor_get(x_191, 0); +x_208 = lean_ctor_get(x_191, 1); +lean_inc(x_208); +lean_inc(x_207); +lean_dec(x_191); +x_209 = lean_ptr_addr(x_7); lean_dec(x_7); -x_204 = lean_ptr_addr(x_201); -x_205 = lean_usize_dec_eq(x_203, x_204); -if (x_205 == 0) +x_210 = lean_ptr_addr(x_207); +x_211 = lean_usize_dec_eq(x_209, x_210); +if (x_211 == 0) { -lean_object* x_206; lean_object* x_207; lean_object* x_208; +lean_object* x_212; lean_object* x_213; lean_object* x_214; if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); lean_ctor_release(x_1, 1); - x_206 = x_1; + x_212 = x_1; } else { lean_dec_ref(x_1); - x_206 = lean_box(0); + x_212 = lean_box(0); } -if (lean_is_scalar(x_206)) { - x_207 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_212)) { + x_213 = lean_alloc_ctor(0, 2, 0); } else { - x_207 = x_206; + x_213 = x_212; } -lean_ctor_set(x_207, 0, x_78); -lean_ctor_set(x_207, 1, x_201); -x_208 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_208, 0, x_207); -lean_ctor_set(x_208, 1, x_202); -return x_208; -} -else -{ -size_t x_209; uint8_t x_210; -x_209 = lean_ptr_addr(x_78); -x_210 = lean_usize_dec_eq(x_209, x_209); -if (x_210 == 0) -{ -lean_object* x_211; lean_object* x_212; lean_object* x_213; -if (lean_is_exclusive(x_1)) { - lean_ctor_release(x_1, 0); - lean_ctor_release(x_1, 1); - x_211 = x_1; -} else { - lean_dec_ref(x_1); - x_211 = lean_box(0); -} -if (lean_is_scalar(x_211)) { - x_212 = lean_alloc_ctor(0, 2, 0); -} else { - x_212 = x_211; -} -lean_ctor_set(x_212, 0, x_78); -lean_ctor_set(x_212, 1, x_201); -x_213 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_213, 0, x_212); -lean_ctor_set(x_213, 1, x_202); -return x_213; -} -else -{ -lean_object* x_214; -lean_dec(x_201); -lean_dec(x_78); +lean_ctor_set(x_213, 0, x_190); +lean_ctor_set(x_213, 1, x_207); x_214 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_214, 0, x_1); -lean_ctor_set(x_214, 1, x_202); +lean_ctor_set(x_214, 0, x_213); +lean_ctor_set(x_214, 1, x_208); return x_214; } +else +{ +size_t x_215; uint8_t x_216; +x_215 = lean_ptr_addr(x_190); +x_216 = lean_usize_dec_eq(x_215, x_215); +if (x_216 == 0) +{ +lean_object* x_217; lean_object* x_218; lean_object* x_219; +if (lean_is_exclusive(x_1)) { + lean_ctor_release(x_1, 0); + lean_ctor_release(x_1, 1); + x_217 = x_1; +} else { + lean_dec_ref(x_1); + x_217 = lean_box(0); +} +if (lean_is_scalar(x_217)) { + x_218 = lean_alloc_ctor(0, 2, 0); +} else { + x_218 = x_217; +} +lean_ctor_set(x_218, 0, x_190); +lean_ctor_set(x_218, 1, x_207); +x_219 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_219, 0, x_218); +lean_ctor_set(x_219, 1, x_208); +return x_219; +} +else +{ +lean_object* x_220; +lean_dec(x_207); +lean_dec(x_190); +x_220 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_220, 0, x_1); +lean_ctor_set(x_220, 1, x_208); +return x_220; +} } } } else { -uint8_t x_215; -lean_dec(x_78); -lean_dec(x_7); -lean_dec(x_1); -x_215 = !lean_is_exclusive(x_185); -if (x_215 == 0) -{ -return x_185; -} -else -{ -lean_object* x_216; lean_object* x_217; lean_object* x_218; -x_216 = lean_ctor_get(x_185, 0); -x_217 = lean_ctor_get(x_185, 1); -lean_inc(x_217); -lean_inc(x_216); -lean_dec(x_185); -x_218 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_218, 0, x_216); -lean_ctor_set(x_218, 1, x_217); -return x_218; -} -} -} -} -case 6: -{ -lean_object* x_219; lean_object* x_220; -x_219 = lean_ctor_get(x_1, 0); -lean_inc(x_219); -lean_inc(x_7); -x_220 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_7, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_220) == 0) -{ uint8_t x_221; -x_221 = !lean_is_exclusive(x_220); +lean_dec(x_190); +lean_dec(x_7); +lean_dec(x_1); +x_221 = !lean_is_exclusive(x_191); if (x_221 == 0) { -lean_object* x_222; size_t x_223; size_t x_224; uint8_t x_225; -x_222 = lean_ctor_get(x_220, 0); -x_223 = lean_ptr_addr(x_7); -lean_dec(x_7); -x_224 = lean_ptr_addr(x_222); -x_225 = lean_usize_dec_eq(x_223, x_224); -if (x_225 == 0) -{ -uint8_t x_226; -x_226 = !lean_is_exclusive(x_1); -if (x_226 == 0) -{ -lean_object* x_227; lean_object* x_228; -x_227 = lean_ctor_get(x_1, 1); -lean_dec(x_227); -x_228 = lean_ctor_get(x_1, 0); -lean_dec(x_228); -lean_ctor_set(x_1, 1, x_222); -lean_ctor_set(x_220, 0, x_1); -return x_220; +return x_191; } else { -lean_object* x_229; -lean_dec(x_1); -x_229 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_229, 0, x_219); -lean_ctor_set(x_229, 1, x_222); -lean_ctor_set(x_220, 0, x_229); -return x_220; -} -} -else -{ -size_t x_230; uint8_t x_231; -x_230 = lean_ptr_addr(x_219); -x_231 = lean_usize_dec_eq(x_230, x_230); -if (x_231 == 0) -{ -uint8_t x_232; -x_232 = !lean_is_exclusive(x_1); -if (x_232 == 0) -{ -lean_object* x_233; lean_object* x_234; -x_233 = lean_ctor_get(x_1, 1); -lean_dec(x_233); -x_234 = lean_ctor_get(x_1, 0); -lean_dec(x_234); -lean_ctor_set(x_1, 1, x_222); -lean_ctor_set(x_220, 0, x_1); -return x_220; -} -else -{ -lean_object* x_235; -lean_dec(x_1); -x_235 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_235, 0, x_219); -lean_ctor_set(x_235, 1, x_222); -lean_ctor_set(x_220, 0, x_235); -return x_220; -} -} -else -{ -lean_dec(x_222); -lean_dec(x_219); -lean_ctor_set(x_220, 0, x_1); -return x_220; -} -} -} -else -{ -lean_object* x_236; lean_object* x_237; size_t x_238; size_t x_239; uint8_t x_240; -x_236 = lean_ctor_get(x_220, 0); -x_237 = lean_ctor_get(x_220, 1); -lean_inc(x_237); -lean_inc(x_236); -lean_dec(x_220); -x_238 = lean_ptr_addr(x_7); -lean_dec(x_7); -x_239 = lean_ptr_addr(x_236); -x_240 = lean_usize_dec_eq(x_238, x_239); -if (x_240 == 0) -{ -lean_object* x_241; lean_object* x_242; lean_object* x_243; -if (lean_is_exclusive(x_1)) { - lean_ctor_release(x_1, 0); - lean_ctor_release(x_1, 1); - x_241 = x_1; -} else { - lean_dec_ref(x_1); - x_241 = lean_box(0); -} -if (lean_is_scalar(x_241)) { - x_242 = lean_alloc_ctor(0, 2, 0); -} else { - x_242 = x_241; -} -lean_ctor_set(x_242, 0, x_219); -lean_ctor_set(x_242, 1, x_236); -x_243 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_243, 0, x_242); -lean_ctor_set(x_243, 1, x_237); -return x_243; -} -else -{ -size_t x_244; uint8_t x_245; -x_244 = lean_ptr_addr(x_219); -x_245 = lean_usize_dec_eq(x_244, x_244); -if (x_245 == 0) -{ -lean_object* x_246; lean_object* x_247; lean_object* x_248; -if (lean_is_exclusive(x_1)) { - lean_ctor_release(x_1, 0); - lean_ctor_release(x_1, 1); - x_246 = x_1; -} else { - lean_dec_ref(x_1); - x_246 = lean_box(0); -} -if (lean_is_scalar(x_246)) { - x_247 = lean_alloc_ctor(0, 2, 0); -} else { - x_247 = x_246; -} -lean_ctor_set(x_247, 0, x_219); -lean_ctor_set(x_247, 1, x_236); -x_248 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_248, 0, x_247); -lean_ctor_set(x_248, 1, x_237); -return x_248; -} -else -{ -lean_object* x_249; -lean_dec(x_236); -lean_dec(x_219); -x_249 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_249, 0, x_1); -lean_ctor_set(x_249, 1, x_237); -return x_249; -} -} -} -} -else -{ -uint8_t x_250; -lean_dec(x_219); -lean_dec(x_7); -lean_dec(x_1); -x_250 = !lean_is_exclusive(x_220); -if (x_250 == 0) -{ -return x_220; -} -else -{ -lean_object* x_251; lean_object* x_252; lean_object* x_253; -x_251 = lean_ctor_get(x_220, 0); -x_252 = lean_ctor_get(x_220, 1); -lean_inc(x_252); -lean_inc(x_251); -lean_dec(x_220); -x_253 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_253, 0, x_251); -lean_ctor_set(x_253, 1, x_252); -return x_253; +lean_object* x_222; lean_object* x_223; lean_object* x_224; +x_222 = lean_ctor_get(x_191, 0); +x_223 = lean_ctor_get(x_191, 1); +lean_inc(x_223); +lean_inc(x_222); +lean_dec(x_191); +x_224 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_224, 0, x_222); +lean_ctor_set(x_224, 1, x_223); +return x_224; } } } default: { -lean_object* x_254; lean_object* x_255; -x_254 = lean_ctor_get(x_1, 0); -lean_inc(x_254); +lean_object* x_225; lean_object* x_226; +x_225 = lean_ctor_get(x_1, 0); +lean_inc(x_225); lean_inc(x_7); -x_255 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_7, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_255) == 0) +x_226 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_7, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_226) == 0) { -uint8_t x_256; -x_256 = !lean_is_exclusive(x_255); -if (x_256 == 0) +uint8_t x_227; +x_227 = !lean_is_exclusive(x_226); +if (x_227 == 0) { -lean_object* x_257; size_t x_258; uint8_t x_259; -x_257 = lean_ctor_get(x_255, 0); -x_258 = lean_ptr_addr(x_7); -x_259 = !lean_is_exclusive(x_7); -if (x_259 == 0) +lean_object* x_228; size_t x_229; uint8_t x_230; +x_228 = lean_ctor_get(x_226, 0); +x_229 = lean_ptr_addr(x_7); +x_230 = !lean_is_exclusive(x_7); +if (x_230 == 0) { -lean_object* x_260; lean_object* x_261; size_t x_262; uint8_t x_263; -x_260 = lean_ctor_get(x_7, 1); -lean_dec(x_260); -x_261 = lean_ctor_get(x_7, 0); -lean_dec(x_261); -x_262 = lean_ptr_addr(x_257); -x_263 = lean_usize_dec_eq(x_258, x_262); -if (x_263 == 0) +lean_object* x_231; lean_object* x_232; size_t x_233; uint8_t x_234; +x_231 = lean_ctor_get(x_7, 1); +lean_dec(x_231); +x_232 = lean_ctor_get(x_7, 0); +lean_dec(x_232); +x_233 = lean_ptr_addr(x_228); +x_234 = lean_usize_dec_eq(x_229, x_233); +if (x_234 == 0) { lean_dec(x_1); lean_ctor_set_tag(x_7, 0); -lean_ctor_set(x_7, 1, x_257); -lean_ctor_set(x_7, 0, x_254); -lean_ctor_set(x_255, 0, x_7); -return x_255; +lean_ctor_set(x_7, 1, x_228); +lean_ctor_set(x_7, 0, x_225); +lean_ctor_set(x_226, 0, x_7); +return x_226; } else { -size_t x_264; uint8_t x_265; -x_264 = lean_ptr_addr(x_254); -x_265 = lean_usize_dec_eq(x_264, x_264); -if (x_265 == 0) +size_t x_235; uint8_t x_236; +x_235 = lean_ptr_addr(x_225); +x_236 = lean_usize_dec_eq(x_235, x_235); +if (x_236 == 0) { lean_dec(x_1); lean_ctor_set_tag(x_7, 0); -lean_ctor_set(x_7, 1, x_257); -lean_ctor_set(x_7, 0, x_254); -lean_ctor_set(x_255, 0, x_7); -return x_255; +lean_ctor_set(x_7, 1, x_228); +lean_ctor_set(x_7, 0, x_225); +lean_ctor_set(x_226, 0, x_7); +return x_226; } else { lean_free_object(x_7); -lean_dec(x_257); -lean_dec(x_254); -lean_ctor_set(x_255, 0, x_1); -return x_255; +lean_dec(x_228); +lean_dec(x_225); +lean_ctor_set(x_226, 0, x_1); +return x_226; } } } else { -size_t x_266; uint8_t x_267; +size_t x_237; uint8_t x_238; lean_dec(x_7); -x_266 = lean_ptr_addr(x_257); -x_267 = lean_usize_dec_eq(x_258, x_266); -if (x_267 == 0) +x_237 = lean_ptr_addr(x_228); +x_238 = lean_usize_dec_eq(x_229, x_237); +if (x_238 == 0) { -lean_object* x_268; +lean_object* x_239; lean_dec(x_1); -x_268 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_268, 0, x_254); -lean_ctor_set(x_268, 1, x_257); -lean_ctor_set(x_255, 0, x_268); -return x_255; +x_239 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_239, 0, x_225); +lean_ctor_set(x_239, 1, x_228); +lean_ctor_set(x_226, 0, x_239); +return x_226; } else { -size_t x_269; uint8_t x_270; -x_269 = lean_ptr_addr(x_254); -x_270 = lean_usize_dec_eq(x_269, x_269); -if (x_270 == 0) +size_t x_240; uint8_t x_241; +x_240 = lean_ptr_addr(x_225); +x_241 = lean_usize_dec_eq(x_240, x_240); +if (x_241 == 0) { -lean_object* x_271; +lean_object* x_242; lean_dec(x_1); -x_271 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_271, 0, x_254); -lean_ctor_set(x_271, 1, x_257); -lean_ctor_set(x_255, 0, x_271); -return x_255; +x_242 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_242, 0, x_225); +lean_ctor_set(x_242, 1, x_228); +lean_ctor_set(x_226, 0, x_242); +return x_226; } else { -lean_dec(x_257); -lean_dec(x_254); -lean_ctor_set(x_255, 0, x_1); -return x_255; +lean_dec(x_228); +lean_dec(x_225); +lean_ctor_set(x_226, 0, x_1); +return x_226; } } } } else { -lean_object* x_272; lean_object* x_273; size_t x_274; lean_object* x_275; size_t x_276; uint8_t x_277; -x_272 = lean_ctor_get(x_255, 0); -x_273 = lean_ctor_get(x_255, 1); -lean_inc(x_273); -lean_inc(x_272); -lean_dec(x_255); -x_274 = lean_ptr_addr(x_7); +lean_object* x_243; lean_object* x_244; size_t x_245; lean_object* x_246; size_t x_247; uint8_t x_248; +x_243 = lean_ctor_get(x_226, 0); +x_244 = lean_ctor_get(x_226, 1); +lean_inc(x_244); +lean_inc(x_243); +lean_dec(x_226); +x_245 = lean_ptr_addr(x_7); if (lean_is_exclusive(x_7)) { lean_ctor_release(x_7, 0); lean_ctor_release(x_7, 1); - x_275 = x_7; + x_246 = x_7; } else { lean_dec_ref(x_7); - x_275 = lean_box(0); + x_246 = lean_box(0); } -x_276 = lean_ptr_addr(x_272); -x_277 = lean_usize_dec_eq(x_274, x_276); -if (x_277 == 0) +x_247 = lean_ptr_addr(x_243); +x_248 = lean_usize_dec_eq(x_245, x_247); +if (x_248 == 0) { -lean_object* x_278; lean_object* x_279; +lean_object* x_249; lean_object* x_250; lean_dec(x_1); -if (lean_is_scalar(x_275)) { - x_278 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_246)) { + x_249 = lean_alloc_ctor(0, 2, 0); } else { - x_278 = x_275; - lean_ctor_set_tag(x_278, 0); + x_249 = x_246; + lean_ctor_set_tag(x_249, 0); } -lean_ctor_set(x_278, 0, x_254); -lean_ctor_set(x_278, 1, x_272); -x_279 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_279, 0, x_278); -lean_ctor_set(x_279, 1, x_273); -return x_279; +lean_ctor_set(x_249, 0, x_225); +lean_ctor_set(x_249, 1, x_243); +x_250 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_250, 0, x_249); +lean_ctor_set(x_250, 1, x_244); +return x_250; } else { -size_t x_280; uint8_t x_281; -x_280 = lean_ptr_addr(x_254); -x_281 = lean_usize_dec_eq(x_280, x_280); -if (x_281 == 0) +size_t x_251; uint8_t x_252; +x_251 = lean_ptr_addr(x_225); +x_252 = lean_usize_dec_eq(x_251, x_251); +if (x_252 == 0) { -lean_object* x_282; lean_object* x_283; +lean_object* x_253; lean_object* x_254; lean_dec(x_1); -if (lean_is_scalar(x_275)) { - x_282 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_246)) { + x_253 = lean_alloc_ctor(0, 2, 0); } else { - x_282 = x_275; - lean_ctor_set_tag(x_282, 0); + x_253 = x_246; + lean_ctor_set_tag(x_253, 0); } -lean_ctor_set(x_282, 0, x_254); -lean_ctor_set(x_282, 1, x_272); -x_283 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_283, 0, x_282); -lean_ctor_set(x_283, 1, x_273); -return x_283; +lean_ctor_set(x_253, 0, x_225); +lean_ctor_set(x_253, 1, x_243); +x_254 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_254, 0, x_253); +lean_ctor_set(x_254, 1, x_244); +return x_254; } else { -lean_object* x_284; -lean_dec(x_275); -lean_dec(x_272); -lean_dec(x_254); -x_284 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_284, 0, x_1); -lean_ctor_set(x_284, 1, x_273); -return x_284; -} -} -} -} -else -{ -uint8_t x_285; -lean_dec(x_254); -lean_dec(x_7); -lean_dec(x_1); -x_285 = !lean_is_exclusive(x_255); -if (x_285 == 0) -{ +lean_object* x_255; +lean_dec(x_246); +lean_dec(x_243); +lean_dec(x_225); +x_255 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_255, 0, x_1); +lean_ctor_set(x_255, 1, x_244); return x_255; } +} +} +} else { -lean_object* x_286; lean_object* x_287; lean_object* x_288; -x_286 = lean_ctor_get(x_255, 0); -x_287 = lean_ctor_get(x_255, 1); -lean_inc(x_287); -lean_inc(x_286); -lean_dec(x_255); -x_288 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_288, 0, x_286); -lean_ctor_set(x_288, 1, x_287); -return x_288; +uint8_t x_256; +lean_dec(x_225); +lean_dec(x_7); +lean_dec(x_1); +x_256 = !lean_is_exclusive(x_226); +if (x_256 == 0) +{ +return x_226; +} +else +{ +lean_object* x_257; lean_object* x_258; lean_object* x_259; +x_257 = lean_ctor_get(x_226, 0); +x_258 = lean_ctor_get(x_226, 1); +lean_inc(x_258); +lean_inc(x_257); +lean_dec(x_226); +x_259 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_259, 0, x_257); +lean_ctor_set(x_259, 1, x_258); +return x_259; } } } @@ -5797,503 +5676,662 @@ return x_288; } case 1: { -lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295; -x_289 = lean_ctor_get(x_1, 0); -lean_inc(x_289); -x_290 = lean_ctor_get(x_1, 1); -lean_inc(x_290); -x_291 = lean_ctor_get(x_289, 0); -lean_inc(x_291); -x_292 = lean_ctor_get(x_289, 2); -lean_inc(x_292); -x_293 = lean_ctor_get(x_289, 3); -lean_inc(x_293); -x_294 = lean_ctor_get(x_289, 4); -lean_inc(x_294); -lean_inc(x_291); +lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; +x_260 = lean_ctor_get(x_1, 0); +lean_inc(x_260); +x_261 = lean_ctor_get(x_1, 1); +lean_inc(x_261); +x_262 = lean_ctor_get(x_260, 0); +lean_inc(x_262); +x_263 = lean_ctor_get(x_260, 2); +lean_inc(x_263); +x_264 = lean_ctor_get(x_260, 3); +lean_inc(x_264); +x_265 = lean_ctor_get(x_260, 4); +lean_inc(x_265); +lean_inc(x_262); lean_inc(x_2); -x_295 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_JoinPointFinder_replace_go___spec__3(x_2, x_291); -if (lean_obj_tag(x_295) == 0) +x_266 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_JoinPointFinder_replace_go___spec__3(x_2, x_262); +if (lean_obj_tag(x_266) == 0) { -lean_object* x_296; -lean_dec(x_291); +lean_object* x_267; +lean_dec(x_262); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -x_296 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_294, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_296) == 0) +x_267 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_265, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_267) == 0) { -lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; -x_297 = lean_ctor_get(x_296, 0); -lean_inc(x_297); -x_298 = lean_ctor_get(x_296, 1); -lean_inc(x_298); -lean_dec(x_296); -lean_inc(x_289); -x_299 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateFunDeclImp(x_289, x_293, x_292, x_297, x_3, x_4, x_5, x_298); -x_300 = lean_ctor_get(x_299, 0); -lean_inc(x_300); -x_301 = lean_ctor_get(x_299, 1); -lean_inc(x_301); -lean_dec(x_299); +lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; +x_268 = lean_ctor_get(x_267, 0); +lean_inc(x_268); +x_269 = lean_ctor_get(x_267, 1); +lean_inc(x_269); +lean_dec(x_267); +lean_inc(x_260); +x_270 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateFunDeclImp(x_260, x_264, x_263, x_268, x_3, x_4, x_5, x_269); +x_271 = lean_ctor_get(x_270, 0); +lean_inc(x_271); +x_272 = lean_ctor_get(x_270, 1); +lean_inc(x_272); +lean_dec(x_270); +lean_inc(x_261); +x_273 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_261, x_2, x_3, x_4, x_5, x_272); +if (lean_obj_tag(x_273) == 0) +{ +uint8_t x_274; +x_274 = !lean_is_exclusive(x_273); +if (x_274 == 0) +{ +lean_object* x_275; size_t x_276; size_t x_277; uint8_t x_278; +x_275 = lean_ctor_get(x_273, 0); +x_276 = lean_ptr_addr(x_261); +lean_dec(x_261); +x_277 = lean_ptr_addr(x_275); +x_278 = lean_usize_dec_eq(x_276, x_277); +if (x_278 == 0) +{ +uint8_t x_279; +lean_dec(x_260); +x_279 = !lean_is_exclusive(x_1); +if (x_279 == 0) +{ +lean_object* x_280; lean_object* x_281; +x_280 = lean_ctor_get(x_1, 1); +lean_dec(x_280); +x_281 = lean_ctor_get(x_1, 0); +lean_dec(x_281); +lean_ctor_set(x_1, 1, x_275); +lean_ctor_set(x_1, 0, x_271); +lean_ctor_set(x_273, 0, x_1); +return x_273; +} +else +{ +lean_object* x_282; +lean_dec(x_1); +x_282 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_282, 0, x_271); +lean_ctor_set(x_282, 1, x_275); +lean_ctor_set(x_273, 0, x_282); +return x_273; +} +} +else +{ +size_t x_283; size_t x_284; uint8_t x_285; +x_283 = lean_ptr_addr(x_260); +lean_dec(x_260); +x_284 = lean_ptr_addr(x_271); +x_285 = lean_usize_dec_eq(x_283, x_284); +if (x_285 == 0) +{ +uint8_t x_286; +x_286 = !lean_is_exclusive(x_1); +if (x_286 == 0) +{ +lean_object* x_287; lean_object* x_288; +x_287 = lean_ctor_get(x_1, 1); +lean_dec(x_287); +x_288 = lean_ctor_get(x_1, 0); +lean_dec(x_288); +lean_ctor_set(x_1, 1, x_275); +lean_ctor_set(x_1, 0, x_271); +lean_ctor_set(x_273, 0, x_1); +return x_273; +} +else +{ +lean_object* x_289; +lean_dec(x_1); +x_289 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_289, 0, x_271); +lean_ctor_set(x_289, 1, x_275); +lean_ctor_set(x_273, 0, x_289); +return x_273; +} +} +else +{ +lean_dec(x_275); +lean_dec(x_271); +lean_ctor_set(x_273, 0, x_1); +return x_273; +} +} +} +else +{ +lean_object* x_290; lean_object* x_291; size_t x_292; size_t x_293; uint8_t x_294; +x_290 = lean_ctor_get(x_273, 0); +x_291 = lean_ctor_get(x_273, 1); +lean_inc(x_291); lean_inc(x_290); -x_302 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_290, x_2, x_3, x_4, x_5, x_301); -if (lean_obj_tag(x_302) == 0) +lean_dec(x_273); +x_292 = lean_ptr_addr(x_261); +lean_dec(x_261); +x_293 = lean_ptr_addr(x_290); +x_294 = lean_usize_dec_eq(x_292, x_293); +if (x_294 == 0) { -uint8_t x_303; -x_303 = !lean_is_exclusive(x_302); -if (x_303 == 0) -{ -lean_object* x_304; size_t x_305; size_t x_306; uint8_t x_307; -x_304 = lean_ctor_get(x_302, 0); -x_305 = lean_ptr_addr(x_290); -lean_dec(x_290); -x_306 = lean_ptr_addr(x_304); -x_307 = lean_usize_dec_eq(x_305, x_306); -if (x_307 == 0) -{ -uint8_t x_308; -lean_dec(x_289); -x_308 = !lean_is_exclusive(x_1); -if (x_308 == 0) -{ -lean_object* x_309; lean_object* x_310; -x_309 = lean_ctor_get(x_1, 1); -lean_dec(x_309); -x_310 = lean_ctor_get(x_1, 0); -lean_dec(x_310); -lean_ctor_set(x_1, 1, x_304); -lean_ctor_set(x_1, 0, x_300); -lean_ctor_set(x_302, 0, x_1); -return x_302; -} -else -{ -lean_object* x_311; -lean_dec(x_1); -x_311 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_311, 0, x_300); -lean_ctor_set(x_311, 1, x_304); -lean_ctor_set(x_302, 0, x_311); -return x_302; -} -} -else -{ -size_t x_312; size_t x_313; uint8_t x_314; -x_312 = lean_ptr_addr(x_289); -lean_dec(x_289); -x_313 = lean_ptr_addr(x_300); -x_314 = lean_usize_dec_eq(x_312, x_313); -if (x_314 == 0) -{ -uint8_t x_315; -x_315 = !lean_is_exclusive(x_1); -if (x_315 == 0) -{ -lean_object* x_316; lean_object* x_317; -x_316 = lean_ctor_get(x_1, 1); -lean_dec(x_316); -x_317 = lean_ctor_get(x_1, 0); -lean_dec(x_317); -lean_ctor_set(x_1, 1, x_304); -lean_ctor_set(x_1, 0, x_300); -lean_ctor_set(x_302, 0, x_1); -return x_302; -} -else -{ -lean_object* x_318; -lean_dec(x_1); -x_318 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_318, 0, x_300); -lean_ctor_set(x_318, 1, x_304); -lean_ctor_set(x_302, 0, x_318); -return x_302; -} -} -else -{ -lean_dec(x_304); -lean_dec(x_300); -lean_ctor_set(x_302, 0, x_1); -return x_302; -} -} -} -else -{ -lean_object* x_319; lean_object* x_320; size_t x_321; size_t x_322; uint8_t x_323; -x_319 = lean_ctor_get(x_302, 0); -x_320 = lean_ctor_get(x_302, 1); -lean_inc(x_320); -lean_inc(x_319); -lean_dec(x_302); -x_321 = lean_ptr_addr(x_290); -lean_dec(x_290); -x_322 = lean_ptr_addr(x_319); -x_323 = lean_usize_dec_eq(x_321, x_322); -if (x_323 == 0) -{ -lean_object* x_324; lean_object* x_325; lean_object* x_326; -lean_dec(x_289); +lean_object* x_295; lean_object* x_296; lean_object* x_297; +lean_dec(x_260); if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); lean_ctor_release(x_1, 1); - x_324 = x_1; + x_295 = x_1; } else { lean_dec_ref(x_1); - x_324 = lean_box(0); + x_295 = lean_box(0); } -if (lean_is_scalar(x_324)) { - x_325 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_295)) { + x_296 = lean_alloc_ctor(1, 2, 0); } else { - x_325 = x_324; + x_296 = x_295; } -lean_ctor_set(x_325, 0, x_300); -lean_ctor_set(x_325, 1, x_319); -x_326 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_326, 0, x_325); -lean_ctor_set(x_326, 1, x_320); -return x_326; +lean_ctor_set(x_296, 0, x_271); +lean_ctor_set(x_296, 1, x_290); +x_297 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_297, 0, x_296); +lean_ctor_set(x_297, 1, x_291); +return x_297; } else { -size_t x_327; size_t x_328; uint8_t x_329; -x_327 = lean_ptr_addr(x_289); -lean_dec(x_289); -x_328 = lean_ptr_addr(x_300); -x_329 = lean_usize_dec_eq(x_327, x_328); +size_t x_298; size_t x_299; uint8_t x_300; +x_298 = lean_ptr_addr(x_260); +lean_dec(x_260); +x_299 = lean_ptr_addr(x_271); +x_300 = lean_usize_dec_eq(x_298, x_299); +if (x_300 == 0) +{ +lean_object* x_301; lean_object* x_302; lean_object* x_303; +if (lean_is_exclusive(x_1)) { + lean_ctor_release(x_1, 0); + lean_ctor_release(x_1, 1); + x_301 = x_1; +} else { + lean_dec_ref(x_1); + x_301 = lean_box(0); +} +if (lean_is_scalar(x_301)) { + x_302 = lean_alloc_ctor(1, 2, 0); +} else { + x_302 = x_301; +} +lean_ctor_set(x_302, 0, x_271); +lean_ctor_set(x_302, 1, x_290); +x_303 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_303, 0, x_302); +lean_ctor_set(x_303, 1, x_291); +return x_303; +} +else +{ +lean_object* x_304; +lean_dec(x_290); +lean_dec(x_271); +x_304 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_304, 0, x_1); +lean_ctor_set(x_304, 1, x_291); +return x_304; +} +} +} +} +else +{ +uint8_t x_305; +lean_dec(x_271); +lean_dec(x_261); +lean_dec(x_260); +lean_dec(x_1); +x_305 = !lean_is_exclusive(x_273); +if (x_305 == 0) +{ +return x_273; +} +else +{ +lean_object* x_306; lean_object* x_307; lean_object* x_308; +x_306 = lean_ctor_get(x_273, 0); +x_307 = lean_ctor_get(x_273, 1); +lean_inc(x_307); +lean_inc(x_306); +lean_dec(x_273); +x_308 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_308, 0, x_306); +lean_ctor_set(x_308, 1, x_307); +return x_308; +} +} +} +else +{ +uint8_t x_309; +lean_dec(x_264); +lean_dec(x_263); +lean_dec(x_261); +lean_dec(x_260); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_309 = !lean_is_exclusive(x_267); +if (x_309 == 0) +{ +return x_267; +} +else +{ +lean_object* x_310; lean_object* x_311; lean_object* x_312; +x_310 = lean_ctor_get(x_267, 0); +x_311 = lean_ctor_get(x_267, 1); +lean_inc(x_311); +lean_inc(x_310); +lean_dec(x_267); +x_312 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_312, 0, x_310); +lean_ctor_set(x_312, 1, x_311); +return x_312; +} +} +} +else +{ +uint8_t x_313; +x_313 = !lean_is_exclusive(x_1); +if (x_313 == 0) +{ +lean_object* x_314; lean_object* x_315; uint8_t x_316; +x_314 = lean_ctor_get(x_1, 1); +lean_dec(x_314); +x_315 = lean_ctor_get(x_1, 0); +lean_dec(x_315); +x_316 = !lean_is_exclusive(x_260); +if (x_316 == 0) +{ +lean_object* x_317; lean_object* x_318; lean_object* x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; +x_317 = lean_ctor_get(x_260, 4); +lean_dec(x_317); +x_318 = lean_ctor_get(x_260, 3); +lean_dec(x_318); +x_319 = lean_ctor_get(x_260, 2); +lean_dec(x_319); +x_320 = lean_ctor_get(x_260, 1); +lean_dec(x_320); +x_321 = lean_ctor_get(x_260, 0); +lean_dec(x_321); +x_322 = lean_ctor_get(x_266, 0); +lean_inc(x_322); +lean_dec(x_266); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_323 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_265, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_323) == 0) +{ +lean_object* x_324; lean_object* x_325; lean_object* x_326; lean_object* x_327; lean_object* x_328; uint8_t x_329; +x_324 = lean_ctor_get(x_323, 0); +lean_inc(x_324); +x_325 = lean_ctor_get(x_323, 1); +lean_inc(x_325); +lean_dec(x_323); +lean_ctor_set(x_260, 4, x_324); +lean_ctor_set(x_260, 1, x_322); +x_326 = lean_st_ref_take(x_3, x_325); +x_327 = lean_ctor_get(x_326, 0); +lean_inc(x_327); +x_328 = lean_ctor_get(x_326, 1); +lean_inc(x_328); +lean_dec(x_326); +x_329 = !lean_is_exclusive(x_327); if (x_329 == 0) { -lean_object* x_330; lean_object* x_331; lean_object* x_332; -if (lean_is_exclusive(x_1)) { - lean_ctor_release(x_1, 0); - lean_ctor_release(x_1, 1); - x_330 = x_1; -} else { - lean_dec_ref(x_1); - x_330 = lean_box(0); -} -if (lean_is_scalar(x_330)) { - x_331 = lean_alloc_ctor(1, 2, 0); -} else { - x_331 = x_330; -} -lean_ctor_set(x_331, 0, x_300); -lean_ctor_set(x_331, 1, x_319); -x_332 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_332, 0, x_331); -lean_ctor_set(x_332, 1, x_320); -return x_332; +lean_object* x_330; lean_object* x_331; lean_object* x_332; lean_object* x_333; lean_object* x_334; +x_330 = lean_ctor_get(x_327, 0); +lean_inc(x_260); +x_331 = l_Lean_Compiler_LCNF_LCtx_addFunDecl(x_330, x_260); +lean_ctor_set(x_327, 0, x_331); +x_332 = lean_st_ref_set(x_3, x_327, x_328); +x_333 = lean_ctor_get(x_332, 1); +lean_inc(x_333); +lean_dec(x_332); +x_334 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_261, x_2, x_3, x_4, x_5, x_333); +if (lean_obj_tag(x_334) == 0) +{ +uint8_t x_335; +x_335 = !lean_is_exclusive(x_334); +if (x_335 == 0) +{ +lean_object* x_336; +x_336 = lean_ctor_get(x_334, 0); +lean_ctor_set_tag(x_1, 2); +lean_ctor_set(x_1, 1, x_336); +lean_ctor_set(x_334, 0, x_1); +return x_334; } else { -lean_object* x_333; -lean_dec(x_319); -lean_dec(x_300); -x_333 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_333, 0, x_1); -lean_ctor_set(x_333, 1, x_320); -return x_333; +lean_object* x_337; lean_object* x_338; lean_object* x_339; +x_337 = lean_ctor_get(x_334, 0); +x_338 = lean_ctor_get(x_334, 1); +lean_inc(x_338); +lean_inc(x_337); +lean_dec(x_334); +lean_ctor_set_tag(x_1, 2); +lean_ctor_set(x_1, 1, x_337); +x_339 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_339, 0, x_1); +lean_ctor_set(x_339, 1, x_338); +return x_339; } } +else +{ +uint8_t x_340; +lean_dec(x_260); +lean_free_object(x_1); +x_340 = !lean_is_exclusive(x_334); +if (x_340 == 0) +{ +return x_334; +} +else +{ +lean_object* x_341; lean_object* x_342; lean_object* x_343; +x_341 = lean_ctor_get(x_334, 0); +x_342 = lean_ctor_get(x_334, 1); +lean_inc(x_342); +lean_inc(x_341); +lean_dec(x_334); +x_343 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_343, 0, x_341); +lean_ctor_set(x_343, 1, x_342); +return x_343; +} } } else { -uint8_t x_334; -lean_dec(x_300); -lean_dec(x_290); -lean_dec(x_289); -lean_dec(x_1); -x_334 = !lean_is_exclusive(x_302); -if (x_334 == 0) -{ -return x_302; -} -else -{ -lean_object* x_335; lean_object* x_336; lean_object* x_337; -x_335 = lean_ctor_get(x_302, 0); -x_336 = lean_ctor_get(x_302, 1); -lean_inc(x_336); -lean_inc(x_335); -lean_dec(x_302); -x_337 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_337, 0, x_335); -lean_ctor_set(x_337, 1, x_336); -return x_337; -} -} -} -else -{ -uint8_t x_338; -lean_dec(x_293); -lean_dec(x_292); -lean_dec(x_290); -lean_dec(x_289); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_338 = !lean_is_exclusive(x_296); -if (x_338 == 0) -{ -return x_296; -} -else -{ -lean_object* x_339; lean_object* x_340; lean_object* x_341; -x_339 = lean_ctor_get(x_296, 0); -x_340 = lean_ctor_get(x_296, 1); -lean_inc(x_340); -lean_inc(x_339); -lean_dec(x_296); -x_341 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_341, 0, x_339); -lean_ctor_set(x_341, 1, x_340); -return x_341; -} -} -} -else -{ -uint8_t x_342; -x_342 = !lean_is_exclusive(x_1); -if (x_342 == 0) -{ -lean_object* x_343; lean_object* x_344; uint8_t x_345; -x_343 = lean_ctor_get(x_1, 1); -lean_dec(x_343); -x_344 = lean_ctor_get(x_1, 0); -lean_dec(x_344); -x_345 = !lean_is_exclusive(x_289); -if (x_345 == 0) -{ -lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; -x_346 = lean_ctor_get(x_289, 4); -lean_dec(x_346); -x_347 = lean_ctor_get(x_289, 3); -lean_dec(x_347); -x_348 = lean_ctor_get(x_289, 2); +lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; +x_344 = lean_ctor_get(x_327, 0); +x_345 = lean_ctor_get(x_327, 1); +lean_inc(x_345); +lean_inc(x_344); +lean_dec(x_327); +lean_inc(x_260); +x_346 = l_Lean_Compiler_LCNF_LCtx_addFunDecl(x_344, x_260); +x_347 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_347, 0, x_346); +lean_ctor_set(x_347, 1, x_345); +x_348 = lean_st_ref_set(x_3, x_347, x_328); +x_349 = lean_ctor_get(x_348, 1); +lean_inc(x_349); lean_dec(x_348); -x_349 = lean_ctor_get(x_289, 1); -lean_dec(x_349); -x_350 = lean_ctor_get(x_289, 0); -lean_dec(x_350); -x_351 = lean_ctor_get(x_295, 0); +x_350 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_261, x_2, x_3, x_4, x_5, x_349); +if (lean_obj_tag(x_350) == 0) +{ +lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; +x_351 = lean_ctor_get(x_350, 0); lean_inc(x_351); -lean_dec(x_295); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_352 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_294, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_352) == 0) +x_352 = lean_ctor_get(x_350, 1); +lean_inc(x_352); +if (lean_is_exclusive(x_350)) { + lean_ctor_release(x_350, 0); + lean_ctor_release(x_350, 1); + x_353 = x_350; +} else { + lean_dec_ref(x_350); + x_353 = lean_box(0); +} +lean_ctor_set_tag(x_1, 2); +lean_ctor_set(x_1, 1, x_351); +if (lean_is_scalar(x_353)) { + x_354 = lean_alloc_ctor(0, 2, 0); +} else { + x_354 = x_353; +} +lean_ctor_set(x_354, 0, x_1); +lean_ctor_set(x_354, 1, x_352); +return x_354; +} +else { -lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; uint8_t x_358; -x_353 = lean_ctor_get(x_352, 0); -lean_inc(x_353); -x_354 = lean_ctor_get(x_352, 1); -lean_inc(x_354); -lean_dec(x_352); -lean_ctor_set(x_289, 4, x_353); -lean_ctor_set(x_289, 1, x_351); -x_355 = lean_st_ref_take(x_3, x_354); -x_356 = lean_ctor_get(x_355, 0); +lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; +lean_dec(x_260); +lean_free_object(x_1); +x_355 = lean_ctor_get(x_350, 0); +lean_inc(x_355); +x_356 = lean_ctor_get(x_350, 1); lean_inc(x_356); -x_357 = lean_ctor_get(x_355, 1); -lean_inc(x_357); -lean_dec(x_355); -x_358 = !lean_is_exclusive(x_356); -if (x_358 == 0) -{ -lean_object* x_359; lean_object* x_360; lean_object* x_361; lean_object* x_362; lean_object* x_363; -x_359 = lean_ctor_get(x_356, 0); -lean_inc(x_289); -x_360 = l_Lean_Compiler_LCNF_LCtx_addFunDecl(x_359, x_289); -lean_ctor_set(x_356, 0, x_360); -x_361 = lean_st_ref_set(x_3, x_356, x_357); -x_362 = lean_ctor_get(x_361, 1); -lean_inc(x_362); -lean_dec(x_361); -x_363 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_290, x_2, x_3, x_4, x_5, x_362); -if (lean_obj_tag(x_363) == 0) -{ -uint8_t x_364; -x_364 = !lean_is_exclusive(x_363); -if (x_364 == 0) -{ -lean_object* x_365; -x_365 = lean_ctor_get(x_363, 0); -lean_ctor_set_tag(x_1, 2); -lean_ctor_set(x_1, 1, x_365); -lean_ctor_set(x_363, 0, x_1); -return x_363; +if (lean_is_exclusive(x_350)) { + lean_ctor_release(x_350, 0); + lean_ctor_release(x_350, 1); + x_357 = x_350; +} else { + lean_dec_ref(x_350); + x_357 = lean_box(0); +} +if (lean_is_scalar(x_357)) { + x_358 = lean_alloc_ctor(1, 2, 0); +} else { + x_358 = x_357; +} +lean_ctor_set(x_358, 0, x_355); +lean_ctor_set(x_358, 1, x_356); +return x_358; } -else -{ -lean_object* x_366; lean_object* x_367; lean_object* x_368; -x_366 = lean_ctor_get(x_363, 0); -x_367 = lean_ctor_get(x_363, 1); -lean_inc(x_367); -lean_inc(x_366); -lean_dec(x_363); -lean_ctor_set_tag(x_1, 2); -lean_ctor_set(x_1, 1, x_366); -x_368 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_368, 0, x_1); -lean_ctor_set(x_368, 1, x_367); -return x_368; } } else { -uint8_t x_369; -lean_dec(x_289); +uint8_t x_359; +lean_dec(x_322); +lean_free_object(x_260); lean_free_object(x_1); -x_369 = !lean_is_exclusive(x_363); -if (x_369 == 0) -{ -return x_363; -} -else -{ -lean_object* x_370; lean_object* x_371; lean_object* x_372; -x_370 = lean_ctor_get(x_363, 0); -x_371 = lean_ctor_get(x_363, 1); -lean_inc(x_371); -lean_inc(x_370); -lean_dec(x_363); -x_372 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_372, 0, x_370); -lean_ctor_set(x_372, 1, x_371); -return x_372; -} -} -} -else -{ -lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; -x_373 = lean_ctor_get(x_356, 0); -x_374 = lean_ctor_get(x_356, 1); -lean_inc(x_374); -lean_inc(x_373); -lean_dec(x_356); -lean_inc(x_289); -x_375 = l_Lean_Compiler_LCNF_LCtx_addFunDecl(x_373, x_289); -x_376 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_376, 0, x_375); -lean_ctor_set(x_376, 1, x_374); -x_377 = lean_st_ref_set(x_3, x_376, x_357); -x_378 = lean_ctor_get(x_377, 1); -lean_inc(x_378); -lean_dec(x_377); -x_379 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_290, x_2, x_3, x_4, x_5, x_378); -if (lean_obj_tag(x_379) == 0) -{ -lean_object* x_380; lean_object* x_381; lean_object* x_382; lean_object* x_383; -x_380 = lean_ctor_get(x_379, 0); -lean_inc(x_380); -x_381 = lean_ctor_get(x_379, 1); -lean_inc(x_381); -if (lean_is_exclusive(x_379)) { - lean_ctor_release(x_379, 0); - lean_ctor_release(x_379, 1); - x_382 = x_379; -} else { - lean_dec_ref(x_379); - x_382 = lean_box(0); -} -lean_ctor_set_tag(x_1, 2); -lean_ctor_set(x_1, 1, x_380); -if (lean_is_scalar(x_382)) { - x_383 = lean_alloc_ctor(0, 2, 0); -} else { - x_383 = x_382; -} -lean_ctor_set(x_383, 0, x_1); -lean_ctor_set(x_383, 1, x_381); -return x_383; -} -else -{ -lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; -lean_dec(x_289); -lean_free_object(x_1); -x_384 = lean_ctor_get(x_379, 0); -lean_inc(x_384); -x_385 = lean_ctor_get(x_379, 1); -lean_inc(x_385); -if (lean_is_exclusive(x_379)) { - lean_ctor_release(x_379, 0); - lean_ctor_release(x_379, 1); - x_386 = x_379; -} else { - lean_dec_ref(x_379); - x_386 = lean_box(0); -} -if (lean_is_scalar(x_386)) { - x_387 = lean_alloc_ctor(1, 2, 0); -} else { - x_387 = x_386; -} -lean_ctor_set(x_387, 0, x_384); -lean_ctor_set(x_387, 1, x_385); -return x_387; -} -} -} -else -{ -uint8_t x_388; -lean_dec(x_351); -lean_free_object(x_289); -lean_free_object(x_1); -lean_dec(x_293); -lean_dec(x_292); -lean_dec(x_291); -lean_dec(x_290); +lean_dec(x_264); +lean_dec(x_263); +lean_dec(x_262); +lean_dec(x_261); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_388 = !lean_is_exclusive(x_352); -if (x_388 == 0) +x_359 = !lean_is_exclusive(x_323); +if (x_359 == 0) { -return x_352; +return x_323; } else { -lean_object* x_389; lean_object* x_390; lean_object* x_391; -x_389 = lean_ctor_get(x_352, 0); -x_390 = lean_ctor_get(x_352, 1); -lean_inc(x_390); -lean_inc(x_389); -lean_dec(x_352); -x_391 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_391, 0, x_389); -lean_ctor_set(x_391, 1, x_390); -return x_391; +lean_object* x_360; lean_object* x_361; lean_object* x_362; +x_360 = lean_ctor_get(x_323, 0); +x_361 = lean_ctor_get(x_323, 1); +lean_inc(x_361); +lean_inc(x_360); +lean_dec(x_323); +x_362 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_362, 0, x_360); +lean_ctor_set(x_362, 1, x_361); +return x_362; } } } else { -lean_object* x_392; lean_object* x_393; -lean_dec(x_289); -x_392 = lean_ctor_get(x_295, 0); -lean_inc(x_392); -lean_dec(x_295); +lean_object* x_363; lean_object* x_364; +lean_dec(x_260); +x_363 = lean_ctor_get(x_266, 0); +lean_inc(x_363); +lean_dec(x_266); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -x_393 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_294, x_2, x_3, x_4, x_5, x_6); +x_364 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_265, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_364) == 0) +{ +lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369; lean_object* x_370; lean_object* x_371; lean_object* x_372; lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; +x_365 = lean_ctor_get(x_364, 0); +lean_inc(x_365); +x_366 = lean_ctor_get(x_364, 1); +lean_inc(x_366); +lean_dec(x_364); +x_367 = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(x_367, 0, x_262); +lean_ctor_set(x_367, 1, x_363); +lean_ctor_set(x_367, 2, x_263); +lean_ctor_set(x_367, 3, x_264); +lean_ctor_set(x_367, 4, x_365); +x_368 = lean_st_ref_take(x_3, x_366); +x_369 = lean_ctor_get(x_368, 0); +lean_inc(x_369); +x_370 = lean_ctor_get(x_368, 1); +lean_inc(x_370); +lean_dec(x_368); +x_371 = lean_ctor_get(x_369, 0); +lean_inc(x_371); +x_372 = lean_ctor_get(x_369, 1); +lean_inc(x_372); +if (lean_is_exclusive(x_369)) { + lean_ctor_release(x_369, 0); + lean_ctor_release(x_369, 1); + x_373 = x_369; +} else { + lean_dec_ref(x_369); + x_373 = lean_box(0); +} +lean_inc(x_367); +x_374 = l_Lean_Compiler_LCNF_LCtx_addFunDecl(x_371, x_367); +if (lean_is_scalar(x_373)) { + x_375 = lean_alloc_ctor(0, 2, 0); +} else { + x_375 = x_373; +} +lean_ctor_set(x_375, 0, x_374); +lean_ctor_set(x_375, 1, x_372); +x_376 = lean_st_ref_set(x_3, x_375, x_370); +x_377 = lean_ctor_get(x_376, 1); +lean_inc(x_377); +lean_dec(x_376); +x_378 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_261, x_2, x_3, x_4, x_5, x_377); +if (lean_obj_tag(x_378) == 0) +{ +lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382; +x_379 = lean_ctor_get(x_378, 0); +lean_inc(x_379); +x_380 = lean_ctor_get(x_378, 1); +lean_inc(x_380); +if (lean_is_exclusive(x_378)) { + lean_ctor_release(x_378, 0); + lean_ctor_release(x_378, 1); + x_381 = x_378; +} else { + lean_dec_ref(x_378); + x_381 = lean_box(0); +} +lean_ctor_set_tag(x_1, 2); +lean_ctor_set(x_1, 1, x_379); +lean_ctor_set(x_1, 0, x_367); +if (lean_is_scalar(x_381)) { + x_382 = lean_alloc_ctor(0, 2, 0); +} else { + x_382 = x_381; +} +lean_ctor_set(x_382, 0, x_1); +lean_ctor_set(x_382, 1, x_380); +return x_382; +} +else +{ +lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; +lean_dec(x_367); +lean_free_object(x_1); +x_383 = lean_ctor_get(x_378, 0); +lean_inc(x_383); +x_384 = lean_ctor_get(x_378, 1); +lean_inc(x_384); +if (lean_is_exclusive(x_378)) { + lean_ctor_release(x_378, 0); + lean_ctor_release(x_378, 1); + x_385 = x_378; +} else { + lean_dec_ref(x_378); + x_385 = lean_box(0); +} +if (lean_is_scalar(x_385)) { + x_386 = lean_alloc_ctor(1, 2, 0); +} else { + x_386 = x_385; +} +lean_ctor_set(x_386, 0, x_383); +lean_ctor_set(x_386, 1, x_384); +return x_386; +} +} +else +{ +lean_object* x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390; +lean_dec(x_363); +lean_free_object(x_1); +lean_dec(x_264); +lean_dec(x_263); +lean_dec(x_262); +lean_dec(x_261); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_387 = lean_ctor_get(x_364, 0); +lean_inc(x_387); +x_388 = lean_ctor_get(x_364, 1); +lean_inc(x_388); +if (lean_is_exclusive(x_364)) { + lean_ctor_release(x_364, 0); + lean_ctor_release(x_364, 1); + x_389 = x_364; +} else { + lean_dec_ref(x_364); + x_389 = lean_box(0); +} +if (lean_is_scalar(x_389)) { + x_390 = lean_alloc_ctor(1, 2, 0); +} else { + x_390 = x_389; +} +lean_ctor_set(x_390, 0, x_387); +lean_ctor_set(x_390, 1, x_388); +return x_390; +} +} +} +else +{ +lean_object* x_391; lean_object* x_392; lean_object* x_393; +lean_dec(x_1); +if (lean_is_exclusive(x_260)) { + lean_ctor_release(x_260, 0); + lean_ctor_release(x_260, 1); + lean_ctor_release(x_260, 2); + lean_ctor_release(x_260, 3); + lean_ctor_release(x_260, 4); + x_391 = x_260; +} else { + lean_dec_ref(x_260); + x_391 = lean_box(0); +} +x_392 = lean_ctor_get(x_266, 0); +lean_inc(x_392); +lean_dec(x_266); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_393 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_265, x_2, x_3, x_4, x_5, x_6); if (lean_obj_tag(x_393) == 0) { lean_object* x_394; lean_object* x_395; lean_object* x_396; lean_object* x_397; lean_object* x_398; lean_object* x_399; lean_object* x_400; lean_object* x_401; lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; @@ -6302,11 +6340,15 @@ lean_inc(x_394); x_395 = lean_ctor_get(x_393, 1); lean_inc(x_395); lean_dec(x_393); -x_396 = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(x_396, 0, x_291); +if (lean_is_scalar(x_391)) { + x_396 = lean_alloc_ctor(0, 5, 0); +} else { + x_396 = x_391; +} +lean_ctor_set(x_396, 0, x_262); lean_ctor_set(x_396, 1, x_392); -lean_ctor_set(x_396, 2, x_292); -lean_ctor_set(x_396, 3, x_293); +lean_ctor_set(x_396, 2, x_263); +lean_ctor_set(x_396, 3, x_264); lean_ctor_set(x_396, 4, x_394); x_397 = lean_st_ref_take(x_3, x_395); x_398 = lean_ctor_get(x_397, 0); @@ -6339,10 +6381,10 @@ x_405 = lean_st_ref_set(x_3, x_404, x_399); x_406 = lean_ctor_get(x_405, 1); lean_inc(x_406); lean_dec(x_405); -x_407 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_290, x_2, x_3, x_4, x_5, x_406); +x_407 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_261, x_2, x_3, x_4, x_5, x_406); if (lean_obj_tag(x_407) == 0) { -lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; +lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; lean_object* x_412; x_408 = lean_ctor_get(x_407, 0); lean_inc(x_408); x_409 = lean_ctor_get(x_407, 1); @@ -6355,953 +6397,790 @@ if (lean_is_exclusive(x_407)) { lean_dec_ref(x_407); x_410 = lean_box(0); } -lean_ctor_set_tag(x_1, 2); -lean_ctor_set(x_1, 1, x_408); -lean_ctor_set(x_1, 0, x_396); +x_411 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_411, 0, x_396); +lean_ctor_set(x_411, 1, x_408); if (lean_is_scalar(x_410)) { - x_411 = lean_alloc_ctor(0, 2, 0); + x_412 = lean_alloc_ctor(0, 2, 0); } else { - x_411 = x_410; + x_412 = x_410; } -lean_ctor_set(x_411, 0, x_1); -lean_ctor_set(x_411, 1, x_409); -return x_411; +lean_ctor_set(x_412, 0, x_411); +lean_ctor_set(x_412, 1, x_409); +return x_412; } else { -lean_object* x_412; lean_object* x_413; lean_object* x_414; lean_object* x_415; +lean_object* x_413; lean_object* x_414; lean_object* x_415; lean_object* x_416; lean_dec(x_396); -lean_free_object(x_1); -x_412 = lean_ctor_get(x_407, 0); -lean_inc(x_412); -x_413 = lean_ctor_get(x_407, 1); +x_413 = lean_ctor_get(x_407, 0); lean_inc(x_413); +x_414 = lean_ctor_get(x_407, 1); +lean_inc(x_414); if (lean_is_exclusive(x_407)) { lean_ctor_release(x_407, 0); lean_ctor_release(x_407, 1); - x_414 = x_407; + x_415 = x_407; } else { lean_dec_ref(x_407); - x_414 = lean_box(0); + x_415 = lean_box(0); } -if (lean_is_scalar(x_414)) { - x_415 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_415)) { + x_416 = lean_alloc_ctor(1, 2, 0); } else { - x_415 = x_414; + x_416 = x_415; } -lean_ctor_set(x_415, 0, x_412); -lean_ctor_set(x_415, 1, x_413); -return x_415; +lean_ctor_set(x_416, 0, x_413); +lean_ctor_set(x_416, 1, x_414); +return x_416; } } else { -lean_object* x_416; lean_object* x_417; lean_object* x_418; lean_object* x_419; +lean_object* x_417; lean_object* x_418; lean_object* x_419; lean_object* x_420; lean_dec(x_392); -lean_free_object(x_1); -lean_dec(x_293); -lean_dec(x_292); -lean_dec(x_291); -lean_dec(x_290); +lean_dec(x_391); +lean_dec(x_264); +lean_dec(x_263); +lean_dec(x_262); +lean_dec(x_261); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_416 = lean_ctor_get(x_393, 0); -lean_inc(x_416); -x_417 = lean_ctor_get(x_393, 1); +x_417 = lean_ctor_get(x_393, 0); lean_inc(x_417); +x_418 = lean_ctor_get(x_393, 1); +lean_inc(x_418); if (lean_is_exclusive(x_393)) { lean_ctor_release(x_393, 0); lean_ctor_release(x_393, 1); - x_418 = x_393; + x_419 = x_393; } else { lean_dec_ref(x_393); - x_418 = lean_box(0); + x_419 = lean_box(0); } -if (lean_is_scalar(x_418)) { - x_419 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_419)) { + x_420 = lean_alloc_ctor(1, 2, 0); } else { - x_419 = x_418; + x_420 = x_419; } -lean_ctor_set(x_419, 0, x_416); -lean_ctor_set(x_419, 1, x_417); -return x_419; -} -} -} -else -{ -lean_object* x_420; lean_object* x_421; lean_object* x_422; -lean_dec(x_1); -if (lean_is_exclusive(x_289)) { - lean_ctor_release(x_289, 0); - lean_ctor_release(x_289, 1); - lean_ctor_release(x_289, 2); - lean_ctor_release(x_289, 3); - lean_ctor_release(x_289, 4); - x_420 = x_289; -} else { - lean_dec_ref(x_289); - x_420 = lean_box(0); -} -x_421 = lean_ctor_get(x_295, 0); -lean_inc(x_421); -lean_dec(x_295); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_422 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_294, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_422) == 0) -{ -lean_object* x_423; lean_object* x_424; lean_object* x_425; lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; lean_object* x_434; lean_object* x_435; lean_object* x_436; -x_423 = lean_ctor_get(x_422, 0); -lean_inc(x_423); -x_424 = lean_ctor_get(x_422, 1); -lean_inc(x_424); -lean_dec(x_422); -if (lean_is_scalar(x_420)) { - x_425 = lean_alloc_ctor(0, 5, 0); -} else { - x_425 = x_420; -} -lean_ctor_set(x_425, 0, x_291); -lean_ctor_set(x_425, 1, x_421); -lean_ctor_set(x_425, 2, x_292); -lean_ctor_set(x_425, 3, x_293); -lean_ctor_set(x_425, 4, x_423); -x_426 = lean_st_ref_take(x_3, x_424); -x_427 = lean_ctor_get(x_426, 0); -lean_inc(x_427); -x_428 = lean_ctor_get(x_426, 1); -lean_inc(x_428); -lean_dec(x_426); -x_429 = lean_ctor_get(x_427, 0); -lean_inc(x_429); -x_430 = lean_ctor_get(x_427, 1); -lean_inc(x_430); -if (lean_is_exclusive(x_427)) { - lean_ctor_release(x_427, 0); - lean_ctor_release(x_427, 1); - x_431 = x_427; -} else { - lean_dec_ref(x_427); - x_431 = lean_box(0); -} -lean_inc(x_425); -x_432 = l_Lean_Compiler_LCNF_LCtx_addFunDecl(x_429, x_425); -if (lean_is_scalar(x_431)) { - x_433 = lean_alloc_ctor(0, 2, 0); -} else { - x_433 = x_431; -} -lean_ctor_set(x_433, 0, x_432); -lean_ctor_set(x_433, 1, x_430); -x_434 = lean_st_ref_set(x_3, x_433, x_428); -x_435 = lean_ctor_get(x_434, 1); -lean_inc(x_435); -lean_dec(x_434); -x_436 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_290, x_2, x_3, x_4, x_5, x_435); -if (lean_obj_tag(x_436) == 0) -{ -lean_object* x_437; lean_object* x_438; lean_object* x_439; lean_object* x_440; lean_object* x_441; -x_437 = lean_ctor_get(x_436, 0); -lean_inc(x_437); -x_438 = lean_ctor_get(x_436, 1); -lean_inc(x_438); -if (lean_is_exclusive(x_436)) { - lean_ctor_release(x_436, 0); - lean_ctor_release(x_436, 1); - x_439 = x_436; -} else { - lean_dec_ref(x_436); - x_439 = lean_box(0); -} -x_440 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_440, 0, x_425); -lean_ctor_set(x_440, 1, x_437); -if (lean_is_scalar(x_439)) { - x_441 = lean_alloc_ctor(0, 2, 0); -} else { - x_441 = x_439; -} -lean_ctor_set(x_441, 0, x_440); -lean_ctor_set(x_441, 1, x_438); -return x_441; -} -else -{ -lean_object* x_442; lean_object* x_443; lean_object* x_444; lean_object* x_445; -lean_dec(x_425); -x_442 = lean_ctor_get(x_436, 0); -lean_inc(x_442); -x_443 = lean_ctor_get(x_436, 1); -lean_inc(x_443); -if (lean_is_exclusive(x_436)) { - lean_ctor_release(x_436, 0); - lean_ctor_release(x_436, 1); - x_444 = x_436; -} else { - lean_dec_ref(x_436); - x_444 = lean_box(0); -} -if (lean_is_scalar(x_444)) { - x_445 = lean_alloc_ctor(1, 2, 0); -} else { - x_445 = x_444; -} -lean_ctor_set(x_445, 0, x_442); -lean_ctor_set(x_445, 1, x_443); -return x_445; -} -} -else -{ -lean_object* x_446; lean_object* x_447; lean_object* x_448; lean_object* x_449; -lean_dec(x_421); -lean_dec(x_420); -lean_dec(x_293); -lean_dec(x_292); -lean_dec(x_291); -lean_dec(x_290); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_446 = lean_ctor_get(x_422, 0); -lean_inc(x_446); -x_447 = lean_ctor_get(x_422, 1); -lean_inc(x_447); -if (lean_is_exclusive(x_422)) { - lean_ctor_release(x_422, 0); - lean_ctor_release(x_422, 1); - x_448 = x_422; -} else { - lean_dec_ref(x_422); - x_448 = lean_box(0); -} -if (lean_is_scalar(x_448)) { - x_449 = lean_alloc_ctor(1, 2, 0); -} else { - x_449 = x_448; -} -lean_ctor_set(x_449, 0, x_446); -lean_ctor_set(x_449, 1, x_447); -return x_449; +lean_ctor_set(x_420, 0, x_417); +lean_ctor_set(x_420, 1, x_418); +return x_420; } } } } case 2: { -lean_object* x_450; lean_object* x_451; lean_object* x_452; lean_object* x_453; -x_450 = lean_ctor_get(x_1, 0); -lean_inc(x_450); -x_451 = lean_ctor_get(x_1, 1); -lean_inc(x_451); -x_452 = lean_ctor_get(x_450, 4); -lean_inc(x_452); +lean_object* x_421; lean_object* x_422; lean_object* x_423; lean_object* x_424; +x_421 = lean_ctor_get(x_1, 0); +lean_inc(x_421); +x_422 = lean_ctor_get(x_1, 1); +lean_inc(x_422); +x_423 = lean_ctor_get(x_421, 4); +lean_inc(x_423); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -x_453 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_452, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_453) == 0) +x_424 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_423, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_424) == 0) { -lean_object* x_454; lean_object* x_455; lean_object* x_456; lean_object* x_457; lean_object* x_458; lean_object* x_459; lean_object* x_460; lean_object* x_461; -x_454 = lean_ctor_get(x_453, 0); -lean_inc(x_454); -x_455 = lean_ctor_get(x_453, 1); -lean_inc(x_455); -lean_dec(x_453); -x_456 = lean_ctor_get(x_450, 3); -lean_inc(x_456); -x_457 = lean_ctor_get(x_450, 2); -lean_inc(x_457); +lean_object* x_425; lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_object* x_432; +x_425 = lean_ctor_get(x_424, 0); +lean_inc(x_425); +x_426 = lean_ctor_get(x_424, 1); +lean_inc(x_426); +lean_dec(x_424); +x_427 = lean_ctor_get(x_421, 3); +lean_inc(x_427); +x_428 = lean_ctor_get(x_421, 2); +lean_inc(x_428); +lean_inc(x_421); +x_429 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateFunDeclImp(x_421, x_427, x_428, x_425, x_3, x_4, x_5, x_426); +x_430 = lean_ctor_get(x_429, 0); +lean_inc(x_430); +x_431 = lean_ctor_get(x_429, 1); +lean_inc(x_431); +lean_dec(x_429); +lean_inc(x_422); +x_432 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_422, x_2, x_3, x_4, x_5, x_431); +if (lean_obj_tag(x_432) == 0) +{ +uint8_t x_433; +x_433 = !lean_is_exclusive(x_432); +if (x_433 == 0) +{ +lean_object* x_434; size_t x_435; size_t x_436; uint8_t x_437; +x_434 = lean_ctor_get(x_432, 0); +x_435 = lean_ptr_addr(x_422); +lean_dec(x_422); +x_436 = lean_ptr_addr(x_434); +x_437 = lean_usize_dec_eq(x_435, x_436); +if (x_437 == 0) +{ +uint8_t x_438; +lean_dec(x_421); +x_438 = !lean_is_exclusive(x_1); +if (x_438 == 0) +{ +lean_object* x_439; lean_object* x_440; +x_439 = lean_ctor_get(x_1, 1); +lean_dec(x_439); +x_440 = lean_ctor_get(x_1, 0); +lean_dec(x_440); +lean_ctor_set(x_1, 1, x_434); +lean_ctor_set(x_1, 0, x_430); +lean_ctor_set(x_432, 0, x_1); +return x_432; +} +else +{ +lean_object* x_441; +lean_dec(x_1); +x_441 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_441, 0, x_430); +lean_ctor_set(x_441, 1, x_434); +lean_ctor_set(x_432, 0, x_441); +return x_432; +} +} +else +{ +size_t x_442; size_t x_443; uint8_t x_444; +x_442 = lean_ptr_addr(x_421); +lean_dec(x_421); +x_443 = lean_ptr_addr(x_430); +x_444 = lean_usize_dec_eq(x_442, x_443); +if (x_444 == 0) +{ +uint8_t x_445; +x_445 = !lean_is_exclusive(x_1); +if (x_445 == 0) +{ +lean_object* x_446; lean_object* x_447; +x_446 = lean_ctor_get(x_1, 1); +lean_dec(x_446); +x_447 = lean_ctor_get(x_1, 0); +lean_dec(x_447); +lean_ctor_set(x_1, 1, x_434); +lean_ctor_set(x_1, 0, x_430); +lean_ctor_set(x_432, 0, x_1); +return x_432; +} +else +{ +lean_object* x_448; +lean_dec(x_1); +x_448 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_448, 0, x_430); +lean_ctor_set(x_448, 1, x_434); +lean_ctor_set(x_432, 0, x_448); +return x_432; +} +} +else +{ +lean_dec(x_434); +lean_dec(x_430); +lean_ctor_set(x_432, 0, x_1); +return x_432; +} +} +} +else +{ +lean_object* x_449; lean_object* x_450; size_t x_451; size_t x_452; uint8_t x_453; +x_449 = lean_ctor_get(x_432, 0); +x_450 = lean_ctor_get(x_432, 1); lean_inc(x_450); -x_458 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateFunDeclImp(x_450, x_456, x_457, x_454, x_3, x_4, x_5, x_455); -x_459 = lean_ctor_get(x_458, 0); -lean_inc(x_459); -x_460 = lean_ctor_get(x_458, 1); -lean_inc(x_460); -lean_dec(x_458); -lean_inc(x_451); -x_461 = l_Lean_Compiler_LCNF_JoinPointFinder_replace_go(x_451, x_2, x_3, x_4, x_5, x_460); -if (lean_obj_tag(x_461) == 0) +lean_inc(x_449); +lean_dec(x_432); +x_451 = lean_ptr_addr(x_422); +lean_dec(x_422); +x_452 = lean_ptr_addr(x_449); +x_453 = lean_usize_dec_eq(x_451, x_452); +if (x_453 == 0) { -uint8_t x_462; -x_462 = !lean_is_exclusive(x_461); -if (x_462 == 0) -{ -lean_object* x_463; size_t x_464; size_t x_465; uint8_t x_466; -x_463 = lean_ctor_get(x_461, 0); -x_464 = lean_ptr_addr(x_451); -lean_dec(x_451); -x_465 = lean_ptr_addr(x_463); -x_466 = lean_usize_dec_eq(x_464, x_465); -if (x_466 == 0) -{ -uint8_t x_467; -lean_dec(x_450); -x_467 = !lean_is_exclusive(x_1); -if (x_467 == 0) -{ -lean_object* x_468; lean_object* x_469; -x_468 = lean_ctor_get(x_1, 1); -lean_dec(x_468); -x_469 = lean_ctor_get(x_1, 0); -lean_dec(x_469); -lean_ctor_set(x_1, 1, x_463); -lean_ctor_set(x_1, 0, x_459); -lean_ctor_set(x_461, 0, x_1); -return x_461; -} -else -{ -lean_object* x_470; -lean_dec(x_1); -x_470 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_470, 0, x_459); -lean_ctor_set(x_470, 1, x_463); -lean_ctor_set(x_461, 0, x_470); -return x_461; -} -} -else -{ -size_t x_471; size_t x_472; uint8_t x_473; -x_471 = lean_ptr_addr(x_450); -lean_dec(x_450); -x_472 = lean_ptr_addr(x_459); -x_473 = lean_usize_dec_eq(x_471, x_472); -if (x_473 == 0) -{ -uint8_t x_474; -x_474 = !lean_is_exclusive(x_1); -if (x_474 == 0) -{ -lean_object* x_475; lean_object* x_476; -x_475 = lean_ctor_get(x_1, 1); -lean_dec(x_475); -x_476 = lean_ctor_get(x_1, 0); -lean_dec(x_476); -lean_ctor_set(x_1, 1, x_463); -lean_ctor_set(x_1, 0, x_459); -lean_ctor_set(x_461, 0, x_1); -return x_461; -} -else -{ -lean_object* x_477; -lean_dec(x_1); -x_477 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_477, 0, x_459); -lean_ctor_set(x_477, 1, x_463); -lean_ctor_set(x_461, 0, x_477); -return x_461; -} -} -else -{ -lean_dec(x_463); -lean_dec(x_459); -lean_ctor_set(x_461, 0, x_1); -return x_461; -} -} -} -else -{ -lean_object* x_478; lean_object* x_479; size_t x_480; size_t x_481; uint8_t x_482; -x_478 = lean_ctor_get(x_461, 0); -x_479 = lean_ctor_get(x_461, 1); -lean_inc(x_479); -lean_inc(x_478); -lean_dec(x_461); -x_480 = lean_ptr_addr(x_451); -lean_dec(x_451); -x_481 = lean_ptr_addr(x_478); -x_482 = lean_usize_dec_eq(x_480, x_481); -if (x_482 == 0) -{ -lean_object* x_483; lean_object* x_484; lean_object* x_485; -lean_dec(x_450); +lean_object* x_454; lean_object* x_455; lean_object* x_456; +lean_dec(x_421); if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); lean_ctor_release(x_1, 1); - x_483 = x_1; + x_454 = x_1; } else { lean_dec_ref(x_1); - x_483 = lean_box(0); + x_454 = lean_box(0); } -if (lean_is_scalar(x_483)) { - x_484 = lean_alloc_ctor(2, 2, 0); +if (lean_is_scalar(x_454)) { + x_455 = lean_alloc_ctor(2, 2, 0); } else { - x_484 = x_483; + x_455 = x_454; } -lean_ctor_set(x_484, 0, x_459); -lean_ctor_set(x_484, 1, x_478); -x_485 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_485, 0, x_484); -lean_ctor_set(x_485, 1, x_479); -return x_485; +lean_ctor_set(x_455, 0, x_430); +lean_ctor_set(x_455, 1, x_449); +x_456 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_456, 0, x_455); +lean_ctor_set(x_456, 1, x_450); +return x_456; } else { -size_t x_486; size_t x_487; uint8_t x_488; -x_486 = lean_ptr_addr(x_450); -lean_dec(x_450); -x_487 = lean_ptr_addr(x_459); -x_488 = lean_usize_dec_eq(x_486, x_487); -if (x_488 == 0) +size_t x_457; size_t x_458; uint8_t x_459; +x_457 = lean_ptr_addr(x_421); +lean_dec(x_421); +x_458 = lean_ptr_addr(x_430); +x_459 = lean_usize_dec_eq(x_457, x_458); +if (x_459 == 0) { -lean_object* x_489; lean_object* x_490; lean_object* x_491; +lean_object* x_460; lean_object* x_461; lean_object* x_462; if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); lean_ctor_release(x_1, 1); - x_489 = x_1; + x_460 = x_1; } else { lean_dec_ref(x_1); - x_489 = lean_box(0); + x_460 = lean_box(0); } -if (lean_is_scalar(x_489)) { - x_490 = lean_alloc_ctor(2, 2, 0); +if (lean_is_scalar(x_460)) { + x_461 = lean_alloc_ctor(2, 2, 0); } else { - x_490 = x_489; + x_461 = x_460; } -lean_ctor_set(x_490, 0, x_459); -lean_ctor_set(x_490, 1, x_478); -x_491 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_491, 0, x_490); -lean_ctor_set(x_491, 1, x_479); -return x_491; +lean_ctor_set(x_461, 0, x_430); +lean_ctor_set(x_461, 1, x_449); +x_462 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_462, 0, x_461); +lean_ctor_set(x_462, 1, x_450); +return x_462; } else { -lean_object* x_492; -lean_dec(x_478); -lean_dec(x_459); -x_492 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_492, 0, x_1); -lean_ctor_set(x_492, 1, x_479); -return x_492; +lean_object* x_463; +lean_dec(x_449); +lean_dec(x_430); +x_463 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_463, 0, x_1); +lean_ctor_set(x_463, 1, x_450); +return x_463; } } } } else { -uint8_t x_493; -lean_dec(x_459); -lean_dec(x_451); -lean_dec(x_450); +uint8_t x_464; +lean_dec(x_430); +lean_dec(x_422); +lean_dec(x_421); lean_dec(x_1); -x_493 = !lean_is_exclusive(x_461); -if (x_493 == 0) +x_464 = !lean_is_exclusive(x_432); +if (x_464 == 0) { -return x_461; +return x_432; } else { -lean_object* x_494; lean_object* x_495; lean_object* x_496; -x_494 = lean_ctor_get(x_461, 0); -x_495 = lean_ctor_get(x_461, 1); -lean_inc(x_495); -lean_inc(x_494); -lean_dec(x_461); -x_496 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_496, 0, x_494); -lean_ctor_set(x_496, 1, x_495); -return x_496; +lean_object* x_465; lean_object* x_466; lean_object* x_467; +x_465 = lean_ctor_get(x_432, 0); +x_466 = lean_ctor_get(x_432, 1); +lean_inc(x_466); +lean_inc(x_465); +lean_dec(x_432); +x_467 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_467, 0, x_465); +lean_ctor_set(x_467, 1, x_466); +return x_467; } } } else { -uint8_t x_497; -lean_dec(x_451); -lean_dec(x_450); +uint8_t x_468; +lean_dec(x_422); +lean_dec(x_421); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_497 = !lean_is_exclusive(x_453); -if (x_497 == 0) +x_468 = !lean_is_exclusive(x_424); +if (x_468 == 0) { -return x_453; +return x_424; } else { -lean_object* x_498; lean_object* x_499; lean_object* x_500; -x_498 = lean_ctor_get(x_453, 0); -x_499 = lean_ctor_get(x_453, 1); -lean_inc(x_499); -lean_inc(x_498); -lean_dec(x_453); -x_500 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_500, 0, x_498); -lean_ctor_set(x_500, 1, x_499); -return x_500; +lean_object* x_469; lean_object* x_470; lean_object* x_471; +x_469 = lean_ctor_get(x_424, 0); +x_470 = lean_ctor_get(x_424, 1); +lean_inc(x_470); +lean_inc(x_469); +lean_dec(x_424); +x_471 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_471, 0, x_469); +lean_ctor_set(x_471, 1, x_470); +return x_471; } } } case 4: { -lean_object* x_501; uint8_t x_502; -x_501 = lean_ctor_get(x_1, 0); -lean_inc(x_501); -x_502 = !lean_is_exclusive(x_501); -if (x_502 == 0) +lean_object* x_472; uint8_t x_473; +x_472 = lean_ctor_get(x_1, 0); +lean_inc(x_472); +x_473 = !lean_is_exclusive(x_472); +if (x_473 == 0) { -lean_object* x_503; lean_object* x_504; lean_object* x_505; lean_object* x_506; lean_object* x_507; size_t x_508; size_t x_509; lean_object* x_510; -x_503 = lean_ctor_get(x_501, 0); -x_504 = lean_ctor_get(x_501, 1); -x_505 = lean_ctor_get(x_501, 2); -x_506 = lean_ctor_get(x_501, 3); -x_507 = lean_array_get_size(x_506); -x_508 = lean_usize_of_nat(x_507); -lean_dec(x_507); -x_509 = 0; -lean_inc(x_506); -x_510 = l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_JoinPointFinder_replace_go___spec__6(x_508, x_509, x_506, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_510) == 0) +lean_object* x_474; lean_object* x_475; lean_object* x_476; lean_object* x_477; lean_object* x_478; size_t x_479; size_t x_480; lean_object* x_481; +x_474 = lean_ctor_get(x_472, 0); +x_475 = lean_ctor_get(x_472, 1); +x_476 = lean_ctor_get(x_472, 2); +x_477 = lean_ctor_get(x_472, 3); +x_478 = lean_array_get_size(x_477); +x_479 = lean_usize_of_nat(x_478); +lean_dec(x_478); +x_480 = 0; +lean_inc(x_477); +x_481 = l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_JoinPointFinder_replace_go___spec__6(x_479, x_480, x_477, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_481) == 0) { -uint8_t x_511; -x_511 = !lean_is_exclusive(x_510); -if (x_511 == 0) +uint8_t x_482; +x_482 = !lean_is_exclusive(x_481); +if (x_482 == 0) { -lean_object* x_512; size_t x_513; size_t x_514; uint8_t x_515; -x_512 = lean_ctor_get(x_510, 0); -x_513 = lean_ptr_addr(x_506); -lean_dec(x_506); -x_514 = lean_ptr_addr(x_512); -x_515 = lean_usize_dec_eq(x_513, x_514); -if (x_515 == 0) +lean_object* x_483; size_t x_484; size_t x_485; uint8_t x_486; +x_483 = lean_ctor_get(x_481, 0); +x_484 = lean_ptr_addr(x_477); +lean_dec(x_477); +x_485 = lean_ptr_addr(x_483); +x_486 = lean_usize_dec_eq(x_484, x_485); +if (x_486 == 0) { -uint8_t x_516; -x_516 = !lean_is_exclusive(x_1); -if (x_516 == 0) +uint8_t x_487; +x_487 = !lean_is_exclusive(x_1); +if (x_487 == 0) { -lean_object* x_517; -x_517 = lean_ctor_get(x_1, 0); -lean_dec(x_517); -lean_ctor_set(x_501, 3, x_512); -lean_ctor_set(x_510, 0, x_1); -return x_510; +lean_object* x_488; +x_488 = lean_ctor_get(x_1, 0); +lean_dec(x_488); +lean_ctor_set(x_472, 3, x_483); +lean_ctor_set(x_481, 0, x_1); +return x_481; } else { -lean_object* x_518; +lean_object* x_489; lean_dec(x_1); -lean_ctor_set(x_501, 3, x_512); -x_518 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_518, 0, x_501); -lean_ctor_set(x_510, 0, x_518); -return x_510; +lean_ctor_set(x_472, 3, x_483); +x_489 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_489, 0, x_472); +lean_ctor_set(x_481, 0, x_489); +return x_481; } } else { -size_t x_519; uint8_t x_520; -x_519 = lean_ptr_addr(x_504); -x_520 = lean_usize_dec_eq(x_519, x_519); -if (x_520 == 0) +size_t x_490; uint8_t x_491; +x_490 = lean_ptr_addr(x_475); +x_491 = lean_usize_dec_eq(x_490, x_490); +if (x_491 == 0) { -uint8_t x_521; -x_521 = !lean_is_exclusive(x_1); -if (x_521 == 0) +uint8_t x_492; +x_492 = !lean_is_exclusive(x_1); +if (x_492 == 0) { -lean_object* x_522; -x_522 = lean_ctor_get(x_1, 0); -lean_dec(x_522); -lean_ctor_set(x_501, 3, x_512); -lean_ctor_set(x_510, 0, x_1); -return x_510; +lean_object* x_493; +x_493 = lean_ctor_get(x_1, 0); +lean_dec(x_493); +lean_ctor_set(x_472, 3, x_483); +lean_ctor_set(x_481, 0, x_1); +return x_481; } else { -lean_object* x_523; +lean_object* x_494; lean_dec(x_1); -lean_ctor_set(x_501, 3, x_512); -x_523 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_523, 0, x_501); -lean_ctor_set(x_510, 0, x_523); -return x_510; +lean_ctor_set(x_472, 3, x_483); +x_494 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_494, 0, x_472); +lean_ctor_set(x_481, 0, x_494); +return x_481; } } else { -uint8_t x_524; -x_524 = lean_name_eq(x_505, x_505); -if (x_524 == 0) +uint8_t x_495; +x_495 = lean_name_eq(x_476, x_476); +if (x_495 == 0) { -uint8_t x_525; -x_525 = !lean_is_exclusive(x_1); -if (x_525 == 0) +uint8_t x_496; +x_496 = !lean_is_exclusive(x_1); +if (x_496 == 0) { -lean_object* x_526; -x_526 = lean_ctor_get(x_1, 0); -lean_dec(x_526); -lean_ctor_set(x_501, 3, x_512); -lean_ctor_set(x_510, 0, x_1); -return x_510; +lean_object* x_497; +x_497 = lean_ctor_get(x_1, 0); +lean_dec(x_497); +lean_ctor_set(x_472, 3, x_483); +lean_ctor_set(x_481, 0, x_1); +return x_481; } else { -lean_object* x_527; +lean_object* x_498; lean_dec(x_1); -lean_ctor_set(x_501, 3, x_512); -x_527 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_527, 0, x_501); -lean_ctor_set(x_510, 0, x_527); -return x_510; +lean_ctor_set(x_472, 3, x_483); +x_498 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_498, 0, x_472); +lean_ctor_set(x_481, 0, x_498); +return x_481; } } else { -lean_dec(x_512); -lean_free_object(x_501); -lean_dec(x_505); -lean_dec(x_504); -lean_dec(x_503); -lean_ctor_set(x_510, 0, x_1); -return x_510; +lean_dec(x_483); +lean_free_object(x_472); +lean_dec(x_476); +lean_dec(x_475); +lean_dec(x_474); +lean_ctor_set(x_481, 0, x_1); +return x_481; } } } } else { -lean_object* x_528; lean_object* x_529; size_t x_530; size_t x_531; uint8_t x_532; -x_528 = lean_ctor_get(x_510, 0); -x_529 = lean_ctor_get(x_510, 1); +lean_object* x_499; lean_object* x_500; size_t x_501; size_t x_502; uint8_t x_503; +x_499 = lean_ctor_get(x_481, 0); +x_500 = lean_ctor_get(x_481, 1); +lean_inc(x_500); +lean_inc(x_499); +lean_dec(x_481); +x_501 = lean_ptr_addr(x_477); +lean_dec(x_477); +x_502 = lean_ptr_addr(x_499); +x_503 = lean_usize_dec_eq(x_501, x_502); +if (x_503 == 0) +{ +lean_object* x_504; lean_object* x_505; lean_object* x_506; +if (lean_is_exclusive(x_1)) { + lean_ctor_release(x_1, 0); + x_504 = x_1; +} else { + lean_dec_ref(x_1); + x_504 = lean_box(0); +} +lean_ctor_set(x_472, 3, x_499); +if (lean_is_scalar(x_504)) { + x_505 = lean_alloc_ctor(4, 1, 0); +} else { + x_505 = x_504; +} +lean_ctor_set(x_505, 0, x_472); +x_506 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_506, 0, x_505); +lean_ctor_set(x_506, 1, x_500); +return x_506; +} +else +{ +size_t x_507; uint8_t x_508; +x_507 = lean_ptr_addr(x_475); +x_508 = lean_usize_dec_eq(x_507, x_507); +if (x_508 == 0) +{ +lean_object* x_509; lean_object* x_510; lean_object* x_511; +if (lean_is_exclusive(x_1)) { + lean_ctor_release(x_1, 0); + x_509 = x_1; +} else { + lean_dec_ref(x_1); + x_509 = lean_box(0); +} +lean_ctor_set(x_472, 3, x_499); +if (lean_is_scalar(x_509)) { + x_510 = lean_alloc_ctor(4, 1, 0); +} else { + x_510 = x_509; +} +lean_ctor_set(x_510, 0, x_472); +x_511 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_511, 0, x_510); +lean_ctor_set(x_511, 1, x_500); +return x_511; +} +else +{ +uint8_t x_512; +x_512 = lean_name_eq(x_476, x_476); +if (x_512 == 0) +{ +lean_object* x_513; lean_object* x_514; lean_object* x_515; +if (lean_is_exclusive(x_1)) { + lean_ctor_release(x_1, 0); + x_513 = x_1; +} else { + lean_dec_ref(x_1); + x_513 = lean_box(0); +} +lean_ctor_set(x_472, 3, x_499); +if (lean_is_scalar(x_513)) { + x_514 = lean_alloc_ctor(4, 1, 0); +} else { + x_514 = x_513; +} +lean_ctor_set(x_514, 0, x_472); +x_515 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_515, 0, x_514); +lean_ctor_set(x_515, 1, x_500); +return x_515; +} +else +{ +lean_object* x_516; +lean_dec(x_499); +lean_free_object(x_472); +lean_dec(x_476); +lean_dec(x_475); +lean_dec(x_474); +x_516 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_516, 0, x_1); +lean_ctor_set(x_516, 1, x_500); +return x_516; +} +} +} +} +} +else +{ +uint8_t x_517; +lean_free_object(x_472); +lean_dec(x_477); +lean_dec(x_476); +lean_dec(x_475); +lean_dec(x_474); +lean_dec(x_1); +x_517 = !lean_is_exclusive(x_481); +if (x_517 == 0) +{ +return x_481; +} +else +{ +lean_object* x_518; lean_object* x_519; lean_object* x_520; +x_518 = lean_ctor_get(x_481, 0); +x_519 = lean_ctor_get(x_481, 1); +lean_inc(x_519); +lean_inc(x_518); +lean_dec(x_481); +x_520 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_520, 0, x_518); +lean_ctor_set(x_520, 1, x_519); +return x_520; +} +} +} +else +{ +lean_object* x_521; lean_object* x_522; lean_object* x_523; lean_object* x_524; lean_object* x_525; size_t x_526; size_t x_527; lean_object* x_528; +x_521 = lean_ctor_get(x_472, 0); +x_522 = lean_ctor_get(x_472, 1); +x_523 = lean_ctor_get(x_472, 2); +x_524 = lean_ctor_get(x_472, 3); +lean_inc(x_524); +lean_inc(x_523); +lean_inc(x_522); +lean_inc(x_521); +lean_dec(x_472); +x_525 = lean_array_get_size(x_524); +x_526 = lean_usize_of_nat(x_525); +lean_dec(x_525); +x_527 = 0; +lean_inc(x_524); +x_528 = l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_JoinPointFinder_replace_go___spec__6(x_526, x_527, x_524, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_528) == 0) +{ +lean_object* x_529; lean_object* x_530; lean_object* x_531; size_t x_532; size_t x_533; uint8_t x_534; +x_529 = lean_ctor_get(x_528, 0); lean_inc(x_529); -lean_inc(x_528); -lean_dec(x_510); -x_530 = lean_ptr_addr(x_506); -lean_dec(x_506); -x_531 = lean_ptr_addr(x_528); -x_532 = lean_usize_dec_eq(x_530, x_531); -if (x_532 == 0) +x_530 = lean_ctor_get(x_528, 1); +lean_inc(x_530); +if (lean_is_exclusive(x_528)) { + lean_ctor_release(x_528, 0); + lean_ctor_release(x_528, 1); + x_531 = x_528; +} else { + lean_dec_ref(x_528); + x_531 = lean_box(0); +} +x_532 = lean_ptr_addr(x_524); +lean_dec(x_524); +x_533 = lean_ptr_addr(x_529); +x_534 = lean_usize_dec_eq(x_532, x_533); +if (x_534 == 0) { -lean_object* x_533; lean_object* x_534; lean_object* x_535; +lean_object* x_535; lean_object* x_536; lean_object* x_537; lean_object* x_538; if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); - x_533 = x_1; + x_535 = x_1; } else { lean_dec_ref(x_1); - x_533 = lean_box(0); + x_535 = lean_box(0); } -lean_ctor_set(x_501, 3, x_528); -if (lean_is_scalar(x_533)) { - x_534 = lean_alloc_ctor(4, 1, 0); +x_536 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_536, 0, x_521); +lean_ctor_set(x_536, 1, x_522); +lean_ctor_set(x_536, 2, x_523); +lean_ctor_set(x_536, 3, x_529); +if (lean_is_scalar(x_535)) { + x_537 = lean_alloc_ctor(4, 1, 0); } else { - x_534 = x_533; + x_537 = x_535; } -lean_ctor_set(x_534, 0, x_501); -x_535 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_535, 0, x_534); -lean_ctor_set(x_535, 1, x_529); -return x_535; +lean_ctor_set(x_537, 0, x_536); +if (lean_is_scalar(x_531)) { + x_538 = lean_alloc_ctor(0, 2, 0); +} else { + x_538 = x_531; +} +lean_ctor_set(x_538, 0, x_537); +lean_ctor_set(x_538, 1, x_530); +return x_538; } else { -size_t x_536; uint8_t x_537; -x_536 = lean_ptr_addr(x_504); -x_537 = lean_usize_dec_eq(x_536, x_536); -if (x_537 == 0) +size_t x_539; uint8_t x_540; +x_539 = lean_ptr_addr(x_522); +x_540 = lean_usize_dec_eq(x_539, x_539); +if (x_540 == 0) { -lean_object* x_538; lean_object* x_539; lean_object* x_540; +lean_object* x_541; lean_object* x_542; lean_object* x_543; lean_object* x_544; if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); - x_538 = x_1; + x_541 = x_1; } else { lean_dec_ref(x_1); - x_538 = lean_box(0); + x_541 = lean_box(0); } -lean_ctor_set(x_501, 3, x_528); -if (lean_is_scalar(x_538)) { - x_539 = lean_alloc_ctor(4, 1, 0); -} else { - x_539 = x_538; -} -lean_ctor_set(x_539, 0, x_501); -x_540 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_540, 0, x_539); -lean_ctor_set(x_540, 1, x_529); -return x_540; -} -else -{ -uint8_t x_541; -x_541 = lean_name_eq(x_505, x_505); -if (x_541 == 0) -{ -lean_object* x_542; lean_object* x_543; lean_object* x_544; -if (lean_is_exclusive(x_1)) { - lean_ctor_release(x_1, 0); - x_542 = x_1; -} else { - lean_dec_ref(x_1); - x_542 = lean_box(0); -} -lean_ctor_set(x_501, 3, x_528); -if (lean_is_scalar(x_542)) { +x_542 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_542, 0, x_521); +lean_ctor_set(x_542, 1, x_522); +lean_ctor_set(x_542, 2, x_523); +lean_ctor_set(x_542, 3, x_529); +if (lean_is_scalar(x_541)) { x_543 = lean_alloc_ctor(4, 1, 0); } else { - x_543 = x_542; + x_543 = x_541; +} +lean_ctor_set(x_543, 0, x_542); +if (lean_is_scalar(x_531)) { + x_544 = lean_alloc_ctor(0, 2, 0); +} else { + x_544 = x_531; } -lean_ctor_set(x_543, 0, x_501); -x_544 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_544, 0, x_543); -lean_ctor_set(x_544, 1, x_529); +lean_ctor_set(x_544, 1, x_530); return x_544; } else { -lean_object* x_545; -lean_dec(x_528); -lean_free_object(x_501); -lean_dec(x_505); -lean_dec(x_504); -lean_dec(x_503); -x_545 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_545, 0, x_1); -lean_ctor_set(x_545, 1, x_529); -return x_545; -} -} -} -} -} -else +uint8_t x_545; +x_545 = lean_name_eq(x_523, x_523); +if (x_545 == 0) { -uint8_t x_546; -lean_free_object(x_501); -lean_dec(x_506); -lean_dec(x_505); -lean_dec(x_504); -lean_dec(x_503); -lean_dec(x_1); -x_546 = !lean_is_exclusive(x_510); -if (x_546 == 0) -{ -return x_510; +lean_object* x_546; lean_object* x_547; lean_object* x_548; lean_object* x_549; +if (lean_is_exclusive(x_1)) { + lean_ctor_release(x_1, 0); + x_546 = x_1; +} else { + lean_dec_ref(x_1); + x_546 = lean_box(0); } -else -{ -lean_object* x_547; lean_object* x_548; lean_object* x_549; -x_547 = lean_ctor_get(x_510, 0); -x_548 = lean_ctor_get(x_510, 1); -lean_inc(x_548); -lean_inc(x_547); -lean_dec(x_510); -x_549 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_549, 0, x_547); -lean_ctor_set(x_549, 1, x_548); +x_547 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_547, 0, x_521); +lean_ctor_set(x_547, 1, x_522); +lean_ctor_set(x_547, 2, x_523); +lean_ctor_set(x_547, 3, x_529); +if (lean_is_scalar(x_546)) { + x_548 = lean_alloc_ctor(4, 1, 0); +} else { + x_548 = x_546; +} +lean_ctor_set(x_548, 0, x_547); +if (lean_is_scalar(x_531)) { + x_549 = lean_alloc_ctor(0, 2, 0); +} else { + x_549 = x_531; +} +lean_ctor_set(x_549, 0, x_548); +lean_ctor_set(x_549, 1, x_530); return x_549; } -} -} else { -lean_object* x_550; lean_object* x_551; lean_object* x_552; lean_object* x_553; lean_object* x_554; size_t x_555; size_t x_556; lean_object* x_557; -x_550 = lean_ctor_get(x_501, 0); -x_551 = lean_ctor_get(x_501, 1); -x_552 = lean_ctor_get(x_501, 2); -x_553 = lean_ctor_get(x_501, 3); -lean_inc(x_553); -lean_inc(x_552); -lean_inc(x_551); -lean_inc(x_550); -lean_dec(x_501); -x_554 = lean_array_get_size(x_553); -x_555 = lean_usize_of_nat(x_554); -lean_dec(x_554); -x_556 = 0; -lean_inc(x_553); -x_557 = l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_JoinPointFinder_replace_go___spec__6(x_555, x_556, x_553, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_557) == 0) -{ -lean_object* x_558; lean_object* x_559; lean_object* x_560; size_t x_561; size_t x_562; uint8_t x_563; -x_558 = lean_ctor_get(x_557, 0); -lean_inc(x_558); -x_559 = lean_ctor_get(x_557, 1); -lean_inc(x_559); -if (lean_is_exclusive(x_557)) { - lean_ctor_release(x_557, 0); - lean_ctor_release(x_557, 1); - x_560 = x_557; +lean_object* x_550; +lean_dec(x_529); +lean_dec(x_523); +lean_dec(x_522); +lean_dec(x_521); +if (lean_is_scalar(x_531)) { + x_550 = lean_alloc_ctor(0, 2, 0); } else { - lean_dec_ref(x_557); - x_560 = lean_box(0); + x_550 = x_531; } -x_561 = lean_ptr_addr(x_553); -lean_dec(x_553); -x_562 = lean_ptr_addr(x_558); -x_563 = lean_usize_dec_eq(x_561, x_562); -if (x_563 == 0) -{ -lean_object* x_564; lean_object* x_565; lean_object* x_566; lean_object* x_567; -if (lean_is_exclusive(x_1)) { - lean_ctor_release(x_1, 0); - x_564 = x_1; -} else { - lean_dec_ref(x_1); - x_564 = lean_box(0); -} -x_565 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_565, 0, x_550); -lean_ctor_set(x_565, 1, x_551); -lean_ctor_set(x_565, 2, x_552); -lean_ctor_set(x_565, 3, x_558); -if (lean_is_scalar(x_564)) { - x_566 = lean_alloc_ctor(4, 1, 0); -} else { - x_566 = x_564; -} -lean_ctor_set(x_566, 0, x_565); -if (lean_is_scalar(x_560)) { - x_567 = lean_alloc_ctor(0, 2, 0); -} else { - x_567 = x_560; -} -lean_ctor_set(x_567, 0, x_566); -lean_ctor_set(x_567, 1, x_559); -return x_567; -} -else -{ -size_t x_568; uint8_t x_569; -x_568 = lean_ptr_addr(x_551); -x_569 = lean_usize_dec_eq(x_568, x_568); -if (x_569 == 0) -{ -lean_object* x_570; lean_object* x_571; lean_object* x_572; lean_object* x_573; -if (lean_is_exclusive(x_1)) { - lean_ctor_release(x_1, 0); - x_570 = x_1; -} else { - lean_dec_ref(x_1); - x_570 = lean_box(0); -} -x_571 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_571, 0, x_550); -lean_ctor_set(x_571, 1, x_551); -lean_ctor_set(x_571, 2, x_552); -lean_ctor_set(x_571, 3, x_558); -if (lean_is_scalar(x_570)) { - x_572 = lean_alloc_ctor(4, 1, 0); -} else { - x_572 = x_570; -} -lean_ctor_set(x_572, 0, x_571); -if (lean_is_scalar(x_560)) { - x_573 = lean_alloc_ctor(0, 2, 0); -} else { - x_573 = x_560; -} -lean_ctor_set(x_573, 0, x_572); -lean_ctor_set(x_573, 1, x_559); -return x_573; -} -else -{ -uint8_t x_574; -x_574 = lean_name_eq(x_552, x_552); -if (x_574 == 0) -{ -lean_object* x_575; lean_object* x_576; lean_object* x_577; lean_object* x_578; -if (lean_is_exclusive(x_1)) { - lean_ctor_release(x_1, 0); - x_575 = x_1; -} else { - lean_dec_ref(x_1); - x_575 = lean_box(0); -} -x_576 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_576, 0, x_550); -lean_ctor_set(x_576, 1, x_551); -lean_ctor_set(x_576, 2, x_552); -lean_ctor_set(x_576, 3, x_558); -if (lean_is_scalar(x_575)) { - x_577 = lean_alloc_ctor(4, 1, 0); -} else { - x_577 = x_575; -} -lean_ctor_set(x_577, 0, x_576); -if (lean_is_scalar(x_560)) { - x_578 = lean_alloc_ctor(0, 2, 0); -} else { - x_578 = x_560; -} -lean_ctor_set(x_578, 0, x_577); -lean_ctor_set(x_578, 1, x_559); -return x_578; -} -else -{ -lean_object* x_579; -lean_dec(x_558); -lean_dec(x_552); -lean_dec(x_551); -lean_dec(x_550); -if (lean_is_scalar(x_560)) { - x_579 = lean_alloc_ctor(0, 2, 0); -} else { - x_579 = x_560; -} -lean_ctor_set(x_579, 0, x_1); -lean_ctor_set(x_579, 1, x_559); -return x_579; +lean_ctor_set(x_550, 0, x_1); +lean_ctor_set(x_550, 1, x_530); +return x_550; } } } } else { -lean_object* x_580; lean_object* x_581; lean_object* x_582; lean_object* x_583; -lean_dec(x_553); -lean_dec(x_552); -lean_dec(x_551); -lean_dec(x_550); +lean_object* x_551; lean_object* x_552; lean_object* x_553; lean_object* x_554; +lean_dec(x_524); +lean_dec(x_523); +lean_dec(x_522); +lean_dec(x_521); lean_dec(x_1); -x_580 = lean_ctor_get(x_557, 0); -lean_inc(x_580); -x_581 = lean_ctor_get(x_557, 1); -lean_inc(x_581); -if (lean_is_exclusive(x_557)) { - lean_ctor_release(x_557, 0); - lean_ctor_release(x_557, 1); - x_582 = x_557; +x_551 = lean_ctor_get(x_528, 0); +lean_inc(x_551); +x_552 = lean_ctor_get(x_528, 1); +lean_inc(x_552); +if (lean_is_exclusive(x_528)) { + lean_ctor_release(x_528, 0); + lean_ctor_release(x_528, 1); + x_553 = x_528; } else { - lean_dec_ref(x_557); - x_582 = lean_box(0); + lean_dec_ref(x_528); + x_553 = lean_box(0); } -if (lean_is_scalar(x_582)) { - x_583 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_553)) { + x_554 = lean_alloc_ctor(1, 2, 0); } else { - x_583 = x_582; + x_554 = x_553; } -lean_ctor_set(x_583, 0, x_580); -lean_ctor_set(x_583, 1, x_581); -return x_583; +lean_ctor_set(x_554, 0, x_551); +lean_ctor_set(x_554, 1, x_552); +return x_554; } } } default: { -lean_object* x_584; +lean_object* x_555; lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_584 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_584, 0, x_1); -lean_ctor_set(x_584, 1, x_6); -return x_584; +x_555 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_555, 0, x_1); +lean_ctor_set(x_555, 1, x_6); +return x_555; } } } @@ -8711,7 +8590,7 @@ x_1 = l_Lean_Compiler_LCNF_findJoinPoints___closed__3; return x_1; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_JoinPoints___hyg_2031_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_JoinPoints___hyg_2004_(lean_object* x_1) { _start: { lean_object* x_2; uint8_t x_3; lean_object* x_4; @@ -8772,14 +8651,6 @@ l_Lean_Compiler_LCNF_JoinPointFinder_find___closed__2 = _init_l_Lean_Compiler_LC lean_mark_persistent(l_Lean_Compiler_LCNF_JoinPointFinder_find___closed__2); l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_JoinPointFinder_replace_go___spec__6___closed__1 = _init_l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_JoinPointFinder_replace_go___spec__6___closed__1(); lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_JoinPointFinder_replace_go___spec__6___closed__1); -l_Lean_Compiler_LCNF_JoinPointFinder_replace_go___closed__1 = _init_l_Lean_Compiler_LCNF_JoinPointFinder_replace_go___closed__1(); -lean_mark_persistent(l_Lean_Compiler_LCNF_JoinPointFinder_replace_go___closed__1); -l_Lean_Compiler_LCNF_JoinPointFinder_replace_go___closed__2 = _init_l_Lean_Compiler_LCNF_JoinPointFinder_replace_go___closed__2(); -lean_mark_persistent(l_Lean_Compiler_LCNF_JoinPointFinder_replace_go___closed__2); -l_Lean_Compiler_LCNF_JoinPointFinder_replace_go___closed__3 = _init_l_Lean_Compiler_LCNF_JoinPointFinder_replace_go___closed__3(); -lean_mark_persistent(l_Lean_Compiler_LCNF_JoinPointFinder_replace_go___closed__3); -l_Lean_Compiler_LCNF_JoinPointFinder_replace_go___closed__4 = _init_l_Lean_Compiler_LCNF_JoinPointFinder_replace_go___closed__4(); -lean_mark_persistent(l_Lean_Compiler_LCNF_JoinPointFinder_replace_go___closed__4); l_Lean_isTracingEnabledFor___at_Lean_Compiler_LCNF_Decl_findJoinPoints___spec__1___closed__1 = _init_l_Lean_isTracingEnabledFor___at_Lean_Compiler_LCNF_Decl_findJoinPoints___spec__1___closed__1(); lean_mark_persistent(l_Lean_isTracingEnabledFor___at_Lean_Compiler_LCNF_Decl_findJoinPoints___spec__1___closed__1); l_Lean_addTrace___at_Lean_Compiler_LCNF_Decl_findJoinPoints___spec__2___closed__1 = _init_l_Lean_addTrace___at_Lean_Compiler_LCNF_Decl_findJoinPoints___spec__2___closed__1(); @@ -8816,7 +8687,7 @@ l_Lean_Compiler_LCNF_findJoinPoints___closed__3 = _init_l_Lean_Compiler_LCNF_fin lean_mark_persistent(l_Lean_Compiler_LCNF_findJoinPoints___closed__3); l_Lean_Compiler_LCNF_findJoinPoints = _init_l_Lean_Compiler_LCNF_findJoinPoints(); lean_mark_persistent(l_Lean_Compiler_LCNF_findJoinPoints); -res = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_JoinPoints___hyg_2031_(lean_io_mk_world()); +res = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_JoinPoints___hyg_2004_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Compiler/LCNF/LCtx.c b/stage0/stdlib/Lean/Compiler/LCNF/LCtx.c index 14f4d2cc2b..192552ebae 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/LCtx.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/LCtx.c @@ -13,99 +13,125 @@ #ifdef __cplusplus extern "C" { #endif +LEAN_EXPORT lean_object* l_Std_AssocList_replace___at_Lean_Compiler_LCNF_LCtx_addParam___spec__6(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_letDecls___default; +LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_addParam___spec__5(lean_object*, lean_object*); size_t lean_usize_add(size_t, size_t); -LEAN_EXPORT lean_object* l_Std_AssocList_replace___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__6(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__12(lean_object*, size_t, size_t, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); -LEAN_EXPORT lean_object* l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseLocal___spec__2___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Compiler_LCNF_LCtx_localDecls___default___spec__1___boxed(lean_object*); -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_erase_goAlts___spec__1(lean_object*, size_t, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__8(lean_object*, size_t, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Compiler_LCNF_LCtx_letDecls___default___spec__1___boxed(lean_object*); uint8_t lean_usize_dec_eq(size_t, size_t); lean_object* lean_array_uget(lean_object*, size_t); uint64_t l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1681_(lean_object*); +LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Compiler_LCNF_LCtx_params___default___spec__1(lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseLetDecl___spec__2___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_eraseAlts___spec__1(lean_object*, size_t, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Compiler_LCNF_LCtx_letDecls___default___spec__1(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseFunDecl___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_addFunDecl___spec__5(lean_object*, lean_object*); lean_object* lean_array_uset(lean_object*, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseParam___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_instInhabitedLCtx; LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Compiler_LCNF_LCtx_funDecls___default___spec__1___boxed(lean_object*); -LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__4(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_instInhabitedLCtx___closed__1; lean_object* l___private_Lean_Data_HashMap_0__Std_numBucketsForCapacity(lean_object*); LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_Compiler_LCNF_LCtx_addFunDecl___spec__1(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__2___boxed(lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_addLetDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseLocal(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseLetDecl___spec__1___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Compiler_LCNF_LCtx_params___default___spec__1___boxed(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_addLetDecl(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseLetDecl___boxed(lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseLocal___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_Compiler_LCNF_LCtx_addParam___spec__3(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_instInhabitedLCtx___closed__2; +LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseFunDecl___spec__1(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_LCtx_toLocalContext___closed__3; -LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseLocal___spec__1(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseAlts___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_LCtx_toLocalContext___closed__7; +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_usize_dec_lt(size_t, size_t); static lean_object* l_Lean_Compiler_LCNF_LCtx_toLocalContext___closed__1; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__4(lean_object*, size_t, size_t, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_erase(lean_object*, lean_object*, uint8_t); lean_object* lean_nat_add(lean_object*, lean_object*); -LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__2(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseFVarsAt(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__10___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_uint64_to_usize(uint64_t); -LEAN_EXPORT lean_object* l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_erase___spec__4___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseParam___spec__2(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Compiler_LCNF_LCtx_addParam___spec__4(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_replace___at_Lean_Compiler_LCNF_LCtx_addFunDecl___spec__6(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_eraseParams___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__3(lean_object*, size_t, size_t, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_localDecls___default; +LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__10(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_HashMap_toArray___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__1(lean_object*); -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_erase_goParams___spec__1(lean_object*, size_t, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseParam___spec__2___boxed(lean_object*, lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addFunDecl___spec__2___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_funDecls___default; -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_erase_goParams(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__5(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_LCtx_erase___spec__1(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__1(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashMap_toArray___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__9(lean_object*); +LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__2(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__1(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseParam___spec__1___boxed(lean_object*, lean_object*); lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); lean_object* l_Std_mkHashMapImp___rarg(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseParams(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_eraseAlts___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__4(lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__3(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_erase___boxed(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__3(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseLetDecl(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_LCtx_toLocalContext___closed__5; -LEAN_EXPORT lean_object* l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_erase___spec__4(lean_object*, lean_object*); size_t lean_usize_modn(size_t, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__5(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__2___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__2(lean_object*, lean_object*); size_t lean_usize_of_nat(lean_object*); -LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_erase___spec__3___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_erase___spec__3(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseLocal___spec__1___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseParam___spec__1(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseFunDecl___spec__2___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseLetDecl___spec__1(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseFunDecl___spec__1___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseFunDecl___spec__2(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Compiler_LCNF_LCtx_addFunDecl___spec__4(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_addLocalDecl(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseParams___boxed(lean_object*, lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__2___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_addParam(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_params___default; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseFunDecl(lean_object*, lean_object*, uint8_t); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_toLocalContext(lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__11(lean_object*, size_t, size_t, lean_object*); lean_object* l_Lean_LocalContext_addDecl(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseLocal___spec__2(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashMap_toArray___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__5(lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__7(lean_object*, size_t, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addParam___spec__2___boxed(lean_object*, lean_object*); lean_object* lean_nat_mul(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_erase_goParams___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Compiler_LCNF_LCtx_localDecls___default___spec__1(lean_object*); -LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_LCtx_erase___spec__2(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_LCtx_toLocalContext___closed__2; -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_erase_go(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__6___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseAlts(lean_object*, lean_object*); lean_object* lean_mk_array(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_LCtx_toLocalContext___closed__4; LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addFunDecl___spec__2(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_replace___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__6(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addParam___spec__2(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_Compiler_LCNF_LCtx_addFunDecl___spec__3(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseLetDecl___spec__2(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseParam(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_erase_goAlts___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_HashMap_toArray___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_addFunDecl(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_LCtx_erase___spec__2___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_erase_goAlts(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_Compiler_LCNF_LCtx_addParam___spec__1(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__6(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_LCtx_toLocalContext___closed__6; +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_eraseParams___spec__1(lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Compiler_LCNF_LCtx_funDecls___default___spec__1(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_erase_goAlts___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseCode(lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_erase_goParams___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Compiler_LCNF_LCtx_localDecls___default___spec__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Compiler_LCNF_LCtx_params___default___spec__1(lean_object* x_1) { _start: { lean_object* x_2; @@ -113,7 +139,7 @@ x_2 = l_Std_mkHashMapImp___rarg(x_1); return x_2; } } -static lean_object* _init_l_Lean_Compiler_LCNF_LCtx_localDecls___default() { +static lean_object* _init_l_Lean_Compiler_LCNF_LCtx_params___default() { _start: { lean_object* x_1; lean_object* x_2; @@ -122,11 +148,37 @@ x_2 = l_Std_mkHashMapImp___rarg(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Compiler_LCNF_LCtx_localDecls___default___spec__1___boxed(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Compiler_LCNF_LCtx_params___default___spec__1___boxed(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = l_Std_mkHashMap___at_Lean_Compiler_LCNF_LCtx_localDecls___default___spec__1(x_1); +x_2 = l_Std_mkHashMap___at_Lean_Compiler_LCNF_LCtx_params___default___spec__1(x_1); +lean_dec(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Compiler_LCNF_LCtx_letDecls___default___spec__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Std_mkHashMapImp___rarg(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_LCtx_letDecls___default() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(0u); +x_2 = l_Std_mkHashMapImp___rarg(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Compiler_LCNF_LCtx_letDecls___default___spec__1___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Std_mkHashMap___at_Lean_Compiler_LCNF_LCtx_letDecls___default___spec__1(x_1); lean_dec(x_1); return x_2; } @@ -171,9 +223,10 @@ _start: { lean_object* x_1; lean_object* x_2; x_1 = l_Lean_Compiler_LCNF_instInhabitedLCtx___closed__1; -x_2 = lean_alloc_ctor(0, 2, 0); +x_2 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_2, 0, x_1); lean_ctor_set(x_2, 1, x_1); +lean_ctor_set(x_2, 2, x_1); return x_2; } } @@ -185,7 +238,7 @@ x_1 = l_Lean_Compiler_LCNF_instInhabitedLCtx___closed__2; return x_1; } } -LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__2(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addParam___spec__2(lean_object* x_1, lean_object* x_2) { _start: { if (lean_obj_tag(x_2) == 0) @@ -214,7 +267,7 @@ return x_8; } } } -LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__5(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_addParam___spec__5(lean_object* x_1, lean_object* x_2) { _start: { if (lean_obj_tag(x_2) == 0) @@ -270,7 +323,7 @@ goto _start; } } } -LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Compiler_LCNF_LCtx_addParam___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; uint8_t x_5; @@ -289,7 +342,7 @@ lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_obj x_6 = lean_array_fget(x_2, x_1); x_7 = lean_box(0); x_8 = lean_array_fset(x_2, x_1, x_7); -x_9 = l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__5(x_3, x_6); +x_9 = l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_addParam___spec__5(x_3, x_6); x_10 = lean_unsigned_to_nat(1u); x_11 = lean_nat_add(x_1, x_10); lean_dec(x_1); @@ -300,7 +353,7 @@ goto _start; } } } -LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__3(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_Compiler_LCNF_LCtx_addParam___spec__3(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; @@ -311,14 +364,14 @@ lean_dec(x_3); x_6 = lean_box(0); x_7 = lean_mk_array(x_5, x_6); x_8 = lean_unsigned_to_nat(0u); -x_9 = l_Std_HashMapImp_moveEntries___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__4(x_8, x_2, x_7); +x_9 = l_Std_HashMapImp_moveEntries___at_Lean_Compiler_LCNF_LCtx_addParam___spec__4(x_8, x_2, x_7); x_10 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_10, 0, x_1); lean_ctor_set(x_10, 1, x_9); return x_10; } } -LEAN_EXPORT lean_object* l_Std_AssocList_replace___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Std_AssocList_replace___at_Lean_Compiler_LCNF_LCtx_addParam___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_3) == 0) @@ -343,7 +396,7 @@ x_9 = lean_name_eq(x_6, x_1); if (x_9 == 0) { lean_object* x_10; -x_10 = l_Std_AssocList_replace___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__6(x_1, x_2, x_8); +x_10 = l_Std_AssocList_replace___at_Lean_Compiler_LCNF_LCtx_addParam___spec__6(x_1, x_2, x_8); lean_ctor_set(x_3, 2, x_10); return x_3; } @@ -370,7 +423,7 @@ x_14 = lean_name_eq(x_11, x_1); if (x_14 == 0) { lean_object* x_15; lean_object* x_16; -x_15 = l_Std_AssocList_replace___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__6(x_1, x_2, x_13); +x_15 = l_Std_AssocList_replace___at_Lean_Compiler_LCNF_LCtx_addParam___spec__6(x_1, x_2, x_13); x_16 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_16, 0, x_11); lean_ctor_set(x_16, 1, x_12); @@ -392,7 +445,7 @@ return x_17; } } } -LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_Compiler_LCNF_LCtx_addParam___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { uint8_t x_4; @@ -407,7 +460,7 @@ x_8 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1681_(x_2) x_9 = lean_uint64_to_usize(x_8); x_10 = lean_usize_modn(x_9, x_7); x_11 = lean_array_uget(x_6, x_10); -x_12 = l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__2(x_2, x_11); +x_12 = l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addParam___spec__2(x_2, x_11); if (x_12 == 0) { lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; @@ -427,7 +480,7 @@ if (x_18 == 0) { lean_object* x_19; lean_free_object(x_1); -x_19 = l_Std_HashMapImp_expand___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__3(x_14, x_16); +x_19 = l_Std_HashMapImp_expand___at_Lean_Compiler_LCNF_LCtx_addParam___spec__3(x_14, x_16); return x_19; } else @@ -441,7 +494,7 @@ else { lean_object* x_20; lean_object* x_21; lean_dec(x_7); -x_20 = l_Std_AssocList_replace___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__6(x_2, x_3, x_11); +x_20 = l_Std_AssocList_replace___at_Lean_Compiler_LCNF_LCtx_addParam___spec__6(x_2, x_3, x_11); x_21 = lean_array_uset(x_6, x_10, x_20); lean_ctor_set(x_1, 1, x_21); return x_1; @@ -460,7 +513,7 @@ x_25 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1681_(x_2 x_26 = lean_uint64_to_usize(x_25); x_27 = lean_usize_modn(x_26, x_24); x_28 = lean_array_uget(x_23, x_27); -x_29 = l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__2(x_2, x_28); +x_29 = l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addParam___spec__2(x_2, x_28); if (x_29 == 0) { lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; @@ -479,7 +532,7 @@ lean_dec(x_34); if (x_35 == 0) { lean_object* x_36; -x_36 = l_Std_HashMapImp_expand___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__3(x_31, x_33); +x_36 = l_Std_HashMapImp_expand___at_Lean_Compiler_LCNF_LCtx_addParam___spec__3(x_31, x_33); return x_36; } else @@ -495,7 +548,7 @@ else { lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_dec(x_24); -x_38 = l_Std_AssocList_replace___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__6(x_2, x_3, x_28); +x_38 = l_Std_AssocList_replace___at_Lean_Compiler_LCNF_LCtx_addParam___spec__6(x_2, x_3, x_28); x_39 = lean_array_uset(x_23, x_27, x_38); x_40 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_40, 0, x_22); @@ -505,111 +558,418 @@ return x_40; } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_addLocalDecl(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_addParam(lean_object* x_1, lean_object* x_2) { _start: { -uint8_t x_5; -x_5 = !lean_is_exclusive(x_1); -if (x_5 == 0) +uint8_t x_3; +x_3 = !lean_is_exclusive(x_1); +if (x_3 == 0) { -lean_object* x_6; lean_object* x_7; uint8_t x_8; lean_object* x_9; lean_object* x_10; -x_6 = lean_ctor_get(x_1, 0); -x_7 = lean_unsigned_to_nat(0u); -x_8 = 0; -lean_inc(x_2); -x_9 = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(x_9, 0, x_7); -lean_ctor_set(x_9, 1, x_2); -lean_ctor_set(x_9, 2, x_3); -lean_ctor_set(x_9, 3, x_4); -lean_ctor_set_uint8(x_9, sizeof(void*)*4, x_8); -x_10 = l_Std_HashMap_insert___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__1(x_6, x_2, x_9); -lean_ctor_set(x_1, 0, x_10); +lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_4 = lean_ctor_get(x_1, 0); +x_5 = lean_ctor_get(x_2, 0); +lean_inc(x_5); +x_6 = l_Std_HashMap_insert___at_Lean_Compiler_LCNF_LCtx_addParam___spec__1(x_4, x_5, x_2); +lean_ctor_set(x_1, 0, x_6); return x_1; } else { -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; -x_11 = lean_ctor_get(x_1, 0); -x_12 = lean_ctor_get(x_1, 1); -lean_inc(x_12); -lean_inc(x_11); +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_7 = lean_ctor_get(x_1, 0); +x_8 = lean_ctor_get(x_1, 1); +x_9 = lean_ctor_get(x_1, 2); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); lean_dec(x_1); -x_13 = lean_unsigned_to_nat(0u); -x_14 = 0; -lean_inc(x_2); -x_15 = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(x_15, 0, x_13); -lean_ctor_set(x_15, 1, x_2); -lean_ctor_set(x_15, 2, x_3); -lean_ctor_set(x_15, 3, x_4); -lean_ctor_set_uint8(x_15, sizeof(void*)*4, x_14); -x_16 = l_Std_HashMap_insert___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__1(x_11, x_2, 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_12); -return x_17; +x_10 = lean_ctor_get(x_2, 0); +lean_inc(x_10); +x_11 = l_Std_HashMap_insert___at_Lean_Compiler_LCNF_LCtx_addParam___spec__1(x_7, x_10, x_2); +x_12 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_8); +lean_ctor_set(x_12, 2, x_9); +return x_12; } } } -LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__2___boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addParam___spec__2___boxed(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; lean_object* x_4; -x_3 = l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__2(x_1, x_2); +x_3 = l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addParam___spec__2(x_1, x_2); lean_dec(x_2); lean_dec(x_1); x_4 = lean_box(x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_addLetDecl(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__2(lean_object* x_1, lean_object* x_2) { _start: { -uint8_t x_6; -x_6 = !lean_is_exclusive(x_1); +if (lean_obj_tag(x_2) == 0) +{ +uint8_t x_3; +x_3 = 0; +return x_3; +} +else +{ +lean_object* x_4; lean_object* x_5; uint8_t x_6; +x_4 = lean_ctor_get(x_2, 0); +x_5 = lean_ctor_get(x_2, 2); +x_6 = lean_name_eq(x_4, x_1); if (x_6 == 0) { -lean_object* x_7; lean_object* x_8; uint8_t x_9; lean_object* x_10; lean_object* x_11; -x_7 = lean_ctor_get(x_1, 0); -x_8 = lean_unsigned_to_nat(0u); -x_9 = 1; -lean_inc(x_2); -x_10 = lean_alloc_ctor(1, 5, 1); -lean_ctor_set(x_10, 0, x_8); -lean_ctor_set(x_10, 1, x_2); -lean_ctor_set(x_10, 2, x_3); -lean_ctor_set(x_10, 3, x_4); -lean_ctor_set(x_10, 4, x_5); -lean_ctor_set_uint8(x_10, sizeof(void*)*5, x_9); -x_11 = l_Std_HashMap_insert___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__1(x_7, x_2, x_10); -lean_ctor_set(x_1, 0, x_11); +x_2 = x_5; +goto _start; +} +else +{ +uint8_t x_8; +x_8 = 1; +return x_8; +} +} +} +} +LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__5(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ return x_1; } else { -lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_12 = lean_ctor_get(x_1, 0); -x_13 = lean_ctor_get(x_1, 1); +uint8_t x_3; +x_3 = !lean_is_exclusive(x_2); +if (x_3 == 0) +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; uint64_t x_7; size_t x_8; size_t x_9; lean_object* x_10; lean_object* x_11; +x_4 = lean_ctor_get(x_2, 0); +x_5 = lean_ctor_get(x_2, 2); +x_6 = lean_array_get_size(x_1); +x_7 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1681_(x_4); +x_8 = lean_uint64_to_usize(x_7); +x_9 = lean_usize_modn(x_8, x_6); +lean_dec(x_6); +x_10 = lean_array_uget(x_1, x_9); +lean_ctor_set(x_2, 2, x_10); +x_11 = lean_array_uset(x_1, x_9, x_2); +x_1 = x_11; +x_2 = x_5; +goto _start; +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint64_t x_17; size_t x_18; size_t x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_13 = lean_ctor_get(x_2, 0); +x_14 = lean_ctor_get(x_2, 1); +x_15 = lean_ctor_get(x_2, 2); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_dec(x_2); +x_16 = lean_array_get_size(x_1); +x_17 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1681_(x_13); +x_18 = lean_uint64_to_usize(x_17); +x_19 = lean_usize_modn(x_18, x_16); +lean_dec(x_16); +x_20 = lean_array_uget(x_1, x_19); +x_21 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_21, 0, x_13); +lean_ctor_set(x_21, 1, x_14); +lean_ctor_set(x_21, 2, x_20); +x_22 = lean_array_uset(x_1, x_19, x_21); +x_1 = x_22; +x_2 = x_15; +goto _start; +} +} +} +} +LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; uint8_t x_5; +x_4 = lean_array_get_size(x_2); +x_5 = lean_nat_dec_lt(x_1, x_4); +lean_dec(x_4); +if (x_5 == 0) +{ +lean_dec(x_2); +lean_dec(x_1); +return x_3; +} +else +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_6 = lean_array_fget(x_2, x_1); +x_7 = lean_box(0); +x_8 = lean_array_fset(x_2, x_1, x_7); +x_9 = l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__5(x_3, x_6); +x_10 = lean_unsigned_to_nat(1u); +x_11 = lean_nat_add(x_1, x_10); +lean_dec(x_1); +x_1 = x_11; +x_2 = x_8; +x_3 = x_9; +goto _start; +} +} +} +LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__3(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_3 = lean_array_get_size(x_2); +x_4 = lean_unsigned_to_nat(2u); +x_5 = lean_nat_mul(x_3, x_4); +lean_dec(x_3); +x_6 = lean_box(0); +x_7 = lean_mk_array(x_5, x_6); +x_8 = lean_unsigned_to_nat(0u); +x_9 = l_Std_HashMapImp_moveEntries___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__4(x_8, x_2, x_7); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_1); +lean_ctor_set(x_10, 1, x_9); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Std_AssocList_replace___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_3) == 0) +{ +lean_object* x_4; +lean_dec(x_2); +lean_dec(x_1); +x_4 = lean_box(0); +return x_4; +} +else +{ +uint8_t x_5; +x_5 = !lean_is_exclusive(x_3); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9; +x_6 = lean_ctor_get(x_3, 0); +x_7 = lean_ctor_get(x_3, 1); +x_8 = lean_ctor_get(x_3, 2); +x_9 = lean_name_eq(x_6, x_1); +if (x_9 == 0) +{ +lean_object* x_10; +x_10 = l_Std_AssocList_replace___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__6(x_1, x_2, x_8); +lean_ctor_set(x_3, 2, x_10); +return x_3; +} +else +{ +lean_dec(x_7); +lean_dec(x_6); +lean_ctor_set(x_3, 1, x_2); +lean_ctor_set(x_3, 0, x_1); +return x_3; +} +} +else +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; +x_11 = lean_ctor_get(x_3, 0); +x_12 = lean_ctor_get(x_3, 1); +x_13 = lean_ctor_get(x_3, 2); lean_inc(x_13); lean_inc(x_12); -lean_dec(x_1); -x_14 = lean_unsigned_to_nat(0u); -x_15 = 1; -lean_inc(x_2); -x_16 = lean_alloc_ctor(1, 5, 1); -lean_ctor_set(x_16, 0, x_14); -lean_ctor_set(x_16, 1, x_2); -lean_ctor_set(x_16, 2, x_3); -lean_ctor_set(x_16, 3, x_4); -lean_ctor_set(x_16, 4, x_5); -lean_ctor_set_uint8(x_16, sizeof(void*)*5, x_15); -x_17 = l_Std_HashMap_insert___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__1(x_12, x_2, x_16); -x_18 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_18, 0, x_17); -lean_ctor_set(x_18, 1, x_13); -return x_18; +lean_inc(x_11); +lean_dec(x_3); +x_14 = lean_name_eq(x_11, x_1); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; +x_15 = l_Std_AssocList_replace___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__6(x_1, x_2, x_13); +x_16 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_16, 0, x_11); +lean_ctor_set(x_16, 1, x_12); +lean_ctor_set(x_16, 2, x_15); +return x_16; } +else +{ +lean_object* x_17; +lean_dec(x_12); +lean_dec(x_11); +x_17 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_17, 0, x_1); +lean_ctor_set(x_17, 1, x_2); +lean_ctor_set(x_17, 2, x_13); +return x_17; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_1); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; uint64_t x_8; size_t x_9; size_t x_10; lean_object* x_11; uint8_t x_12; +x_5 = lean_ctor_get(x_1, 0); +x_6 = lean_ctor_get(x_1, 1); +x_7 = lean_array_get_size(x_6); +x_8 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1681_(x_2); +x_9 = lean_uint64_to_usize(x_8); +x_10 = lean_usize_modn(x_9, x_7); +x_11 = lean_array_uget(x_6, x_10); +x_12 = l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__2(x_2, x_11); +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; +x_13 = lean_unsigned_to_nat(1u); +x_14 = lean_nat_add(x_5, x_13); +lean_dec(x_5); +x_15 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_15, 0, x_2); +lean_ctor_set(x_15, 1, x_3); +lean_ctor_set(x_15, 2, x_11); +x_16 = lean_array_uset(x_6, x_10, x_15); +x_17 = l___private_Lean_Data_HashMap_0__Std_numBucketsForCapacity(x_14); +x_18 = lean_nat_dec_le(x_17, x_7); +lean_dec(x_7); +lean_dec(x_17); +if (x_18 == 0) +{ +lean_object* x_19; +lean_free_object(x_1); +x_19 = l_Std_HashMapImp_expand___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__3(x_14, x_16); +return x_19; +} +else +{ +lean_ctor_set(x_1, 1, x_16); +lean_ctor_set(x_1, 0, x_14); +return x_1; +} +} +else +{ +lean_object* x_20; lean_object* x_21; +lean_dec(x_7); +x_20 = l_Std_AssocList_replace___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__6(x_2, x_3, x_11); +x_21 = lean_array_uset(x_6, x_10, x_20); +lean_ctor_set(x_1, 1, x_21); +return x_1; +} +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; uint64_t x_25; size_t x_26; size_t x_27; lean_object* x_28; uint8_t x_29; +x_22 = lean_ctor_get(x_1, 0); +x_23 = lean_ctor_get(x_1, 1); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_1); +x_24 = lean_array_get_size(x_23); +x_25 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1681_(x_2); +x_26 = lean_uint64_to_usize(x_25); +x_27 = lean_usize_modn(x_26, x_24); +x_28 = lean_array_uget(x_23, x_27); +x_29 = l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__2(x_2, x_28); +if (x_29 == 0) +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; +x_30 = lean_unsigned_to_nat(1u); +x_31 = lean_nat_add(x_22, x_30); +lean_dec(x_22); +x_32 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_32, 0, x_2); +lean_ctor_set(x_32, 1, x_3); +lean_ctor_set(x_32, 2, x_28); +x_33 = lean_array_uset(x_23, x_27, x_32); +x_34 = l___private_Lean_Data_HashMap_0__Std_numBucketsForCapacity(x_31); +x_35 = lean_nat_dec_le(x_34, x_24); +lean_dec(x_24); +lean_dec(x_34); +if (x_35 == 0) +{ +lean_object* x_36; +x_36 = l_Std_HashMapImp_expand___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__3(x_31, x_33); +return x_36; +} +else +{ +lean_object* x_37; +x_37 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_37, 0, x_31); +lean_ctor_set(x_37, 1, x_33); +return x_37; +} +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +lean_dec(x_24); +x_38 = l_Std_AssocList_replace___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__6(x_2, x_3, x_28); +x_39 = lean_array_uset(x_23, x_27, x_38); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_22); +lean_ctor_set(x_40, 1, x_39); +return x_40; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_addLetDecl(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; +x_3 = !lean_is_exclusive(x_1); +if (x_3 == 0) +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_4 = lean_ctor_get(x_1, 1); +x_5 = lean_ctor_get(x_2, 0); +lean_inc(x_5); +x_6 = l_Std_HashMap_insert___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__1(x_4, x_5, x_2); +lean_ctor_set(x_1, 1, x_6); +return x_1; +} +else +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_7 = lean_ctor_get(x_1, 0); +x_8 = lean_ctor_get(x_1, 1); +x_9 = lean_ctor_get(x_1, 2); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_dec(x_1); +x_10 = lean_ctor_get(x_2, 0); +lean_inc(x_10); +x_11 = l_Std_HashMap_insert___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__1(x_8, x_10, x_2); +x_12 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_12, 0, x_7); +lean_ctor_set(x_12, 1, x_11); +lean_ctor_set(x_12, 2, x_9); +return x_12; +} +} +} +LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__2___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__2(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; } } LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addFunDecl___spec__2(lean_object* x_1, lean_object* x_2) { @@ -939,61 +1299,32 @@ uint8_t x_3; x_3 = !lean_is_exclusive(x_1); if (x_3 == 0) { -lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; uint8_t x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_4 = lean_ctor_get(x_1, 0); -x_5 = lean_ctor_get(x_1, 1); -x_6 = lean_ctor_get(x_2, 0); -lean_inc(x_6); -x_7 = lean_ctor_get(x_2, 1); -lean_inc(x_7); -x_8 = lean_ctor_get(x_2, 3); -lean_inc(x_8); -x_9 = lean_unsigned_to_nat(0u); -x_10 = 0; -lean_inc(x_6); -x_11 = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(x_11, 0, x_9); -lean_ctor_set(x_11, 1, x_6); -lean_ctor_set(x_11, 2, x_7); -lean_ctor_set(x_11, 3, x_8); -lean_ctor_set_uint8(x_11, sizeof(void*)*4, x_10); -lean_inc(x_6); -x_12 = l_Std_HashMap_insert___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__1(x_4, x_6, x_11); -x_13 = l_Std_HashMap_insert___at_Lean_Compiler_LCNF_LCtx_addFunDecl___spec__1(x_5, x_6, x_2); -lean_ctor_set(x_1, 1, x_13); -lean_ctor_set(x_1, 0, x_12); +lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_4 = lean_ctor_get(x_1, 2); +x_5 = lean_ctor_get(x_2, 0); +lean_inc(x_5); +x_6 = l_Std_HashMap_insert___at_Lean_Compiler_LCNF_LCtx_addFunDecl___spec__1(x_4, x_5, x_2); +lean_ctor_set(x_1, 2, x_6); return x_1; } else { -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_14 = lean_ctor_get(x_1, 0); -x_15 = lean_ctor_get(x_1, 1); -lean_inc(x_15); -lean_inc(x_14); +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_7 = lean_ctor_get(x_1, 0); +x_8 = lean_ctor_get(x_1, 1); +x_9 = lean_ctor_get(x_1, 2); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); lean_dec(x_1); -x_16 = lean_ctor_get(x_2, 0); -lean_inc(x_16); -x_17 = lean_ctor_get(x_2, 1); -lean_inc(x_17); -x_18 = lean_ctor_get(x_2, 3); -lean_inc(x_18); -x_19 = lean_unsigned_to_nat(0u); -x_20 = 0; -lean_inc(x_16); -x_21 = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(x_21, 0, x_19); -lean_ctor_set(x_21, 1, x_16); -lean_ctor_set(x_21, 2, x_17); -lean_ctor_set(x_21, 3, x_18); -lean_ctor_set_uint8(x_21, sizeof(void*)*4, x_20); -lean_inc(x_16); -x_22 = l_Std_HashMap_insert___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__1(x_14, x_16, x_21); -x_23 = l_Std_HashMap_insert___at_Lean_Compiler_LCNF_LCtx_addFunDecl___spec__1(x_15, x_16, x_2); -x_24 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -return x_24; +x_10 = lean_ctor_get(x_2, 0); +lean_inc(x_10); +x_11 = l_Std_HashMap_insert___at_Lean_Compiler_LCNF_LCtx_addFunDecl___spec__1(x_9, x_10, x_2); +x_12 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_12, 0, x_7); +lean_ctor_set(x_12, 1, x_8); +lean_ctor_set(x_12, 2, x_11); +return x_12; } } } @@ -1008,7 +1339,7 @@ x_4 = lean_box(x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseLocal___spec__2(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseParam___spec__2(lean_object* x_1, lean_object* x_2) { _start: { if (lean_obj_tag(x_2) == 0) @@ -1031,7 +1362,7 @@ x_8 = lean_name_eq(x_5, x_1); if (x_8 == 0) { lean_object* x_9; -x_9 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseLocal___spec__2(x_1, x_7); +x_9 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseParam___spec__2(x_1, x_7); lean_ctor_set(x_2, 2, x_9); return x_2; } @@ -1057,7 +1388,7 @@ x_13 = lean_name_eq(x_10, x_1); if (x_13 == 0) { lean_object* x_14; lean_object* x_15; -x_14 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseLocal___spec__2(x_1, x_12); +x_14 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseParam___spec__2(x_1, x_12); x_15 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_15, 0, x_10); lean_ctor_set(x_15, 1, x_11); @@ -1074,7 +1405,7 @@ return x_12; } } } -LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseLocal___spec__1(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseParam___spec__1(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; lean_object* x_5; uint64_t x_6; size_t x_7; size_t x_8; lean_object* x_9; uint8_t x_10; @@ -1088,7 +1419,7 @@ x_7 = lean_uint64_to_usize(x_6); x_8 = lean_usize_modn(x_7, x_5); lean_dec(x_5); x_9 = lean_array_uget(x_4, x_8); -x_10 = l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addLocalDecl___spec__2(x_2, x_9); +x_10 = l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addParam___spec__2(x_2, x_9); if (x_10 == 0) { lean_dec(x_9); @@ -1110,7 +1441,7 @@ lean_dec(x_13); x_14 = lean_unsigned_to_nat(1u); x_15 = lean_nat_sub(x_3, x_14); lean_dec(x_3); -x_16 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseLocal___spec__2(x_2, x_9); +x_16 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseParam___spec__2(x_2, x_9); x_17 = lean_array_uset(x_4, x_8, x_16); lean_ctor_set(x_1, 1, x_17); lean_ctor_set(x_1, 0, x_15); @@ -1123,7 +1454,7 @@ lean_dec(x_1); x_18 = lean_unsigned_to_nat(1u); x_19 = lean_nat_sub(x_3, x_18); lean_dec(x_3); -x_20 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseLocal___spec__2(x_2, x_9); +x_20 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseParam___spec__2(x_2, x_9); x_21 = lean_array_uset(x_4, x_8, x_20); x_22 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_22, 0, x_19); @@ -1133,80 +1464,85 @@ return x_22; } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseLocal(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseParam(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; -x_3 = !lean_is_exclusive(x_2); +x_3 = !lean_is_exclusive(x_1); if (x_3 == 0) { -lean_object* x_4; lean_object* x_5; -x_4 = lean_ctor_get(x_2, 0); -x_5 = l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseLocal___spec__1(x_4, x_1); -lean_ctor_set(x_2, 0, x_5); -return x_2; +lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_4 = lean_ctor_get(x_1, 0); +x_5 = lean_ctor_get(x_2, 0); +x_6 = l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseParam___spec__1(x_4, x_5); +lean_ctor_set(x_1, 0, x_6); +return x_1; } else { -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; -x_6 = lean_ctor_get(x_2, 0); -x_7 = lean_ctor_get(x_2, 1); +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_7 = lean_ctor_get(x_1, 0); +x_8 = lean_ctor_get(x_1, 1); +x_9 = lean_ctor_get(x_1, 2); +lean_inc(x_9); +lean_inc(x_8); lean_inc(x_7); -lean_inc(x_6); -lean_dec(x_2); -x_8 = l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseLocal___spec__1(x_6, x_1); -x_9 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_9, 0, x_8); -lean_ctor_set(x_9, 1, x_7); -return x_9; +lean_dec(x_1); +x_10 = lean_ctor_get(x_2, 0); +x_11 = l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseParam___spec__1(x_7, x_10); +x_12 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_8); +lean_ctor_set(x_12, 2, x_9); +return x_12; } } } -LEAN_EXPORT lean_object* l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseLocal___spec__2___boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseParam___spec__2___boxed(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseLocal___spec__2(x_1, x_2); +x_3 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseParam___spec__2(x_1, x_2); lean_dec(x_1); return x_3; } } -LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseLocal___spec__1___boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseParam___spec__1___boxed(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseLocal___spec__1(x_1, x_2); +x_3 = l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseParam___spec__1(x_1, x_2); lean_dec(x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseLocal___boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseParam___boxed(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = l_Lean_Compiler_LCNF_LCtx_eraseLocal(x_1, x_2); -lean_dec(x_1); +x_3 = l_Lean_Compiler_LCNF_LCtx_eraseParam(x_1, x_2); +lean_dec(x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_erase_goParams___spec__1(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_eraseParams___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 = lean_usize_dec_eq(x_2, x_3); if (x_5 == 0) { -lean_object* x_6; lean_object* x_7; uint8_t x_8; lean_object* x_9; size_t x_10; size_t x_11; +lean_object* x_6; lean_object* x_7; size_t x_8; size_t x_9; lean_object* x_10; x_6 = lean_array_uget(x_1, x_2); x_7 = lean_ctor_get(x_6, 0); lean_inc(x_7); lean_dec(x_6); x_8 = 1; -x_9 = l_Lean_Compiler_LCNF_LCtx_erase(x_7, x_4, x_8); -x_10 = 1; -x_11 = lean_usize_add(x_2, x_10); -x_2 = x_11; -x_4 = x_9; +x_9 = lean_usize_add(x_2, x_8); +x_10 = l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseParam___spec__1(x_4, x_7); +lean_dec(x_7); +x_2 = x_9; +x_4 = x_10; goto _start; } else @@ -1215,92 +1551,121 @@ return x_4; } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_erase_goParams(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseParams(lean_object* x_1, lean_object* x_2) { _start: { -lean_object* x_3; lean_object* x_4; uint8_t x_5; -x_3 = lean_array_get_size(x_1); -x_4 = lean_unsigned_to_nat(0u); -x_5 = lean_nat_dec_lt(x_4, x_3); -if (x_5 == 0) -{ -lean_dec(x_3); -return x_2; -} -else -{ -uint8_t x_6; -x_6 = lean_nat_dec_le(x_3, x_3); -if (x_6 == 0) -{ -lean_dec(x_3); -return x_2; -} -else -{ -size_t x_7; size_t x_8; lean_object* x_9; -x_7 = 0; -x_8 = lean_usize_of_nat(x_3); -lean_dec(x_3); -x_9 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_erase_goParams___spec__1(x_1, x_7, x_8, x_2); -return x_9; -} -} -} -} -LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_LCtx_erase___spec__2(lean_object* x_1, lean_object* x_2) { -_start: -{ -if (lean_obj_tag(x_2) == 0) -{ -lean_object* x_3; -x_3 = lean_box(0); -return x_3; -} -else +uint8_t x_3; +x_3 = !lean_is_exclusive(x_1); +if (x_3 == 0) { lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7; -x_4 = lean_ctor_get(x_2, 0); -x_5 = lean_ctor_get(x_2, 1); -x_6 = lean_ctor_get(x_2, 2); -x_7 = lean_name_eq(x_4, x_1); +x_4 = lean_ctor_get(x_1, 0); +x_5 = lean_array_get_size(x_2); +x_6 = lean_unsigned_to_nat(0u); +x_7 = lean_nat_dec_lt(x_6, x_5); if (x_7 == 0) { -x_2 = x_6; -goto _start; +lean_dec(x_5); +return x_1; } else { -lean_object* x_9; -lean_inc(x_5); -x_9 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_9, 0, x_5); -return x_9; +uint8_t x_8; +x_8 = lean_nat_dec_le(x_5, x_5); +if (x_8 == 0) +{ +lean_dec(x_5); +return x_1; +} +else +{ +size_t x_9; size_t x_10; lean_object* x_11; +x_9 = 0; +x_10 = lean_usize_of_nat(x_5); +lean_dec(x_5); +x_11 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_eraseParams___spec__1(x_2, x_9, x_10, x_4); +lean_ctor_set(x_1, 0, x_11); +return x_1; +} +} +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; +x_12 = lean_ctor_get(x_1, 0); +x_13 = lean_ctor_get(x_1, 1); +x_14 = lean_ctor_get(x_1, 2); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_dec(x_1); +x_15 = lean_array_get_size(x_2); +x_16 = lean_unsigned_to_nat(0u); +x_17 = lean_nat_dec_lt(x_16, x_15); +if (x_17 == 0) +{ +lean_object* x_18; +lean_dec(x_15); +x_18 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_18, 0, x_12); +lean_ctor_set(x_18, 1, x_13); +lean_ctor_set(x_18, 2, x_14); +return x_18; +} +else +{ +uint8_t x_19; +x_19 = lean_nat_dec_le(x_15, x_15); +if (x_19 == 0) +{ +lean_object* x_20; +lean_dec(x_15); +x_20 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_20, 0, x_12); +lean_ctor_set(x_20, 1, x_13); +lean_ctor_set(x_20, 2, x_14); +return x_20; +} +else +{ +size_t x_21; size_t x_22; lean_object* x_23; lean_object* x_24; +x_21 = 0; +x_22 = lean_usize_of_nat(x_15); +lean_dec(x_15); +x_23 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_eraseParams___spec__1(x_2, x_21, x_22, x_12); +x_24 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_24, 0, x_23); +lean_ctor_set(x_24, 1, x_13); +lean_ctor_set(x_24, 2, x_14); +return x_24; } } } } -LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_LCtx_erase___spec__1(lean_object* x_1, lean_object* x_2) { +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_eraseParams___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { -lean_object* x_3; lean_object* x_4; uint64_t x_5; size_t x_6; size_t x_7; lean_object* x_8; lean_object* x_9; -x_3 = lean_ctor_get(x_1, 1); -lean_inc(x_3); -lean_dec(x_1); -x_4 = lean_array_get_size(x_3); -x_5 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1681_(x_2); -x_6 = lean_uint64_to_usize(x_5); -x_7 = lean_usize_modn(x_6, x_4); -lean_dec(x_4); -x_8 = lean_array_uget(x_3, x_7); -lean_dec(x_3); -x_9 = l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_LCtx_erase___spec__2(x_2, x_8); -lean_dec(x_8); +size_t x_5; size_t x_6; lean_object* x_7; +x_5 = lean_unbox_usize(x_2); lean_dec(x_2); -return x_9; +x_6 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_7 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_eraseParams___spec__1(x_1, x_5, x_6, x_4); +lean_dec(x_1); +return x_7; } } -LEAN_EXPORT lean_object* l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_erase___spec__4(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseParams___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Lean_Compiler_LCNF_LCtx_eraseParams(x_1, x_2); +lean_dec(x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseLetDecl___spec__2(lean_object* x_1, lean_object* x_2) { _start: { if (lean_obj_tag(x_2) == 0) @@ -1323,7 +1688,7 @@ x_8 = lean_name_eq(x_5, x_1); if (x_8 == 0) { lean_object* x_9; -x_9 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_erase___spec__4(x_1, x_7); +x_9 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseLetDecl___spec__2(x_1, x_7); lean_ctor_set(x_2, 2, x_9); return x_2; } @@ -1349,7 +1714,7 @@ x_13 = lean_name_eq(x_10, x_1); if (x_13 == 0) { lean_object* x_14; lean_object* x_15; -x_14 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_erase___spec__4(x_1, x_12); +x_14 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseLetDecl___spec__2(x_1, x_12); x_15 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_15, 0, x_10); lean_ctor_set(x_15, 1, x_11); @@ -1366,7 +1731,193 @@ return x_12; } } } -LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_erase___spec__3(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseLetDecl___spec__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; uint64_t x_6; size_t x_7; size_t x_8; lean_object* x_9; uint8_t x_10; +x_3 = lean_ctor_get(x_1, 0); +lean_inc(x_3); +x_4 = lean_ctor_get(x_1, 1); +lean_inc(x_4); +x_5 = lean_array_get_size(x_4); +x_6 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1681_(x_2); +x_7 = lean_uint64_to_usize(x_6); +x_8 = lean_usize_modn(x_7, x_5); +lean_dec(x_5); +x_9 = lean_array_uget(x_4, x_8); +x_10 = l_Std_AssocList_contains___at_Lean_Compiler_LCNF_LCtx_addLetDecl___spec__2(x_2, x_9); +if (x_10 == 0) +{ +lean_dec(x_9); +lean_dec(x_4); +lean_dec(x_3); +return x_1; +} +else +{ +uint8_t x_11; +x_11 = !lean_is_exclusive(x_1); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_12 = lean_ctor_get(x_1, 1); +lean_dec(x_12); +x_13 = lean_ctor_get(x_1, 0); +lean_dec(x_13); +x_14 = lean_unsigned_to_nat(1u); +x_15 = lean_nat_sub(x_3, x_14); +lean_dec(x_3); +x_16 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseLetDecl___spec__2(x_2, x_9); +x_17 = lean_array_uset(x_4, x_8, x_16); +lean_ctor_set(x_1, 1, x_17); +lean_ctor_set(x_1, 0, x_15); +return x_1; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +lean_dec(x_1); +x_18 = lean_unsigned_to_nat(1u); +x_19 = lean_nat_sub(x_3, x_18); +lean_dec(x_3); +x_20 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseLetDecl___spec__2(x_2, x_9); +x_21 = lean_array_uset(x_4, x_8, x_20); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_19); +lean_ctor_set(x_22, 1, x_21); +return x_22; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseLetDecl(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; +x_3 = !lean_is_exclusive(x_1); +if (x_3 == 0) +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_4 = lean_ctor_get(x_1, 1); +x_5 = lean_ctor_get(x_2, 0); +x_6 = l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseLetDecl___spec__1(x_4, x_5); +lean_ctor_set(x_1, 1, x_6); +return x_1; +} +else +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_7 = lean_ctor_get(x_1, 0); +x_8 = lean_ctor_get(x_1, 1); +x_9 = lean_ctor_get(x_1, 2); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_dec(x_1); +x_10 = lean_ctor_get(x_2, 0); +x_11 = l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseLetDecl___spec__1(x_8, x_10); +x_12 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_12, 0, x_7); +lean_ctor_set(x_12, 1, x_11); +lean_ctor_set(x_12, 2, x_9); +return x_12; +} +} +} +LEAN_EXPORT lean_object* l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseLetDecl___spec__2___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseLetDecl___spec__2(x_1, x_2); +lean_dec(x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseLetDecl___spec__1___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseLetDecl___spec__1(x_1, x_2); +lean_dec(x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseLetDecl___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Lean_Compiler_LCNF_LCtx_eraseLetDecl(x_1, x_2); +lean_dec(x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseFunDecl___spec__2(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_3; +x_3 = lean_box(0); +return x_3; +} +else +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_2); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; +x_5 = lean_ctor_get(x_2, 0); +x_6 = lean_ctor_get(x_2, 1); +x_7 = lean_ctor_get(x_2, 2); +x_8 = lean_name_eq(x_5, x_1); +if (x_8 == 0) +{ +lean_object* x_9; +x_9 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseFunDecl___spec__2(x_1, x_7); +lean_ctor_set(x_2, 2, x_9); +return x_2; +} +else +{ +lean_free_object(x_2); +lean_dec(x_6); +lean_dec(x_5); +return x_7; +} +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; +x_10 = lean_ctor_get(x_2, 0); +x_11 = lean_ctor_get(x_2, 1); +x_12 = lean_ctor_get(x_2, 2); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_dec(x_2); +x_13 = lean_name_eq(x_10, x_1); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; +x_14 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseFunDecl___spec__2(x_1, x_12); +x_15 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_15, 0, x_10); +lean_ctor_set(x_15, 1, x_11); +lean_ctor_set(x_15, 2, x_14); +return x_15; +} +else +{ +lean_dec(x_11); +lean_dec(x_10); +return x_12; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseFunDecl___spec__1(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; lean_object* x_5; uint64_t x_6; size_t x_7; size_t x_8; lean_object* x_9; uint8_t x_10; @@ -1402,7 +1953,7 @@ lean_dec(x_13); x_14 = lean_unsigned_to_nat(1u); x_15 = lean_nat_sub(x_3, x_14); lean_dec(x_3); -x_16 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_erase___spec__4(x_2, x_9); +x_16 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseFunDecl___spec__2(x_2, x_9); x_17 = lean_array_uset(x_4, x_8, x_16); lean_ctor_set(x_1, 1, x_17); lean_ctor_set(x_1, 0, x_15); @@ -1415,7 +1966,7 @@ lean_dec(x_1); x_18 = lean_unsigned_to_nat(1u); x_19 = lean_nat_sub(x_3, x_18); lean_dec(x_3); -x_20 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_erase___spec__4(x_2, x_9); +x_20 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseFunDecl___spec__2(x_2, x_9); x_21 = lean_array_uset(x_4, x_8, x_20); x_22 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_22, 0, x_19); @@ -1425,183 +1976,136 @@ return x_22; } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_erase(lean_object* x_1, lean_object* x_2, uint8_t x_3) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseFunDecl(lean_object* x_1, lean_object* x_2, uint8_t x_3) { _start: { uint8_t x_4; -x_4 = !lean_is_exclusive(x_2); +x_4 = !lean_is_exclusive(x_1); if (x_4 == 0) { -lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_5 = lean_ctor_get(x_2, 0); -x_6 = lean_ctor_get(x_2, 1); -x_7 = l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseLocal___spec__1(x_5, x_1); -lean_inc(x_1); +lean_object* x_5; lean_object* x_6; lean_object* x_7; +x_5 = lean_ctor_get(x_1, 2); +x_6 = lean_ctor_get(x_2, 0); lean_inc(x_6); -x_8 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_LCtx_erase___spec__1(x_6, x_1); -if (lean_obj_tag(x_8) == 0) -{ -lean_dec(x_1); -lean_ctor_set(x_2, 0, x_7); -return x_2; -} -else -{ -lean_object* x_9; lean_object* x_10; -x_9 = lean_ctor_get(x_8, 0); -lean_inc(x_9); -lean_dec(x_8); -x_10 = l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_erase___spec__3(x_6, x_1); -lean_dec(x_1); +x_7 = l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseFunDecl___spec__1(x_5, x_6); +lean_dec(x_6); +lean_ctor_set(x_1, 2, x_7); if (x_3 == 0) { -lean_dec(x_9); -lean_ctor_set(x_2, 1, x_10); -lean_ctor_set(x_2, 0, x_7); -return x_2; -} -else -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_11 = lean_ctor_get(x_9, 4); -lean_inc(x_11); -x_12 = lean_ctor_get(x_9, 2); -lean_inc(x_12); -lean_dec(x_9); -lean_ctor_set(x_2, 1, x_10); -lean_ctor_set(x_2, 0, x_7); -x_13 = l_Lean_Compiler_LCNF_LCtx_erase_goParams(x_12, x_2); -lean_dec(x_12); -x_14 = l_Lean_Compiler_LCNF_LCtx_erase_go(x_11, x_13); -return x_14; -} -} -} -else -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_15 = lean_ctor_get(x_2, 0); -x_16 = lean_ctor_get(x_2, 1); -lean_inc(x_16); -lean_inc(x_15); lean_dec(x_2); -x_17 = l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseLocal___spec__1(x_15, x_1); -lean_inc(x_1); -lean_inc(x_16); -x_18 = l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_LCtx_erase___spec__1(x_16, x_1); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; -lean_dec(x_1); -x_19 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_19, 0, x_17); -lean_ctor_set(x_19, 1, x_16); -return x_19; +return x_1; } else { -lean_object* x_20; lean_object* x_21; -x_20 = lean_ctor_get(x_18, 0); -lean_inc(x_20); -lean_dec(x_18); -x_21 = l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_erase___spec__3(x_16, x_1); +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_8 = lean_ctor_get(x_2, 4); +lean_inc(x_8); +x_9 = lean_ctor_get(x_2, 2); +lean_inc(x_9); +lean_dec(x_2); +x_10 = l_Lean_Compiler_LCNF_LCtx_eraseParams(x_1, x_9); +lean_dec(x_9); +x_11 = l_Lean_Compiler_LCNF_LCtx_eraseCode(x_8, x_10); +return x_11; +} +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_12 = lean_ctor_get(x_1, 0); +x_13 = lean_ctor_get(x_1, 1); +x_14 = lean_ctor_get(x_1, 2); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); lean_dec(x_1); +x_15 = lean_ctor_get(x_2, 0); +lean_inc(x_15); +x_16 = l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseFunDecl___spec__1(x_14, x_15); +lean_dec(x_15); +x_17 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_17, 0, x_12); +lean_ctor_set(x_17, 1, x_13); +lean_ctor_set(x_17, 2, x_16); if (x_3 == 0) { -lean_object* x_22; -lean_dec(x_20); -x_22 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_22, 0, x_17); -lean_ctor_set(x_22, 1, x_21); -return x_22; +lean_dec(x_2); +return x_17; } else { -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_23 = lean_ctor_get(x_20, 4); -lean_inc(x_23); -x_24 = lean_ctor_get(x_20, 2); -lean_inc(x_24); -lean_dec(x_20); -x_25 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_25, 0, x_17); -lean_ctor_set(x_25, 1, x_21); -x_26 = l_Lean_Compiler_LCNF_LCtx_erase_goParams(x_24, x_25); -lean_dec(x_24); -x_27 = l_Lean_Compiler_LCNF_LCtx_erase_go(x_23, x_26); -return x_27; +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_18 = lean_ctor_get(x_2, 4); +lean_inc(x_18); +x_19 = lean_ctor_get(x_2, 2); +lean_inc(x_19); +lean_dec(x_2); +x_20 = l_Lean_Compiler_LCNF_LCtx_eraseParams(x_17, x_19); +lean_dec(x_19); +x_21 = l_Lean_Compiler_LCNF_LCtx_eraseCode(x_18, x_20); +return x_21; } } } } -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_erase_go(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseCode(lean_object* x_1, lean_object* x_2) { _start: { switch (lean_obj_tag(x_1)) { case 0: { -lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +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_ctor_get(x_3, 0); -lean_inc(x_5); +x_5 = l_Lean_Compiler_LCNF_LCtx_eraseLetDecl(x_2, x_3); lean_dec(x_3); -x_6 = l_Lean_Compiler_LCNF_LCtx_eraseLocal(x_5, x_2); -lean_dec(x_5); x_1 = x_4; -x_2 = x_6; +x_2 = x_5; goto _start; } case 1: { -lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11; lean_object* x_12; -x_8 = lean_ctor_get(x_1, 0); +lean_object* x_7; lean_object* x_8; uint8_t x_9; lean_object* x_10; +x_7 = lean_ctor_get(x_1, 0); +lean_inc(x_7); +x_8 = lean_ctor_get(x_1, 1); lean_inc(x_8); -x_9 = lean_ctor_get(x_1, 1); -lean_inc(x_9); lean_dec(x_1); -x_10 = lean_ctor_get(x_8, 0); -lean_inc(x_10); -lean_dec(x_8); -x_11 = 1; -x_12 = l_Lean_Compiler_LCNF_LCtx_erase(x_10, x_2, x_11); -x_1 = x_9; -x_2 = x_12; +x_9 = 1; +x_10 = l_Lean_Compiler_LCNF_LCtx_eraseFunDecl(x_2, x_7, x_9); +x_1 = x_8; +x_2 = x_10; goto _start; } case 2: { -lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; -x_14 = lean_ctor_get(x_1, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_1, 1); -lean_inc(x_15); +lean_object* x_12; lean_object* x_13; uint8_t x_14; lean_object* x_15; +x_12 = lean_ctor_get(x_1, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_1, 1); +lean_inc(x_13); lean_dec(x_1); -x_16 = lean_ctor_get(x_14, 0); -lean_inc(x_16); -lean_dec(x_14); -x_17 = 1; -x_18 = l_Lean_Compiler_LCNF_LCtx_erase(x_16, x_2, x_17); -x_1 = x_15; -x_2 = x_18; +x_14 = 1; +x_15 = l_Lean_Compiler_LCNF_LCtx_eraseFunDecl(x_2, x_12, x_14); +x_1 = x_13; +x_2 = x_15; goto _start; } case 4: { -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_ctor_get(x_1, 0); -lean_inc(x_20); +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_ctor_get(x_1, 0); +lean_inc(x_17); lean_dec(x_1); -x_21 = lean_ctor_get(x_20, 3); -lean_inc(x_21); -lean_dec(x_20); -x_22 = l_Lean_Compiler_LCNF_LCtx_erase_goAlts(x_21, x_2); -lean_dec(x_21); -return x_22; +x_18 = lean_ctor_get(x_17, 3); +lean_inc(x_18); +lean_dec(x_17); +x_19 = l_Lean_Compiler_LCNF_LCtx_eraseAlts(x_18, x_2); +lean_dec(x_18); +return x_19; } default: { @@ -1611,7 +2115,7 @@ return x_2; } } } -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_erase_goAlts___spec__1(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_eraseAlts___spec__1(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { _start: { uint8_t x_5; @@ -1630,9 +2134,9 @@ lean_inc(x_9); x_10 = lean_ctor_get(x_6, 2); lean_inc(x_10); lean_dec(x_6); -x_11 = l_Lean_Compiler_LCNF_LCtx_erase_goParams(x_9, x_4); +x_11 = l_Lean_Compiler_LCNF_LCtx_eraseParams(x_4, x_9); lean_dec(x_9); -x_12 = l_Lean_Compiler_LCNF_LCtx_erase_go(x_10, x_11); +x_12 = l_Lean_Compiler_LCNF_LCtx_eraseCode(x_10, x_11); x_2 = x_8; x_4 = x_12; goto _start; @@ -1643,7 +2147,7 @@ lean_object* x_14; lean_object* x_15; x_14 = lean_ctor_get(x_6, 0); lean_inc(x_14); lean_dec(x_6); -x_15 = l_Lean_Compiler_LCNF_LCtx_erase_go(x_14, x_4); +x_15 = l_Lean_Compiler_LCNF_LCtx_eraseCode(x_14, x_4); x_2 = x_8; x_4 = x_15; goto _start; @@ -1655,7 +2159,7 @@ return x_4; } } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_erase_goAlts(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseAlts(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; uint8_t x_5; @@ -1682,73 +2186,41 @@ size_t x_7; size_t x_8; lean_object* x_9; x_7 = 0; x_8 = lean_usize_of_nat(x_3); lean_dec(x_3); -x_9 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_erase_goAlts___spec__1(x_1, x_7, x_8, x_2); +x_9 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_eraseAlts___spec__1(x_1, x_7, x_8, x_2); return x_9; } } } } -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_erase_goParams___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_Lean_Compiler_LCNF_LCtx_erase_goParams___spec__1(x_1, x_5, x_6, x_4); -lean_dec(x_1); -return x_7; -} -} -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_erase_goParams___boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseFunDecl___spec__2___boxed(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = l_Lean_Compiler_LCNF_LCtx_erase_goParams(x_1, x_2); +x_3 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_eraseFunDecl___spec__2(x_1, x_2); lean_dec(x_1); return x_3; } } -LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_LCtx_erase___spec__2___boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseFunDecl___spec__1___boxed(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = l_Std_AssocList_find_x3f___at_Lean_Compiler_LCNF_LCtx_erase___spec__2(x_1, x_2); -lean_dec(x_2); -lean_dec(x_1); -return x_3; -} -} -LEAN_EXPORT lean_object* l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_erase___spec__4___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Std_AssocList_erase___at_Lean_Compiler_LCNF_LCtx_erase___spec__4(x_1, x_2); -lean_dec(x_1); -return x_3; -} -} -LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_erase___spec__3___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_erase___spec__3(x_1, x_2); +x_3 = l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_LCtx_eraseFunDecl___spec__1(x_1, x_2); lean_dec(x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_erase___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseFunDecl___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { uint8_t x_4; lean_object* x_5; x_4 = lean_unbox(x_3); lean_dec(x_3); -x_5 = l_Lean_Compiler_LCNF_LCtx_erase(x_1, x_2, x_4); +x_5 = l_Lean_Compiler_LCNF_LCtx_eraseFunDecl(x_1, x_2, x_4); return x_5; } } -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_erase_goAlts___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_eraseAlts___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; @@ -1756,28 +2228,20 @@ x_5 = lean_unbox_usize(x_2); lean_dec(x_2); x_6 = lean_unbox_usize(x_3); lean_dec(x_3); -x_7 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_erase_goAlts___spec__1(x_1, x_5, x_6, x_4); +x_7 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_eraseAlts___spec__1(x_1, x_5, x_6, x_4); lean_dec(x_1); return x_7; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_erase_goAlts___boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseAlts___boxed(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = l_Lean_Compiler_LCNF_LCtx_erase_goAlts(x_1, x_2); +x_3 = l_Lean_Compiler_LCNF_LCtx_eraseAlts(x_1, x_2); lean_dec(x_1); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_eraseFVarsAt(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Lean_Compiler_LCNF_LCtx_erase_go(x_1, x_2); -return x_3; -} -} LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__2(lean_object* x_1, lean_object* x_2) { _start: { @@ -1890,16 +2354,298 @@ return x_4; } else { -lean_object* x_6; lean_object* x_7; lean_object* x_8; size_t x_9; size_t x_10; +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; lean_object* x_13; lean_object* x_14; size_t x_15; size_t x_16; x_6 = lean_array_uget(x_1, x_3); x_7 = lean_ctor_get(x_6, 1); lean_inc(x_7); lean_dec(x_6); -x_8 = l_Lean_LocalContext_addDecl(x_4, x_7); -x_9 = 1; -x_10 = lean_usize_add(x_3, x_9); -x_3 = x_10; -x_4 = x_8; +x_8 = lean_ctor_get(x_7, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_7, 1); +lean_inc(x_9); +x_10 = lean_ctor_get(x_7, 2); +lean_inc(x_10); +lean_dec(x_7); +x_11 = lean_unsigned_to_nat(0u); +x_12 = 0; +x_13 = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(x_13, 0, x_11); +lean_ctor_set(x_13, 1, x_8); +lean_ctor_set(x_13, 2, x_9); +lean_ctor_set(x_13, 3, x_10); +lean_ctor_set_uint8(x_13, sizeof(void*)*4, x_12); +x_14 = l_Lean_LocalContext_addDecl(x_4, x_13); +x_15 = 1; +x_16 = lean_usize_add(x_3, x_15); +x_3 = x_16; +x_4 = x_14; +goto _start; +} +} +} +LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__6(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +return x_1; +} +else +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; +x_3 = lean_ctor_get(x_2, 0); +x_4 = lean_ctor_get(x_2, 1); +x_5 = lean_ctor_get(x_2, 2); +lean_inc(x_4); +lean_inc(x_3); +x_6 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_6, 0, x_3); +lean_ctor_set(x_6, 1, x_4); +x_7 = lean_array_push(x_1, x_6); +x_1 = x_7; +x_2 = x_5; +goto _start; +} +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__7(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { +_start: +{ +uint8_t x_5; +x_5 = lean_usize_dec_eq(x_2, x_3); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; size_t x_8; size_t x_9; +x_6 = lean_array_uget(x_1, x_2); +x_7 = l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__6(x_4, x_6); +lean_dec(x_6); +x_8 = 1; +x_9 = lean_usize_add(x_2, x_8); +x_2 = x_9; +x_4 = x_7; +goto _start; +} +else +{ +return x_4; +} +} +} +LEAN_EXPORT lean_object* l_Std_HashMap_toArray___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__5(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; uint8_t x_5; +x_2 = lean_ctor_get(x_1, 1); +lean_inc(x_2); +lean_dec(x_1); +x_3 = lean_array_get_size(x_2); +x_4 = lean_unsigned_to_nat(0u); +x_5 = lean_nat_dec_lt(x_4, x_3); +if (x_5 == 0) +{ +lean_object* x_6; +lean_dec(x_3); +lean_dec(x_2); +x_6 = l_Std_HashMap_toArray___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__1___closed__1; +return x_6; +} +else +{ +uint8_t x_7; +x_7 = lean_nat_dec_le(x_3, x_3); +if (x_7 == 0) +{ +lean_object* x_8; +lean_dec(x_3); +lean_dec(x_2); +x_8 = l_Std_HashMap_toArray___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__1___closed__1; +return x_8; +} +else +{ +size_t x_9; size_t x_10; lean_object* x_11; lean_object* x_12; +x_9 = 0; +x_10 = lean_usize_of_nat(x_3); +lean_dec(x_3); +x_11 = l_Std_HashMap_toArray___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__1___closed__1; +x_12 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__7(x_2, x_9, x_10, x_11); +lean_dec(x_2); +return x_12; +} +} +} +} +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__8(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { +_start: +{ +uint8_t x_5; +x_5 = lean_usize_dec_lt(x_3, x_2); +if (x_5 == 0) +{ +return x_4; +} +else +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_15; size_t x_16; size_t x_17; +x_6 = lean_array_uget(x_1, x_3); +x_7 = lean_ctor_get(x_6, 1); +lean_inc(x_7); +lean_dec(x_6); +x_8 = lean_ctor_get(x_7, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_7, 1); +lean_inc(x_9); +x_10 = lean_ctor_get(x_7, 2); +lean_inc(x_10); +x_11 = lean_ctor_get(x_7, 3); +lean_inc(x_11); +lean_dec(x_7); +x_12 = lean_unsigned_to_nat(0u); +x_13 = 1; +x_14 = lean_alloc_ctor(1, 5, 1); +lean_ctor_set(x_14, 0, x_12); +lean_ctor_set(x_14, 1, x_8); +lean_ctor_set(x_14, 2, x_9); +lean_ctor_set(x_14, 3, x_10); +lean_ctor_set(x_14, 4, x_11); +lean_ctor_set_uint8(x_14, sizeof(void*)*5, x_13); +x_15 = l_Lean_LocalContext_addDecl(x_4, x_14); +x_16 = 1; +x_17 = lean_usize_add(x_3, x_16); +x_3 = x_17; +x_4 = x_15; +goto _start; +} +} +} +LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__10(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +return x_1; +} +else +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; +x_3 = lean_ctor_get(x_2, 0); +x_4 = lean_ctor_get(x_2, 1); +x_5 = lean_ctor_get(x_2, 2); +lean_inc(x_4); +lean_inc(x_3); +x_6 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_6, 0, x_3); +lean_ctor_set(x_6, 1, x_4); +x_7 = lean_array_push(x_1, x_6); +x_1 = x_7; +x_2 = x_5; +goto _start; +} +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__11(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { +_start: +{ +uint8_t x_5; +x_5 = lean_usize_dec_eq(x_2, x_3); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; size_t x_8; size_t x_9; +x_6 = lean_array_uget(x_1, x_2); +x_7 = l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__10(x_4, x_6); +lean_dec(x_6); +x_8 = 1; +x_9 = lean_usize_add(x_2, x_8); +x_2 = x_9; +x_4 = x_7; +goto _start; +} +else +{ +return x_4; +} +} +} +LEAN_EXPORT lean_object* l_Std_HashMap_toArray___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__9(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; uint8_t x_5; +x_2 = lean_ctor_get(x_1, 1); +lean_inc(x_2); +lean_dec(x_1); +x_3 = lean_array_get_size(x_2); +x_4 = lean_unsigned_to_nat(0u); +x_5 = lean_nat_dec_lt(x_4, x_3); +if (x_5 == 0) +{ +lean_object* x_6; +lean_dec(x_3); +lean_dec(x_2); +x_6 = l_Std_HashMap_toArray___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__1___closed__1; +return x_6; +} +else +{ +uint8_t x_7; +x_7 = lean_nat_dec_le(x_3, x_3); +if (x_7 == 0) +{ +lean_object* x_8; +lean_dec(x_3); +lean_dec(x_2); +x_8 = l_Std_HashMap_toArray___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__1___closed__1; +return x_8; +} +else +{ +size_t x_9; size_t x_10; lean_object* x_11; lean_object* x_12; +x_9 = 0; +x_10 = lean_usize_of_nat(x_3); +lean_dec(x_3); +x_11 = l_Std_HashMap_toArray___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__1___closed__1; +x_12 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__11(x_2, x_9, x_10, x_11); +lean_dec(x_2); +return x_12; +} +} +} +} +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__12(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { +_start: +{ +uint8_t x_5; +x_5 = lean_usize_dec_lt(x_3, x_2); +if (x_5 == 0) +{ +return x_4; +} +else +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; lean_object* x_13; lean_object* x_14; size_t x_15; size_t x_16; +x_6 = lean_array_uget(x_1, x_3); +x_7 = lean_ctor_get(x_6, 1); +lean_inc(x_7); +lean_dec(x_6); +x_8 = lean_ctor_get(x_7, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_7, 1); +lean_inc(x_9); +x_10 = lean_ctor_get(x_7, 3); +lean_inc(x_10); +lean_dec(x_7); +x_11 = lean_unsigned_to_nat(0u); +x_12 = 0; +x_13 = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(x_13, 0, x_11); +lean_ctor_set(x_13, 1, x_8); +lean_ctor_set(x_13, 2, x_9); +lean_ctor_set(x_13, 3, x_10); +lean_ctor_set_uint8(x_13, sizeof(void*)*4, x_12); +x_14 = l_Lean_LocalContext_addDecl(x_4, x_13); +x_15 = 1; +x_16 = lean_usize_add(x_3, x_15); +x_3 = x_16; +x_4 = x_14; goto _start; } } @@ -1985,10 +2731,9 @@ return x_3; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_LCtx_toLocalContext(lean_object* x_1) { _start: { -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_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; size_t x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; size_t x_17; lean_object* x_18; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); -lean_dec(x_1); x_3 = l_Std_HashMap_toArray___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__1(x_2); x_4 = lean_array_get_size(x_3); x_5 = lean_usize_of_nat(x_4); @@ -1997,7 +2742,24 @@ x_6 = 0; x_7 = l_Lean_Compiler_LCNF_LCtx_toLocalContext___closed__7; x_8 = l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__4(x_3, x_5, x_6, x_7); lean_dec(x_3); -return x_8; +x_9 = lean_ctor_get(x_1, 1); +lean_inc(x_9); +x_10 = l_Std_HashMap_toArray___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__5(x_9); +x_11 = lean_array_get_size(x_10); +x_12 = lean_usize_of_nat(x_11); +lean_dec(x_11); +x_13 = l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__8(x_10, x_12, x_6, x_8); +lean_dec(x_10); +x_14 = lean_ctor_get(x_1, 2); +lean_inc(x_14); +lean_dec(x_1); +x_15 = l_Std_HashMap_toArray___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__9(x_14); +x_16 = lean_array_get_size(x_15); +x_17 = lean_usize_of_nat(x_16); +lean_dec(x_16); +x_18 = l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__12(x_15, x_17, x_6, x_13); +lean_dec(x_15); +return x_18; } } LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__2___boxed(lean_object* x_1, lean_object* x_2) { @@ -2035,6 +2797,76 @@ lean_dec(x_1); return x_7; } } +LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__6___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__6(x_1, x_2); +lean_dec(x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +size_t x_5; size_t x_6; lean_object* x_7; +x_5 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_6 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_7 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__7(x_1, x_5, x_6, x_4); +lean_dec(x_1); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__8___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_forInUnsafe_loop___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__8(x_1, x_5, x_6, x_4); +lean_dec(x_1); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__10___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__10(x_1, x_2); +lean_dec(x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__11___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +size_t x_5; size_t x_6; lean_object* x_7; +x_5 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_6 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_7 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__11(x_1, x_5, x_6, x_4); +lean_dec(x_1); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__12___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_forInUnsafe_loop___at_Lean_Compiler_LCNF_LCtx_toLocalContext___spec__12(x_1, x_5, x_6, x_4); +lean_dec(x_1); +return x_7; +} +} lean_object* initialize_Init(uint8_t builtin, lean_object*); lean_object* initialize_Lean_LocalContext(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Compiler_LCNF_Basic(uint8_t builtin, lean_object*); @@ -2052,8 +2884,10 @@ lean_dec_ref(res); res = initialize_Lean_Compiler_LCNF_Basic(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l_Lean_Compiler_LCNF_LCtx_localDecls___default = _init_l_Lean_Compiler_LCNF_LCtx_localDecls___default(); -lean_mark_persistent(l_Lean_Compiler_LCNF_LCtx_localDecls___default); +l_Lean_Compiler_LCNF_LCtx_params___default = _init_l_Lean_Compiler_LCNF_LCtx_params___default(); +lean_mark_persistent(l_Lean_Compiler_LCNF_LCtx_params___default); +l_Lean_Compiler_LCNF_LCtx_letDecls___default = _init_l_Lean_Compiler_LCNF_LCtx_letDecls___default(); +lean_mark_persistent(l_Lean_Compiler_LCNF_LCtx_letDecls___default); l_Lean_Compiler_LCNF_LCtx_funDecls___default = _init_l_Lean_Compiler_LCNF_LCtx_funDecls___default(); lean_mark_persistent(l_Lean_Compiler_LCNF_LCtx_funDecls___default); l_Lean_Compiler_LCNF_instInhabitedLCtx___closed__1 = _init_l_Lean_Compiler_LCNF_instInhabitedLCtx___closed__1(); diff --git a/stage0/stdlib/Lean/Compiler/LCNF/Main.c b/stage0/stdlib/Lean/Compiler/LCNF/Main.c index ebc27727e5..91daa258c4 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/Main.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/Main.c @@ -3405,9 +3405,10 @@ _start: { lean_object* x_1; lean_object* x_2; x_1 = l_Lean_Compiler_LCNF_compileStage1Impl___closed__1; -x_2 = lean_alloc_ctor(0, 2, 0); +x_2 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_2, 0, x_1); lean_ctor_set(x_2, 1, x_1); +lean_ctor_set(x_2, 2, x_1); return x_2; } } diff --git a/stage0/stdlib/Lean/Compiler/LCNF/PrettyPrinter.c b/stage0/stdlib/Lean/Compiler/LCNF/PrettyPrinter.c index addcc2021a..67cf58bea4 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/PrettyPrinter.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/PrettyPrinter.c @@ -21,7 +21,6 @@ size_t lean_usize_add(size_t, size_t); static lean_object* l_Lean_Compiler_LCNF_ppDecl___lambda__1___closed__1; lean_object* lean_mk_empty_array_with_capacity(lean_object*); static lean_object* l_Lean_Compiler_LCNF_PP_ppFunDecl___closed__2; -lean_object* l_Lean_LocalDecl_userName(lean_object*); lean_object* l_Std_Format_indentD(lean_object*); LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_Compiler_LCNF_ppDecl___spec__1(lean_object*, lean_object*); lean_object* lean_array_uget(lean_object*, size_t); @@ -86,6 +85,7 @@ static lean_object* l_Lean_Compiler_LCNF_PP_ppCode___closed__3; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ppCode(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Compiler_LCNF_PrettyPrinter_0__Lean_Compiler_LCNF_PP_prefixJoin___spec__1___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_PP_ppArg___closed__2; +lean_object* l_Lean_Compiler_LCNF_getBinderName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_PP_ppParams___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_PP_ppParam(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_PP_ppExpr___closed__20; @@ -157,7 +157,6 @@ static lean_object* l_Lean_Compiler_LCNF_PP_ppExpr___closed__7; static lean_object* l_Lean_Compiler_LCNF_PP_ppValue___closed__2; static lean_object* l_Lean_Compiler_LCNF_PP_ppExpr___closed__9; static lean_object* l_Lean_Compiler_LCNF_PP_ppCode___closed__1; -lean_object* l_Lean_Compiler_LCNF_getLocalDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_PP_ppApp___closed__1; uint8_t lean_nat_dec_lt(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_PrettyPrinter_0__Lean_Compiler_LCNF_indentD(lean_object* x_1) { @@ -646,64 +645,73 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_PP_ppFVar(lean_object* x_1, lean_o _start: { lean_object* x_7; -x_7 = l_Lean_Compiler_LCNF_getLocalDecl(x_1, x_3, x_4, x_5, x_6); +lean_inc(x_1); +x_7 = l_Lean_Compiler_LCNF_getBinderName(x_1, x_3, x_4, x_5, x_6); if (lean_obj_tag(x_7) == 0) { uint8_t x_8; +lean_dec(x_1); x_8 = !lean_is_exclusive(x_7); if (x_8 == 0) { -lean_object* x_9; lean_object* x_10; uint8_t x_11; lean_object* x_12; lean_object* x_13; +lean_object* x_9; uint8_t x_10; lean_object* x_11; lean_object* x_12; x_9 = lean_ctor_get(x_7, 0); -x_10 = l_Lean_LocalDecl_userName(x_9); -lean_dec(x_9); -x_11 = 1; -x_12 = l_Lean_Name_toString(x_10, x_11); -x_13 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_13, 0, x_12); -lean_ctor_set(x_7, 0, x_13); +x_10 = 1; +x_11 = l_Lean_Name_toString(x_9, x_10); +x_12 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_7, 0, x_12); return x_7; } else { -lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_14 = lean_ctor_get(x_7, 0); -x_15 = lean_ctor_get(x_7, 1); -lean_inc(x_15); +lean_object* x_13; lean_object* x_14; uint8_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_13 = lean_ctor_get(x_7, 0); +x_14 = lean_ctor_get(x_7, 1); lean_inc(x_14); +lean_inc(x_13); lean_dec(x_7); -x_16 = l_Lean_LocalDecl_userName(x_14); -lean_dec(x_14); -x_17 = 1; -x_18 = l_Lean_Name_toString(x_16, x_17); -x_19 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_19, 0, x_18); -x_20 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_20, 0, x_19); -lean_ctor_set(x_20, 1, x_15); -return x_20; +x_15 = 1; +x_16 = l_Lean_Name_toString(x_13, x_15); +x_17 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_17, 0, x_16); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_17); +lean_ctor_set(x_18, 1, x_14); +return x_18; } } else { -uint8_t x_21; -x_21 = !lean_is_exclusive(x_7); -if (x_21 == 0) +uint8_t x_19; +x_19 = !lean_is_exclusive(x_7); +if (x_19 == 0) { +lean_object* x_20; uint8_t x_21; lean_object* x_22; lean_object* x_23; +x_20 = lean_ctor_get(x_7, 0); +lean_dec(x_20); +x_21 = 1; +x_22 = l_Lean_Name_toString(x_1, x_21); +x_23 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_23, 0, x_22); +lean_ctor_set_tag(x_7, 0); +lean_ctor_set(x_7, 0, x_23); return x_7; } else { -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_7, 0); -x_23 = lean_ctor_get(x_7, 1); -lean_inc(x_23); -lean_inc(x_22); +lean_object* x_24; uint8_t x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_24 = lean_ctor_get(x_7, 1); +lean_inc(x_24); lean_dec(x_7); -x_24 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -return x_24; +x_25 = 1; +x_26 = l_Lean_Name_toString(x_1, x_25); +x_27 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_27, 0, x_26); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_24); +return x_28; } } } @@ -2723,16 +2731,13 @@ return x_89; } case 3: { -lean_object* x_90; lean_object* x_91; lean_object* x_92; +lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; x_90 = lean_ctor_get(x_1, 0); lean_inc(x_90); x_91 = lean_ctor_get(x_1, 1); lean_inc(x_91); lean_dec(x_1); x_92 = l_Lean_Compiler_LCNF_PP_ppFVar(x_90, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_92) == 0) -{ -lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; x_93 = lean_ctor_get(x_92, 0); lean_inc(x_93); x_94 = lean_ctor_get(x_92, 1); @@ -2819,189 +2824,130 @@ return x_119; } } } -else -{ -uint8_t x_120; -lean_dec(x_91); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_120 = !lean_is_exclusive(x_92); -if (x_120 == 0) -{ -return x_92; -} -else -{ -lean_object* x_121; lean_object* x_122; lean_object* x_123; -x_121 = lean_ctor_get(x_92, 0); -x_122 = lean_ctor_get(x_92, 1); -lean_inc(x_122); -lean_inc(x_121); -lean_dec(x_92); -x_123 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_123, 0, x_121); -lean_ctor_set(x_123, 1, x_122); -return x_123; -} -} -} case 4: { -lean_object* x_124; lean_object* x_125; lean_object* x_126; -x_124 = lean_ctor_get(x_1, 0); -lean_inc(x_124); +lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; +x_120 = lean_ctor_get(x_1, 0); +lean_inc(x_120); lean_dec(x_1); -x_125 = lean_ctor_get(x_124, 2); +x_121 = lean_ctor_get(x_120, 2); +lean_inc(x_121); +x_122 = l_Lean_Compiler_LCNF_PP_ppFVar(x_121, x_2, x_3, x_4, x_5, x_6); +x_123 = lean_ctor_get(x_122, 0); +lean_inc(x_123); +x_124 = lean_ctor_get(x_122, 1); +lean_inc(x_124); +lean_dec(x_122); +x_125 = lean_ctor_get(x_120, 3); lean_inc(x_125); -x_126 = l_Lean_Compiler_LCNF_PP_ppFVar(x_125, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_126) == 0) +lean_dec(x_120); +x_126 = lean_box(1); +x_127 = l_Lean_Compiler_LCNF_PP_ppCode___closed__7; +x_128 = l___private_Lean_Compiler_LCNF_PrettyPrinter_0__Lean_Compiler_LCNF_PP_prefixJoin___rarg(x_126, x_125, x_127, x_2, x_3, x_4, x_5, x_124); +lean_dec(x_125); +if (lean_obj_tag(x_128) == 0) { -lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; -x_127 = lean_ctor_get(x_126, 0); -lean_inc(x_127); -x_128 = lean_ctor_get(x_126, 1); -lean_inc(x_128); -lean_dec(x_126); -x_129 = lean_ctor_get(x_124, 3); -lean_inc(x_129); -lean_dec(x_124); -x_130 = lean_box(1); -x_131 = l_Lean_Compiler_LCNF_PP_ppCode___closed__7; -x_132 = l___private_Lean_Compiler_LCNF_PrettyPrinter_0__Lean_Compiler_LCNF_PP_prefixJoin___rarg(x_130, x_129, x_131, x_2, x_3, x_4, x_5, x_128); -lean_dec(x_129); -if (lean_obj_tag(x_132) == 0) +uint8_t x_129; +x_129 = !lean_is_exclusive(x_128); +if (x_129 == 0) { -uint8_t x_133; -x_133 = !lean_is_exclusive(x_132); -if (x_133 == 0) -{ -lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; -x_134 = lean_ctor_get(x_132, 0); -x_135 = l_Lean_Compiler_LCNF_PP_ppCode___closed__9; +lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; +x_130 = lean_ctor_get(x_128, 0); +x_131 = l_Lean_Compiler_LCNF_PP_ppCode___closed__9; +x_132 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_132, 0, x_131); +lean_ctor_set(x_132, 1, x_123); +x_133 = l_Subarray_forInUnsafe_loop___at___private_Lean_Compiler_LCNF_PrettyPrinter_0__Lean_Compiler_LCNF_PP_join___spec__1___rarg___closed__2; +x_134 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_134, 0, x_132); +lean_ctor_set(x_134, 1, x_133); +x_135 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_135, 0, x_134); +lean_ctor_set(x_135, 1, x_130); x_136 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_136, 0, x_135); -lean_ctor_set(x_136, 1, x_127); -x_137 = l_Subarray_forInUnsafe_loop___at___private_Lean_Compiler_LCNF_PrettyPrinter_0__Lean_Compiler_LCNF_PP_join___spec__1___rarg___closed__2; -x_138 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_138, 0, x_136); -lean_ctor_set(x_138, 1, x_137); -x_139 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_139, 0, x_138); -lean_ctor_set(x_139, 1, x_134); +lean_ctor_set(x_136, 1, x_133); +lean_ctor_set(x_128, 0, x_136); +return x_128; +} +else +{ +lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; +x_137 = lean_ctor_get(x_128, 0); +x_138 = lean_ctor_get(x_128, 1); +lean_inc(x_138); +lean_inc(x_137); +lean_dec(x_128); +x_139 = l_Lean_Compiler_LCNF_PP_ppCode___closed__9; x_140 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_140, 0, x_139); -lean_ctor_set(x_140, 1, x_137); -lean_ctor_set(x_132, 0, x_140); -return x_132; -} -else -{ -lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; -x_141 = lean_ctor_get(x_132, 0); -x_142 = lean_ctor_get(x_132, 1); -lean_inc(x_142); -lean_inc(x_141); -lean_dec(x_132); -x_143 = l_Lean_Compiler_LCNF_PP_ppCode___closed__9; +lean_ctor_set(x_140, 1, x_123); +x_141 = l_Subarray_forInUnsafe_loop___at___private_Lean_Compiler_LCNF_PrettyPrinter_0__Lean_Compiler_LCNF_PP_join___spec__1___rarg___closed__2; +x_142 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_142, 0, x_140); +lean_ctor_set(x_142, 1, x_141); +x_143 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_143, 0, x_142); +lean_ctor_set(x_143, 1, x_137); x_144 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_144, 0, x_143); -lean_ctor_set(x_144, 1, x_127); -x_145 = l_Subarray_forInUnsafe_loop___at___private_Lean_Compiler_LCNF_PrettyPrinter_0__Lean_Compiler_LCNF_PP_join___spec__1___rarg___closed__2; -x_146 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_146, 0, x_144); -lean_ctor_set(x_146, 1, x_145); -x_147 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_147, 0, x_146); -lean_ctor_set(x_147, 1, x_141); -x_148 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_148, 0, x_147); -lean_ctor_set(x_148, 1, x_145); -x_149 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_149, 0, x_148); -lean_ctor_set(x_149, 1, x_142); +lean_ctor_set(x_144, 1, x_141); +x_145 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_145, 0, x_144); +lean_ctor_set(x_145, 1, x_138); +return x_145; +} +} +else +{ +uint8_t x_146; +lean_dec(x_123); +x_146 = !lean_is_exclusive(x_128); +if (x_146 == 0) +{ +return x_128; +} +else +{ +lean_object* x_147; lean_object* x_148; lean_object* x_149; +x_147 = lean_ctor_get(x_128, 0); +x_148 = lean_ctor_get(x_128, 1); +lean_inc(x_148); +lean_inc(x_147); +lean_dec(x_128); +x_149 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_149, 0, x_147); +lean_ctor_set(x_149, 1, x_148); return x_149; } } -else -{ -uint8_t x_150; -lean_dec(x_127); -x_150 = !lean_is_exclusive(x_132); -if (x_150 == 0) -{ -return x_132; -} -else -{ -lean_object* x_151; lean_object* x_152; lean_object* x_153; -x_151 = lean_ctor_get(x_132, 0); -x_152 = lean_ctor_get(x_132, 1); -lean_inc(x_152); -lean_inc(x_151); -lean_dec(x_132); -x_153 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_153, 0, x_151); -lean_ctor_set(x_153, 1, x_152); -return x_153; -} -} -} -else -{ -uint8_t x_154; -lean_dec(x_124); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_154 = !lean_is_exclusive(x_126); -if (x_154 == 0) -{ -return x_126; -} -else -{ -lean_object* x_155; lean_object* x_156; lean_object* x_157; -x_155 = lean_ctor_get(x_126, 0); -x_156 = lean_ctor_get(x_126, 1); -lean_inc(x_156); -lean_inc(x_155); -lean_dec(x_126); -x_157 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_157, 0, x_155); -lean_ctor_set(x_157, 1, x_156); -return x_157; -} -} } case 5: { -lean_object* x_158; lean_object* x_159; -x_158 = lean_ctor_get(x_1, 0); -lean_inc(x_158); +lean_object* x_150; lean_object* x_151; +x_150 = lean_ctor_get(x_1, 0); +lean_inc(x_150); lean_dec(x_1); -x_159 = l_Lean_Compiler_LCNF_PP_ppFVar(x_158, x_2, x_3, x_4, x_5, x_6); +x_151 = l_Lean_Compiler_LCNF_PP_ppFVar(x_150, x_2, x_3, x_4, x_5, x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -return x_159; +return x_151; } default: { -lean_object* x_160; lean_object* x_161; +lean_object* x_152; lean_object* x_153; lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_160 = l_Lean_Compiler_LCNF_PP_ppCode___closed__11; -x_161 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_161, 0, x_160); -lean_ctor_set(x_161, 1, x_6); -return x_161; +x_152 = l_Lean_Compiler_LCNF_PP_ppCode___closed__11; +x_153 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_153, 0, x_152); +lean_ctor_set(x_153, 1, x_6); +return x_153; } } } diff --git a/stage0/stdlib/Lean/Compiler/LCNF/ReduceJpArity.c b/stage0/stdlib/Lean/Compiler/LCNF/ReduceJpArity.c index 2269b7d1b4..8fd2efb899 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/ReduceJpArity.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/ReduceJpArity.c @@ -25,6 +25,7 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Reduce static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_868____closed__3; static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_ReduceJpArity___hyg_868____closed__2; LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_Compiler_LCNF_ReduceJpArity_reduce___spec__6(lean_object*, lean_object*); +lean_object* l_Lean_Compiler_LCNF_eraseParam(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ReduceJpArity_reduce___lambda__1(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*); @@ -55,7 +56,6 @@ size_t lean_usize_of_nat(lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_findCore___at_Lean_Compiler_LCNF_ReduceJpArity_reduce___spec__1___boxed(lean_object*, lean_object*); lean_object* l_Lean_Compiler_LCNF_mkForallParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_ptr_addr(lean_object*); -lean_object* l_Lean_Compiler_LCNF_eraseFVar(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_ReduceJpArity_reduce___spec__2___at_Lean_Compiler_LCNF_ReduceJpArity_reduce___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr(lean_object*, lean_object*); lean_object* l_Lean_Compiler_LCNF_AltCore_getCode(lean_object*); @@ -146,110 +146,108 @@ x_18 = lean_ctor_get(x_14, 1); x_19 = lean_ctor_get(x_13, 0); lean_inc(x_19); x_20 = l_Std_RBNode_findCore___at_Lean_Compiler_LCNF_ReduceJpArity_reduce___spec__1(x_18, x_19); +lean_dec(x_19); if (lean_obj_tag(x_20) == 0) { -uint8_t x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; size_t x_28; size_t x_29; +lean_object* x_21; lean_object* x_22; uint8_t x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; size_t x_27; size_t x_28; +x_21 = l_Lean_Compiler_LCNF_eraseParam(x_13, x_7, x_8, x_9, x_10); lean_dec(x_13); -x_21 = 1; -x_22 = l_Lean_Compiler_LCNF_eraseFVar(x_19, x_21, x_7, x_8, x_9, x_10); -x_23 = lean_ctor_get(x_22, 1); -lean_inc(x_23); -lean_dec(x_22); -x_24 = 0; -x_25 = lean_box(x_24); -x_26 = lean_array_push(x_15, x_25); -x_27 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_27, 0, x_26); -lean_ctor_set(x_27, 1, x_14); -x_28 = 1; -x_29 = lean_usize_add(x_4, x_28); -x_4 = x_29; -x_5 = x_27; -x_10 = x_23; +x_22 = lean_ctor_get(x_21, 1); +lean_inc(x_22); +lean_dec(x_21); +x_23 = 0; +x_24 = lean_box(x_23); +x_25 = lean_array_push(x_15, x_24); +x_26 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_26, 0, x_25); +lean_ctor_set(x_26, 1, x_14); +x_27 = 1; +x_28 = lean_usize_add(x_4, x_27); +x_4 = x_28; +x_5 = x_26; +x_10 = x_22; goto _start; } else { -lean_object* x_31; lean_object* x_32; uint8_t x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; size_t x_38; size_t x_39; +lean_object* x_30; lean_object* x_31; uint8_t x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; size_t x_37; size_t x_38; lean_dec(x_20); -lean_dec(x_19); -x_31 = lean_ctor_get(x_13, 2); -lean_inc(x_31); -x_32 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr(x_31, x_18); -x_33 = 1; -x_34 = lean_box(x_33); -x_35 = lean_array_push(x_15, x_34); -x_36 = lean_array_push(x_17, x_13); -lean_ctor_set(x_14, 1, x_32); -lean_ctor_set(x_14, 0, x_36); -x_37 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_37, 0, x_35); -lean_ctor_set(x_37, 1, x_14); -x_38 = 1; -x_39 = lean_usize_add(x_4, x_38); -x_4 = x_39; -x_5 = x_37; +x_30 = lean_ctor_get(x_13, 2); +lean_inc(x_30); +x_31 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr(x_30, x_18); +x_32 = 1; +x_33 = lean_box(x_32); +x_34 = lean_array_push(x_15, x_33); +x_35 = lean_array_push(x_17, x_13); +lean_ctor_set(x_14, 1, x_31); +lean_ctor_set(x_14, 0, x_35); +x_36 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_36, 0, x_34); +lean_ctor_set(x_36, 1, x_14); +x_37 = 1; +x_38 = lean_usize_add(x_4, x_37); +x_4 = x_38; +x_5 = x_36; goto _start; } } else { -lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; -x_41 = lean_ctor_get(x_14, 0); -x_42 = lean_ctor_get(x_14, 1); -lean_inc(x_42); +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; +x_40 = lean_ctor_get(x_14, 0); +x_41 = lean_ctor_get(x_14, 1); lean_inc(x_41); +lean_inc(x_40); lean_dec(x_14); -x_43 = lean_ctor_get(x_13, 0); -lean_inc(x_43); -x_44 = l_Std_RBNode_findCore___at_Lean_Compiler_LCNF_ReduceJpArity_reduce___spec__1(x_42, x_43); -if (lean_obj_tag(x_44) == 0) +x_42 = lean_ctor_get(x_13, 0); +lean_inc(x_42); +x_43 = l_Std_RBNode_findCore___at_Lean_Compiler_LCNF_ReduceJpArity_reduce___spec__1(x_41, x_42); +lean_dec(x_42); +if (lean_obj_tag(x_43) == 0) { -uint8_t x_45; lean_object* x_46; lean_object* x_47; uint8_t x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; size_t x_53; size_t x_54; +lean_object* x_44; lean_object* x_45; uint8_t x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; size_t x_51; size_t x_52; +x_44 = l_Lean_Compiler_LCNF_eraseParam(x_13, x_7, x_8, x_9, x_10); lean_dec(x_13); -x_45 = 1; -x_46 = l_Lean_Compiler_LCNF_eraseFVar(x_43, x_45, x_7, x_8, x_9, x_10); -x_47 = lean_ctor_get(x_46, 1); -lean_inc(x_47); -lean_dec(x_46); -x_48 = 0; -x_49 = lean_box(x_48); -x_50 = lean_array_push(x_15, x_49); -x_51 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_51, 0, x_41); -lean_ctor_set(x_51, 1, x_42); -x_52 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_52, 0, x_50); -lean_ctor_set(x_52, 1, x_51); -x_53 = 1; -x_54 = lean_usize_add(x_4, x_53); -x_4 = x_54; -x_5 = x_52; -x_10 = x_47; +x_45 = lean_ctor_get(x_44, 1); +lean_inc(x_45); +lean_dec(x_44); +x_46 = 0; +x_47 = lean_box(x_46); +x_48 = lean_array_push(x_15, x_47); +x_49 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_49, 0, x_40); +lean_ctor_set(x_49, 1, x_41); +x_50 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_50, 0, x_48); +lean_ctor_set(x_50, 1, x_49); +x_51 = 1; +x_52 = lean_usize_add(x_4, x_51); +x_4 = x_52; +x_5 = x_50; +x_10 = x_45; goto _start; } else { -lean_object* x_56; lean_object* x_57; uint8_t x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; size_t x_64; size_t x_65; -lean_dec(x_44); +lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; size_t x_62; size_t x_63; lean_dec(x_43); -x_56 = lean_ctor_get(x_13, 2); -lean_inc(x_56); -x_57 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr(x_56, x_42); -x_58 = 1; -x_59 = lean_box(x_58); -x_60 = lean_array_push(x_15, x_59); -x_61 = lean_array_push(x_41, x_13); -x_62 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_62, 0, x_61); -lean_ctor_set(x_62, 1, x_57); -x_63 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_63, 0, x_60); -lean_ctor_set(x_63, 1, x_62); -x_64 = 1; -x_65 = lean_usize_add(x_4, x_64); -x_4 = x_65; -x_5 = x_63; +x_54 = lean_ctor_get(x_13, 2); +lean_inc(x_54); +x_55 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr(x_54, x_41); +x_56 = 1; +x_57 = lean_box(x_56); +x_58 = lean_array_push(x_15, x_57); +x_59 = lean_array_push(x_40, x_13); +x_60 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_60, 0, x_59); +lean_ctor_set(x_60, 1, x_55); +x_61 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_61, 0, x_58); +lean_ctor_set(x_61, 1, x_60); +x_62 = 1; +x_63 = lean_usize_add(x_4, x_62); +x_4 = x_63; +x_5 = x_61; goto _start; } } @@ -287,110 +285,108 @@ x_17 = lean_ctor_get(x_13, 1); x_18 = lean_ctor_get(x_12, 0); lean_inc(x_18); x_19 = l_Std_RBNode_findCore___at_Lean_Compiler_LCNF_ReduceJpArity_reduce___spec__1(x_17, x_18); +lean_dec(x_18); if (lean_obj_tag(x_19) == 0) { -uint8_t x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; size_t x_27; size_t x_28; +lean_object* x_20; lean_object* x_21; uint8_t x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; size_t x_26; size_t x_27; +x_20 = l_Lean_Compiler_LCNF_eraseParam(x_12, x_6, x_7, x_8, x_9); lean_dec(x_12); -x_20 = 1; -x_21 = l_Lean_Compiler_LCNF_eraseFVar(x_18, x_20, x_6, x_7, x_8, x_9); -x_22 = lean_ctor_get(x_21, 1); -lean_inc(x_22); -lean_dec(x_21); -x_23 = 0; -x_24 = lean_box(x_23); -x_25 = lean_array_push(x_14, x_24); -x_26 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_26, 0, x_25); -lean_ctor_set(x_26, 1, x_13); -x_27 = 1; -x_28 = lean_usize_add(x_3, x_27); -x_3 = x_28; -x_4 = x_26; -x_9 = x_22; +x_21 = lean_ctor_get(x_20, 1); +lean_inc(x_21); +lean_dec(x_20); +x_22 = 0; +x_23 = lean_box(x_22); +x_24 = lean_array_push(x_14, x_23); +x_25 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_25, 0, x_24); +lean_ctor_set(x_25, 1, x_13); +x_26 = 1; +x_27 = lean_usize_add(x_3, x_26); +x_3 = x_27; +x_4 = x_25; +x_9 = x_21; goto _start; } else { -lean_object* x_30; lean_object* x_31; uint8_t x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; size_t x_37; size_t x_38; +lean_object* x_29; lean_object* x_30; uint8_t x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; size_t x_36; size_t x_37; lean_dec(x_19); -lean_dec(x_18); -x_30 = lean_ctor_get(x_12, 2); -lean_inc(x_30); -x_31 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr(x_30, x_17); -x_32 = 1; -x_33 = lean_box(x_32); -x_34 = lean_array_push(x_14, x_33); -x_35 = lean_array_push(x_16, x_12); -lean_ctor_set(x_13, 1, x_31); -lean_ctor_set(x_13, 0, x_35); -x_36 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_36, 0, x_34); -lean_ctor_set(x_36, 1, x_13); -x_37 = 1; -x_38 = lean_usize_add(x_3, x_37); -x_3 = x_38; -x_4 = x_36; +x_29 = lean_ctor_get(x_12, 2); +lean_inc(x_29); +x_30 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr(x_29, x_17); +x_31 = 1; +x_32 = lean_box(x_31); +x_33 = lean_array_push(x_14, x_32); +x_34 = lean_array_push(x_16, x_12); +lean_ctor_set(x_13, 1, x_30); +lean_ctor_set(x_13, 0, x_34); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_33); +lean_ctor_set(x_35, 1, x_13); +x_36 = 1; +x_37 = lean_usize_add(x_3, x_36); +x_3 = x_37; +x_4 = x_35; goto _start; } } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_13, 0); -x_41 = lean_ctor_get(x_13, 1); -lean_inc(x_41); +lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_39 = lean_ctor_get(x_13, 0); +x_40 = lean_ctor_get(x_13, 1); lean_inc(x_40); +lean_inc(x_39); lean_dec(x_13); -x_42 = lean_ctor_get(x_12, 0); -lean_inc(x_42); -x_43 = l_Std_RBNode_findCore___at_Lean_Compiler_LCNF_ReduceJpArity_reduce___spec__1(x_41, x_42); -if (lean_obj_tag(x_43) == 0) +x_41 = lean_ctor_get(x_12, 0); +lean_inc(x_41); +x_42 = l_Std_RBNode_findCore___at_Lean_Compiler_LCNF_ReduceJpArity_reduce___spec__1(x_40, x_41); +lean_dec(x_41); +if (lean_obj_tag(x_42) == 0) { -uint8_t x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; size_t x_52; size_t x_53; +lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; size_t x_50; size_t x_51; +x_43 = l_Lean_Compiler_LCNF_eraseParam(x_12, x_6, x_7, x_8, x_9); lean_dec(x_12); -x_44 = 1; -x_45 = l_Lean_Compiler_LCNF_eraseFVar(x_42, x_44, x_6, x_7, x_8, x_9); -x_46 = lean_ctor_get(x_45, 1); -lean_inc(x_46); -lean_dec(x_45); -x_47 = 0; -x_48 = lean_box(x_47); -x_49 = lean_array_push(x_14, x_48); -x_50 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_50, 0, x_40); -lean_ctor_set(x_50, 1, x_41); -x_51 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_51, 0, x_49); -lean_ctor_set(x_51, 1, x_50); -x_52 = 1; -x_53 = lean_usize_add(x_3, x_52); -x_3 = x_53; -x_4 = x_51; -x_9 = x_46; +x_44 = lean_ctor_get(x_43, 1); +lean_inc(x_44); +lean_dec(x_43); +x_45 = 0; +x_46 = lean_box(x_45); +x_47 = lean_array_push(x_14, x_46); +x_48 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_48, 0, x_39); +lean_ctor_set(x_48, 1, x_40); +x_49 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +x_50 = 1; +x_51 = lean_usize_add(x_3, x_50); +x_3 = x_51; +x_4 = x_49; +x_9 = x_44; goto _start; } else { -lean_object* x_55; lean_object* x_56; uint8_t x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; size_t x_63; size_t x_64; -lean_dec(x_43); +lean_object* x_53; lean_object* x_54; uint8_t x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; size_t x_61; size_t x_62; lean_dec(x_42); -x_55 = lean_ctor_get(x_12, 2); -lean_inc(x_55); -x_56 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr(x_55, x_41); -x_57 = 1; -x_58 = lean_box(x_57); -x_59 = lean_array_push(x_14, x_58); -x_60 = lean_array_push(x_40, x_12); -x_61 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_61, 0, x_60); -lean_ctor_set(x_61, 1, x_56); -x_62 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_62, 0, x_59); -lean_ctor_set(x_62, 1, x_61); -x_63 = 1; -x_64 = lean_usize_add(x_3, x_63); -x_3 = x_64; -x_4 = x_62; +x_53 = lean_ctor_get(x_12, 2); +lean_inc(x_53); +x_54 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr(x_53, x_40); +x_55 = 1; +x_56 = lean_box(x_55); +x_57 = lean_array_push(x_14, x_56); +x_58 = lean_array_push(x_39, x_12); +x_59 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_59, 0, x_58); +lean_ctor_set(x_59, 1, x_54); +x_60 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_60, 0, x_57); +lean_ctor_set(x_60, 1, x_59); +x_61 = 1; +x_62 = lean_usize_add(x_3, x_61); +x_3 = x_62; +x_4 = x_60; goto _start; } } diff --git a/stage0/stdlib/Lean/Compiler/LCNF/Simp.c b/stage0/stdlib/Lean/Compiler/LCNF/Simp.c index 70ad62052a..7c22463a8f 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/Simp.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/Simp.c @@ -20,7 +20,6 @@ static lean_object* l_Lean_Compiler_LCNF_Simp_inlineProjInst_x3f_visit___closed_ lean_object* l_Lean_Compiler_LCNF_ppDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Simp_etaPolyApp_x3f___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_instMonadFVarSubstSimpM; -uint8_t l_Std_HashSetImp_contains___at_Lean_MVarId_getNondepPropHyps___spec__16(lean_object*, lean_object*); static lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Simp_withDiscrCtor___spec__3___closed__2; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_State_subst___default; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_inlineProjInst_x3f_visitCode(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -29,6 +28,7 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_markSimplified___boxed(lean_o static lean_object* l___private_Lean_Compiler_LCNF_Simp_0__Lean_Compiler_LCNF_Simp_reprFunDeclInfo____x40_Lean_Compiler_LCNF_Simp___hyg_173____closed__13; size_t lean_usize_add(size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_inlineProjInst_x3f_visit(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_Std_HashSetImp_contains___at_Lean_Compiler_LCNF_ElimDead_elimDead___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_inlineApp_x3f___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_inlineApp_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_simpCasesOnCtor_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -42,21 +42,21 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_markUsedLetDecl___boxed(lean_ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_FunDeclInfoMap_addMustInline(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_simpAppApp_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_Simp_FunDeclInfoMap_format___spec__2(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_eraseLetDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_InlineCandidateInfo_arity(lean_object*); LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_Compiler_LCNF_Simp_instMonadFVarSubstSimpM___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_inlineApp_x3f___lambda__2___closed__2; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_eraseLetDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_betaReduce___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateParamImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateLetDeclImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_LocalDecl_userName(lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Simp_eraseCodeDecls___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_Simp_isCasesOnCases_x3f_isJpCases_go(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_inlineCandidate_x3f___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*); uint8_t lean_usize_dec_eq(size_t, size_t); lean_object* lean_array_uget(lean_object*, size_t); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_eraseLocalDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_inlineProjInst_x3f_visit___closed__4; static lean_object* l_Lean_Compiler_LCNF_Simp_inlineCandidate_x3f___lambda__1___closed__1; static lean_object* l___private_Lean_Compiler_LCNF_Simp_0__Lean_Compiler_LCNF_Simp_reprFunDeclInfo____x40_Lean_Compiler_LCNF_Simp___hyg_173____closed__12; @@ -121,7 +121,7 @@ LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Compiler_LCNF_Simp_ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_inlineProjInst_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_mkHashSetImp___rarg(lean_object*); lean_object* l_Lean_Compiler_LCNF_Decl_instantiateValueLevelParams(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_eraseLocalDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Compiler_LCNF_eraseLetDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_appArg_x21(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Simp_withDiscrCtor___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_incInlineLocal___boxed(lean_object*); @@ -170,11 +170,13 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_findFunDecl_x3f___boxed(lean_ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_simp___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_simpFunDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_getConstInfoCtor___at_Lean_Compiler_LCNF_Simp_withDiscrCtor___spec__1___closed__1; +lean_object* l_Std_HashSetImp_insert___at_Lean_Compiler_LCNF_collectLocalDecls_go___spec__1(lean_object*, lean_object*); extern lean_object* l_Lean_Compiler_LCNF_erasedExpr; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_simp___lambda__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_FunDeclInfo_noConfusion___rarg___lambda__1(lean_object*); static lean_object* l_Lean_Compiler_LCNF_Decl_simp_x3f___lambda__2___closed__2; lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Compiler_LCNF_eraseFunDecl(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_isTemplateLike(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_RBNode_setBlack___rarg(lean_object*); static lean_object* l___private_Lean_Compiler_LCNF_Simp_0__Lean_Compiler_LCNF_Simp_reprFunDeclInfo____x40_Lean_Compiler_LCNF_Simp___hyg_173____closed__18; @@ -243,6 +245,7 @@ static lean_object* l_Lean_Compiler_LCNF_Simp_inlineApp_x3f___lambda__5___closed lean_object* l_Lean_Compiler_LCNF_inferType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_attachCodeDecls___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_simp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_eraseFunDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Simp_0__Lean_Compiler_LCNF_Simp_getMaxOccs_getNumOccsOf___boxed(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_Compiler_LCNF_Simp_FunDeclInfoMap_add___spec__4(lean_object*, lean_object*); @@ -264,7 +267,6 @@ lean_object* l_Lean_Compiler_LCNF_Code_internalize(lean_object*, lean_object*, l LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_findExpr(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_FunDeclInfoMap_format(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Compiler_LCNF_Simp_0__Lean_Compiler_LCNF_Simp_oneExitPointQuick_go___spec__1(lean_object*, size_t, size_t); -lean_object* l_Std_HashSetImp_insert___at_Lean_MVarId_getNondepPropHyps___spec__2(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Compiler_LCNF_Simp_0__Lean_Compiler_LCNF_Simp_getMaxOccs___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_mk_ref(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_eraseCodeDecls(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -295,6 +297,7 @@ static lean_object* l_Subarray_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_isC uint8_t l_Lean_Expr_isAppOfArity(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_attachCodeDecls_go___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_inlineApp_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11945____closed__3; LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Compiler_LCNF_Simp_FunDeclInfoMap_add___spec__1(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_attachCodeDecls_go___closed__2; static lean_object* l_Lean_Compiler_LCNF_Decl_simp_x3f___lambda__2___closed__8; @@ -322,6 +325,7 @@ uint8_t l_Lean_BinderInfo_isInstImplicit(uint8_t); static lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Simp_withDiscrCtor___spec__3___closed__4; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_inlineCandidate_x3f___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_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Compiler_LCNF_Simp_FunDeclInfoMap_format___spec__2___boxed(lean_object*, lean_object*); +lean_object* l_Lean_Compiler_LCNF_getBinderName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_simpCasesOnCtor_x3f___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_addSubst___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_attachCodeDecls_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -369,7 +373,6 @@ LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_Simp_wit lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_markUsedFVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_hasInlineAttrAux(lean_object*, uint8_t, lean_object*); -lean_object* l_Lean_Compiler_LCNF_eraseFVar(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Compiler_LCNF_Simp_FunDeclInfoMap_format___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_isTemplateLike___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); @@ -397,8 +400,8 @@ uint8_t l_Std_RBNode_isRed___rarg(lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_simpAppApp_x3f___closed__1; static lean_object* l_Lean_Compiler_LCNF_Simp_specializePartialApp___closed__2; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_incInline___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Compiler_LCNF_eraseCode(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_simp___lambda__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11946____closed__3; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_inlineJp_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normParam___at_Lean_Compiler_LCNF_Simp_simpFunDecl___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Compiler_LCNF_eraseParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -428,6 +431,7 @@ static lean_object* l_List_forIn_loop___at_Lean_Compiler_LCNF_Simp_FunDeclInfoMa LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Compiler_LCNF_Simp_0__Lean_Compiler_LCNF_Simp_addDefault___spec__3(lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l_Std_HashMapImp_erase___at_Lean_Compiler_LCNF_Simp_FunDeclInfoMap_restore___spec__1___boxed(lean_object*, lean_object*); uint8_t l_Lean_Compiler_LCNF_Code_sizeLe(lean_object*, lean_object*); +lean_object* l_Lean_Compiler_LCNF_findLetDecl_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_ofSubarray___rarg(lean_object*); static lean_object* l_Lean_Compiler_LCNF_Decl_simp_x3f___lambda__2___closed__1; lean_object* l_panic___at_Lean_Compiler_LCNF_CasesCore_extractAlt_x21___spec__2(lean_object*); @@ -435,6 +439,7 @@ lean_object* lean_nat_mul(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_incInlineLocal(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_simp___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_isOnceOrMustInline(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11945____closed__1; static lean_object* l_Lean_Compiler_LCNF_Decl_simp_x3f___lambda__2___closed__4; LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Compiler_LCNF_Simp_etaPolyApp_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_isCasesOnParam_x3f(lean_object*); @@ -445,7 +450,6 @@ lean_object* l_Std_HashMap_insert___at___private_Lean_Compiler_LCNF_CompilerM_0_ uint8_t l_Lean_Expr_isFVar(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normExprs___at_Lean_Compiler_LCNF_Simp_simp___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_normExprs___at_Lean_Compiler_LCNF_Simp_simp___spec__2___closed__1; -static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11946____closed__1; uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_panic___at___private_Lean_Compiler_LCNF_Simp_0__Lean_Compiler_LCNF_Simp_addDefault___spec__1___closed__1; static lean_object* l_Lean_getConstInfo___at_Lean_Compiler_LCNF_Simp_withDiscrCtor___spec__2___closed__1; @@ -471,7 +475,7 @@ lean_object* lean_mk_array(lean_object*, lean_object*); static lean_object* l_Lean_getConstInfo___at_Lean_Compiler_LCNF_Simp_withDiscrCtor___spec__2___closed__4; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_markUsedExpr___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_getConstInfo___at_Lean_Compiler_LCNF_Simp_withDiscrCtor___spec__2___closed__2; -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11946_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11945_(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_inlineCandidate_x3f___lambda__8(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_simp___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Compiler_LCNF_mkAuxFunDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -498,6 +502,7 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_inlineCandidate_x3f___lambda_ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_isCasesOnParam_x3f_go___lambda__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_inlineJp_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_isCasesOnCases_x3f_isJpCases_go___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_eraseFunDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_incInlineLocal___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_State_used___default; lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(lean_object*, lean_object*); @@ -524,6 +529,7 @@ static lean_object* l_Lean_Compiler_LCNF_Decl_simp_x3f___lambda__2___closed__13; static lean_object* l___private_Lean_Compiler_LCNF_Simp_0__Lean_Compiler_LCNF_Simp_reprFunDeclInfo____x40_Lean_Compiler_LCNF_Simp___hyg_173____closed__8; uint8_t l_List_isEmpty___rarg(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_betaReduce___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_Compiler_LCNF_eraseCodeDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Compiler_LCNF_Simp_inlineApp_x3f___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Compiler_LCNF_Simp_0__Lean_Compiler_LCNF_Simp_reprFunDeclInfo____x40_Lean_Compiler_LCNF_Simp___hyg_173____closed__10; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_isSmall___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -562,21 +568,19 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Compiler_L LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_Compiler_LCNF_Simp_withDiscrCtor___spec__8(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_isInstance(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Compiler_LCNF_Simp_FunDeclInfoMap_add___spec__6(lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11945____closed__2; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Simp_withDiscrCtor___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_markSimplified___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_addMustInline___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_inlineApp_x3f___lambda__5___closed__7; static lean_object* l_Lean_Compiler_LCNF_normParams___at_Lean_Compiler_LCNF_Simp_simpFunDecl___spec__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_simp___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Compiler_LCNF_eraseFVarsAt(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Compiler_LCNF_getLocalDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Compiler_LCNF_Simp_withDiscrCtor___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Simp_0__Lean_Compiler_LCNF_Simp_oneExitPointQuick_go___boxed(lean_object*); static lean_object* l_Lean_Compiler_LCNF_Simp_inlineProjInst_x3f_visit___closed__3; uint8_t lean_nat_dec_lt(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Simp_withDiscrCtor___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_Context_config___default; -static lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11946____closed__2; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_incInline(lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_Simp_simp___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Repr_addAppParen(lean_object*, lean_object*); @@ -1420,10 +1424,10 @@ lean_inc(x_10); x_11 = lean_ctor_get(x_8, 1); lean_inc(x_11); lean_dec(x_8); -x_12 = l_Lean_Compiler_LCNF_getLocalDecl(x_10, x_3, x_4, x_5, x_6); +x_12 = l_Lean_Compiler_LCNF_getBinderName(x_10, x_3, x_4, x_5, x_6); if (lean_obj_tag(x_12) == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; x_13 = lean_ctor_get(x_12, 0); lean_inc(x_13); x_14 = lean_ctor_get(x_12, 1); @@ -1433,61 +1437,59 @@ x_15 = l_List_forIn_loop___at_Lean_Compiler_LCNF_Simp_FunDeclInfoMap_format___sp x_16 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_16, 0, x_2); lean_ctor_set(x_16, 1, x_15); -x_17 = l_Lean_LocalDecl_userName(x_13); -lean_dec(x_13); -x_18 = 1; -x_19 = l_Lean_Name_toString(x_17, x_18); -x_20 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_20, 0, x_19); -x_21 = l_List_forIn_loop___at_Lean_Compiler_LCNF_Simp_FunDeclInfoMap_format___spec__4___closed__4; -x_22 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_22, 0, x_21); -lean_ctor_set(x_22, 1, x_20); -x_23 = l_List_forIn_loop___at_Lean_Compiler_LCNF_Simp_FunDeclInfoMap_format___spec__4___closed__6; -x_24 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -x_25 = lean_unsigned_to_nat(0u); -x_26 = lean_unbox(x_11); +x_17 = 1; +x_18 = l_Lean_Name_toString(x_13, x_17); +x_19 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_19, 0, x_18); +x_20 = l_List_forIn_loop___at_Lean_Compiler_LCNF_Simp_FunDeclInfoMap_format___spec__4___closed__4; +x_21 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_21, 0, x_20); +lean_ctor_set(x_21, 1, x_19); +x_22 = l_List_forIn_loop___at_Lean_Compiler_LCNF_Simp_FunDeclInfoMap_format___spec__4___closed__6; +x_23 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_23, 0, x_21); +lean_ctor_set(x_23, 1, x_22); +x_24 = lean_unsigned_to_nat(0u); +x_25 = lean_unbox(x_11); lean_dec(x_11); -x_27 = l___private_Lean_Compiler_LCNF_Simp_0__Lean_Compiler_LCNF_Simp_reprFunDeclInfo____x40_Lean_Compiler_LCNF_Simp___hyg_173_(x_26, x_25); +x_26 = l___private_Lean_Compiler_LCNF_Simp_0__Lean_Compiler_LCNF_Simp_reprFunDeclInfo____x40_Lean_Compiler_LCNF_Simp___hyg_173_(x_25, x_24); +x_27 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_27, 0, x_23); +lean_ctor_set(x_27, 1, x_26); x_28 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_28, 0, x_24); -lean_ctor_set(x_28, 1, x_27); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_20); x_29 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_29, 0, x_28); -lean_ctor_set(x_29, 1, x_21); -x_30 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_30, 0, x_16); -lean_ctor_set(x_30, 1, x_29); +lean_ctor_set(x_29, 0, x_16); +lean_ctor_set(x_29, 1, x_28); x_1 = x_9; -x_2 = x_30; +x_2 = x_29; x_6 = x_14; goto _start; } else { -uint8_t x_32; +uint8_t x_31; lean_dec(x_11); lean_dec(x_9); lean_dec(x_2); -x_32 = !lean_is_exclusive(x_12); -if (x_32 == 0) +x_31 = !lean_is_exclusive(x_12); +if (x_31 == 0) { return x_12; } else { -lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_33 = lean_ctor_get(x_12, 0); -x_34 = lean_ctor_get(x_12, 1); -lean_inc(x_34); +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_12, 0); +x_33 = lean_ctor_get(x_12, 1); lean_inc(x_33); +lean_inc(x_32); lean_dec(x_12); -x_35 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_35, 0, x_33); -lean_ctor_set(x_35, 1, x_34); -return x_35; +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; } } } @@ -2234,20 +2236,16 @@ x_8 = lean_ctor_get(x_7, 0); lean_inc(x_8); if (lean_obj_tag(x_8) == 0) { -lean_object* x_9; lean_object* x_10; +lean_object* x_9; lean_object* x_10; lean_object* x_11; x_9 = lean_ctor_get(x_7, 1); lean_inc(x_9); lean_dec(x_7); -x_10 = l_Lean_Compiler_LCNF_getLocalDecl(x_6, x_2, x_3, x_4, x_9); -if (lean_obj_tag(x_10) == 0) -{ -lean_object* x_11; +x_10 = l_Lean_Compiler_LCNF_findLetDecl_x3f(x_6, x_2, x_3, x_4, x_9); x_11 = lean_ctor_get(x_10, 0); lean_inc(x_11); if (lean_obj_tag(x_11) == 0) { uint8_t x_12; -lean_dec(x_11); x_12 = !lean_is_exclusive(x_10); if (x_12 == 0) { @@ -2273,114 +2271,94 @@ return x_17; } else { -lean_object* x_18; lean_object* x_19; +lean_object* x_18; lean_object* x_19; lean_object* x_20; x_18 = lean_ctor_get(x_10, 1); lean_inc(x_18); lean_dec(x_10); -x_19 = lean_ctor_get(x_11, 4); +x_19 = lean_ctor_get(x_11, 0); lean_inc(x_19); lean_dec(x_11); -x_1 = x_19; +x_20 = lean_ctor_get(x_19, 3); +lean_inc(x_20); +lean_dec(x_19); +x_1 = x_20; x_5 = x_18; goto _start; } } else { -uint8_t x_21; -x_21 = !lean_is_exclusive(x_10); -if (x_21 == 0) -{ -return x_10; -} -else -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_10, 0); -x_23 = lean_ctor_get(x_10, 1); -lean_inc(x_23); -lean_inc(x_22); -lean_dec(x_10); -x_24 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -return x_24; -} -} -} -else -{ -uint8_t x_25; +uint8_t x_22; lean_dec(x_6); -x_25 = !lean_is_exclusive(x_7); -if (x_25 == 0) +x_22 = !lean_is_exclusive(x_7); +if (x_22 == 0) { -lean_object* x_26; uint8_t x_27; -x_26 = lean_ctor_get(x_7, 0); -lean_dec(x_26); -x_27 = !lean_is_exclusive(x_8); -if (x_27 == 0) +lean_object* x_23; uint8_t x_24; +x_23 = lean_ctor_get(x_7, 0); +lean_dec(x_23); +x_24 = !lean_is_exclusive(x_8); +if (x_24 == 0) { return x_7; } else { -lean_object* x_28; lean_object* x_29; +lean_object* x_25; lean_object* x_26; +x_25 = lean_ctor_get(x_8, 0); +lean_inc(x_25); +lean_dec(x_8); +x_26 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_26, 0, x_25); +lean_ctor_set(x_7, 0, x_26); +return x_7; +} +} +else +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_27 = lean_ctor_get(x_7, 1); +lean_inc(x_27); +lean_dec(x_7); x_28 = lean_ctor_get(x_8, 0); lean_inc(x_28); -lean_dec(x_8); -x_29 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_29, 0, x_28); -lean_ctor_set(x_7, 0, x_29); -return x_7; -} -} -else -{ -lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_30 = lean_ctor_get(x_7, 1); -lean_inc(x_30); -lean_dec(x_7); -x_31 = lean_ctor_get(x_8, 0); -lean_inc(x_31); if (lean_is_exclusive(x_8)) { lean_ctor_release(x_8, 0); - x_32 = x_8; + x_29 = x_8; } else { lean_dec_ref(x_8); - x_32 = lean_box(0); + x_29 = lean_box(0); } -if (lean_is_scalar(x_32)) { - x_33 = lean_alloc_ctor(1, 1, 0); +if (lean_is_scalar(x_29)) { + x_30 = lean_alloc_ctor(1, 1, 0); } else { - x_33 = x_32; + x_30 = x_29; } -lean_ctor_set(x_33, 0, x_31); -x_34 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_34, 0, x_33); -lean_ctor_set(x_34, 1, x_30); -return x_34; +lean_ctor_set(x_30, 0, x_28); +x_31 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_31, 0, x_30); +lean_ctor_set(x_31, 1, x_27); +return x_31; } } } case 10: { -lean_object* x_35; -x_35 = lean_ctor_get(x_1, 1); -lean_inc(x_35); +lean_object* x_32; +x_32 = lean_ctor_get(x_1, 1); +lean_inc(x_32); lean_dec(x_1); -x_1 = x_35; +x_1 = x_32; goto _start; } default: { -lean_object* x_37; lean_object* x_38; +lean_object* x_34; lean_object* x_35; lean_dec(x_1); -x_37 = lean_box(0); -x_38 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_38, 0, x_37); -lean_ctor_set(x_38, 1, x_5); -return x_38; +x_34 = lean_box(0); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_34); +lean_ctor_set(x_35, 1, x_5); +return x_35; } } } @@ -2402,19 +2380,15 @@ _start: switch (lean_obj_tag(x_1)) { case 1: { -lean_object* x_7; lean_object* x_8; +lean_object* x_7; lean_object* x_8; lean_object* x_9; x_7 = lean_ctor_get(x_1, 0); lean_inc(x_7); -x_8 = l_Lean_Compiler_LCNF_getLocalDecl(x_7, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_8) == 0) -{ -lean_object* x_9; +x_8 = l_Lean_Compiler_LCNF_findLetDecl_x3f(x_7, x_3, x_4, x_5, x_6); x_9 = lean_ctor_get(x_8, 0); lean_inc(x_9); if (lean_obj_tag(x_9) == 0) { uint8_t x_10; -lean_dec(x_9); x_10 = !lean_is_exclusive(x_8); if (x_10 == 0) { @@ -2438,74 +2412,53 @@ return x_13; } else { -lean_object* x_14; lean_object* x_15; uint8_t x_16; +lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_dec(x_1); x_14 = lean_ctor_get(x_8, 1); lean_inc(x_14); lean_dec(x_8); -x_15 = lean_ctor_get(x_9, 4); +x_15 = lean_ctor_get(x_9, 0); lean_inc(x_15); lean_dec(x_9); -x_16 = 1; -x_1 = x_15; -x_2 = x_16; +x_16 = lean_ctor_get(x_15, 3); +lean_inc(x_16); +lean_dec(x_15); +x_17 = 1; +x_1 = x_16; +x_2 = x_17; x_6 = x_14; goto _start; } } -else -{ -uint8_t x_18; -lean_dec(x_1); -x_18 = !lean_is_exclusive(x_8); -if (x_18 == 0) -{ -return x_8; -} -else -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_19 = lean_ctor_get(x_8, 0); -x_20 = lean_ctor_get(x_8, 1); -lean_inc(x_20); -lean_inc(x_19); -lean_dec(x_8); -x_21 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_21, 0, x_19); -lean_ctor_set(x_21, 1, x_20); -return x_21; -} -} -} case 10: { if (x_2 == 0) { -lean_object* x_22; -x_22 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_22, 0, x_1); -lean_ctor_set(x_22, 1, x_6); -return x_22; +lean_object* x_19; +x_19 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_19, 0, x_1); +lean_ctor_set(x_19, 1, x_6); +return x_19; } else { -lean_object* x_23; uint8_t x_24; -x_23 = lean_ctor_get(x_1, 1); -lean_inc(x_23); +lean_object* x_20; uint8_t x_21; +x_20 = lean_ctor_get(x_1, 1); +lean_inc(x_20); lean_dec(x_1); -x_24 = 1; -x_1 = x_23; -x_2 = x_24; +x_21 = 1; +x_1 = x_20; +x_2 = x_21; goto _start; } } default: { -lean_object* x_26; -x_26 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_26, 0, x_1); -lean_ctor_set(x_26, 1, x_6); -return x_26; +lean_object* x_23; +x_23 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_23, 0, x_1); +lean_ctor_set(x_23, 1, x_6); +return x_23; } } } @@ -2870,12 +2823,9 @@ goto _start; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_findCtor(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -uint8_t x_8; lean_object* x_9; +uint8_t x_8; lean_object* x_9; lean_object* x_10; x_8 = 1; x_9 = l_Lean_Compiler_LCNF_Simp_findExpr(x_1, x_8, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_9) == 0) -{ -lean_object* x_10; x_10 = lean_ctor_get(x_9, 0); lean_inc(x_10); if (lean_obj_tag(x_10) == 1) @@ -2964,29 +2914,6 @@ return x_27; } } } -else -{ -uint8_t x_28; -x_28 = !lean_is_exclusive(x_9); -if (x_28 == 0) -{ -return x_9; -} -else -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_9, 0); -x_30 = lean_ctor_get(x_9, 1); -lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_9); -x_31 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_31, 0, x_29); -lean_ctor_set(x_31, 1, x_30); -return x_31; -} -} -} } LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_Compiler_LCNF_Simp_findCtor___spec__1___boxed(lean_object* x_1, lean_object* x_2) { _start: @@ -7102,13 +7029,10 @@ goto _start; } else { -lean_object* x_14; lean_object* x_15; +lean_object* x_14; lean_object* x_15; lean_object* x_16; x_14 = l_Lean_Expr_getAppFn(x_11); lean_dec(x_11); x_15 = l_Lean_Compiler_LCNF_Simp_findFunDecl_x3f(x_14, x_5, x_6, x_7, x_8); -if (lean_obj_tag(x_15) == 0) -{ -lean_object* x_16; x_16 = lean_ctor_get(x_15, 0); lean_inc(x_16); if (lean_obj_tag(x_16) == 0) @@ -7142,255 +7066,226 @@ x_8 = x_23; goto _start; } } -else -{ -uint8_t x_25; -lean_dec(x_10); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_25 = !lean_is_exclusive(x_15); -if (x_25 == 0) -{ -return x_15; -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_15, 0); -x_27 = lean_ctor_get(x_15, 1); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_15); -x_28 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -return x_28; -} -} -} } case 1: { if (x_1 == 0) { -lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_25 = lean_ctor_get(x_2, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_2, 1); +lean_inc(x_26); +lean_dec(x_2); +x_27 = lean_box(0); +x_28 = l_Lean_Compiler_LCNF_Simp_updateFunDeclInfo_go___lambda__2(x_25, x_1, x_26, x_27, x_3, x_4, x_5, x_6, x_7, x_8); +return x_28; +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; x_29 = lean_ctor_get(x_2, 0); lean_inc(x_29); x_30 = lean_ctor_get(x_2, 1); lean_inc(x_30); lean_dec(x_2); -x_31 = lean_box(0); -x_32 = l_Lean_Compiler_LCNF_Simp_updateFunDeclInfo_go___lambda__2(x_29, x_1, x_30, x_31, x_3, x_4, x_5, x_6, x_7, x_8); -return x_32; -} -else -{ -lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_33 = lean_ctor_get(x_2, 0); +x_31 = lean_ctor_get(x_29, 0); +lean_inc(x_31); +x_32 = l_Lean_Compiler_LCNF_Simp_addMustInline(x_31, x_3, x_4, x_5, x_6, x_7, x_8); +x_33 = lean_ctor_get(x_32, 0); lean_inc(x_33); -x_34 = lean_ctor_get(x_2, 1); +x_34 = lean_ctor_get(x_32, 1); lean_inc(x_34); -lean_dec(x_2); -x_35 = lean_ctor_get(x_33, 0); -lean_inc(x_35); -x_36 = l_Lean_Compiler_LCNF_Simp_addMustInline(x_35, x_3, x_4, x_5, x_6, x_7, x_8); -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_Compiler_LCNF_Simp_updateFunDeclInfo_go___lambda__2(x_33, x_1, x_34, x_37, x_3, x_4, x_5, x_6, x_7, x_38); -return x_39; +lean_dec(x_32); +x_35 = l_Lean_Compiler_LCNF_Simp_updateFunDeclInfo_go___lambda__2(x_29, x_1, x_30, x_33, x_3, x_4, x_5, x_6, x_7, x_34); +return x_35; } } case 2: { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_2, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_2, 1); -lean_inc(x_41); +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_36 = lean_ctor_get(x_2, 0); +lean_inc(x_36); +x_37 = lean_ctor_get(x_2, 1); +lean_inc(x_37); lean_dec(x_2); -x_42 = lean_ctor_get(x_40, 4); -lean_inc(x_42); -lean_dec(x_40); +x_38 = lean_ctor_get(x_36, 4); +lean_inc(x_38); +lean_dec(x_36); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -x_43 = l_Lean_Compiler_LCNF_Simp_updateFunDeclInfo_go(x_1, x_42, x_3, x_4, x_5, x_6, x_7, x_8); -if (lean_obj_tag(x_43) == 0) +x_39 = l_Lean_Compiler_LCNF_Simp_updateFunDeclInfo_go(x_1, x_38, x_3, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_39) == 0) { -lean_object* x_44; -x_44 = lean_ctor_get(x_43, 1); -lean_inc(x_44); -lean_dec(x_43); -x_2 = x_41; -x_8 = x_44; +lean_object* x_40; +x_40 = lean_ctor_get(x_39, 1); +lean_inc(x_40); +lean_dec(x_39); +x_2 = x_37; +x_8 = x_40; goto _start; } else { -uint8_t x_46; -lean_dec(x_41); +uint8_t x_42; +lean_dec(x_37); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_46 = !lean_is_exclusive(x_43); -if (x_46 == 0) +x_42 = !lean_is_exclusive(x_39); +if (x_42 == 0) { -return x_43; +return x_39; } else { -lean_object* x_47; lean_object* x_48; lean_object* x_49; -x_47 = lean_ctor_get(x_43, 0); -x_48 = lean_ctor_get(x_43, 1); -lean_inc(x_48); -lean_inc(x_47); -lean_dec(x_43); -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_43; lean_object* x_44; lean_object* x_45; +x_43 = lean_ctor_get(x_39, 0); +x_44 = lean_ctor_get(x_39, 1); +lean_inc(x_44); +lean_inc(x_43); +lean_dec(x_39); +x_45 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_45, 0, x_43); +lean_ctor_set(x_45, 1, x_44); +return x_45; } } } case 3: { -lean_object* x_50; lean_object* x_51; -x_50 = lean_ctor_get(x_2, 0); -lean_inc(x_50); +lean_object* x_46; lean_object* x_47; +x_46 = lean_ctor_get(x_2, 0); +lean_inc(x_46); lean_dec(x_2); -x_51 = l_Lean_Compiler_LCNF_getFunDecl(x_50, x_5, x_6, x_7, x_8); -if (lean_obj_tag(x_51) == 0) +x_47 = l_Lean_Compiler_LCNF_getFunDecl(x_46, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_47) == 0) { -lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_52 = lean_ctor_get(x_51, 0); -lean_inc(x_52); -x_53 = lean_ctor_get(x_51, 1); -lean_inc(x_53); -lean_dec(x_51); -x_54 = lean_ctor_get(x_52, 0); -lean_inc(x_54); -lean_dec(x_52); -x_55 = l_Lean_Compiler_LCNF_Simp_addFunOcc(x_54, x_3, x_4, x_5, x_6, x_7, x_53); +lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; +x_48 = lean_ctor_get(x_47, 0); +lean_inc(x_48); +x_49 = lean_ctor_get(x_47, 1); +lean_inc(x_49); +lean_dec(x_47); +x_50 = lean_ctor_get(x_48, 0); +lean_inc(x_50); +lean_dec(x_48); +x_51 = l_Lean_Compiler_LCNF_Simp_addFunOcc(x_50, x_3, x_4, x_5, x_6, x_7, x_49); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -return x_55; -} -else -{ -uint8_t x_56; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_56 = !lean_is_exclusive(x_51); -if (x_56 == 0) -{ return x_51; } else { -lean_object* x_57; lean_object* x_58; lean_object* x_59; -x_57 = lean_ctor_get(x_51, 0); -x_58 = lean_ctor_get(x_51, 1); -lean_inc(x_58); -lean_inc(x_57); -lean_dec(x_51); -x_59 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_59, 0, x_57); -lean_ctor_set(x_59, 1, x_58); -return x_59; +uint8_t x_52; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_52 = !lean_is_exclusive(x_47); +if (x_52 == 0) +{ +return x_47; +} +else +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_53 = lean_ctor_get(x_47, 0); +x_54 = lean_ctor_get(x_47, 1); +lean_inc(x_54); +lean_inc(x_53); +lean_dec(x_47); +x_55 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_55, 0, x_53); +lean_ctor_set(x_55, 1, x_54); +return x_55; } } } case 4: { -lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64; -x_60 = lean_ctor_get(x_2, 0); -lean_inc(x_60); +lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60; +x_56 = lean_ctor_get(x_2, 0); +lean_inc(x_56); lean_dec(x_2); -x_61 = lean_ctor_get(x_60, 3); -lean_inc(x_61); -lean_dec(x_60); -x_62 = lean_array_get_size(x_61); -x_63 = lean_unsigned_to_nat(0u); -x_64 = lean_nat_dec_lt(x_63, x_62); -if (x_64 == 0) +x_57 = lean_ctor_get(x_56, 3); +lean_inc(x_57); +lean_dec(x_56); +x_58 = lean_array_get_size(x_57); +x_59 = lean_unsigned_to_nat(0u); +x_60 = lean_nat_dec_lt(x_59, x_58); +if (x_60 == 0) { -lean_object* x_65; lean_object* x_66; -lean_dec(x_62); -lean_dec(x_61); +lean_object* x_61; lean_object* x_62; +lean_dec(x_58); +lean_dec(x_57); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_65 = lean_box(0); -x_66 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_66, 0, x_65); -lean_ctor_set(x_66, 1, x_8); -return x_66; +x_61 = lean_box(0); +x_62 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_62, 0, x_61); +lean_ctor_set(x_62, 1, x_8); +return x_62; } else { -uint8_t x_67; -x_67 = lean_nat_dec_le(x_62, x_62); -if (x_67 == 0) +uint8_t x_63; +x_63 = lean_nat_dec_le(x_58, x_58); +if (x_63 == 0) { -lean_object* x_68; lean_object* x_69; -lean_dec(x_62); -lean_dec(x_61); +lean_object* x_64; lean_object* x_65; +lean_dec(x_58); +lean_dec(x_57); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); +x_64 = lean_box(0); +x_65 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_65, 0, x_64); +lean_ctor_set(x_65, 1, x_8); +return x_65; +} +else +{ +size_t x_66; size_t x_67; lean_object* x_68; lean_object* x_69; +x_66 = 0; +x_67 = lean_usize_of_nat(x_58); +lean_dec(x_58); x_68 = lean_box(0); -x_69 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_69, 0, x_68); -lean_ctor_set(x_69, 1, x_8); +x_69 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Simp_updateFunDeclInfo_go___spec__1(x_1, x_57, x_66, x_67, x_68, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_57); return x_69; } -else -{ -size_t x_70; size_t x_71; lean_object* x_72; lean_object* x_73; -x_70 = 0; -x_71 = lean_usize_of_nat(x_62); -lean_dec(x_62); -x_72 = lean_box(0); -x_73 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Simp_updateFunDeclInfo_go___spec__1(x_1, x_61, x_70, x_71, x_72, x_3, x_4, x_5, x_6, x_7, x_8); -lean_dec(x_61); -return x_73; -} } } default: { -lean_object* x_74; lean_object* x_75; +lean_object* x_70; lean_object* x_71; lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_74 = lean_box(0); -x_75 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_75, 0, x_74); -lean_ctor_set(x_75, 1, x_8); -return x_75; +x_70 = lean_box(0); +x_71 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_71, 0, x_70); +lean_ctor_set(x_71, 1, x_8); +return x_71; } } } @@ -8349,16 +8244,13 @@ return x_35; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_inlineCandidate_x3f___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; x_12 = lean_nat_sub(x_1, x_2); x_13 = lean_unsigned_to_nat(1u); x_14 = lean_nat_sub(x_12, x_13); lean_dec(x_12); x_15 = l_Lean_Expr_getRevArg_x21(x_3, x_14); x_16 = l_Lean_Compiler_LCNF_Simp_findCtor(x_15, x_6, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_16) == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; x_17 = lean_ctor_get(x_16, 0); lean_inc(x_17); x_18 = lean_ctor_get(x_16, 1); @@ -8435,35 +8327,6 @@ return x_35; } } } -else -{ -uint8_t x_36; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -x_36 = !lean_is_exclusive(x_16); -if (x_36 == 0) -{ -return x_16; -} -else -{ -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_16, 0); -x_38 = lean_ctor_get(x_16, 1); -lean_inc(x_38); -lean_inc(x_37); -lean_dec(x_16); -x_39 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_39, 0, x_37); -lean_ctor_set(x_39, 1, x_38); -return x_39; -} -} -} } LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_inlineCandidate_x3f___lambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, uint8_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: @@ -8887,7 +8750,7 @@ return x_45; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_inlineCandidate_x3f___lambda__8(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; +lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_15; lean_dec(x_3); x_10 = lean_unsigned_to_nat(0u); x_11 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_1, x_10); @@ -8895,9 +8758,6 @@ x_12 = l_Lean_Expr_getAppFn(x_1); x_13 = 1; lean_inc(x_12); x_14 = l_Lean_Compiler_LCNF_Simp_findExpr(x_12, x_13, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_14) == 0) -{ -lean_object* x_15; x_15 = lean_ctor_get(x_14, 0); lean_inc(x_15); if (lean_obj_tag(x_15) == 4) @@ -8990,16 +8850,13 @@ return x_34; } else { -lean_object* x_35; lean_object* x_36; +lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_dec(x_15); x_35 = lean_ctor_get(x_14, 1); lean_inc(x_35); lean_dec(x_14); lean_inc(x_12); x_36 = l_Lean_Compiler_LCNF_Simp_findFunDecl_x3f(x_12, x_6, x_7, x_8, x_35); -if (lean_obj_tag(x_36) == 0) -{ -lean_object* x_37; x_37 = lean_ctor_get(x_36, 0); lean_inc(x_37); if (lean_obj_tag(x_37) == 0) @@ -9113,68 +8970,6 @@ return x_58; } } } -else -{ -uint8_t x_59; -lean_dec(x_12); -lean_dec(x_11); -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_59 = !lean_is_exclusive(x_36); -if (x_59 == 0) -{ -return x_36; -} -else -{ -lean_object* x_60; lean_object* x_61; lean_object* x_62; -x_60 = lean_ctor_get(x_36, 0); -x_61 = lean_ctor_get(x_36, 1); -lean_inc(x_61); -lean_inc(x_60); -lean_dec(x_36); -x_62 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_62, 0, x_60); -lean_ctor_set(x_62, 1, x_61); -return x_62; -} -} -} -} -else -{ -uint8_t x_63; -lean_dec(x_12); -lean_dec(x_11); -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_63 = !lean_is_exclusive(x_14); -if (x_63 == 0) -{ -return x_14; -} -else -{ -lean_object* x_64; lean_object* x_65; lean_object* x_66; -x_64 = lean_ctor_get(x_14, 0); -x_65 = lean_ctor_get(x_14, 1); -lean_inc(x_65); -lean_inc(x_64); -lean_dec(x_14); -x_66 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_66, 0, x_64); -lean_ctor_set(x_66, 1, x_65); -return x_66; -} -} } } static lean_object* _init_l_Lean_Compiler_LCNF_Simp_inlineCandidate_x3f___closed__1() { @@ -9222,14 +9017,11 @@ return x_15; } else { -lean_object* x_16; uint8_t x_17; lean_object* x_18; +lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; x_16 = l_Lean_Expr_appArg_x21(x_1); lean_dec(x_1); x_17 = 1; x_18 = l_Lean_Compiler_LCNF_Simp_findExpr(x_16, x_17, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; x_19 = lean_ctor_get(x_18, 0); lean_inc(x_19); x_20 = lean_ctor_get(x_18, 1); @@ -9240,34 +9032,6 @@ x_22 = lean_box(x_17); x_23 = lean_apply_9(x_8, x_19, x_22, x_21, x_2, x_3, x_4, x_5, x_6, x_20); return x_23; } -else -{ -uint8_t x_24; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_24 = !lean_is_exclusive(x_18); -if (x_24 == 0) -{ -return x_18; -} -else -{ -lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = lean_ctor_get(x_18, 0); -x_26 = lean_ctor_get(x_18, 1); -lean_inc(x_26); -lean_inc(x_25); -lean_dec(x_18); -x_27 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_27, 0, x_25); -lean_ctor_set(x_27, 1, x_26); -return x_27; -} -} -} } } LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_inlineCandidate_x3f___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) { @@ -12108,7 +11872,7 @@ if (x_13 == 0) { lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; x_14 = lean_ctor_get(x_11, 1); -x_15 = l_Std_HashSetImp_insert___at_Lean_MVarId_getNondepPropHyps___spec__2(x_14, x_1); +x_15 = l_Std_HashSetImp_insert___at_Lean_Compiler_LCNF_collectLocalDecls_go___spec__1(x_14, x_1); lean_ctor_set(x_11, 1, x_15); x_16 = lean_st_ref_set(x_3, x_11, x_12); x_17 = !lean_is_exclusive(x_16); @@ -12151,7 +11915,7 @@ lean_inc(x_25); lean_inc(x_24); lean_inc(x_23); lean_dec(x_11); -x_30 = l_Std_HashSetImp_insert___at_Lean_MVarId_getNondepPropHyps___spec__2(x_24, x_1); +x_30 = l_Std_HashSetImp_insert___at_Lean_Compiler_LCNF_collectLocalDecls_go___spec__1(x_24, x_1); x_31 = lean_alloc_ctor(0, 6, 1); lean_ctor_set(x_31, 0, x_23); lean_ctor_set(x_31, 1, x_30); @@ -12801,7 +12565,8 @@ x_12 = lean_ctor_get(x_10, 0); x_13 = lean_ctor_get(x_12, 1); lean_inc(x_13); lean_dec(x_12); -x_14 = l_Std_HashSetImp_contains___at_Lean_MVarId_getNondepPropHyps___spec__16(x_13, x_1); +x_14 = l_Std_HashSetImp_contains___at_Lean_Compiler_LCNF_ElimDead_elimDead___spec__1(x_13, x_1); +lean_dec(x_13); x_15 = lean_box(x_14); lean_ctor_set(x_10, 0, x_15); return x_10; @@ -12817,7 +12582,8 @@ lean_dec(x_10); x_18 = lean_ctor_get(x_16, 1); lean_inc(x_18); lean_dec(x_16); -x_19 = l_Std_HashSetImp_contains___at_Lean_MVarId_getNondepPropHyps___spec__16(x_18, x_1); +x_19 = l_Std_HashSetImp_contains___at_Lean_Compiler_LCNF_ElimDead_elimDead___spec__1(x_18, x_1); +lean_dec(x_18); x_20 = lean_box(x_19); x_21 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_21, 0, x_20); @@ -12836,6 +12602,7 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); +lean_dec(x_1); return x_8; } } @@ -12907,132 +12674,129 @@ return x_12; } else { -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_44; uint8_t x_45; +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_43; uint8_t x_44; x_13 = lean_unsigned_to_nat(1u); x_14 = lean_nat_sub(x_2, x_13); lean_dec(x_2); -x_44 = lean_array_get_size(x_1); -x_45 = lean_nat_dec_lt(x_14, x_44); -lean_dec(x_44); -if (x_45 == 0) +x_43 = lean_array_get_size(x_1); +x_44 = lean_nat_dec_lt(x_14, x_43); +lean_dec(x_43); +if (x_44 == 0) { -lean_object* x_46; lean_object* x_47; -x_46 = l_Lean_Compiler_LCNF_Simp_attachCodeDecls_go___closed__4; -x_47 = l_panic___at_Lean_Compiler_LCNF_Simp_attachCodeDecls_go___spec__1(x_46); -x_15 = x_47; -goto block_43; +lean_object* x_45; lean_object* x_46; +x_45 = l_Lean_Compiler_LCNF_Simp_attachCodeDecls_go___closed__4; +x_46 = l_panic___at_Lean_Compiler_LCNF_Simp_attachCodeDecls_go___spec__1(x_45); +x_15 = x_46; +goto block_42; } else { -lean_object* x_48; -x_48 = lean_array_fget(x_1, x_14); -x_15 = x_48; -goto block_43; +lean_object* x_47; +x_47 = lean_array_fget(x_1, x_14); +x_15 = x_47; +goto block_42; } -block_43: +block_42: { lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; x_16 = l_Lean_Compiler_LCNF_CodeDecl_fvarId(x_15); -lean_inc(x_16); x_17 = l_Lean_Compiler_LCNF_Simp_isUsed(x_16, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_16); x_18 = lean_ctor_get(x_17, 0); lean_inc(x_18); x_19 = lean_unbox(x_18); lean_dec(x_18); if (x_19 == 0) { -lean_object* x_20; uint8_t x_21; lean_object* x_22; lean_object* x_23; -lean_dec(x_15); +lean_object* x_20; lean_object* x_21; lean_object* x_22; x_20 = lean_ctor_get(x_17, 1); lean_inc(x_20); lean_dec(x_17); -x_21 = 1; -x_22 = l_Lean_Compiler_LCNF_eraseFVar(x_16, x_21, x_6, x_7, x_8, x_20); -x_23 = lean_ctor_get(x_22, 1); -lean_inc(x_23); -lean_dec(x_22); +x_21 = l_Lean_Compiler_LCNF_eraseCodeDecl(x_15, x_6, x_7, x_8, x_20); +x_22 = lean_ctor_get(x_21, 1); +lean_inc(x_22); +lean_dec(x_21); x_2 = x_14; -x_9 = x_23; +x_9 = x_22; goto _start; } else { -lean_dec(x_16); switch (lean_obj_tag(x_15)) { case 0: { -lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_25 = lean_ctor_get(x_17, 1); -lean_inc(x_25); +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_17, 1); +lean_inc(x_24); lean_dec(x_17); -x_26 = lean_ctor_get(x_15, 0); -lean_inc(x_26); +x_25 = lean_ctor_get(x_15, 0); +lean_inc(x_25); lean_dec(x_15); -lean_inc(x_26); -x_27 = l_Lean_Compiler_LCNF_Simp_markUsedLetDecl(x_26, x_4, x_5, x_6, x_7, x_8, x_25); -x_28 = lean_ctor_get(x_27, 1); -lean_inc(x_28); -lean_dec(x_27); -x_29 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_29, 0, x_26); -lean_ctor_set(x_29, 1, x_3); +lean_inc(x_25); +x_26 = l_Lean_Compiler_LCNF_Simp_markUsedLetDecl(x_25, x_4, x_5, x_6, x_7, x_8, x_24); +x_27 = lean_ctor_get(x_26, 1); +lean_inc(x_27); +lean_dec(x_26); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_25); +lean_ctor_set(x_28, 1, x_3); x_2 = x_14; -x_3 = x_29; -x_9 = x_28; +x_3 = x_28; +x_9 = x_27; goto _start; } case 1: { -lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_31 = lean_ctor_get(x_17, 1); -lean_inc(x_31); +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_30 = lean_ctor_get(x_17, 1); +lean_inc(x_30); lean_dec(x_17); -x_32 = lean_ctor_get(x_15, 0); -lean_inc(x_32); +x_31 = lean_ctor_get(x_15, 0); +lean_inc(x_31); lean_dec(x_15); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_32); -x_33 = l_Lean_Compiler_LCNF_Simp_markUsedFunDecl(x_32, x_4, x_5, x_6, x_7, x_8, x_31); -x_34 = lean_ctor_get(x_33, 1); -lean_inc(x_34); -lean_dec(x_33); -x_35 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_35, 0, x_32); -lean_ctor_set(x_35, 1, x_3); +lean_inc(x_31); +x_32 = l_Lean_Compiler_LCNF_Simp_markUsedFunDecl(x_31, x_4, x_5, x_6, x_7, x_8, x_30); +x_33 = lean_ctor_get(x_32, 1); +lean_inc(x_33); +lean_dec(x_32); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_31); +lean_ctor_set(x_34, 1, x_3); x_2 = x_14; -x_3 = x_35; -x_9 = x_34; +x_3 = x_34; +x_9 = x_33; goto _start; } default: { -lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; -x_37 = lean_ctor_get(x_17, 1); -lean_inc(x_37); +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_36 = lean_ctor_get(x_17, 1); +lean_inc(x_36); lean_dec(x_17); -x_38 = lean_ctor_get(x_15, 0); -lean_inc(x_38); +x_37 = lean_ctor_get(x_15, 0); +lean_inc(x_37); lean_dec(x_15); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_38); -x_39 = l_Lean_Compiler_LCNF_Simp_markUsedFunDecl(x_38, x_4, x_5, x_6, x_7, x_8, x_37); -x_40 = lean_ctor_get(x_39, 1); -lean_inc(x_40); -lean_dec(x_39); -x_41 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_41, 0, x_38); -lean_ctor_set(x_41, 1, x_3); +lean_inc(x_37); +x_38 = l_Lean_Compiler_LCNF_Simp_markUsedFunDecl(x_37, x_4, x_5, x_6, x_7, x_8, x_36); +x_39 = lean_ctor_get(x_38, 1); +lean_inc(x_39); +lean_dec(x_38); +x_40 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_40, 0, x_37); +lean_ctor_set(x_40, 1, x_3); x_2 = x_14; -x_3 = x_41; -x_9 = x_40; +x_3 = x_40; +x_9 = x_39; goto _start; } } @@ -13075,32 +12839,29 @@ uint8_t x_11; x_11 = lean_usize_dec_eq(x_2, x_3); if (x_11 == 0) { -lean_object* x_12; lean_object* x_13; uint8_t 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_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; size_t x_16; size_t x_17; lean_dec(x_4); x_12 = lean_array_uget(x_1, x_2); -x_13 = l_Lean_Compiler_LCNF_CodeDecl_fvarId(x_12); -lean_dec(x_12); -x_14 = 1; -x_15 = l_Lean_Compiler_LCNF_eraseFVar(x_13, x_14, x_7, x_8, x_9, x_10); -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 = 1; -x_19 = lean_usize_add(x_2, x_18); -x_2 = x_19; -x_4 = x_16; -x_10 = x_17; +x_13 = l_Lean_Compiler_LCNF_eraseCodeDecl(x_12, x_7, x_8, x_9, x_10); +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +x_16 = 1; +x_17 = lean_usize_add(x_2, x_16); +x_2 = x_17; +x_4 = x_14; +x_10 = x_15; goto _start; } else { -lean_object* x_21; -x_21 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_21, 0, x_4); -lean_ctor_set(x_21, 1, x_10); -return x_21; +lean_object* x_19; +x_19 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_19, 0, x_4); +lean_ctor_set(x_19, 1, x_10); +return x_19; } } } @@ -13308,12 +13069,9 @@ return x_6; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_inlineProjInst_x3f_visit(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -uint8_t x_10; lean_object* x_11; +uint8_t x_10; lean_object* x_11; lean_object* x_12; x_10 = 1; x_11 = l_Lean_Compiler_LCNF_Simp_findExpr(x_1, x_10, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_11) == 0) -{ -lean_object* x_12; x_12 = lean_ctor_get(x_11, 0); lean_inc(x_12); switch (lean_obj_tag(x_12)) { @@ -18398,36 +18156,6 @@ goto _start; } } } -else -{ -uint8_t x_1074; -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_1074 = !lean_is_exclusive(x_11); -if (x_1074 == 0) -{ -return x_11; -} -else -{ -lean_object* x_1075; lean_object* x_1076; lean_object* x_1077; -x_1075 = lean_ctor_get(x_11, 0); -x_1076 = lean_ctor_get(x_11, 1); -lean_inc(x_1076); -lean_inc(x_1075); -lean_dec(x_11); -x_1077 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_1077, 0, x_1075); -lean_ctor_set(x_1077, 1, x_1076); -return x_1077; -} -} -} } LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_inlineProjInst_x3f_visitCode(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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: @@ -18954,7 +18682,7 @@ return x_14; } else { -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; lean_object* x_25; +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; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; x_15 = lean_unsigned_to_nat(0u); x_16 = lean_array_fget(x_9, x_15); lean_dec(x_9); @@ -18974,9 +18702,6 @@ lean_dec(x_20); x_23 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_22, x_16); x_24 = 1; x_25 = l_Lean_Compiler_LCNF_Simp_findExpr(x_23, x_24, x_4, x_5, x_6, x_21); -if (lean_obj_tag(x_25) == 0) -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; x_26 = lean_ctor_get(x_25, 0); lean_inc(x_26); x_27 = lean_ctor_get(x_25, 1); @@ -19106,33 +18831,29 @@ return x_64; } } } -else -{ -uint8_t x_65; -lean_dec(x_8); -x_65 = !lean_is_exclusive(x_25); -if (x_65 == 0) -{ -return x_25; -} -else -{ -lean_object* x_66; lean_object* x_67; lean_object* x_68; -x_66 = lean_ctor_get(x_25, 0); -x_67 = lean_ctor_get(x_25, 1); -lean_inc(x_67); -lean_inc(x_66); -lean_dec(x_25); -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; -} -} -} } case 4: { +lean_object* x_65; lean_object* x_66; +lean_dec(x_1); +x_65 = lean_box(0); +x_66 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_66, 0, x_65); +lean_ctor_set(x_66, 1, x_7); +return x_66; +} +case 5: +{ +lean_object* x_67; lean_object* x_68; +lean_dec(x_1); +x_67 = lean_box(0); +x_68 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_68, 0, x_67); +lean_ctor_set(x_68, 1, x_7); +return x_68; +} +case 6: +{ lean_object* x_69; lean_object* x_70; lean_dec(x_1); x_69 = lean_box(0); @@ -19141,33 +18862,13 @@ lean_ctor_set(x_70, 0, x_69); lean_ctor_set(x_70, 1, x_7); return x_70; } -case 5: -{ -lean_object* x_71; lean_object* x_72; -lean_dec(x_1); -x_71 = lean_box(0); -x_72 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_72, 0, x_71); -lean_ctor_set(x_72, 1, x_7); -return x_72; -} -case 6: -{ -lean_object* x_73; lean_object* x_74; -lean_dec(x_1); -x_73 = lean_box(0); -x_74 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_74, 0, x_73); -lean_ctor_set(x_74, 1, x_7); -return x_74; -} default: { -lean_object* x_75; -x_75 = lean_ctor_get(x_1, 1); -lean_inc(x_75); +lean_object* x_71; +x_71 = lean_ctor_get(x_1, 1); +lean_inc(x_71); lean_dec(x_1); -x_1 = x_75; +x_1 = x_71; goto _start; } } @@ -19347,16 +19048,13 @@ return x_14; } else { -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_27; lean_object* x_28; +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_dec(x_5); x_15 = lean_ctor_get(x_2, 0); x_16 = lean_array_uget(x_15, x_4); x_27 = l_Lean_Compiler_LCNF_AltCore_getCode(x_16); lean_dec(x_16); x_28 = l_Lean_Compiler_LCNF_Simp_isCasesOnCases_x3f_isCtorJmp_x3f(x_27, x_6, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_28) == 0) -{ -lean_object* x_29; x_29 = lean_ctor_get(x_28, 0); lean_inc(x_29); if (lean_obj_tag(x_29) == 0) @@ -19398,29 +19096,6 @@ x_18 = x_32; goto block_26; } } -} -else -{ -uint8_t x_37; -x_37 = !lean_is_exclusive(x_28); -if (x_37 == 0) -{ -return x_28; -} -else -{ -lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_38 = lean_ctor_get(x_28, 0); -x_39 = lean_ctor_get(x_28, 1); -lean_inc(x_39); -lean_inc(x_38); -lean_dec(x_28); -x_40 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_40, 0, x_38); -lean_ctor_set(x_40, 1, x_39); -return x_40; -} -} block_26: { if (lean_obj_tag(x_17) == 0) @@ -19455,38 +19130,35 @@ goto _start; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_isCasesOnCases_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -lean_object* x_8; lean_object* x_9; lean_object* x_73; lean_object* x_74; uint8_t x_75; +lean_object* x_8; lean_object* x_9; lean_object* x_65; lean_object* x_66; uint8_t x_67; x_8 = lean_ctor_get(x_1, 3); lean_inc(x_8); lean_dec(x_1); -x_73 = lean_array_get_size(x_8); -x_74 = lean_unsigned_to_nat(0u); -x_75 = lean_nat_dec_lt(x_74, x_73); -lean_dec(x_73); -if (x_75 == 0) +x_65 = lean_array_get_size(x_8); +x_66 = lean_unsigned_to_nat(0u); +x_67 = lean_nat_dec_lt(x_66, x_65); +lean_dec(x_65); +if (x_67 == 0) { -lean_object* x_76; lean_object* x_77; -x_76 = l_Lean_Compiler_LCNF_Simp_attachCodeDecls_go___closed__4; -x_77 = l_panic___at_Lean_Compiler_LCNF_CasesCore_extractAlt_x21___spec__2(x_76); -x_9 = x_77; -goto block_72; +lean_object* x_68; lean_object* x_69; +x_68 = l_Lean_Compiler_LCNF_Simp_attachCodeDecls_go___closed__4; +x_69 = l_panic___at_Lean_Compiler_LCNF_CasesCore_extractAlt_x21___spec__2(x_68); +x_9 = x_69; +goto block_64; } else { -lean_object* x_78; -x_78 = lean_array_fget(x_8, x_74); -x_9 = x_78; -goto block_72; +lean_object* x_70; +x_70 = lean_array_fget(x_8, x_66); +x_9 = x_70; +goto block_64; } -block_72: +block_64: { -lean_object* x_10; lean_object* x_11; +lean_object* x_10; lean_object* x_11; lean_object* x_12; x_10 = l_Lean_Compiler_LCNF_AltCore_getCode(x_9); lean_dec(x_9); x_11 = l_Lean_Compiler_LCNF_Simp_isCasesOnCases_x3f_isCtorJmp_x3f(x_10, x_2, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_11) == 0) -{ -lean_object* x_12; x_12 = lean_ctor_get(x_11, 0); lean_inc(x_12); if (lean_obj_tag(x_12) == 0) @@ -19571,7 +19243,7 @@ return x_32; } else { -lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; size_t x_38; lean_object* x_39; size_t x_40; lean_object* x_41; lean_object* x_42; +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; size_t x_38; lean_object* x_39; size_t x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; x_33 = lean_ctor_get(x_24, 1); lean_inc(x_33); lean_dec(x_24); @@ -19589,9 +19261,6 @@ lean_dec(x_39); x_41 = lean_box(0); x_42 = l_Subarray_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_isCasesOnCases_x3f___spec__1(x_20, x_36, x_38, x_40, x_41, x_2, x_3, x_4, x_5, x_6, x_33); lean_dec(x_36); -if (lean_obj_tag(x_42) == 0) -{ -lean_object* x_43; x_43 = lean_ctor_get(x_42, 0); lean_inc(x_43); if (lean_obj_tag(x_43) == 0) @@ -19679,81 +19348,33 @@ return x_59; } } } +} else { uint8_t x_60; lean_dec(x_20); -x_60 = !lean_is_exclusive(x_42); -if (x_60 == 0) -{ -return x_42; -} -else -{ -lean_object* x_61; lean_object* x_62; lean_object* x_63; -x_61 = lean_ctor_get(x_42, 0); -x_62 = lean_ctor_get(x_42, 1); -lean_inc(x_62); -lean_inc(x_61); -lean_dec(x_42); -x_63 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_63, 0, x_61); -lean_ctor_set(x_63, 1, x_62); -return x_63; -} -} -} -} -else -{ -uint8_t x_64; -lean_dec(x_20); lean_dec(x_8); -x_64 = !lean_is_exclusive(x_21); -if (x_64 == 0) +x_60 = !lean_is_exclusive(x_21); +if (x_60 == 0) { return x_21; } else { -lean_object* x_65; lean_object* x_66; lean_object* x_67; -x_65 = lean_ctor_get(x_21, 0); -x_66 = lean_ctor_get(x_21, 1); -lean_inc(x_66); -lean_inc(x_65); +lean_object* x_61; lean_object* x_62; lean_object* x_63; +x_61 = lean_ctor_get(x_21, 0); +x_62 = lean_ctor_get(x_21, 1); +lean_inc(x_62); +lean_inc(x_61); lean_dec(x_21); -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; +x_63 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_63, 0, x_61); +lean_ctor_set(x_63, 1, x_62); +return x_63; } } } } -else -{ -uint8_t x_68; -lean_dec(x_8); -x_68 = !lean_is_exclusive(x_11); -if (x_68 == 0) -{ -return x_11; -} -else -{ -lean_object* x_69; lean_object* x_70; lean_object* x_71; -x_69 = lean_ctor_get(x_11, 0); -x_70 = lean_ctor_get(x_11, 1); -lean_inc(x_70); -lean_inc(x_69); -lean_dec(x_11); -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_EXPORT lean_object* l_Subarray_forInUnsafe_loop___at_Lean_Compiler_LCNF_Simp_isCasesOnCases_x3f___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) { @@ -20445,9 +20066,6 @@ lean_inc(x_31); x_32 = lean_ctor_get(x_14, 2); lean_inc(x_32); lean_dec(x_14); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); x_33 = l_Lean_Compiler_LCNF_eraseParams(x_31, x_8, x_9, x_10, x_11); lean_dec(x_31); x_34 = lean_unbox(x_24); @@ -20457,7 +20075,7 @@ lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; uint x_35 = lean_ctor_get(x_33, 1); lean_inc(x_35); lean_dec(x_33); -x_36 = l_Lean_Compiler_LCNF_eraseFVarsAt(x_32, x_8, x_9, x_10, x_35); +x_36 = l_Lean_Compiler_LCNF_eraseCode(x_32, x_8, x_9, x_10, x_35); x_37 = lean_ctor_get(x_36, 0); lean_inc(x_37); x_38 = lean_ctor_get(x_36, 1); @@ -20589,9 +20207,6 @@ lean_inc(x_66); x_67 = lean_ctor_get(x_14, 2); lean_inc(x_67); lean_dec(x_14); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); x_68 = l_Lean_Compiler_LCNF_eraseParams(x_66, x_8, x_9, x_10, x_11); lean_dec(x_66); x_69 = lean_unbox(x_58); @@ -20601,7 +20216,7 @@ lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; uint x_70 = lean_ctor_get(x_68, 1); lean_inc(x_70); lean_dec(x_68); -x_71 = l_Lean_Compiler_LCNF_eraseFVarsAt(x_67, x_8, x_9, x_10, x_70); +x_71 = l_Lean_Compiler_LCNF_eraseCode(x_67, x_8, x_9, x_10, x_70); x_72 = lean_ctor_get(x_71, 0); lean_inc(x_72); x_73 = lean_ctor_get(x_71, 1); @@ -20998,16 +20613,13 @@ _start: { if (lean_obj_tag(x_1) == 11) { -lean_object* x_8; lean_object* x_9; lean_object* x_10; +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; x_8 = lean_ctor_get(x_1, 1); lean_inc(x_8); x_9 = lean_ctor_get(x_1, 2); lean_inc(x_9); lean_dec(x_1); x_10 = l_Lean_Compiler_LCNF_Simp_findCtor(x_9, x_2, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_10) == 0) -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; x_11 = lean_ctor_get(x_10, 0); lean_inc(x_11); x_12 = lean_ctor_get(x_10, 1); @@ -21304,37 +20916,13 @@ return x_86; } else { -uint8_t x_87; -lean_dec(x_8); -x_87 = !lean_is_exclusive(x_10); -if (x_87 == 0) -{ -return x_10; -} -else -{ -lean_object* x_88; lean_object* x_89; lean_object* x_90; -x_88 = lean_ctor_get(x_10, 0); -x_89 = lean_ctor_get(x_10, 1); -lean_inc(x_89); -lean_inc(x_88); -lean_dec(x_10); -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 -{ -lean_object* x_91; lean_object* x_92; +lean_object* x_87; lean_object* x_88; lean_dec(x_1); -x_91 = lean_box(0); -x_92 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_92, 0, x_91); -lean_ctor_set(x_92, 1, x_7); -return x_92; +x_87 = lean_box(0); +x_88 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_88, 0, x_87); +lean_ctor_set(x_88, 1, x_7); +return x_88; } } } @@ -21368,21 +20956,21 @@ uint8_t x_8; lean_object* x_9; lean_object* x_10; x_8 = l_Lean_Expr_isApp(x_1); if (x_8 == 0) { -lean_object* x_147; -x_147 = lean_box(0); -x_9 = x_147; +lean_object* x_139; +x_139 = lean_box(0); +x_9 = x_139; x_10 = x_7; -goto block_146; +goto block_138; } else { -lean_object* x_148; -x_148 = l_Lean_Compiler_LCNF_Simp_simpAppApp_x3f___closed__1; -x_9 = x_148; +lean_object* x_140; +x_140 = l_Lean_Compiler_LCNF_Simp_simpAppApp_x3f___closed__1; +x_9 = x_140; x_10 = x_7; -goto block_146; +goto block_138; } -block_146: +block_138: { if (lean_obj_tag(x_9) == 0) { @@ -21419,12 +21007,9 @@ return x_18; } else { -uint8_t x_19; lean_object* x_20; +uint8_t x_19; lean_object* x_20; uint8_t x_21; x_19 = 1; x_20 = l_Lean_Compiler_LCNF_Simp_findExpr(x_15, x_19, x_4, x_5, x_6, x_10); -if (lean_obj_tag(x_20) == 0) -{ -uint8_t x_21; x_21 = !lean_is_exclusive(x_20); if (x_21 == 0) { @@ -21640,187 +21225,133 @@ return x_98; } } } -else -{ -uint8_t x_99; -lean_free_object(x_9); -lean_dec(x_1); -x_99 = !lean_is_exclusive(x_20); -if (x_99 == 0) -{ -return x_20; } else { -lean_object* x_100; lean_object* x_101; lean_object* x_102; -x_100 = lean_ctor_get(x_20, 0); -x_101 = lean_ctor_get(x_20, 1); -lean_inc(x_101); -lean_inc(x_100); -lean_dec(x_20); -x_102 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_102, 0, x_100); -lean_ctor_set(x_102, 1, x_101); +lean_object* x_99; uint8_t x_100; +lean_dec(x_9); +x_99 = l_Lean_Expr_getAppFn(x_1); +x_100 = l_Lean_Expr_isFVar(x_99); +if (x_100 == 0) +{ +lean_object* x_101; lean_object* x_102; +lean_dec(x_99); +lean_dec(x_1); +x_101 = lean_box(0); +x_102 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_102, 0, x_101); +lean_ctor_set(x_102, 1, x_10); return x_102; } -} -} -} else { -lean_object* x_103; uint8_t x_104; -lean_dec(x_9); -x_103 = l_Lean_Expr_getAppFn(x_1); -x_104 = l_Lean_Expr_isFVar(x_103); -if (x_104 == 0) +uint8_t x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; uint8_t x_108; +x_103 = 1; +x_104 = l_Lean_Compiler_LCNF_Simp_findExpr(x_99, x_103, x_4, x_5, x_6, x_10); +x_105 = lean_ctor_get(x_104, 0); +lean_inc(x_105); +x_106 = lean_ctor_get(x_104, 1); +lean_inc(x_106); +if (lean_is_exclusive(x_104)) { + lean_ctor_release(x_104, 0); + lean_ctor_release(x_104, 1); + x_107 = x_104; +} else { + lean_dec_ref(x_104); + x_107 = lean_box(0); +} +x_108 = l_Lean_Expr_isApp(x_105); +if (x_108 == 0) { -lean_object* x_105; lean_object* x_106; -lean_dec(x_103); +uint8_t x_109; +x_109 = l_Lean_Expr_isConst(x_105); +if (x_109 == 0) +{ +lean_object* x_110; lean_object* x_111; +lean_dec(x_105); lean_dec(x_1); -x_105 = lean_box(0); -x_106 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_106, 0, x_105); -lean_ctor_set(x_106, 1, x_10); -return x_106; +x_110 = lean_box(0); +if (lean_is_scalar(x_107)) { + x_111 = lean_alloc_ctor(0, 2, 0); +} else { + x_111 = x_107; +} +lean_ctor_set(x_111, 0, x_110); +lean_ctor_set(x_111, 1, x_106); +return x_111; } else { -uint8_t x_107; lean_object* x_108; -x_107 = 1; -x_108 = l_Lean_Compiler_LCNF_Simp_findExpr(x_103, x_107, x_4, x_5, x_6, x_10); -if (lean_obj_tag(x_108) == 0) -{ -lean_object* x_109; lean_object* x_110; lean_object* x_111; uint8_t x_112; -x_109 = lean_ctor_get(x_108, 0); -lean_inc(x_109); -x_110 = lean_ctor_get(x_108, 1); -lean_inc(x_110); -if (lean_is_exclusive(x_108)) { - lean_ctor_release(x_108, 0); - lean_ctor_release(x_108, 1); - x_111 = x_108; +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_dec(x_107); +x_112 = l_Lean_Compiler_LCNF_Simp_markSimplified___rarg(x_3, x_4, x_5, x_6, x_106); +x_113 = lean_ctor_get(x_112, 1); +lean_inc(x_113); +if (lean_is_exclusive(x_112)) { + lean_ctor_release(x_112, 0); + lean_ctor_release(x_112, 1); + x_114 = x_112; } else { - lean_dec_ref(x_108); - x_111 = lean_box(0); + lean_dec_ref(x_112); + x_114 = lean_box(0); } -x_112 = l_Lean_Expr_isApp(x_109); -if (x_112 == 0) -{ -uint8_t x_113; -x_113 = l_Lean_Expr_isConst(x_109); -if (x_113 == 0) -{ -lean_object* x_114; lean_object* x_115; -lean_dec(x_109); -lean_dec(x_1); -x_114 = lean_box(0); -if (lean_is_scalar(x_111)) { - x_115 = lean_alloc_ctor(0, 2, 0); +x_115 = lean_unsigned_to_nat(0u); +x_116 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_1, x_115); +x_117 = l_Lean_Compiler_LCNF_Simp_inlineCandidate_x3f___lambda__1___closed__1; +lean_inc(x_116); +x_118 = lean_mk_array(x_116, x_117); +x_119 = lean_unsigned_to_nat(1u); +x_120 = lean_nat_sub(x_116, x_119); +lean_dec(x_116); +x_121 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_118, x_120); +x_122 = l_Lean_mkAppN(x_105, x_121); +x_123 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_123, 0, x_122); +if (lean_is_scalar(x_114)) { + x_124 = lean_alloc_ctor(0, 2, 0); } else { - x_115 = x_111; + x_124 = x_114; } -lean_ctor_set(x_115, 0, x_114); -lean_ctor_set(x_115, 1, x_110); -return x_115; -} -else -{ -lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; 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_dec(x_111); -x_116 = l_Lean_Compiler_LCNF_Simp_markSimplified___rarg(x_3, x_4, x_5, x_6, x_110); -x_117 = lean_ctor_get(x_116, 1); -lean_inc(x_117); -if (lean_is_exclusive(x_116)) { - lean_ctor_release(x_116, 0); - lean_ctor_release(x_116, 1); - x_118 = x_116; -} else { - lean_dec_ref(x_116); - x_118 = lean_box(0); -} -x_119 = lean_unsigned_to_nat(0u); -x_120 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_1, x_119); -x_121 = l_Lean_Compiler_LCNF_Simp_inlineCandidate_x3f___lambda__1___closed__1; -lean_inc(x_120); -x_122 = lean_mk_array(x_120, x_121); -x_123 = lean_unsigned_to_nat(1u); -x_124 = lean_nat_sub(x_120, x_123); -lean_dec(x_120); -x_125 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_122, x_124); -x_126 = l_Lean_mkAppN(x_109, x_125); -x_127 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_127, 0, x_126); -if (lean_is_scalar(x_118)) { - x_128 = lean_alloc_ctor(0, 2, 0); -} else { - x_128 = x_118; -} -lean_ctor_set(x_128, 0, x_127); -lean_ctor_set(x_128, 1, x_117); -return x_128; +lean_ctor_set(x_124, 0, x_123); +lean_ctor_set(x_124, 1, x_113); +return x_124; } } else { -lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; -lean_dec(x_111); -x_129 = l_Lean_Compiler_LCNF_Simp_markSimplified___rarg(x_3, x_4, x_5, x_6, x_110); -x_130 = lean_ctor_get(x_129, 1); -lean_inc(x_130); -if (lean_is_exclusive(x_129)) { - lean_ctor_release(x_129, 0); - lean_ctor_release(x_129, 1); - x_131 = x_129; +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_dec(x_107); +x_125 = l_Lean_Compiler_LCNF_Simp_markSimplified___rarg(x_3, x_4, x_5, x_6, x_106); +x_126 = lean_ctor_get(x_125, 1); +lean_inc(x_126); +if (lean_is_exclusive(x_125)) { + lean_ctor_release(x_125, 0); + lean_ctor_release(x_125, 1); + x_127 = x_125; } else { - lean_dec_ref(x_129); - x_131 = lean_box(0); + lean_dec_ref(x_125); + x_127 = lean_box(0); } -x_132 = lean_unsigned_to_nat(0u); -x_133 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_1, x_132); -x_134 = l_Lean_Compiler_LCNF_Simp_inlineCandidate_x3f___lambda__1___closed__1; -lean_inc(x_133); -x_135 = lean_mk_array(x_133, x_134); -x_136 = lean_unsigned_to_nat(1u); -x_137 = lean_nat_sub(x_133, x_136); -lean_dec(x_133); -x_138 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_135, x_137); -x_139 = l_Lean_mkAppN(x_109, x_138); -x_140 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_140, 0, x_139); -if (lean_is_scalar(x_131)) { - x_141 = lean_alloc_ctor(0, 2, 0); +x_128 = lean_unsigned_to_nat(0u); +x_129 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_1, x_128); +x_130 = l_Lean_Compiler_LCNF_Simp_inlineCandidate_x3f___lambda__1___closed__1; +lean_inc(x_129); +x_131 = lean_mk_array(x_129, x_130); +x_132 = lean_unsigned_to_nat(1u); +x_133 = lean_nat_sub(x_129, x_132); +lean_dec(x_129); +x_134 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_131, x_133); +x_135 = l_Lean_mkAppN(x_105, x_134); +x_136 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_136, 0, x_135); +if (lean_is_scalar(x_127)) { + x_137 = lean_alloc_ctor(0, 2, 0); } else { - x_141 = x_131; + x_137 = x_127; } -lean_ctor_set(x_141, 0, x_140); -lean_ctor_set(x_141, 1, x_130); -return x_141; -} -} -else -{ -lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; -lean_dec(x_1); -x_142 = lean_ctor_get(x_108, 0); -lean_inc(x_142); -x_143 = lean_ctor_get(x_108, 1); -lean_inc(x_143); -if (lean_is_exclusive(x_108)) { - lean_ctor_release(x_108, 0); - lean_ctor_release(x_108, 1); - x_144 = x_108; -} else { - lean_dec_ref(x_108); - 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; +lean_ctor_set(x_137, 0, x_136); +lean_ctor_set(x_137, 1, x_126); +return x_137; } } } @@ -22121,25 +21652,19 @@ return x_8; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_simpValue_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -lean_object* x_8; +lean_object* x_8; lean_object* x_9; lean_inc(x_1); x_8 = l_Lean_Compiler_LCNF_Simp_simpProj_x3f(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; x_9 = lean_ctor_get(x_8, 0); lean_inc(x_9); if (lean_obj_tag(x_9) == 0) { -lean_object* x_10; lean_object* x_11; +lean_object* x_10; lean_object* x_11; lean_object* x_12; x_10 = lean_ctor_get(x_8, 1); lean_inc(x_10); lean_dec(x_8); lean_inc(x_1); x_11 = l_Lean_Compiler_LCNF_Simp_simpAppApp_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_10); -if (lean_obj_tag(x_11) == 0) -{ -lean_object* x_12; x_12 = lean_ctor_get(x_11, 0); lean_inc(x_12); if (lean_obj_tag(x_12) == 0) @@ -22210,102 +21735,54 @@ else { uint8_t x_25; lean_dec(x_1); -x_25 = !lean_is_exclusive(x_11); +x_25 = !lean_is_exclusive(x_8); if (x_25 == 0) { -return x_11; -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_11, 0); -x_27 = lean_ctor_get(x_11, 1); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_11); -x_28 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -return x_28; -} -} -} -else -{ -uint8_t x_29; -lean_dec(x_1); -x_29 = !lean_is_exclusive(x_8); -if (x_29 == 0) -{ -lean_object* x_30; uint8_t x_31; -x_30 = lean_ctor_get(x_8, 0); -lean_dec(x_30); -x_31 = !lean_is_exclusive(x_9); -if (x_31 == 0) +lean_object* x_26; uint8_t x_27; +x_26 = lean_ctor_get(x_8, 0); +lean_dec(x_26); +x_27 = !lean_is_exclusive(x_9); +if (x_27 == 0) { return x_8; } else { -lean_object* x_32; lean_object* x_33; -x_32 = lean_ctor_get(x_9, 0); -lean_inc(x_32); +lean_object* x_28; lean_object* x_29; +x_28 = lean_ctor_get(x_9, 0); +lean_inc(x_28); lean_dec(x_9); -x_33 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_33, 0, x_32); -lean_ctor_set(x_8, 0, x_33); +x_29 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_29, 0, x_28); +lean_ctor_set(x_8, 0, x_29); return x_8; } } else { -lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_34 = lean_ctor_get(x_8, 1); -lean_inc(x_34); +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_30 = lean_ctor_get(x_8, 1); +lean_inc(x_30); lean_dec(x_8); -x_35 = lean_ctor_get(x_9, 0); -lean_inc(x_35); +x_31 = lean_ctor_get(x_9, 0); +lean_inc(x_31); if (lean_is_exclusive(x_9)) { lean_ctor_release(x_9, 0); - x_36 = x_9; + x_32 = x_9; } else { lean_dec_ref(x_9); - x_36 = lean_box(0); + x_32 = lean_box(0); } -if (lean_is_scalar(x_36)) { - x_37 = lean_alloc_ctor(1, 1, 0); +if (lean_is_scalar(x_32)) { + x_33 = lean_alloc_ctor(1, 1, 0); } else { - x_37 = x_36; + x_33 = x_32; } -lean_ctor_set(x_37, 0, x_35); -x_38 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_38, 0, x_37); -lean_ctor_set(x_38, 1, x_34); -return x_38; -} -} -} -else -{ -uint8_t x_39; -lean_dec(x_1); -x_39 = !lean_is_exclusive(x_8); -if (x_39 == 0) -{ -return x_8; -} -else -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_40 = lean_ctor_get(x_8, 0); -x_41 = lean_ctor_get(x_8, 1); -lean_inc(x_41); -lean_inc(x_40); -lean_dec(x_8); -x_42 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_42, 0, x_40); -lean_ctor_set(x_42, 1, x_41); -return x_42; +lean_ctor_set(x_33, 0, x_31); +x_34 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_34, 0, x_33); +lean_ctor_set(x_34, 1, x_30); +return x_34; } } } @@ -22323,12 +21800,38 @@ lean_dec(x_2); return x_8; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_eraseLocalDecl(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_eraseLetDecl(lean_object* x_1, 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; +x_8 = l_Lean_Compiler_LCNF_eraseLetDecl(x_1, x_4, x_5, x_6, x_7); +x_9 = lean_ctor_get(x_8, 1); +lean_inc(x_9); +lean_dec(x_8); +x_10 = l_Lean_Compiler_LCNF_Simp_markSimplified___rarg(x_3, x_4, x_5, x_6, x_9); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_eraseLetDecl___boxed(lean_object* x_1, 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_Compiler_LCNF_Simp_eraseLetDecl(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_8; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_eraseFunDecl(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { uint8_t x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; x_8 = 1; -x_9 = l_Lean_Compiler_LCNF_eraseFVar(x_1, x_8, x_4, x_5, x_6, x_7); +x_9 = l_Lean_Compiler_LCNF_eraseFunDecl(x_1, x_8, x_4, x_5, x_6, x_7); x_10 = lean_ctor_get(x_9, 1); lean_inc(x_10); lean_dec(x_9); @@ -22336,11 +21839,11 @@ x_11 = l_Lean_Compiler_LCNF_Simp_markSimplified___rarg(x_3, x_4, x_5, x_6, x_10) return x_11; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_eraseLocalDecl___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_eraseFunDecl___boxed(lean_object* x_1, 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_Compiler_LCNF_Simp_eraseLocalDecl(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Lean_Compiler_LCNF_Simp_eraseFunDecl(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); @@ -22767,19 +22270,18 @@ lean_inc(x_66); lean_dec(x_64); x_67 = lean_ctor_get(x_1, 0); lean_inc(x_67); -lean_dec(x_1); x_68 = lean_ctor_get(x_65, 0); lean_inc(x_68); x_69 = l_Lean_Expr_fvar___override(x_68); -lean_inc(x_67); x_70 = l_Lean_Compiler_LCNF_Simp_addSubst(x_67, x_69, x_2, x_3, x_4, x_5, x_6, x_66); x_71 = lean_ctor_get(x_70, 1); lean_inc(x_71); lean_dec(x_70); -x_72 = l_Lean_Compiler_LCNF_Simp_eraseLocalDecl(x_67, x_2, x_3, x_4, x_5, x_6, x_71); +x_72 = l_Lean_Compiler_LCNF_Simp_eraseLetDecl(x_1, x_2, x_3, x_4, x_5, x_6, x_71); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); +lean_dec(x_1); x_73 = !lean_is_exclusive(x_72); if (x_73 == 0) { @@ -22940,19 +22442,18 @@ lean_inc(x_110); lean_dec(x_108); x_111 = lean_ctor_get(x_1, 0); lean_inc(x_111); -lean_dec(x_1); x_112 = lean_ctor_get(x_109, 0); lean_inc(x_112); x_113 = l_Lean_Expr_fvar___override(x_112); -lean_inc(x_111); x_114 = l_Lean_Compiler_LCNF_Simp_addSubst(x_111, x_113, x_2, x_3, x_4, x_5, x_6, x_110); x_115 = lean_ctor_get(x_114, 1); lean_inc(x_115); lean_dec(x_114); -x_116 = l_Lean_Compiler_LCNF_Simp_eraseLocalDecl(x_111, x_2, x_3, x_4, x_5, x_6, x_115); +x_116 = l_Lean_Compiler_LCNF_Simp_eraseLetDecl(x_1, x_2, x_3, x_4, x_5, x_6, x_115); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); +lean_dec(x_1); x_117 = lean_ctor_get(x_116, 1); lean_inc(x_117); if (lean_is_exclusive(x_116)) { @@ -23125,19 +22626,18 @@ lean_inc(x_157); lean_dec(x_155); x_158 = lean_ctor_get(x_1, 0); lean_inc(x_158); -lean_dec(x_1); x_159 = lean_ctor_get(x_156, 0); lean_inc(x_159); x_160 = l_Lean_Expr_fvar___override(x_159); -lean_inc(x_158); x_161 = l_Lean_Compiler_LCNF_Simp_addSubst(x_158, x_160, x_2, x_3, x_4, x_5, x_6, x_157); x_162 = lean_ctor_get(x_161, 1); lean_inc(x_162); lean_dec(x_161); -x_163 = l_Lean_Compiler_LCNF_Simp_eraseLocalDecl(x_158, x_2, x_3, x_4, x_5, x_6, x_162); +x_163 = l_Lean_Compiler_LCNF_Simp_eraseLetDecl(x_1, x_2, x_3, x_4, x_5, x_6, x_162); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); +lean_dec(x_1); x_164 = lean_ctor_get(x_163, 1); lean_inc(x_164); if (lean_is_exclusive(x_163)) { @@ -23472,19 +22972,18 @@ lean_inc(x_232); lean_dec(x_230); x_233 = lean_ctor_get(x_1, 0); lean_inc(x_233); -lean_dec(x_1); x_234 = lean_ctor_get(x_231, 0); lean_inc(x_234); x_235 = l_Lean_Expr_fvar___override(x_234); -lean_inc(x_233); x_236 = l_Lean_Compiler_LCNF_Simp_addSubst(x_233, x_235, x_2, x_3, x_4, x_5, x_6, x_232); x_237 = lean_ctor_get(x_236, 1); lean_inc(x_237); lean_dec(x_236); -x_238 = l_Lean_Compiler_LCNF_Simp_eraseLocalDecl(x_233, x_2, x_3, x_4, x_5, x_6, x_237); +x_238 = l_Lean_Compiler_LCNF_Simp_eraseLetDecl(x_1, x_2, x_3, x_4, x_5, x_6, x_237); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); +lean_dec(x_1); x_239 = lean_ctor_get(x_238, 1); lean_inc(x_239); if (lean_is_exclusive(x_238)) { @@ -24426,8 +23925,8 @@ lean_inc(x_25); lean_dec(x_23); x_26 = lean_ctor_get(x_4, 0); lean_inc(x_26); -lean_inc(x_26); x_27 = l_Lean_Compiler_LCNF_Simp_isUsed(x_26, x_6, x_7, x_8, x_9, x_10, x_25); +lean_dec(x_26); x_28 = lean_ctor_get(x_27, 0); lean_inc(x_28); x_29 = lean_unbox(x_28); @@ -24435,19 +23934,19 @@ lean_dec(x_28); if (x_29 == 0) { lean_object* x_30; lean_object* x_31; uint8_t x_32; -lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); x_30 = lean_ctor_get(x_27, 1); lean_inc(x_30); lean_dec(x_27); -x_31 = l_Lean_Compiler_LCNF_Simp_eraseLocalDecl(x_26, x_6, x_7, x_8, x_9, x_10, x_30); +x_31 = l_Lean_Compiler_LCNF_Simp_eraseLetDecl(x_4, x_6, x_7, x_8, x_9, x_10, x_30); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); +lean_dec(x_4); x_32 = !lean_is_exclusive(x_31); if (x_32 == 0) { @@ -24472,7 +23971,6 @@ return x_35; else { lean_object* x_36; lean_object* x_37; uint8_t x_38; -lean_dec(x_26); x_36 = lean_ctor_get(x_27, 1); lean_inc(x_36); lean_dec(x_27); @@ -24636,14 +24134,13 @@ lean_inc(x_67); lean_dec(x_64); x_68 = lean_ctor_get(x_4, 0); lean_inc(x_68); -lean_dec(x_4); x_69 = l_Lean_Expr_fvar___override(x_67); -lean_inc(x_68); x_70 = l_Lean_Compiler_LCNF_Simp_addSubst(x_68, x_69, x_6, x_7, x_8, x_9, x_10, x_65); x_71 = lean_ctor_get(x_70, 1); lean_inc(x_71); lean_dec(x_70); -x_72 = l_Lean_Compiler_LCNF_Simp_eraseLocalDecl(x_68, x_6, x_7, x_8, x_9, x_10, x_71); +x_72 = l_Lean_Compiler_LCNF_Simp_eraseLetDecl(x_4, x_6, x_7, x_8, x_9, x_10, x_71); +lean_dec(x_4); x_73 = lean_ctor_get(x_72, 1); lean_inc(x_73); lean_dec(x_72); @@ -24729,7 +24226,7 @@ return x_85; } else { -lean_object* x_86; lean_object* x_87; lean_object* x_88; uint8_t x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; +lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_dec(x_15); lean_dec(x_3); lean_dec(x_2); @@ -24740,21 +24237,18 @@ lean_dec(x_17); x_87 = lean_ctor_get(x_18, 0); lean_inc(x_87); lean_dec(x_18); -x_88 = lean_ctor_get(x_4, 0); -lean_inc(x_88); +x_88 = l_Lean_Compiler_LCNF_Simp_eraseLetDecl(x_4, x_6, x_7, x_8, x_9, x_10, x_86); lean_dec(x_4); -x_89 = 1; -x_90 = l_Lean_Compiler_LCNF_eraseFVar(x_88, x_89, x_8, x_9, x_10, x_86); -x_91 = lean_ctor_get(x_90, 1); -lean_inc(x_91); -lean_dec(x_90); -x_92 = l_Lean_Compiler_LCNF_Simp_simp(x_87, x_6, x_7, x_8, x_9, x_10, x_91); -return x_92; +x_89 = lean_ctor_get(x_88, 1); +lean_inc(x_89); +lean_dec(x_88); +x_90 = l_Lean_Compiler_LCNF_Simp_simp(x_87, x_6, x_7, x_8, x_9, x_10, x_89); +return x_90; } } else { -uint8_t x_93; +uint8_t x_91; lean_dec(x_15); lean_dec(x_10); lean_dec(x_9); @@ -24765,69 +24259,68 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_93 = !lean_is_exclusive(x_17); -if (x_93 == 0) +x_91 = !lean_is_exclusive(x_17); +if (x_91 == 0) { return x_17; } else { -lean_object* x_94; lean_object* x_95; lean_object* x_96; -x_94 = lean_ctor_get(x_17, 0); -x_95 = lean_ctor_get(x_17, 1); -lean_inc(x_95); -lean_inc(x_94); +lean_object* x_92; lean_object* x_93; lean_object* x_94; +x_92 = lean_ctor_get(x_17, 0); +x_93 = lean_ctor_get(x_17, 1); +lean_inc(x_93); +lean_inc(x_92); lean_dec(x_17); -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; +x_94 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_94, 0, x_92); +lean_ctor_set(x_94, 1, x_93); +return x_94; } } } else { -lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; +lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_dec(x_3); lean_dec(x_2); -x_97 = lean_ctor_get(x_4, 0); +x_95 = lean_ctor_get(x_4, 0); +lean_inc(x_95); +x_96 = l_Lean_Compiler_LCNF_Simp_addSubst(x_95, x_15, x_6, x_7, x_8, x_9, x_10, x_14); +x_97 = lean_ctor_get(x_96, 1); lean_inc(x_97); +lean_dec(x_96); +x_98 = l_Lean_Compiler_LCNF_Simp_eraseLetDecl(x_4, x_6, x_7, x_8, x_9, x_10, x_97); lean_dec(x_4); -lean_inc(x_97); -x_98 = l_Lean_Compiler_LCNF_Simp_addSubst(x_97, x_15, x_6, x_7, x_8, x_9, x_10, x_14); x_99 = lean_ctor_get(x_98, 1); lean_inc(x_99); lean_dec(x_98); -x_100 = l_Lean_Compiler_LCNF_Simp_eraseLocalDecl(x_97, x_6, x_7, x_8, x_9, x_10, x_99); -x_101 = lean_ctor_get(x_100, 1); -lean_inc(x_101); -lean_dec(x_100); -x_102 = l_Lean_Compiler_LCNF_Simp_simp(x_1, x_6, x_7, x_8, x_9, x_10, x_101); -return x_102; +x_100 = l_Lean_Compiler_LCNF_Simp_simp(x_1, x_6, x_7, x_8, x_9, x_10, x_99); +return x_100; } } else { -lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; +lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_103 = lean_ctor_get(x_12, 1); -lean_inc(x_103); +x_101 = lean_ctor_get(x_12, 1); +lean_inc(x_101); lean_dec(x_12); -x_104 = lean_ctor_get(x_13, 0); -lean_inc(x_104); +x_102 = lean_ctor_get(x_13, 0); +lean_inc(x_102); lean_dec(x_13); -x_105 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_105, 0, x_104); -lean_ctor_set(x_105, 1, x_1); -x_106 = l_Lean_Compiler_LCNF_Simp_simp(x_105, x_6, x_7, x_8, x_9, x_10, x_103); -return x_106; +x_103 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_103, 0, x_102); +lean_ctor_set(x_103, 1, x_1); +x_104 = l_Lean_Compiler_LCNF_Simp_simp(x_103, x_6, x_7, x_8, x_9, x_10, x_101); +return x_104; } } else { -uint8_t x_107; +uint8_t x_105; lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -24837,23 +24330,23 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_107 = !lean_is_exclusive(x_12); -if (x_107 == 0) +x_105 = !lean_is_exclusive(x_12); +if (x_105 == 0) { return x_12; } else { -lean_object* x_108; lean_object* x_109; lean_object* x_110; -x_108 = lean_ctor_get(x_12, 0); -x_109 = lean_ctor_get(x_12, 1); -lean_inc(x_109); -lean_inc(x_108); +lean_object* x_106; lean_object* x_107; lean_object* x_108; +x_106 = lean_ctor_get(x_12, 0); +x_107 = lean_ctor_get(x_12, 1); +lean_inc(x_107); +lean_inc(x_106); lean_dec(x_12); -x_110 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_110, 0, x_108); -lean_ctor_set(x_110, 1, x_109); -return x_110; +x_108 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_108, 0, x_106); +lean_ctor_set(x_108, 1, x_107); +return x_108; } } } @@ -24930,8 +24423,8 @@ lean_inc(x_15); lean_dec(x_13); x_16 = lean_ctor_get(x_5, 0); lean_inc(x_16); -lean_inc(x_16); x_17 = l_Lean_Compiler_LCNF_Simp_isUsed(x_16, x_7, x_8, x_9, x_10, x_11, x_15); +lean_dec(x_16); x_18 = lean_ctor_get(x_17, 0); lean_inc(x_18); x_19 = lean_unbox(x_18); @@ -24939,14 +24432,13 @@ lean_dec(x_18); if (x_19 == 0) { lean_object* x_20; lean_object* x_21; uint8_t x_22; -lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); x_20 = lean_ctor_get(x_17, 1); lean_inc(x_20); lean_dec(x_17); -x_21 = l_Lean_Compiler_LCNF_Simp_eraseLocalDecl(x_16, x_7, x_8, x_9, x_10, x_11, x_20); +x_21 = l_Lean_Compiler_LCNF_Simp_eraseFunDecl(x_5, x_7, x_8, x_9, x_10, x_11, x_20); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -24975,7 +24467,6 @@ return x_25; } else { -lean_dec(x_16); if (x_4 == 0) { lean_object* x_26; lean_object* x_27; lean_object* x_28; @@ -25181,8 +24672,8 @@ lean_inc(x_15); lean_dec(x_13); x_16 = lean_ctor_get(x_5, 0); lean_inc(x_16); -lean_inc(x_16); x_17 = l_Lean_Compiler_LCNF_Simp_isUsed(x_16, x_7, x_8, x_9, x_10, x_11, x_15); +lean_dec(x_16); x_18 = lean_ctor_get(x_17, 0); lean_inc(x_18); x_19 = lean_unbox(x_18); @@ -25190,14 +24681,13 @@ lean_dec(x_18); if (x_19 == 0) { lean_object* x_20; lean_object* x_21; uint8_t x_22; -lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); x_20 = lean_ctor_get(x_17, 1); lean_inc(x_20); lean_dec(x_17); -x_21 = l_Lean_Compiler_LCNF_Simp_eraseLocalDecl(x_16, x_7, x_8, x_9, x_10, x_11, x_20); +x_21 = l_Lean_Compiler_LCNF_Simp_eraseFunDecl(x_5, x_7, x_8, x_9, x_10, x_11, x_20); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -25226,7 +24716,6 @@ return x_25; } else { -lean_dec(x_16); if (x_4 == 0) { lean_object* x_26; lean_object* x_27; lean_object* x_28; @@ -25852,7 +25341,7 @@ x_34 = l_Lean_Compiler_LCNF_Simp_incVisited___rarg(x_3, x_4, x_5, x_6, x_7); switch (lean_obj_tag(x_1)) { case 0: { -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; +lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; x_35 = lean_ctor_get(x_34, 1); lean_inc(x_35); lean_dec(x_34); @@ -25870,9 +25359,6 @@ lean_dec(x_38); x_41 = lean_ctor_get(x_39, 3); lean_inc(x_41); x_42 = l_Lean_Compiler_LCNF_Simp_simpValue_x3f(x_41, x_2, x_3, x_4, x_5, x_6, x_40); -if (lean_obj_tag(x_42) == 0) -{ -lean_object* x_43; x_43 = lean_ctor_get(x_42, 0); lean_inc(x_43); if (lean_obj_tag(x_43) == 0) @@ -25905,791 +25391,775 @@ x_53 = l_Lean_Compiler_LCNF_Simp_simp___lambda__1(x_37, x_36, x_1, x_50, x_52, x return x_53; } } -else -{ -uint8_t x_54; -lean_dec(x_39); -lean_dec(x_37); -lean_dec(x_36); -lean_dec(x_5); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_54 = !lean_is_exclusive(x_42); -if (x_54 == 0) -{ -return x_42; -} -else -{ -lean_object* x_55; lean_object* x_56; lean_object* x_57; -x_55 = lean_ctor_get(x_42, 0); -x_56 = lean_ctor_get(x_42, 1); -lean_inc(x_56); -lean_inc(x_55); -lean_dec(x_42); -x_57 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_57, 0, x_55); -lean_ctor_set(x_57, 1, x_56); -return x_57; -} -} -} case 1: { -lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64; -x_58 = lean_ctor_get(x_34, 1); -lean_inc(x_58); +lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60; +x_54 = lean_ctor_get(x_34, 1); +lean_inc(x_54); lean_dec(x_34); -x_59 = lean_ctor_get(x_1, 0); +x_55 = lean_ctor_get(x_1, 0); +lean_inc(x_55); +x_56 = lean_ctor_get(x_1, 1); +lean_inc(x_56); +x_57 = lean_ctor_get(x_55, 0); +lean_inc(x_57); +x_58 = l_Lean_Compiler_LCNF_Simp_isOnceOrMustInline(x_57, x_2, x_3, x_4, x_5, x_6, x_54); +x_59 = lean_ctor_get(x_58, 0); lean_inc(x_59); -x_60 = lean_ctor_get(x_1, 1); -lean_inc(x_60); -x_61 = lean_ctor_get(x_59, 0); +x_60 = lean_unbox(x_59); +if (x_60 == 0) +{ +lean_object* x_61; lean_object* x_62; uint8_t x_63; +x_61 = lean_ctor_get(x_58, 1); lean_inc(x_61); -x_62 = l_Lean_Compiler_LCNF_Simp_isOnceOrMustInline(x_61, x_2, x_3, x_4, x_5, x_6, x_58); -x_63 = lean_ctor_get(x_62, 0); -lean_inc(x_63); -x_64 = lean_unbox(x_63); -if (x_64 == 0) -{ -lean_object* x_65; lean_object* x_66; uint8_t x_67; -x_65 = lean_ctor_get(x_62, 1); -lean_inc(x_65); -lean_dec(x_62); +lean_dec(x_58); lean_inc(x_1); -lean_inc(x_59); -x_66 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_simp___lambda__3___boxed), 12, 4); -lean_closure_set(x_66, 0, x_60); -lean_closure_set(x_66, 1, x_59); -lean_closure_set(x_66, 2, x_1); -lean_closure_set(x_66, 3, x_63); -x_67 = l_Lean_Compiler_LCNF_Code_isFun(x_1); +lean_inc(x_55); +x_62 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_simp___lambda__3___boxed), 12, 4); +lean_closure_set(x_62, 0, x_56); +lean_closure_set(x_62, 1, x_55); +lean_closure_set(x_62, 2, x_1); +lean_closure_set(x_62, 3, x_59); +x_63 = l_Lean_Compiler_LCNF_Code_isFun(x_1); lean_dec(x_1); -if (x_67 == 0) +if (x_63 == 0) { -lean_object* x_68; lean_object* x_69; -x_68 = lean_box(0); -x_69 = l_Lean_Compiler_LCNF_Simp_simp___lambda__4(x_66, x_59, x_68, x_2, x_3, x_4, x_5, x_6, x_65); -return x_69; +lean_object* x_64; lean_object* x_65; +x_64 = lean_box(0); +x_65 = l_Lean_Compiler_LCNF_Simp_simp___lambda__4(x_62, x_55, x_64, x_2, x_3, x_4, x_5, x_6, x_61); +return x_65; } else { -lean_object* x_70; +lean_object* x_66; lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_70 = l_Lean_Compiler_LCNF_FunDeclCore_etaExpand(x_59, x_4, x_5, x_6, x_65); -if (lean_obj_tag(x_70) == 0) +x_66 = l_Lean_Compiler_LCNF_FunDeclCore_etaExpand(x_55, x_4, x_5, x_6, x_61); +if (lean_obj_tag(x_66) == 0) { -lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; -x_71 = lean_ctor_get(x_70, 0); -lean_inc(x_71); -x_72 = lean_ctor_get(x_70, 1); -lean_inc(x_72); -lean_dec(x_70); -x_73 = lean_box(0); -x_74 = l_Lean_Compiler_LCNF_Simp_simp___lambda__4(x_66, x_71, x_73, x_2, x_3, x_4, x_5, x_6, x_72); -return x_74; -} -else -{ -uint8_t x_75; +lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; +x_67 = lean_ctor_get(x_66, 0); +lean_inc(x_67); +x_68 = lean_ctor_get(x_66, 1); +lean_inc(x_68); lean_dec(x_66); -lean_dec(x_5); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_75 = !lean_is_exclusive(x_70); -if (x_75 == 0) -{ +x_69 = lean_box(0); +x_70 = l_Lean_Compiler_LCNF_Simp_simp___lambda__4(x_62, x_67, x_69, x_2, x_3, x_4, x_5, x_6, x_68); return x_70; } else { -lean_object* x_76; lean_object* x_77; lean_object* x_78; -x_76 = lean_ctor_get(x_70, 0); -x_77 = lean_ctor_get(x_70, 1); -lean_inc(x_77); -lean_inc(x_76); -lean_dec(x_70); -x_78 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_78, 0, x_76); -lean_ctor_set(x_78, 1, x_77); -return x_78; +uint8_t x_71; +lean_dec(x_62); +lean_dec(x_5); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_71 = !lean_is_exclusive(x_66); +if (x_71 == 0) +{ +return x_66; +} +else +{ +lean_object* x_72; lean_object* x_73; lean_object* x_74; +x_72 = lean_ctor_get(x_66, 0); +x_73 = lean_ctor_get(x_66, 1); +lean_inc(x_73); +lean_inc(x_72); +lean_dec(x_66); +x_74 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_74, 0, x_72); +lean_ctor_set(x_74, 1, x_73); +return x_74; } } } } else { -lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; -x_79 = lean_ctor_get(x_62, 1); +lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; +x_75 = lean_ctor_get(x_58, 1); +lean_inc(x_75); +lean_dec(x_58); +x_76 = lean_st_ref_get(x_6, x_75); +x_77 = lean_ctor_get(x_76, 1); +lean_inc(x_77); +lean_dec(x_76); +x_78 = lean_st_ref_get(x_3, x_77); +x_79 = lean_ctor_get(x_78, 0); lean_inc(x_79); -lean_dec(x_62); -x_80 = lean_st_ref_get(x_6, x_79); -x_81 = lean_ctor_get(x_80, 1); +x_80 = lean_ctor_get(x_78, 1); +lean_inc(x_80); +lean_dec(x_78); +x_81 = lean_ctor_get(x_79, 0); lean_inc(x_81); -lean_dec(x_80); -x_82 = lean_st_ref_get(x_3, x_81); +lean_dec(x_79); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_55); +x_82 = l_Lean_Compiler_LCNF_normFunDeclImp(x_55, x_81, x_4, x_5, x_6, x_80); +if (lean_obj_tag(x_82) == 0) +{ +lean_object* x_83; lean_object* x_84; lean_object* x_85; uint8_t x_86; lean_object* x_87; x_83 = lean_ctor_get(x_82, 0); lean_inc(x_83); x_84 = lean_ctor_get(x_82, 1); lean_inc(x_84); lean_dec(x_82); -x_85 = lean_ctor_get(x_83, 0); -lean_inc(x_85); -lean_dec(x_83); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_59); -x_86 = l_Lean_Compiler_LCNF_normFunDeclImp(x_59, x_85, x_4, x_5, x_6, x_84); -if (lean_obj_tag(x_86) == 0) -{ -lean_object* x_87; lean_object* x_88; lean_object* x_89; uint8_t x_90; lean_object* x_91; -x_87 = lean_ctor_get(x_86, 0); -lean_inc(x_87); -x_88 = lean_ctor_get(x_86, 1); -lean_inc(x_88); -lean_dec(x_86); -x_89 = lean_box(0); -x_90 = lean_unbox(x_63); -lean_dec(x_63); -x_91 = l_Lean_Compiler_LCNF_Simp_simp___lambda__3(x_60, x_59, x_1, x_90, x_87, x_89, x_2, x_3, x_4, x_5, x_6, x_88); -return x_91; +x_85 = lean_box(0); +x_86 = lean_unbox(x_59); +lean_dec(x_59); +x_87 = l_Lean_Compiler_LCNF_Simp_simp___lambda__3(x_56, x_55, x_1, x_86, x_83, x_85, x_2, x_3, x_4, x_5, x_6, x_84); +return x_87; } else { -uint8_t x_92; -lean_dec(x_63); -lean_dec(x_60); +uint8_t x_88; lean_dec(x_59); +lean_dec(x_56); +lean_dec(x_55); lean_dec(x_5); lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_92 = !lean_is_exclusive(x_86); -if (x_92 == 0) +x_88 = !lean_is_exclusive(x_82); +if (x_88 == 0) { -return x_86; +return x_82; } else { -lean_object* x_93; lean_object* x_94; lean_object* x_95; -x_93 = lean_ctor_get(x_86, 0); -x_94 = lean_ctor_get(x_86, 1); -lean_inc(x_94); -lean_inc(x_93); -lean_dec(x_86); -x_95 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_95, 0, x_93); -lean_ctor_set(x_95, 1, x_94); -return x_95; +lean_object* x_89; lean_object* x_90; lean_object* x_91; +x_89 = lean_ctor_get(x_82, 0); +x_90 = lean_ctor_get(x_82, 1); +lean_inc(x_90); +lean_inc(x_89); +lean_dec(x_82); +x_91 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_91, 0, x_89); +lean_ctor_set(x_91, 1, x_90); +return x_91; } } } } case 2: { -lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; uint8_t x_102; -x_96 = lean_ctor_get(x_34, 1); -lean_inc(x_96); +lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98; +x_92 = lean_ctor_get(x_34, 1); +lean_inc(x_92); lean_dec(x_34); -x_97 = lean_ctor_get(x_1, 0); +x_93 = lean_ctor_get(x_1, 0); +lean_inc(x_93); +x_94 = lean_ctor_get(x_1, 1); +lean_inc(x_94); +x_95 = lean_ctor_get(x_93, 0); +lean_inc(x_95); +x_96 = l_Lean_Compiler_LCNF_Simp_isOnceOrMustInline(x_95, x_2, x_3, x_4, x_5, x_6, x_92); +x_97 = lean_ctor_get(x_96, 0); lean_inc(x_97); -x_98 = lean_ctor_get(x_1, 1); -lean_inc(x_98); -x_99 = lean_ctor_get(x_97, 0); +x_98 = lean_unbox(x_97); +if (x_98 == 0) +{ +lean_object* x_99; lean_object* x_100; uint8_t x_101; +x_99 = lean_ctor_get(x_96, 1); lean_inc(x_99); -x_100 = l_Lean_Compiler_LCNF_Simp_isOnceOrMustInline(x_99, x_2, x_3, x_4, x_5, x_6, x_96); -x_101 = lean_ctor_get(x_100, 0); -lean_inc(x_101); -x_102 = lean_unbox(x_101); -if (x_102 == 0) -{ -lean_object* x_103; lean_object* x_104; uint8_t x_105; -x_103 = lean_ctor_get(x_100, 1); -lean_inc(x_103); -lean_dec(x_100); +lean_dec(x_96); lean_inc(x_1); -lean_inc(x_97); -x_104 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_simp___lambda__6___boxed), 12, 4); -lean_closure_set(x_104, 0, x_98); -lean_closure_set(x_104, 1, x_97); -lean_closure_set(x_104, 2, x_1); -lean_closure_set(x_104, 3, x_101); -x_105 = l_Lean_Compiler_LCNF_Code_isFun(x_1); +lean_inc(x_93); +x_100 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_simp___lambda__6___boxed), 12, 4); +lean_closure_set(x_100, 0, x_94); +lean_closure_set(x_100, 1, x_93); +lean_closure_set(x_100, 2, x_1); +lean_closure_set(x_100, 3, x_97); +x_101 = l_Lean_Compiler_LCNF_Code_isFun(x_1); lean_dec(x_1); -if (x_105 == 0) +if (x_101 == 0) { -lean_object* x_106; lean_object* x_107; -x_106 = lean_box(0); -x_107 = l_Lean_Compiler_LCNF_Simp_simp___lambda__4(x_104, x_97, x_106, x_2, x_3, x_4, x_5, x_6, x_103); -return x_107; +lean_object* x_102; lean_object* x_103; +x_102 = lean_box(0); +x_103 = l_Lean_Compiler_LCNF_Simp_simp___lambda__4(x_100, x_93, x_102, x_2, x_3, x_4, x_5, x_6, x_99); +return x_103; } else { -lean_object* x_108; +lean_object* x_104; lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_108 = l_Lean_Compiler_LCNF_FunDeclCore_etaExpand(x_97, x_4, x_5, x_6, x_103); -if (lean_obj_tag(x_108) == 0) +x_104 = l_Lean_Compiler_LCNF_FunDeclCore_etaExpand(x_93, x_4, x_5, x_6, x_99); +if (lean_obj_tag(x_104) == 0) { -lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; -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_box(0); -x_112 = l_Lean_Compiler_LCNF_Simp_simp___lambda__4(x_104, x_109, x_111, x_2, x_3, x_4, x_5, x_6, x_110); -return x_112; +lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; +x_105 = lean_ctor_get(x_104, 0); +lean_inc(x_105); +x_106 = lean_ctor_get(x_104, 1); +lean_inc(x_106); +lean_dec(x_104); +x_107 = lean_box(0); +x_108 = l_Lean_Compiler_LCNF_Simp_simp___lambda__4(x_100, x_105, x_107, x_2, x_3, x_4, x_5, x_6, x_106); +return x_108; } else { -uint8_t x_113; -lean_dec(x_104); +uint8_t x_109; +lean_dec(x_100); lean_dec(x_5); lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_113 = !lean_is_exclusive(x_108); -if (x_113 == 0) +x_109 = !lean_is_exclusive(x_104); +if (x_109 == 0) { -return x_108; +return x_104; } else { -lean_object* x_114; lean_object* x_115; lean_object* x_116; -x_114 = lean_ctor_get(x_108, 0); -x_115 = lean_ctor_get(x_108, 1); +lean_object* x_110; lean_object* x_111; lean_object* x_112; +x_110 = lean_ctor_get(x_104, 0); +x_111 = lean_ctor_get(x_104, 1); +lean_inc(x_111); +lean_inc(x_110); +lean_dec(x_104); +x_112 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_112, 0, x_110); +lean_ctor_set(x_112, 1, x_111); +return x_112; +} +} +} +} +else +{ +lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; +x_113 = lean_ctor_get(x_96, 1); +lean_inc(x_113); +lean_dec(x_96); +x_114 = lean_st_ref_get(x_6, x_113); +x_115 = lean_ctor_get(x_114, 1); lean_inc(x_115); -lean_inc(x_114); -lean_dec(x_108); -x_116 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_116, 0, x_114); -lean_ctor_set(x_116, 1, x_115); -return x_116; -} -} -} -} -else -{ -lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; -x_117 = lean_ctor_get(x_100, 1); +lean_dec(x_114); +x_116 = lean_st_ref_get(x_3, x_115); +x_117 = lean_ctor_get(x_116, 0); lean_inc(x_117); -lean_dec(x_100); -x_118 = lean_st_ref_get(x_6, x_117); -x_119 = lean_ctor_get(x_118, 1); +x_118 = lean_ctor_get(x_116, 1); +lean_inc(x_118); +lean_dec(x_116); +x_119 = lean_ctor_get(x_117, 0); lean_inc(x_119); -lean_dec(x_118); -x_120 = lean_st_ref_get(x_3, x_119); +lean_dec(x_117); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_93); +x_120 = l_Lean_Compiler_LCNF_normFunDeclImp(x_93, x_119, x_4, x_5, x_6, x_118); +if (lean_obj_tag(x_120) == 0) +{ +lean_object* x_121; lean_object* x_122; lean_object* x_123; uint8_t x_124; lean_object* x_125; x_121 = lean_ctor_get(x_120, 0); lean_inc(x_121); x_122 = lean_ctor_get(x_120, 1); lean_inc(x_122); lean_dec(x_120); -x_123 = lean_ctor_get(x_121, 0); -lean_inc(x_123); -lean_dec(x_121); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_97); -x_124 = l_Lean_Compiler_LCNF_normFunDeclImp(x_97, x_123, x_4, x_5, x_6, x_122); -if (lean_obj_tag(x_124) == 0) -{ -lean_object* x_125; lean_object* x_126; lean_object* x_127; uint8_t x_128; lean_object* x_129; -x_125 = lean_ctor_get(x_124, 0); -lean_inc(x_125); -x_126 = lean_ctor_get(x_124, 1); -lean_inc(x_126); -lean_dec(x_124); -x_127 = lean_box(0); -x_128 = lean_unbox(x_101); -lean_dec(x_101); -x_129 = l_Lean_Compiler_LCNF_Simp_simp___lambda__6(x_98, x_97, x_1, x_128, x_125, x_127, x_2, x_3, x_4, x_5, x_6, x_126); -return x_129; +x_123 = lean_box(0); +x_124 = lean_unbox(x_97); +lean_dec(x_97); +x_125 = l_Lean_Compiler_LCNF_Simp_simp___lambda__6(x_94, x_93, x_1, x_124, x_121, x_123, x_2, x_3, x_4, x_5, x_6, x_122); +return x_125; } else { -uint8_t x_130; -lean_dec(x_101); -lean_dec(x_98); +uint8_t x_126; lean_dec(x_97); +lean_dec(x_94); +lean_dec(x_93); lean_dec(x_5); lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_130 = !lean_is_exclusive(x_124); -if (x_130 == 0) +x_126 = !lean_is_exclusive(x_120); +if (x_126 == 0) { -return x_124; +return x_120; } else { -lean_object* x_131; lean_object* x_132; lean_object* x_133; -x_131 = lean_ctor_get(x_124, 0); -x_132 = lean_ctor_get(x_124, 1); -lean_inc(x_132); -lean_inc(x_131); -lean_dec(x_124); -x_133 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_133, 0, x_131); -lean_ctor_set(x_133, 1, x_132); -return x_133; +lean_object* x_127; lean_object* x_128; lean_object* x_129; +x_127 = lean_ctor_get(x_120, 0); +x_128 = lean_ctor_get(x_120, 1); +lean_inc(x_128); +lean_inc(x_127); +lean_dec(x_120); +x_129 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_129, 0, x_127); +lean_ctor_set(x_129, 1, x_128); +return x_129; } } } } case 3: { -lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; -x_134 = lean_ctor_get(x_34, 1); -lean_inc(x_134); +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_130 = lean_ctor_get(x_34, 1); +lean_inc(x_130); lean_dec(x_34); -x_135 = lean_ctor_get(x_1, 0); -lean_inc(x_135); -x_136 = lean_ctor_get(x_1, 1); +x_131 = lean_ctor_get(x_1, 0); +lean_inc(x_131); +x_132 = lean_ctor_get(x_1, 1); +lean_inc(x_132); +x_133 = lean_st_ref_get(x_6, x_130); +x_134 = lean_ctor_get(x_133, 1); +lean_inc(x_134); +lean_dec(x_133); +x_135 = lean_st_ref_get(x_3, x_134); +x_136 = lean_ctor_get(x_135, 0); lean_inc(x_136); -x_137 = lean_st_ref_get(x_6, x_134); -x_138 = lean_ctor_get(x_137, 1); -lean_inc(x_138); -lean_dec(x_137); -x_139 = lean_st_ref_get(x_3, x_138); -x_140 = lean_ctor_get(x_139, 0); -lean_inc(x_140); -x_141 = lean_ctor_get(x_139, 1); -lean_inc(x_141); -lean_dec(x_139); -x_142 = lean_ctor_get(x_140, 0); -lean_inc(x_142); -lean_dec(x_140); -lean_inc(x_135); -x_143 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_142, x_135); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_136); -x_144 = l_Lean_Compiler_LCNF_normExprs___at_Lean_Compiler_LCNF_Simp_simp___spec__2(x_136, x_2, x_3, x_4, x_5, x_6, x_141); -if (lean_obj_tag(x_144) == 0) -{ -lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_167; -x_145 = lean_ctor_get(x_144, 0); -lean_inc(x_145); -x_146 = lean_ctor_get(x_144, 1); -lean_inc(x_146); -if (lean_is_exclusive(x_144)) { - lean_ctor_release(x_144, 0); - lean_ctor_release(x_144, 1); - x_147 = x_144; -} else { - lean_dec_ref(x_144); - x_147 = lean_box(0); -} -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_145); -lean_inc(x_143); -x_167 = l_Lean_Compiler_LCNF_Simp_inlineJp_x3f(x_143, x_145, x_2, x_3, x_4, x_5, x_6, x_146); -if (lean_obj_tag(x_167) == 0) -{ -lean_object* x_168; -x_168 = lean_ctor_get(x_167, 0); -lean_inc(x_168); -if (lean_obj_tag(x_168) == 0) -{ -lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; uint8_t x_174; -x_169 = lean_ctor_get(x_167, 1); -lean_inc(x_169); -lean_dec(x_167); -lean_inc(x_143); -x_170 = l_Lean_Compiler_LCNF_Simp_markUsedFVar(x_143, x_2, x_3, x_4, x_5, x_6, x_169); -x_171 = lean_ctor_get(x_170, 1); -lean_inc(x_171); -lean_dec(x_170); -x_172 = lean_array_get_size(x_145); -x_173 = lean_unsigned_to_nat(0u); -x_174 = lean_nat_dec_lt(x_173, x_172); -if (x_174 == 0) -{ -lean_dec(x_172); -lean_dec(x_5); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_148 = x_171; -goto block_166; -} -else -{ -uint8_t x_175; -x_175 = lean_nat_dec_le(x_172, x_172); -if (x_175 == 0) -{ -lean_dec(x_172); -lean_dec(x_5); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_148 = x_171; -goto block_166; -} -else -{ -size_t x_176; size_t x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; -x_176 = 0; -x_177 = lean_usize_of_nat(x_172); -lean_dec(x_172); -x_178 = lean_box(0); -x_179 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Simp_markUsedCode___spec__1(x_145, x_176, x_177, x_178, x_2, x_3, x_4, x_5, x_6, x_171); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_180 = lean_ctor_get(x_179, 1); -lean_inc(x_180); -lean_dec(x_179); -x_148 = x_180; -goto block_166; -} -} -} -else -{ -lean_object* x_181; lean_object* x_182; -lean_dec(x_147); -lean_dec(x_145); -lean_dec(x_143); -lean_dec(x_136); +x_137 = lean_ctor_get(x_135, 1); +lean_inc(x_137); lean_dec(x_135); -lean_dec(x_1); -x_181 = lean_ctor_get(x_167, 1); -lean_inc(x_181); -lean_dec(x_167); -x_182 = lean_ctor_get(x_168, 0); -lean_inc(x_182); +x_138 = lean_ctor_get(x_136, 0); +lean_inc(x_138); +lean_dec(x_136); +lean_inc(x_131); +x_139 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_138, x_131); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_132); +x_140 = l_Lean_Compiler_LCNF_normExprs___at_Lean_Compiler_LCNF_Simp_simp___spec__2(x_132, x_2, x_3, x_4, x_5, x_6, x_137); +if (lean_obj_tag(x_140) == 0) +{ +lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_163; +x_141 = lean_ctor_get(x_140, 0); +lean_inc(x_141); +x_142 = lean_ctor_get(x_140, 1); +lean_inc(x_142); +if (lean_is_exclusive(x_140)) { + lean_ctor_release(x_140, 0); + lean_ctor_release(x_140, 1); + x_143 = x_140; +} else { + lean_dec_ref(x_140); + x_143 = lean_box(0); +} +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_141); +lean_inc(x_139); +x_163 = l_Lean_Compiler_LCNF_Simp_inlineJp_x3f(x_139, x_141, x_2, x_3, x_4, x_5, x_6, x_142); +if (lean_obj_tag(x_163) == 0) +{ +lean_object* x_164; +x_164 = lean_ctor_get(x_163, 0); +lean_inc(x_164); +if (lean_obj_tag(x_164) == 0) +{ +lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; uint8_t x_170; +x_165 = lean_ctor_get(x_163, 1); +lean_inc(x_165); +lean_dec(x_163); +lean_inc(x_139); +x_166 = l_Lean_Compiler_LCNF_Simp_markUsedFVar(x_139, x_2, x_3, x_4, x_5, x_6, x_165); +x_167 = lean_ctor_get(x_166, 1); +lean_inc(x_167); +lean_dec(x_166); +x_168 = lean_array_get_size(x_141); +x_169 = lean_unsigned_to_nat(0u); +x_170 = lean_nat_dec_lt(x_169, x_168); +if (x_170 == 0) +{ lean_dec(x_168); -x_1 = x_182; -x_7 = x_181; +lean_dec(x_5); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_144 = x_167; +goto block_162; +} +else +{ +uint8_t x_171; +x_171 = lean_nat_dec_le(x_168, x_168); +if (x_171 == 0) +{ +lean_dec(x_168); +lean_dec(x_5); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_144 = x_167; +goto block_162; +} +else +{ +size_t x_172; size_t x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; +x_172 = 0; +x_173 = lean_usize_of_nat(x_168); +lean_dec(x_168); +x_174 = lean_box(0); +x_175 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Simp_markUsedCode___spec__1(x_141, x_172, x_173, x_174, x_2, x_3, x_4, x_5, x_6, x_167); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_176 = lean_ctor_get(x_175, 1); +lean_inc(x_176); +lean_dec(x_175); +x_144 = x_176; +goto block_162; +} +} +} +else +{ +lean_object* x_177; lean_object* x_178; +lean_dec(x_143); +lean_dec(x_141); +lean_dec(x_139); +lean_dec(x_132); +lean_dec(x_131); +lean_dec(x_1); +x_177 = lean_ctor_get(x_163, 1); +lean_inc(x_177); +lean_dec(x_163); +x_178 = lean_ctor_get(x_164, 0); +lean_inc(x_178); +lean_dec(x_164); +x_1 = x_178; +x_7 = x_177; goto _start; } } else { -uint8_t x_184; -lean_dec(x_147); -lean_dec(x_145); +uint8_t x_180; lean_dec(x_143); -lean_dec(x_136); -lean_dec(x_135); +lean_dec(x_141); +lean_dec(x_139); +lean_dec(x_132); +lean_dec(x_131); lean_dec(x_5); lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_184 = !lean_is_exclusive(x_167); +x_180 = !lean_is_exclusive(x_163); +if (x_180 == 0) +{ +return x_163; +} +else +{ +lean_object* x_181; lean_object* x_182; lean_object* x_183; +x_181 = lean_ctor_get(x_163, 0); +x_182 = lean_ctor_get(x_163, 1); +lean_inc(x_182); +lean_inc(x_181); +lean_dec(x_163); +x_183 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_183, 0, x_181); +lean_ctor_set(x_183, 1, x_182); +return x_183; +} +} +block_162: +{ +uint8_t x_145; +x_145 = lean_name_eq(x_131, x_139); +lean_dec(x_131); +if (x_145 == 0) +{ +uint8_t x_146; +lean_dec(x_132); +x_146 = !lean_is_exclusive(x_1); +if (x_146 == 0) +{ +lean_object* x_147; lean_object* x_148; lean_object* x_149; +x_147 = lean_ctor_get(x_1, 1); +lean_dec(x_147); +x_148 = lean_ctor_get(x_1, 0); +lean_dec(x_148); +lean_ctor_set(x_1, 1, x_141); +lean_ctor_set(x_1, 0, x_139); +if (lean_is_scalar(x_143)) { + x_149 = lean_alloc_ctor(0, 2, 0); +} else { + x_149 = x_143; +} +lean_ctor_set(x_149, 0, x_1); +lean_ctor_set(x_149, 1, x_144); +return x_149; +} +else +{ +lean_object* x_150; lean_object* x_151; +lean_dec(x_1); +x_150 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_150, 0, x_139); +lean_ctor_set(x_150, 1, x_141); +if (lean_is_scalar(x_143)) { + x_151 = lean_alloc_ctor(0, 2, 0); +} else { + x_151 = x_143; +} +lean_ctor_set(x_151, 0, x_150); +lean_ctor_set(x_151, 1, x_144); +return x_151; +} +} +else +{ +size_t x_152; size_t x_153; uint8_t x_154; +x_152 = lean_ptr_addr(x_132); +lean_dec(x_132); +x_153 = lean_ptr_addr(x_141); +x_154 = lean_usize_dec_eq(x_152, x_153); +if (x_154 == 0) +{ +uint8_t x_155; +x_155 = !lean_is_exclusive(x_1); +if (x_155 == 0) +{ +lean_object* x_156; lean_object* x_157; lean_object* x_158; +x_156 = lean_ctor_get(x_1, 1); +lean_dec(x_156); +x_157 = lean_ctor_get(x_1, 0); +lean_dec(x_157); +lean_ctor_set(x_1, 1, x_141); +lean_ctor_set(x_1, 0, x_139); +if (lean_is_scalar(x_143)) { + x_158 = lean_alloc_ctor(0, 2, 0); +} else { + x_158 = x_143; +} +lean_ctor_set(x_158, 0, x_1); +lean_ctor_set(x_158, 1, x_144); +return x_158; +} +else +{ +lean_object* x_159; lean_object* x_160; +lean_dec(x_1); +x_159 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_159, 0, x_139); +lean_ctor_set(x_159, 1, x_141); +if (lean_is_scalar(x_143)) { + x_160 = lean_alloc_ctor(0, 2, 0); +} else { + x_160 = x_143; +} +lean_ctor_set(x_160, 0, x_159); +lean_ctor_set(x_160, 1, x_144); +return x_160; +} +} +else +{ +lean_object* x_161; +lean_dec(x_141); +lean_dec(x_139); +if (lean_is_scalar(x_143)) { + x_161 = lean_alloc_ctor(0, 2, 0); +} else { + x_161 = x_143; +} +lean_ctor_set(x_161, 0, x_1); +lean_ctor_set(x_161, 1, x_144); +return x_161; +} +} +} +} +else +{ +uint8_t x_184; +lean_dec(x_139); +lean_dec(x_132); +lean_dec(x_131); +lean_dec(x_5); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_184 = !lean_is_exclusive(x_140); if (x_184 == 0) { -return x_167; +return x_140; } else { lean_object* x_185; lean_object* x_186; lean_object* x_187; -x_185 = lean_ctor_get(x_167, 0); -x_186 = lean_ctor_get(x_167, 1); +x_185 = lean_ctor_get(x_140, 0); +x_186 = lean_ctor_get(x_140, 1); lean_inc(x_186); lean_inc(x_185); -lean_dec(x_167); +lean_dec(x_140); x_187 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_187, 0, x_185); lean_ctor_set(x_187, 1, x_186); return x_187; } } -block_166: -{ -uint8_t x_149; -x_149 = lean_name_eq(x_135, x_143); -lean_dec(x_135); -if (x_149 == 0) -{ -uint8_t x_150; -lean_dec(x_136); -x_150 = !lean_is_exclusive(x_1); -if (x_150 == 0) -{ -lean_object* x_151; lean_object* x_152; lean_object* x_153; -x_151 = lean_ctor_get(x_1, 1); -lean_dec(x_151); -x_152 = lean_ctor_get(x_1, 0); -lean_dec(x_152); -lean_ctor_set(x_1, 1, x_145); -lean_ctor_set(x_1, 0, x_143); -if (lean_is_scalar(x_147)) { - x_153 = lean_alloc_ctor(0, 2, 0); -} else { - x_153 = x_147; -} -lean_ctor_set(x_153, 0, x_1); -lean_ctor_set(x_153, 1, x_148); -return x_153; -} -else -{ -lean_object* x_154; lean_object* x_155; -lean_dec(x_1); -x_154 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_154, 0, x_143); -lean_ctor_set(x_154, 1, x_145); -if (lean_is_scalar(x_147)) { - x_155 = lean_alloc_ctor(0, 2, 0); -} else { - x_155 = x_147; -} -lean_ctor_set(x_155, 0, x_154); -lean_ctor_set(x_155, 1, x_148); -return x_155; -} -} -else -{ -size_t x_156; size_t x_157; uint8_t x_158; -x_156 = lean_ptr_addr(x_136); -lean_dec(x_136); -x_157 = lean_ptr_addr(x_145); -x_158 = lean_usize_dec_eq(x_156, x_157); -if (x_158 == 0) -{ -uint8_t x_159; -x_159 = !lean_is_exclusive(x_1); -if (x_159 == 0) -{ -lean_object* x_160; lean_object* x_161; lean_object* x_162; -x_160 = lean_ctor_get(x_1, 1); -lean_dec(x_160); -x_161 = lean_ctor_get(x_1, 0); -lean_dec(x_161); -lean_ctor_set(x_1, 1, x_145); -lean_ctor_set(x_1, 0, x_143); -if (lean_is_scalar(x_147)) { - x_162 = lean_alloc_ctor(0, 2, 0); -} else { - x_162 = x_147; -} -lean_ctor_set(x_162, 0, x_1); -lean_ctor_set(x_162, 1, x_148); -return x_162; -} -else -{ -lean_object* x_163; lean_object* x_164; -lean_dec(x_1); -x_163 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_163, 0, x_143); -lean_ctor_set(x_163, 1, x_145); -if (lean_is_scalar(x_147)) { - x_164 = lean_alloc_ctor(0, 2, 0); -} else { - x_164 = x_147; -} -lean_ctor_set(x_164, 0, x_163); -lean_ctor_set(x_164, 1, x_148); -return x_164; -} -} -else -{ -lean_object* x_165; -lean_dec(x_145); -lean_dec(x_143); -if (lean_is_scalar(x_147)) { - x_165 = lean_alloc_ctor(0, 2, 0); -} else { - x_165 = x_147; -} -lean_ctor_set(x_165, 0, x_1); -lean_ctor_set(x_165, 1, x_148); -return x_165; -} -} -} -} -else -{ -uint8_t x_188; -lean_dec(x_143); -lean_dec(x_136); -lean_dec(x_135); -lean_dec(x_5); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_188 = !lean_is_exclusive(x_144); -if (x_188 == 0) -{ -return x_144; -} -else -{ -lean_object* x_189; lean_object* x_190; lean_object* x_191; -x_189 = lean_ctor_get(x_144, 0); -x_190 = lean_ctor_get(x_144, 1); -lean_inc(x_190); -lean_inc(x_189); -lean_dec(x_144); -x_191 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_191, 0, x_189); -lean_ctor_set(x_191, 1, x_190); -return x_191; -} -} } case 4: { -lean_object* x_192; lean_object* x_193; lean_object* x_194; -x_192 = lean_ctor_get(x_34, 1); -lean_inc(x_192); +lean_object* x_188; lean_object* x_189; lean_object* x_190; +x_188 = lean_ctor_get(x_34, 1); +lean_inc(x_188); lean_dec(x_34); -x_193 = lean_ctor_get(x_1, 0); -lean_inc(x_193); +x_189 = lean_ctor_get(x_1, 0); +lean_inc(x_189); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -lean_inc(x_193); -x_194 = l_Lean_Compiler_LCNF_Simp_simpCasesOnCtor_x3f(x_193, x_2, x_3, x_4, x_5, x_6, x_192); -if (lean_obj_tag(x_194) == 0) +lean_inc(x_189); +x_190 = l_Lean_Compiler_LCNF_Simp_simpCasesOnCtor_x3f(x_189, x_2, x_3, x_4, x_5, x_6, x_188); +if (lean_obj_tag(x_190) == 0) { -lean_object* x_195; -x_195 = lean_ctor_get(x_194, 0); +lean_object* x_191; +x_191 = lean_ctor_get(x_190, 0); +lean_inc(x_191); +if (lean_obj_tag(x_191) == 0) +{ +lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; +x_192 = lean_ctor_get(x_190, 1); +lean_inc(x_192); +lean_dec(x_190); +x_193 = lean_ctor_get(x_189, 0); +lean_inc(x_193); +x_194 = lean_ctor_get(x_189, 1); +lean_inc(x_194); +x_195 = lean_ctor_get(x_189, 2); lean_inc(x_195); -if (lean_obj_tag(x_195) == 0) -{ -lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; -x_196 = lean_ctor_get(x_194, 1); +x_196 = lean_ctor_get(x_189, 3); lean_inc(x_196); -lean_dec(x_194); -x_197 = lean_ctor_get(x_193, 0); -lean_inc(x_197); -x_198 = lean_ctor_get(x_193, 1); -lean_inc(x_198); -x_199 = lean_ctor_get(x_193, 2); -lean_inc(x_199); -x_200 = lean_ctor_get(x_193, 3); -lean_inc(x_200); -lean_inc(x_199); -x_201 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_simp___lambda__7___boxed), 8, 1); -lean_closure_set(x_201, 0, x_199); -x_202 = l_Lean_Compiler_LCNF_Simp_simp___closed__1; -x_203 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Compiler_LCNF_Simp_instMonadFVarSubstSimpM___spec__1___rarg), 8, 2); -lean_closure_set(x_203, 0, x_202); -lean_closure_set(x_203, 1, x_201); +lean_inc(x_195); +x_197 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_simp___lambda__7___boxed), 8, 1); +lean_closure_set(x_197, 0, x_195); +x_198 = l_Lean_Compiler_LCNF_Simp_simp___closed__1; +x_199 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Compiler_LCNF_Simp_instMonadFVarSubstSimpM___spec__1___rarg), 8, 2); +lean_closure_set(x_199, 0, x_198); +lean_closure_set(x_199, 1, x_197); lean_inc(x_1); -lean_inc(x_199); -lean_inc(x_193); -x_204 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_simp___lambda__10___boxed), 10, 3); -lean_closure_set(x_204, 0, x_193); -lean_closure_set(x_204, 1, x_199); -lean_closure_set(x_204, 2, x_1); -x_205 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Compiler_LCNF_Simp_instMonadFVarSubstSimpM___spec__1___rarg), 8, 2); -lean_closure_set(x_205, 0, x_203); -lean_closure_set(x_205, 1, x_204); -lean_inc(x_193); -x_206 = l_Lean_Compiler_LCNF_Simp_isCasesOnCases_x3f(x_193, x_2, x_3, x_4, x_5, x_6, x_196); -if (lean_is_exclusive(x_193)) { - lean_ctor_release(x_193, 0); - lean_ctor_release(x_193, 1); - lean_ctor_release(x_193, 2); - lean_ctor_release(x_193, 3); - x_207 = x_193; +lean_inc(x_195); +lean_inc(x_189); +x_200 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_simp___lambda__10___boxed), 10, 3); +lean_closure_set(x_200, 0, x_189); +lean_closure_set(x_200, 1, x_195); +lean_closure_set(x_200, 2, x_1); +x_201 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Compiler_LCNF_Simp_instMonadFVarSubstSimpM___spec__1___rarg), 8, 2); +lean_closure_set(x_201, 0, x_199); +lean_closure_set(x_201, 1, x_200); +lean_inc(x_189); +x_202 = l_Lean_Compiler_LCNF_Simp_isCasesOnCases_x3f(x_189, x_2, x_3, x_4, x_5, x_6, x_192); +if (lean_is_exclusive(x_189)) { + lean_ctor_release(x_189, 0); + lean_ctor_release(x_189, 1); + lean_ctor_release(x_189, 2); + lean_ctor_release(x_189, 3); + x_203 = x_189; } else { - lean_dec_ref(x_193); - x_207 = lean_box(0); + lean_dec_ref(x_189); + x_203 = lean_box(0); } -if (lean_obj_tag(x_206) == 0) +if (lean_obj_tag(x_202) == 0) { -lean_object* x_208; -x_208 = lean_ctor_get(x_206, 0); -lean_inc(x_208); -if (lean_obj_tag(x_208) == 0) +lean_object* x_204; +x_204 = lean_ctor_get(x_202, 0); +lean_inc(x_204); +if (lean_obj_tag(x_204) == 0) { -lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; -lean_dec(x_205); -x_209 = lean_ctor_get(x_206, 1); -lean_inc(x_209); +lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; +lean_dec(x_201); +x_205 = lean_ctor_get(x_202, 1); +lean_inc(x_205); +lean_dec(x_202); +x_206 = lean_st_ref_get(x_6, x_205); +x_207 = lean_ctor_get(x_206, 1); +lean_inc(x_207); lean_dec(x_206); -x_210 = lean_st_ref_get(x_6, x_209); -x_211 = lean_ctor_get(x_210, 1); +x_208 = lean_st_ref_get(x_3, x_207); +x_209 = lean_ctor_get(x_208, 0); +lean_inc(x_209); +x_210 = lean_ctor_get(x_208, 1); +lean_inc(x_210); +lean_dec(x_208); +x_211 = lean_ctor_get(x_209, 0); lean_inc(x_211); -lean_dec(x_210); -x_212 = lean_st_ref_get(x_3, x_211); -x_213 = lean_ctor_get(x_212, 0); -lean_inc(x_213); -x_214 = lean_ctor_get(x_212, 1); +lean_dec(x_209); +lean_inc(x_195); +x_212 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_211, x_195); +x_213 = lean_st_ref_get(x_6, x_210); +x_214 = lean_ctor_get(x_213, 1); lean_inc(x_214); -lean_dec(x_212); -x_215 = lean_ctor_get(x_213, 0); -lean_inc(x_215); lean_dec(x_213); -lean_inc(x_199); -x_216 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_215, x_199); -x_217 = lean_st_ref_get(x_6, x_214); -x_218 = lean_ctor_get(x_217, 1); +x_215 = lean_st_ref_get(x_3, x_214); +x_216 = lean_ctor_get(x_215, 0); +lean_inc(x_216); +x_217 = lean_ctor_get(x_215, 1); +lean_inc(x_217); +lean_dec(x_215); +x_218 = lean_ctor_get(x_216, 0); lean_inc(x_218); -lean_dec(x_217); -x_219 = lean_st_ref_get(x_3, x_218); -x_220 = lean_ctor_get(x_219, 0); -lean_inc(x_220); -x_221 = lean_ctor_get(x_219, 1); +lean_dec(x_216); +lean_inc(x_194); +x_219 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_218, x_194); +lean_inc(x_212); +x_220 = l_Lean_Compiler_LCNF_Simp_markUsedFVar(x_212, x_2, x_3, x_4, x_5, x_6, x_217); +x_221 = lean_ctor_get(x_220, 1); lean_inc(x_221); -lean_dec(x_219); -x_222 = lean_ctor_get(x_220, 0); -lean_inc(x_222); lean_dec(x_220); -lean_inc(x_198); -x_223 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_222, x_198); -lean_inc(x_216); -x_224 = l_Lean_Compiler_LCNF_Simp_markUsedFVar(x_216, x_2, x_3, x_4, x_5, x_6, x_221); -x_225 = lean_ctor_get(x_224, 1); -lean_inc(x_225); -lean_dec(x_224); -lean_inc(x_216); -x_226 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_simp___lambda__9), 8, 1); -lean_closure_set(x_226, 0, x_216); +lean_inc(x_212); +x_222 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_simp___lambda__9), 8, 1); +lean_closure_set(x_222, 0, x_212); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -lean_inc(x_200); -x_227 = l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_Simp_simp___spec__6(x_200, x_226, x_2, x_3, x_4, x_5, x_6, x_225); +lean_inc(x_196); +x_223 = l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_Simp_simp___spec__6(x_196, x_222, x_2, x_3, x_4, x_5, x_6, x_221); +if (lean_obj_tag(x_223) == 0) +{ +lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; +x_224 = lean_ctor_get(x_223, 0); +lean_inc(x_224); +x_225 = lean_ctor_get(x_223, 1); +lean_inc(x_225); +if (lean_is_exclusive(x_223)) { + lean_ctor_release(x_223, 0); + lean_ctor_release(x_223, 1); + x_226 = x_223; +} else { + lean_dec_ref(x_223); + x_226 = lean_box(0); +} +x_227 = l___private_Lean_Compiler_LCNF_Simp_0__Lean_Compiler_LCNF_Simp_addDefault(x_224, x_2, x_3, x_4, x_5, x_6, x_225); if (lean_obj_tag(x_227) == 0) { -lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; +lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_262; lean_object* x_263; uint8_t x_274; x_228 = lean_ctor_get(x_227, 0); lean_inc(x_228); x_229 = lean_ctor_get(x_227, 1); @@ -26702,373 +26172,393 @@ if (lean_is_exclusive(x_227)) { lean_dec_ref(x_227); x_230 = lean_box(0); } -x_231 = l___private_Lean_Compiler_LCNF_Simp_0__Lean_Compiler_LCNF_Simp_addDefault(x_228, x_2, x_3, x_4, x_5, x_6, x_229); -if (lean_obj_tag(x_231) == 0) +x_262 = lean_array_get_size(x_228); +x_274 = lean_nat_dec_eq(x_262, x_32); +if (x_274 == 0) { -lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_266; lean_object* x_267; uint8_t x_278; -x_232 = lean_ctor_get(x_231, 0); -lean_inc(x_232); -x_233 = lean_ctor_get(x_231, 1); -lean_inc(x_233); -if (lean_is_exclusive(x_231)) { - lean_ctor_release(x_231, 0); - lean_ctor_release(x_231, 1); - x_234 = x_231; -} else { - lean_dec_ref(x_231); - x_234 = lean_box(0); -} -x_266 = lean_array_get_size(x_232); -x_278 = lean_nat_dec_eq(x_266, x_32); -if (x_278 == 0) -{ -lean_object* x_279; -lean_dec(x_266); -lean_dec(x_230); -x_279 = lean_box(0); -x_235 = x_279; -goto block_265; +lean_object* x_275; +lean_dec(x_262); +lean_dec(x_226); +x_275 = lean_box(0); +x_231 = x_275; +goto block_261; } else { -lean_object* x_280; uint8_t x_281; -x_280 = lean_unsigned_to_nat(0u); -x_281 = lean_nat_dec_lt(x_280, x_266); -if (x_281 == 0) +lean_object* x_276; uint8_t x_277; +x_276 = lean_unsigned_to_nat(0u); +x_277 = lean_nat_dec_lt(x_276, x_262); +if (x_277 == 0) { -lean_object* x_282; lean_object* x_283; -x_282 = l_Lean_Compiler_LCNF_Simp_attachCodeDecls_go___closed__4; -x_283 = l_panic___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltImp___spec__1(x_282); -if (lean_obj_tag(x_283) == 0) +lean_object* x_278; lean_object* x_279; +x_278 = l_Lean_Compiler_LCNF_Simp_attachCodeDecls_go___closed__4; +x_279 = l_panic___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltImp___spec__1(x_278); +if (lean_obj_tag(x_279) == 0) +{ +lean_object* x_280; +lean_dec(x_279); +lean_dec(x_262); +lean_dec(x_226); +x_280 = lean_box(0); +x_231 = x_280; +goto block_261; +} +else +{ +lean_object* x_281; +lean_dec(x_279); +lean_dec(x_230); +lean_dec(x_219); +lean_dec(x_212); +lean_dec(x_203); +lean_dec(x_196); +lean_dec(x_195); +lean_dec(x_194); +lean_dec(x_193); +lean_dec(x_1); +x_281 = lean_box(0); +x_263 = x_281; +goto block_273; +} +} +else +{ +lean_object* x_282; +x_282 = lean_array_fget(x_228, x_276); +if (lean_obj_tag(x_282) == 0) +{ +lean_object* x_283; +lean_dec(x_282); +lean_dec(x_262); +lean_dec(x_226); +x_283 = lean_box(0); +x_231 = x_283; +goto block_261; +} +else { lean_object* x_284; -lean_dec(x_283); -lean_dec(x_266); +lean_dec(x_282); lean_dec(x_230); +lean_dec(x_219); +lean_dec(x_212); +lean_dec(x_203); +lean_dec(x_196); +lean_dec(x_195); +lean_dec(x_194); +lean_dec(x_193); +lean_dec(x_1); x_284 = lean_box(0); -x_235 = x_284; -goto block_265; +x_263 = x_284; +goto block_273; +} +} +} +block_261: +{ +size_t x_232; size_t x_233; uint8_t x_234; +lean_dec(x_231); +x_232 = lean_ptr_addr(x_196); +lean_dec(x_196); +x_233 = lean_ptr_addr(x_228); +x_234 = lean_usize_dec_eq(x_232, x_233); +if (x_234 == 0) +{ +uint8_t x_235; +lean_dec(x_195); +lean_dec(x_194); +x_235 = !lean_is_exclusive(x_1); +if (x_235 == 0) +{ +lean_object* x_236; lean_object* x_237; lean_object* x_238; +x_236 = lean_ctor_get(x_1, 0); +lean_dec(x_236); +if (lean_is_scalar(x_203)) { + x_237 = lean_alloc_ctor(0, 4, 0); +} else { + x_237 = x_203; +} +lean_ctor_set(x_237, 0, x_193); +lean_ctor_set(x_237, 1, x_219); +lean_ctor_set(x_237, 2, x_212); +lean_ctor_set(x_237, 3, x_228); +lean_ctor_set(x_1, 0, x_237); +if (lean_is_scalar(x_230)) { + x_238 = lean_alloc_ctor(0, 2, 0); +} else { + x_238 = x_230; +} +lean_ctor_set(x_238, 0, x_1); +lean_ctor_set(x_238, 1, x_229); +return x_238; } else { -lean_object* x_285; -lean_dec(x_283); -lean_dec(x_234); -lean_dec(x_223); -lean_dec(x_216); -lean_dec(x_207); -lean_dec(x_200); -lean_dec(x_199); -lean_dec(x_198); -lean_dec(x_197); +lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_dec(x_1); -x_285 = lean_box(0); -x_267 = x_285; -goto block_277; +if (lean_is_scalar(x_203)) { + x_239 = lean_alloc_ctor(0, 4, 0); +} else { + x_239 = x_203; +} +lean_ctor_set(x_239, 0, x_193); +lean_ctor_set(x_239, 1, x_219); +lean_ctor_set(x_239, 2, x_212); +lean_ctor_set(x_239, 3, x_228); +x_240 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_240, 0, x_239); +if (lean_is_scalar(x_230)) { + x_241 = lean_alloc_ctor(0, 2, 0); +} else { + x_241 = x_230; +} +lean_ctor_set(x_241, 0, x_240); +lean_ctor_set(x_241, 1, x_229); +return x_241; } } else { -lean_object* x_286; -x_286 = lean_array_fget(x_232, x_280); -if (lean_obj_tag(x_286) == 0) +size_t x_242; size_t x_243; uint8_t x_244; +x_242 = lean_ptr_addr(x_194); +lean_dec(x_194); +x_243 = lean_ptr_addr(x_219); +x_244 = lean_usize_dec_eq(x_242, x_243); +if (x_244 == 0) { -lean_object* x_287; -lean_dec(x_286); -lean_dec(x_266); -lean_dec(x_230); -x_287 = lean_box(0); -x_235 = x_287; -goto block_265; +uint8_t x_245; +lean_dec(x_195); +x_245 = !lean_is_exclusive(x_1); +if (x_245 == 0) +{ +lean_object* x_246; lean_object* x_247; lean_object* x_248; +x_246 = lean_ctor_get(x_1, 0); +lean_dec(x_246); +if (lean_is_scalar(x_203)) { + x_247 = lean_alloc_ctor(0, 4, 0); +} else { + x_247 = x_203; +} +lean_ctor_set(x_247, 0, x_193); +lean_ctor_set(x_247, 1, x_219); +lean_ctor_set(x_247, 2, x_212); +lean_ctor_set(x_247, 3, x_228); +lean_ctor_set(x_1, 0, x_247); +if (lean_is_scalar(x_230)) { + x_248 = lean_alloc_ctor(0, 2, 0); +} else { + x_248 = x_230; +} +lean_ctor_set(x_248, 0, x_1); +lean_ctor_set(x_248, 1, x_229); +return x_248; } else { -lean_object* x_288; -lean_dec(x_286); -lean_dec(x_234); -lean_dec(x_223); -lean_dec(x_216); -lean_dec(x_207); -lean_dec(x_200); -lean_dec(x_199); -lean_dec(x_198); -lean_dec(x_197); +lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_dec(x_1); -x_288 = lean_box(0); -x_267 = x_288; -goto block_277; -} -} -} -block_265: -{ -size_t x_236; size_t x_237; uint8_t x_238; -lean_dec(x_235); -x_236 = lean_ptr_addr(x_200); -lean_dec(x_200); -x_237 = lean_ptr_addr(x_232); -x_238 = lean_usize_dec_eq(x_236, x_237); -if (x_238 == 0) -{ -uint8_t x_239; -lean_dec(x_199); -lean_dec(x_198); -x_239 = !lean_is_exclusive(x_1); -if (x_239 == 0) -{ -lean_object* x_240; lean_object* x_241; lean_object* x_242; -x_240 = lean_ctor_get(x_1, 0); -lean_dec(x_240); -if (lean_is_scalar(x_207)) { - x_241 = lean_alloc_ctor(0, 4, 0); +if (lean_is_scalar(x_203)) { + x_249 = lean_alloc_ctor(0, 4, 0); } else { - x_241 = x_207; + x_249 = x_203; } -lean_ctor_set(x_241, 0, x_197); -lean_ctor_set(x_241, 1, x_223); -lean_ctor_set(x_241, 2, x_216); -lean_ctor_set(x_241, 3, x_232); -lean_ctor_set(x_1, 0, x_241); -if (lean_is_scalar(x_234)) { - x_242 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_249, 0, x_193); +lean_ctor_set(x_249, 1, x_219); +lean_ctor_set(x_249, 2, x_212); +lean_ctor_set(x_249, 3, x_228); +x_250 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_250, 0, x_249); +if (lean_is_scalar(x_230)) { + x_251 = lean_alloc_ctor(0, 2, 0); } else { - x_242 = x_234; + x_251 = x_230; +} +lean_ctor_set(x_251, 0, x_250); +lean_ctor_set(x_251, 1, x_229); +return x_251; } -lean_ctor_set(x_242, 0, x_1); -lean_ctor_set(x_242, 1, x_233); -return x_242; } else { -lean_object* x_243; lean_object* x_244; lean_object* x_245; +uint8_t x_252; +x_252 = lean_name_eq(x_195, x_212); +lean_dec(x_195); +if (x_252 == 0) +{ +uint8_t x_253; +x_253 = !lean_is_exclusive(x_1); +if (x_253 == 0) +{ +lean_object* x_254; lean_object* x_255; lean_object* x_256; +x_254 = lean_ctor_get(x_1, 0); +lean_dec(x_254); +if (lean_is_scalar(x_203)) { + x_255 = lean_alloc_ctor(0, 4, 0); +} else { + x_255 = x_203; +} +lean_ctor_set(x_255, 0, x_193); +lean_ctor_set(x_255, 1, x_219); +lean_ctor_set(x_255, 2, x_212); +lean_ctor_set(x_255, 3, x_228); +lean_ctor_set(x_1, 0, x_255); +if (lean_is_scalar(x_230)) { + x_256 = lean_alloc_ctor(0, 2, 0); +} else { + x_256 = x_230; +} +lean_ctor_set(x_256, 0, x_1); +lean_ctor_set(x_256, 1, x_229); +return x_256; +} +else +{ +lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_dec(x_1); -if (lean_is_scalar(x_207)) { - x_243 = lean_alloc_ctor(0, 4, 0); +if (lean_is_scalar(x_203)) { + x_257 = lean_alloc_ctor(0, 4, 0); } else { - x_243 = x_207; + x_257 = x_203; } -lean_ctor_set(x_243, 0, x_197); -lean_ctor_set(x_243, 1, x_223); -lean_ctor_set(x_243, 2, x_216); -lean_ctor_set(x_243, 3, x_232); -x_244 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_244, 0, x_243); -if (lean_is_scalar(x_234)) { - x_245 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_257, 0, x_193); +lean_ctor_set(x_257, 1, x_219); +lean_ctor_set(x_257, 2, x_212); +lean_ctor_set(x_257, 3, x_228); +x_258 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_258, 0, x_257); +if (lean_is_scalar(x_230)) { + x_259 = lean_alloc_ctor(0, 2, 0); } else { - x_245 = x_234; + x_259 = x_230; } -lean_ctor_set(x_245, 0, x_244); -lean_ctor_set(x_245, 1, x_233); -return x_245; +lean_ctor_set(x_259, 0, x_258); +lean_ctor_set(x_259, 1, x_229); +return x_259; } } else { -size_t x_246; size_t x_247; uint8_t x_248; -x_246 = lean_ptr_addr(x_198); -lean_dec(x_198); -x_247 = lean_ptr_addr(x_223); -x_248 = lean_usize_dec_eq(x_246, x_247); -if (x_248 == 0) -{ -uint8_t x_249; -lean_dec(x_199); -x_249 = !lean_is_exclusive(x_1); -if (x_249 == 0) -{ -lean_object* x_250; lean_object* x_251; lean_object* x_252; -x_250 = lean_ctor_get(x_1, 0); -lean_dec(x_250); -if (lean_is_scalar(x_207)) { - x_251 = lean_alloc_ctor(0, 4, 0); -} else { - x_251 = x_207; -} -lean_ctor_set(x_251, 0, x_197); -lean_ctor_set(x_251, 1, x_223); -lean_ctor_set(x_251, 2, x_216); -lean_ctor_set(x_251, 3, x_232); -lean_ctor_set(x_1, 0, x_251); -if (lean_is_scalar(x_234)) { - x_252 = lean_alloc_ctor(0, 2, 0); -} else { - x_252 = x_234; -} -lean_ctor_set(x_252, 0, x_1); -lean_ctor_set(x_252, 1, x_233); -return x_252; -} -else -{ -lean_object* x_253; lean_object* x_254; lean_object* x_255; -lean_dec(x_1); -if (lean_is_scalar(x_207)) { - x_253 = lean_alloc_ctor(0, 4, 0); -} else { - x_253 = x_207; -} -lean_ctor_set(x_253, 0, x_197); -lean_ctor_set(x_253, 1, x_223); -lean_ctor_set(x_253, 2, x_216); -lean_ctor_set(x_253, 3, x_232); -x_254 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_254, 0, x_253); -if (lean_is_scalar(x_234)) { - x_255 = lean_alloc_ctor(0, 2, 0); -} else { - x_255 = x_234; -} -lean_ctor_set(x_255, 0, x_254); -lean_ctor_set(x_255, 1, x_233); -return x_255; -} -} -else -{ -uint8_t x_256; -x_256 = lean_name_eq(x_199, x_216); -lean_dec(x_199); -if (x_256 == 0) -{ -uint8_t x_257; -x_257 = !lean_is_exclusive(x_1); -if (x_257 == 0) -{ -lean_object* x_258; lean_object* x_259; lean_object* x_260; -x_258 = lean_ctor_get(x_1, 0); -lean_dec(x_258); -if (lean_is_scalar(x_207)) { - x_259 = lean_alloc_ctor(0, 4, 0); -} else { - x_259 = x_207; -} -lean_ctor_set(x_259, 0, x_197); -lean_ctor_set(x_259, 1, x_223); -lean_ctor_set(x_259, 2, x_216); -lean_ctor_set(x_259, 3, x_232); -lean_ctor_set(x_1, 0, x_259); -if (lean_is_scalar(x_234)) { +lean_object* x_260; +lean_dec(x_228); +lean_dec(x_219); +lean_dec(x_212); +lean_dec(x_203); +lean_dec(x_193); +if (lean_is_scalar(x_230)) { x_260 = lean_alloc_ctor(0, 2, 0); } else { - x_260 = x_234; + x_260 = x_230; } lean_ctor_set(x_260, 0, x_1); -lean_ctor_set(x_260, 1, x_233); +lean_ctor_set(x_260, 1, x_229); return x_260; } -else +} +} +} +block_273: { -lean_object* x_261; lean_object* x_262; lean_object* x_263; -lean_dec(x_1); -if (lean_is_scalar(x_207)) { - x_261 = lean_alloc_ctor(0, 4, 0); -} else { - x_261 = x_207; -} -lean_ctor_set(x_261, 0, x_197); -lean_ctor_set(x_261, 1, x_223); -lean_ctor_set(x_261, 2, x_216); -lean_ctor_set(x_261, 3, x_232); -x_262 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_262, 0, x_261); -if (lean_is_scalar(x_234)) { - x_263 = lean_alloc_ctor(0, 2, 0); -} else { - x_263 = x_234; -} -lean_ctor_set(x_263, 0, x_262); -lean_ctor_set(x_263, 1, x_233); -return x_263; -} -} -else +lean_object* x_264; uint8_t x_265; +lean_dec(x_263); +x_264 = lean_unsigned_to_nat(0u); +x_265 = lean_nat_dec_lt(x_264, x_262); +lean_dec(x_262); +if (x_265 == 0) { -lean_object* x_264; -lean_dec(x_232); -lean_dec(x_223); -lean_dec(x_216); -lean_dec(x_207); -lean_dec(x_197); -if (lean_is_scalar(x_234)) { - x_264 = lean_alloc_ctor(0, 2, 0); -} else { - x_264 = x_234; -} -lean_ctor_set(x_264, 0, x_1); -lean_ctor_set(x_264, 1, x_233); -return x_264; -} -} -} -} -block_277: -{ -lean_object* x_268; uint8_t x_269; +lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; +lean_dec(x_228); +x_266 = l_Lean_Compiler_LCNF_Simp_attachCodeDecls_go___closed__4; +x_267 = l_panic___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltImp___spec__1(x_266); +x_268 = l_Lean_Compiler_LCNF_AltCore_getCode(x_267); lean_dec(x_267); -x_268 = lean_unsigned_to_nat(0u); -x_269 = lean_nat_dec_lt(x_268, x_266); -lean_dec(x_266); -if (x_269 == 0) -{ -lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; -lean_dec(x_232); -x_270 = l_Lean_Compiler_LCNF_Simp_attachCodeDecls_go___closed__4; -x_271 = l_panic___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltImp___spec__1(x_270); -x_272 = l_Lean_Compiler_LCNF_AltCore_getCode(x_271); -lean_dec(x_271); -if (lean_is_scalar(x_230)) { - x_273 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_226)) { + x_269 = lean_alloc_ctor(0, 2, 0); } else { - x_273 = x_230; + x_269 = x_226; } -lean_ctor_set(x_273, 0, x_272); -lean_ctor_set(x_273, 1, x_233); -return x_273; +lean_ctor_set(x_269, 0, x_268); +lean_ctor_set(x_269, 1, x_229); +return x_269; } else { -lean_object* x_274; lean_object* x_275; lean_object* x_276; -x_274 = lean_array_fget(x_232, x_268); -lean_dec(x_232); -x_275 = l_Lean_Compiler_LCNF_AltCore_getCode(x_274); -lean_dec(x_274); -if (lean_is_scalar(x_230)) { - x_276 = lean_alloc_ctor(0, 2, 0); +lean_object* x_270; lean_object* x_271; lean_object* x_272; +x_270 = lean_array_fget(x_228, x_264); +lean_dec(x_228); +x_271 = l_Lean_Compiler_LCNF_AltCore_getCode(x_270); +lean_dec(x_270); +if (lean_is_scalar(x_226)) { + x_272 = lean_alloc_ctor(0, 2, 0); } else { - x_276 = x_230; + x_272 = x_226; } -lean_ctor_set(x_276, 0, x_275); -lean_ctor_set(x_276, 1, x_233); -return x_276; +lean_ctor_set(x_272, 0, x_271); +lean_ctor_set(x_272, 1, x_229); +return x_272; +} +} +} +else +{ +uint8_t x_285; +lean_dec(x_226); +lean_dec(x_219); +lean_dec(x_212); +lean_dec(x_203); +lean_dec(x_196); +lean_dec(x_195); +lean_dec(x_194); +lean_dec(x_193); +lean_dec(x_1); +x_285 = !lean_is_exclusive(x_227); +if (x_285 == 0) +{ +return x_227; +} +else +{ +lean_object* x_286; lean_object* x_287; lean_object* x_288; +x_286 = lean_ctor_get(x_227, 0); +x_287 = lean_ctor_get(x_227, 1); +lean_inc(x_287); +lean_inc(x_286); +lean_dec(x_227); +x_288 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_288, 0, x_286); +lean_ctor_set(x_288, 1, x_287); +return x_288; } } } else { uint8_t x_289; -lean_dec(x_230); -lean_dec(x_223); -lean_dec(x_216); -lean_dec(x_207); -lean_dec(x_200); -lean_dec(x_199); -lean_dec(x_198); -lean_dec(x_197); +lean_dec(x_219); +lean_dec(x_212); +lean_dec(x_203); +lean_dec(x_196); +lean_dec(x_195); +lean_dec(x_194); +lean_dec(x_193); +lean_dec(x_5); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); lean_dec(x_1); -x_289 = !lean_is_exclusive(x_231); +x_289 = !lean_is_exclusive(x_223); if (x_289 == 0) { -return x_231; +return x_223; } else { lean_object* x_290; lean_object* x_291; lean_object* x_292; -x_290 = lean_ctor_get(x_231, 0); -x_291 = lean_ctor_get(x_231, 1); +x_290 = lean_ctor_get(x_223, 0); +x_291 = lean_ctor_get(x_223, 1); lean_inc(x_291); lean_inc(x_290); -lean_dec(x_231); +lean_dec(x_223); x_292 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_292, 0, x_290); lean_ctor_set(x_292, 1, x_291); @@ -27078,378 +26568,342 @@ return x_292; } else { -uint8_t x_293; -lean_dec(x_223); -lean_dec(x_216); -lean_dec(x_207); -lean_dec(x_200); -lean_dec(x_199); -lean_dec(x_198); -lean_dec(x_197); +lean_object* x_293; lean_object* x_294; lean_object* x_295; +lean_dec(x_203); +lean_dec(x_196); +lean_dec(x_195); +lean_dec(x_194); +lean_dec(x_193); +lean_dec(x_1); +x_293 = lean_ctor_get(x_202, 1); +lean_inc(x_293); +lean_dec(x_202); +x_294 = lean_ctor_get(x_204, 0); +lean_inc(x_294); +lean_dec(x_204); +x_295 = l_Lean_Compiler_LCNF_Simp_withAddMustInline___rarg(x_294, x_201, x_2, x_3, x_4, x_5, x_6, x_293); +return x_295; +} +} +else +{ +uint8_t x_296; +lean_dec(x_203); +lean_dec(x_201); +lean_dec(x_196); +lean_dec(x_195); +lean_dec(x_194); +lean_dec(x_193); lean_dec(x_5); lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_293 = !lean_is_exclusive(x_227); -if (x_293 == 0) +x_296 = !lean_is_exclusive(x_202); +if (x_296 == 0) { -return x_227; -} -else -{ -lean_object* x_294; lean_object* x_295; lean_object* x_296; -x_294 = lean_ctor_get(x_227, 0); -x_295 = lean_ctor_get(x_227, 1); -lean_inc(x_295); -lean_inc(x_294); -lean_dec(x_227); -x_296 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_296, 0, x_294); -lean_ctor_set(x_296, 1, x_295); -return x_296; -} -} +return x_202; } else { lean_object* x_297; lean_object* x_298; lean_object* x_299; -lean_dec(x_207); -lean_dec(x_200); -lean_dec(x_199); -lean_dec(x_198); -lean_dec(x_197); -lean_dec(x_1); -x_297 = lean_ctor_get(x_206, 1); -lean_inc(x_297); -lean_dec(x_206); -x_298 = lean_ctor_get(x_208, 0); +x_297 = lean_ctor_get(x_202, 0); +x_298 = lean_ctor_get(x_202, 1); lean_inc(x_298); -lean_dec(x_208); -x_299 = l_Lean_Compiler_LCNF_Simp_withAddMustInline___rarg(x_298, x_205, x_2, x_3, x_4, x_5, x_6, x_297); +lean_inc(x_297); +lean_dec(x_202); +x_299 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_299, 0, x_297); +lean_ctor_set(x_299, 1, x_298); return x_299; } } +} else { uint8_t x_300; -lean_dec(x_207); -lean_dec(x_205); -lean_dec(x_200); -lean_dec(x_199); -lean_dec(x_198); -lean_dec(x_197); +lean_dec(x_189); lean_dec(x_5); lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_300 = !lean_is_exclusive(x_206); +x_300 = !lean_is_exclusive(x_190); if (x_300 == 0) { -return x_206; -} -else -{ -lean_object* x_301; lean_object* x_302; lean_object* x_303; -x_301 = lean_ctor_get(x_206, 0); -x_302 = lean_ctor_get(x_206, 1); +lean_object* x_301; lean_object* x_302; +x_301 = lean_ctor_get(x_190, 0); +lean_dec(x_301); +x_302 = lean_ctor_get(x_191, 0); lean_inc(x_302); -lean_inc(x_301); -lean_dec(x_206); -x_303 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_303, 0, x_301); -lean_ctor_set(x_303, 1, x_302); -return x_303; +lean_dec(x_191); +lean_ctor_set(x_190, 0, x_302); +return x_190; +} +else +{ +lean_object* x_303; lean_object* x_304; lean_object* x_305; +x_303 = lean_ctor_get(x_190, 1); +lean_inc(x_303); +lean_dec(x_190); +x_304 = lean_ctor_get(x_191, 0); +lean_inc(x_304); +lean_dec(x_191); +x_305 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_305, 0, x_304); +lean_ctor_set(x_305, 1, x_303); +return x_305; } } } else { -uint8_t x_304; -lean_dec(x_193); +uint8_t x_306; +lean_dec(x_189); lean_dec(x_5); 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_194); -if (x_304 == 0) +x_306 = !lean_is_exclusive(x_190); +if (x_306 == 0) { -lean_object* x_305; lean_object* x_306; -x_305 = lean_ctor_get(x_194, 0); -lean_dec(x_305); -x_306 = lean_ctor_get(x_195, 0); -lean_inc(x_306); -lean_dec(x_195); -lean_ctor_set(x_194, 0, x_306); -return x_194; +return x_190; } else { lean_object* x_307; lean_object* x_308; lean_object* x_309; -x_307 = lean_ctor_get(x_194, 1); -lean_inc(x_307); -lean_dec(x_194); -x_308 = lean_ctor_get(x_195, 0); +x_307 = lean_ctor_get(x_190, 0); +x_308 = lean_ctor_get(x_190, 1); lean_inc(x_308); -lean_dec(x_195); -x_309 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_309, 0, x_308); -lean_ctor_set(x_309, 1, x_307); +lean_inc(x_307); +lean_dec(x_190); +x_309 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_309, 0, x_307); +lean_ctor_set(x_309, 1, x_308); return x_309; } } } -else -{ -uint8_t x_310; -lean_dec(x_193); -lean_dec(x_5); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_310 = !lean_is_exclusive(x_194); -if (x_310 == 0) -{ -return x_194; -} -else -{ -lean_object* x_311; lean_object* x_312; lean_object* x_313; -x_311 = lean_ctor_get(x_194, 0); -x_312 = lean_ctor_get(x_194, 1); -lean_inc(x_312); -lean_inc(x_311); -lean_dec(x_194); -x_313 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_313, 0, x_311); -lean_ctor_set(x_313, 1, x_312); -return x_313; -} -} -} case 5: { -lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; uint8_t x_324; -x_314 = lean_ctor_get(x_34, 1); -lean_inc(x_314); +lean_object* x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; uint8_t x_320; +x_310 = lean_ctor_get(x_34, 1); +lean_inc(x_310); lean_dec(x_34); -x_315 = lean_ctor_get(x_1, 0); +x_311 = lean_ctor_get(x_1, 0); +lean_inc(x_311); +x_312 = lean_st_ref_get(x_6, x_310); +x_313 = lean_ctor_get(x_312, 1); +lean_inc(x_313); +lean_dec(x_312); +x_314 = lean_st_ref_get(x_3, x_313); +x_315 = lean_ctor_get(x_314, 0); lean_inc(x_315); -x_316 = lean_st_ref_get(x_6, x_314); -x_317 = lean_ctor_get(x_316, 1); +x_316 = lean_ctor_get(x_314, 1); +lean_inc(x_316); +lean_dec(x_314); +x_317 = lean_ctor_get(x_315, 0); lean_inc(x_317); -lean_dec(x_316); -x_318 = lean_st_ref_get(x_3, x_317); -x_319 = lean_ctor_get(x_318, 0); -lean_inc(x_319); -x_320 = lean_ctor_get(x_318, 1); -lean_inc(x_320); -lean_dec(x_318); -x_321 = lean_ctor_get(x_319, 0); -lean_inc(x_321); -lean_dec(x_319); -lean_inc(x_315); -x_322 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_321, x_315); -lean_inc(x_322); -x_323 = l_Lean_Compiler_LCNF_Simp_markUsedFVar(x_322, x_2, x_3, x_4, x_5, x_6, x_320); +lean_dec(x_315); +lean_inc(x_311); +x_318 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_317, x_311); +lean_inc(x_318); +x_319 = l_Lean_Compiler_LCNF_Simp_markUsedFVar(x_318, x_2, x_3, x_4, x_5, x_6, x_316); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_324 = !lean_is_exclusive(x_323); -if (x_324 == 0) +x_320 = !lean_is_exclusive(x_319); +if (x_320 == 0) { -lean_object* x_325; uint8_t x_326; -x_325 = lean_ctor_get(x_323, 0); -lean_dec(x_325); -x_326 = lean_name_eq(x_315, x_322); -lean_dec(x_315); -if (x_326 == 0) +lean_object* x_321; uint8_t x_322; +x_321 = lean_ctor_get(x_319, 0); +lean_dec(x_321); +x_322 = lean_name_eq(x_311, x_318); +lean_dec(x_311); +if (x_322 == 0) { -uint8_t x_327; -x_327 = !lean_is_exclusive(x_1); +uint8_t x_323; +x_323 = !lean_is_exclusive(x_1); +if (x_323 == 0) +{ +lean_object* x_324; +x_324 = lean_ctor_get(x_1, 0); +lean_dec(x_324); +lean_ctor_set(x_1, 0, x_318); +lean_ctor_set(x_319, 0, x_1); +return x_319; +} +else +{ +lean_object* x_325; +lean_dec(x_1); +x_325 = lean_alloc_ctor(5, 1, 0); +lean_ctor_set(x_325, 0, x_318); +lean_ctor_set(x_319, 0, x_325); +return x_319; +} +} +else +{ +lean_dec(x_318); +lean_ctor_set(x_319, 0, x_1); +return x_319; +} +} +else +{ +lean_object* x_326; uint8_t x_327; +x_326 = lean_ctor_get(x_319, 1); +lean_inc(x_326); +lean_dec(x_319); +x_327 = lean_name_eq(x_311, x_318); +lean_dec(x_311); if (x_327 == 0) { -lean_object* x_328; -x_328 = lean_ctor_get(x_1, 0); -lean_dec(x_328); -lean_ctor_set(x_1, 0, x_322); -lean_ctor_set(x_323, 0, x_1); -return x_323; -} -else -{ -lean_object* x_329; -lean_dec(x_1); -x_329 = lean_alloc_ctor(5, 1, 0); -lean_ctor_set(x_329, 0, x_322); -lean_ctor_set(x_323, 0, x_329); -return x_323; -} -} -else -{ -lean_dec(x_322); -lean_ctor_set(x_323, 0, x_1); -return x_323; -} -} -else -{ -lean_object* x_330; uint8_t x_331; -x_330 = lean_ctor_get(x_323, 1); -lean_inc(x_330); -lean_dec(x_323); -x_331 = lean_name_eq(x_315, x_322); -lean_dec(x_315); -if (x_331 == 0) -{ -lean_object* x_332; lean_object* x_333; lean_object* x_334; +lean_object* x_328; lean_object* x_329; lean_object* x_330; if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); - x_332 = x_1; + x_328 = x_1; } else { lean_dec_ref(x_1); - x_332 = lean_box(0); + x_328 = lean_box(0); } -if (lean_is_scalar(x_332)) { - x_333 = lean_alloc_ctor(5, 1, 0); +if (lean_is_scalar(x_328)) { + x_329 = lean_alloc_ctor(5, 1, 0); } else { - x_333 = x_332; + x_329 = x_328; } -lean_ctor_set(x_333, 0, x_322); -x_334 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_334, 0, x_333); -lean_ctor_set(x_334, 1, x_330); -return x_334; +lean_ctor_set(x_329, 0, x_318); +x_330 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_330, 0, x_329); +lean_ctor_set(x_330, 1, x_326); +return x_330; } else { -lean_object* x_335; -lean_dec(x_322); -x_335 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_335, 0, x_1); -lean_ctor_set(x_335, 1, x_330); -return x_335; +lean_object* x_331; +lean_dec(x_318); +x_331 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_331, 0, x_1); +lean_ctor_set(x_331, 1, x_326); +return x_331; } } } default: { -lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; uint8_t x_341; +lean_object* x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; uint8_t x_337; lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); -x_336 = lean_ctor_get(x_34, 1); -lean_inc(x_336); +x_332 = lean_ctor_get(x_34, 1); +lean_inc(x_332); lean_dec(x_34); -x_337 = lean_ctor_get(x_1, 0); -lean_inc(x_337); -x_338 = lean_st_ref_get(x_6, x_336); +x_333 = lean_ctor_get(x_1, 0); +lean_inc(x_333); +x_334 = lean_st_ref_get(x_6, x_332); lean_dec(x_6); -x_339 = lean_ctor_get(x_338, 1); +x_335 = lean_ctor_get(x_334, 1); +lean_inc(x_335); +lean_dec(x_334); +x_336 = lean_st_ref_get(x_3, x_335); +lean_dec(x_3); +x_337 = !lean_is_exclusive(x_336); +if (x_337 == 0) +{ +lean_object* x_338; lean_object* x_339; lean_object* x_340; size_t x_341; size_t x_342; uint8_t x_343; +x_338 = lean_ctor_get(x_336, 0); +x_339 = lean_ctor_get(x_338, 0); lean_inc(x_339); lean_dec(x_338); -x_340 = lean_st_ref_get(x_3, x_339); -lean_dec(x_3); -x_341 = !lean_is_exclusive(x_340); -if (x_341 == 0) +lean_inc(x_333); +x_340 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_339, x_333); +x_341 = lean_ptr_addr(x_333); +lean_dec(x_333); +x_342 = lean_ptr_addr(x_340); +x_343 = lean_usize_dec_eq(x_341, x_342); +if (x_343 == 0) { -lean_object* x_342; lean_object* x_343; lean_object* x_344; size_t x_345; size_t x_346; uint8_t x_347; -x_342 = lean_ctor_get(x_340, 0); -x_343 = lean_ctor_get(x_342, 0); -lean_inc(x_343); -lean_dec(x_342); -lean_inc(x_337); -x_344 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_343, x_337); -x_345 = lean_ptr_addr(x_337); -lean_dec(x_337); -x_346 = lean_ptr_addr(x_344); -x_347 = lean_usize_dec_eq(x_345, x_346); -if (x_347 == 0) +uint8_t x_344; +x_344 = !lean_is_exclusive(x_1); +if (x_344 == 0) { -uint8_t x_348; -x_348 = !lean_is_exclusive(x_1); -if (x_348 == 0) -{ -lean_object* x_349; -x_349 = lean_ctor_get(x_1, 0); -lean_dec(x_349); -lean_ctor_set(x_1, 0, x_344); -lean_ctor_set(x_340, 0, x_1); -return x_340; +lean_object* x_345; +x_345 = lean_ctor_get(x_1, 0); +lean_dec(x_345); +lean_ctor_set(x_1, 0, x_340); +lean_ctor_set(x_336, 0, x_1); +return x_336; } else { -lean_object* x_350; +lean_object* x_346; lean_dec(x_1); -x_350 = lean_alloc_ctor(6, 1, 0); -lean_ctor_set(x_350, 0, x_344); -lean_ctor_set(x_340, 0, x_350); -return x_340; +x_346 = lean_alloc_ctor(6, 1, 0); +lean_ctor_set(x_346, 0, x_340); +lean_ctor_set(x_336, 0, x_346); +return x_336; } } else { -lean_dec(x_344); -lean_ctor_set(x_340, 0, x_1); -return x_340; -} -} -else -{ -lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; size_t x_355; size_t x_356; uint8_t x_357; -x_351 = lean_ctor_get(x_340, 0); -x_352 = lean_ctor_get(x_340, 1); -lean_inc(x_352); -lean_inc(x_351); lean_dec(x_340); -x_353 = lean_ctor_get(x_351, 0); -lean_inc(x_353); -lean_dec(x_351); -lean_inc(x_337); -x_354 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_353, x_337); -x_355 = lean_ptr_addr(x_337); -lean_dec(x_337); -x_356 = lean_ptr_addr(x_354); -x_357 = lean_usize_dec_eq(x_355, x_356); -if (x_357 == 0) +lean_ctor_set(x_336, 0, x_1); +return x_336; +} +} +else { -lean_object* x_358; lean_object* x_359; lean_object* x_360; +lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; size_t x_351; size_t x_352; uint8_t x_353; +x_347 = lean_ctor_get(x_336, 0); +x_348 = lean_ctor_get(x_336, 1); +lean_inc(x_348); +lean_inc(x_347); +lean_dec(x_336); +x_349 = lean_ctor_get(x_347, 0); +lean_inc(x_349); +lean_dec(x_347); +lean_inc(x_333); +x_350 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_349, x_333); +x_351 = lean_ptr_addr(x_333); +lean_dec(x_333); +x_352 = lean_ptr_addr(x_350); +x_353 = lean_usize_dec_eq(x_351, x_352); +if (x_353 == 0) +{ +lean_object* x_354; lean_object* x_355; lean_object* x_356; if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); - x_358 = x_1; + x_354 = x_1; } else { lean_dec_ref(x_1); - x_358 = lean_box(0); + x_354 = lean_box(0); } -if (lean_is_scalar(x_358)) { - x_359 = lean_alloc_ctor(6, 1, 0); +if (lean_is_scalar(x_354)) { + x_355 = lean_alloc_ctor(6, 1, 0); } else { - x_359 = x_358; + x_355 = x_354; } -lean_ctor_set(x_359, 0, x_354); -x_360 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_360, 0, x_359); -lean_ctor_set(x_360, 1, x_352); -return x_360; +lean_ctor_set(x_355, 0, x_350); +x_356 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_356, 0, x_355); +lean_ctor_set(x_356, 1, x_348); +return x_356; } else { -lean_object* x_361; -lean_dec(x_354); -x_361 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_361, 0, x_1); -lean_ctor_set(x_361, 1, x_352); -return x_361; +lean_object* x_357; +lean_dec(x_350); +x_357 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_357, 0, x_1); +lean_ctor_set(x_357, 1, x_348); +return x_357; } } } @@ -27457,1269 +26911,1297 @@ return x_361; } else { -lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; +lean_object* x_358; lean_object* x_359; lean_object* x_360; lean_object* x_361; lean_dec(x_5); -x_362 = lean_unsigned_to_nat(1u); -x_363 = lean_nat_add(x_11, x_362); +x_358 = lean_unsigned_to_nat(1u); +x_359 = lean_nat_add(x_11, x_358); lean_dec(x_11); -x_364 = lean_alloc_ctor(0, 11, 0); -lean_ctor_set(x_364, 0, x_8); -lean_ctor_set(x_364, 1, x_9); -lean_ctor_set(x_364, 2, x_10); -lean_ctor_set(x_364, 3, x_363); -lean_ctor_set(x_364, 4, x_12); -lean_ctor_set(x_364, 5, x_13); -lean_ctor_set(x_364, 6, x_14); -lean_ctor_set(x_364, 7, x_15); -lean_ctor_set(x_364, 8, x_16); -lean_ctor_set(x_364, 9, x_17); -lean_ctor_set(x_364, 10, x_18); -x_365 = l_Lean_Compiler_LCNF_Simp_incVisited___rarg(x_3, x_4, x_364, x_6, x_7); +x_360 = lean_alloc_ctor(0, 11, 0); +lean_ctor_set(x_360, 0, x_8); +lean_ctor_set(x_360, 1, x_9); +lean_ctor_set(x_360, 2, x_10); +lean_ctor_set(x_360, 3, x_359); +lean_ctor_set(x_360, 4, x_12); +lean_ctor_set(x_360, 5, x_13); +lean_ctor_set(x_360, 6, x_14); +lean_ctor_set(x_360, 7, x_15); +lean_ctor_set(x_360, 8, x_16); +lean_ctor_set(x_360, 9, x_17); +lean_ctor_set(x_360, 10, x_18); +x_361 = l_Lean_Compiler_LCNF_Simp_incVisited___rarg(x_3, x_4, x_360, x_6, x_7); switch (lean_obj_tag(x_1)) { case 0: { -lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369; lean_object* x_370; lean_object* x_371; lean_object* x_372; lean_object* x_373; -x_366 = lean_ctor_get(x_365, 1); +lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369; lean_object* x_370; +x_362 = lean_ctor_get(x_361, 1); +lean_inc(x_362); +lean_dec(x_361); +x_363 = lean_ctor_get(x_1, 0); +lean_inc(x_363); +x_364 = lean_ctor_get(x_1, 1); +lean_inc(x_364); +lean_inc(x_363); +x_365 = l_Lean_Compiler_LCNF_normLetDecl___at_Lean_Compiler_LCNF_Simp_simp___spec__1(x_363, x_2, x_3, x_4, x_360, x_6, x_362); +x_366 = lean_ctor_get(x_365, 0); lean_inc(x_366); +x_367 = lean_ctor_get(x_365, 1); +lean_inc(x_367); lean_dec(x_365); -x_367 = lean_ctor_get(x_1, 0); -lean_inc(x_367); -x_368 = lean_ctor_get(x_1, 1); +x_368 = lean_ctor_get(x_366, 3); lean_inc(x_368); -lean_inc(x_367); -x_369 = l_Lean_Compiler_LCNF_normLetDecl___at_Lean_Compiler_LCNF_Simp_simp___spec__1(x_367, x_2, x_3, x_4, x_364, x_6, x_366); +x_369 = l_Lean_Compiler_LCNF_Simp_simpValue_x3f(x_368, x_2, x_3, x_4, x_360, x_6, x_367); x_370 = lean_ctor_get(x_369, 0); lean_inc(x_370); +if (lean_obj_tag(x_370) == 0) +{ +lean_object* x_371; lean_object* x_372; lean_object* x_373; x_371 = lean_ctor_get(x_369, 1); lean_inc(x_371); lean_dec(x_369); -x_372 = lean_ctor_get(x_370, 3); -lean_inc(x_372); -x_373 = l_Lean_Compiler_LCNF_Simp_simpValue_x3f(x_372, x_2, x_3, x_4, x_364, x_6, x_371); -if (lean_obj_tag(x_373) == 0) +x_372 = lean_box(0); +x_373 = l_Lean_Compiler_LCNF_Simp_simp___lambda__1(x_364, x_363, x_1, x_366, x_372, x_2, x_3, x_4, x_360, x_6, x_371); +return x_373; +} +else { -lean_object* x_374; -x_374 = lean_ctor_get(x_373, 0); +lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; +x_374 = lean_ctor_get(x_369, 1); lean_inc(x_374); -if (lean_obj_tag(x_374) == 0) -{ -lean_object* x_375; lean_object* x_376; lean_object* x_377; -x_375 = lean_ctor_get(x_373, 1); +lean_dec(x_369); +x_375 = lean_ctor_get(x_370, 0); lean_inc(x_375); -lean_dec(x_373); -x_376 = lean_box(0); -x_377 = l_Lean_Compiler_LCNF_Simp_simp___lambda__1(x_368, x_367, x_1, x_370, x_376, x_2, x_3, x_4, x_364, x_6, x_375); -return x_377; -} -else -{ -lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382; lean_object* x_383; lean_object* x_384; -x_378 = lean_ctor_get(x_373, 1); -lean_inc(x_378); -lean_dec(x_373); -x_379 = lean_ctor_get(x_374, 0); -lean_inc(x_379); -lean_dec(x_374); -x_380 = l_Lean_Compiler_LCNF_LetDecl_updateValue(x_370, x_379, x_4, x_364, x_6, x_378); -x_381 = lean_ctor_get(x_380, 0); -lean_inc(x_381); -x_382 = lean_ctor_get(x_380, 1); -lean_inc(x_382); -lean_dec(x_380); -x_383 = lean_box(0); -x_384 = l_Lean_Compiler_LCNF_Simp_simp___lambda__1(x_368, x_367, x_1, x_381, x_383, x_2, x_3, x_4, x_364, x_6, x_382); -return x_384; -} -} -else -{ -lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_dec(x_370); -lean_dec(x_368); -lean_dec(x_367); -lean_dec(x_364); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_385 = lean_ctor_get(x_373, 0); -lean_inc(x_385); -x_386 = lean_ctor_get(x_373, 1); -lean_inc(x_386); -if (lean_is_exclusive(x_373)) { - lean_ctor_release(x_373, 0); - lean_ctor_release(x_373, 1); - x_387 = x_373; -} else { - lean_dec_ref(x_373); - x_387 = lean_box(0); -} -if (lean_is_scalar(x_387)) { - x_388 = lean_alloc_ctor(1, 2, 0); -} else { - x_388 = x_387; -} -lean_ctor_set(x_388, 0, x_385); -lean_ctor_set(x_388, 1, x_386); -return x_388; +x_376 = l_Lean_Compiler_LCNF_LetDecl_updateValue(x_366, x_375, x_4, x_360, x_6, x_374); +x_377 = lean_ctor_get(x_376, 0); +lean_inc(x_377); +x_378 = lean_ctor_get(x_376, 1); +lean_inc(x_378); +lean_dec(x_376); +x_379 = lean_box(0); +x_380 = l_Lean_Compiler_LCNF_Simp_simp___lambda__1(x_364, x_363, x_1, x_377, x_379, x_2, x_3, x_4, x_360, x_6, x_378); +return x_380; } } case 1: { -lean_object* x_389; lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; uint8_t x_395; -x_389 = lean_ctor_get(x_365, 1); -lean_inc(x_389); -lean_dec(x_365); -x_390 = lean_ctor_get(x_1, 0); -lean_inc(x_390); -x_391 = lean_ctor_get(x_1, 1); -lean_inc(x_391); -x_392 = lean_ctor_get(x_390, 0); -lean_inc(x_392); -x_393 = l_Lean_Compiler_LCNF_Simp_isOnceOrMustInline(x_392, x_2, x_3, x_4, x_364, x_6, x_389); +lean_object* x_381; lean_object* x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; uint8_t x_387; +x_381 = lean_ctor_get(x_361, 1); +lean_inc(x_381); +lean_dec(x_361); +x_382 = lean_ctor_get(x_1, 0); +lean_inc(x_382); +x_383 = lean_ctor_get(x_1, 1); +lean_inc(x_383); +x_384 = lean_ctor_get(x_382, 0); +lean_inc(x_384); +x_385 = l_Lean_Compiler_LCNF_Simp_isOnceOrMustInline(x_384, x_2, x_3, x_4, x_360, x_6, x_381); +x_386 = lean_ctor_get(x_385, 0); +lean_inc(x_386); +x_387 = lean_unbox(x_386); +if (x_387 == 0) +{ +lean_object* x_388; lean_object* x_389; uint8_t x_390; +x_388 = lean_ctor_get(x_385, 1); +lean_inc(x_388); +lean_dec(x_385); +lean_inc(x_1); +lean_inc(x_382); +x_389 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_simp___lambda__3___boxed), 12, 4); +lean_closure_set(x_389, 0, x_383); +lean_closure_set(x_389, 1, x_382); +lean_closure_set(x_389, 2, x_1); +lean_closure_set(x_389, 3, x_386); +x_390 = l_Lean_Compiler_LCNF_Code_isFun(x_1); +lean_dec(x_1); +if (x_390 == 0) +{ +lean_object* x_391; lean_object* x_392; +x_391 = lean_box(0); +x_392 = l_Lean_Compiler_LCNF_Simp_simp___lambda__4(x_389, x_382, x_391, x_2, x_3, x_4, x_360, x_6, x_388); +return x_392; +} +else +{ +lean_object* x_393; +lean_inc(x_6); +lean_inc(x_360); +lean_inc(x_4); +x_393 = l_Lean_Compiler_LCNF_FunDeclCore_etaExpand(x_382, x_4, x_360, x_6, x_388); +if (lean_obj_tag(x_393) == 0) +{ +lean_object* x_394; lean_object* x_395; lean_object* x_396; lean_object* x_397; x_394 = lean_ctor_get(x_393, 0); lean_inc(x_394); -x_395 = lean_unbox(x_394); -if (x_395 == 0) -{ -lean_object* x_396; lean_object* x_397; uint8_t x_398; -x_396 = lean_ctor_get(x_393, 1); -lean_inc(x_396); +x_395 = lean_ctor_get(x_393, 1); +lean_inc(x_395); lean_dec(x_393); -lean_inc(x_1); -lean_inc(x_390); -x_397 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_simp___lambda__3___boxed), 12, 4); -lean_closure_set(x_397, 0, x_391); -lean_closure_set(x_397, 1, x_390); -lean_closure_set(x_397, 2, x_1); -lean_closure_set(x_397, 3, x_394); -x_398 = l_Lean_Compiler_LCNF_Code_isFun(x_1); -lean_dec(x_1); -if (x_398 == 0) -{ -lean_object* x_399; lean_object* x_400; -x_399 = lean_box(0); -x_400 = l_Lean_Compiler_LCNF_Simp_simp___lambda__4(x_397, x_390, x_399, x_2, x_3, x_4, x_364, x_6, x_396); -return x_400; +x_396 = lean_box(0); +x_397 = l_Lean_Compiler_LCNF_Simp_simp___lambda__4(x_389, x_394, x_396, x_2, x_3, x_4, x_360, x_6, x_395); +return x_397; } else { -lean_object* x_401; -lean_inc(x_6); -lean_inc(x_364); -lean_inc(x_4); -x_401 = l_Lean_Compiler_LCNF_FunDeclCore_etaExpand(x_390, x_4, x_364, x_6, x_396); -if (lean_obj_tag(x_401) == 0) +lean_object* x_398; lean_object* x_399; lean_object* x_400; lean_object* x_401; +lean_dec(x_389); +lean_dec(x_360); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_398 = lean_ctor_get(x_393, 0); +lean_inc(x_398); +x_399 = lean_ctor_get(x_393, 1); +lean_inc(x_399); +if (lean_is_exclusive(x_393)) { + lean_ctor_release(x_393, 0); + lean_ctor_release(x_393, 1); + x_400 = x_393; +} else { + lean_dec_ref(x_393); + x_400 = lean_box(0); +} +if (lean_is_scalar(x_400)) { + x_401 = lean_alloc_ctor(1, 2, 0); +} else { + x_401 = x_400; +} +lean_ctor_set(x_401, 0, x_398); +lean_ctor_set(x_401, 1, x_399); +return x_401; +} +} +} +else { -lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; -x_402 = lean_ctor_get(x_401, 0); +lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; +x_402 = lean_ctor_get(x_385, 1); lean_inc(x_402); -x_403 = lean_ctor_get(x_401, 1); -lean_inc(x_403); -lean_dec(x_401); -x_404 = lean_box(0); -x_405 = l_Lean_Compiler_LCNF_Simp_simp___lambda__4(x_397, x_402, x_404, x_2, x_3, x_4, x_364, x_6, x_403); -return x_405; -} -else -{ -lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; -lean_dec(x_397); -lean_dec(x_364); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_406 = lean_ctor_get(x_401, 0); +lean_dec(x_385); +x_403 = lean_st_ref_get(x_6, x_402); +x_404 = lean_ctor_get(x_403, 1); +lean_inc(x_404); +lean_dec(x_403); +x_405 = lean_st_ref_get(x_3, x_404); +x_406 = lean_ctor_get(x_405, 0); lean_inc(x_406); -x_407 = lean_ctor_get(x_401, 1); +x_407 = lean_ctor_get(x_405, 1); lean_inc(x_407); -if (lean_is_exclusive(x_401)) { - lean_ctor_release(x_401, 0); - lean_ctor_release(x_401, 1); - x_408 = x_401; -} else { - lean_dec_ref(x_401); - x_408 = lean_box(0); -} -if (lean_is_scalar(x_408)) { - x_409 = lean_alloc_ctor(1, 2, 0); -} else { - x_409 = x_408; -} -lean_ctor_set(x_409, 0, x_406); -lean_ctor_set(x_409, 1, x_407); -return x_409; -} -} -} -else -{ -lean_object* x_410; lean_object* x_411; lean_object* x_412; lean_object* x_413; lean_object* x_414; lean_object* x_415; lean_object* x_416; lean_object* x_417; -x_410 = lean_ctor_get(x_393, 1); -lean_inc(x_410); -lean_dec(x_393); -x_411 = lean_st_ref_get(x_6, x_410); -x_412 = lean_ctor_get(x_411, 1); -lean_inc(x_412); -lean_dec(x_411); -x_413 = lean_st_ref_get(x_3, x_412); -x_414 = lean_ctor_get(x_413, 0); -lean_inc(x_414); -x_415 = lean_ctor_get(x_413, 1); -lean_inc(x_415); -lean_dec(x_413); -x_416 = lean_ctor_get(x_414, 0); -lean_inc(x_416); -lean_dec(x_414); +lean_dec(x_405); +x_408 = lean_ctor_get(x_406, 0); +lean_inc(x_408); +lean_dec(x_406); lean_inc(x_6); -lean_inc(x_364); +lean_inc(x_360); lean_inc(x_4); -lean_inc(x_390); -x_417 = l_Lean_Compiler_LCNF_normFunDeclImp(x_390, x_416, x_4, x_364, x_6, x_415); -if (lean_obj_tag(x_417) == 0) +lean_inc(x_382); +x_409 = l_Lean_Compiler_LCNF_normFunDeclImp(x_382, x_408, x_4, x_360, x_6, x_407); +if (lean_obj_tag(x_409) == 0) { -lean_object* x_418; lean_object* x_419; lean_object* x_420; uint8_t x_421; lean_object* x_422; -x_418 = lean_ctor_get(x_417, 0); -lean_inc(x_418); -x_419 = lean_ctor_get(x_417, 1); -lean_inc(x_419); -lean_dec(x_417); -x_420 = lean_box(0); -x_421 = lean_unbox(x_394); -lean_dec(x_394); -x_422 = l_Lean_Compiler_LCNF_Simp_simp___lambda__3(x_391, x_390, x_1, x_421, x_418, x_420, x_2, x_3, x_4, x_364, x_6, x_419); -return x_422; +lean_object* x_410; lean_object* x_411; lean_object* x_412; uint8_t x_413; lean_object* x_414; +x_410 = lean_ctor_get(x_409, 0); +lean_inc(x_410); +x_411 = lean_ctor_get(x_409, 1); +lean_inc(x_411); +lean_dec(x_409); +x_412 = lean_box(0); +x_413 = lean_unbox(x_386); +lean_dec(x_386); +x_414 = l_Lean_Compiler_LCNF_Simp_simp___lambda__3(x_383, x_382, x_1, x_413, x_410, x_412, x_2, x_3, x_4, x_360, x_6, x_411); +return x_414; } else { -lean_object* x_423; lean_object* x_424; lean_object* x_425; lean_object* x_426; -lean_dec(x_394); -lean_dec(x_391); -lean_dec(x_390); -lean_dec(x_364); +lean_object* x_415; lean_object* x_416; lean_object* x_417; lean_object* x_418; +lean_dec(x_386); +lean_dec(x_383); +lean_dec(x_382); +lean_dec(x_360); lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_423 = lean_ctor_get(x_417, 0); -lean_inc(x_423); -x_424 = lean_ctor_get(x_417, 1); -lean_inc(x_424); -if (lean_is_exclusive(x_417)) { - lean_ctor_release(x_417, 0); - lean_ctor_release(x_417, 1); - x_425 = x_417; +x_415 = lean_ctor_get(x_409, 0); +lean_inc(x_415); +x_416 = lean_ctor_get(x_409, 1); +lean_inc(x_416); +if (lean_is_exclusive(x_409)) { + lean_ctor_release(x_409, 0); + lean_ctor_release(x_409, 1); + x_417 = x_409; } else { - lean_dec_ref(x_417); - x_425 = lean_box(0); + lean_dec_ref(x_409); + x_417 = lean_box(0); } -if (lean_is_scalar(x_425)) { - x_426 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_417)) { + x_418 = lean_alloc_ctor(1, 2, 0); } else { - x_426 = x_425; + x_418 = x_417; } -lean_ctor_set(x_426, 0, x_423); -lean_ctor_set(x_426, 1, x_424); -return x_426; +lean_ctor_set(x_418, 0, x_415); +lean_ctor_set(x_418, 1, x_416); +return x_418; } } } case 2: { -lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_object* x_432; uint8_t x_433; -x_427 = lean_ctor_get(x_365, 1); -lean_inc(x_427); -lean_dec(x_365); -x_428 = lean_ctor_get(x_1, 0); -lean_inc(x_428); -x_429 = lean_ctor_get(x_1, 1); -lean_inc(x_429); -x_430 = lean_ctor_get(x_428, 0); -lean_inc(x_430); -x_431 = l_Lean_Compiler_LCNF_Simp_isOnceOrMustInline(x_430, x_2, x_3, x_4, x_364, x_6, x_427); +lean_object* x_419; lean_object* x_420; lean_object* x_421; lean_object* x_422; lean_object* x_423; lean_object* x_424; uint8_t x_425; +x_419 = lean_ctor_get(x_361, 1); +lean_inc(x_419); +lean_dec(x_361); +x_420 = lean_ctor_get(x_1, 0); +lean_inc(x_420); +x_421 = lean_ctor_get(x_1, 1); +lean_inc(x_421); +x_422 = lean_ctor_get(x_420, 0); +lean_inc(x_422); +x_423 = l_Lean_Compiler_LCNF_Simp_isOnceOrMustInline(x_422, x_2, x_3, x_4, x_360, x_6, x_419); +x_424 = lean_ctor_get(x_423, 0); +lean_inc(x_424); +x_425 = lean_unbox(x_424); +if (x_425 == 0) +{ +lean_object* x_426; lean_object* x_427; uint8_t x_428; +x_426 = lean_ctor_get(x_423, 1); +lean_inc(x_426); +lean_dec(x_423); +lean_inc(x_1); +lean_inc(x_420); +x_427 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_simp___lambda__6___boxed), 12, 4); +lean_closure_set(x_427, 0, x_421); +lean_closure_set(x_427, 1, x_420); +lean_closure_set(x_427, 2, x_1); +lean_closure_set(x_427, 3, x_424); +x_428 = l_Lean_Compiler_LCNF_Code_isFun(x_1); +lean_dec(x_1); +if (x_428 == 0) +{ +lean_object* x_429; lean_object* x_430; +x_429 = lean_box(0); +x_430 = l_Lean_Compiler_LCNF_Simp_simp___lambda__4(x_427, x_420, x_429, x_2, x_3, x_4, x_360, x_6, x_426); +return x_430; +} +else +{ +lean_object* x_431; +lean_inc(x_6); +lean_inc(x_360); +lean_inc(x_4); +x_431 = l_Lean_Compiler_LCNF_FunDeclCore_etaExpand(x_420, x_4, x_360, x_6, x_426); +if (lean_obj_tag(x_431) == 0) +{ +lean_object* x_432; lean_object* x_433; lean_object* x_434; lean_object* x_435; x_432 = lean_ctor_get(x_431, 0); lean_inc(x_432); -x_433 = lean_unbox(x_432); -if (x_433 == 0) -{ -lean_object* x_434; lean_object* x_435; uint8_t x_436; -x_434 = lean_ctor_get(x_431, 1); -lean_inc(x_434); +x_433 = lean_ctor_get(x_431, 1); +lean_inc(x_433); lean_dec(x_431); -lean_inc(x_1); -lean_inc(x_428); -x_435 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_simp___lambda__6___boxed), 12, 4); -lean_closure_set(x_435, 0, x_429); -lean_closure_set(x_435, 1, x_428); -lean_closure_set(x_435, 2, x_1); -lean_closure_set(x_435, 3, x_432); -x_436 = l_Lean_Compiler_LCNF_Code_isFun(x_1); -lean_dec(x_1); -if (x_436 == 0) -{ -lean_object* x_437; lean_object* x_438; -x_437 = lean_box(0); -x_438 = l_Lean_Compiler_LCNF_Simp_simp___lambda__4(x_435, x_428, x_437, x_2, x_3, x_4, x_364, x_6, x_434); -return x_438; +x_434 = lean_box(0); +x_435 = l_Lean_Compiler_LCNF_Simp_simp___lambda__4(x_427, x_432, x_434, x_2, x_3, x_4, x_360, x_6, x_433); +return x_435; } else { -lean_object* x_439; -lean_inc(x_6); -lean_inc(x_364); -lean_inc(x_4); -x_439 = l_Lean_Compiler_LCNF_FunDeclCore_etaExpand(x_428, x_4, x_364, x_6, x_434); -if (lean_obj_tag(x_439) == 0) +lean_object* x_436; lean_object* x_437; lean_object* x_438; lean_object* x_439; +lean_dec(x_427); +lean_dec(x_360); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_436 = lean_ctor_get(x_431, 0); +lean_inc(x_436); +x_437 = lean_ctor_get(x_431, 1); +lean_inc(x_437); +if (lean_is_exclusive(x_431)) { + lean_ctor_release(x_431, 0); + lean_ctor_release(x_431, 1); + x_438 = x_431; +} else { + lean_dec_ref(x_431); + x_438 = lean_box(0); +} +if (lean_is_scalar(x_438)) { + x_439 = lean_alloc_ctor(1, 2, 0); +} else { + x_439 = x_438; +} +lean_ctor_set(x_439, 0, x_436); +lean_ctor_set(x_439, 1, x_437); +return x_439; +} +} +} +else { -lean_object* x_440; lean_object* x_441; lean_object* x_442; lean_object* x_443; -x_440 = lean_ctor_get(x_439, 0); +lean_object* x_440; lean_object* x_441; lean_object* x_442; lean_object* x_443; lean_object* x_444; lean_object* x_445; lean_object* x_446; lean_object* x_447; +x_440 = lean_ctor_get(x_423, 1); lean_inc(x_440); -x_441 = lean_ctor_get(x_439, 1); -lean_inc(x_441); -lean_dec(x_439); -x_442 = lean_box(0); -x_443 = l_Lean_Compiler_LCNF_Simp_simp___lambda__4(x_435, x_440, x_442, x_2, x_3, x_4, x_364, x_6, x_441); -return x_443; -} -else -{ -lean_object* x_444; lean_object* x_445; lean_object* x_446; lean_object* x_447; -lean_dec(x_435); -lean_dec(x_364); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_444 = lean_ctor_get(x_439, 0); +lean_dec(x_423); +x_441 = lean_st_ref_get(x_6, x_440); +x_442 = lean_ctor_get(x_441, 1); +lean_inc(x_442); +lean_dec(x_441); +x_443 = lean_st_ref_get(x_3, x_442); +x_444 = lean_ctor_get(x_443, 0); lean_inc(x_444); -x_445 = lean_ctor_get(x_439, 1); +x_445 = lean_ctor_get(x_443, 1); lean_inc(x_445); -if (lean_is_exclusive(x_439)) { - lean_ctor_release(x_439, 0); - lean_ctor_release(x_439, 1); - x_446 = x_439; -} else { - lean_dec_ref(x_439); - x_446 = lean_box(0); -} -if (lean_is_scalar(x_446)) { - x_447 = lean_alloc_ctor(1, 2, 0); -} else { - x_447 = x_446; -} -lean_ctor_set(x_447, 0, x_444); -lean_ctor_set(x_447, 1, x_445); -return x_447; -} -} -} -else -{ -lean_object* x_448; lean_object* x_449; lean_object* x_450; lean_object* x_451; lean_object* x_452; lean_object* x_453; lean_object* x_454; lean_object* x_455; -x_448 = lean_ctor_get(x_431, 1); -lean_inc(x_448); -lean_dec(x_431); -x_449 = lean_st_ref_get(x_6, x_448); -x_450 = lean_ctor_get(x_449, 1); -lean_inc(x_450); -lean_dec(x_449); -x_451 = lean_st_ref_get(x_3, x_450); -x_452 = lean_ctor_get(x_451, 0); -lean_inc(x_452); -x_453 = lean_ctor_get(x_451, 1); -lean_inc(x_453); -lean_dec(x_451); -x_454 = lean_ctor_get(x_452, 0); -lean_inc(x_454); -lean_dec(x_452); +lean_dec(x_443); +x_446 = lean_ctor_get(x_444, 0); +lean_inc(x_446); +lean_dec(x_444); lean_inc(x_6); -lean_inc(x_364); +lean_inc(x_360); lean_inc(x_4); -lean_inc(x_428); -x_455 = l_Lean_Compiler_LCNF_normFunDeclImp(x_428, x_454, x_4, x_364, x_6, x_453); -if (lean_obj_tag(x_455) == 0) +lean_inc(x_420); +x_447 = l_Lean_Compiler_LCNF_normFunDeclImp(x_420, x_446, x_4, x_360, x_6, x_445); +if (lean_obj_tag(x_447) == 0) { -lean_object* x_456; lean_object* x_457; lean_object* x_458; uint8_t x_459; lean_object* x_460; -x_456 = lean_ctor_get(x_455, 0); -lean_inc(x_456); -x_457 = lean_ctor_get(x_455, 1); -lean_inc(x_457); -lean_dec(x_455); -x_458 = lean_box(0); -x_459 = lean_unbox(x_432); -lean_dec(x_432); -x_460 = l_Lean_Compiler_LCNF_Simp_simp___lambda__6(x_429, x_428, x_1, x_459, x_456, x_458, x_2, x_3, x_4, x_364, x_6, x_457); -return x_460; +lean_object* x_448; lean_object* x_449; lean_object* x_450; uint8_t x_451; lean_object* x_452; +x_448 = lean_ctor_get(x_447, 0); +lean_inc(x_448); +x_449 = lean_ctor_get(x_447, 1); +lean_inc(x_449); +lean_dec(x_447); +x_450 = lean_box(0); +x_451 = lean_unbox(x_424); +lean_dec(x_424); +x_452 = l_Lean_Compiler_LCNF_Simp_simp___lambda__6(x_421, x_420, x_1, x_451, x_448, x_450, x_2, x_3, x_4, x_360, x_6, x_449); +return x_452; } else { -lean_object* x_461; lean_object* x_462; lean_object* x_463; lean_object* x_464; -lean_dec(x_432); -lean_dec(x_429); -lean_dec(x_428); -lean_dec(x_364); +lean_object* x_453; lean_object* x_454; lean_object* x_455; lean_object* x_456; +lean_dec(x_424); +lean_dec(x_421); +lean_dec(x_420); +lean_dec(x_360); lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_461 = lean_ctor_get(x_455, 0); -lean_inc(x_461); -x_462 = lean_ctor_get(x_455, 1); -lean_inc(x_462); -if (lean_is_exclusive(x_455)) { - lean_ctor_release(x_455, 0); - lean_ctor_release(x_455, 1); - x_463 = x_455; +x_453 = lean_ctor_get(x_447, 0); +lean_inc(x_453); +x_454 = lean_ctor_get(x_447, 1); +lean_inc(x_454); +if (lean_is_exclusive(x_447)) { + lean_ctor_release(x_447, 0); + lean_ctor_release(x_447, 1); + x_455 = x_447; } else { - lean_dec_ref(x_455); - x_463 = lean_box(0); + lean_dec_ref(x_447); + x_455 = lean_box(0); } -if (lean_is_scalar(x_463)) { - x_464 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_455)) { + x_456 = lean_alloc_ctor(1, 2, 0); } else { - x_464 = x_463; + x_456 = x_455; } -lean_ctor_set(x_464, 0, x_461); -lean_ctor_set(x_464, 1, x_462); -return x_464; +lean_ctor_set(x_456, 0, x_453); +lean_ctor_set(x_456, 1, x_454); +return x_456; } } } case 3: { -lean_object* x_465; lean_object* x_466; lean_object* x_467; lean_object* x_468; lean_object* x_469; lean_object* x_470; lean_object* x_471; lean_object* x_472; lean_object* x_473; lean_object* x_474; lean_object* x_475; -x_465 = lean_ctor_get(x_365, 1); +lean_object* x_457; lean_object* x_458; lean_object* x_459; lean_object* x_460; lean_object* x_461; lean_object* x_462; lean_object* x_463; lean_object* x_464; lean_object* x_465; lean_object* x_466; lean_object* x_467; +x_457 = lean_ctor_get(x_361, 1); +lean_inc(x_457); +lean_dec(x_361); +x_458 = lean_ctor_get(x_1, 0); +lean_inc(x_458); +x_459 = lean_ctor_get(x_1, 1); +lean_inc(x_459); +x_460 = lean_st_ref_get(x_6, x_457); +x_461 = lean_ctor_get(x_460, 1); +lean_inc(x_461); +lean_dec(x_460); +x_462 = lean_st_ref_get(x_3, x_461); +x_463 = lean_ctor_get(x_462, 0); +lean_inc(x_463); +x_464 = lean_ctor_get(x_462, 1); +lean_inc(x_464); +lean_dec(x_462); +x_465 = lean_ctor_get(x_463, 0); lean_inc(x_465); -lean_dec(x_365); -x_466 = lean_ctor_get(x_1, 0); -lean_inc(x_466); -x_467 = lean_ctor_get(x_1, 1); -lean_inc(x_467); -x_468 = lean_st_ref_get(x_6, x_465); -x_469 = lean_ctor_get(x_468, 1); +lean_dec(x_463); +lean_inc(x_458); +x_466 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_465, x_458); +lean_inc(x_6); +lean_inc(x_360); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_459); +x_467 = l_Lean_Compiler_LCNF_normExprs___at_Lean_Compiler_LCNF_Simp_simp___spec__2(x_459, x_2, x_3, x_4, x_360, x_6, x_464); +if (lean_obj_tag(x_467) == 0) +{ +lean_object* x_468; lean_object* x_469; lean_object* x_470; lean_object* x_471; lean_object* x_484; +x_468 = lean_ctor_get(x_467, 0); +lean_inc(x_468); +x_469 = lean_ctor_get(x_467, 1); lean_inc(x_469); -lean_dec(x_468); -x_470 = lean_st_ref_get(x_3, x_469); -x_471 = lean_ctor_get(x_470, 0); -lean_inc(x_471); -x_472 = lean_ctor_get(x_470, 1); -lean_inc(x_472); -lean_dec(x_470); -x_473 = lean_ctor_get(x_471, 0); -lean_inc(x_473); -lean_dec(x_471); -lean_inc(x_466); -x_474 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_473, x_466); -lean_inc(x_6); -lean_inc(x_364); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_467); -x_475 = l_Lean_Compiler_LCNF_normExprs___at_Lean_Compiler_LCNF_Simp_simp___spec__2(x_467, x_2, x_3, x_4, x_364, x_6, x_472); -if (lean_obj_tag(x_475) == 0) -{ -lean_object* x_476; lean_object* x_477; lean_object* x_478; lean_object* x_479; lean_object* x_492; -x_476 = lean_ctor_get(x_475, 0); -lean_inc(x_476); -x_477 = lean_ctor_get(x_475, 1); -lean_inc(x_477); -if (lean_is_exclusive(x_475)) { - lean_ctor_release(x_475, 0); - lean_ctor_release(x_475, 1); - x_478 = x_475; +if (lean_is_exclusive(x_467)) { + lean_ctor_release(x_467, 0); + lean_ctor_release(x_467, 1); + x_470 = x_467; } else { - lean_dec_ref(x_475); - x_478 = lean_box(0); + lean_dec_ref(x_467); + x_470 = lean_box(0); } lean_inc(x_6); -lean_inc(x_364); +lean_inc(x_360); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -lean_inc(x_476); -lean_inc(x_474); -x_492 = l_Lean_Compiler_LCNF_Simp_inlineJp_x3f(x_474, x_476, x_2, x_3, x_4, x_364, x_6, x_477); -if (lean_obj_tag(x_492) == 0) +lean_inc(x_468); +lean_inc(x_466); +x_484 = l_Lean_Compiler_LCNF_Simp_inlineJp_x3f(x_466, x_468, x_2, x_3, x_4, x_360, x_6, x_469); +if (lean_obj_tag(x_484) == 0) { -lean_object* x_493; -x_493 = lean_ctor_get(x_492, 0); -lean_inc(x_493); -if (lean_obj_tag(x_493) == 0) +lean_object* x_485; +x_485 = lean_ctor_get(x_484, 0); +lean_inc(x_485); +if (lean_obj_tag(x_485) == 0) { -lean_object* x_494; lean_object* x_495; lean_object* x_496; lean_object* x_497; lean_object* x_498; uint8_t x_499; -x_494 = lean_ctor_get(x_492, 1); -lean_inc(x_494); -lean_dec(x_492); -lean_inc(x_474); -x_495 = l_Lean_Compiler_LCNF_Simp_markUsedFVar(x_474, x_2, x_3, x_4, x_364, x_6, x_494); -x_496 = lean_ctor_get(x_495, 1); -lean_inc(x_496); -lean_dec(x_495); -x_497 = lean_array_get_size(x_476); -x_498 = lean_unsigned_to_nat(0u); -x_499 = lean_nat_dec_lt(x_498, x_497); -if (x_499 == 0) +lean_object* x_486; lean_object* x_487; lean_object* x_488; lean_object* x_489; lean_object* x_490; uint8_t x_491; +x_486 = lean_ctor_get(x_484, 1); +lean_inc(x_486); +lean_dec(x_484); +lean_inc(x_466); +x_487 = l_Lean_Compiler_LCNF_Simp_markUsedFVar(x_466, x_2, x_3, x_4, x_360, x_6, x_486); +x_488 = lean_ctor_get(x_487, 1); +lean_inc(x_488); +lean_dec(x_487); +x_489 = lean_array_get_size(x_468); +x_490 = lean_unsigned_to_nat(0u); +x_491 = lean_nat_dec_lt(x_490, x_489); +if (x_491 == 0) { -lean_dec(x_497); -lean_dec(x_364); +lean_dec(x_489); +lean_dec(x_360); lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_479 = x_496; -goto block_491; +x_471 = x_488; +goto block_483; } else { -uint8_t x_500; -x_500 = lean_nat_dec_le(x_497, x_497); -if (x_500 == 0) +uint8_t x_492; +x_492 = lean_nat_dec_le(x_489, x_489); +if (x_492 == 0) { -lean_dec(x_497); -lean_dec(x_364); +lean_dec(x_489); +lean_dec(x_360); lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_479 = x_496; -goto block_491; +x_471 = x_488; +goto block_483; } else { -size_t x_501; size_t x_502; lean_object* x_503; lean_object* x_504; lean_object* x_505; -x_501 = 0; -x_502 = lean_usize_of_nat(x_497); -lean_dec(x_497); -x_503 = lean_box(0); -x_504 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Simp_markUsedCode___spec__1(x_476, x_501, x_502, x_503, x_2, x_3, x_4, x_364, x_6, x_496); +size_t x_493; size_t x_494; lean_object* x_495; lean_object* x_496; lean_object* x_497; +x_493 = 0; +x_494 = lean_usize_of_nat(x_489); +lean_dec(x_489); +x_495 = lean_box(0); +x_496 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Simp_markUsedCode___spec__1(x_468, x_493, x_494, x_495, x_2, x_3, x_4, x_360, x_6, x_488); lean_dec(x_6); -lean_dec(x_364); +lean_dec(x_360); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_505 = lean_ctor_get(x_504, 1); -lean_inc(x_505); -lean_dec(x_504); -x_479 = x_505; -goto block_491; +x_497 = lean_ctor_get(x_496, 1); +lean_inc(x_497); +lean_dec(x_496); +x_471 = x_497; +goto block_483; } } } else { -lean_object* x_506; lean_object* x_507; -lean_dec(x_478); -lean_dec(x_476); -lean_dec(x_474); -lean_dec(x_467); +lean_object* x_498; lean_object* x_499; +lean_dec(x_470); +lean_dec(x_468); lean_dec(x_466); +lean_dec(x_459); +lean_dec(x_458); lean_dec(x_1); -x_506 = lean_ctor_get(x_492, 1); -lean_inc(x_506); -lean_dec(x_492); -x_507 = lean_ctor_get(x_493, 0); -lean_inc(x_507); -lean_dec(x_493); -x_1 = x_507; -x_5 = x_364; -x_7 = x_506; +x_498 = lean_ctor_get(x_484, 1); +lean_inc(x_498); +lean_dec(x_484); +x_499 = lean_ctor_get(x_485, 0); +lean_inc(x_499); +lean_dec(x_485); +x_1 = x_499; +x_5 = x_360; +x_7 = x_498; goto _start; } } else { -lean_object* x_509; lean_object* x_510; lean_object* x_511; lean_object* x_512; -lean_dec(x_478); -lean_dec(x_476); -lean_dec(x_474); -lean_dec(x_467); +lean_object* x_501; lean_object* x_502; lean_object* x_503; lean_object* x_504; +lean_dec(x_470); +lean_dec(x_468); lean_dec(x_466); -lean_dec(x_364); +lean_dec(x_459); +lean_dec(x_458); +lean_dec(x_360); lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_509 = lean_ctor_get(x_492, 0); -lean_inc(x_509); -x_510 = lean_ctor_get(x_492, 1); -lean_inc(x_510); -if (lean_is_exclusive(x_492)) { - lean_ctor_release(x_492, 0); - lean_ctor_release(x_492, 1); - x_511 = x_492; +x_501 = lean_ctor_get(x_484, 0); +lean_inc(x_501); +x_502 = lean_ctor_get(x_484, 1); +lean_inc(x_502); +if (lean_is_exclusive(x_484)) { + lean_ctor_release(x_484, 0); + lean_ctor_release(x_484, 1); + x_503 = x_484; } else { - lean_dec_ref(x_492); - x_511 = lean_box(0); + lean_dec_ref(x_484); + x_503 = lean_box(0); } -if (lean_is_scalar(x_511)) { - x_512 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_503)) { + x_504 = lean_alloc_ctor(1, 2, 0); } else { - x_512 = x_511; + x_504 = x_503; } -lean_ctor_set(x_512, 0, x_509); -lean_ctor_set(x_512, 1, x_510); -return x_512; +lean_ctor_set(x_504, 0, x_501); +lean_ctor_set(x_504, 1, x_502); +return x_504; } -block_491: +block_483: { -uint8_t x_480; -x_480 = lean_name_eq(x_466, x_474); -lean_dec(x_466); -if (x_480 == 0) +uint8_t x_472; +x_472 = lean_name_eq(x_458, x_466); +lean_dec(x_458); +if (x_472 == 0) { -lean_object* x_481; lean_object* x_482; lean_object* x_483; -lean_dec(x_467); +lean_object* x_473; lean_object* x_474; lean_object* x_475; +lean_dec(x_459); if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); lean_ctor_release(x_1, 1); - x_481 = x_1; + x_473 = x_1; } else { lean_dec_ref(x_1); - x_481 = lean_box(0); + x_473 = lean_box(0); } -if (lean_is_scalar(x_481)) { - x_482 = lean_alloc_ctor(3, 2, 0); +if (lean_is_scalar(x_473)) { + x_474 = lean_alloc_ctor(3, 2, 0); } else { - x_482 = x_481; + x_474 = x_473; } -lean_ctor_set(x_482, 0, x_474); -lean_ctor_set(x_482, 1, x_476); -if (lean_is_scalar(x_478)) { - x_483 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_474, 0, x_466); +lean_ctor_set(x_474, 1, x_468); +if (lean_is_scalar(x_470)) { + x_475 = lean_alloc_ctor(0, 2, 0); } else { - x_483 = x_478; + x_475 = x_470; } -lean_ctor_set(x_483, 0, x_482); -lean_ctor_set(x_483, 1, x_479); -return x_483; +lean_ctor_set(x_475, 0, x_474); +lean_ctor_set(x_475, 1, x_471); +return x_475; } else { -size_t x_484; size_t x_485; uint8_t x_486; -x_484 = lean_ptr_addr(x_467); -lean_dec(x_467); -x_485 = lean_ptr_addr(x_476); -x_486 = lean_usize_dec_eq(x_484, x_485); -if (x_486 == 0) +size_t x_476; size_t x_477; uint8_t x_478; +x_476 = lean_ptr_addr(x_459); +lean_dec(x_459); +x_477 = lean_ptr_addr(x_468); +x_478 = lean_usize_dec_eq(x_476, x_477); +if (x_478 == 0) { -lean_object* x_487; lean_object* x_488; lean_object* x_489; +lean_object* x_479; lean_object* x_480; lean_object* x_481; if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); lean_ctor_release(x_1, 1); - x_487 = x_1; + x_479 = x_1; } else { lean_dec_ref(x_1); - x_487 = lean_box(0); + x_479 = lean_box(0); } -if (lean_is_scalar(x_487)) { - x_488 = lean_alloc_ctor(3, 2, 0); +if (lean_is_scalar(x_479)) { + x_480 = lean_alloc_ctor(3, 2, 0); } else { - x_488 = x_487; + x_480 = x_479; } -lean_ctor_set(x_488, 0, x_474); -lean_ctor_set(x_488, 1, x_476); -if (lean_is_scalar(x_478)) { - x_489 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_480, 0, x_466); +lean_ctor_set(x_480, 1, x_468); +if (lean_is_scalar(x_470)) { + x_481 = lean_alloc_ctor(0, 2, 0); } else { - x_489 = x_478; + x_481 = x_470; } -lean_ctor_set(x_489, 0, x_488); -lean_ctor_set(x_489, 1, x_479); -return x_489; +lean_ctor_set(x_481, 0, x_480); +lean_ctor_set(x_481, 1, x_471); +return x_481; } else { -lean_object* x_490; -lean_dec(x_476); -lean_dec(x_474); -if (lean_is_scalar(x_478)) { - x_490 = lean_alloc_ctor(0, 2, 0); -} else { - x_490 = x_478; -} -lean_ctor_set(x_490, 0, x_1); -lean_ctor_set(x_490, 1, x_479); -return x_490; -} -} -} -} -else -{ -lean_object* x_513; lean_object* x_514; lean_object* x_515; lean_object* x_516; -lean_dec(x_474); -lean_dec(x_467); +lean_object* x_482; +lean_dec(x_468); lean_dec(x_466); -lean_dec(x_364); +if (lean_is_scalar(x_470)) { + x_482 = lean_alloc_ctor(0, 2, 0); +} else { + x_482 = x_470; +} +lean_ctor_set(x_482, 0, x_1); +lean_ctor_set(x_482, 1, x_471); +return x_482; +} +} +} +} +else +{ +lean_object* x_505; lean_object* x_506; lean_object* x_507; lean_object* x_508; +lean_dec(x_466); +lean_dec(x_459); +lean_dec(x_458); +lean_dec(x_360); lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_513 = lean_ctor_get(x_475, 0); -lean_inc(x_513); -x_514 = lean_ctor_get(x_475, 1); -lean_inc(x_514); -if (lean_is_exclusive(x_475)) { - lean_ctor_release(x_475, 0); - lean_ctor_release(x_475, 1); - x_515 = x_475; +x_505 = lean_ctor_get(x_467, 0); +lean_inc(x_505); +x_506 = lean_ctor_get(x_467, 1); +lean_inc(x_506); +if (lean_is_exclusive(x_467)) { + lean_ctor_release(x_467, 0); + lean_ctor_release(x_467, 1); + x_507 = x_467; } else { - lean_dec_ref(x_475); - x_515 = lean_box(0); + lean_dec_ref(x_467); + x_507 = lean_box(0); } -if (lean_is_scalar(x_515)) { - x_516 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_507)) { + x_508 = lean_alloc_ctor(1, 2, 0); } else { - x_516 = x_515; + x_508 = x_507; } -lean_ctor_set(x_516, 0, x_513); -lean_ctor_set(x_516, 1, x_514); -return x_516; +lean_ctor_set(x_508, 0, x_505); +lean_ctor_set(x_508, 1, x_506); +return x_508; } } case 4: { -lean_object* x_517; lean_object* x_518; lean_object* x_519; -x_517 = lean_ctor_get(x_365, 1); -lean_inc(x_517); -lean_dec(x_365); -x_518 = lean_ctor_get(x_1, 0); -lean_inc(x_518); +lean_object* x_509; lean_object* x_510; lean_object* x_511; +x_509 = lean_ctor_get(x_361, 1); +lean_inc(x_509); +lean_dec(x_361); +x_510 = lean_ctor_get(x_1, 0); +lean_inc(x_510); lean_inc(x_6); -lean_inc(x_364); +lean_inc(x_360); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -lean_inc(x_518); -x_519 = l_Lean_Compiler_LCNF_Simp_simpCasesOnCtor_x3f(x_518, x_2, x_3, x_4, x_364, x_6, x_517); -if (lean_obj_tag(x_519) == 0) +lean_inc(x_510); +x_511 = l_Lean_Compiler_LCNF_Simp_simpCasesOnCtor_x3f(x_510, x_2, x_3, x_4, x_360, x_6, x_509); +if (lean_obj_tag(x_511) == 0) { -lean_object* x_520; -x_520 = lean_ctor_get(x_519, 0); -lean_inc(x_520); -if (lean_obj_tag(x_520) == 0) +lean_object* x_512; +x_512 = lean_ctor_get(x_511, 0); +lean_inc(x_512); +if (lean_obj_tag(x_512) == 0) { -lean_object* x_521; lean_object* x_522; lean_object* x_523; lean_object* x_524; lean_object* x_525; lean_object* x_526; lean_object* x_527; lean_object* x_528; lean_object* x_529; lean_object* x_530; lean_object* x_531; lean_object* x_532; -x_521 = lean_ctor_get(x_519, 1); -lean_inc(x_521); -lean_dec(x_519); -x_522 = lean_ctor_get(x_518, 0); -lean_inc(x_522); -x_523 = lean_ctor_get(x_518, 1); -lean_inc(x_523); -x_524 = lean_ctor_get(x_518, 2); -lean_inc(x_524); -x_525 = lean_ctor_get(x_518, 3); -lean_inc(x_525); -lean_inc(x_524); -x_526 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_simp___lambda__7___boxed), 8, 1); -lean_closure_set(x_526, 0, x_524); -x_527 = l_Lean_Compiler_LCNF_Simp_simp___closed__1; -x_528 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Compiler_LCNF_Simp_instMonadFVarSubstSimpM___spec__1___rarg), 8, 2); -lean_closure_set(x_528, 0, x_527); -lean_closure_set(x_528, 1, x_526); +lean_object* x_513; lean_object* x_514; lean_object* x_515; lean_object* x_516; lean_object* x_517; lean_object* x_518; lean_object* x_519; lean_object* x_520; lean_object* x_521; lean_object* x_522; lean_object* x_523; lean_object* x_524; +x_513 = lean_ctor_get(x_511, 1); +lean_inc(x_513); +lean_dec(x_511); +x_514 = lean_ctor_get(x_510, 0); +lean_inc(x_514); +x_515 = lean_ctor_get(x_510, 1); +lean_inc(x_515); +x_516 = lean_ctor_get(x_510, 2); +lean_inc(x_516); +x_517 = lean_ctor_get(x_510, 3); +lean_inc(x_517); +lean_inc(x_516); +x_518 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_simp___lambda__7___boxed), 8, 1); +lean_closure_set(x_518, 0, x_516); +x_519 = l_Lean_Compiler_LCNF_Simp_simp___closed__1; +x_520 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Compiler_LCNF_Simp_instMonadFVarSubstSimpM___spec__1___rarg), 8, 2); +lean_closure_set(x_520, 0, x_519); +lean_closure_set(x_520, 1, x_518); lean_inc(x_1); -lean_inc(x_524); -lean_inc(x_518); -x_529 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_simp___lambda__10___boxed), 10, 3); -lean_closure_set(x_529, 0, x_518); -lean_closure_set(x_529, 1, x_524); -lean_closure_set(x_529, 2, x_1); -x_530 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Compiler_LCNF_Simp_instMonadFVarSubstSimpM___spec__1___rarg), 8, 2); -lean_closure_set(x_530, 0, x_528); -lean_closure_set(x_530, 1, x_529); -lean_inc(x_518); -x_531 = l_Lean_Compiler_LCNF_Simp_isCasesOnCases_x3f(x_518, x_2, x_3, x_4, x_364, x_6, x_521); -if (lean_is_exclusive(x_518)) { - lean_ctor_release(x_518, 0); - lean_ctor_release(x_518, 1); - lean_ctor_release(x_518, 2); - lean_ctor_release(x_518, 3); - x_532 = x_518; +lean_inc(x_516); +lean_inc(x_510); +x_521 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_simp___lambda__10___boxed), 10, 3); +lean_closure_set(x_521, 0, x_510); +lean_closure_set(x_521, 1, x_516); +lean_closure_set(x_521, 2, x_1); +x_522 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Compiler_LCNF_Simp_instMonadFVarSubstSimpM___spec__1___rarg), 8, 2); +lean_closure_set(x_522, 0, x_520); +lean_closure_set(x_522, 1, x_521); +lean_inc(x_510); +x_523 = l_Lean_Compiler_LCNF_Simp_isCasesOnCases_x3f(x_510, x_2, x_3, x_4, x_360, x_6, x_513); +if (lean_is_exclusive(x_510)) { + lean_ctor_release(x_510, 0); + lean_ctor_release(x_510, 1); + lean_ctor_release(x_510, 2); + lean_ctor_release(x_510, 3); + x_524 = x_510; } else { - lean_dec_ref(x_518); - x_532 = lean_box(0); + lean_dec_ref(x_510); + x_524 = lean_box(0); } -if (lean_obj_tag(x_531) == 0) +if (lean_obj_tag(x_523) == 0) { -lean_object* x_533; -x_533 = lean_ctor_get(x_531, 0); -lean_inc(x_533); -if (lean_obj_tag(x_533) == 0) +lean_object* x_525; +x_525 = lean_ctor_get(x_523, 0); +lean_inc(x_525); +if (lean_obj_tag(x_525) == 0) { -lean_object* x_534; lean_object* x_535; lean_object* x_536; lean_object* x_537; lean_object* x_538; lean_object* x_539; lean_object* x_540; lean_object* x_541; lean_object* x_542; lean_object* x_543; lean_object* x_544; lean_object* x_545; lean_object* x_546; lean_object* x_547; lean_object* x_548; lean_object* x_549; lean_object* x_550; lean_object* x_551; lean_object* x_552; +lean_object* x_526; lean_object* x_527; lean_object* x_528; lean_object* x_529; lean_object* x_530; lean_object* x_531; lean_object* x_532; lean_object* x_533; lean_object* x_534; lean_object* x_535; lean_object* x_536; lean_object* x_537; lean_object* x_538; lean_object* x_539; lean_object* x_540; lean_object* x_541; lean_object* x_542; lean_object* x_543; lean_object* x_544; +lean_dec(x_522); +x_526 = lean_ctor_get(x_523, 1); +lean_inc(x_526); +lean_dec(x_523); +x_527 = lean_st_ref_get(x_6, x_526); +x_528 = lean_ctor_get(x_527, 1); +lean_inc(x_528); +lean_dec(x_527); +x_529 = lean_st_ref_get(x_3, x_528); +x_530 = lean_ctor_get(x_529, 0); +lean_inc(x_530); +x_531 = lean_ctor_get(x_529, 1); +lean_inc(x_531); +lean_dec(x_529); +x_532 = lean_ctor_get(x_530, 0); +lean_inc(x_532); lean_dec(x_530); -x_534 = lean_ctor_get(x_531, 1); -lean_inc(x_534); -lean_dec(x_531); -x_535 = lean_st_ref_get(x_6, x_534); -x_536 = lean_ctor_get(x_535, 1); -lean_inc(x_536); -lean_dec(x_535); -x_537 = lean_st_ref_get(x_3, x_536); -x_538 = lean_ctor_get(x_537, 0); +lean_inc(x_516); +x_533 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_532, x_516); +x_534 = lean_st_ref_get(x_6, x_531); +x_535 = lean_ctor_get(x_534, 1); +lean_inc(x_535); +lean_dec(x_534); +x_536 = lean_st_ref_get(x_3, x_535); +x_537 = lean_ctor_get(x_536, 0); +lean_inc(x_537); +x_538 = lean_ctor_get(x_536, 1); lean_inc(x_538); -x_539 = lean_ctor_get(x_537, 1); +lean_dec(x_536); +x_539 = lean_ctor_get(x_537, 0); lean_inc(x_539); lean_dec(x_537); -x_540 = lean_ctor_get(x_538, 0); -lean_inc(x_540); -lean_dec(x_538); -lean_inc(x_524); -x_541 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_540, x_524); -x_542 = lean_st_ref_get(x_6, x_539); -x_543 = lean_ctor_get(x_542, 1); -lean_inc(x_543); -lean_dec(x_542); -x_544 = lean_st_ref_get(x_3, x_543); +lean_inc(x_515); +x_540 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_539, x_515); +lean_inc(x_533); +x_541 = l_Lean_Compiler_LCNF_Simp_markUsedFVar(x_533, x_2, x_3, x_4, x_360, x_6, x_538); +x_542 = lean_ctor_get(x_541, 1); +lean_inc(x_542); +lean_dec(x_541); +lean_inc(x_533); +x_543 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_simp___lambda__9), 8, 1); +lean_closure_set(x_543, 0, x_533); +lean_inc(x_6); +lean_inc(x_360); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_517); +x_544 = l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_Simp_simp___spec__6(x_517, x_543, x_2, x_3, x_4, x_360, x_6, x_542); +if (lean_obj_tag(x_544) == 0) +{ +lean_object* x_545; lean_object* x_546; lean_object* x_547; lean_object* x_548; x_545 = lean_ctor_get(x_544, 0); lean_inc(x_545); x_546 = lean_ctor_get(x_544, 1); lean_inc(x_546); -lean_dec(x_544); -x_547 = lean_ctor_get(x_545, 0); -lean_inc(x_547); -lean_dec(x_545); -lean_inc(x_523); -x_548 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_547, x_523); -lean_inc(x_541); -x_549 = l_Lean_Compiler_LCNF_Simp_markUsedFVar(x_541, x_2, x_3, x_4, x_364, x_6, x_546); -x_550 = lean_ctor_get(x_549, 1); +if (lean_is_exclusive(x_544)) { + lean_ctor_release(x_544, 0); + lean_ctor_release(x_544, 1); + x_547 = x_544; +} else { + lean_dec_ref(x_544); + x_547 = lean_box(0); +} +x_548 = l___private_Lean_Compiler_LCNF_Simp_0__Lean_Compiler_LCNF_Simp_addDefault(x_545, x_2, x_3, x_4, x_360, x_6, x_546); +if (lean_obj_tag(x_548) == 0) +{ +lean_object* x_549; lean_object* x_550; lean_object* x_551; lean_object* x_552; lean_object* x_574; lean_object* x_575; uint8_t x_586; +x_549 = lean_ctor_get(x_548, 0); +lean_inc(x_549); +x_550 = lean_ctor_get(x_548, 1); lean_inc(x_550); -lean_dec(x_549); -lean_inc(x_541); -x_551 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Simp_simp___lambda__9), 8, 1); -lean_closure_set(x_551, 0, x_541); -lean_inc(x_6); -lean_inc(x_364); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_525); -x_552 = l___private_Init_Data_Array_BasicAux_0__mapMonoMImp___at_Lean_Compiler_LCNF_Simp_simp___spec__6(x_525, x_551, x_2, x_3, x_4, x_364, x_6, x_550); -if (lean_obj_tag(x_552) == 0) -{ -lean_object* x_553; lean_object* x_554; lean_object* x_555; lean_object* x_556; -x_553 = lean_ctor_get(x_552, 0); -lean_inc(x_553); -x_554 = lean_ctor_get(x_552, 1); -lean_inc(x_554); -if (lean_is_exclusive(x_552)) { - lean_ctor_release(x_552, 0); - lean_ctor_release(x_552, 1); - x_555 = x_552; +if (lean_is_exclusive(x_548)) { + lean_ctor_release(x_548, 0); + lean_ctor_release(x_548, 1); + x_551 = x_548; } else { - lean_dec_ref(x_552); - x_555 = lean_box(0); + lean_dec_ref(x_548); + x_551 = lean_box(0); } -x_556 = l___private_Lean_Compiler_LCNF_Simp_0__Lean_Compiler_LCNF_Simp_addDefault(x_553, x_2, x_3, x_4, x_364, x_6, x_554); -if (lean_obj_tag(x_556) == 0) +x_574 = lean_array_get_size(x_549); +x_586 = lean_nat_dec_eq(x_574, x_358); +if (x_586 == 0) { -lean_object* x_557; lean_object* x_558; lean_object* x_559; lean_object* x_560; lean_object* x_582; lean_object* x_583; uint8_t x_594; -x_557 = lean_ctor_get(x_556, 0); -lean_inc(x_557); -x_558 = lean_ctor_get(x_556, 1); -lean_inc(x_558); -if (lean_is_exclusive(x_556)) { - lean_ctor_release(x_556, 0); - lean_ctor_release(x_556, 1); - x_559 = x_556; -} else { - lean_dec_ref(x_556); - x_559 = lean_box(0); +lean_object* x_587; +lean_dec(x_574); +lean_dec(x_547); +x_587 = lean_box(0); +x_552 = x_587; +goto block_573; } -x_582 = lean_array_get_size(x_557); -x_594 = lean_nat_dec_eq(x_582, x_362); -if (x_594 == 0) +else +{ +lean_object* x_588; uint8_t x_589; +x_588 = lean_unsigned_to_nat(0u); +x_589 = lean_nat_dec_lt(x_588, x_574); +if (x_589 == 0) +{ +lean_object* x_590; lean_object* x_591; +x_590 = l_Lean_Compiler_LCNF_Simp_attachCodeDecls_go___closed__4; +x_591 = l_panic___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltImp___spec__1(x_590); +if (lean_obj_tag(x_591) == 0) +{ +lean_object* x_592; +lean_dec(x_591); +lean_dec(x_574); +lean_dec(x_547); +x_592 = lean_box(0); +x_552 = x_592; +goto block_573; +} +else +{ +lean_object* x_593; +lean_dec(x_591); +lean_dec(x_551); +lean_dec(x_540); +lean_dec(x_533); +lean_dec(x_524); +lean_dec(x_517); +lean_dec(x_516); +lean_dec(x_515); +lean_dec(x_514); +lean_dec(x_1); +x_593 = lean_box(0); +x_575 = x_593; +goto block_585; +} +} +else +{ +lean_object* x_594; +x_594 = lean_array_fget(x_549, x_588); +if (lean_obj_tag(x_594) == 0) { lean_object* x_595; -lean_dec(x_582); -lean_dec(x_555); +lean_dec(x_594); +lean_dec(x_574); +lean_dec(x_547); x_595 = lean_box(0); -x_560 = x_595; -goto block_581; +x_552 = x_595; +goto block_573; } else { -lean_object* x_596; uint8_t x_597; -x_596 = lean_unsigned_to_nat(0u); -x_597 = lean_nat_dec_lt(x_596, x_582); -if (x_597 == 0) -{ -lean_object* x_598; lean_object* x_599; -x_598 = l_Lean_Compiler_LCNF_Simp_attachCodeDecls_go___closed__4; -x_599 = l_panic___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltImp___spec__1(x_598); -if (lean_obj_tag(x_599) == 0) -{ -lean_object* x_600; -lean_dec(x_599); -lean_dec(x_582); -lean_dec(x_555); -x_600 = lean_box(0); -x_560 = x_600; -goto block_581; -} -else -{ -lean_object* x_601; -lean_dec(x_599); -lean_dec(x_559); -lean_dec(x_548); -lean_dec(x_541); -lean_dec(x_532); -lean_dec(x_525); +lean_object* x_596; +lean_dec(x_594); +lean_dec(x_551); +lean_dec(x_540); +lean_dec(x_533); lean_dec(x_524); -lean_dec(x_523); -lean_dec(x_522); +lean_dec(x_517); +lean_dec(x_516); +lean_dec(x_515); +lean_dec(x_514); lean_dec(x_1); -x_601 = lean_box(0); -x_583 = x_601; -goto block_593; +x_596 = lean_box(0); +x_575 = x_596; +goto block_585; } } -else +} +block_573: { -lean_object* x_602; -x_602 = lean_array_fget(x_557, x_596); -if (lean_obj_tag(x_602) == 0) +size_t x_553; size_t x_554; uint8_t x_555; +lean_dec(x_552); +x_553 = lean_ptr_addr(x_517); +lean_dec(x_517); +x_554 = lean_ptr_addr(x_549); +x_555 = lean_usize_dec_eq(x_553, x_554); +if (x_555 == 0) { -lean_object* x_603; -lean_dec(x_602); -lean_dec(x_582); -lean_dec(x_555); -x_603 = lean_box(0); -x_560 = x_603; -goto block_581; -} -else -{ -lean_object* x_604; -lean_dec(x_602); -lean_dec(x_559); -lean_dec(x_548); -lean_dec(x_541); -lean_dec(x_532); -lean_dec(x_525); -lean_dec(x_524); -lean_dec(x_523); -lean_dec(x_522); -lean_dec(x_1); -x_604 = lean_box(0); -x_583 = x_604; -goto block_593; -} -} -} -block_581: -{ -size_t x_561; size_t x_562; uint8_t x_563; -lean_dec(x_560); -x_561 = lean_ptr_addr(x_525); -lean_dec(x_525); -x_562 = lean_ptr_addr(x_557); -x_563 = lean_usize_dec_eq(x_561, x_562); -if (x_563 == 0) -{ -lean_object* x_564; lean_object* x_565; lean_object* x_566; lean_object* x_567; -lean_dec(x_524); -lean_dec(x_523); +lean_object* x_556; lean_object* x_557; lean_object* x_558; lean_object* x_559; +lean_dec(x_516); +lean_dec(x_515); if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); - x_564 = x_1; + x_556 = x_1; } else { lean_dec_ref(x_1); - x_564 = lean_box(0); + x_556 = lean_box(0); } -if (lean_is_scalar(x_532)) { - x_565 = lean_alloc_ctor(0, 4, 0); +if (lean_is_scalar(x_524)) { + x_557 = lean_alloc_ctor(0, 4, 0); } else { - x_565 = x_532; + x_557 = x_524; } -lean_ctor_set(x_565, 0, x_522); -lean_ctor_set(x_565, 1, x_548); -lean_ctor_set(x_565, 2, x_541); -lean_ctor_set(x_565, 3, x_557); -if (lean_is_scalar(x_564)) { - x_566 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_557, 0, x_514); +lean_ctor_set(x_557, 1, x_540); +lean_ctor_set(x_557, 2, x_533); +lean_ctor_set(x_557, 3, x_549); +if (lean_is_scalar(x_556)) { + x_558 = lean_alloc_ctor(4, 1, 0); } else { - x_566 = x_564; + x_558 = x_556; +} +lean_ctor_set(x_558, 0, x_557); +if (lean_is_scalar(x_551)) { + x_559 = lean_alloc_ctor(0, 2, 0); +} else { + x_559 = x_551; +} +lean_ctor_set(x_559, 0, x_558); +lean_ctor_set(x_559, 1, x_550); +return x_559; +} +else +{ +size_t x_560; size_t x_561; uint8_t x_562; +x_560 = lean_ptr_addr(x_515); +lean_dec(x_515); +x_561 = lean_ptr_addr(x_540); +x_562 = lean_usize_dec_eq(x_560, x_561); +if (x_562 == 0) +{ +lean_object* x_563; lean_object* x_564; lean_object* x_565; lean_object* x_566; +lean_dec(x_516); +if (lean_is_exclusive(x_1)) { + lean_ctor_release(x_1, 0); + x_563 = x_1; +} else { + lean_dec_ref(x_1); + x_563 = lean_box(0); +} +if (lean_is_scalar(x_524)) { + x_564 = lean_alloc_ctor(0, 4, 0); +} else { + x_564 = x_524; +} +lean_ctor_set(x_564, 0, x_514); +lean_ctor_set(x_564, 1, x_540); +lean_ctor_set(x_564, 2, x_533); +lean_ctor_set(x_564, 3, x_549); +if (lean_is_scalar(x_563)) { + x_565 = lean_alloc_ctor(4, 1, 0); +} else { + x_565 = x_563; +} +lean_ctor_set(x_565, 0, x_564); +if (lean_is_scalar(x_551)) { + x_566 = lean_alloc_ctor(0, 2, 0); +} else { + x_566 = x_551; } lean_ctor_set(x_566, 0, x_565); -if (lean_is_scalar(x_559)) { - x_567 = lean_alloc_ctor(0, 2, 0); -} else { - x_567 = x_559; -} -lean_ctor_set(x_567, 0, x_566); -lean_ctor_set(x_567, 1, x_558); -return x_567; +lean_ctor_set(x_566, 1, x_550); +return x_566; } else { -size_t x_568; size_t x_569; uint8_t x_570; -x_568 = lean_ptr_addr(x_523); -lean_dec(x_523); -x_569 = lean_ptr_addr(x_548); -x_570 = lean_usize_dec_eq(x_568, x_569); -if (x_570 == 0) +uint8_t x_567; +x_567 = lean_name_eq(x_516, x_533); +lean_dec(x_516); +if (x_567 == 0) { -lean_object* x_571; lean_object* x_572; lean_object* x_573; lean_object* x_574; -lean_dec(x_524); +lean_object* x_568; lean_object* x_569; lean_object* x_570; lean_object* x_571; if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); - x_571 = x_1; + x_568 = x_1; } else { lean_dec_ref(x_1); - x_571 = lean_box(0); + x_568 = lean_box(0); } -if (lean_is_scalar(x_532)) { - x_572 = lean_alloc_ctor(0, 4, 0); +if (lean_is_scalar(x_524)) { + x_569 = lean_alloc_ctor(0, 4, 0); } else { - x_572 = x_532; + x_569 = x_524; } -lean_ctor_set(x_572, 0, x_522); -lean_ctor_set(x_572, 1, x_548); -lean_ctor_set(x_572, 2, x_541); -lean_ctor_set(x_572, 3, x_557); -if (lean_is_scalar(x_571)) { - x_573 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_569, 0, x_514); +lean_ctor_set(x_569, 1, x_540); +lean_ctor_set(x_569, 2, x_533); +lean_ctor_set(x_569, 3, x_549); +if (lean_is_scalar(x_568)) { + x_570 = lean_alloc_ctor(4, 1, 0); } else { - x_573 = x_571; + x_570 = x_568; } -lean_ctor_set(x_573, 0, x_572); -if (lean_is_scalar(x_559)) { - x_574 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_570, 0, x_569); +if (lean_is_scalar(x_551)) { + x_571 = lean_alloc_ctor(0, 2, 0); } else { - x_574 = x_559; + x_571 = x_551; } -lean_ctor_set(x_574, 0, x_573); -lean_ctor_set(x_574, 1, x_558); -return x_574; +lean_ctor_set(x_571, 0, x_570); +lean_ctor_set(x_571, 1, x_550); +return x_571; } else { -uint8_t x_575; -x_575 = lean_name_eq(x_524, x_541); +lean_object* x_572; +lean_dec(x_549); +lean_dec(x_540); +lean_dec(x_533); lean_dec(x_524); -if (x_575 == 0) +lean_dec(x_514); +if (lean_is_scalar(x_551)) { + x_572 = lean_alloc_ctor(0, 2, 0); +} else { + x_572 = x_551; +} +lean_ctor_set(x_572, 0, x_1); +lean_ctor_set(x_572, 1, x_550); +return x_572; +} +} +} +} +block_585: { -lean_object* x_576; lean_object* x_577; lean_object* x_578; lean_object* x_579; -if (lean_is_exclusive(x_1)) { - lean_ctor_release(x_1, 0); - x_576 = x_1; +lean_object* x_576; uint8_t x_577; +lean_dec(x_575); +x_576 = lean_unsigned_to_nat(0u); +x_577 = lean_nat_dec_lt(x_576, x_574); +lean_dec(x_574); +if (x_577 == 0) +{ +lean_object* x_578; lean_object* x_579; lean_object* x_580; lean_object* x_581; +lean_dec(x_549); +x_578 = l_Lean_Compiler_LCNF_Simp_attachCodeDecls_go___closed__4; +x_579 = l_panic___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltImp___spec__1(x_578); +x_580 = l_Lean_Compiler_LCNF_AltCore_getCode(x_579); +lean_dec(x_579); +if (lean_is_scalar(x_547)) { + x_581 = lean_alloc_ctor(0, 2, 0); } else { - lean_dec_ref(x_1); - x_576 = lean_box(0); + x_581 = x_547; } -if (lean_is_scalar(x_532)) { - x_577 = lean_alloc_ctor(0, 4, 0); -} else { - x_577 = x_532; -} -lean_ctor_set(x_577, 0, x_522); -lean_ctor_set(x_577, 1, x_548); -lean_ctor_set(x_577, 2, x_541); -lean_ctor_set(x_577, 3, x_557); -if (lean_is_scalar(x_576)) { - x_578 = lean_alloc_ctor(4, 1, 0); -} else { - x_578 = x_576; -} -lean_ctor_set(x_578, 0, x_577); -if (lean_is_scalar(x_559)) { - x_579 = lean_alloc_ctor(0, 2, 0); -} else { - x_579 = x_559; -} -lean_ctor_set(x_579, 0, x_578); -lean_ctor_set(x_579, 1, x_558); -return x_579; +lean_ctor_set(x_581, 0, x_580); +lean_ctor_set(x_581, 1, x_550); +return x_581; } else { -lean_object* x_580; -lean_dec(x_557); -lean_dec(x_548); -lean_dec(x_541); -lean_dec(x_532); -lean_dec(x_522); -if (lean_is_scalar(x_559)) { - x_580 = lean_alloc_ctor(0, 2, 0); -} else { - x_580 = x_559; -} -lean_ctor_set(x_580, 0, x_1); -lean_ctor_set(x_580, 1, x_558); -return x_580; -} -} -} -} -block_593: -{ -lean_object* x_584; uint8_t x_585; -lean_dec(x_583); -x_584 = lean_unsigned_to_nat(0u); -x_585 = lean_nat_dec_lt(x_584, x_582); +lean_object* x_582; lean_object* x_583; lean_object* x_584; +x_582 = lean_array_fget(x_549, x_576); +lean_dec(x_549); +x_583 = l_Lean_Compiler_LCNF_AltCore_getCode(x_582); lean_dec(x_582); -if (x_585 == 0) -{ -lean_object* x_586; lean_object* x_587; lean_object* x_588; lean_object* x_589; -lean_dec(x_557); -x_586 = l_Lean_Compiler_LCNF_Simp_attachCodeDecls_go___closed__4; -x_587 = l_panic___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_updateAltImp___spec__1(x_586); -x_588 = l_Lean_Compiler_LCNF_AltCore_getCode(x_587); -lean_dec(x_587); -if (lean_is_scalar(x_555)) { - x_589 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_547)) { + x_584 = lean_alloc_ctor(0, 2, 0); } else { - x_589 = x_555; + x_584 = x_547; } -lean_ctor_set(x_589, 0, x_588); -lean_ctor_set(x_589, 1, x_558); -return x_589; -} -else -{ -lean_object* x_590; lean_object* x_591; lean_object* x_592; -x_590 = lean_array_fget(x_557, x_584); -lean_dec(x_557); -x_591 = l_Lean_Compiler_LCNF_AltCore_getCode(x_590); -lean_dec(x_590); -if (lean_is_scalar(x_555)) { - x_592 = lean_alloc_ctor(0, 2, 0); -} else { - x_592 = x_555; -} -lean_ctor_set(x_592, 0, x_591); -lean_ctor_set(x_592, 1, x_558); -return x_592; +lean_ctor_set(x_584, 0, x_583); +lean_ctor_set(x_584, 1, x_550); +return x_584; } } } else { -lean_object* x_605; lean_object* x_606; lean_object* x_607; lean_object* x_608; -lean_dec(x_555); -lean_dec(x_548); -lean_dec(x_541); -lean_dec(x_532); -lean_dec(x_525); +lean_object* x_597; lean_object* x_598; lean_object* x_599; lean_object* x_600; +lean_dec(x_547); +lean_dec(x_540); +lean_dec(x_533); lean_dec(x_524); -lean_dec(x_523); -lean_dec(x_522); +lean_dec(x_517); +lean_dec(x_516); +lean_dec(x_515); +lean_dec(x_514); lean_dec(x_1); -x_605 = lean_ctor_get(x_556, 0); -lean_inc(x_605); -x_606 = lean_ctor_get(x_556, 1); -lean_inc(x_606); -if (lean_is_exclusive(x_556)) { - lean_ctor_release(x_556, 0); - lean_ctor_release(x_556, 1); - x_607 = x_556; +x_597 = lean_ctor_get(x_548, 0); +lean_inc(x_597); +x_598 = lean_ctor_get(x_548, 1); +lean_inc(x_598); +if (lean_is_exclusive(x_548)) { + lean_ctor_release(x_548, 0); + lean_ctor_release(x_548, 1); + x_599 = x_548; } else { - lean_dec_ref(x_556); - x_607 = lean_box(0); + lean_dec_ref(x_548); + x_599 = lean_box(0); } -if (lean_is_scalar(x_607)) { - x_608 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_599)) { + x_600 = lean_alloc_ctor(1, 2, 0); } else { - x_608 = x_607; + x_600 = x_599; } -lean_ctor_set(x_608, 0, x_605); -lean_ctor_set(x_608, 1, x_606); -return x_608; +lean_ctor_set(x_600, 0, x_597); +lean_ctor_set(x_600, 1, x_598); +return x_600; } } else { -lean_object* x_609; lean_object* x_610; lean_object* x_611; lean_object* x_612; -lean_dec(x_548); -lean_dec(x_541); -lean_dec(x_532); -lean_dec(x_525); +lean_object* x_601; lean_object* x_602; lean_object* x_603; lean_object* x_604; +lean_dec(x_540); +lean_dec(x_533); lean_dec(x_524); -lean_dec(x_523); -lean_dec(x_522); -lean_dec(x_364); +lean_dec(x_517); +lean_dec(x_516); +lean_dec(x_515); +lean_dec(x_514); +lean_dec(x_360); lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_609 = lean_ctor_get(x_552, 0); -lean_inc(x_609); -x_610 = lean_ctor_get(x_552, 1); -lean_inc(x_610); -if (lean_is_exclusive(x_552)) { - lean_ctor_release(x_552, 0); - lean_ctor_release(x_552, 1); - x_611 = x_552; +x_601 = lean_ctor_get(x_544, 0); +lean_inc(x_601); +x_602 = lean_ctor_get(x_544, 1); +lean_inc(x_602); +if (lean_is_exclusive(x_544)) { + lean_ctor_release(x_544, 0); + lean_ctor_release(x_544, 1); + x_603 = x_544; } else { - lean_dec_ref(x_552); - x_611 = lean_box(0); + lean_dec_ref(x_544); + x_603 = lean_box(0); } -if (lean_is_scalar(x_611)) { - x_612 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_603)) { + x_604 = lean_alloc_ctor(1, 2, 0); } else { - x_612 = x_611; + x_604 = x_603; } -lean_ctor_set(x_612, 0, x_609); -lean_ctor_set(x_612, 1, x_610); -return x_612; +lean_ctor_set(x_604, 0, x_601); +lean_ctor_set(x_604, 1, x_602); +return x_604; } } else { -lean_object* x_613; lean_object* x_614; lean_object* x_615; -lean_dec(x_532); -lean_dec(x_525); +lean_object* x_605; lean_object* x_606; lean_object* x_607; lean_dec(x_524); -lean_dec(x_523); -lean_dec(x_522); +lean_dec(x_517); +lean_dec(x_516); +lean_dec(x_515); +lean_dec(x_514); lean_dec(x_1); -x_613 = lean_ctor_get(x_531, 1); -lean_inc(x_613); -lean_dec(x_531); -x_614 = lean_ctor_get(x_533, 0); +x_605 = lean_ctor_get(x_523, 1); +lean_inc(x_605); +lean_dec(x_523); +x_606 = lean_ctor_get(x_525, 0); +lean_inc(x_606); +lean_dec(x_525); +x_607 = l_Lean_Compiler_LCNF_Simp_withAddMustInline___rarg(x_606, x_522, x_2, x_3, x_4, x_360, x_6, x_605); +return x_607; +} +} +else +{ +lean_object* x_608; lean_object* x_609; lean_object* x_610; lean_object* x_611; +lean_dec(x_524); +lean_dec(x_522); +lean_dec(x_517); +lean_dec(x_516); +lean_dec(x_515); +lean_dec(x_514); +lean_dec(x_360); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_608 = lean_ctor_get(x_523, 0); +lean_inc(x_608); +x_609 = lean_ctor_get(x_523, 1); +lean_inc(x_609); +if (lean_is_exclusive(x_523)) { + lean_ctor_release(x_523, 0); + lean_ctor_release(x_523, 1); + x_610 = x_523; +} else { + lean_dec_ref(x_523); + x_610 = lean_box(0); +} +if (lean_is_scalar(x_610)) { + x_611 = lean_alloc_ctor(1, 2, 0); +} else { + x_611 = x_610; +} +lean_ctor_set(x_611, 0, x_608); +lean_ctor_set(x_611, 1, x_609); +return x_611; +} +} +else +{ +lean_object* x_612; lean_object* x_613; lean_object* x_614; lean_object* x_615; +lean_dec(x_510); +lean_dec(x_360); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_612 = lean_ctor_get(x_511, 1); +lean_inc(x_612); +if (lean_is_exclusive(x_511)) { + lean_ctor_release(x_511, 0); + lean_ctor_release(x_511, 1); + x_613 = x_511; +} else { + lean_dec_ref(x_511); + x_613 = lean_box(0); +} +x_614 = lean_ctor_get(x_512, 0); lean_inc(x_614); -lean_dec(x_533); -x_615 = l_Lean_Compiler_LCNF_Simp_withAddMustInline___rarg(x_614, x_530, x_2, x_3, x_4, x_364, x_6, x_613); +lean_dec(x_512); +if (lean_is_scalar(x_613)) { + x_615 = lean_alloc_ctor(0, 2, 0); +} else { + x_615 = x_613; +} +lean_ctor_set(x_615, 0, x_614); +lean_ctor_set(x_615, 1, x_612); return x_615; } } else { lean_object* x_616; lean_object* x_617; lean_object* x_618; lean_object* x_619; -lean_dec(x_532); -lean_dec(x_530); -lean_dec(x_525); -lean_dec(x_524); -lean_dec(x_523); -lean_dec(x_522); -lean_dec(x_364); +lean_dec(x_510); +lean_dec(x_360); lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_616 = lean_ctor_get(x_531, 0); +x_616 = lean_ctor_get(x_511, 0); lean_inc(x_616); -x_617 = lean_ctor_get(x_531, 1); +x_617 = lean_ctor_get(x_511, 1); lean_inc(x_617); -if (lean_is_exclusive(x_531)) { - lean_ctor_release(x_531, 0); - lean_ctor_release(x_531, 1); - x_618 = x_531; +if (lean_is_exclusive(x_511)) { + lean_ctor_release(x_511, 0); + lean_ctor_release(x_511, 1); + x_618 = x_511; } else { - lean_dec_ref(x_531); + lean_dec_ref(x_511); x_618 = lean_box(0); } if (lean_is_scalar(x_618)) { @@ -28732,228 +28214,163 @@ lean_ctor_set(x_619, 1, x_617); return x_619; } } -else -{ -lean_object* x_620; lean_object* x_621; lean_object* x_622; lean_object* x_623; -lean_dec(x_518); -lean_dec(x_364); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_620 = lean_ctor_get(x_519, 1); -lean_inc(x_620); -if (lean_is_exclusive(x_519)) { - lean_ctor_release(x_519, 0); - lean_ctor_release(x_519, 1); - x_621 = x_519; -} else { - lean_dec_ref(x_519); - x_621 = lean_box(0); -} -x_622 = lean_ctor_get(x_520, 0); -lean_inc(x_622); -lean_dec(x_520); -if (lean_is_scalar(x_621)) { - x_623 = lean_alloc_ctor(0, 2, 0); -} else { - x_623 = x_621; -} -lean_ctor_set(x_623, 0, x_622); -lean_ctor_set(x_623, 1, x_620); -return x_623; -} -} -else -{ -lean_object* x_624; lean_object* x_625; lean_object* x_626; lean_object* x_627; -lean_dec(x_518); -lean_dec(x_364); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_624 = lean_ctor_get(x_519, 0); -lean_inc(x_624); -x_625 = lean_ctor_get(x_519, 1); -lean_inc(x_625); -if (lean_is_exclusive(x_519)) { - lean_ctor_release(x_519, 0); - lean_ctor_release(x_519, 1); - x_626 = x_519; -} else { - lean_dec_ref(x_519); - x_626 = lean_box(0); -} -if (lean_is_scalar(x_626)) { - x_627 = lean_alloc_ctor(1, 2, 0); -} else { - x_627 = x_626; -} -lean_ctor_set(x_627, 0, x_624); -lean_ctor_set(x_627, 1, x_625); -return x_627; -} -} case 5: { -lean_object* x_628; lean_object* x_629; lean_object* x_630; lean_object* x_631; lean_object* x_632; lean_object* x_633; lean_object* x_634; lean_object* x_635; lean_object* x_636; lean_object* x_637; lean_object* x_638; lean_object* x_639; uint8_t x_640; -x_628 = lean_ctor_get(x_365, 1); +lean_object* x_620; lean_object* x_621; lean_object* x_622; lean_object* x_623; lean_object* x_624; lean_object* x_625; lean_object* x_626; lean_object* x_627; lean_object* x_628; lean_object* x_629; lean_object* x_630; lean_object* x_631; uint8_t x_632; +x_620 = lean_ctor_get(x_361, 1); +lean_inc(x_620); +lean_dec(x_361); +x_621 = lean_ctor_get(x_1, 0); +lean_inc(x_621); +x_622 = lean_st_ref_get(x_6, x_620); +x_623 = lean_ctor_get(x_622, 1); +lean_inc(x_623); +lean_dec(x_622); +x_624 = lean_st_ref_get(x_3, x_623); +x_625 = lean_ctor_get(x_624, 0); +lean_inc(x_625); +x_626 = lean_ctor_get(x_624, 1); +lean_inc(x_626); +lean_dec(x_624); +x_627 = lean_ctor_get(x_625, 0); +lean_inc(x_627); +lean_dec(x_625); +lean_inc(x_621); +x_628 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_627, x_621); lean_inc(x_628); -lean_dec(x_365); -x_629 = lean_ctor_get(x_1, 0); -lean_inc(x_629); -x_630 = lean_st_ref_get(x_6, x_628); -x_631 = lean_ctor_get(x_630, 1); -lean_inc(x_631); -lean_dec(x_630); -x_632 = lean_st_ref_get(x_3, x_631); -x_633 = lean_ctor_get(x_632, 0); -lean_inc(x_633); -x_634 = lean_ctor_get(x_632, 1); -lean_inc(x_634); -lean_dec(x_632); -x_635 = lean_ctor_get(x_633, 0); -lean_inc(x_635); -lean_dec(x_633); -lean_inc(x_629); -x_636 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_635, x_629); -lean_inc(x_636); -x_637 = l_Lean_Compiler_LCNF_Simp_markUsedFVar(x_636, x_2, x_3, x_4, x_364, x_6, x_634); +x_629 = l_Lean_Compiler_LCNF_Simp_markUsedFVar(x_628, x_2, x_3, x_4, x_360, x_6, x_626); lean_dec(x_6); -lean_dec(x_364); +lean_dec(x_360); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_638 = lean_ctor_get(x_637, 1); -lean_inc(x_638); -if (lean_is_exclusive(x_637)) { - lean_ctor_release(x_637, 0); - lean_ctor_release(x_637, 1); - x_639 = x_637; +x_630 = lean_ctor_get(x_629, 1); +lean_inc(x_630); +if (lean_is_exclusive(x_629)) { + lean_ctor_release(x_629, 0); + lean_ctor_release(x_629, 1); + x_631 = x_629; } else { - lean_dec_ref(x_637); - x_639 = lean_box(0); + lean_dec_ref(x_629); + x_631 = lean_box(0); } -x_640 = lean_name_eq(x_629, x_636); -lean_dec(x_629); -if (x_640 == 0) +x_632 = lean_name_eq(x_621, x_628); +lean_dec(x_621); +if (x_632 == 0) { -lean_object* x_641; lean_object* x_642; lean_object* x_643; +lean_object* x_633; lean_object* x_634; lean_object* x_635; if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); - x_641 = x_1; + x_633 = x_1; } else { lean_dec_ref(x_1); - x_641 = lean_box(0); + x_633 = lean_box(0); } -if (lean_is_scalar(x_641)) { - x_642 = lean_alloc_ctor(5, 1, 0); +if (lean_is_scalar(x_633)) { + x_634 = lean_alloc_ctor(5, 1, 0); } else { - x_642 = x_641; + x_634 = x_633; } -lean_ctor_set(x_642, 0, x_636); -if (lean_is_scalar(x_639)) { - x_643 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_634, 0, x_628); +if (lean_is_scalar(x_631)) { + x_635 = lean_alloc_ctor(0, 2, 0); } else { - x_643 = x_639; + x_635 = x_631; } -lean_ctor_set(x_643, 0, x_642); -lean_ctor_set(x_643, 1, x_638); -return x_643; +lean_ctor_set(x_635, 0, x_634); +lean_ctor_set(x_635, 1, x_630); +return x_635; } else { -lean_object* x_644; -lean_dec(x_636); -if (lean_is_scalar(x_639)) { - x_644 = lean_alloc_ctor(0, 2, 0); +lean_object* x_636; +lean_dec(x_628); +if (lean_is_scalar(x_631)) { + x_636 = lean_alloc_ctor(0, 2, 0); } else { - x_644 = x_639; + x_636 = x_631; } -lean_ctor_set(x_644, 0, x_1); -lean_ctor_set(x_644, 1, x_638); -return x_644; +lean_ctor_set(x_636, 0, x_1); +lean_ctor_set(x_636, 1, x_630); +return x_636; } } default: { -lean_object* x_645; lean_object* x_646; lean_object* x_647; lean_object* x_648; lean_object* x_649; lean_object* x_650; lean_object* x_651; lean_object* x_652; lean_object* x_653; lean_object* x_654; size_t x_655; size_t x_656; uint8_t x_657; -lean_dec(x_364); +lean_object* x_637; lean_object* x_638; lean_object* x_639; lean_object* x_640; lean_object* x_641; lean_object* x_642; lean_object* x_643; lean_object* x_644; lean_object* x_645; lean_object* x_646; size_t x_647; size_t x_648; uint8_t x_649; +lean_dec(x_360); lean_dec(x_4); lean_dec(x_2); -x_645 = lean_ctor_get(x_365, 1); -lean_inc(x_645); -lean_dec(x_365); -x_646 = lean_ctor_get(x_1, 0); -lean_inc(x_646); -x_647 = lean_st_ref_get(x_6, x_645); +x_637 = lean_ctor_get(x_361, 1); +lean_inc(x_637); +lean_dec(x_361); +x_638 = lean_ctor_get(x_1, 0); +lean_inc(x_638); +x_639 = lean_st_ref_get(x_6, x_637); lean_dec(x_6); -x_648 = lean_ctor_get(x_647, 1); -lean_inc(x_648); -lean_dec(x_647); -x_649 = lean_st_ref_get(x_3, x_648); +x_640 = lean_ctor_get(x_639, 1); +lean_inc(x_640); +lean_dec(x_639); +x_641 = lean_st_ref_get(x_3, x_640); lean_dec(x_3); -x_650 = lean_ctor_get(x_649, 0); -lean_inc(x_650); -x_651 = lean_ctor_get(x_649, 1); -lean_inc(x_651); -if (lean_is_exclusive(x_649)) { - lean_ctor_release(x_649, 0); - lean_ctor_release(x_649, 1); - x_652 = x_649; +x_642 = lean_ctor_get(x_641, 0); +lean_inc(x_642); +x_643 = lean_ctor_get(x_641, 1); +lean_inc(x_643); +if (lean_is_exclusive(x_641)) { + lean_ctor_release(x_641, 0); + lean_ctor_release(x_641, 1); + x_644 = x_641; } else { - lean_dec_ref(x_649); - x_652 = lean_box(0); + lean_dec_ref(x_641); + x_644 = lean_box(0); } -x_653 = lean_ctor_get(x_650, 0); -lean_inc(x_653); -lean_dec(x_650); -lean_inc(x_646); -x_654 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_653, x_646); -x_655 = lean_ptr_addr(x_646); -lean_dec(x_646); -x_656 = lean_ptr_addr(x_654); -x_657 = lean_usize_dec_eq(x_655, x_656); -if (x_657 == 0) +x_645 = lean_ctor_get(x_642, 0); +lean_inc(x_645); +lean_dec(x_642); +lean_inc(x_638); +x_646 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normExprImp_go(x_645, x_638); +x_647 = lean_ptr_addr(x_638); +lean_dec(x_638); +x_648 = lean_ptr_addr(x_646); +x_649 = lean_usize_dec_eq(x_647, x_648); +if (x_649 == 0) { -lean_object* x_658; lean_object* x_659; lean_object* x_660; +lean_object* x_650; lean_object* x_651; lean_object* x_652; if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); - x_658 = x_1; + x_650 = x_1; } else { lean_dec_ref(x_1); - x_658 = lean_box(0); + x_650 = lean_box(0); } -if (lean_is_scalar(x_658)) { - x_659 = lean_alloc_ctor(6, 1, 0); +if (lean_is_scalar(x_650)) { + x_651 = lean_alloc_ctor(6, 1, 0); } else { - x_659 = x_658; + x_651 = x_650; } -lean_ctor_set(x_659, 0, x_654); -if (lean_is_scalar(x_652)) { - x_660 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_651, 0, x_646); +if (lean_is_scalar(x_644)) { + x_652 = lean_alloc_ctor(0, 2, 0); } else { - x_660 = x_652; + x_652 = x_644; } -lean_ctor_set(x_660, 0, x_659); -lean_ctor_set(x_660, 1, x_651); -return x_660; +lean_ctor_set(x_652, 0, x_651); +lean_ctor_set(x_652, 1, x_643); +return x_652; } else { -lean_object* x_661; -lean_dec(x_654); -if (lean_is_scalar(x_652)) { - x_661 = lean_alloc_ctor(0, 2, 0); +lean_object* x_653; +lean_dec(x_646); +if (lean_is_scalar(x_644)) { + x_653 = lean_alloc_ctor(0, 2, 0); } else { - x_661 = x_652; + x_653 = x_644; } -lean_ctor_set(x_661, 0, x_1); -lean_ctor_set(x_661, 1, x_651); -return x_661; +lean_ctor_set(x_653, 0, x_1); +lean_ctor_set(x_653, 1, x_643); +return x_653; } } } @@ -28961,7 +28378,7 @@ return x_661; } else { -lean_object* x_662; +lean_object* x_654; lean_dec(x_18); lean_dec(x_17); lean_dec(x_16); @@ -28973,13 +28390,13 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_1); -x_662 = l_Lean_throwMaxRecDepthAt___at_Lean_Compiler_LCNF_Simp_simp___spec__8(x_13, x_2, x_3, x_4, x_5, x_6, x_7); +x_654 = l_Lean_throwMaxRecDepthAt___at_Lean_Compiler_LCNF_Simp_simp___spec__8(x_13, x_2, x_3, x_4, x_5, x_6, x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -return x_662; +return x_654; } } } @@ -29421,7 +28838,7 @@ goto _start; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Simp_simpCasesOnCtor_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +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; uint8_t x_21; x_8 = lean_ctor_get(x_1, 2); lean_inc(x_8); x_9 = lean_st_ref_get(x_6, x_7); @@ -29440,9 +28857,6 @@ lean_dec(x_12); x_15 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_normFVarImp(x_14, x_8); x_16 = l_Lean_Expr_fvar___override(x_15); x_17 = l_Lean_Compiler_LCNF_Simp_findCtor(x_16, x_2, x_3, x_4, x_5, x_6, x_13); -if (lean_obj_tag(x_17) == 0) -{ -lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; x_18 = lean_ctor_get(x_17, 0); lean_inc(x_18); x_19 = lean_ctor_get(x_17, 1); @@ -29500,7 +28914,7 @@ lean_inc(x_36); lean_dec(x_34); x_37 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_37, 0, x_36); -x_38 = l_Lean_Compiler_LCNF_eraseFVarsAt(x_37, x_4, x_5, x_6, x_23); +x_38 = l_Lean_Compiler_LCNF_eraseCode(x_37, x_4, x_5, x_6, x_23); x_39 = lean_ctor_get(x_38, 1); lean_inc(x_39); lean_dec(x_38); @@ -29558,9 +28972,6 @@ lean_inc(x_57); x_58 = lean_ctor_get(x_56, 1); lean_inc(x_58); lean_dec(x_56); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); x_59 = l_Lean_Compiler_LCNF_eraseParams(x_42, x_4, x_5, x_6, x_58); lean_dec(x_42); x_60 = lean_ctor_get(x_59, 1); @@ -29742,7 +29153,7 @@ lean_inc(x_94); lean_dec(x_92); x_95 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_95, 0, x_94); -x_96 = l_Lean_Compiler_LCNF_eraseFVarsAt(x_95, x_4, x_5, x_6, x_23); +x_96 = l_Lean_Compiler_LCNF_eraseCode(x_95, x_4, x_5, x_6, x_23); x_97 = lean_ctor_get(x_96, 1); lean_inc(x_97); lean_dec(x_96); @@ -29800,9 +29211,6 @@ lean_inc(x_115); x_116 = lean_ctor_get(x_114, 1); lean_inc(x_116); lean_dec(x_114); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); x_117 = l_Lean_Compiler_LCNF_eraseParams(x_100, x_4, x_5, x_6, x_116); lean_dec(x_100); x_118 = lean_ctor_get(x_117, 1); @@ -30021,7 +29429,7 @@ lean_inc(x_160); lean_dec(x_158); x_161 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_161, 0, x_160); -x_162 = l_Lean_Compiler_LCNF_eraseFVarsAt(x_161, x_4, x_5, x_6, x_146); +x_162 = l_Lean_Compiler_LCNF_eraseCode(x_161, x_4, x_5, x_6, x_146); x_163 = lean_ctor_get(x_162, 1); lean_inc(x_163); lean_dec(x_162); @@ -30079,9 +29487,6 @@ lean_inc(x_181); x_182 = lean_ctor_get(x_180, 1); lean_inc(x_182); lean_dec(x_180); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); x_183 = l_Lean_Compiler_LCNF_eraseParams(x_166, x_4, x_5, x_6, x_182); lean_dec(x_166); x_184 = lean_ctor_get(x_183, 1); @@ -30253,35 +29658,6 @@ return x_210; } } } -else -{ -uint8_t x_211; -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_211 = !lean_is_exclusive(x_17); -if (x_211 == 0) -{ -return x_17; -} -else -{ -lean_object* x_212; lean_object* x_213; lean_object* x_214; -x_212 = lean_ctor_get(x_17, 0); -x_213 = lean_ctor_get(x_17, 1); -lean_inc(x_213); -lean_inc(x_212); -lean_dec(x_17); -x_214 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_214, 0, x_212); -lean_ctor_set(x_214, 1, x_213); -return x_214; -} -} -} } LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_normParam___at_Lean_Compiler_LCNF_Simp_simpFunDecl___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: @@ -31469,7 +30845,7 @@ x_6 = l_Lean_Compiler_LCNF_Pass_mkPerDeclaration(x_4, x_3, x_5, x_2); return x_6; } } -static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11946____closed__1() { +static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11945____closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -31479,7 +30855,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11946____closed__2() { +static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11945____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -31489,17 +30865,17 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11946____closed__3() { +static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11945____closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11946____closed__2; +x_1 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11945____closed__2; x_2 = l_Lean_Compiler_LCNF_Decl_simp_x3f___lambda__2___closed__2; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11946_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11945_(lean_object* x_1) { _start: { lean_object* x_2; uint8_t x_3; lean_object* x_4; @@ -31521,7 +30897,7 @@ lean_object* x_9; lean_object* x_10; lean_object* x_11; x_9 = lean_ctor_get(x_8, 1); lean_inc(x_9); lean_dec(x_8); -x_10 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11946____closed__1; +x_10 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11945____closed__1; x_11 = l_Lean_registerTraceClass(x_10, x_7, x_9); if (lean_obj_tag(x_11) == 0) { @@ -31529,7 +30905,7 @@ lean_object* x_12; lean_object* x_13; lean_object* x_14; x_12 = lean_ctor_get(x_11, 1); lean_inc(x_12); lean_dec(x_11); -x_13 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11946____closed__2; +x_13 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11945____closed__2; x_14 = l_Lean_registerTraceClass(x_13, x_7, x_12); if (lean_obj_tag(x_14) == 0) { @@ -31537,7 +30913,7 @@ lean_object* x_15; lean_object* x_16; lean_object* x_17; x_15 = lean_ctor_get(x_14, 1); lean_inc(x_15); lean_dec(x_14); -x_16 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11946____closed__3; +x_16 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11945____closed__3; x_17 = l_Lean_registerTraceClass(x_16, x_7, x_15); return x_17; } @@ -31954,13 +31330,13 @@ l_Lean_Compiler_LCNF_Decl_simp_go___closed__1 = _init_l_Lean_Compiler_LCNF_Decl_ lean_mark_persistent(l_Lean_Compiler_LCNF_Decl_simp_go___closed__1); l_Lean_Compiler_LCNF_simp___closed__1 = _init_l_Lean_Compiler_LCNF_simp___closed__1(); lean_mark_persistent(l_Lean_Compiler_LCNF_simp___closed__1); -l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11946____closed__1 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11946____closed__1(); -lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11946____closed__1); -l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11946____closed__2 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11946____closed__2(); -lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11946____closed__2); -l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11946____closed__3 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11946____closed__3(); -lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11946____closed__3); -res = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11946_(lean_io_mk_world()); +l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11945____closed__1 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11945____closed__1(); +lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11945____closed__1); +l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11945____closed__2 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11945____closed__2(); +lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11945____closed__2); +l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11945____closed__3 = _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11945____closed__3(); +lean_mark_persistent(l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11945____closed__3); +res = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_Simp___hyg_11945_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Compiler/LCNF/Specialize.c b/stage0/stdlib/Lean/Compiler/LCNF/Specialize.c index a585778965..0625b03ae6 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/Specialize.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/Specialize.c @@ -80,7 +80,6 @@ lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Specialize_specializeApp_x3f___lambda__2___closed__8; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_specialize___elambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Specialize_specializeApp_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_RBNode_findCore___at_Lean_Meta_removeUnused___spec__1(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_specialize___closed__3; lean_object* l_List_mapTRAux___at_Lean_Compiler_LCNF_saveSpecParamInfo___spec__10(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Specialize_specializeApp_x3f___lambda__2___closed__4; @@ -97,6 +96,7 @@ lean_object* lean_array_to_list(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Specialize_isGround___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_addTrace___at_Lean_Compiler_LCNF_Specialize_specializeApp_x3f___spec__7___closed__4; +lean_object* l_Std_RBNode_insert___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateFunDeclImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Specialize_specializeApp_x3f___lambda__2___closed__3; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Specialize_visitCode(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -115,6 +115,7 @@ size_t lean_ptr_addr(lean_object*); static lean_object* l_Lean_addTrace___at_Lean_Compiler_LCNF_Specialize_specializeApp_x3f___spec__7___closed__2; lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_hasAnyFVar_visit___at_Lean_Compiler_LCNF_Specialize_isGround___spec__1___boxed(lean_object*, lean_object*); +lean_object* l_Std_RBNode_findCore___at_Lean_Compiler_LCNF_Code_bind_go___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Specialize_withParams___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); static lean_object* l_List_mapTRAux___at_Lean_Compiler_LCNF_Specialize_specializeApp_x3f___spec__4___at_Lean_Compiler_LCNF_Specialize_specializeApp_x3f___spec__5___at_Lean_Compiler_LCNF_Specialize_specializeApp_x3f___spec__6___closed__3; @@ -125,7 +126,6 @@ static lean_object* l_Lean_Compiler_LCNF_Specialize_specializeApp_x3f___lambda__ lean_object* l_Lean_Compiler_LCNF_getStage1Decl_x3f(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Compiler_LCNF_Specialize_specializeApp_x3f___spec__4___at_Lean_Compiler_LCNF_Specialize_specializeApp_x3f___spec__5___at_Lean_Compiler_LCNF_Specialize_specializeApp_x3f___spec__6(lean_object*, lean_object*); static lean_object* l_List_mapTRAux___at_Lean_Compiler_LCNF_Specialize_specializeApp_x3f___spec__4___at_Lean_Compiler_LCNF_Specialize_specializeApp_x3f___spec__5___at_Lean_Compiler_LCNF_Specialize_specializeApp_x3f___spec__6___closed__5; -lean_object* l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(lean_object*, lean_object*, lean_object*); static lean_object* l_List_mapTRAux___at_Lean_Compiler_LCNF_Specialize_specializeApp_x3f___spec__4___at_Lean_Compiler_LCNF_Specialize_specializeApp_x3f___spec__5___at_Lean_Compiler_LCNF_Specialize_specializeApp_x3f___spec__6___closed__6; lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Specialize_withFVar___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -196,7 +196,7 @@ lean_dec(x_6); x_8 = 1; x_9 = lean_usize_add(x_2, x_8); x_10 = lean_box(0); -x_11 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_4, x_7, x_10); +x_11 = l_Std_RBNode_insert___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___spec__1(x_4, x_7, x_10); x_2 = x_9; x_4 = x_11; goto _start; @@ -342,7 +342,7 @@ if (x_9 == 0) lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; x_10 = lean_ctor_get(x_3, 0); x_11 = lean_box(0); -x_12 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_10, x_1, x_11); +x_12 = l_Std_RBNode_insert___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___spec__1(x_10, x_1, x_11); lean_ctor_set(x_3, 0, x_12); x_13 = lean_apply_6(x_2, x_3, x_4, x_5, x_6, x_7, x_8); return x_13; @@ -356,7 +356,7 @@ lean_inc(x_15); lean_inc(x_14); lean_dec(x_3); x_16 = lean_box(0); -x_17 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_14, x_1, x_16); +x_17 = l_Std_RBNode_insert___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___spec__1(x_14, x_1, x_16); x_18 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_18, 0, x_17); lean_ctor_set(x_18, 1, x_15); @@ -391,7 +391,7 @@ case 1: { lean_object* x_5; lean_object* x_6; x_5 = lean_ctor_get(x_2, 0); -x_6 = l_Std_RBNode_findCore___at_Lean_Meta_removeUnused___spec__1(x_1, x_5); +x_6 = l_Std_RBNode_findCore___at_Lean_Compiler_LCNF_Code_bind_go___spec__1(x_1, x_5); if (lean_obj_tag(x_6) == 0) { uint8_t x_7; @@ -591,7 +591,7 @@ x_15 = lean_ctor_get(x_3, 0); x_16 = lean_ctor_get(x_3, 1); x_17 = lean_box(0); lean_inc(x_13); -x_18 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_15, x_13, x_17); +x_18 = l_Std_RBNode_insert___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___spec__1(x_15, x_13, x_17); x_19 = lean_unbox(x_11); lean_dec(x_11); if (x_19 == 0) @@ -605,7 +605,7 @@ return x_20; else { lean_object* x_21; lean_object* x_22; -x_21 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_16, x_13, x_17); +x_21 = l_Std_RBNode_insert___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___spec__1(x_16, x_13, x_17); lean_ctor_set(x_3, 1, x_21); lean_ctor_set(x_3, 0, x_18); x_22 = lean_apply_6(x_2, x_3, x_4, x_5, x_6, x_7, x_12); @@ -622,7 +622,7 @@ lean_inc(x_23); lean_dec(x_3); x_25 = lean_box(0); lean_inc(x_13); -x_26 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_23, x_13, x_25); +x_26 = l_Std_RBNode_insert___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___spec__1(x_23, x_13, x_25); x_27 = lean_unbox(x_11); lean_dec(x_11); if (x_27 == 0) @@ -638,7 +638,7 @@ return x_29; else { lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_30 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_24, x_13, x_25); +x_30 = l_Std_RBNode_insert___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___spec__1(x_24, x_13, x_25); x_31 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_31, 0, x_26); lean_ctor_set(x_31, 1, x_30); @@ -2784,7 +2784,7 @@ x_46 = lean_ctor_get(x_2, 0); x_47 = lean_ctor_get(x_2, 1); x_48 = lean_box(0); lean_inc(x_44); -x_49 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_46, x_44, x_48); +x_49 = l_Std_RBNode_insert___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___spec__1(x_46, x_44, x_48); x_50 = lean_unbox(x_42); lean_dec(x_42); if (x_50 == 0) @@ -2833,7 +2833,7 @@ return x_57; else { lean_object* x_58; lean_object* x_59; -x_58 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_47, x_44, x_48); +x_58 = l_Std_RBNode_insert___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___spec__1(x_47, x_44, x_48); lean_ctor_set(x_2, 1, x_58); lean_ctor_set(x_2, 0, x_49); x_59 = l_Lean_Compiler_LCNF_Specialize_visitCode(x_9, x_2, x_3, x_4, x_5, x_6, x_43); @@ -2885,7 +2885,7 @@ lean_inc(x_66); lean_dec(x_2); x_68 = lean_box(0); lean_inc(x_44); -x_69 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_66, x_44, x_68); +x_69 = l_Std_RBNode_insert___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___spec__1(x_66, x_44, x_68); x_70 = lean_unbox(x_42); lean_dec(x_42); if (x_70 == 0) @@ -2938,7 +2938,7 @@ return x_78; else { lean_object* x_79; lean_object* x_80; lean_object* x_81; -x_79 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_67, x_44, x_68); +x_79 = l_Std_RBNode_insert___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___spec__1(x_67, x_44, x_68); x_80 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_80, 0, x_69); lean_ctor_set(x_80, 1, x_79); @@ -3169,7 +3169,7 @@ if (x_101 == 0) lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; x_102 = lean_ctor_get(x_2, 0); x_103 = lean_box(0); -x_104 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_102, x_100, x_103); +x_104 = l_Std_RBNode_insert___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___spec__1(x_102, x_100, x_103); lean_ctor_set(x_2, 0, x_104); lean_inc(x_96); x_105 = l_Lean_Compiler_LCNF_Specialize_visitCode(x_96, x_2, x_3, x_4, x_5, x_6, x_99); @@ -3371,7 +3371,7 @@ lean_inc(x_142); lean_inc(x_141); lean_dec(x_2); x_143 = lean_box(0); -x_144 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_141, x_100, x_143); +x_144 = l_Std_RBNode_insert___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___spec__1(x_141, x_100, x_143); x_145 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_145, 0, x_144); lean_ctor_set(x_145, 1, x_142); @@ -3565,7 +3565,7 @@ if (x_177 == 0) lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; x_178 = lean_ctor_get(x_2, 0); x_179 = lean_box(0); -x_180 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_178, x_176, x_179); +x_180 = l_Std_RBNode_insert___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___spec__1(x_178, x_176, x_179); lean_ctor_set(x_2, 0, x_180); lean_inc(x_172); x_181 = l_Lean_Compiler_LCNF_Specialize_visitCode(x_172, x_2, x_3, x_4, x_5, x_6, x_175); @@ -3767,7 +3767,7 @@ lean_inc(x_218); lean_inc(x_217); lean_dec(x_2); x_219 = lean_box(0); -x_220 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_217, x_176, x_219); +x_220 = l_Std_RBNode_insert___at___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_collectExpr___spec__1(x_217, x_176, x_219); x_221 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_221, 0, x_220); lean_ctor_set(x_221, 1, x_218); diff --git a/stage0/stdlib/Lean/Compiler/LCNF/Stage1.c b/stage0/stdlib/Lean/Compiler/LCNF/Stage1.c index 399e404660..560f8dd38d 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/Stage1.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/Stage1.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Compiler.LCNF.Stage1 -// Imports: Init Lean.CoreM Lean.Compiler.LCNF.Basic +// Imports: Init Lean.CoreM Lean.MonadEnv Lean.Compiler.LCNF.Basic #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -1955,6 +1955,7 @@ return x_2; } lean_object* initialize_Init(uint8_t builtin, lean_object*); lean_object* initialize_Lean_CoreM(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_MonadEnv(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Compiler_LCNF_Basic(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Compiler_LCNF_Stage1(uint8_t builtin, lean_object* w) { @@ -1967,6 +1968,9 @@ lean_dec_ref(res); res = initialize_Lean_CoreM(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_MonadEnv(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); res = initialize_Lean_Compiler_LCNF_Basic(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Compiler/LCNF/Testing.c b/stage0/stdlib/Lean/Compiler/LCNF/Testing.c index 50dc8f7996..228432fd6b 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/Testing.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/Testing.c @@ -19,10 +19,12 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_getInputDecls(lean_object* size_t lean_usize_add(size_t, size_t); static lean_object* l___private_Lean_Compiler_LCNF_Testing_0__Lean_Compiler_LCNF_Testing_assertAfterTest___elambda__1___closed__5; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_TestInstaller_install(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_stringToMessageData(lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_getPassUnderTest(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Compiler_LCNF_Code_containsConst___spec__1(lean_object*, lean_object*, size_t, size_t); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Testing_assert___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Compiler_LCNF_PassInstaller_installAfter___elambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Testing_assertSize___lambda__1___closed__3; @@ -56,13 +58,15 @@ LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Compiler_LCNF_Tes lean_object* lean_array_get_size(lean_object*); lean_object* lean_string_append(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Code_containsConst_goExpr___closed__2; -uint8_t l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_2877_(lean_object*, lean_object*); +uint8_t l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3052_(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__3(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Testing_0__Lean_Compiler_LCNF_Testing_assertAfterTest___elambda__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_InOutAssertionM_run___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Testing_assertSize___closed__1; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Compiler_LCNF_Testing_0__Lean_Compiler_LCNF_Testing_throwFixPointError___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Compiler_LCNF_Testing_0__Lean_Compiler_LCNF_Testing_assertAroundTest___elambda__1___lambda__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_getTestName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Testing_0__Lean_Compiler_LCNF_Testing_assertAfterTest___elambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Testing_assertForEachDeclAfter___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_usize_dec_lt(size_t, size_t); @@ -72,6 +76,7 @@ lean_object* lean_nat_add(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_containsConst___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Testing_assertReducesSize___closed__1; static lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Testing_assert___spec__1___closed__6; +lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_TopDownAnalyze_analyzeAppStagedCore_maybeSetExplicit___spec__4(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_assertAroundEachOccurence(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Testing_assertForEachDeclAfter___closed__1; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Testing_assert___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -93,6 +98,7 @@ static lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Testing_assert___s LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_containsConst_goExpr___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_assertAfter(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_containsConst_goExpr(lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Testing_assertNoFun___closed__1; static lean_object* l___private_Lean_Compiler_LCNF_Testing_0__Lean_Compiler_LCNF_Testing_assertAfterTest___elambda__1___closed__4; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_assertReducesOrPreservesSize(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Testing_assertIsAtFixPoint___closed__1; @@ -100,6 +106,8 @@ LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_Code_containsConst(lean_object*, lean_o LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Testing_0__Lean_Compiler_LCNF_Testing_assertAroundTest___elambda__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_getTestName___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_toString(lean_object*, uint8_t); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_assertNoFun___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_Testing_assertNoFun___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Testing_0__Lean_Compiler_LCNF_Testing_assertAfterTest___elambda__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Compiler_LCNF_Testing_0__Lean_Compiler_LCNF_Testing_assertAfterTest___elambda__1___lambda__2___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_assertForEachDeclAfter___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -117,17 +125,21 @@ LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Compiler_LCNF_Code_contains LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Testing_0__Lean_Compiler_LCNF_Testing_assertAfterTest(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_assert(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_assertIsAtFixPoint___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Testing_assertSize___spec__2(lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Compiler_LCNF_Testing_0__Lean_Compiler_LCNF_Testing_throwFixPointError___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_assertNoFun(lean_object*); LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_Compiler_LCNF_Testing_assertSize___spec__3(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_Testing_0__Lean_Compiler_LCNF_Testing_assertAroundTest(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_Testing_assertSize___spec__1(size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_Compiler_LCNF_Testing_assertForEachDeclAfter___spec__2(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_assertSize(lean_object*, lean_object*, lean_object*); size_t lean_usize_of_nat(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_assertNoFun___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Testing_assertSize___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Testing_assert___spec__1___closed__3; +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_SimpleAssertionM_run___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_assertIsAtFixPoint(lean_object*); static lean_object* l___private_Lean_Compiler_LCNF_Testing_0__Lean_Compiler_LCNF_Testing_throwFixPointError___closed__2; @@ -136,6 +148,7 @@ LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Testi static lean_object* l___private_Lean_Compiler_LCNF_Testing_0__Lean_Compiler_LCNF_Testing_assertAfterTest___elambda__1___lambda__2___closed__3; lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Testing_assertPreservesSize___closed__1; +static lean_object* l_Lean_Compiler_LCNF_Testing_assertNoFun___closed__3; static lean_object* l_Lean_addTrace___at___private_Lean_Compiler_LCNF_Testing_0__Lean_Compiler_LCNF_Testing_assertAfterTest___elambda__1___spec__2___closed__1; uint8_t lean_nat_dec_le(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_assertForEachDeclAfter___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -157,19 +170,25 @@ lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Testing_assertIsAtFixPoint___lambda__1___closed__1; static lean_object* l_Lean_isTracingEnabledFor___at___private_Lean_Compiler_LCNF_Testing_0__Lean_Compiler_LCNF_Testing_assertAfterTest___elambda__1___spec__1___closed__1; static lean_object* l_Lean_Compiler_LCNF_Testing_assertReducesOrPreservesSize___closed__1; +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Testing_assertNoFun___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_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Code_containsConst_goExpr___closed__4; +static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1___closed__2; LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_Testing_assertDoesNotContainConstAfter___lambda__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Compiler_LCNF_PassInstaller_replacePass___elambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___private_Lean_Compiler_LCNF_Testing_0__Lean_Compiler_LCNF_Testing_assertAfterTest___elambda__1___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_assertReducesOrPreservesSize___lambda__1___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Testing_assertSize___lambda__1___closed__2; +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_forM_go___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Compiler_LCNF_Testing_0__Lean_Compiler_LCNF_Testing_assertAfterTest___elambda__1___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_assertForEachDeclAfter(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_Testing_assertSize___lambda__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_assertSize___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1___closed__1; +static lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1___closed__4; static lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Testing_assert___spec__1___closed__5; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_InOutAssertionM_run(lean_object*); -lean_object* l_panic___at_Lean_Meta_Match_mkMatcher___spec__13(lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_isEqvAux___at_Lean_Compiler_LCNF_Testing_assertIsAtFixPoint___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_assertAround(lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_Testing_assertReducesOrPreservesSize___lambda__1(lean_object*, lean_object*); @@ -264,7 +283,7 @@ case 8: { lean_object* x_15; lean_object* x_16; x_15 = l_Lean_Compiler_LCNF_Code_containsConst_goExpr___closed__4; -x_16 = l_panic___at_Lean_Meta_Match_mkMatcher___spec__13(x_15); +x_16 = l_panic___at_Lean_PrettyPrinter_Delaborator_TopDownAnalyze_analyzeAppStagedCore_maybeSetExplicit___spec__4(x_15); return x_16; } case 11: @@ -2771,7 +2790,7 @@ else lean_object* x_10; lean_object* x_11; uint8_t x_12; x_10 = lean_array_fget(x_4, x_6); x_11 = lean_array_fget(x_5, x_6); -x_12 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_2877_(x_10, x_11); +x_12 = l___private_Lean_Compiler_LCNF_Basic_0__Lean_Compiler_LCNF_beqDecl____x40_Lean_Compiler_LCNF_Basic___hyg_3052_(x_10, x_11); lean_dec(x_11); if (x_12 == 0) { @@ -3589,6 +3608,813 @@ x_5 = lean_box(x_4); return x_5; } } +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; +x_8 = lean_ctor_get(x_5, 5); +x_9 = lean_st_ref_get(x_6, x_7); +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_9, 1); +lean_inc(x_11); +lean_dec(x_9); +x_12 = lean_ctor_get(x_10, 0); +lean_inc(x_12); +lean_dec(x_10); +x_13 = lean_st_ref_get(x_4, x_11); +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_15 = lean_ctor_get(x_13, 0); +x_16 = lean_ctor_get(x_15, 0); +lean_inc(x_16); +lean_dec(x_15); +x_17 = l_Lean_Compiler_LCNF_LCtx_toLocalContext(x_16); +x_18 = lean_ctor_get(x_5, 2); +x_19 = l_Lean_throwError___at_Lean_Compiler_LCNF_Testing_assert___spec__1___closed__6; +lean_inc(x_18); +x_20 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_20, 0, x_12); +lean_ctor_set(x_20, 1, x_19); +lean_ctor_set(x_20, 2, x_17); +lean_ctor_set(x_20, 3, x_18); +x_21 = lean_alloc_ctor(6, 2, 0); +lean_ctor_set(x_21, 0, x_20); +lean_ctor_set(x_21, 1, x_1); +lean_inc(x_8); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_8); +lean_ctor_set(x_22, 1, x_21); +lean_ctor_set_tag(x_13, 1); +lean_ctor_set(x_13, 0, x_22); +return x_13; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_23 = lean_ctor_get(x_13, 0); +x_24 = lean_ctor_get(x_13, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_13); +x_25 = lean_ctor_get(x_23, 0); +lean_inc(x_25); +lean_dec(x_23); +x_26 = l_Lean_Compiler_LCNF_LCtx_toLocalContext(x_25); +x_27 = lean_ctor_get(x_5, 2); +x_28 = l_Lean_throwError___at_Lean_Compiler_LCNF_Testing_assert___spec__1___closed__6; +lean_inc(x_27); +x_29 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_29, 0, x_12); +lean_ctor_set(x_29, 1, x_28); +lean_ctor_set(x_29, 2, x_26); +lean_ctor_set(x_29, 3, x_27); +x_30 = lean_alloc_ctor(6, 2, 0); +lean_ctor_set(x_30, 0, x_29); +lean_ctor_set(x_30, 1, x_1); +lean_inc(x_8); +x_31 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_31, 0, x_8); +lean_ctor_set(x_31, 1, x_30); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_31); +lean_ctor_set(x_32, 1, x_24); +return x_32; +} +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__3(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; +x_12 = lean_usize_dec_eq(x_3, x_4); +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; +lean_dec(x_5); +x_13 = lean_array_uget(x_2, x_3); +x_14 = l_Lean_Compiler_LCNF_AltCore_getCode(x_13); +lean_dec(x_13); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_1); +x_15 = l_Lean_Compiler_LCNF_Code_forM_go___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__2(x_1, x_14, x_6, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_15) == 0) +{ +lean_object* x_16; lean_object* x_17; size_t x_18; size_t x_19; +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 = 1; +x_19 = lean_usize_add(x_3, x_18); +x_3 = x_19; +x_5 = x_16; +x_11 = x_17; +goto _start; +} +else +{ +uint8_t x_21; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_21 = !lean_is_exclusive(x_15); +if (x_21 == 0) +{ +return x_15; +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_15, 0); +x_23 = lean_ctor_get(x_15, 1); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_15); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +return x_24; +} +} +} +else +{ +lean_object* x_25; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_1); +x_25 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_25, 0, x_5); +lean_ctor_set(x_25, 1, x_11); +return x_25; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Code_forM_go___at_Lean_Compiler_LCNF_Testing_assertNoFun___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_inc(x_1); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_9 = lean_apply_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_9) == 0) +{ +switch (lean_obj_tag(x_2)) { +case 0: +{ +lean_object* x_10; lean_object* x_11; +x_10 = lean_ctor_get(x_9, 1); +lean_inc(x_10); +lean_dec(x_9); +x_11 = lean_ctor_get(x_2, 1); +lean_inc(x_11); +lean_dec(x_2); +x_2 = x_11; +x_8 = x_10; +goto _start; +} +case 1: +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_13 = lean_ctor_get(x_9, 1); +lean_inc(x_13); +lean_dec(x_9); +x_14 = lean_ctor_get(x_2, 0); +lean_inc(x_14); +x_15 = lean_ctor_get(x_2, 1); +lean_inc(x_15); +lean_dec(x_2); +x_16 = lean_ctor_get(x_14, 4); +lean_inc(x_16); +lean_dec(x_14); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_1); +x_17 = l_Lean_Compiler_LCNF_Code_forM_go___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__2(x_1, x_16, x_3, x_4, x_5, x_6, x_7, x_13); +if (lean_obj_tag(x_17) == 0) +{ +lean_object* x_18; +x_18 = lean_ctor_get(x_17, 1); +lean_inc(x_18); +lean_dec(x_17); +x_2 = x_15; +x_8 = x_18; +goto _start; +} +else +{ +uint8_t x_20; +lean_dec(x_15); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_20 = !lean_is_exclusive(x_17); +if (x_20 == 0) +{ +return x_17; +} +else +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_17, 0); +x_22 = lean_ctor_get(x_17, 1); +lean_inc(x_22); +lean_inc(x_21); +lean_dec(x_17); +x_23 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_23, 0, x_21); +lean_ctor_set(x_23, 1, x_22); +return x_23; +} +} +} +case 2: +{ +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_9, 1); +lean_inc(x_24); +lean_dec(x_9); +x_25 = lean_ctor_get(x_2, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_2, 1); +lean_inc(x_26); +lean_dec(x_2); +x_27 = lean_ctor_get(x_25, 4); +lean_inc(x_27); +lean_dec(x_25); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_1); +x_28 = l_Lean_Compiler_LCNF_Code_forM_go___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__2(x_1, x_27, x_3, x_4, x_5, x_6, x_7, x_24); +if (lean_obj_tag(x_28) == 0) +{ +lean_object* x_29; +x_29 = lean_ctor_get(x_28, 1); +lean_inc(x_29); +lean_dec(x_28); +x_2 = x_26; +x_8 = x_29; +goto _start; +} +else +{ +uint8_t x_31; +lean_dec(x_26); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_31 = !lean_is_exclusive(x_28); +if (x_31 == 0) +{ +return x_28; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_28, 0); +x_33 = lean_ctor_get(x_28, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_28); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; +} +} +} +case 4: +{ +uint8_t x_35; +x_35 = !lean_is_exclusive(x_9); +if (x_35 == 0) +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; uint8_t x_42; +x_36 = lean_ctor_get(x_9, 1); +x_37 = lean_ctor_get(x_9, 0); +lean_dec(x_37); +x_38 = lean_ctor_get(x_2, 0); +lean_inc(x_38); +lean_dec(x_2); +x_39 = lean_ctor_get(x_38, 3); +lean_inc(x_39); +lean_dec(x_38); +x_40 = lean_array_get_size(x_39); +x_41 = lean_unsigned_to_nat(0u); +x_42 = lean_nat_dec_lt(x_41, x_40); +if (x_42 == 0) +{ +lean_object* x_43; +lean_dec(x_40); +lean_dec(x_39); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_43 = lean_box(0); +lean_ctor_set(x_9, 0, x_43); +return x_9; +} +else +{ +uint8_t x_44; +x_44 = lean_nat_dec_le(x_40, x_40); +if (x_44 == 0) +{ +lean_object* x_45; +lean_dec(x_40); +lean_dec(x_39); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_45 = lean_box(0); +lean_ctor_set(x_9, 0, x_45); +return x_9; +} +else +{ +size_t x_46; size_t x_47; lean_object* x_48; lean_object* x_49; +lean_free_object(x_9); +x_46 = 0; +x_47 = lean_usize_of_nat(x_40); +lean_dec(x_40); +x_48 = lean_box(0); +x_49 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__3(x_1, x_39, x_46, x_47, x_48, x_3, x_4, x_5, x_6, x_7, x_36); +lean_dec(x_39); +return x_49; +} +} +} +else +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; uint8_t x_55; +x_50 = lean_ctor_get(x_9, 1); +lean_inc(x_50); +lean_dec(x_9); +x_51 = lean_ctor_get(x_2, 0); +lean_inc(x_51); +lean_dec(x_2); +x_52 = lean_ctor_get(x_51, 3); +lean_inc(x_52); +lean_dec(x_51); +x_53 = lean_array_get_size(x_52); +x_54 = lean_unsigned_to_nat(0u); +x_55 = lean_nat_dec_lt(x_54, x_53); +if (x_55 == 0) +{ +lean_object* x_56; lean_object* x_57; +lean_dec(x_53); +lean_dec(x_52); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_56 = lean_box(0); +x_57 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_57, 0, x_56); +lean_ctor_set(x_57, 1, x_50); +return x_57; +} +else +{ +uint8_t x_58; +x_58 = lean_nat_dec_le(x_53, x_53); +if (x_58 == 0) +{ +lean_object* x_59; lean_object* x_60; +lean_dec(x_53); +lean_dec(x_52); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_59 = lean_box(0); +x_60 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_60, 0, x_59); +lean_ctor_set(x_60, 1, x_50); +return x_60; +} +else +{ +size_t x_61; size_t x_62; lean_object* x_63; lean_object* x_64; +x_61 = 0; +x_62 = lean_usize_of_nat(x_53); +lean_dec(x_53); +x_63 = lean_box(0); +x_64 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__3(x_1, x_52, x_61, x_62, x_63, x_3, x_4, x_5, x_6, x_7, x_50); +lean_dec(x_52); +return x_64; +} +} +} +} +default: +{ +uint8_t x_65; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_65 = !lean_is_exclusive(x_9); +if (x_65 == 0) +{ +lean_object* x_66; lean_object* x_67; +x_66 = lean_ctor_get(x_9, 0); +lean_dec(x_66); +x_67 = lean_box(0); +lean_ctor_set(x_9, 0, x_67); +return x_9; +} +else +{ +lean_object* x_68; lean_object* x_69; lean_object* x_70; +x_68 = lean_ctor_get(x_9, 1); +lean_inc(x_68); +lean_dec(x_9); +x_69 = lean_box(0); +x_70 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_70, 0, x_69); +lean_ctor_set(x_70, 1, x_68); +return x_70; +} +} +} +} +else +{ +uint8_t x_71; +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_71 = !lean_is_exclusive(x_9); +if (x_71 == 0) +{ +return x_9; +} +else +{ +lean_object* x_72; lean_object* x_73; lean_object* x_74; +x_72 = lean_ctor_get(x_9, 0); +x_73 = lean_ctor_get(x_9, 1); +lean_inc(x_73); +lean_inc(x_72); +lean_dec(x_9); +x_74 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_74, 0, x_72); +lean_ctor_set(x_74, 1, x_73); +return x_74; +} +} +} +} +static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("declaration `", 13); +return x_1; +} +} +static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("` contains a local function declaration", 39); +return x_1; +} +} +static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1___closed__3; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___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) { +_start: +{ +if (lean_obj_tag(x_2) == 1) +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +lean_dec(x_2); +x_9 = lean_ctor_get(x_1, 0); +lean_inc(x_9); +lean_dec(x_1); +x_10 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_10, 0, x_9); +x_11 = l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1___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); +x_13 = l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1___closed__4; +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_Compiler_LCNF_Testing_assertNoFun___spec__1(x_14, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_15; +} +else +{ +lean_object* x_16; lean_object* x_17; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_16 = lean_box(0); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_8); +return x_17; +} +} +} +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +uint8_t x_11; +x_11 = lean_usize_dec_lt(x_3, x_2); +if (x_11 == 0) +{ +lean_object* x_12; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_4); +lean_ctor_set(x_12, 1, x_10); +return x_12; +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +lean_dec(x_4); +x_13 = lean_array_uget(x_1, x_3); +x_14 = lean_ctor_get(x_13, 4); +lean_inc(x_14); +x_15 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1), 8, 1); +lean_closure_set(x_15, 0, x_13); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +x_16 = l_Lean_Compiler_LCNF_Code_forM_go___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__2(x_15, x_14, x_5, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_16) == 0) +{ +lean_object* x_17; size_t x_18; size_t x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_16, 1); +lean_inc(x_17); +lean_dec(x_16); +x_18 = 1; +x_19 = lean_usize_add(x_3, x_18); +x_20 = lean_box(0); +x_3 = x_19; +x_4 = x_20; +x_10 = x_17; +goto _start; +} +else +{ +uint8_t x_22; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_22 = !lean_is_exclusive(x_16); +if (x_22 == 0) +{ +return x_16; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_16, 0); +x_24 = lean_ctor_get(x_16, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_16); +x_25 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_24); +return x_25; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_assertNoFun___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; size_t x_9; size_t x_10; lean_object* x_11; lean_object* x_12; +x_8 = lean_array_get_size(x_1); +x_9 = lean_usize_of_nat(x_8); +lean_dec(x_8); +x_10 = 0; +x_11 = lean_box(0); +x_12 = l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4(x_1, x_9, x_10, x_11, x_2, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_12) == 0) +{ +uint8_t x_13; +x_13 = !lean_is_exclusive(x_12); +if (x_13 == 0) +{ +lean_object* x_14; +x_14 = lean_ctor_get(x_12, 0); +lean_dec(x_14); +lean_ctor_set(x_12, 0, x_11); +return x_12; +} +else +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_ctor_get(x_12, 1); +lean_inc(x_15); +lean_dec(x_12); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_11); +lean_ctor_set(x_16, 1, x_15); +return x_16; +} +} +else +{ +uint8_t x_17; +x_17 = !lean_is_exclusive(x_12); +if (x_17 == 0) +{ +return x_12; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_12, 0); +x_19 = lean_ctor_get(x_12, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_12); +x_20 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_20, 0, x_18); +lean_ctor_set(x_20, 1, x_19); +return x_20; +} +} +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Testing_assertNoFun___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Testing_getDecls___boxed), 6, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Testing_assertNoFun___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Testing_assertNoFun___lambda__1___boxed), 7, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_Testing_assertNoFun___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_LCNF_Testing_assertNoFun___closed__1; +x_2 = l_Lean_Compiler_LCNF_Testing_assertNoFun___closed__2; +x_3 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Compiler_LCNF_Testing_assertForEachDeclAfter___spec__2___rarg), 8, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_assertNoFun(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = l_Lean_Compiler_LCNF_Testing_assertNoFun___closed__3; +x_3 = lean_unsigned_to_nat(0u); +x_4 = l_Lean_Compiler_LCNF_Testing_assertAfter(x_2, x_3, x_1); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; +x_8 = l_Lean_throwError___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_8; +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Testing_assertNoFun___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: +{ +size_t x_12; size_t x_13; lean_object* x_14; +x_12 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_13 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_14 = l_Array_foldlMUnsafe_fold___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__3(x_1, x_2, x_12, x_13, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_2); +return x_14; +} +} +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___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; +x_11 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_12 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_13 = l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4(x_1, x_11, x_12, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_1); +return x_13; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Testing_assertNoFun___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_Compiler_LCNF_Testing_assertNoFun___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_1); +return x_8; +} +} lean_object* initialize_Init(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Compiler_LCNF_PassManager(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Compiler_LCNF_PrettyPrinter(uint8_t builtin, lean_object*); @@ -3688,6 +4514,20 @@ l_Lean_Compiler_LCNF_Testing_assertReducesSize___closed__1 = _init_l_Lean_Compil lean_mark_persistent(l_Lean_Compiler_LCNF_Testing_assertReducesSize___closed__1); l_Lean_Compiler_LCNF_Testing_assertReducesOrPreservesSize___closed__1 = _init_l_Lean_Compiler_LCNF_Testing_assertReducesOrPreservesSize___closed__1(); lean_mark_persistent(l_Lean_Compiler_LCNF_Testing_assertReducesOrPreservesSize___closed__1); +l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1___closed__1 = _init_l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1___closed__1(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1___closed__1); +l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1___closed__2 = _init_l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1___closed__2(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1___closed__2); +l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1___closed__3 = _init_l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1___closed__3(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1___closed__3); +l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1___closed__4 = _init_l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1___closed__4(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Compiler_LCNF_Testing_assertNoFun___spec__4___lambda__1___closed__4); +l_Lean_Compiler_LCNF_Testing_assertNoFun___closed__1 = _init_l_Lean_Compiler_LCNF_Testing_assertNoFun___closed__1(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Testing_assertNoFun___closed__1); +l_Lean_Compiler_LCNF_Testing_assertNoFun___closed__2 = _init_l_Lean_Compiler_LCNF_Testing_assertNoFun___closed__2(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Testing_assertNoFun___closed__2); +l_Lean_Compiler_LCNF_Testing_assertNoFun___closed__3 = _init_l_Lean_Compiler_LCNF_Testing_assertNoFun___closed__3(); +lean_mark_persistent(l_Lean_Compiler_LCNF_Testing_assertNoFun___closed__3); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Lean/Compiler/LCNF/ToDecl.c b/stage0/stdlib/Lean/Compiler/LCNF/ToDecl.c index fbeb64dc9c..a956267a9c 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/ToDecl.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/ToDecl.c @@ -62,6 +62,7 @@ static lean_object* l_Lean_Compiler_LCNF_inlineMatchers___closed__14; static lean_object* l___private_Lean_Compiler_LCNF_ToDecl_0__Lean_Compiler_LCNF_normalizeAlt___lambda__3___closed__2; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_inlineMatchers___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Compiler_LCNF_eraseFunDecl(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_inlineMatchers___closed__7; lean_object* l_Lean_ConstantInfo_levelParams(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at_Lean_Compiler_LCNF_inlineMatchers___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -75,6 +76,7 @@ lean_object* lean_nat_sub(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_inlineMatchers_inlineMatcher___closed__2; static lean_object* l_Lean_Compiler_LCNF_inlineMatchers_inlineMatcher___closed__1; lean_object* l_Lean_Meta_transform___at_Lean_Meta_zetaReduce___spec__1(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Compiler_LCNF_Decl_etaExpand(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_inlineMatchers___closed__22; lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Compiler_LCNF_ToLCNF_etaExpandN___spec__1___rarg(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, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -88,6 +90,7 @@ lean_object* lean_st_mk_ref(lean_object*, lean_object*); extern lean_object* l_Lean_Expr_instHashableExpr; LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_ToDecl_0__Lean_Compiler_LCNF_normalizeAlt(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); +lean_object* l_panic___at_String_toNat_x21___spec__1(lean_object*); lean_object* l_Lean_Expr_sort___override(lean_object*); lean_object* l_Lean_Compiler_LCNF_toLCNFType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_toDecl___closed__7; @@ -112,7 +115,6 @@ lean_object* l_Lean_Meta_etaExpand(lean_object*, lean_object*, lean_object*, lea static lean_object* l_Lean_Compiler_LCNF_inlineMatchers___closed__20; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_macroInline(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_hasInlineAttrAux(lean_object*, uint8_t, lean_object*); -lean_object* l_Lean_Compiler_LCNF_eraseFVar(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_inlineMatchers___closed__10; static lean_object* l_Lean_Compiler_LCNF_inlineMatchers___closed__24; @@ -126,7 +128,6 @@ static lean_object* l_Lean_Compiler_LCNF_macroInline___lambda__2___closed__1; lean_object* l_Array_ofSubarray___rarg(lean_object*); lean_object* lean_is_unsafe_rec_name(lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); -lean_object* l_panic___at_Lean_TSyntax_getNat___spec__1(lean_object*); lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_inlineMatchers___closed__11; LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_ToDecl_0__Lean_Compiler_LCNF_replaceUnsafeRecNames___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -149,6 +150,7 @@ lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLetDeclImp___rarg(lean LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_inlineMatchers(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Extension_getMatcherInfo_x3f(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_inlineMatchers___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_LCNF_toDecl___closed__9; static lean_object* l_Lean_Compiler_LCNF_toDecl___closed__1; static lean_object* l_Lean_Compiler_LCNF_inlineMatchers___closed__12; static lean_object* l_Lean_Compiler_LCNF_toDecl___closed__8; @@ -1039,7 +1041,7 @@ if (x_81 == 0) { lean_object* x_84; lean_object* x_85; x_84 = l_Lean_Compiler_LCNF_inlineMatchers_inlineMatcher___closed__4; -x_85 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_84); +x_85 = l_panic___at_String_toNat_x21___spec__1(x_84); if (x_83 == 0) { x_32 = x_85; @@ -2730,6 +2732,14 @@ static lean_object* _init_l_Lean_Compiler_LCNF_toDecl___closed__8() { _start: { lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_LCNF_Decl_etaExpand), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_LCNF_toDecl___closed__9() { +_start: +{ +lean_object* x_1; x_1 = lean_mk_string_from_bytes("_unsafe_rec", 11); return x_1; } @@ -2737,7 +2747,7 @@ return x_1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_toDecl(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_120; lean_object* x_121; lean_object* x_122; +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_104; lean_object* x_105; lean_object* x_106; x_6 = lean_st_ref_get(x_4, x_5); x_7 = lean_ctor_get(x_6, 0); lean_inc(x_7); @@ -2747,42 +2757,42 @@ lean_dec(x_6); x_9 = lean_ctor_get(x_7, 0); lean_inc(x_9); lean_dec(x_7); -x_120 = l_Lean_Compiler_LCNF_toDecl___closed__8; +x_104 = l_Lean_Compiler_LCNF_toDecl___closed__9; lean_inc(x_1); -x_121 = l_Lean_Name_str___override(x_1, x_120); +x_105 = l_Lean_Name_str___override(x_1, x_104); lean_inc(x_9); -x_122 = lean_environment_find(x_9, x_121); -if (lean_obj_tag(x_122) == 0) +x_106 = lean_environment_find(x_9, x_105); +if (lean_obj_tag(x_106) == 0) { -lean_object* x_123; +lean_object* x_107; lean_inc(x_1); -x_123 = lean_environment_find(x_9, x_1); -x_10 = x_123; -goto block_119; +x_107 = lean_environment_find(x_9, x_1); +x_10 = x_107; +goto block_103; } else { -uint8_t x_124; +uint8_t x_108; lean_dec(x_9); -x_124 = !lean_is_exclusive(x_122); -if (x_124 == 0) +x_108 = !lean_is_exclusive(x_106); +if (x_108 == 0) { -x_10 = x_122; -goto block_119; +x_10 = x_106; +goto block_103; } else { -lean_object* x_125; lean_object* x_126; -x_125 = lean_ctor_get(x_122, 0); -lean_inc(x_125); -lean_dec(x_122); -x_126 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_126, 0, x_125); -x_10 = x_126; -goto block_119; +lean_object* x_109; lean_object* x_110; +x_109 = lean_ctor_get(x_106, 0); +lean_inc(x_109); +lean_dec(x_106); +x_110 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_110, 0, x_109); +x_10 = x_110; +goto block_103; } } -block_119: +block_103: { if (lean_obj_tag(x_10) == 0) { @@ -2925,162 +2935,195 @@ lean_inc(x_2); x_57 = l_Lean_Compiler_LCNF_ToLCNF_toLCNF(x_51, x_2, x_3, x_4, x_56); if (lean_obj_tag(x_57) == 0) { -lean_object* x_58; +lean_object* x_58; lean_object* x_59; lean_object* x_60; x_58 = lean_ctor_get(x_57, 0); lean_inc(x_58); +x_59 = lean_ctor_get(x_57, 1); +lean_inc(x_59); +lean_dec(x_57); +x_60 = l_Lean_Compiler_LCNF_toDecl___closed__8; if (lean_obj_tag(x_58) == 1) { -lean_object* x_59; -x_59 = lean_ctor_get(x_58, 1); -lean_inc(x_59); -if (lean_obj_tag(x_59) == 5) -{ -lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; uint8_t x_65; lean_object* x_66; uint8_t x_67; -lean_dec(x_59); -x_60 = lean_ctor_get(x_58, 0); -lean_inc(x_60); -lean_dec(x_58); -x_61 = lean_ctor_get(x_57, 1); +lean_object* x_61; +x_61 = lean_ctor_get(x_58, 1); lean_inc(x_61); -lean_dec(x_57); -x_62 = lean_ctor_get(x_60, 0); -lean_inc(x_62); -x_63 = lean_ctor_get(x_60, 2); -lean_inc(x_63); -x_64 = lean_ctor_get(x_60, 4); -lean_inc(x_64); -lean_dec(x_60); -x_65 = 0; -x_66 = l_Lean_Compiler_LCNF_eraseFVar(x_62, x_65, x_2, x_3, x_4, x_61); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_67 = !lean_is_exclusive(x_66); -if (x_67 == 0) +if (lean_obj_tag(x_61) == 5) { -lean_object* x_68; lean_object* x_69; lean_object* x_70; -x_68 = lean_ctor_get(x_66, 0); -lean_dec(x_68); -x_69 = l_Lean_ConstantInfo_levelParams(x_17); +lean_object* x_62; uint8_t x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; +lean_dec(x_61); +x_62 = lean_ctor_get(x_58, 0); +lean_inc(x_62); +lean_dec(x_58); +x_63 = 0; +lean_inc(x_62); +x_64 = l_Lean_Compiler_LCNF_eraseFunDecl(x_62, x_63, x_2, x_3, x_4, x_59); +x_65 = lean_ctor_get(x_64, 1); +lean_inc(x_65); +lean_dec(x_64); +x_66 = l_Lean_ConstantInfo_levelParams(x_17); lean_dec(x_17); -x_70 = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(x_70, 0, x_1); -lean_ctor_set(x_70, 1, x_69); -lean_ctor_set(x_70, 2, x_35); -lean_ctor_set(x_70, 3, x_63); -lean_ctor_set(x_70, 4, x_64); -lean_ctor_set(x_66, 0, x_70); -return x_66; +x_67 = lean_ctor_get(x_62, 2); +lean_inc(x_67); +x_68 = lean_ctor_get(x_62, 4); +lean_inc(x_68); +lean_dec(x_62); +x_69 = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(x_69, 0, x_1); +lean_ctor_set(x_69, 1, x_66); +lean_ctor_set(x_69, 2, x_35); +lean_ctor_set(x_69, 3, x_67); +lean_ctor_set(x_69, 4, x_68); +x_70 = lean_apply_5(x_60, x_69, x_2, x_3, x_4, x_65); +return x_70; } else { lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; -x_71 = lean_ctor_get(x_66, 1); -lean_inc(x_71); -lean_dec(x_66); -x_72 = l_Lean_ConstantInfo_levelParams(x_17); +lean_dec(x_61); +x_71 = l_Lean_ConstantInfo_levelParams(x_17); lean_dec(x_17); +x_72 = l_Lean_Compiler_LCNF_inlineMatchers___lambda__2___closed__1; x_73 = lean_alloc_ctor(0, 5, 0); lean_ctor_set(x_73, 0, x_1); -lean_ctor_set(x_73, 1, x_72); +lean_ctor_set(x_73, 1, x_71); lean_ctor_set(x_73, 2, x_35); -lean_ctor_set(x_73, 3, x_63); -lean_ctor_set(x_73, 4, x_64); -x_74 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_74, 0, x_73); -lean_ctor_set(x_74, 1, x_71); +lean_ctor_set(x_73, 3, x_72); +lean_ctor_set(x_73, 4, x_58); +x_74 = lean_apply_5(x_60, x_73, x_2, x_3, x_4, x_59); return x_74; } } else { -uint8_t x_75; -lean_dec(x_59); +lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; +x_75 = l_Lean_ConstantInfo_levelParams(x_17); +lean_dec(x_17); +x_76 = l_Lean_Compiler_LCNF_inlineMatchers___lambda__2___closed__1; +x_77 = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(x_77, 0, x_1); +lean_ctor_set(x_77, 1, x_75); +lean_ctor_set(x_77, 2, x_35); +lean_ctor_set(x_77, 3, x_76); +lean_ctor_set(x_77, 4, x_58); +x_78 = lean_apply_5(x_60, x_77, x_2, x_3, x_4, x_59); +return x_78; +} +} +else +{ +uint8_t x_79; +lean_dec(x_35); +lean_dec(x_17); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_75 = !lean_is_exclusive(x_57); -if (x_75 == 0) +lean_dec(x_1); +x_79 = !lean_is_exclusive(x_57); +if (x_79 == 0) { -lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; -x_76 = lean_ctor_get(x_57, 0); -lean_dec(x_76); -x_77 = l_Lean_ConstantInfo_levelParams(x_17); -lean_dec(x_17); -x_78 = l_Lean_Compiler_LCNF_inlineMatchers___lambda__2___closed__1; -x_79 = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(x_79, 0, x_1); -lean_ctor_set(x_79, 1, x_77); -lean_ctor_set(x_79, 2, x_35); -lean_ctor_set(x_79, 3, x_78); -lean_ctor_set(x_79, 4, x_58); -lean_ctor_set(x_57, 0, x_79); return x_57; } else { -lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; -x_80 = lean_ctor_get(x_57, 1); +lean_object* x_80; lean_object* x_81; lean_object* x_82; +x_80 = lean_ctor_get(x_57, 0); +x_81 = lean_ctor_get(x_57, 1); +lean_inc(x_81); lean_inc(x_80); lean_dec(x_57); -x_81 = l_Lean_ConstantInfo_levelParams(x_17); -lean_dec(x_17); -x_82 = l_Lean_Compiler_LCNF_inlineMatchers___lambda__2___closed__1; -x_83 = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(x_83, 0, x_1); -lean_ctor_set(x_83, 1, x_81); -lean_ctor_set(x_83, 2, x_35); -lean_ctor_set(x_83, 3, x_82); -lean_ctor_set(x_83, 4, x_58); -x_84 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_84, 0, x_83); -lean_ctor_set(x_84, 1, x_80); -return x_84; +x_82 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_82, 0, x_80); +lean_ctor_set(x_82, 1, x_81); +return x_82; } } } else { -uint8_t x_85; +uint8_t x_83; +lean_dec(x_35); +lean_dec(x_31); +lean_dec(x_17); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_85 = !lean_is_exclusive(x_57); -if (x_85 == 0) +lean_dec(x_1); +x_83 = !lean_is_exclusive(x_50); +if (x_83 == 0) { -lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; -x_86 = lean_ctor_get(x_57, 0); -lean_dec(x_86); -x_87 = l_Lean_ConstantInfo_levelParams(x_17); -lean_dec(x_17); -x_88 = l_Lean_Compiler_LCNF_inlineMatchers___lambda__2___closed__1; -x_89 = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(x_89, 0, x_1); -lean_ctor_set(x_89, 1, x_87); -lean_ctor_set(x_89, 2, x_35); -lean_ctor_set(x_89, 3, x_88); -lean_ctor_set(x_89, 4, x_58); -lean_ctor_set(x_57, 0, x_89); -return x_57; +return x_50; } else { -lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; -x_90 = lean_ctor_get(x_57, 1); -lean_inc(x_90); -lean_dec(x_57); -x_91 = l_Lean_ConstantInfo_levelParams(x_17); +lean_object* x_84; lean_object* x_85; lean_object* x_86; +x_84 = lean_ctor_get(x_50, 0); +x_85 = lean_ctor_get(x_50, 1); +lean_inc(x_85); +lean_inc(x_84); +lean_dec(x_50); +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_35); +lean_dec(x_31); lean_dec(x_17); -x_92 = l_Lean_Compiler_LCNF_inlineMatchers___lambda__2___closed__1; -x_93 = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(x_93, 0, x_1); -lean_ctor_set(x_93, 1, x_91); -lean_ctor_set(x_93, 2, x_35); -lean_ctor_set(x_93, 3, x_92); -lean_ctor_set(x_93, 4, x_58); -x_94 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_94, 0, x_93); -lean_ctor_set(x_94, 1, x_90); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_87 = !lean_is_exclusive(x_47); +if (x_87 == 0) +{ +return x_47; +} +else +{ +lean_object* x_88; lean_object* x_89; lean_object* x_90; +x_88 = lean_ctor_get(x_47, 0); +x_89 = lean_ctor_get(x_47, 1); +lean_inc(x_89); +lean_inc(x_88); +lean_dec(x_47); +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_dec(x_35); +lean_dec(x_31); +lean_dec(x_17); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_91 = !lean_is_exclusive(x_43); +if (x_91 == 0) +{ +return x_43; +} +else +{ +lean_object* x_92; lean_object* x_93; lean_object* x_94; +x_92 = lean_ctor_get(x_43, 0); +x_93 = lean_ctor_get(x_43, 1); +lean_inc(x_93); +lean_inc(x_92); +lean_dec(x_43); +x_94 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_94, 0, x_92); +lean_ctor_set(x_94, 1, x_93); return x_94; } } @@ -3089,24 +3132,25 @@ else { uint8_t x_95; lean_dec(x_35); +lean_dec(x_31); lean_dec(x_17); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_95 = !lean_is_exclusive(x_57); +x_95 = !lean_is_exclusive(x_38); if (x_95 == 0) { -return x_57; +return x_38; } else { lean_object* x_96; lean_object* x_97; lean_object* x_98; -x_96 = lean_ctor_get(x_57, 0); -x_97 = lean_ctor_get(x_57, 1); +x_96 = lean_ctor_get(x_38, 0); +x_97 = lean_ctor_get(x_38, 1); lean_inc(x_97); lean_inc(x_96); -lean_dec(x_57); +lean_dec(x_38); x_98 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_98, 0, x_96); lean_ctor_set(x_98, 1, x_97); @@ -3117,126 +3161,6 @@ return x_98; else { uint8_t x_99; -lean_dec(x_35); -lean_dec(x_31); -lean_dec(x_17); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_99 = !lean_is_exclusive(x_50); -if (x_99 == 0) -{ -return x_50; -} -else -{ -lean_object* x_100; lean_object* x_101; lean_object* x_102; -x_100 = lean_ctor_get(x_50, 0); -x_101 = lean_ctor_get(x_50, 1); -lean_inc(x_101); -lean_inc(x_100); -lean_dec(x_50); -x_102 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_102, 0, x_100); -lean_ctor_set(x_102, 1, x_101); -return x_102; -} -} -} -else -{ -uint8_t x_103; -lean_dec(x_35); -lean_dec(x_31); -lean_dec(x_17); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_103 = !lean_is_exclusive(x_47); -if (x_103 == 0) -{ -return x_47; -} -else -{ -lean_object* x_104; lean_object* x_105; lean_object* x_106; -x_104 = lean_ctor_get(x_47, 0); -x_105 = lean_ctor_get(x_47, 1); -lean_inc(x_105); -lean_inc(x_104); -lean_dec(x_47); -x_106 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_106, 0, x_104); -lean_ctor_set(x_106, 1, x_105); -return x_106; -} -} -} -else -{ -uint8_t x_107; -lean_dec(x_35); -lean_dec(x_31); -lean_dec(x_17); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_107 = !lean_is_exclusive(x_43); -if (x_107 == 0) -{ -return x_43; -} -else -{ -lean_object* x_108; lean_object* x_109; lean_object* x_110; -x_108 = lean_ctor_get(x_43, 0); -x_109 = lean_ctor_get(x_43, 1); -lean_inc(x_109); -lean_inc(x_108); -lean_dec(x_43); -x_110 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_110, 0, x_108); -lean_ctor_set(x_110, 1, x_109); -return x_110; -} -} -} -else -{ -uint8_t x_111; -lean_dec(x_35); -lean_dec(x_31); -lean_dec(x_17); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_111 = !lean_is_exclusive(x_38); -if (x_111 == 0) -{ -return x_38; -} -else -{ -lean_object* x_112; lean_object* x_113; lean_object* x_114; -x_112 = lean_ctor_get(x_38, 0); -x_113 = lean_ctor_get(x_38, 1); -lean_inc(x_113); -lean_inc(x_112); -lean_dec(x_38); -x_114 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_114, 0, x_112); -lean_ctor_set(x_114, 1, x_113); -return x_114; -} -} -} -else -{ -uint8_t x_115; lean_dec(x_31); lean_dec(x_25); lean_dec(x_17); @@ -3244,23 +3168,23 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_115 = !lean_is_exclusive(x_34); -if (x_115 == 0) +x_99 = !lean_is_exclusive(x_34); +if (x_99 == 0) { return x_34; } else { -lean_object* x_116; lean_object* x_117; lean_object* x_118; -x_116 = lean_ctor_get(x_34, 0); -x_117 = lean_ctor_get(x_34, 1); -lean_inc(x_117); -lean_inc(x_116); +lean_object* x_100; lean_object* x_101; lean_object* x_102; +x_100 = lean_ctor_get(x_34, 0); +x_101 = lean_ctor_get(x_34, 1); +lean_inc(x_101); +lean_inc(x_100); lean_dec(x_34); -x_118 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_118, 0, x_116); -lean_ctor_set(x_118, 1, x_117); -return x_118; +x_102 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_102, 0, x_100); +lean_ctor_set(x_102, 1, x_101); +return x_102; } } } @@ -3400,6 +3324,8 @@ l_Lean_Compiler_LCNF_toDecl___closed__7 = _init_l_Lean_Compiler_LCNF_toDecl___cl lean_mark_persistent(l_Lean_Compiler_LCNF_toDecl___closed__7); l_Lean_Compiler_LCNF_toDecl___closed__8 = _init_l_Lean_Compiler_LCNF_toDecl___closed__8(); lean_mark_persistent(l_Lean_Compiler_LCNF_toDecl___closed__8); +l_Lean_Compiler_LCNF_toDecl___closed__9 = _init_l_Lean_Compiler_LCNF_toDecl___closed__9(); +lean_mark_persistent(l_Lean_Compiler_LCNF_toDecl___closed__9); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Lean/Compiler/LCNF/ToLCNF.c b/stage0/stdlib/Lean/Compiler/LCNF/ToLCNF.c index c872f40af2..613278ba3d 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/ToLCNF.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/ToLCNF.c @@ -38,7 +38,6 @@ lean_object* lean_mk_empty_array_with_capacity(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitCore___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_ToLCNF_seqToCode_go___closed__4; lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); -lean_object* l_Lean_LocalDecl_userName(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ToLCNF_mkUnreachable___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_ToLCNF_liftMetaM___rarg___closed__9; uint8_t lean_is_marked_borrowed(lean_object*); @@ -87,6 +86,7 @@ static lean_object* l_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitQuotLift___lambda__1 LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ToLCNF_instInhabitedElement; +lean_object* l_Lean_Compiler_LCNF_eraseParam(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitCore___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ToLCNF_bindCases(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isApp(lean_object*); @@ -114,6 +114,7 @@ LEAN_EXPORT uint8_t l_Lean_Compiler_LCNF_ToLCNF_isLCProof(lean_object*); static lean_object* l_panic___at_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitCore___spec__5___closed__3; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ToLCNF_visitLambda_go___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_shift_right(size_t, size_t); +lean_object* l_Lean_Compiler_LCNF_eraseLetDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_ToLCNF_State_lctx___default___closed__4; LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Compiler_LCNF_ToLCNF_State_isTypeFormerTypeCache___default___spec__1(lean_object*); lean_object* l_Lean_Compiler_LCNF_Param_toExpr(lean_object*); @@ -147,6 +148,7 @@ lean_object* l_Lean_MapDeclarationExtension_find_x3f___rarg(lean_object*, lean_o LEAN_EXPORT lean_object* l_Lean_getProjectionFnInfo_x3f___at_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitApp___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_del___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__3(lean_object*, lean_object*); lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Compiler_LCNF_eraseFunDecl(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitLambda___lambda__1___closed__2; uint8_t l_Lean_Name_hasMacroScopes(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_LCNF_ToLCNF_0__Lean_Compiler_LCNF_ToLCNF_isTypeFormerType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -266,6 +268,7 @@ lean_object* l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_upda lean_object* lean_whnf(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_isTypeFormerType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_ToLCNF_mustEtaExpand___closed__2; +lean_object* l_Lean_Compiler_LCNF_getBinderName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at_Lean_Compiler_LCNF_ToLCNF_seqToCode_go___spec__2(lean_object*); static lean_object* l_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitCore___lambda__2___closed__3; @@ -307,7 +310,6 @@ uint8_t l_List_elem___at_Lean_NameHashSet_insert___spec__2(lean_object*, lean_ob lean_object* l_Lean_Expr_fvar___override(lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAtAux___at_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitCore___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Compiler_LCNF_ToLCNF_etaExpandN___spec__1(lean_object*); -lean_object* l_Lean_Compiler_LCNF_eraseFVar(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); static lean_object* l_Lean_getConstInfo___at_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitProjFn___spec__1___closed__2; LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Compiler_LCNF_ToLCNF_State_typeCache___default___spec__1___boxed(lean_object*); @@ -334,6 +336,7 @@ uint8_t l_Std_RBNode_isRed___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitCore___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitApp___closed__12; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ToLCNF_visitBoundedLambda___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Compiler_LCNF_eraseCode(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_erase___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__2(lean_object*, lean_object*); static lean_object* l_Lean_throwError___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__8___closed__4; extern lean_object* l_Lean_Core_instMonadCoreM; @@ -358,6 +361,7 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ToLCNF_toLCNF_visit___lambda__3(le LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ToLCNF_seqToCode_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at___private_Lean_Compiler_LCNF_ToLCNF_0__Lean_Compiler_LCNF_ToLCNF_isTypeFormerType___spec__7(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insert___at_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitCore___spec__1(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Compiler_LCNF_findLetDecl_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitProjFn___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_LCNF_ToLCNF_toLCNF_mkOverApplication___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_erase___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__2___boxed(lean_object*, lean_object*); @@ -462,10 +466,8 @@ LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Compiler_LCNF_ToLCNF_t LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitCases___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ToLCNF_State_seq___default; lean_object* l_Lean_mkApp3(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Compiler_LCNF_eraseFVarsAt(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitCore___spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ToLCNF_pushElement(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Compiler_LCNF_getLocalDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_ToLCNF_liftMetaM___rarg___closed__7; lean_object* l_Std_PersistentHashMap_mkCollisionNode___rarg(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitCore___lambda__2___closed__9; @@ -604,20 +606,16 @@ x_7 = lean_ctor_get(x_6, 0); lean_inc(x_7); if (lean_obj_tag(x_7) == 0) { -lean_object* x_8; lean_object* x_9; +lean_object* x_8; lean_object* x_9; lean_object* x_10; x_8 = lean_ctor_get(x_6, 1); lean_inc(x_8); lean_dec(x_6); -x_9 = l_Lean_Compiler_LCNF_getLocalDecl(x_1, x_2, x_3, x_4, x_8); -if (lean_obj_tag(x_9) == 0) -{ -lean_object* x_10; +x_9 = l_Lean_Compiler_LCNF_findLetDecl_x3f(x_1, x_2, x_3, x_4, x_8); x_10 = lean_ctor_get(x_9, 0); lean_inc(x_10); if (lean_obj_tag(x_10) == 0) { uint8_t x_11; -lean_dec(x_10); x_11 = !lean_is_exclusive(x_9); if (x_11 == 0) { @@ -643,127 +641,107 @@ return x_16; } else { -lean_object* x_17; -x_17 = lean_ctor_get(x_10, 4); +lean_object* x_17; lean_object* x_18; +x_17 = lean_ctor_get(x_10, 0); lean_inc(x_17); lean_dec(x_10); -if (lean_obj_tag(x_17) == 1) -{ -lean_object* x_18; lean_object* x_19; -x_18 = lean_ctor_get(x_9, 1); +x_18 = lean_ctor_get(x_17, 3); lean_inc(x_18); -lean_dec(x_9); -x_19 = lean_ctor_get(x_17, 0); -lean_inc(x_19); lean_dec(x_17); -x_1 = x_19; -x_5 = x_18; +if (lean_obj_tag(x_18) == 1) +{ +lean_object* x_19; lean_object* x_20; +x_19 = lean_ctor_get(x_9, 1); +lean_inc(x_19); +lean_dec(x_9); +x_20 = lean_ctor_get(x_18, 0); +lean_inc(x_20); +lean_dec(x_18); +x_1 = x_20; +x_5 = x_19; goto _start; } else { -uint8_t x_21; -lean_dec(x_17); -x_21 = !lean_is_exclusive(x_9); -if (x_21 == 0) +uint8_t x_22; +lean_dec(x_18); +x_22 = !lean_is_exclusive(x_9); +if (x_22 == 0) { -lean_object* x_22; lean_object* x_23; -x_22 = lean_ctor_get(x_9, 0); -lean_dec(x_22); -x_23 = lean_box(0); -lean_ctor_set(x_9, 0, x_23); +lean_object* x_23; lean_object* x_24; +x_23 = lean_ctor_get(x_9, 0); +lean_dec(x_23); +x_24 = lean_box(0); +lean_ctor_set(x_9, 0, x_24); return x_9; } else { -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_9, 1); -lean_inc(x_24); +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_9, 1); +lean_inc(x_25); lean_dec(x_9); -x_25 = lean_box(0); -x_26 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_26, 0, x_25); -lean_ctor_set(x_26, 1, x_24); -return x_26; +x_26 = lean_box(0); +x_27 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_27, 0, x_26); +lean_ctor_set(x_27, 1, x_25); +return x_27; } } } } else { -uint8_t x_27; -x_27 = !lean_is_exclusive(x_9); -if (x_27 == 0) -{ -return x_9; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_9, 0); -x_29 = lean_ctor_get(x_9, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_9); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -else -{ -uint8_t x_31; +uint8_t x_28; lean_dec(x_1); -x_31 = !lean_is_exclusive(x_6); -if (x_31 == 0) +x_28 = !lean_is_exclusive(x_6); +if (x_28 == 0) { -lean_object* x_32; uint8_t x_33; -x_32 = lean_ctor_get(x_6, 0); -lean_dec(x_32); -x_33 = !lean_is_exclusive(x_7); -if (x_33 == 0) +lean_object* x_29; uint8_t x_30; +x_29 = lean_ctor_get(x_6, 0); +lean_dec(x_29); +x_30 = !lean_is_exclusive(x_7); +if (x_30 == 0) { return x_6; } else { -lean_object* x_34; lean_object* x_35; +lean_object* x_31; lean_object* x_32; +x_31 = lean_ctor_get(x_7, 0); +lean_inc(x_31); +lean_dec(x_7); +x_32 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_32, 0, x_31); +lean_ctor_set(x_6, 0, x_32); +return x_6; +} +} +else +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_33 = lean_ctor_get(x_6, 1); +lean_inc(x_33); +lean_dec(x_6); x_34 = lean_ctor_get(x_7, 0); lean_inc(x_34); -lean_dec(x_7); -x_35 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_35, 0, x_34); -lean_ctor_set(x_6, 0, x_35); -return x_6; -} -} -else -{ -lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_36 = lean_ctor_get(x_6, 1); -lean_inc(x_36); -lean_dec(x_6); -x_37 = lean_ctor_get(x_7, 0); -lean_inc(x_37); if (lean_is_exclusive(x_7)) { lean_ctor_release(x_7, 0); - x_38 = x_7; + x_35 = x_7; } else { lean_dec_ref(x_7); - x_38 = lean_box(0); + x_35 = lean_box(0); } -if (lean_is_scalar(x_38)) { - x_39 = lean_alloc_ctor(1, 1, 0); +if (lean_is_scalar(x_35)) { + x_36 = lean_alloc_ctor(1, 1, 0); } else { - x_39 = x_38; + x_36 = x_35; } -lean_ctor_set(x_39, 0, x_37); -x_40 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_40, 0, x_39); -lean_ctor_set(x_40, 1, x_36); -return x_40; +lean_ctor_set(x_36, 0, x_34); +x_37 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_37, 0, x_36); +lean_ctor_set(x_37, 1, x_33); +return x_37; } } } @@ -4377,10 +4355,10 @@ x_13 = lean_ctor_get(x_10, 0); lean_inc(x_13); x_14 = lean_name_eq(x_13, x_12); lean_dec(x_12); +lean_dec(x_13); if (x_14 == 0) { lean_object* x_15; lean_object* x_16; -lean_dec(x_13); lean_free_object(x_2); x_15 = lean_box(0); x_16 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___lambda__1(x_1, x_8, x_10, x_15, x_3, x_4, x_5, x_6, x_7); @@ -4396,7 +4374,6 @@ if (x_18 == 0) { lean_object* x_19; lean_object* x_20; lean_dec(x_17); -lean_dec(x_13); lean_free_object(x_2); x_19 = lean_box(0); x_20 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___lambda__1(x_1, x_8, x_10, x_19, x_3, x_4, x_5, x_6, x_7); @@ -4412,7 +4389,6 @@ if (x_22 == 0) lean_object* x_23; lean_object* x_24; lean_dec(x_21); lean_dec(x_17); -lean_dec(x_13); lean_free_object(x_2); x_23 = lean_box(0); x_24 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___lambda__1(x_1, x_8, x_10, x_23, x_3, x_4, x_5, x_6, x_7); @@ -4424,249 +4400,241 @@ lean_object* x_25; lean_object* x_26; lean_inc(x_21); x_25 = l_Lean_Expr_fvarId_x21(x_21); lean_inc(x_25); -x_26 = l_Lean_Compiler_LCNF_getLocalDecl(x_25, x_4, x_5, x_6, x_7); +x_26 = l_Lean_Compiler_LCNF_getBinderName(x_25, x_4, x_5, x_6, x_7); if (lean_obj_tag(x_26) == 0) { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; x_27 = lean_ctor_get(x_26, 0); lean_inc(x_27); x_28 = lean_ctor_get(x_26, 1); lean_inc(x_28); lean_dec(x_26); -x_29 = l_Lean_LocalDecl_userName(x_27); +x_29 = l_Lean_Name_getPrefix(x_27); lean_dec(x_27); -x_30 = l_Lean_Name_getPrefix(x_29); +x_30 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__2; +x_31 = lean_name_eq(x_29, x_30); lean_dec(x_29); -x_31 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__2; -x_32 = lean_name_eq(x_30, x_31); -lean_dec(x_30); -if (x_32 == 0) +if (x_31 == 0) { -lean_object* x_33; lean_object* x_34; +lean_object* x_32; lean_object* x_33; lean_dec(x_25); lean_dec(x_21); lean_dec(x_17); -lean_dec(x_13); lean_free_object(x_2); -x_33 = lean_box(0); -x_34 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___lambda__1(x_1, x_8, x_10, x_33, x_3, x_4, x_5, x_6, x_28); -return x_34; +x_32 = lean_box(0); +x_33 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___lambda__1(x_1, x_8, x_10, x_32, x_3, x_4, x_5, x_6, x_28); +return x_33; } else { -lean_object* x_35; +lean_object* x_34; lean_object* x_35; lean_inc(x_25); -x_35 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_findFun_x3f(x_25, x_4, x_5, x_6, x_28); +x_34 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_findFun_x3f(x_25, x_4, x_5, x_6, x_28); +x_35 = lean_ctor_get(x_34, 0); +lean_inc(x_35); if (lean_obj_tag(x_35) == 0) { -lean_object* x_36; -x_36 = lean_ctor_get(x_35, 0); -lean_inc(x_36); -if (lean_obj_tag(x_36) == 0) -{ -lean_object* x_37; lean_object* x_38; lean_object* x_39; +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_dec(x_25); lean_dec(x_21); lean_dec(x_17); -lean_dec(x_13); lean_free_object(x_2); -x_37 = lean_ctor_get(x_35, 1); -lean_inc(x_37); -lean_dec(x_35); -x_38 = lean_box(0); -x_39 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___lambda__1(x_1, x_8, x_10, x_38, x_3, x_4, x_5, x_6, x_37); -return x_39; +x_36 = lean_ctor_get(x_34, 1); +lean_inc(x_36); +lean_dec(x_34); +x_37 = lean_box(0); +x_38 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___lambda__1(x_1, x_8, x_10, x_37, x_3, x_4, x_5, x_6, x_36); +return x_38; } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; uint8_t x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; uint8_t x_55; -lean_dec(x_10); +lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; uint8_t x_53; lean_dec(x_8); -x_40 = lean_ctor_get(x_35, 1); +x_39 = lean_ctor_get(x_34, 1); +lean_inc(x_39); +lean_dec(x_34); +x_40 = lean_ctor_get(x_35, 0); lean_inc(x_40); lean_dec(x_35); -x_41 = lean_ctor_get(x_36, 0); -lean_inc(x_41); -lean_dec(x_36); -x_42 = lean_unsigned_to_nat(0u); -x_43 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_17, x_42); -x_44 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__3; -lean_inc(x_43); -x_45 = lean_mk_array(x_43, x_44); -x_46 = lean_unsigned_to_nat(1u); -x_47 = lean_nat_sub(x_43, x_46); -lean_dec(x_43); -x_48 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_17, x_45, x_47); -x_49 = 1; -x_50 = l_Lean_Compiler_LCNF_eraseFVar(x_13, x_49, x_4, x_5, x_6, x_40); +x_41 = lean_unsigned_to_nat(0u); +x_42 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_17, x_41); +x_43 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__3; +lean_inc(x_42); +x_44 = lean_mk_array(x_42, x_43); +x_45 = lean_unsigned_to_nat(1u); +x_46 = lean_nat_sub(x_42, x_45); +lean_dec(x_42); +x_47 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_17, x_44, x_46); +x_48 = l_Lean_Compiler_LCNF_eraseLetDecl(x_10, x_4, x_5, x_6, x_39); +lean_dec(x_10); +x_49 = lean_ctor_get(x_48, 1); +lean_inc(x_49); +lean_dec(x_48); +x_50 = lean_st_ref_get(x_6, x_49); x_51 = lean_ctor_get(x_50, 1); lean_inc(x_51); lean_dec(x_50); -x_52 = lean_st_ref_get(x_6, x_51); -x_53 = lean_ctor_get(x_52, 1); -lean_inc(x_53); -lean_dec(x_52); -x_54 = lean_st_ref_get(x_3, x_53); -x_55 = !lean_is_exclusive(x_54); -if (x_55 == 0) +x_52 = lean_st_ref_get(x_3, x_51); +x_53 = !lean_is_exclusive(x_52); +if (x_53 == 0) { -lean_object* x_56; lean_object* x_57; lean_object* x_58; -x_56 = lean_ctor_get(x_54, 0); -x_57 = lean_ctor_get(x_54, 1); -x_58 = l_Std_RBNode_find___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__1(x_56, x_25); -lean_dec(x_56); -if (lean_obj_tag(x_58) == 0) +lean_object* x_54; lean_object* x_55; lean_object* x_56; +x_54 = lean_ctor_get(x_52, 0); +x_55 = lean_ctor_get(x_52, 1); +x_56 = l_Std_RBNode_find___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__1(x_54, x_25); +lean_dec(x_54); +if (lean_obj_tag(x_56) == 0) { -lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; size_t x_63; lean_object* x_64; size_t x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; -lean_free_object(x_54); -x_59 = lean_ctor_get(x_41, 2); -lean_inc(x_59); -lean_dec(x_41); -x_60 = lean_array_get_size(x_48); -x_61 = l_Array_toSubarray___rarg(x_59, x_42, x_60); -x_62 = lean_ctor_get(x_61, 2); +lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; size_t x_61; lean_object* x_62; size_t x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; +lean_free_object(x_52); +x_57 = lean_ctor_get(x_40, 2); +lean_inc(x_57); +lean_dec(x_40); +x_58 = lean_array_get_size(x_47); +x_59 = l_Array_toSubarray___rarg(x_57, x_41, x_58); +x_60 = lean_ctor_get(x_59, 2); +lean_inc(x_60); +x_61 = lean_usize_of_nat(x_60); +lean_dec(x_60); +x_62 = lean_ctor_get(x_59, 1); lean_inc(x_62); x_63 = lean_usize_of_nat(x_62); lean_dec(x_62); -x_64 = lean_ctor_get(x_61, 1); -lean_inc(x_64); -x_65 = lean_usize_of_nat(x_64); -lean_dec(x_64); -x_66 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__6; -x_67 = l_Subarray_forInUnsafe_loop___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__4(x_61, x_63, x_65, x_66, x_3, x_4, x_5, x_6, x_57); -lean_dec(x_61); -x_68 = lean_ctor_get(x_67, 0); +x_64 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__6; +x_65 = l_Subarray_forInUnsafe_loop___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__4(x_59, x_61, x_63, x_64, x_3, x_4, x_5, x_6, x_55); +lean_dec(x_59); +x_66 = lean_ctor_get(x_65, 0); +lean_inc(x_66); +x_67 = lean_ctor_get(x_66, 1); +lean_inc(x_67); +x_68 = lean_ctor_get(x_65, 1); lean_inc(x_68); -x_69 = lean_ctor_get(x_68, 1); +lean_dec(x_65); +x_69 = lean_ctor_get(x_66, 0); lean_inc(x_69); -x_70 = lean_ctor_get(x_67, 1); +lean_dec(x_66); +x_70 = lean_ctor_get(x_67, 0); lean_inc(x_70); lean_dec(x_67); -x_71 = lean_ctor_get(x_68, 0); -lean_inc(x_71); -lean_dec(x_68); -x_72 = lean_ctor_get(x_69, 0); -lean_inc(x_72); -lean_dec(x_69); -x_73 = l_Lean_mkAppN(x_21, x_71); -x_74 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__8; +x_71 = l_Lean_mkAppN(x_21, x_69); +x_72 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__8; lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_75 = l_Lean_Compiler_LCNF_mkAuxLetDecl(x_73, x_74, x_4, x_5, x_6, x_70); -if (lean_obj_tag(x_75) == 0) +x_73 = l_Lean_Compiler_LCNF_mkAuxLetDecl(x_71, x_72, x_4, x_5, x_6, x_68); +if (lean_obj_tag(x_73) == 0) { -lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; -x_76 = lean_ctor_get(x_75, 0); +lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; +x_74 = lean_ctor_get(x_73, 0); +lean_inc(x_74); +x_75 = lean_ctor_get(x_73, 1); +lean_inc(x_75); +lean_dec(x_73); +x_76 = lean_ctor_get(x_1, 0); lean_inc(x_76); -x_77 = lean_ctor_get(x_75, 1); -lean_inc(x_77); -lean_dec(x_75); -x_78 = lean_ctor_get(x_1, 0); -lean_inc(x_78); lean_dec(x_1); -x_79 = lean_ctor_get(x_76, 0); -lean_inc(x_79); -x_80 = l_Lean_Expr_fvar___override(x_79); -x_81 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__9; -x_82 = lean_array_push(x_81, x_80); +x_77 = lean_ctor_get(x_74, 0); +lean_inc(x_77); +x_78 = l_Lean_Expr_fvar___override(x_77); +x_79 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__9; +x_80 = lean_array_push(x_79, x_78); lean_ctor_set_tag(x_2, 3); -lean_ctor_set(x_2, 1, x_82); -lean_ctor_set(x_2, 0, x_78); -x_83 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_83, 0, x_76); -lean_ctor_set(x_83, 1, x_2); -x_84 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__11; +lean_ctor_set(x_2, 1, x_80); +lean_ctor_set(x_2, 0, x_76); +x_81 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_81, 0, x_74); +lean_ctor_set(x_81, 1, x_2); +x_82 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__11; lean_inc(x_6); -x_85 = l_Lean_Compiler_LCNF_mkAuxFunDecl(x_72, x_83, x_84, x_4, x_5, x_6, x_77); -if (lean_obj_tag(x_85) == 0) +x_83 = l_Lean_Compiler_LCNF_mkAuxFunDecl(x_70, x_81, x_82, x_4, x_5, x_6, x_75); +if (lean_obj_tag(x_83) == 0) { -lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; uint8_t x_95; -x_86 = lean_ctor_get(x_85, 0); -lean_inc(x_86); -x_87 = lean_ctor_get(x_85, 1); -lean_inc(x_87); -lean_dec(x_85); -x_88 = lean_st_ref_get(x_6, x_87); +lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; uint8_t x_93; +x_84 = lean_ctor_get(x_83, 0); +lean_inc(x_84); +x_85 = lean_ctor_get(x_83, 1); +lean_inc(x_85); +lean_dec(x_83); +x_86 = lean_st_ref_get(x_6, x_85); lean_dec(x_6); -x_89 = lean_ctor_get(x_88, 1); +x_87 = lean_ctor_get(x_86, 1); +lean_inc(x_87); +lean_dec(x_86); +x_88 = lean_st_ref_take(x_3, x_87); +x_89 = lean_ctor_get(x_88, 0); lean_inc(x_89); +x_90 = lean_ctor_get(x_88, 1); +lean_inc(x_90); lean_dec(x_88); -x_90 = lean_st_ref_take(x_3, x_89); -x_91 = lean_ctor_get(x_90, 0); -lean_inc(x_91); -x_92 = lean_ctor_get(x_90, 1); -lean_inc(x_92); -lean_dec(x_90); -lean_inc(x_86); -x_93 = l_Std_RBNode_insert___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__5(x_91, x_25, x_86); -x_94 = lean_st_ref_set(x_3, x_93, x_92); +lean_inc(x_84); +x_91 = l_Std_RBNode_insert___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__5(x_89, x_25, x_84); +x_92 = lean_st_ref_set(x_3, x_91, x_90); lean_dec(x_3); -x_95 = !lean_is_exclusive(x_94); -if (x_95 == 0) +x_93 = !lean_is_exclusive(x_92); +if (x_93 == 0) { -lean_object* x_96; lean_object* x_97; lean_object* x_98; -x_96 = lean_ctor_get(x_94, 0); -lean_dec(x_96); -x_97 = lean_ctor_get(x_86, 0); -lean_inc(x_97); -lean_dec(x_86); -x_98 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_98, 0, x_97); -lean_ctor_set(x_98, 1, x_48); -lean_ctor_set(x_94, 0, x_98); -return x_94; -} -else -{ -lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; -x_99 = lean_ctor_get(x_94, 1); -lean_inc(x_99); +lean_object* x_94; lean_object* x_95; lean_object* x_96; +x_94 = lean_ctor_get(x_92, 0); lean_dec(x_94); -x_100 = lean_ctor_get(x_86, 0); -lean_inc(x_100); -lean_dec(x_86); -x_101 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_101, 0, x_100); -lean_ctor_set(x_101, 1, x_48); -x_102 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_102, 0, x_101); -lean_ctor_set(x_102, 1, x_99); -return x_102; +x_95 = lean_ctor_get(x_84, 0); +lean_inc(x_95); +lean_dec(x_84); +x_96 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_96, 0, x_95); +lean_ctor_set(x_96, 1, x_47); +lean_ctor_set(x_92, 0, x_96); +return x_92; +} +else +{ +lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; +x_97 = lean_ctor_get(x_92, 1); +lean_inc(x_97); +lean_dec(x_92); +x_98 = lean_ctor_get(x_84, 0); +lean_inc(x_98); +lean_dec(x_84); +x_99 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_99, 0, x_98); +lean_ctor_set(x_99, 1, x_47); +x_100 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_100, 0, x_99); +lean_ctor_set(x_100, 1, x_97); +return x_100; } } else { -uint8_t x_103; -lean_dec(x_48); +uint8_t x_101; +lean_dec(x_47); lean_dec(x_25); lean_dec(x_6); lean_dec(x_3); -x_103 = !lean_is_exclusive(x_85); -if (x_103 == 0) +x_101 = !lean_is_exclusive(x_83); +if (x_101 == 0) { -return x_85; +return x_83; } else { -lean_object* x_104; lean_object* x_105; lean_object* x_106; -x_104 = lean_ctor_get(x_85, 0); -x_105 = lean_ctor_get(x_85, 1); -lean_inc(x_105); -lean_inc(x_104); -lean_dec(x_85); -x_106 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_106, 0, x_104); -lean_ctor_set(x_106, 1, x_105); -return x_106; +lean_object* x_102; lean_object* x_103; lean_object* x_104; +x_102 = lean_ctor_get(x_83, 0); +x_103 = lean_ctor_get(x_83, 1); +lean_inc(x_103); +lean_inc(x_102); +lean_dec(x_83); +x_104 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_104, 0, x_102); +lean_ctor_set(x_104, 1, x_103); +return x_104; } } } else { -uint8_t x_107; -lean_dec(x_72); -lean_dec(x_48); +uint8_t x_105; +lean_dec(x_70); +lean_dec(x_47); lean_dec(x_25); lean_free_object(x_2); lean_dec(x_6); @@ -4674,30 +4642,30 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_107 = !lean_is_exclusive(x_75); -if (x_107 == 0) +x_105 = !lean_is_exclusive(x_73); +if (x_105 == 0) { -return x_75; +return x_73; } else { -lean_object* x_108; lean_object* x_109; lean_object* x_110; -x_108 = lean_ctor_get(x_75, 0); -x_109 = lean_ctor_get(x_75, 1); -lean_inc(x_109); -lean_inc(x_108); -lean_dec(x_75); -x_110 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_110, 0, x_108); -lean_ctor_set(x_110, 1, x_109); -return x_110; +lean_object* x_106; lean_object* x_107; lean_object* x_108; +x_106 = lean_ctor_get(x_73, 0); +x_107 = lean_ctor_get(x_73, 1); +lean_inc(x_107); +lean_inc(x_106); +lean_dec(x_73); +x_108 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_108, 0, x_106); +lean_ctor_set(x_108, 1, x_107); +return x_108; } } } else { -lean_object* x_111; lean_object* x_112; -lean_dec(x_41); +lean_object* x_109; lean_object* x_110; +lean_dec(x_40); lean_dec(x_25); lean_dec(x_21); lean_dec(x_6); @@ -4705,174 +4673,174 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_111 = lean_ctor_get(x_58, 0); -lean_inc(x_111); -lean_dec(x_58); -x_112 = lean_ctor_get(x_111, 0); -lean_inc(x_112); -lean_dec(x_111); +x_109 = lean_ctor_get(x_56, 0); +lean_inc(x_109); +lean_dec(x_56); +x_110 = lean_ctor_get(x_109, 0); +lean_inc(x_110); +lean_dec(x_109); lean_ctor_set_tag(x_2, 3); -lean_ctor_set(x_2, 1, x_48); -lean_ctor_set(x_2, 0, x_112); -lean_ctor_set(x_54, 0, x_2); -return x_54; +lean_ctor_set(x_2, 1, x_47); +lean_ctor_set(x_2, 0, x_110); +lean_ctor_set(x_52, 0, x_2); +return x_52; } } else { -lean_object* x_113; lean_object* x_114; lean_object* x_115; -x_113 = lean_ctor_get(x_54, 0); -x_114 = lean_ctor_get(x_54, 1); -lean_inc(x_114); -lean_inc(x_113); -lean_dec(x_54); -x_115 = l_Std_RBNode_find___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__1(x_113, x_25); -lean_dec(x_113); -if (lean_obj_tag(x_115) == 0) +lean_object* x_111; lean_object* x_112; lean_object* x_113; +x_111 = lean_ctor_get(x_52, 0); +x_112 = lean_ctor_get(x_52, 1); +lean_inc(x_112); +lean_inc(x_111); +lean_dec(x_52); +x_113 = l_Std_RBNode_find___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__1(x_111, x_25); +lean_dec(x_111); +if (lean_obj_tag(x_113) == 0) { -lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; size_t x_120; lean_object* x_121; size_t 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; -x_116 = lean_ctor_get(x_41, 2); -lean_inc(x_116); -lean_dec(x_41); -x_117 = lean_array_get_size(x_48); -x_118 = l_Array_toSubarray___rarg(x_116, x_42, x_117); -x_119 = lean_ctor_get(x_118, 2); +lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; size_t x_118; lean_object* x_119; size_t x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; +x_114 = lean_ctor_get(x_40, 2); +lean_inc(x_114); +lean_dec(x_40); +x_115 = lean_array_get_size(x_47); +x_116 = l_Array_toSubarray___rarg(x_114, x_41, x_115); +x_117 = lean_ctor_get(x_116, 2); +lean_inc(x_117); +x_118 = lean_usize_of_nat(x_117); +lean_dec(x_117); +x_119 = lean_ctor_get(x_116, 1); lean_inc(x_119); x_120 = lean_usize_of_nat(x_119); lean_dec(x_119); -x_121 = lean_ctor_get(x_118, 1); -lean_inc(x_121); -x_122 = lean_usize_of_nat(x_121); -lean_dec(x_121); -x_123 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__6; -x_124 = l_Subarray_forInUnsafe_loop___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__4(x_118, x_120, x_122, x_123, x_3, x_4, x_5, x_6, x_114); -lean_dec(x_118); -x_125 = lean_ctor_get(x_124, 0); +x_121 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__6; +x_122 = l_Subarray_forInUnsafe_loop___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__4(x_116, x_118, x_120, x_121, x_3, x_4, x_5, x_6, x_112); +lean_dec(x_116); +x_123 = lean_ctor_get(x_122, 0); +lean_inc(x_123); +x_124 = lean_ctor_get(x_123, 1); +lean_inc(x_124); +x_125 = lean_ctor_get(x_122, 1); lean_inc(x_125); -x_126 = lean_ctor_get(x_125, 1); +lean_dec(x_122); +x_126 = lean_ctor_get(x_123, 0); lean_inc(x_126); -x_127 = lean_ctor_get(x_124, 1); +lean_dec(x_123); +x_127 = lean_ctor_get(x_124, 0); lean_inc(x_127); lean_dec(x_124); -x_128 = lean_ctor_get(x_125, 0); -lean_inc(x_128); -lean_dec(x_125); -x_129 = lean_ctor_get(x_126, 0); -lean_inc(x_129); -lean_dec(x_126); -x_130 = l_Lean_mkAppN(x_21, x_128); -x_131 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__8; +x_128 = l_Lean_mkAppN(x_21, x_126); +x_129 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__8; lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_132 = l_Lean_Compiler_LCNF_mkAuxLetDecl(x_130, x_131, x_4, x_5, x_6, x_127); -if (lean_obj_tag(x_132) == 0) +x_130 = l_Lean_Compiler_LCNF_mkAuxLetDecl(x_128, x_129, x_4, x_5, x_6, x_125); +if (lean_obj_tag(x_130) == 0) { -lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; -x_133 = lean_ctor_get(x_132, 0); +lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; +x_131 = lean_ctor_get(x_130, 0); +lean_inc(x_131); +x_132 = lean_ctor_get(x_130, 1); +lean_inc(x_132); +lean_dec(x_130); +x_133 = lean_ctor_get(x_1, 0); lean_inc(x_133); -x_134 = lean_ctor_get(x_132, 1); +lean_dec(x_1); +x_134 = lean_ctor_get(x_131, 0); lean_inc(x_134); -lean_dec(x_132); -x_135 = lean_ctor_get(x_1, 0); -lean_inc(x_135); -lean_dec(x_1); -x_136 = lean_ctor_get(x_133, 0); -lean_inc(x_136); -x_137 = l_Lean_Expr_fvar___override(x_136); -x_138 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__9; -x_139 = lean_array_push(x_138, x_137); +x_135 = l_Lean_Expr_fvar___override(x_134); +x_136 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__9; +x_137 = lean_array_push(x_136, x_135); lean_ctor_set_tag(x_2, 3); -lean_ctor_set(x_2, 1, x_139); -lean_ctor_set(x_2, 0, x_135); -x_140 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_140, 0, x_133); -lean_ctor_set(x_140, 1, x_2); -x_141 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__11; +lean_ctor_set(x_2, 1, x_137); +lean_ctor_set(x_2, 0, x_133); +x_138 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_138, 0, x_131); +lean_ctor_set(x_138, 1, x_2); +x_139 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__11; lean_inc(x_6); -x_142 = l_Lean_Compiler_LCNF_mkAuxFunDecl(x_129, x_140, x_141, x_4, x_5, x_6, x_134); -if (lean_obj_tag(x_142) == 0) +x_140 = l_Lean_Compiler_LCNF_mkAuxFunDecl(x_127, x_138, x_139, x_4, x_5, x_6, x_132); +if (lean_obj_tag(x_140) == 0) { -lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; -x_143 = lean_ctor_get(x_142, 0); -lean_inc(x_143); -x_144 = lean_ctor_get(x_142, 1); +lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; +x_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_st_ref_get(x_6, x_142); +lean_dec(x_6); +x_144 = lean_ctor_get(x_143, 1); lean_inc(x_144); -lean_dec(x_142); -x_145 = lean_st_ref_get(x_6, x_144); -lean_dec(x_6); -x_146 = lean_ctor_get(x_145, 1); -lean_inc(x_146); -lean_dec(x_145); -x_147 = lean_st_ref_take(x_3, x_146); -x_148 = lean_ctor_get(x_147, 0); -lean_inc(x_148); -x_149 = lean_ctor_get(x_147, 1); -lean_inc(x_149); -lean_dec(x_147); -lean_inc(x_143); -x_150 = l_Std_RBNode_insert___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__5(x_148, x_25, x_143); -x_151 = lean_st_ref_set(x_3, x_150, x_149); -lean_dec(x_3); -x_152 = lean_ctor_get(x_151, 1); -lean_inc(x_152); -if (lean_is_exclusive(x_151)) { - lean_ctor_release(x_151, 0); - lean_ctor_release(x_151, 1); - x_153 = x_151; -} else { - lean_dec_ref(x_151); - x_153 = lean_box(0); -} -x_154 = lean_ctor_get(x_143, 0); -lean_inc(x_154); lean_dec(x_143); -x_155 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_155, 0, x_154); -lean_ctor_set(x_155, 1, x_48); -if (lean_is_scalar(x_153)) { - x_156 = lean_alloc_ctor(0, 2, 0); +x_145 = lean_st_ref_take(x_3, x_144); +x_146 = lean_ctor_get(x_145, 0); +lean_inc(x_146); +x_147 = lean_ctor_get(x_145, 1); +lean_inc(x_147); +lean_dec(x_145); +lean_inc(x_141); +x_148 = l_Std_RBNode_insert___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__5(x_146, x_25, x_141); +x_149 = lean_st_ref_set(x_3, x_148, x_147); +lean_dec(x_3); +x_150 = lean_ctor_get(x_149, 1); +lean_inc(x_150); +if (lean_is_exclusive(x_149)) { + lean_ctor_release(x_149, 0); + lean_ctor_release(x_149, 1); + x_151 = x_149; } else { - x_156 = x_153; + lean_dec_ref(x_149); + x_151 = lean_box(0); } -lean_ctor_set(x_156, 0, x_155); -lean_ctor_set(x_156, 1, x_152); -return x_156; +x_152 = lean_ctor_get(x_141, 0); +lean_inc(x_152); +lean_dec(x_141); +x_153 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_153, 0, x_152); +lean_ctor_set(x_153, 1, x_47); +if (lean_is_scalar(x_151)) { + x_154 = lean_alloc_ctor(0, 2, 0); +} else { + x_154 = x_151; +} +lean_ctor_set(x_154, 0, x_153); +lean_ctor_set(x_154, 1, x_150); +return x_154; } else { -lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; -lean_dec(x_48); +lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; +lean_dec(x_47); lean_dec(x_25); lean_dec(x_6); lean_dec(x_3); -x_157 = lean_ctor_get(x_142, 0); -lean_inc(x_157); -x_158 = lean_ctor_get(x_142, 1); -lean_inc(x_158); -if (lean_is_exclusive(x_142)) { - lean_ctor_release(x_142, 0); - lean_ctor_release(x_142, 1); - x_159 = x_142; +x_155 = lean_ctor_get(x_140, 0); +lean_inc(x_155); +x_156 = lean_ctor_get(x_140, 1); +lean_inc(x_156); +if (lean_is_exclusive(x_140)) { + lean_ctor_release(x_140, 0); + lean_ctor_release(x_140, 1); + x_157 = x_140; } else { - lean_dec_ref(x_142); - x_159 = lean_box(0); + lean_dec_ref(x_140); + x_157 = lean_box(0); } -if (lean_is_scalar(x_159)) { - x_160 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_157)) { + x_158 = lean_alloc_ctor(1, 2, 0); } else { - x_160 = x_159; + x_158 = x_157; } -lean_ctor_set(x_160, 0, x_157); -lean_ctor_set(x_160, 1, x_158); -return x_160; +lean_ctor_set(x_158, 0, x_155); +lean_ctor_set(x_158, 1, x_156); +return x_158; } } else { -lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; -lean_dec(x_129); -lean_dec(x_48); +lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; +lean_dec(x_127); +lean_dec(x_47); lean_dec(x_25); lean_free_object(x_2); lean_dec(x_6); @@ -4880,32 +4848,32 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_161 = lean_ctor_get(x_132, 0); -lean_inc(x_161); -x_162 = lean_ctor_get(x_132, 1); -lean_inc(x_162); -if (lean_is_exclusive(x_132)) { - lean_ctor_release(x_132, 0); - lean_ctor_release(x_132, 1); - x_163 = x_132; +x_159 = lean_ctor_get(x_130, 0); +lean_inc(x_159); +x_160 = lean_ctor_get(x_130, 1); +lean_inc(x_160); +if (lean_is_exclusive(x_130)) { + lean_ctor_release(x_130, 0); + lean_ctor_release(x_130, 1); + x_161 = x_130; } else { - lean_dec_ref(x_132); - x_163 = lean_box(0); + lean_dec_ref(x_130); + x_161 = lean_box(0); } -if (lean_is_scalar(x_163)) { - x_164 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_161)) { + x_162 = lean_alloc_ctor(1, 2, 0); } else { - x_164 = x_163; + x_162 = x_161; } -lean_ctor_set(x_164, 0, x_161); -lean_ctor_set(x_164, 1, x_162); -return x_164; +lean_ctor_set(x_162, 0, x_159); +lean_ctor_set(x_162, 1, x_160); +return x_162; } } else { -lean_object* x_165; lean_object* x_166; lean_object* x_167; -lean_dec(x_41); +lean_object* x_163; lean_object* x_164; lean_object* x_165; +lean_dec(x_40); lean_dec(x_25); lean_dec(x_21); lean_dec(x_6); @@ -4913,30 +4881,30 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_165 = lean_ctor_get(x_115, 0); -lean_inc(x_165); -lean_dec(x_115); -x_166 = lean_ctor_get(x_165, 0); -lean_inc(x_166); -lean_dec(x_165); +x_163 = lean_ctor_get(x_113, 0); +lean_inc(x_163); +lean_dec(x_113); +x_164 = lean_ctor_get(x_163, 0); +lean_inc(x_164); +lean_dec(x_163); lean_ctor_set_tag(x_2, 3); -lean_ctor_set(x_2, 1, x_48); -lean_ctor_set(x_2, 0, x_166); -x_167 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_167, 0, x_2); -lean_ctor_set(x_167, 1, x_114); -return x_167; +lean_ctor_set(x_2, 1, x_47); +lean_ctor_set(x_2, 0, x_164); +x_165 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_165, 0, x_2); +lean_ctor_set(x_165, 1, x_112); +return x_165; +} } } } } else { -uint8_t x_168; +uint8_t x_166; lean_dec(x_25); lean_dec(x_21); lean_dec(x_17); -lean_dec(x_13); lean_free_object(x_2); lean_dec(x_10); lean_dec(x_8); @@ -4945,378 +4913,399 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_168 = !lean_is_exclusive(x_35); -if (x_168 == 0) -{ -return x_35; -} -else -{ -lean_object* x_169; lean_object* x_170; lean_object* x_171; -x_169 = lean_ctor_get(x_35, 0); -x_170 = lean_ctor_get(x_35, 1); -lean_inc(x_170); -lean_inc(x_169); -lean_dec(x_35); -x_171 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_171, 0, x_169); -lean_ctor_set(x_171, 1, x_170); -return x_171; -} -} -} -} -else -{ -uint8_t x_172; -lean_dec(x_25); -lean_dec(x_21); -lean_dec(x_17); -lean_dec(x_13); -lean_free_object(x_2); -lean_dec(x_10); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_172 = !lean_is_exclusive(x_26); -if (x_172 == 0) +x_166 = !lean_is_exclusive(x_26); +if (x_166 == 0) { return x_26; } else { -lean_object* x_173; lean_object* x_174; lean_object* x_175; -x_173 = lean_ctor_get(x_26, 0); -x_174 = lean_ctor_get(x_26, 1); -lean_inc(x_174); -lean_inc(x_173); +lean_object* x_167; lean_object* x_168; lean_object* x_169; +x_167 = lean_ctor_get(x_26, 0); +x_168 = lean_ctor_get(x_26, 1); +lean_inc(x_168); +lean_inc(x_167); lean_dec(x_26); -x_175 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_175, 0, x_173); -lean_ctor_set(x_175, 1, x_174); +x_169 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_169, 0, x_167); +lean_ctor_set(x_169, 1, x_168); +return x_169; +} +} +} +} +} +} +else +{ +lean_object* x_170; lean_object* x_171; lean_object* x_172; uint8_t x_173; +x_170 = lean_ctor_get(x_2, 0); +lean_inc(x_170); +lean_dec(x_2); +x_171 = lean_ctor_get(x_8, 0); +lean_inc(x_171); +x_172 = lean_ctor_get(x_170, 0); +lean_inc(x_172); +x_173 = lean_name_eq(x_172, x_171); +lean_dec(x_171); +lean_dec(x_172); +if (x_173 == 0) +{ +lean_object* x_174; lean_object* x_175; +x_174 = lean_box(0); +x_175 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___lambda__1(x_1, x_8, x_170, x_174, x_3, x_4, x_5, x_6, x_7); return x_175; } -} -} -} -} -} else { -lean_object* x_176; lean_object* x_177; lean_object* x_178; uint8_t x_179; -x_176 = lean_ctor_get(x_2, 0); +lean_object* x_176; uint8_t x_177; +x_176 = lean_ctor_get(x_170, 3); lean_inc(x_176); -lean_dec(x_2); -x_177 = lean_ctor_get(x_8, 0); -lean_inc(x_177); -x_178 = lean_ctor_get(x_176, 0); -lean_inc(x_178); -x_179 = lean_name_eq(x_178, x_177); -lean_dec(x_177); -if (x_179 == 0) +x_177 = l_Lean_Expr_isApp(x_176); +if (x_177 == 0) { -lean_object* x_180; lean_object* x_181; -lean_dec(x_178); -x_180 = lean_box(0); -x_181 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___lambda__1(x_1, x_8, x_176, x_180, x_3, x_4, x_5, x_6, x_7); -return x_181; +lean_object* x_178; lean_object* x_179; +lean_dec(x_176); +x_178 = lean_box(0); +x_179 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___lambda__1(x_1, x_8, x_170, x_178, x_3, x_4, x_5, x_6, x_7); +return x_179; } else { -lean_object* x_182; uint8_t x_183; -x_182 = lean_ctor_get(x_176, 3); -lean_inc(x_182); -x_183 = l_Lean_Expr_isApp(x_182); -if (x_183 == 0) +lean_object* x_180; uint8_t x_181; +x_180 = l_Lean_Expr_getAppFn(x_176); +x_181 = l_Lean_Expr_isFVar(x_180); +if (x_181 == 0) +{ +lean_object* x_182; lean_object* x_183; +lean_dec(x_180); +lean_dec(x_176); +x_182 = lean_box(0); +x_183 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___lambda__1(x_1, x_8, x_170, x_182, x_3, x_4, x_5, x_6, x_7); +return x_183; +} +else { lean_object* x_184; lean_object* x_185; -lean_dec(x_182); -lean_dec(x_178); -x_184 = lean_box(0); -x_185 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___lambda__1(x_1, x_8, x_176, x_184, x_3, x_4, x_5, x_6, x_7); -return x_185; -} -else +lean_inc(x_180); +x_184 = l_Lean_Expr_fvarId_x21(x_180); +lean_inc(x_184); +x_185 = l_Lean_Compiler_LCNF_getBinderName(x_184, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_185) == 0) { -lean_object* x_186; uint8_t x_187; -x_186 = l_Lean_Expr_getAppFn(x_182); -x_187 = l_Lean_Expr_isFVar(x_186); -if (x_187 == 0) -{ -lean_object* x_188; lean_object* x_189; -lean_dec(x_186); -lean_dec(x_182); -lean_dec(x_178); -x_188 = lean_box(0); -x_189 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___lambda__1(x_1, x_8, x_176, x_188, x_3, x_4, x_5, x_6, x_7); -return x_189; -} -else -{ -lean_object* x_190; lean_object* x_191; +lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; uint8_t x_190; +x_186 = lean_ctor_get(x_185, 0); lean_inc(x_186); -x_190 = l_Lean_Expr_fvarId_x21(x_186); -lean_inc(x_190); -x_191 = l_Lean_Compiler_LCNF_getLocalDecl(x_190, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_191) == 0) -{ -lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; uint8_t x_197; -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_Lean_LocalDecl_userName(x_192); -lean_dec(x_192); -x_195 = l_Lean_Name_getPrefix(x_194); -lean_dec(x_194); -x_196 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__2; -x_197 = lean_name_eq(x_195, x_196); -lean_dec(x_195); -if (x_197 == 0) -{ -lean_object* x_198; lean_object* x_199; -lean_dec(x_190); +x_187 = lean_ctor_get(x_185, 1); +lean_inc(x_187); +lean_dec(x_185); +x_188 = l_Lean_Name_getPrefix(x_186); lean_dec(x_186); -lean_dec(x_182); -lean_dec(x_178); -x_198 = lean_box(0); -x_199 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___lambda__1(x_1, x_8, x_176, x_198, x_3, x_4, x_5, x_6, x_193); -return x_199; -} -else +x_189 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__2; +x_190 = lean_name_eq(x_188, x_189); +lean_dec(x_188); +if (x_190 == 0) { -lean_object* x_200; -lean_inc(x_190); -x_200 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_findFun_x3f(x_190, x_4, x_5, x_6, x_193); -if (lean_obj_tag(x_200) == 0) -{ -lean_object* x_201; -x_201 = lean_ctor_get(x_200, 0); -lean_inc(x_201); -if (lean_obj_tag(x_201) == 0) -{ -lean_object* x_202; lean_object* x_203; lean_object* x_204; -lean_dec(x_190); -lean_dec(x_186); -lean_dec(x_182); -lean_dec(x_178); -x_202 = lean_ctor_get(x_200, 1); -lean_inc(x_202); -lean_dec(x_200); -x_203 = lean_box(0); -x_204 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___lambda__1(x_1, x_8, x_176, x_203, x_3, x_4, x_5, x_6, x_202); -return x_204; -} -else -{ -lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; uint8_t x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; +lean_object* x_191; lean_object* x_192; +lean_dec(x_184); +lean_dec(x_180); lean_dec(x_176); -lean_dec(x_8); -x_205 = lean_ctor_get(x_200, 1); -lean_inc(x_205); -lean_dec(x_200); -x_206 = lean_ctor_get(x_201, 0); -lean_inc(x_206); -lean_dec(x_201); -x_207 = lean_unsigned_to_nat(0u); -x_208 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_182, x_207); -x_209 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__3; -lean_inc(x_208); -x_210 = lean_mk_array(x_208, x_209); -x_211 = lean_unsigned_to_nat(1u); -x_212 = lean_nat_sub(x_208, x_211); -lean_dec(x_208); -x_213 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_182, x_210, x_212); -x_214 = 1; -x_215 = l_Lean_Compiler_LCNF_eraseFVar(x_178, x_214, x_4, x_5, x_6, x_205); -x_216 = lean_ctor_get(x_215, 1); -lean_inc(x_216); -lean_dec(x_215); -x_217 = lean_st_ref_get(x_6, x_216); -x_218 = lean_ctor_get(x_217, 1); -lean_inc(x_218); -lean_dec(x_217); -x_219 = lean_st_ref_get(x_3, x_218); -x_220 = lean_ctor_get(x_219, 0); -lean_inc(x_220); -x_221 = lean_ctor_get(x_219, 1); -lean_inc(x_221); -if (lean_is_exclusive(x_219)) { - lean_ctor_release(x_219, 0); - lean_ctor_release(x_219, 1); - x_222 = x_219; -} else { - lean_dec_ref(x_219); - x_222 = lean_box(0); +x_191 = lean_box(0); +x_192 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___lambda__1(x_1, x_8, x_170, x_191, x_3, x_4, x_5, x_6, x_187); +return x_192; } -x_223 = l_Std_RBNode_find___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__1(x_220, x_190); -lean_dec(x_220); -if (lean_obj_tag(x_223) == 0) +else { -lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; size_t x_228; lean_object* x_229; size_t x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; -lean_dec(x_222); -x_224 = lean_ctor_get(x_206, 2); -lean_inc(x_224); -lean_dec(x_206); -x_225 = lean_array_get_size(x_213); -x_226 = l_Array_toSubarray___rarg(x_224, x_207, x_225); -x_227 = lean_ctor_get(x_226, 2); +lean_object* x_193; lean_object* x_194; +lean_inc(x_184); +x_193 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_findFun_x3f(x_184, x_4, x_5, x_6, x_187); +x_194 = lean_ctor_get(x_193, 0); +lean_inc(x_194); +if (lean_obj_tag(x_194) == 0) +{ +lean_object* x_195; lean_object* x_196; lean_object* x_197; +lean_dec(x_184); +lean_dec(x_180); +lean_dec(x_176); +x_195 = lean_ctor_get(x_193, 1); +lean_inc(x_195); +lean_dec(x_193); +x_196 = lean_box(0); +x_197 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___lambda__1(x_1, x_8, x_170, x_196, x_3, x_4, x_5, x_6, x_195); +return x_197; +} +else +{ +lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; +lean_dec(x_8); +x_198 = lean_ctor_get(x_193, 1); +lean_inc(x_198); +lean_dec(x_193); +x_199 = lean_ctor_get(x_194, 0); +lean_inc(x_199); +lean_dec(x_194); +x_200 = lean_unsigned_to_nat(0u); +x_201 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_176, x_200); +x_202 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__3; +lean_inc(x_201); +x_203 = lean_mk_array(x_201, x_202); +x_204 = lean_unsigned_to_nat(1u); +x_205 = lean_nat_sub(x_201, x_204); +lean_dec(x_201); +x_206 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_176, x_203, x_205); +x_207 = l_Lean_Compiler_LCNF_eraseLetDecl(x_170, x_4, x_5, x_6, x_198); +lean_dec(x_170); +x_208 = lean_ctor_get(x_207, 1); +lean_inc(x_208); +lean_dec(x_207); +x_209 = lean_st_ref_get(x_6, x_208); +x_210 = lean_ctor_get(x_209, 1); +lean_inc(x_210); +lean_dec(x_209); +x_211 = lean_st_ref_get(x_3, x_210); +x_212 = lean_ctor_get(x_211, 0); +lean_inc(x_212); +x_213 = lean_ctor_get(x_211, 1); +lean_inc(x_213); +if (lean_is_exclusive(x_211)) { + lean_ctor_release(x_211, 0); + lean_ctor_release(x_211, 1); + x_214 = x_211; +} else { + lean_dec_ref(x_211); + x_214 = lean_box(0); +} +x_215 = l_Std_RBNode_find___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__1(x_212, x_184); +lean_dec(x_212); +if (lean_obj_tag(x_215) == 0) +{ +lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; size_t x_220; lean_object* x_221; size_t x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; +lean_dec(x_214); +x_216 = lean_ctor_get(x_199, 2); +lean_inc(x_216); +lean_dec(x_199); +x_217 = lean_array_get_size(x_206); +x_218 = l_Array_toSubarray___rarg(x_216, x_200, x_217); +x_219 = lean_ctor_get(x_218, 2); +lean_inc(x_219); +x_220 = lean_usize_of_nat(x_219); +lean_dec(x_219); +x_221 = lean_ctor_get(x_218, 1); +lean_inc(x_221); +x_222 = lean_usize_of_nat(x_221); +lean_dec(x_221); +x_223 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__6; +x_224 = l_Subarray_forInUnsafe_loop___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__4(x_218, x_220, x_222, x_223, x_3, x_4, x_5, x_6, x_213); +lean_dec(x_218); +x_225 = lean_ctor_get(x_224, 0); +lean_inc(x_225); +x_226 = lean_ctor_get(x_225, 1); +lean_inc(x_226); +x_227 = lean_ctor_get(x_224, 1); lean_inc(x_227); -x_228 = lean_usize_of_nat(x_227); -lean_dec(x_227); -x_229 = lean_ctor_get(x_226, 1); +lean_dec(x_224); +x_228 = lean_ctor_get(x_225, 0); +lean_inc(x_228); +lean_dec(x_225); +x_229 = lean_ctor_get(x_226, 0); lean_inc(x_229); -x_230 = lean_usize_of_nat(x_229); -lean_dec(x_229); -x_231 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__6; -x_232 = l_Subarray_forInUnsafe_loop___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__4(x_226, x_228, x_230, x_231, x_3, x_4, x_5, x_6, x_221); lean_dec(x_226); -x_233 = lean_ctor_get(x_232, 0); -lean_inc(x_233); -x_234 = lean_ctor_get(x_233, 1); -lean_inc(x_234); -x_235 = lean_ctor_get(x_232, 1); -lean_inc(x_235); -lean_dec(x_232); -x_236 = lean_ctor_get(x_233, 0); -lean_inc(x_236); -lean_dec(x_233); -x_237 = lean_ctor_get(x_234, 0); -lean_inc(x_237); -lean_dec(x_234); -x_238 = l_Lean_mkAppN(x_186, x_236); -x_239 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__8; +x_230 = l_Lean_mkAppN(x_180, x_228); +x_231 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__8; lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_240 = l_Lean_Compiler_LCNF_mkAuxLetDecl(x_238, x_239, x_4, x_5, x_6, x_235); -if (lean_obj_tag(x_240) == 0) +x_232 = l_Lean_Compiler_LCNF_mkAuxLetDecl(x_230, x_231, x_4, x_5, x_6, x_227); +if (lean_obj_tag(x_232) == 0) { -lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; -x_241 = lean_ctor_get(x_240, 0); -lean_inc(x_241); -x_242 = lean_ctor_get(x_240, 1); -lean_inc(x_242); -lean_dec(x_240); -x_243 = lean_ctor_get(x_1, 0); -lean_inc(x_243); +lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; +x_233 = lean_ctor_get(x_232, 0); +lean_inc(x_233); +x_234 = lean_ctor_get(x_232, 1); +lean_inc(x_234); +lean_dec(x_232); +x_235 = lean_ctor_get(x_1, 0); +lean_inc(x_235); lean_dec(x_1); -x_244 = lean_ctor_get(x_241, 0); -lean_inc(x_244); -x_245 = l_Lean_Expr_fvar___override(x_244); -x_246 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__9; -x_247 = lean_array_push(x_246, x_245); -x_248 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_248, 0, x_243); -lean_ctor_set(x_248, 1, x_247); -x_249 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_249, 0, x_241); -lean_ctor_set(x_249, 1, x_248); -x_250 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__11; +x_236 = lean_ctor_get(x_233, 0); +lean_inc(x_236); +x_237 = l_Lean_Expr_fvar___override(x_236); +x_238 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__9; +x_239 = lean_array_push(x_238, x_237); +x_240 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_240, 0, x_235); +lean_ctor_set(x_240, 1, x_239); +x_241 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_241, 0, x_233); +lean_ctor_set(x_241, 1, x_240); +x_242 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__11; lean_inc(x_6); -x_251 = l_Lean_Compiler_LCNF_mkAuxFunDecl(x_237, x_249, x_250, x_4, x_5, x_6, x_242); -if (lean_obj_tag(x_251) == 0) +x_243 = l_Lean_Compiler_LCNF_mkAuxFunDecl(x_229, x_241, x_242, x_4, x_5, x_6, x_234); +if (lean_obj_tag(x_243) == 0) { -lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; -x_252 = lean_ctor_get(x_251, 0); -lean_inc(x_252); -x_253 = lean_ctor_get(x_251, 1); +lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; +x_244 = lean_ctor_get(x_243, 0); +lean_inc(x_244); +x_245 = lean_ctor_get(x_243, 1); +lean_inc(x_245); +lean_dec(x_243); +x_246 = lean_st_ref_get(x_6, x_245); +lean_dec(x_6); +x_247 = lean_ctor_get(x_246, 1); +lean_inc(x_247); +lean_dec(x_246); +x_248 = lean_st_ref_take(x_3, x_247); +x_249 = lean_ctor_get(x_248, 0); +lean_inc(x_249); +x_250 = lean_ctor_get(x_248, 1); +lean_inc(x_250); +lean_dec(x_248); +lean_inc(x_244); +x_251 = l_Std_RBNode_insert___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__5(x_249, x_184, x_244); +x_252 = lean_st_ref_set(x_3, x_251, x_250); +lean_dec(x_3); +x_253 = lean_ctor_get(x_252, 1); lean_inc(x_253); -lean_dec(x_251); -x_254 = lean_st_ref_get(x_6, x_253); -lean_dec(x_6); -x_255 = lean_ctor_get(x_254, 1); +if (lean_is_exclusive(x_252)) { + lean_ctor_release(x_252, 0); + lean_ctor_release(x_252, 1); + x_254 = x_252; +} else { + lean_dec_ref(x_252); + x_254 = lean_box(0); +} +x_255 = lean_ctor_get(x_244, 0); lean_inc(x_255); -lean_dec(x_254); -x_256 = lean_st_ref_take(x_3, x_255); -x_257 = lean_ctor_get(x_256, 0); -lean_inc(x_257); -x_258 = lean_ctor_get(x_256, 1); -lean_inc(x_258); -lean_dec(x_256); -lean_inc(x_252); -x_259 = l_Std_RBNode_insert___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__5(x_257, x_190, x_252); -x_260 = lean_st_ref_set(x_3, x_259, x_258); -lean_dec(x_3); -x_261 = lean_ctor_get(x_260, 1); -lean_inc(x_261); -if (lean_is_exclusive(x_260)) { - lean_ctor_release(x_260, 0); - lean_ctor_release(x_260, 1); - x_262 = x_260; +lean_dec(x_244); +x_256 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_256, 0, x_255); +lean_ctor_set(x_256, 1, x_206); +if (lean_is_scalar(x_254)) { + x_257 = lean_alloc_ctor(0, 2, 0); } else { - lean_dec_ref(x_260); - x_262 = lean_box(0); + x_257 = x_254; } -x_263 = lean_ctor_get(x_252, 0); -lean_inc(x_263); -lean_dec(x_252); -x_264 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_264, 0, x_263); -lean_ctor_set(x_264, 1, x_213); -if (lean_is_scalar(x_262)) { - x_265 = lean_alloc_ctor(0, 2, 0); -} else { - x_265 = x_262; -} -lean_ctor_set(x_265, 0, x_264); -lean_ctor_set(x_265, 1, x_261); -return x_265; +lean_ctor_set(x_257, 0, x_256); +lean_ctor_set(x_257, 1, x_253); +return x_257; } else { -lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; -lean_dec(x_213); -lean_dec(x_190); +lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; +lean_dec(x_206); +lean_dec(x_184); lean_dec(x_6); lean_dec(x_3); -x_266 = lean_ctor_get(x_251, 0); -lean_inc(x_266); -x_267 = lean_ctor_get(x_251, 1); -lean_inc(x_267); -if (lean_is_exclusive(x_251)) { - lean_ctor_release(x_251, 0); - lean_ctor_release(x_251, 1); - x_268 = x_251; +x_258 = lean_ctor_get(x_243, 0); +lean_inc(x_258); +x_259 = lean_ctor_get(x_243, 1); +lean_inc(x_259); +if (lean_is_exclusive(x_243)) { + lean_ctor_release(x_243, 0); + lean_ctor_release(x_243, 1); + x_260 = x_243; } else { - lean_dec_ref(x_251); - x_268 = lean_box(0); + lean_dec_ref(x_243); + x_260 = lean_box(0); } -if (lean_is_scalar(x_268)) { - x_269 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_260)) { + x_261 = lean_alloc_ctor(1, 2, 0); } else { - x_269 = x_268; + x_261 = x_260; } -lean_ctor_set(x_269, 0, x_266); -lean_ctor_set(x_269, 1, x_267); -return x_269; +lean_ctor_set(x_261, 0, x_258); +lean_ctor_set(x_261, 1, x_259); +return x_261; } } else { -lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; -lean_dec(x_237); -lean_dec(x_213); -lean_dec(x_190); +lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; +lean_dec(x_229); +lean_dec(x_206); +lean_dec(x_184); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_270 = lean_ctor_get(x_240, 0); -lean_inc(x_270); -x_271 = lean_ctor_get(x_240, 1); -lean_inc(x_271); -if (lean_is_exclusive(x_240)) { - lean_ctor_release(x_240, 0); - lean_ctor_release(x_240, 1); - x_272 = x_240; +x_262 = lean_ctor_get(x_232, 0); +lean_inc(x_262); +x_263 = lean_ctor_get(x_232, 1); +lean_inc(x_263); +if (lean_is_exclusive(x_232)) { + lean_ctor_release(x_232, 0); + lean_ctor_release(x_232, 1); + x_264 = x_232; } else { - lean_dec_ref(x_240); + lean_dec_ref(x_232); + x_264 = lean_box(0); +} +if (lean_is_scalar(x_264)) { + x_265 = lean_alloc_ctor(1, 2, 0); +} else { + x_265 = x_264; +} +lean_ctor_set(x_265, 0, x_262); +lean_ctor_set(x_265, 1, x_263); +return x_265; +} +} +else +{ +lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; +lean_dec(x_199); +lean_dec(x_184); +lean_dec(x_180); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_266 = lean_ctor_get(x_215, 0); +lean_inc(x_266); +lean_dec(x_215); +x_267 = lean_ctor_get(x_266, 0); +lean_inc(x_267); +lean_dec(x_266); +x_268 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_268, 0, x_267); +lean_ctor_set(x_268, 1, x_206); +if (lean_is_scalar(x_214)) { + x_269 = lean_alloc_ctor(0, 2, 0); +} else { + x_269 = x_214; +} +lean_ctor_set(x_269, 0, x_268); +lean_ctor_set(x_269, 1, x_213); +return x_269; +} +} +} +} +else +{ +lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; +lean_dec(x_184); +lean_dec(x_180); +lean_dec(x_176); +lean_dec(x_170); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_270 = lean_ctor_get(x_185, 0); +lean_inc(x_270); +x_271 = lean_ctor_get(x_185, 1); +lean_inc(x_271); +if (lean_is_exclusive(x_185)) { + lean_ctor_release(x_185, 0); + lean_ctor_release(x_185, 1); + x_272 = x_185; +} else { + lean_dec_ref(x_185); x_272 = lean_box(0); } if (lean_is_scalar(x_272)) { @@ -5329,719 +5318,615 @@ lean_ctor_set(x_273, 1, x_271); return x_273; } } +} +} +} +} else { -lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; -lean_dec(x_206); -lean_dec(x_190); -lean_dec(x_186); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_274 = lean_ctor_get(x_223, 0); +lean_object* x_274; lean_object* x_275; lean_object* x_276; +x_274 = lean_ctor_get(x_2, 0); lean_inc(x_274); -lean_dec(x_223); -x_275 = lean_ctor_get(x_274, 0); -lean_inc(x_275); -lean_dec(x_274); -x_276 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_276, 0, x_275); -lean_ctor_set(x_276, 1, x_213); -if (lean_is_scalar(x_222)) { - x_277 = lean_alloc_ctor(0, 2, 0); -} else { - x_277 = x_222; -} -lean_ctor_set(x_277, 0, x_276); -lean_ctor_set(x_277, 1, x_221); -return x_277; -} -} -} -else -{ -lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; -lean_dec(x_190); -lean_dec(x_186); -lean_dec(x_182); -lean_dec(x_178); -lean_dec(x_176); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_278 = lean_ctor_get(x_200, 0); -lean_inc(x_278); -x_279 = lean_ctor_get(x_200, 1); -lean_inc(x_279); -if (lean_is_exclusive(x_200)) { - lean_ctor_release(x_200, 0); - lean_ctor_release(x_200, 1); - x_280 = x_200; -} else { - lean_dec_ref(x_200); - x_280 = lean_box(0); -} -if (lean_is_scalar(x_280)) { - x_281 = lean_alloc_ctor(1, 2, 0); -} else { - x_281 = x_280; -} -lean_ctor_set(x_281, 0, x_278); -lean_ctor_set(x_281, 1, x_279); -return x_281; -} -} -} -else -{ -lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; -lean_dec(x_190); -lean_dec(x_186); -lean_dec(x_182); -lean_dec(x_178); -lean_dec(x_176); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_282 = lean_ctor_get(x_191, 0); -lean_inc(x_282); -x_283 = lean_ctor_get(x_191, 1); -lean_inc(x_283); -if (lean_is_exclusive(x_191)) { - lean_ctor_release(x_191, 0); - lean_ctor_release(x_191, 1); - x_284 = x_191; -} else { - lean_dec_ref(x_191); - x_284 = lean_box(0); -} -if (lean_is_scalar(x_284)) { - x_285 = lean_alloc_ctor(1, 2, 0); -} else { - x_285 = x_284; -} -lean_ctor_set(x_285, 0, x_282); -lean_ctor_set(x_285, 1, x_283); -return x_285; -} -} -} -} -} -} -else -{ -lean_object* x_286; lean_object* x_287; lean_object* x_288; -x_286 = lean_ctor_get(x_2, 0); -lean_inc(x_286); lean_dec(x_2); -x_287 = lean_box(0); -x_288 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___lambda__1(x_1, x_8, x_286, x_287, x_3, x_4, x_5, x_6, x_7); -return x_288; +x_275 = lean_box(0); +x_276 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___lambda__1(x_1, x_8, x_274, x_275, x_3, x_4, x_5, x_6, x_7); +return x_276; } } case 1: { -uint8_t x_289; -x_289 = !lean_is_exclusive(x_2); -if (x_289 == 0) +uint8_t x_277; +x_277 = !lean_is_exclusive(x_2); +if (x_277 == 0) +{ +lean_object* x_278; lean_object* x_279; lean_object* x_280; +x_278 = lean_ctor_get(x_2, 0); +x_279 = lean_ctor_get(x_2, 1); +x_280 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go(x_1, x_279, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_280) == 0) +{ +uint8_t x_281; +x_281 = !lean_is_exclusive(x_280); +if (x_281 == 0) +{ +lean_object* x_282; +x_282 = lean_ctor_get(x_280, 0); +lean_ctor_set(x_2, 1, x_282); +lean_ctor_set(x_280, 0, x_2); +return x_280; +} +else +{ +lean_object* x_283; lean_object* x_284; lean_object* x_285; +x_283 = lean_ctor_get(x_280, 0); +x_284 = lean_ctor_get(x_280, 1); +lean_inc(x_284); +lean_inc(x_283); +lean_dec(x_280); +lean_ctor_set(x_2, 1, x_283); +x_285 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_285, 0, x_2); +lean_ctor_set(x_285, 1, x_284); +return x_285; +} +} +else +{ +uint8_t x_286; +lean_free_object(x_2); +lean_dec(x_278); +x_286 = !lean_is_exclusive(x_280); +if (x_286 == 0) +{ +return x_280; +} +else +{ +lean_object* x_287; lean_object* x_288; lean_object* x_289; +x_287 = lean_ctor_get(x_280, 0); +x_288 = lean_ctor_get(x_280, 1); +lean_inc(x_288); +lean_inc(x_287); +lean_dec(x_280); +x_289 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_289, 0, x_287); +lean_ctor_set(x_289, 1, x_288); +return x_289; +} +} +} +else { lean_object* x_290; lean_object* x_291; lean_object* x_292; x_290 = lean_ctor_get(x_2, 0); x_291 = lean_ctor_get(x_2, 1); +lean_inc(x_291); +lean_inc(x_290); +lean_dec(x_2); x_292 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go(x_1, x_291, x_3, x_4, x_5, x_6, x_7); if (lean_obj_tag(x_292) == 0) { -uint8_t x_293; -x_293 = !lean_is_exclusive(x_292); -if (x_293 == 0) -{ -lean_object* x_294; -x_294 = lean_ctor_get(x_292, 0); -lean_ctor_set(x_2, 1, x_294); -lean_ctor_set(x_292, 0, x_2); -return x_292; +lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; +x_293 = lean_ctor_get(x_292, 0); +lean_inc(x_293); +x_294 = lean_ctor_get(x_292, 1); +lean_inc(x_294); +if (lean_is_exclusive(x_292)) { + lean_ctor_release(x_292, 0); + lean_ctor_release(x_292, 1); + x_295 = x_292; +} else { + lean_dec_ref(x_292); + x_295 = lean_box(0); } -else -{ -lean_object* x_295; lean_object* x_296; lean_object* x_297; -x_295 = lean_ctor_get(x_292, 0); -x_296 = lean_ctor_get(x_292, 1); -lean_inc(x_296); -lean_inc(x_295); -lean_dec(x_292); -lean_ctor_set(x_2, 1, x_295); -x_297 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_297, 0, x_2); -lean_ctor_set(x_297, 1, x_296); +x_296 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_296, 0, x_290); +lean_ctor_set(x_296, 1, x_293); +if (lean_is_scalar(x_295)) { + x_297 = lean_alloc_ctor(0, 2, 0); +} else { + x_297 = x_295; +} +lean_ctor_set(x_297, 0, x_296); +lean_ctor_set(x_297, 1, x_294); return x_297; } -} else { -uint8_t x_298; -lean_free_object(x_2); +lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_dec(x_290); -x_298 = !lean_is_exclusive(x_292); -if (x_298 == 0) -{ -return x_292; -} -else -{ -lean_object* x_299; lean_object* x_300; lean_object* x_301; -x_299 = lean_ctor_get(x_292, 0); -x_300 = lean_ctor_get(x_292, 1); -lean_inc(x_300); +x_298 = lean_ctor_get(x_292, 0); +lean_inc(x_298); +x_299 = lean_ctor_get(x_292, 1); lean_inc(x_299); -lean_dec(x_292); -x_301 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_301, 0, x_299); -lean_ctor_set(x_301, 1, x_300); +if (lean_is_exclusive(x_292)) { + lean_ctor_release(x_292, 0); + lean_ctor_release(x_292, 1); + x_300 = x_292; +} else { + lean_dec_ref(x_292); + x_300 = lean_box(0); +} +if (lean_is_scalar(x_300)) { + x_301 = lean_alloc_ctor(1, 2, 0); +} else { + x_301 = x_300; +} +lean_ctor_set(x_301, 0, x_298); +lean_ctor_set(x_301, 1, x_299); return x_301; } } } -else -{ -lean_object* x_302; lean_object* x_303; lean_object* x_304; -x_302 = lean_ctor_get(x_2, 0); -x_303 = lean_ctor_get(x_2, 1); -lean_inc(x_303); -lean_inc(x_302); -lean_dec(x_2); -x_304 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go(x_1, x_303, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_304) == 0) -{ -lean_object* x_305; lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; -x_305 = lean_ctor_get(x_304, 0); -lean_inc(x_305); -x_306 = lean_ctor_get(x_304, 1); -lean_inc(x_306); -if (lean_is_exclusive(x_304)) { - lean_ctor_release(x_304, 0); - lean_ctor_release(x_304, 1); - x_307 = x_304; -} else { - lean_dec_ref(x_304); - x_307 = lean_box(0); -} -x_308 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_308, 0, x_302); -lean_ctor_set(x_308, 1, x_305); -if (lean_is_scalar(x_307)) { - x_309 = lean_alloc_ctor(0, 2, 0); -} else { - x_309 = x_307; -} -lean_ctor_set(x_309, 0, x_308); -lean_ctor_set(x_309, 1, x_306); -return x_309; -} -else -{ -lean_object* x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313; -lean_dec(x_302); -x_310 = lean_ctor_get(x_304, 0); -lean_inc(x_310); -x_311 = lean_ctor_get(x_304, 1); -lean_inc(x_311); -if (lean_is_exclusive(x_304)) { - lean_ctor_release(x_304, 0); - lean_ctor_release(x_304, 1); - x_312 = x_304; -} else { - lean_dec_ref(x_304); - x_312 = lean_box(0); -} -if (lean_is_scalar(x_312)) { - x_313 = lean_alloc_ctor(1, 2, 0); -} else { - x_313 = x_312; -} -lean_ctor_set(x_313, 0, x_310); -lean_ctor_set(x_313, 1, x_311); -return x_313; -} -} -} case 2: { -uint8_t x_314; -x_314 = !lean_is_exclusive(x_2); -if (x_314 == 0) +uint8_t x_302; +x_302 = !lean_is_exclusive(x_2); +if (x_302 == 0) { -lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; -x_315 = lean_ctor_get(x_2, 0); -x_316 = lean_ctor_get(x_2, 1); -x_317 = lean_ctor_get(x_315, 4); -lean_inc(x_317); +lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; +x_303 = lean_ctor_get(x_2, 0); +x_304 = lean_ctor_get(x_2, 1); +x_305 = lean_ctor_get(x_303, 4); +lean_inc(x_305); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_1); -x_318 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go(x_1, x_317, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_318) == 0) +x_306 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go(x_1, x_305, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_306) == 0) { -lean_object* x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322; -x_319 = lean_ctor_get(x_318, 0); -lean_inc(x_319); -x_320 = lean_ctor_get(x_318, 1); -lean_inc(x_320); -lean_dec(x_318); -x_321 = lean_ctor_get(x_315, 2); -lean_inc(x_321); +lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; +x_307 = lean_ctor_get(x_306, 0); +lean_inc(x_307); +x_308 = lean_ctor_get(x_306, 1); +lean_inc(x_308); +lean_dec(x_306); +x_309 = lean_ctor_get(x_303, 2); +lean_inc(x_309); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); +lean_inc(x_307); +lean_inc(x_309); +x_310 = l_Lean_Compiler_LCNF_Code_inferParamType(x_309, x_307, x_4, x_5, x_6, x_308); +if (lean_obj_tag(x_310) == 0) +{ +lean_object* x_311; lean_object* x_312; lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_316; +x_311 = lean_ctor_get(x_310, 0); +lean_inc(x_311); +x_312 = lean_ctor_get(x_310, 1); +lean_inc(x_312); +lean_dec(x_310); +x_313 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateFunDeclImp(x_303, x_311, x_309, x_307, x_4, x_5, x_6, x_312); +x_314 = lean_ctor_get(x_313, 0); +lean_inc(x_314); +x_315 = lean_ctor_get(x_313, 1); +lean_inc(x_315); +lean_dec(x_313); +x_316 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go(x_1, x_304, x_3, x_4, x_5, x_6, x_315); +if (lean_obj_tag(x_316) == 0) +{ +uint8_t x_317; +x_317 = !lean_is_exclusive(x_316); +if (x_317 == 0) +{ +lean_object* x_318; +x_318 = lean_ctor_get(x_316, 0); +lean_ctor_set(x_2, 1, x_318); +lean_ctor_set(x_2, 0, x_314); +lean_ctor_set(x_316, 0, x_2); +return x_316; +} +else +{ +lean_object* x_319; lean_object* x_320; lean_object* x_321; +x_319 = lean_ctor_get(x_316, 0); +x_320 = lean_ctor_get(x_316, 1); +lean_inc(x_320); lean_inc(x_319); -lean_inc(x_321); -x_322 = l_Lean_Compiler_LCNF_Code_inferParamType(x_321, x_319, x_4, x_5, x_6, x_320); -if (lean_obj_tag(x_322) == 0) +lean_dec(x_316); +lean_ctor_set(x_2, 1, x_319); +lean_ctor_set(x_2, 0, x_314); +x_321 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_321, 0, x_2); +lean_ctor_set(x_321, 1, x_320); +return x_321; +} +} +else { -lean_object* x_323; lean_object* x_324; lean_object* x_325; lean_object* x_326; lean_object* x_327; lean_object* x_328; -x_323 = lean_ctor_get(x_322, 0); -lean_inc(x_323); -x_324 = lean_ctor_get(x_322, 1); +uint8_t x_322; +lean_dec(x_314); +lean_free_object(x_2); +x_322 = !lean_is_exclusive(x_316); +if (x_322 == 0) +{ +return x_316; +} +else +{ +lean_object* x_323; lean_object* x_324; lean_object* x_325; +x_323 = lean_ctor_get(x_316, 0); +x_324 = lean_ctor_get(x_316, 1); lean_inc(x_324); -lean_dec(x_322); -x_325 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateFunDeclImp(x_315, x_323, x_321, x_319, x_4, x_5, x_6, x_324); -x_326 = lean_ctor_get(x_325, 0); -lean_inc(x_326); -x_327 = lean_ctor_get(x_325, 1); +lean_inc(x_323); +lean_dec(x_316); +x_325 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_325, 0, x_323); +lean_ctor_set(x_325, 1, x_324); +return x_325; +} +} +} +else +{ +uint8_t x_326; +lean_dec(x_309); +lean_dec(x_307); +lean_free_object(x_2); +lean_dec(x_304); +lean_dec(x_303); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_326 = !lean_is_exclusive(x_310); +if (x_326 == 0) +{ +return x_310; +} +else +{ +lean_object* x_327; lean_object* x_328; lean_object* x_329; +x_327 = lean_ctor_get(x_310, 0); +x_328 = lean_ctor_get(x_310, 1); +lean_inc(x_328); lean_inc(x_327); -lean_dec(x_325); -x_328 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go(x_1, x_316, x_3, x_4, x_5, x_6, x_327); -if (lean_obj_tag(x_328) == 0) +lean_dec(x_310); +x_329 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_329, 0, x_327); +lean_ctor_set(x_329, 1, x_328); +return x_329; +} +} +} +else { -uint8_t x_329; -x_329 = !lean_is_exclusive(x_328); -if (x_329 == 0) +uint8_t x_330; +lean_free_object(x_2); +lean_dec(x_304); +lean_dec(x_303); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_330 = !lean_is_exclusive(x_306); +if (x_330 == 0) { -lean_object* x_330; -x_330 = lean_ctor_get(x_328, 0); -lean_ctor_set(x_2, 1, x_330); -lean_ctor_set(x_2, 0, x_326); -lean_ctor_set(x_328, 0, x_2); -return x_328; +return x_306; } else { lean_object* x_331; lean_object* x_332; lean_object* x_333; -x_331 = lean_ctor_get(x_328, 0); -x_332 = lean_ctor_get(x_328, 1); +x_331 = lean_ctor_get(x_306, 0); +x_332 = lean_ctor_get(x_306, 1); lean_inc(x_332); lean_inc(x_331); -lean_dec(x_328); -lean_ctor_set(x_2, 1, x_331); -lean_ctor_set(x_2, 0, x_326); -x_333 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_333, 0, x_2); +lean_dec(x_306); +x_333 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_333, 0, x_331); lean_ctor_set(x_333, 1, x_332); return x_333; } } -else -{ -uint8_t x_334; -lean_dec(x_326); -lean_free_object(x_2); -x_334 = !lean_is_exclusive(x_328); -if (x_334 == 0) -{ -return x_328; } else { -lean_object* x_335; lean_object* x_336; lean_object* x_337; -x_335 = lean_ctor_get(x_328, 0); -x_336 = lean_ctor_get(x_328, 1); -lean_inc(x_336); +lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; +x_334 = lean_ctor_get(x_2, 0); +x_335 = lean_ctor_get(x_2, 1); lean_inc(x_335); -lean_dec(x_328); -x_337 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_337, 0, x_335); -lean_ctor_set(x_337, 1, x_336); -return x_337; -} -} -} -else -{ -uint8_t x_338; -lean_dec(x_321); -lean_dec(x_319); -lean_free_object(x_2); -lean_dec(x_316); -lean_dec(x_315); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_338 = !lean_is_exclusive(x_322); -if (x_338 == 0) -{ -return x_322; -} -else -{ -lean_object* x_339; lean_object* x_340; lean_object* x_341; -x_339 = lean_ctor_get(x_322, 0); -x_340 = lean_ctor_get(x_322, 1); -lean_inc(x_340); -lean_inc(x_339); -lean_dec(x_322); -x_341 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_341, 0, x_339); -lean_ctor_set(x_341, 1, x_340); -return x_341; -} -} -} -else -{ -uint8_t x_342; -lean_free_object(x_2); -lean_dec(x_316); -lean_dec(x_315); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_342 = !lean_is_exclusive(x_318); -if (x_342 == 0) -{ -return x_318; -} -else -{ -lean_object* x_343; lean_object* x_344; lean_object* x_345; -x_343 = lean_ctor_get(x_318, 0); -x_344 = lean_ctor_get(x_318, 1); -lean_inc(x_344); -lean_inc(x_343); -lean_dec(x_318); -x_345 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_345, 0, x_343); -lean_ctor_set(x_345, 1, x_344); -return x_345; -} -} -} -else -{ -lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; -x_346 = lean_ctor_get(x_2, 0); -x_347 = lean_ctor_get(x_2, 1); -lean_inc(x_347); -lean_inc(x_346); +lean_inc(x_334); lean_dec(x_2); -x_348 = lean_ctor_get(x_346, 4); -lean_inc(x_348); +x_336 = lean_ctor_get(x_334, 4); +lean_inc(x_336); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_1); -x_349 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go(x_1, x_348, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_349) == 0) +x_337 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go(x_1, x_336, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_337) == 0) { -lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; -x_350 = lean_ctor_get(x_349, 0); -lean_inc(x_350); -x_351 = lean_ctor_get(x_349, 1); -lean_inc(x_351); -lean_dec(x_349); -x_352 = lean_ctor_get(x_346, 2); -lean_inc(x_352); +lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; +x_338 = lean_ctor_get(x_337, 0); +lean_inc(x_338); +x_339 = lean_ctor_get(x_337, 1); +lean_inc(x_339); +lean_dec(x_337); +x_340 = lean_ctor_get(x_334, 2); +lean_inc(x_340); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_350); -lean_inc(x_352); -x_353 = l_Lean_Compiler_LCNF_Code_inferParamType(x_352, x_350, x_4, x_5, x_6, x_351); -if (lean_obj_tag(x_353) == 0) +lean_inc(x_338); +lean_inc(x_340); +x_341 = l_Lean_Compiler_LCNF_Code_inferParamType(x_340, x_338, x_4, x_5, x_6, x_339); +if (lean_obj_tag(x_341) == 0) { -lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359; -x_354 = lean_ctor_get(x_353, 0); +lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; +x_342 = lean_ctor_get(x_341, 0); +lean_inc(x_342); +x_343 = lean_ctor_get(x_341, 1); +lean_inc(x_343); +lean_dec(x_341); +x_344 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateFunDeclImp(x_334, x_342, x_340, x_338, x_4, x_5, x_6, x_343); +x_345 = lean_ctor_get(x_344, 0); +lean_inc(x_345); +x_346 = lean_ctor_get(x_344, 1); +lean_inc(x_346); +lean_dec(x_344); +x_347 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go(x_1, x_335, x_3, x_4, x_5, x_6, x_346); +if (lean_obj_tag(x_347) == 0) +{ +lean_object* x_348; lean_object* x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; +x_348 = lean_ctor_get(x_347, 0); +lean_inc(x_348); +x_349 = lean_ctor_get(x_347, 1); +lean_inc(x_349); +if (lean_is_exclusive(x_347)) { + lean_ctor_release(x_347, 0); + lean_ctor_release(x_347, 1); + x_350 = x_347; +} else { + lean_dec_ref(x_347); + x_350 = lean_box(0); +} +x_351 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_351, 0, x_345); +lean_ctor_set(x_351, 1, x_348); +if (lean_is_scalar(x_350)) { + x_352 = lean_alloc_ctor(0, 2, 0); +} else { + x_352 = x_350; +} +lean_ctor_set(x_352, 0, x_351); +lean_ctor_set(x_352, 1, x_349); +return x_352; +} +else +{ +lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; +lean_dec(x_345); +x_353 = lean_ctor_get(x_347, 0); +lean_inc(x_353); +x_354 = lean_ctor_get(x_347, 1); lean_inc(x_354); -x_355 = lean_ctor_get(x_353, 1); -lean_inc(x_355); -lean_dec(x_353); -x_356 = l___private_Lean_Compiler_LCNF_CompilerM_0__Lean_Compiler_LCNF_updateFunDeclImp(x_346, x_354, x_352, x_350, x_4, x_5, x_6, x_355); -x_357 = lean_ctor_get(x_356, 0); +if (lean_is_exclusive(x_347)) { + lean_ctor_release(x_347, 0); + lean_ctor_release(x_347, 1); + x_355 = x_347; +} else { + lean_dec_ref(x_347); + x_355 = lean_box(0); +} +if (lean_is_scalar(x_355)) { + x_356 = lean_alloc_ctor(1, 2, 0); +} else { + x_356 = x_355; +} +lean_ctor_set(x_356, 0, x_353); +lean_ctor_set(x_356, 1, x_354); +return x_356; +} +} +else +{ +lean_object* x_357; lean_object* x_358; lean_object* x_359; lean_object* x_360; +lean_dec(x_340); +lean_dec(x_338); +lean_dec(x_335); +lean_dec(x_334); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_357 = lean_ctor_get(x_341, 0); lean_inc(x_357); -x_358 = lean_ctor_get(x_356, 1); +x_358 = lean_ctor_get(x_341, 1); lean_inc(x_358); -lean_dec(x_356); -x_359 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go(x_1, x_347, x_3, x_4, x_5, x_6, x_358); -if (lean_obj_tag(x_359) == 0) +if (lean_is_exclusive(x_341)) { + lean_ctor_release(x_341, 0); + lean_ctor_release(x_341, 1); + x_359 = x_341; +} else { + lean_dec_ref(x_341); + x_359 = lean_box(0); +} +if (lean_is_scalar(x_359)) { + x_360 = lean_alloc_ctor(1, 2, 0); +} else { + x_360 = x_359; +} +lean_ctor_set(x_360, 0, x_357); +lean_ctor_set(x_360, 1, x_358); +return x_360; +} +} +else { -lean_object* x_360; lean_object* x_361; lean_object* x_362; lean_object* x_363; lean_object* x_364; -x_360 = lean_ctor_get(x_359, 0); -lean_inc(x_360); -x_361 = lean_ctor_get(x_359, 1); +lean_object* x_361; lean_object* x_362; lean_object* x_363; lean_object* x_364; +lean_dec(x_335); +lean_dec(x_334); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_361 = lean_ctor_get(x_337, 0); lean_inc(x_361); -if (lean_is_exclusive(x_359)) { - lean_ctor_release(x_359, 0); - lean_ctor_release(x_359, 1); - x_362 = x_359; +x_362 = lean_ctor_get(x_337, 1); +lean_inc(x_362); +if (lean_is_exclusive(x_337)) { + lean_ctor_release(x_337, 0); + lean_ctor_release(x_337, 1); + x_363 = x_337; } else { - lean_dec_ref(x_359); - x_362 = lean_box(0); + lean_dec_ref(x_337); + x_363 = lean_box(0); } -x_363 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_363, 0, x_357); -lean_ctor_set(x_363, 1, x_360); -if (lean_is_scalar(x_362)) { - x_364 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_363)) { + x_364 = lean_alloc_ctor(1, 2, 0); } else { - x_364 = x_362; + x_364 = x_363; } -lean_ctor_set(x_364, 0, x_363); -lean_ctor_set(x_364, 1, x_361); +lean_ctor_set(x_364, 0, x_361); +lean_ctor_set(x_364, 1, x_362); return x_364; } -else -{ -lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; -lean_dec(x_357); -x_365 = lean_ctor_get(x_359, 0); -lean_inc(x_365); -x_366 = lean_ctor_get(x_359, 1); -lean_inc(x_366); -if (lean_is_exclusive(x_359)) { - lean_ctor_release(x_359, 0); - lean_ctor_release(x_359, 1); - x_367 = x_359; -} else { - lean_dec_ref(x_359); - x_367 = lean_box(0); -} -if (lean_is_scalar(x_367)) { - x_368 = lean_alloc_ctor(1, 2, 0); -} else { - x_368 = x_367; -} -lean_ctor_set(x_368, 0, x_365); -lean_ctor_set(x_368, 1, x_366); -return x_368; -} -} -else -{ -lean_object* x_369; lean_object* x_370; lean_object* x_371; lean_object* x_372; -lean_dec(x_352); -lean_dec(x_350); -lean_dec(x_347); -lean_dec(x_346); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_369 = lean_ctor_get(x_353, 0); -lean_inc(x_369); -x_370 = lean_ctor_get(x_353, 1); -lean_inc(x_370); -if (lean_is_exclusive(x_353)) { - lean_ctor_release(x_353, 0); - lean_ctor_release(x_353, 1); - x_371 = x_353; -} else { - lean_dec_ref(x_353); - x_371 = lean_box(0); -} -if (lean_is_scalar(x_371)) { - x_372 = lean_alloc_ctor(1, 2, 0); -} else { - x_372 = x_371; -} -lean_ctor_set(x_372, 0, x_369); -lean_ctor_set(x_372, 1, x_370); -return x_372; -} -} -else -{ -lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; -lean_dec(x_347); -lean_dec(x_346); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_373 = lean_ctor_get(x_349, 0); -lean_inc(x_373); -x_374 = lean_ctor_get(x_349, 1); -lean_inc(x_374); -if (lean_is_exclusive(x_349)) { - lean_ctor_release(x_349, 0); - lean_ctor_release(x_349, 1); - x_375 = x_349; -} else { - lean_dec_ref(x_349); - x_375 = lean_box(0); -} -if (lean_is_scalar(x_375)) { - x_376 = lean_alloc_ctor(1, 2, 0); -} else { - x_376 = x_375; -} -lean_ctor_set(x_376, 0, x_373); -lean_ctor_set(x_376, 1, x_374); -return x_376; -} } } case 4: { -lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; size_t x_382; size_t x_383; lean_object* x_384; -x_377 = lean_ctor_get(x_2, 0); -lean_inc(x_377); +lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369; size_t x_370; size_t x_371; lean_object* x_372; +x_365 = lean_ctor_get(x_2, 0); +lean_inc(x_365); lean_dec(x_2); -x_378 = lean_ctor_get(x_377, 0); -lean_inc(x_378); -x_379 = lean_ctor_get(x_377, 2); -lean_inc(x_379); -x_380 = lean_ctor_get(x_377, 3); -lean_inc(x_380); -lean_dec(x_377); -x_381 = lean_array_get_size(x_380); -x_382 = lean_usize_of_nat(x_381); -lean_dec(x_381); -x_383 = 0; +x_366 = lean_ctor_get(x_365, 0); +lean_inc(x_366); +x_367 = lean_ctor_get(x_365, 2); +lean_inc(x_367); +x_368 = lean_ctor_get(x_365, 3); +lean_inc(x_368); +lean_dec(x_365); +x_369 = lean_array_get_size(x_368); +x_370 = lean_usize_of_nat(x_369); +lean_dec(x_369); +x_371 = 0; lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -x_384 = l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__7(x_1, x_382, x_383, x_380, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_384) == 0) +x_372 = l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__7(x_1, x_370, x_371, x_368, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_372) == 0) { -lean_object* x_385; lean_object* x_386; uint8_t x_387; -x_385 = lean_ctor_get(x_384, 0); -lean_inc(x_385); -x_386 = lean_ctor_get(x_384, 1); +lean_object* x_373; lean_object* x_374; uint8_t x_375; +x_373 = lean_ctor_get(x_372, 0); +lean_inc(x_373); +x_374 = lean_ctor_get(x_372, 1); +lean_inc(x_374); +lean_dec(x_372); +x_375 = l_Array_isEmpty___rarg(x_373); +if (x_375 == 0) +{ +lean_object* x_376; lean_object* x_377; +x_376 = lean_box(0); +x_377 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___lambda__2(x_373, x_366, x_367, x_376, x_3, x_4, x_5, x_6, x_374); +lean_dec(x_3); +return x_377; +} +else +{ +lean_object* x_378; lean_object* x_379; uint8_t x_380; +lean_dec(x_373); +lean_dec(x_367); +lean_dec(x_366); +x_378 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__13; +x_379 = l_Lean_throwError___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__8(x_378, x_3, x_4, x_5, x_6, x_374); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_380 = !lean_is_exclusive(x_379); +if (x_380 == 0) +{ +return x_379; +} +else +{ +lean_object* x_381; lean_object* x_382; lean_object* x_383; +x_381 = lean_ctor_get(x_379, 0); +x_382 = lean_ctor_get(x_379, 1); +lean_inc(x_382); +lean_inc(x_381); +lean_dec(x_379); +x_383 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_383, 0, x_381); +lean_ctor_set(x_383, 1, x_382); +return x_383; +} +} +} +else +{ +uint8_t x_384; +lean_dec(x_367); +lean_dec(x_366); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_384 = !lean_is_exclusive(x_372); +if (x_384 == 0) +{ +return x_372; +} +else +{ +lean_object* x_385; lean_object* x_386; lean_object* x_387; +x_385 = lean_ctor_get(x_372, 0); +x_386 = lean_ctor_get(x_372, 1); lean_inc(x_386); -lean_dec(x_384); -x_387 = l_Array_isEmpty___rarg(x_385); -if (x_387 == 0) -{ -lean_object* x_388; lean_object* x_389; -x_388 = lean_box(0); -x_389 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___lambda__2(x_385, x_378, x_379, x_388, x_3, x_4, x_5, x_6, x_386); -lean_dec(x_3); -return x_389; -} -else -{ -lean_object* x_390; lean_object* x_391; uint8_t x_392; -lean_dec(x_385); -lean_dec(x_379); -lean_dec(x_378); -x_390 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__13; -x_391 = l_Lean_throwError___at_Lean_Compiler_LCNF_ToLCNF_bindCases_go___spec__8(x_390, x_3, x_4, x_5, x_6, x_386); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_392 = !lean_is_exclusive(x_391); -if (x_392 == 0) -{ -return x_391; -} -else -{ -lean_object* x_393; lean_object* x_394; lean_object* x_395; -x_393 = lean_ctor_get(x_391, 0); -x_394 = lean_ctor_get(x_391, 1); -lean_inc(x_394); -lean_inc(x_393); -lean_dec(x_391); -x_395 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_395, 0, x_393); -lean_ctor_set(x_395, 1, x_394); -return x_395; -} -} -} -else -{ -uint8_t x_396; -lean_dec(x_379); -lean_dec(x_378); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_396 = !lean_is_exclusive(x_384); -if (x_396 == 0) -{ -return x_384; -} -else -{ -lean_object* x_397; lean_object* x_398; lean_object* x_399; -x_397 = lean_ctor_get(x_384, 0); -x_398 = lean_ctor_get(x_384, 1); -lean_inc(x_398); -lean_inc(x_397); -lean_dec(x_384); -x_399 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_399, 0, x_397); -lean_ctor_set(x_399, 1, x_398); -return x_399; +lean_inc(x_385); +lean_dec(x_372); +x_387 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_387, 0, x_385); +lean_ctor_set(x_387, 1, x_386); +return x_387; } } } case 5: { -lean_object* x_400; lean_object* x_401; lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; +lean_object* x_388; lean_object* x_389; lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_400 = lean_ctor_get(x_2, 0); -lean_inc(x_400); +x_388 = lean_ctor_get(x_2, 0); +lean_inc(x_388); lean_dec(x_2); -x_401 = lean_ctor_get(x_1, 0); -lean_inc(x_401); +x_389 = lean_ctor_get(x_1, 0); +lean_inc(x_389); lean_dec(x_1); -x_402 = l_Lean_Expr_fvar___override(x_400); -x_403 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__9; -x_404 = lean_array_push(x_403, x_402); -x_405 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_405, 0, x_401); -lean_ctor_set(x_405, 1, x_404); -x_406 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_406, 0, x_405); -lean_ctor_set(x_406, 1, x_7); -return x_406; +x_390 = l_Lean_Expr_fvar___override(x_388); +x_391 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__9; +x_392 = lean_array_push(x_391, x_390); +x_393 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_393, 0, x_389); +lean_ctor_set(x_393, 1, x_392); +x_394 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_394, 0, x_393); +lean_ctor_set(x_394, 1, x_7); +return x_394; } default: { -lean_object* x_407; +lean_object* x_395; lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_407 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_407, 0, x_2); -lean_ctor_set(x_407, 1, x_7); -return x_407; +x_395 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_395, 0, x_2); +lean_ctor_set(x_395, 1, x_7); +return x_395; } } } @@ -6584,79 +6469,96 @@ lean_object* x_10; lean_dec(x_4); x_10 = lean_array_uget(x_1, x_2); switch (lean_obj_tag(x_10)) { -case 3: +case 2: { -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; size_t x_16; size_t x_17; -x_11 = lean_ctor_get(x_10, 1); +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; size_t x_15; size_t x_16; +x_11 = lean_ctor_get(x_10, 0); lean_inc(x_11); lean_dec(x_10); -x_12 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_12, 0, x_11); -x_13 = l_Lean_Compiler_LCNF_eraseFVarsAt(x_12, x_5, x_6, x_7, x_8); -x_14 = lean_ctor_get(x_13, 0); +x_12 = l_Lean_Compiler_LCNF_eraseLetDecl(x_11, x_5, x_6, x_7, x_8); +lean_dec(x_11); +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_12, 1); lean_inc(x_14); -x_15 = lean_ctor_get(x_13, 1); -lean_inc(x_15); -lean_dec(x_13); -x_16 = 1; -x_17 = lean_usize_add(x_2, x_16); -x_2 = x_17; -x_4 = x_14; -x_8 = x_15; +lean_dec(x_12); +x_15 = 1; +x_16 = lean_usize_add(x_2, x_15); +x_2 = x_16; +x_4 = x_13; +x_8 = x_14; +goto _start; +} +case 3: +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; size_t x_23; size_t x_24; +x_18 = lean_ctor_get(x_10, 1); +lean_inc(x_18); +lean_dec(x_10); +x_19 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_19, 0, x_18); +x_20 = l_Lean_Compiler_LCNF_eraseCode(x_19, x_5, x_6, x_7, x_8); +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = 1; +x_24 = lean_usize_add(x_2, x_23); +x_2 = x_24; +x_4 = x_21; +x_8 = x_22; goto _start; } case 4: { -lean_object* x_19; uint8_t x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; size_t x_24; size_t x_25; -x_19 = lean_ctor_get(x_10, 0); -lean_inc(x_19); +lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; size_t x_30; size_t x_31; +x_26 = lean_ctor_get(x_10, 0); +lean_inc(x_26); lean_dec(x_10); -x_20 = 1; -x_21 = l_Lean_Compiler_LCNF_eraseFVar(x_19, x_20, x_5, x_6, x_7, x_8); -x_22 = lean_ctor_get(x_21, 0); -lean_inc(x_22); -x_23 = lean_ctor_get(x_21, 1); -lean_inc(x_23); -lean_dec(x_21); -x_24 = 1; -x_25 = lean_usize_add(x_2, x_24); -x_2 = x_25; -x_4 = x_22; -x_8 = x_23; +x_27 = l_Lean_Compiler_LCNF_eraseParam(x_26, x_5, x_6, x_7, x_8); +lean_dec(x_26); +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +x_30 = 1; +x_31 = lean_usize_add(x_2, x_30); +x_2 = x_31; +x_4 = x_28; +x_8 = x_29; goto _start; } default: { -lean_object* x_27; lean_object* x_28; uint8_t x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; size_t x_33; size_t x_34; -x_27 = lean_ctor_get(x_10, 0); -lean_inc(x_27); +lean_object* x_33; uint8_t x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; size_t x_38; size_t x_39; +x_33 = lean_ctor_get(x_10, 0); +lean_inc(x_33); lean_dec(x_10); -x_28 = lean_ctor_get(x_27, 0); -lean_inc(x_28); -lean_dec(x_27); -x_29 = 1; -x_30 = l_Lean_Compiler_LCNF_eraseFVar(x_28, x_29, x_5, x_6, x_7, x_8); -x_31 = lean_ctor_get(x_30, 0); -lean_inc(x_31); -x_32 = lean_ctor_get(x_30, 1); -lean_inc(x_32); -lean_dec(x_30); -x_33 = 1; -x_34 = lean_usize_add(x_2, x_33); -x_2 = x_34; -x_4 = x_31; -x_8 = x_32; +x_34 = 1; +x_35 = l_Lean_Compiler_LCNF_eraseFunDecl(x_33, x_34, x_5, x_6, x_7, x_8); +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +x_37 = lean_ctor_get(x_35, 1); +lean_inc(x_37); +lean_dec(x_35); +x_38 = 1; +x_39 = lean_usize_add(x_2, x_38); +x_2 = x_39; +x_4 = x_36; +x_8 = x_37; goto _start; } } } else { -lean_object* x_36; -x_36 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_36, 0, x_4); -lean_ctor_set(x_36, 1, x_8); -return x_36; +lean_object* x_41; +x_41 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_41, 0, x_4); +lean_ctor_set(x_41, 1, x_8); +return x_41; } } } @@ -6727,165 +6629,168 @@ return x_64; } else { -lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_100; uint8_t x_101; +lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_99; uint8_t x_100; x_65 = lean_unsigned_to_nat(1u); x_66 = lean_nat_sub(x_2, x_65); -x_100 = lean_array_get_size(x_1); -x_101 = lean_nat_dec_lt(x_66, x_100); -lean_dec(x_100); -if (x_101 == 0) +x_99 = lean_array_get_size(x_1); +x_100 = lean_nat_dec_lt(x_66, x_99); +lean_dec(x_99); +if (x_100 == 0) { -lean_object* x_102; lean_object* x_103; -x_102 = l_Lean_Compiler_LCNF_ToLCNF_seqToCode_go___closed__4; -x_103 = l_panic___at_Lean_Compiler_LCNF_ToLCNF_seqToCode_go___spec__2(x_102); -switch (lean_obj_tag(x_103)) { +lean_object* x_101; lean_object* x_102; +x_101 = l_Lean_Compiler_LCNF_ToLCNF_seqToCode_go___closed__4; +x_102 = l_panic___at_Lean_Compiler_LCNF_ToLCNF_seqToCode_go___spec__2(x_101); +switch (lean_obj_tag(x_102)) { case 0: { -lean_object* x_104; lean_object* x_105; +lean_object* x_103; lean_object* x_104; lean_dec(x_2); -x_104 = lean_ctor_get(x_103, 0); -lean_inc(x_104); -lean_dec(x_103); -x_105 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_105, 0, x_104); -lean_ctor_set(x_105, 1, x_3); +x_103 = lean_ctor_get(x_102, 0); +lean_inc(x_103); +lean_dec(x_102); +x_104 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_104, 0, x_103); +lean_ctor_set(x_104, 1, x_3); x_2 = x_66; -x_3 = x_105; +x_3 = x_104; goto _start; } case 1: { -lean_object* x_107; lean_object* x_108; +lean_object* x_106; lean_object* x_107; lean_dec(x_2); -x_107 = lean_ctor_get(x_103, 0); -lean_inc(x_107); -lean_dec(x_103); -x_108 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_108, 0, x_107); -lean_ctor_set(x_108, 1, x_3); +x_106 = lean_ctor_get(x_102, 0); +lean_inc(x_106); +lean_dec(x_102); +x_107 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_107, 0, x_106); +lean_ctor_set(x_107, 1, x_3); x_2 = x_66; -x_3 = x_108; +x_3 = x_107; goto _start; } case 2: { -lean_object* x_110; lean_object* x_111; +lean_object* x_109; lean_object* x_110; lean_dec(x_2); -x_110 = lean_ctor_get(x_103, 0); -lean_inc(x_110); -lean_dec(x_103); -x_111 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_111, 0, x_110); -lean_ctor_set(x_111, 1, x_3); +x_109 = lean_ctor_get(x_102, 0); +lean_inc(x_109); +lean_dec(x_102); +x_110 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_110, 0, x_109); +lean_ctor_set(x_110, 1, x_3); x_2 = x_66; -x_3 = x_111; +x_3 = x_110; goto _start; } case 3: { -lean_object* x_113; lean_object* x_114; +lean_object* x_112; lean_object* x_113; lean_dec(x_2); -x_113 = lean_ctor_get(x_103, 0); +x_112 = lean_ctor_get(x_102, 0); +lean_inc(x_112); +x_113 = lean_ctor_get(x_102, 1); lean_inc(x_113); -x_114 = lean_ctor_get(x_103, 1); -lean_inc(x_114); -lean_dec(x_103); -x_67 = x_113; -x_68 = x_114; -goto block_99; +lean_dec(x_102); +x_67 = x_112; +x_68 = x_113; +goto block_98; } default: { -lean_object* x_115; -lean_dec(x_103); +lean_object* x_114; +lean_dec(x_102); lean_dec(x_66); -x_115 = lean_box(0); -x_8 = x_115; +x_114 = lean_box(0); +x_8 = x_114; goto block_61; } } } else { -lean_object* x_116; -x_116 = lean_array_fget(x_1, x_66); -switch (lean_obj_tag(x_116)) { +lean_object* x_115; +x_115 = lean_array_fget(x_1, x_66); +switch (lean_obj_tag(x_115)) { case 0: { -lean_object* x_117; lean_object* x_118; +lean_object* x_116; lean_object* x_117; lean_dec(x_2); -x_117 = lean_ctor_get(x_116, 0); -lean_inc(x_117); -lean_dec(x_116); -x_118 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_118, 0, x_117); -lean_ctor_set(x_118, 1, x_3); +x_116 = lean_ctor_get(x_115, 0); +lean_inc(x_116); +lean_dec(x_115); +x_117 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_117, 0, x_116); +lean_ctor_set(x_117, 1, x_3); x_2 = x_66; -x_3 = x_118; +x_3 = x_117; goto _start; } case 1: { -lean_object* x_120; lean_object* x_121; +lean_object* x_119; lean_object* x_120; lean_dec(x_2); -x_120 = lean_ctor_get(x_116, 0); -lean_inc(x_120); -lean_dec(x_116); -x_121 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_121, 0, x_120); -lean_ctor_set(x_121, 1, x_3); +x_119 = lean_ctor_get(x_115, 0); +lean_inc(x_119); +lean_dec(x_115); +x_120 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_120, 0, x_119); +lean_ctor_set(x_120, 1, x_3); x_2 = x_66; -x_3 = x_121; +x_3 = x_120; goto _start; } case 2: { -lean_object* x_123; lean_object* x_124; +lean_object* x_122; lean_object* x_123; lean_dec(x_2); -x_123 = lean_ctor_get(x_116, 0); -lean_inc(x_123); -lean_dec(x_116); -x_124 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_124, 0, x_123); -lean_ctor_set(x_124, 1, x_3); +x_122 = lean_ctor_get(x_115, 0); +lean_inc(x_122); +lean_dec(x_115); +x_123 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_123, 0, x_122); +lean_ctor_set(x_123, 1, x_3); x_2 = x_66; -x_3 = x_124; +x_3 = x_123; goto _start; } case 3: { -lean_object* x_126; lean_object* x_127; +lean_object* x_125; lean_object* x_126; lean_dec(x_2); -x_126 = lean_ctor_get(x_116, 0); +x_125 = lean_ctor_get(x_115, 0); +lean_inc(x_125); +x_126 = lean_ctor_get(x_115, 1); lean_inc(x_126); -x_127 = lean_ctor_get(x_116, 1); -lean_inc(x_127); -lean_dec(x_116); -x_67 = x_126; -x_68 = x_127; -goto block_99; +lean_dec(x_115); +x_67 = x_125; +x_68 = x_126; +goto block_98; } default: { -lean_object* x_128; -lean_dec(x_116); +lean_object* x_127; +lean_dec(x_115); lean_dec(x_66); -x_128 = lean_box(0); -x_8 = x_128; +x_127 = lean_box(0); +x_8 = x_127; goto block_61; } } } -block_99: +block_98: { if (lean_obj_tag(x_3) == 5) { -lean_object* x_69; uint8_t x_70; +lean_object* x_69; lean_object* x_70; uint8_t x_71; x_69 = lean_ctor_get(x_3, 0); lean_inc(x_69); -x_70 = lean_name_eq(x_67, x_69); +x_70 = lean_ctor_get(x_67, 0); +lean_inc(x_70); +x_71 = lean_name_eq(x_70, x_69); lean_dec(x_69); -if (x_70 == 0) +lean_dec(x_70); +if (x_71 == 0) { lean_dec(x_68); lean_dec(x_67); @@ -6894,15 +6799,15 @@ goto _start; } else { -uint8_t x_72; -x_72 = !lean_is_exclusive(x_3); -if (x_72 == 0) +uint8_t x_73; +x_73 = !lean_is_exclusive(x_3); +if (x_73 == 0) { -lean_object* x_73; uint8_t x_74; lean_object* x_75; lean_object* x_76; -x_73 = lean_ctor_get(x_3, 0); -lean_dec(x_73); -x_74 = 1; -x_75 = l_Lean_Compiler_LCNF_eraseFVar(x_67, x_74, x_4, x_5, x_6, x_7); +lean_object* x_74; lean_object* x_75; lean_object* x_76; +x_74 = lean_ctor_get(x_3, 0); +lean_dec(x_74); +x_75 = l_Lean_Compiler_LCNF_eraseParam(x_67, x_4, x_5, x_6, x_7); +lean_dec(x_67); x_76 = lean_ctor_get(x_75, 1); lean_inc(x_76); lean_dec(x_75); @@ -6914,109 +6819,109 @@ goto _start; } else { -uint8_t x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; +lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_dec(x_3); -x_78 = 1; -x_79 = l_Lean_Compiler_LCNF_eraseFVar(x_67, x_78, x_4, x_5, x_6, x_7); -x_80 = lean_ctor_get(x_79, 1); -lean_inc(x_80); -lean_dec(x_79); -x_81 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_81, 0, x_68); +x_78 = l_Lean_Compiler_LCNF_eraseParam(x_67, x_4, x_5, x_6, x_7); +lean_dec(x_67); +x_79 = lean_ctor_get(x_78, 1); +lean_inc(x_79); +lean_dec(x_78); +x_80 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_80, 0, x_68); x_2 = x_66; -x_3 = x_81; -x_7 = x_80; +x_3 = x_80; +x_7 = x_79; goto _start; } } } else { -lean_object* x_83; lean_object* x_84; -x_83 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__11; +lean_object* x_82; lean_object* x_83; +x_82 = l_Lean_Compiler_LCNF_ToLCNF_bindCases_go___closed__11; lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_84 = l_Lean_Compiler_LCNF_mkAuxJpDecl_x27(x_67, x_3, x_83, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_84) == 0) +x_83 = l_Lean_Compiler_LCNF_mkAuxJpDecl_x27(x_67, x_3, x_82, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_83) == 0) { -lean_object* x_85; lean_object* x_86; lean_object* x_87; -x_85 = lean_ctor_get(x_84, 0); +lean_object* x_84; lean_object* x_85; lean_object* x_86; +x_84 = lean_ctor_get(x_83, 0); +lean_inc(x_84); +x_85 = lean_ctor_get(x_83, 1); lean_inc(x_85); -x_86 = lean_ctor_get(x_84, 1); -lean_inc(x_86); -lean_dec(x_84); +lean_dec(x_83); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_87 = l_Lean_Compiler_LCNF_ToLCNF_bindCases(x_85, x_68, x_4, x_5, x_6, x_86); -if (lean_obj_tag(x_87) == 0) +x_86 = l_Lean_Compiler_LCNF_ToLCNF_bindCases(x_84, x_68, x_4, x_5, x_6, x_85); +if (lean_obj_tag(x_86) == 0) { -lean_object* x_88; lean_object* x_89; -x_88 = lean_ctor_get(x_87, 0); +lean_object* x_87; lean_object* x_88; +x_87 = lean_ctor_get(x_86, 0); +lean_inc(x_87); +x_88 = lean_ctor_get(x_86, 1); lean_inc(x_88); -x_89 = lean_ctor_get(x_87, 1); -lean_inc(x_89); -lean_dec(x_87); +lean_dec(x_86); x_2 = x_66; -x_3 = x_88; -x_7 = x_89; +x_3 = x_87; +x_7 = x_88; goto _start; } else { -uint8_t x_91; +uint8_t x_90; lean_dec(x_66); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_91 = !lean_is_exclusive(x_87); -if (x_91 == 0) +x_90 = !lean_is_exclusive(x_86); +if (x_90 == 0) { -return x_87; +return x_86; } else { -lean_object* x_92; lean_object* x_93; lean_object* x_94; -x_92 = lean_ctor_get(x_87, 0); -x_93 = lean_ctor_get(x_87, 1); -lean_inc(x_93); +lean_object* x_91; lean_object* x_92; lean_object* x_93; +x_91 = lean_ctor_get(x_86, 0); +x_92 = lean_ctor_get(x_86, 1); lean_inc(x_92); -lean_dec(x_87); -x_94 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_94, 0, x_92); -lean_ctor_set(x_94, 1, x_93); -return x_94; +lean_inc(x_91); +lean_dec(x_86); +x_93 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_93, 0, x_91); +lean_ctor_set(x_93, 1, x_92); +return x_93; } } } else { -uint8_t x_95; +uint8_t x_94; lean_dec(x_68); lean_dec(x_66); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_95 = !lean_is_exclusive(x_84); -if (x_95 == 0) +x_94 = !lean_is_exclusive(x_83); +if (x_94 == 0) { -return x_84; +return x_83; } else { -lean_object* x_96; lean_object* x_97; lean_object* x_98; -x_96 = lean_ctor_get(x_84, 0); -x_97 = lean_ctor_get(x_84, 1); -lean_inc(x_97); +lean_object* x_95; lean_object* x_96; lean_object* x_97; +x_95 = lean_ctor_get(x_83, 0); +x_96 = lean_ctor_get(x_83, 1); lean_inc(x_96); -lean_dec(x_84); -x_98 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_98, 0, x_96); -lean_ctor_set(x_98, 1, x_97); -return x_98; +lean_inc(x_95); +lean_dec(x_83); +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; } } } @@ -7039,7 +6944,7 @@ lean_inc(x_10); x_11 = lean_ctor_get(x_9, 1); lean_inc(x_11); lean_dec(x_9); -x_12 = l_Lean_Compiler_LCNF_eraseFVarsAt(x_3, x_4, x_5, x_6, x_11); +x_12 = l_Lean_Compiler_LCNF_eraseCode(x_3, x_4, x_5, x_6, x_11); x_13 = !lean_is_exclusive(x_12); if (x_13 == 0) { @@ -7873,7 +7778,7 @@ return x_7; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_ToLCNF_mkUnreachable(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { -uint8_t x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; +uint8_t x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; x_7 = 0; x_8 = l_Lean_Compiler_LCNF_mkAuxParam(x_1, x_7, x_3, x_4, x_5, x_6); x_9 = lean_ctor_get(x_8, 0); @@ -7881,34 +7786,37 @@ lean_inc(x_9); x_10 = lean_ctor_get(x_8, 1); lean_inc(x_10); lean_dec(x_8); -x_11 = lean_ctor_get(x_9, 0); -lean_inc(x_11); -lean_dec(x_9); -lean_inc(x_11); -x_12 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_12, 0, x_11); -x_13 = l_Lean_Compiler_LCNF_ToLCNF_pushElement(x_12, x_2, x_3, x_4, x_5, x_10); -x_14 = !lean_is_exclusive(x_13); -if (x_14 == 0) +lean_inc(x_9); +x_11 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_11, 0, x_9); +x_12 = l_Lean_Compiler_LCNF_ToLCNF_pushElement(x_11, x_2, x_3, x_4, x_5, x_10); +x_13 = !lean_is_exclusive(x_12); +if (x_13 == 0) { -lean_object* x_15; lean_object* x_16; -x_15 = lean_ctor_get(x_13, 0); -lean_dec(x_15); -x_16 = l_Lean_Expr_fvar___override(x_11); -lean_ctor_set(x_13, 0, x_16); -return x_13; +lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_14 = lean_ctor_get(x_12, 0); +lean_dec(x_14); +x_15 = lean_ctor_get(x_9, 0); +lean_inc(x_15); +lean_dec(x_9); +x_16 = l_Lean_Expr_fvar___override(x_15); +lean_ctor_set(x_12, 0, x_16); +return x_12; } else { -lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_17 = lean_ctor_get(x_13, 1); +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_12, 1); lean_inc(x_17); -lean_dec(x_13); -x_18 = l_Lean_Expr_fvar___override(x_11); -x_19 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_19, 0, x_18); -lean_ctor_set(x_19, 1, x_17); -return x_19; +lean_dec(x_12); +x_18 = lean_ctor_get(x_9, 0); +lean_inc(x_18); +lean_dec(x_9); +x_19 = l_Lean_Expr_fvar___override(x_18); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_19); +lean_ctor_set(x_20, 1, x_17); +return x_20; } } } @@ -12412,7 +12320,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_Compiler_LCNF_ToLCNF_toLCNF_visitCore___lambda__2___closed__1; x_2 = l_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitCore___lambda__2___closed__2; -x_3 = lean_unsigned_to_nat(373u); +x_3 = lean_unsigned_to_nat(374u); x_4 = lean_unsigned_to_nat(23u); x_5 = l_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitCore___lambda__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -12459,7 +12367,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_Compiler_LCNF_ToLCNF_toLCNF_visitCore___lambda__2___closed__1; x_2 = l_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitCore___lambda__2___closed__2; -x_3 = lean_unsigned_to_nat(371u); +x_3 = lean_unsigned_to_nat(372u); x_4 = lean_unsigned_to_nat(23u); x_5 = l_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitCore___lambda__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -15822,7 +15730,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_Compiler_LCNF_ToLCNF_toLCNF_visitCore___lambda__2___closed__1; x_2 = l_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitProjFn___closed__1; -x_3 = lean_unsigned_to_nat(574u); +x_3 = lean_unsigned_to_nat(575u); x_4 = lean_unsigned_to_nat(45u); x_5 = l_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitCore___lambda__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -16389,7 +16297,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_Compiler_LCNF_ToLCNF_toLCNF_visitCore___lambda__2___closed__1; x_2 = l_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitNoConfusion___closed__1; -x_3 = lean_unsigned_to_nat(531u); +x_3 = lean_unsigned_to_nat(532u); x_4 = lean_unsigned_to_nat(42u); x_5 = l_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitCore___lambda__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -16402,7 +16310,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_Compiler_LCNF_ToLCNF_toLCNF_visitCore___lambda__2___closed__1; x_2 = l_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitNoConfusion___closed__1; -x_3 = lean_unsigned_to_nat(533u); +x_3 = lean_unsigned_to_nat(534u); x_4 = lean_unsigned_to_nat(56u); x_5 = l_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitCore___lambda__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -18112,7 +18020,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_Compiler_LCNF_ToLCNF_toLCNF_visitCore___lambda__2___closed__1; x_2 = l_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitCases___lambda__1___closed__1; -x_3 = lean_unsigned_to_nat(465u); +x_3 = lean_unsigned_to_nat(466u); x_4 = lean_unsigned_to_nat(55u); x_5 = l_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitCore___lambda__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -18128,7 +18036,7 @@ lean_inc(x_9); x_12 = l_Lean_Compiler_LCNF_ToLCNF_toLCNFType(x_6, x_7, x_8, x_9, x_10, x_11); if (lean_obj_tag(x_12) == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_80; +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_81; x_13 = lean_ctor_get(x_12, 0); lean_inc(x_13); x_14 = lean_ctor_get(x_12, 1); @@ -18137,25 +18045,25 @@ lean_dec(x_12); x_15 = lean_ctor_get(x_1, 3); lean_inc(x_15); x_16 = lean_array_get_size(x_2); -x_80 = lean_nat_dec_lt(x_15, x_16); -if (x_80 == 0) +x_81 = lean_nat_dec_lt(x_15, x_16); +if (x_81 == 0) { -lean_object* x_81; lean_object* x_82; +lean_object* x_82; lean_object* x_83; lean_dec(x_15); -x_81 = l_Lean_Compiler_LCNF_ToLCNF_seqToCode_go___closed__4; -x_82 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_81); -x_17 = x_82; -goto block_79; +x_82 = l_Lean_Compiler_LCNF_ToLCNF_seqToCode_go___closed__4; +x_83 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_82); +x_17 = x_83; +goto block_80; } else { -lean_object* x_83; -x_83 = lean_array_fget(x_2, x_15); +lean_object* x_84; +x_84 = lean_array_fget(x_2, x_15); lean_dec(x_15); -x_17 = x_83; -goto block_79; +x_17 = x_84; +goto block_80; } -block_79: +block_80: { lean_object* x_18; lean_inc(x_10); @@ -18224,7 +18132,7 @@ lean_dec(x_36); lean_dec(x_34); if (lean_obj_tag(x_37) == 0) { -lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; uint8_t x_53; +lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; x_38 = lean_ctor_get(x_37, 0); lean_inc(x_38); x_39 = lean_ctor_get(x_38, 1); @@ -18255,29 +18163,29 @@ lean_inc(x_48); x_49 = lean_ctor_get(x_47, 1); lean_inc(x_49); lean_dec(x_47); -x_50 = lean_ctor_get(x_48, 0); -lean_inc(x_50); -lean_dec(x_48); -lean_inc(x_50); -x_51 = lean_alloc_ctor(3, 2, 0); -lean_ctor_set(x_51, 0, x_50); -lean_ctor_set(x_51, 1, x_45); -x_52 = l_Lean_Compiler_LCNF_ToLCNF_pushElement(x_51, x_7, x_8, x_9, x_10, x_49); -x_53 = !lean_is_exclusive(x_52); -if (x_53 == 0) +lean_inc(x_48); +x_50 = lean_alloc_ctor(3, 2, 0); +lean_ctor_set(x_50, 0, x_48); +lean_ctor_set(x_50, 1, x_45); +x_51 = l_Lean_Compiler_LCNF_ToLCNF_pushElement(x_50, x_7, x_8, x_9, x_10, x_49); +x_52 = !lean_is_exclusive(x_51); +if (x_52 == 0) { -lean_object* x_54; lean_object* x_55; lean_object* x_56; uint8_t x_57; -x_54 = lean_ctor_get(x_52, 1); -x_55 = lean_ctor_get(x_52, 0); -lean_dec(x_55); -x_56 = l_Lean_Expr_fvar___override(x_50); +lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; uint8_t x_57; +x_53 = lean_ctor_get(x_51, 1); +x_54 = lean_ctor_get(x_51, 0); +lean_dec(x_54); +x_55 = lean_ctor_get(x_48, 0); +lean_inc(x_55); +lean_dec(x_48); +x_56 = l_Lean_Expr_fvar___override(x_55); x_57 = lean_nat_dec_eq(x_16, x_5); lean_dec(x_16); if (x_57 == 0) { lean_object* x_58; -lean_free_object(x_52); -x_58 = l_Lean_Compiler_LCNF_ToLCNF_toLCNF_mkOverApplication(x_56, x_2, x_5, x_7, x_8, x_9, x_10, x_54); +lean_free_object(x_51); +x_58 = l_Lean_Compiler_LCNF_ToLCNF_toLCNF_mkOverApplication(x_56, x_2, x_5, x_7, x_8, x_9, x_10, x_53); return x_58; } else @@ -18288,44 +18196,47 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_5); lean_dec(x_2); -lean_ctor_set(x_52, 0, x_56); -return x_52; +lean_ctor_set(x_51, 0, x_56); +return x_51; } } else { -lean_object* x_59; lean_object* x_60; uint8_t x_61; -x_59 = lean_ctor_get(x_52, 1); +lean_object* x_59; lean_object* x_60; lean_object* x_61; uint8_t x_62; +x_59 = lean_ctor_get(x_51, 1); lean_inc(x_59); -lean_dec(x_52); -x_60 = l_Lean_Expr_fvar___override(x_50); -x_61 = lean_nat_dec_eq(x_16, x_5); +lean_dec(x_51); +x_60 = lean_ctor_get(x_48, 0); +lean_inc(x_60); +lean_dec(x_48); +x_61 = l_Lean_Expr_fvar___override(x_60); +x_62 = lean_nat_dec_eq(x_16, x_5); lean_dec(x_16); -if (x_61 == 0) -{ -lean_object* x_62; -x_62 = l_Lean_Compiler_LCNF_ToLCNF_toLCNF_mkOverApplication(x_60, x_2, x_5, x_7, x_8, x_9, x_10, x_59); -return x_62; -} -else +if (x_62 == 0) { lean_object* x_63; +x_63 = l_Lean_Compiler_LCNF_ToLCNF_toLCNF_mkOverApplication(x_61, x_2, x_5, x_7, x_8, x_9, x_10, x_59); +return x_63; +} +else +{ +lean_object* x_64; lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_5); lean_dec(x_2); -x_63 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_63, 0, x_60); -lean_ctor_set(x_63, 1, x_59); -return x_63; +x_64 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_64, 0, x_61); +lean_ctor_set(x_64, 1, x_59); +return x_64; } } } else { -uint8_t x_64; +uint8_t x_65; lean_dec(x_19); lean_dec(x_16); lean_dec(x_10); @@ -18335,29 +18246,29 @@ lean_dec(x_7); lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); -x_64 = !lean_is_exclusive(x_37); -if (x_64 == 0) +x_65 = !lean_is_exclusive(x_37); +if (x_65 == 0) { return x_37; } else { -lean_object* x_65; lean_object* x_66; lean_object* x_67; -x_65 = lean_ctor_get(x_37, 0); -x_66 = lean_ctor_get(x_37, 1); +lean_object* x_66; lean_object* x_67; lean_object* x_68; +x_66 = lean_ctor_get(x_37, 0); +x_67 = lean_ctor_get(x_37, 1); +lean_inc(x_67); lean_inc(x_66); -lean_inc(x_65); lean_dec(x_37); -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; +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_68; lean_object* x_69; lean_object* x_70; +lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_dec(x_22); lean_dec(x_19); lean_dec(x_16); @@ -18367,17 +18278,17 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_68 = lean_ctor_get(x_21, 1); -lean_inc(x_68); +x_69 = lean_ctor_get(x_21, 1); +lean_inc(x_69); lean_dec(x_21); -x_69 = l_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitCases___lambda__1___closed__2; -x_70 = l_panic___at_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitCore___spec__5(x_69, x_7, x_8, x_9, x_10, x_68); -return x_70; +x_70 = l_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitCases___lambda__1___closed__2; +x_71 = l_panic___at_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitCore___spec__5(x_70, x_7, x_8, x_9, x_10, x_69); +return x_71; } } else { -uint8_t x_71; +uint8_t x_72; lean_dec(x_19); lean_dec(x_16); lean_dec(x_13); @@ -18390,29 +18301,29 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_71 = !lean_is_exclusive(x_21); -if (x_71 == 0) +x_72 = !lean_is_exclusive(x_21); +if (x_72 == 0) { return x_21; } else { -lean_object* x_72; lean_object* x_73; lean_object* x_74; -x_72 = lean_ctor_get(x_21, 0); -x_73 = lean_ctor_get(x_21, 1); +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_inc(x_72); lean_dec(x_21); -x_74 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_74, 0, x_72); -lean_ctor_set(x_74, 1, x_73); -return x_74; +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; } } } else { -uint8_t x_75; +uint8_t x_76; lean_dec(x_16); lean_dec(x_13); lean_dec(x_10); @@ -18424,30 +18335,30 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_75 = !lean_is_exclusive(x_18); -if (x_75 == 0) +x_76 = !lean_is_exclusive(x_18); +if (x_76 == 0) { return x_18; } else { -lean_object* x_76; lean_object* x_77; lean_object* x_78; -x_76 = lean_ctor_get(x_18, 0); -x_77 = lean_ctor_get(x_18, 1); +lean_object* x_77; lean_object* x_78; lean_object* x_79; +x_77 = lean_ctor_get(x_18, 0); +x_78 = lean_ctor_get(x_18, 1); +lean_inc(x_78); lean_inc(x_77); -lean_inc(x_76); lean_dec(x_18); -x_78 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_78, 0, x_76); -lean_ctor_set(x_78, 1, x_77); -return x_78; +x_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; } } } } else { -uint8_t x_84; +uint8_t x_85; lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -18457,23 +18368,23 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_84 = !lean_is_exclusive(x_12); -if (x_84 == 0) +x_85 = !lean_is_exclusive(x_12); +if (x_85 == 0) { return x_12; } else { -lean_object* x_85; lean_object* x_86; lean_object* x_87; -x_85 = lean_ctor_get(x_12, 0); -x_86 = lean_ctor_get(x_12, 1); +lean_object* x_86; lean_object* x_87; lean_object* x_88; +x_86 = lean_ctor_get(x_12, 0); +x_87 = lean_ctor_get(x_12, 1); +lean_inc(x_87); lean_inc(x_86); -lean_inc(x_85); lean_dec(x_12); -x_87 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_87, 0, x_85); -lean_ctor_set(x_87, 1, x_86); -return x_87; +x_88 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_88, 0, x_86); +lean_ctor_set(x_88, 1, x_87); +return x_88; } } } @@ -20192,7 +20103,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_Compiler_LCNF_ToLCNF_toLCNF_visitCore___lambda__2___closed__1; x_2 = l_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitQuotLift___lambda__1___closed__1; -x_3 = lean_unsigned_to_nat(492u); +x_3 = lean_unsigned_to_nat(493u); x_4 = lean_unsigned_to_nat(42u); x_5 = l_Lean_Compiler_LCNF_ToLCNF_toLCNF_visitCore___lambda__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Compiler/LCNF/Util.c b/stage0/stdlib/Lean/Compiler/LCNF/Util.c index 689a8d6baf..73638d6d66 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/Util.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/Util.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Compiler.LCNF.Util -// Imports: Init Lean.CoreM Lean.Util.Recognizers +// Imports: Init Lean.CoreM Lean.MonadEnv Lean.Util.Recognizers #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -608,7 +608,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_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_getCasesInfo_x3f___spec__2___closed__1; x_2 = l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_getCasesInfo_x3f___spec__2___closed__2; -x_3 = lean_unsigned_to_nat(56u); +x_3 = lean_unsigned_to_nat(57u); x_4 = lean_unsigned_to_nat(48u); x_5 = l_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_getCasesInfo_x3f___spec__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -1115,7 +1115,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_Array_mapMUnsafe_map___at_Lean_Compiler_LCNF_getCasesInfo_x3f___spec__2___closed__1; x_2 = l_Lean_Compiler_LCNF_isCasesApp_x3f___closed__4; -x_3 = lean_unsigned_to_nat(63u); +x_3 = lean_unsigned_to_nat(64u); x_4 = lean_unsigned_to_nat(4u); x_5 = l_Lean_Compiler_LCNF_isCasesApp_x3f___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -1908,6 +1908,7 @@ return x_3; } lean_object* initialize_Init(uint8_t builtin, lean_object*); lean_object* initialize_Lean_CoreM(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_MonadEnv(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Util_Recognizers(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Compiler_LCNF_Util(uint8_t builtin, lean_object* w) { @@ -1920,6 +1921,9 @@ lean_dec_ref(res); res = initialize_Lean_CoreM(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_MonadEnv(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); res = initialize_Lean_Util_Recognizers(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/CoreM.c b/stage0/stdlib/Lean/CoreM.c index 15c091adcf..37b29614cf 100644 --- a/stage0/stdlib/Lean/CoreM.c +++ b/stage0/stdlib/Lean/CoreM.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.CoreM -// Imports: Init Lean.Util.RecDepth Lean.Util.Trace Lean.Log Lean.Data.Options Lean.Environment Lean.Exception Lean.InternalExceptionId Lean.Eval Lean.MonadEnv Lean.ResolveName Lean.Elab.InfoTree.Types +// Imports: Init Lean.Util.RecDepth Lean.Util.Trace Lean.Log Lean.Eval Lean.ResolveName Lean.Elab.InfoTree.Types #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -8256,12 +8256,7 @@ lean_object* initialize_Init(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Util_RecDepth(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Util_Trace(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Log(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Data_Options(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Environment(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Exception(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_InternalExceptionId(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Eval(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_MonadEnv(uint8_t builtin, lean_object*); lean_object* initialize_Lean_ResolveName(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_InfoTree_Types(uint8_t builtin, lean_object*); static bool _G_initialized = false; @@ -8281,24 +8276,9 @@ lean_dec_ref(res); res = initialize_Lean_Log(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Data_Options(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Environment(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Exception(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_InternalExceptionId(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Eval(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_MonadEnv(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_ResolveName(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Data.c b/stage0/stdlib/Lean/Data.c index 02691a1949..a06b329155 100644 --- a/stage0/stdlib/Lean/Data.c +++ b/stage0/stdlib/Lean/Data.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Data -// Imports: Init Lean.Data.AssocList Lean.Data.Format Lean.Data.HashMap Lean.Data.HashSet Lean.Data.Json Lean.Data.JsonRpc Lean.Data.KVMap Lean.Data.LBool Lean.Data.LOption Lean.Data.Lsp Lean.Data.Name Lean.Data.Occurrences Lean.Data.OpenDecl Lean.Data.Options Lean.Data.Parsec Lean.Data.PersistentArray Lean.Data.PersistentHashMap Lean.Data.PersistentHashSet Lean.Data.Position Lean.Data.PrefixTree Lean.Data.SMap Lean.Data.Trie Lean.Data.Xml Lean.Data.NameTrie Lean.Data.RBTree Lean.Data.RBMap Lean.Data.Rat +// Imports: Init Lean.Data.AssocList Lean.Data.Format Lean.Data.HashMap Lean.Data.HashSet Lean.Data.Json Lean.Data.JsonRpc Lean.Data.KVMap Lean.Data.LBool Lean.Data.LOption Lean.Data.Lsp Lean.Data.Name Lean.Data.NameMap Lean.Data.Occurrences Lean.Data.OpenDecl Lean.Data.Options Lean.Data.Parsec Lean.Data.PersistentArray Lean.Data.PersistentHashMap Lean.Data.PersistentHashSet Lean.Data.Position Lean.Data.PrefixTree Lean.Data.SMap Lean.Data.Trie Lean.Data.Xml Lean.Data.NameTrie Lean.Data.RBTree Lean.Data.RBMap Lean.Data.Rat #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -25,6 +25,7 @@ lean_object* initialize_Lean_Data_LBool(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Data_LOption(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Data_Lsp(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Data_Name(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Data_NameMap(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Data_Occurrences(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Data_OpenDecl(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Data_Options(uint8_t builtin, lean_object*); @@ -82,6 +83,9 @@ lean_dec_ref(res); res = initialize_Lean_Data_Name(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Data_NameMap(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); res = initialize_Lean_Data_Occurrences(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Data/Json/FromToJson.c b/stage0/stdlib/Lean/Data/Json/FromToJson.c index 461935a280..646bf338ac 100644 --- a/stage0/stdlib/Lean/Data/Json/FromToJson.c +++ b/stage0/stdlib/Lean/Data/Json/FromToJson.c @@ -2128,7 +2128,6 @@ else lean_object* x_8; lean_object* x_9; lean_object* x_10; x_8 = lean_array_uget(x_2, x_4); x_9 = l_Lean_Name_getString_x21(x_8); -lean_dec(x_8); x_10 = l_Lean_Json_getObjVal_x3f(x_1, x_9); lean_dec(x_9); if (lean_obj_tag(x_10) == 0) diff --git a/stage0/stdlib/Lean/Data/Name.c b/stage0/stdlib/Lean/Data/Name.c index 1938155599..24c8e1230d 100644 --- a/stage0/stdlib/Lean/Data/Name.c +++ b/stage0/stdlib/Lean/Data/Name.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Data.Name -// Imports: Init Lean.Data.HashSet Lean.Data.RBMap Lean.Data.RBTree Lean.Data.SSet +// Imports: Init #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -16,203 +16,72 @@ extern "C" { LEAN_EXPORT lean_object* l_Lean_Name_isAtomic___boxed(lean_object*); lean_object* l_List_reverse___rarg(lean_object*); lean_object* l_Lean_Name_mkSimple(lean_object*); -size_t lean_usize_add(size_t, size_t); static lean_object* l_Lean_Name_getString_x21___closed__3; -LEAN_EXPORT lean_object* l_Lean_NameSSet_empty; -static lean_object* l_Lean_NameMap_instForInNameMapProdName___closed__2; +extern lean_object* l_String_instInhabitedString; lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); uint8_t lean_uint64_dec_eq(uint64_t, uint64_t); -LEAN_EXPORT lean_object* l_Std_RBNode_insert___at_Lean_NameSet_insert___spec__1(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_NameSet_contains___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_NameSet_instInhabitedNameSet; LEAN_EXPORT lean_object* l_Lean_Name_hasLtQuick; -LEAN_EXPORT lean_object* l_Lean_NameMap_find_x3f___rarg(lean_object*, lean_object*); -lean_object* lean_array_uget(lean_object*, size_t); -LEAN_EXPORT uint8_t l_Std_HashSetImp_contains___at_Lean_NameHashSet_contains___spec__1(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameMap_find_x3f___spec__1___rarg___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_NameSSet_insert___spec__6(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_PersistentHashMap_contains___at_Lean_NameSSet_contains___spec__3___boxed(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Name_quickLt(lean_object*, lean_object*); -lean_object* l_Std_RBMap_instForInRBMapProd___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Name_isInternal___boxed(lean_object*); -static lean_object* l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__3; -LEAN_EXPORT uint8_t l_Lean_MacroScopesView_isPrefixOf(lean_object*, lean_object*); -lean_object* lean_array_uset(lean_object*, size_t, lean_object*); LEAN_EXPORT uint8_t l_Lean_Name_cmp(lean_object*, lean_object*); static lean_object* l_String_toName___closed__1; -LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_NameSSet_empty___spec__2___boxed(lean_object*); -size_t lean_usize_sub(size_t, size_t); -LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_replace___at_Lean_NameHashSet_insert___spec__6(lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Data_HashMap_0__Std_numBucketsForCapacity(lean_object*); LEAN_EXPORT lean_object* l_Lean_Name_quickLt___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux_traverse___at_Lean_NameSSet_insert___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Name_updatePrefix(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_HashSetImp_expand___at_Lean_NameHashSet_insert___spec__3(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Name_isAnonymous___boxed(lean_object*); -lean_object* lean_array_push(lean_object*, lean_object*); -lean_object* lean_array_get_size(lean_object*); -lean_object* l_Std_PersistentHashMap_getCollisionNodeSize___rarg(lean_object*); -LEAN_EXPORT lean_object* l_Std_HashMapImp_contains___at_Lean_NameSSet_contains___spec__2___boxed(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Name_isPrefixOf(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_HashSetImp_moveEntries___at_Lean_NameHashSet_insert___spec__4(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldl___at_String_toName___spec__1(lean_object*, lean_object*); -lean_object* l_Std_mkHashSetImp___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_Name_lt___boxed(lean_object*, lean_object*); -size_t lean_usize_shift_right(size_t, size_t); lean_object* l_String_splitOn(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Name_isStr___boxed(lean_object*); -LEAN_EXPORT lean_object* l_Std_PersistentHashMap_containsAtAux___at_Lean_NameSSet_contains___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT uint8_t l_Lean_NameMap_contains___rarg(lean_object*, lean_object*); -static lean_object* l_Lean_NameMap_instForInNameMapProdName___closed__1; -LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3(lean_object*, size_t, size_t, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_NameSSet_contains___boxed(lean_object*, lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_foldl___at_Lean_NameHashSet_insert___spec__5(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_NameSSet_insert(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_NameSet_instEmptyCollectionNameSet; static lean_object* l_Lean_instCoeStringName___closed__1; -size_t lean_uint64_to_usize(uint64_t); -LEAN_EXPORT lean_object* l_Std_PersistentHashMap_containsAux___at_Lean_NameSSet_contains___spec__4___boxed(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT uint8_t l_Std_PersistentHashMap_containsAux___at_Lean_NameSSet_contains___spec__4(lean_object*, size_t, lean_object*); -LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux_traverse___at_Lean_NameSSet_insert___spec__4(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_NameMap_insert___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Std_RBTree_forIn___boxed(lean_object*, lean_object*, lean_object*, lean_object*); uint64_t l_Lean_Name_hash___override(lean_object*); -lean_object* l_Std_RBNode_setBlack___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_Name_quickCmpAux___boxed(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Name_eqStr(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_NameMap_find_x3f___rarg___boxed(lean_object*, lean_object*); -lean_object* lean_array_fget(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameMap_find_x3f___spec__1___rarg(lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Name_instDecidableRelNameLtHasLtQuick___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_String_toName(lean_object*); -static lean_object* l_Lean_NameSet_instForInNameSetName___closed__1; -LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insert___at_Lean_NameSSet_insert___spec__2(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_MacroScopesView_isSuffixOf___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_NameHashSet_instEmptyCollectionNameHashSet; -LEAN_EXPORT uint8_t l_Lean_NameSSet_contains(lean_object*, lean_object*); -static lean_object* l_Lean_NameHashSet_instEmptyCollectionNameHashSet___closed__1; -LEAN_EXPORT lean_object* l_Lean_NameSSet_instInhabitedNameSSet; LEAN_EXPORT lean_object* l_Lean_Name_components_x27(lean_object*); -LEAN_EXPORT lean_object* l_Lean_NameHashSet_empty; -LEAN_EXPORT lean_object* l_Lean_NameMap_contains(lean_object*); -LEAN_EXPORT lean_object* l_Lean_NameHashSet_contains___boxed(lean_object*, lean_object*); -LEAN_EXPORT uint8_t l_Std_HashMapImp_contains___at_Lean_NameSSet_contains___spec__2(lean_object*, lean_object*); lean_object* l_Lean_Name_num___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Name_hashEx___boxed(lean_object*); -lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint64_t lean_name_hash_exported(lean_object*); -lean_object* l_panic___at_Lean_TSyntax_getString___spec__1(lean_object*); -LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_NameSSet_insert___spec__7(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameSet_contains___spec__1___boxed(lean_object*, lean_object*); -lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Name_isInternal(lean_object*); -lean_object* l_Std_mkHashMapImp___rarg(lean_object*); -LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameSet_contains___spec__1(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_NameMap_insert(lean_object*); -LEAN_EXPORT uint8_t l_List_beq___at_Lean_MacroScopesView_isPrefixOf___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldl___at_String_toName___spec__1___boxed(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Name_quickCmp(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_RBNode_insert___at_Lean_NameMap_insert___spec__1___rarg(lean_object*, lean_object*, lean_object*); uint8_t l___private_Init_Data_Ord_0__beqOrdering____x40_Init_Data_Ord___hyg_14_(uint8_t, uint8_t); LEAN_EXPORT lean_object* l_Lean_Name_eqStr___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameMap_contains___spec__1___rarg___boxed(lean_object*, lean_object*); uint8_t lean_uint64_dec_lt(uint64_t, uint64_t); -lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_AssocList_replace___at_Lean_NameSSet_insert___spec__11(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_replace___at_Lean_NameHashSet_insert___spec__6___boxed(lean_object*, lean_object*, lean_object*); -size_t lean_usize_shift_left(size_t, size_t); LEAN_EXPORT uint8_t l_Lean_Name_isAtomic(lean_object*); uint32_t lean_string_utf8_get(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Name_getNumParts(lean_object*); -LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_NameSSet_insert___spec__7___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameMap_contains___spec__1(lean_object*); -size_t lean_usize_modn(size_t, lean_object*); -LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_NameSSet_insert___spec__9(lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -size_t lean_usize_mul(size_t, size_t); -LEAN_EXPORT lean_object* l_Lean_NameMap_find_x3f(lean_object*); -LEAN_EXPORT uint8_t l_Lean_MacroScopesView_isSuffixOf(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Name_quickCmpAux(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_HashSetImp_insert___at_Lean_NameHashSet_insert___spec__1(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_MacroScopesView_isPrefixOf___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_NameSet_empty; -LEAN_EXPORT lean_object* l_List_elem___at_Lean_NameHashSet_insert___spec__2___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Name_cmp___boxed(lean_object*, lean_object*); -size_t lean_usize_land(size_t, size_t); -LEAN_EXPORT lean_object* l_List_beq___at_Lean_MacroScopesView_isPrefixOf___spec__1___boxed(lean_object*, lean_object*); -static lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__3; -LEAN_EXPORT uint8_t l_Lean_SMap_contains___at_Lean_NameSSet_contains___spec__1(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_RBNode_insert___at_Lean_NameMap_insert___spec__1(lean_object*); -LEAN_EXPORT uint8_t l_List_elem___at_Lean_NameHashSet_insert___spec__2(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_NameMap_contains___rarg___boxed(lean_object*, lean_object*); -static size_t l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__1; uint8_t lean_uint32_dec_eq(uint32_t, uint32_t); LEAN_EXPORT lean_object* l_Lean_Name_getString_x21(lean_object*); -LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_NameSSet_empty___spec__2(lean_object*); LEAN_EXPORT uint8_t l_Lean_Name_isStr(lean_object*); LEAN_EXPORT uint8_t l_Lean_Name_lt(lean_object*, lean_object*); -static size_t l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__2; LEAN_EXPORT lean_object* l_Lean_Name_getNumParts___boxed(lean_object*); -LEAN_EXPORT lean_object* l_Lean_SMap_contains___at_Lean_NameSSet_contains___spec__1___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1; -uint8_t lean_nat_dec_le(lean_object*, lean_object*); -uint8_t lean_usize_dec_le(size_t, size_t); -uint8_t l_Std_RBNode_isRed___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_Name_getPrefix___boxed(lean_object*); -LEAN_EXPORT lean_object* l_Lean_NameHashSet_insert(lean_object*, lean_object*); -LEAN_EXPORT uint8_t l_Lean_NameHashSet_contains(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Name_isSuffixOf(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Name_isAnonymous(lean_object*); -LEAN_EXPORT lean_object* l_Lean_NameHashSet_instInhabitedNameHashSet; LEAN_EXPORT uint8_t l_Lean_Name_isNum(lean_object*); -LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2(lean_object*); LEAN_EXPORT uint8_t l_Lean_Name_instDecidableRelNameLtHasLtQuick(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Name_isSuffixOf___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_NameSSet_insert___spec__8(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameMap_contains___spec__1___rarg(lean_object*, lean_object*); -lean_object* lean_nat_mul(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Name_getPrefix(lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3(lean_object*); +lean_object* lean_panic_fn(lean_object*, lean_object*); lean_object* l_String_trim(lean_object*); static lean_object* l_Lean_Name_getString_x21___closed__2; LEAN_EXPORT lean_object* l_Lean_Name_quickCmp___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_NameSet_instForInNameSetName(lean_object*); -static lean_object* l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__1; static lean_object* l_Lean_Name_getString_x21___closed__1; -lean_object* lean_mk_array(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Name_getString_x21___boxed(lean_object*); -LEAN_EXPORT lean_object* l_Lean_NameMap_instInhabitedNameMap(lean_object*); LEAN_EXPORT lean_object* l_Lean_Name_isNum___boxed(lean_object*); -LEAN_EXPORT lean_object* l_Lean_NameMap_instForInNameMapProdName(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_mkHashSet___at_Lean_NameHashSet_empty___spec__1(lean_object*); -LEAN_EXPORT uint8_t l_Lean_NameSet_contains(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Name_isPrefixOf___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_NameSet_insert(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_HashSetImp_contains___at_Lean_NameHashSet_contains___spec__1___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameMap_find_x3f___spec__1(lean_object*); -LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Name_getString_x21___closed__4; -LEAN_EXPORT lean_object* l_Lean_NameSSet_instEmptyCollectionNameSSet; -LEAN_EXPORT lean_object* l_Lean_mkNameMap(lean_object*); -lean_object* lean_usize_to_nat(size_t); -LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_NameSSet_insert___spec__5(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_SMap_insert___at_Lean_NameSSet_insert___spec__1(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT uint8_t l_Std_PersistentHashMap_contains___at_Lean_NameSSet_contains___spec__3(lean_object*, lean_object*); -static lean_object* l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__2; -lean_object* l_Std_PersistentHashMap_mkEmptyEntries(lean_object*, lean_object*); -LEAN_EXPORT uint8_t l_Std_PersistentHashMap_containsAtAux___at_Lean_NameSSet_contains___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_panic___at_Lean_Name_getString_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Name_components(lean_object*); -LEAN_EXPORT lean_object* l_Lean_NameMap_instEmptyCollectionNameMap(lean_object*); uint8_t lean_string_dec_lt(lean_object*, lean_object*); -lean_object* l_Std_PersistentHashMap_mkCollisionNode___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_NameSSet_insert___spec__10(lean_object*, lean_object*); uint8_t lean_string_dec_eq(lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_instCoeStringName; @@ -277,6 +146,15 @@ lean_dec(x_1); return x_2; } } +LEAN_EXPORT lean_object* l_panic___at_Lean_Name_getString_x21___spec__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = l_String_instInhabitedString; +x_3 = lean_panic_fn(x_2, x_1); +return x_3; +} +} static lean_object* _init_l_Lean_Name_getString_x21___closed__1() { _start: { @@ -307,7 +185,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_Name_getString_x21___closed__1; x_2 = l_Lean_Name_getString_x21___closed__2; -x_3 = lean_unsigned_to_nat(26u); +x_3 = lean_unsigned_to_nat(22u); x_4 = lean_unsigned_to_nat(15u); x_5 = l_Lean_Name_getString_x21___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -322,26 +200,19 @@ if (lean_obj_tag(x_1) == 1) lean_object* x_2; x_2 = lean_ctor_get(x_1, 1); lean_inc(x_2); +lean_dec(x_1); return x_2; } else { lean_object* x_3; lean_object* x_4; +lean_dec(x_1); x_3 = l_Lean_Name_getString_x21___closed__4; -x_4 = l_panic___at_Lean_TSyntax_getString___spec__1(x_3); +x_4 = l_panic___at_Lean_Name_getString_x21___spec__1(x_3); return x_4; } } } -LEAN_EXPORT lean_object* l_Lean_Name_getString_x21___boxed(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = l_Lean_Name_getString_x21(x_1); -lean_dec(x_1); -return x_2; -} -} LEAN_EXPORT lean_object* l_Lean_Name_getNumParts(lean_object* x_1) { _start: { @@ -1172,9734 +1043,6 @@ x_3 = lean_box(x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_mkNameMap(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_box(0); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Lean_NameMap_instEmptyCollectionNameMap(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_box(0); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Lean_NameMap_instInhabitedNameMap(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_box(0); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_4; uint8_t x_5; lean_object* x_6; -x_4 = lean_box(0); -x_5 = 0; -x_6 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_6, 0, x_4); -lean_ctor_set(x_6, 1, x_2); -lean_ctor_set(x_6, 2, x_3); -lean_ctor_set(x_6, 3, x_4); -lean_ctor_set_uint8(x_6, sizeof(void*)*4, x_5); -return x_6; -} -else -{ -uint8_t x_7; -x_7 = lean_ctor_get_uint8(x_1, sizeof(void*)*4); -if (x_7 == 0) -{ -uint8_t x_8; -x_8 = !lean_is_exclusive(x_1); -if (x_8 == 0) -{ -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; -x_9 = lean_ctor_get(x_1, 0); -x_10 = lean_ctor_get(x_1, 1); -x_11 = lean_ctor_get(x_1, 2); -x_12 = lean_ctor_get(x_1, 3); -x_13 = l_Lean_Name_quickCmp(x_2, x_10); -switch (x_13) { -case 0: -{ -lean_object* x_14; uint8_t x_15; -x_14 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_9, x_2, x_3); -x_15 = 0; -lean_ctor_set(x_1, 0, x_14); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_15); -return x_1; -} -case 1: -{ -uint8_t x_16; -lean_dec(x_11); -lean_dec(x_10); -x_16 = 0; -lean_ctor_set(x_1, 2, x_3); -lean_ctor_set(x_1, 1, x_2); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_16); -return x_1; -} -default: -{ -lean_object* x_17; uint8_t x_18; -x_17 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_12, x_2, x_3); -x_18 = 0; -lean_ctor_set(x_1, 3, x_17); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_18); -return x_1; -} -} -} -else -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; -x_19 = lean_ctor_get(x_1, 0); -x_20 = lean_ctor_get(x_1, 1); -x_21 = lean_ctor_get(x_1, 2); -x_22 = lean_ctor_get(x_1, 3); -lean_inc(x_22); -lean_inc(x_21); -lean_inc(x_20); -lean_inc(x_19); -lean_dec(x_1); -x_23 = l_Lean_Name_quickCmp(x_2, x_20); -switch (x_23) { -case 0: -{ -lean_object* x_24; uint8_t x_25; lean_object* x_26; -x_24 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_19, x_2, x_3); -x_25 = 0; -x_26 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_20); -lean_ctor_set(x_26, 2, x_21); -lean_ctor_set(x_26, 3, x_22); -lean_ctor_set_uint8(x_26, sizeof(void*)*4, x_25); -return x_26; -} -case 1: -{ -uint8_t x_27; lean_object* x_28; -lean_dec(x_21); -lean_dec(x_20); -x_27 = 0; -x_28 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_28, 0, x_19); -lean_ctor_set(x_28, 1, x_2); -lean_ctor_set(x_28, 2, x_3); -lean_ctor_set(x_28, 3, x_22); -lean_ctor_set_uint8(x_28, sizeof(void*)*4, x_27); -return x_28; -} -default: -{ -lean_object* x_29; uint8_t x_30; lean_object* x_31; -x_29 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_22, x_2, x_3); -x_30 = 0; -x_31 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_31, 0, x_19); -lean_ctor_set(x_31, 1, x_20); -lean_ctor_set(x_31, 2, x_21); -lean_ctor_set(x_31, 3, x_29); -lean_ctor_set_uint8(x_31, sizeof(void*)*4, x_30); -return x_31; -} -} -} -} -else -{ -uint8_t x_32; -x_32 = !lean_is_exclusive(x_1); -if (x_32 == 0) -{ -lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; -x_33 = lean_ctor_get(x_1, 0); -x_34 = lean_ctor_get(x_1, 1); -x_35 = lean_ctor_get(x_1, 2); -x_36 = lean_ctor_get(x_1, 3); -x_37 = l_Lean_Name_quickCmp(x_2, x_34); -switch (x_37) { -case 0: -{ -uint8_t x_38; -x_38 = l_Std_RBNode_isRed___rarg(x_33); -if (x_38 == 0) -{ -lean_object* x_39; uint8_t x_40; -x_39 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_33, x_2, x_3); -x_40 = 1; -lean_ctor_set(x_1, 0, x_39); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_40); -return x_1; -} -else -{ -lean_object* x_41; lean_object* x_42; -x_41 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_33, x_2, x_3); -x_42 = lean_ctor_get(x_41, 0); -lean_inc(x_42); -if (lean_obj_tag(x_42) == 0) -{ -lean_object* x_43; -x_43 = lean_ctor_get(x_41, 3); -lean_inc(x_43); -if (lean_obj_tag(x_43) == 0) -{ -uint8_t x_44; -x_44 = !lean_is_exclusive(x_41); -if (x_44 == 0) -{ -lean_object* x_45; lean_object* x_46; uint8_t x_47; uint8_t x_48; -x_45 = lean_ctor_get(x_41, 3); -lean_dec(x_45); -x_46 = lean_ctor_get(x_41, 0); -lean_dec(x_46); -x_47 = 0; -lean_ctor_set(x_41, 0, x_43); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_47); -x_48 = 1; -lean_ctor_set(x_1, 0, x_41); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_48); -return x_1; -} -else -{ -lean_object* x_49; lean_object* x_50; uint8_t x_51; lean_object* x_52; uint8_t x_53; -x_49 = lean_ctor_get(x_41, 1); -x_50 = lean_ctor_get(x_41, 2); -lean_inc(x_50); -lean_inc(x_49); -lean_dec(x_41); -x_51 = 0; -x_52 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_52, 0, x_43); -lean_ctor_set(x_52, 1, x_49); -lean_ctor_set(x_52, 2, x_50); -lean_ctor_set(x_52, 3, x_43); -lean_ctor_set_uint8(x_52, sizeof(void*)*4, x_51); -x_53 = 1; -lean_ctor_set(x_1, 0, x_52); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_53); -return x_1; -} -} -else -{ -uint8_t x_54; -x_54 = lean_ctor_get_uint8(x_43, sizeof(void*)*4); -if (x_54 == 0) -{ -uint8_t x_55; -x_55 = !lean_is_exclusive(x_41); -if (x_55 == 0) -{ -lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60; -x_56 = lean_ctor_get(x_41, 1); -x_57 = lean_ctor_get(x_41, 2); -x_58 = lean_ctor_get(x_41, 3); -lean_dec(x_58); -x_59 = lean_ctor_get(x_41, 0); -lean_dec(x_59); -x_60 = !lean_is_exclusive(x_43); -if (x_60 == 0) -{ -lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; uint8_t x_65; uint8_t x_66; -x_61 = lean_ctor_get(x_43, 0); -x_62 = lean_ctor_get(x_43, 1); -x_63 = lean_ctor_get(x_43, 2); -x_64 = lean_ctor_get(x_43, 3); -x_65 = 1; -lean_ctor_set(x_43, 3, x_61); -lean_ctor_set(x_43, 2, x_57); -lean_ctor_set(x_43, 1, x_56); -lean_ctor_set(x_43, 0, x_42); -lean_ctor_set_uint8(x_43, sizeof(void*)*4, x_65); -lean_ctor_set(x_41, 3, x_36); -lean_ctor_set(x_41, 2, x_35); -lean_ctor_set(x_41, 1, x_34); -lean_ctor_set(x_41, 0, x_64); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_65); -x_66 = 0; -lean_ctor_set(x_1, 3, x_41); -lean_ctor_set(x_1, 2, x_63); -lean_ctor_set(x_1, 1, x_62); -lean_ctor_set(x_1, 0, x_43); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_66); -return x_1; -} -else -{ -lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71; lean_object* x_72; uint8_t x_73; -x_67 = lean_ctor_get(x_43, 0); -x_68 = lean_ctor_get(x_43, 1); -x_69 = lean_ctor_get(x_43, 2); -x_70 = lean_ctor_get(x_43, 3); -lean_inc(x_70); -lean_inc(x_69); -lean_inc(x_68); -lean_inc(x_67); -lean_dec(x_43); -x_71 = 1; -x_72 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_72, 0, x_42); -lean_ctor_set(x_72, 1, x_56); -lean_ctor_set(x_72, 2, x_57); -lean_ctor_set(x_72, 3, x_67); -lean_ctor_set_uint8(x_72, sizeof(void*)*4, x_71); -lean_ctor_set(x_41, 3, x_36); -lean_ctor_set(x_41, 2, x_35); -lean_ctor_set(x_41, 1, x_34); -lean_ctor_set(x_41, 0, x_70); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_71); -x_73 = 0; -lean_ctor_set(x_1, 3, x_41); -lean_ctor_set(x_1, 2, x_69); -lean_ctor_set(x_1, 1, x_68); -lean_ctor_set(x_1, 0, x_72); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_73); -return x_1; -} -} -else -{ -lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; uint8_t x_81; lean_object* x_82; lean_object* x_83; uint8_t x_84; -x_74 = lean_ctor_get(x_41, 1); -x_75 = lean_ctor_get(x_41, 2); -lean_inc(x_75); -lean_inc(x_74); -lean_dec(x_41); -x_76 = lean_ctor_get(x_43, 0); -lean_inc(x_76); -x_77 = lean_ctor_get(x_43, 1); -lean_inc(x_77); -x_78 = lean_ctor_get(x_43, 2); -lean_inc(x_78); -x_79 = lean_ctor_get(x_43, 3); -lean_inc(x_79); -if (lean_is_exclusive(x_43)) { - lean_ctor_release(x_43, 0); - lean_ctor_release(x_43, 1); - lean_ctor_release(x_43, 2); - lean_ctor_release(x_43, 3); - x_80 = x_43; -} else { - lean_dec_ref(x_43); - x_80 = lean_box(0); -} -x_81 = 1; -if (lean_is_scalar(x_80)) { - x_82 = lean_alloc_ctor(1, 4, 1); -} else { - x_82 = x_80; -} -lean_ctor_set(x_82, 0, x_42); -lean_ctor_set(x_82, 1, x_74); -lean_ctor_set(x_82, 2, x_75); -lean_ctor_set(x_82, 3, x_76); -lean_ctor_set_uint8(x_82, sizeof(void*)*4, x_81); -x_83 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_83, 0, x_79); -lean_ctor_set(x_83, 1, x_34); -lean_ctor_set(x_83, 2, x_35); -lean_ctor_set(x_83, 3, x_36); -lean_ctor_set_uint8(x_83, sizeof(void*)*4, x_81); -x_84 = 0; -lean_ctor_set(x_1, 3, x_83); -lean_ctor_set(x_1, 2, x_78); -lean_ctor_set(x_1, 1, x_77); -lean_ctor_set(x_1, 0, x_82); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_84); -return x_1; -} -} -else -{ -uint8_t x_85; -x_85 = !lean_is_exclusive(x_41); -if (x_85 == 0) -{ -lean_object* x_86; lean_object* x_87; uint8_t x_88; uint8_t x_89; -x_86 = lean_ctor_get(x_41, 3); -lean_dec(x_86); -x_87 = lean_ctor_get(x_41, 0); -lean_dec(x_87); -x_88 = 0; -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_88); -x_89 = 1; -lean_ctor_set(x_1, 0, x_41); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_89); -return x_1; -} -else -{ -lean_object* x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93; uint8_t x_94; -x_90 = lean_ctor_get(x_41, 1); -x_91 = lean_ctor_get(x_41, 2); -lean_inc(x_91); -lean_inc(x_90); -lean_dec(x_41); -x_92 = 0; -x_93 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_93, 0, x_42); -lean_ctor_set(x_93, 1, x_90); -lean_ctor_set(x_93, 2, x_91); -lean_ctor_set(x_93, 3, x_43); -lean_ctor_set_uint8(x_93, sizeof(void*)*4, x_92); -x_94 = 1; -lean_ctor_set(x_1, 0, x_93); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_94); -return x_1; -} -} -} -} -else -{ -uint8_t x_95; -x_95 = lean_ctor_get_uint8(x_42, sizeof(void*)*4); -if (x_95 == 0) -{ -uint8_t x_96; -x_96 = !lean_is_exclusive(x_41); -if (x_96 == 0) -{ -lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; uint8_t x_101; -x_97 = lean_ctor_get(x_41, 1); -x_98 = lean_ctor_get(x_41, 2); -x_99 = lean_ctor_get(x_41, 3); -x_100 = lean_ctor_get(x_41, 0); -lean_dec(x_100); -x_101 = !lean_is_exclusive(x_42); -if (x_101 == 0) -{ -uint8_t x_102; uint8_t x_103; -x_102 = 1; -lean_ctor_set_uint8(x_42, sizeof(void*)*4, x_102); -lean_ctor_set(x_41, 3, x_36); -lean_ctor_set(x_41, 2, x_35); -lean_ctor_set(x_41, 1, x_34); -lean_ctor_set(x_41, 0, x_99); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_102); -x_103 = 0; -lean_ctor_set(x_1, 3, x_41); -lean_ctor_set(x_1, 2, x_98); -lean_ctor_set(x_1, 1, x_97); -lean_ctor_set(x_1, 0, x_42); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_103); -return x_1; -} -else -{ -lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; uint8_t x_108; lean_object* x_109; uint8_t x_110; -x_104 = lean_ctor_get(x_42, 0); -x_105 = lean_ctor_get(x_42, 1); -x_106 = lean_ctor_get(x_42, 2); -x_107 = lean_ctor_get(x_42, 3); -lean_inc(x_107); -lean_inc(x_106); -lean_inc(x_105); -lean_inc(x_104); -lean_dec(x_42); -x_108 = 1; -x_109 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_109, 0, x_104); -lean_ctor_set(x_109, 1, x_105); -lean_ctor_set(x_109, 2, x_106); -lean_ctor_set(x_109, 3, x_107); -lean_ctor_set_uint8(x_109, sizeof(void*)*4, x_108); -lean_ctor_set(x_41, 3, x_36); -lean_ctor_set(x_41, 2, x_35); -lean_ctor_set(x_41, 1, x_34); -lean_ctor_set(x_41, 0, x_99); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_108); -x_110 = 0; -lean_ctor_set(x_1, 3, x_41); -lean_ctor_set(x_1, 2, x_98); -lean_ctor_set(x_1, 1, x_97); -lean_ctor_set(x_1, 0, x_109); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_110); -return x_1; -} -} -else -{ -lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; uint8_t x_119; lean_object* x_120; lean_object* x_121; uint8_t x_122; -x_111 = lean_ctor_get(x_41, 1); -x_112 = lean_ctor_get(x_41, 2); -x_113 = lean_ctor_get(x_41, 3); -lean_inc(x_113); -lean_inc(x_112); -lean_inc(x_111); -lean_dec(x_41); -x_114 = lean_ctor_get(x_42, 0); -lean_inc(x_114); -x_115 = lean_ctor_get(x_42, 1); -lean_inc(x_115); -x_116 = lean_ctor_get(x_42, 2); -lean_inc(x_116); -x_117 = lean_ctor_get(x_42, 3); -lean_inc(x_117); -if (lean_is_exclusive(x_42)) { - lean_ctor_release(x_42, 0); - lean_ctor_release(x_42, 1); - lean_ctor_release(x_42, 2); - lean_ctor_release(x_42, 3); - x_118 = x_42; -} else { - lean_dec_ref(x_42); - x_118 = lean_box(0); -} -x_119 = 1; -if (lean_is_scalar(x_118)) { - x_120 = lean_alloc_ctor(1, 4, 1); -} else { - x_120 = x_118; -} -lean_ctor_set(x_120, 0, x_114); -lean_ctor_set(x_120, 1, x_115); -lean_ctor_set(x_120, 2, x_116); -lean_ctor_set(x_120, 3, x_117); -lean_ctor_set_uint8(x_120, sizeof(void*)*4, x_119); -x_121 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_121, 0, x_113); -lean_ctor_set(x_121, 1, x_34); -lean_ctor_set(x_121, 2, x_35); -lean_ctor_set(x_121, 3, x_36); -lean_ctor_set_uint8(x_121, sizeof(void*)*4, x_119); -x_122 = 0; -lean_ctor_set(x_1, 3, x_121); -lean_ctor_set(x_1, 2, x_112); -lean_ctor_set(x_1, 1, x_111); -lean_ctor_set(x_1, 0, x_120); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_122); -return x_1; -} -} -else -{ -lean_object* x_123; -x_123 = lean_ctor_get(x_41, 3); -lean_inc(x_123); -if (lean_obj_tag(x_123) == 0) -{ -uint8_t x_124; -x_124 = !lean_is_exclusive(x_41); -if (x_124 == 0) -{ -lean_object* x_125; lean_object* x_126; uint8_t x_127; uint8_t x_128; -x_125 = lean_ctor_get(x_41, 3); -lean_dec(x_125); -x_126 = lean_ctor_get(x_41, 0); -lean_dec(x_126); -x_127 = 0; -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_127); -x_128 = 1; -lean_ctor_set(x_1, 0, x_41); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_128); -return x_1; -} -else -{ -lean_object* x_129; lean_object* x_130; uint8_t x_131; lean_object* x_132; uint8_t x_133; -x_129 = lean_ctor_get(x_41, 1); -x_130 = lean_ctor_get(x_41, 2); -lean_inc(x_130); -lean_inc(x_129); -lean_dec(x_41); -x_131 = 0; -x_132 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_132, 0, x_42); -lean_ctor_set(x_132, 1, x_129); -lean_ctor_set(x_132, 2, x_130); -lean_ctor_set(x_132, 3, x_123); -lean_ctor_set_uint8(x_132, sizeof(void*)*4, x_131); -x_133 = 1; -lean_ctor_set(x_1, 0, x_132); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_133); -return x_1; -} -} -else -{ -uint8_t x_134; -x_134 = lean_ctor_get_uint8(x_123, sizeof(void*)*4); -if (x_134 == 0) -{ -uint8_t x_135; -lean_free_object(x_1); -x_135 = !lean_is_exclusive(x_41); -if (x_135 == 0) -{ -lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; uint8_t x_140; -x_136 = lean_ctor_get(x_41, 1); -x_137 = lean_ctor_get(x_41, 2); -x_138 = lean_ctor_get(x_41, 3); -lean_dec(x_138); -x_139 = lean_ctor_get(x_41, 0); -lean_dec(x_139); -x_140 = !lean_is_exclusive(x_123); -if (x_140 == 0) -{ -lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; uint8_t x_145; uint8_t x_146; -x_141 = lean_ctor_get(x_123, 0); -x_142 = lean_ctor_get(x_123, 1); -x_143 = lean_ctor_get(x_123, 2); -x_144 = lean_ctor_get(x_123, 3); -x_145 = 1; -lean_inc(x_42); -lean_ctor_set(x_123, 3, x_141); -lean_ctor_set(x_123, 2, x_137); -lean_ctor_set(x_123, 1, x_136); -lean_ctor_set(x_123, 0, x_42); -x_146 = !lean_is_exclusive(x_42); -if (x_146 == 0) -{ -lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; uint8_t x_151; -x_147 = lean_ctor_get(x_42, 3); -lean_dec(x_147); -x_148 = lean_ctor_get(x_42, 2); -lean_dec(x_148); -x_149 = lean_ctor_get(x_42, 1); -lean_dec(x_149); -x_150 = lean_ctor_get(x_42, 0); -lean_dec(x_150); -lean_ctor_set_uint8(x_123, sizeof(void*)*4, x_145); -lean_ctor_set(x_42, 3, x_36); -lean_ctor_set(x_42, 2, x_35); -lean_ctor_set(x_42, 1, x_34); -lean_ctor_set(x_42, 0, x_144); -lean_ctor_set_uint8(x_42, sizeof(void*)*4, x_145); -x_151 = 0; -lean_ctor_set(x_41, 3, x_42); -lean_ctor_set(x_41, 2, x_143); -lean_ctor_set(x_41, 1, x_142); -lean_ctor_set(x_41, 0, x_123); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_151); -return x_41; -} -else -{ -lean_object* x_152; uint8_t x_153; -lean_dec(x_42); -lean_ctor_set_uint8(x_123, sizeof(void*)*4, x_145); -x_152 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_152, 0, x_144); -lean_ctor_set(x_152, 1, x_34); -lean_ctor_set(x_152, 2, x_35); -lean_ctor_set(x_152, 3, x_36); -lean_ctor_set_uint8(x_152, sizeof(void*)*4, x_145); -x_153 = 0; -lean_ctor_set(x_41, 3, x_152); -lean_ctor_set(x_41, 2, x_143); -lean_ctor_set(x_41, 1, x_142); -lean_ctor_set(x_41, 0, x_123); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_153); -return x_41; -} -} -else -{ -lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; uint8_t x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; uint8_t x_162; -x_154 = lean_ctor_get(x_123, 0); -x_155 = lean_ctor_get(x_123, 1); -x_156 = lean_ctor_get(x_123, 2); -x_157 = lean_ctor_get(x_123, 3); -lean_inc(x_157); -lean_inc(x_156); -lean_inc(x_155); -lean_inc(x_154); -lean_dec(x_123); -x_158 = 1; -lean_inc(x_42); -x_159 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_159, 0, x_42); -lean_ctor_set(x_159, 1, x_136); -lean_ctor_set(x_159, 2, x_137); -lean_ctor_set(x_159, 3, x_154); -if (lean_is_exclusive(x_42)) { - lean_ctor_release(x_42, 0); - lean_ctor_release(x_42, 1); - lean_ctor_release(x_42, 2); - lean_ctor_release(x_42, 3); - x_160 = x_42; -} else { - lean_dec_ref(x_42); - x_160 = lean_box(0); -} -lean_ctor_set_uint8(x_159, sizeof(void*)*4, x_158); -if (lean_is_scalar(x_160)) { - x_161 = lean_alloc_ctor(1, 4, 1); -} else { - x_161 = x_160; -} -lean_ctor_set(x_161, 0, x_157); -lean_ctor_set(x_161, 1, x_34); -lean_ctor_set(x_161, 2, x_35); -lean_ctor_set(x_161, 3, x_36); -lean_ctor_set_uint8(x_161, sizeof(void*)*4, x_158); -x_162 = 0; -lean_ctor_set(x_41, 3, x_161); -lean_ctor_set(x_41, 2, x_156); -lean_ctor_set(x_41, 1, x_155); -lean_ctor_set(x_41, 0, x_159); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_162); -return x_41; -} -} -else -{ -lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; uint8_t x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; uint8_t x_174; lean_object* x_175; -x_163 = lean_ctor_get(x_41, 1); -x_164 = lean_ctor_get(x_41, 2); -lean_inc(x_164); -lean_inc(x_163); -lean_dec(x_41); -x_165 = lean_ctor_get(x_123, 0); -lean_inc(x_165); -x_166 = lean_ctor_get(x_123, 1); -lean_inc(x_166); -x_167 = lean_ctor_get(x_123, 2); -lean_inc(x_167); -x_168 = lean_ctor_get(x_123, 3); -lean_inc(x_168); -if (lean_is_exclusive(x_123)) { - lean_ctor_release(x_123, 0); - lean_ctor_release(x_123, 1); - lean_ctor_release(x_123, 2); - lean_ctor_release(x_123, 3); - x_169 = x_123; -} else { - lean_dec_ref(x_123); - x_169 = lean_box(0); -} -x_170 = 1; -lean_inc(x_42); -if (lean_is_scalar(x_169)) { - x_171 = lean_alloc_ctor(1, 4, 1); -} else { - x_171 = x_169; -} -lean_ctor_set(x_171, 0, x_42); -lean_ctor_set(x_171, 1, x_163); -lean_ctor_set(x_171, 2, x_164); -lean_ctor_set(x_171, 3, x_165); -if (lean_is_exclusive(x_42)) { - lean_ctor_release(x_42, 0); - lean_ctor_release(x_42, 1); - lean_ctor_release(x_42, 2); - lean_ctor_release(x_42, 3); - x_172 = x_42; -} else { - lean_dec_ref(x_42); - x_172 = lean_box(0); -} -lean_ctor_set_uint8(x_171, sizeof(void*)*4, x_170); -if (lean_is_scalar(x_172)) { - x_173 = lean_alloc_ctor(1, 4, 1); -} else { - x_173 = x_172; -} -lean_ctor_set(x_173, 0, x_168); -lean_ctor_set(x_173, 1, x_34); -lean_ctor_set(x_173, 2, x_35); -lean_ctor_set(x_173, 3, x_36); -lean_ctor_set_uint8(x_173, sizeof(void*)*4, x_170); -x_174 = 0; -x_175 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_175, 0, x_171); -lean_ctor_set(x_175, 1, x_166); -lean_ctor_set(x_175, 2, x_167); -lean_ctor_set(x_175, 3, x_173); -lean_ctor_set_uint8(x_175, sizeof(void*)*4, x_174); -return x_175; -} -} -else -{ -uint8_t x_176; -x_176 = !lean_is_exclusive(x_41); -if (x_176 == 0) -{ -lean_object* x_177; lean_object* x_178; uint8_t x_179; -x_177 = lean_ctor_get(x_41, 3); -lean_dec(x_177); -x_178 = lean_ctor_get(x_41, 0); -lean_dec(x_178); -x_179 = !lean_is_exclusive(x_42); -if (x_179 == 0) -{ -uint8_t x_180; uint8_t x_181; -lean_ctor_set_uint8(x_42, sizeof(void*)*4, x_134); -x_180 = 0; -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_180); -x_181 = 1; -lean_ctor_set(x_1, 0, x_41); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_181); -return x_1; -} -else -{ -lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; uint8_t x_187; uint8_t x_188; -x_182 = lean_ctor_get(x_42, 0); -x_183 = lean_ctor_get(x_42, 1); -x_184 = lean_ctor_get(x_42, 2); -x_185 = lean_ctor_get(x_42, 3); -lean_inc(x_185); -lean_inc(x_184); -lean_inc(x_183); -lean_inc(x_182); -lean_dec(x_42); -x_186 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_186, 0, x_182); -lean_ctor_set(x_186, 1, x_183); -lean_ctor_set(x_186, 2, x_184); -lean_ctor_set(x_186, 3, x_185); -lean_ctor_set_uint8(x_186, sizeof(void*)*4, x_134); -x_187 = 0; -lean_ctor_set(x_41, 0, x_186); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_187); -x_188 = 1; -lean_ctor_set(x_1, 0, x_41); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_188); -return x_1; -} -} -else -{ -lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; uint8_t x_197; lean_object* x_198; uint8_t x_199; -x_189 = lean_ctor_get(x_41, 1); -x_190 = lean_ctor_get(x_41, 2); -lean_inc(x_190); -lean_inc(x_189); -lean_dec(x_41); -x_191 = lean_ctor_get(x_42, 0); -lean_inc(x_191); -x_192 = lean_ctor_get(x_42, 1); -lean_inc(x_192); -x_193 = lean_ctor_get(x_42, 2); -lean_inc(x_193); -x_194 = lean_ctor_get(x_42, 3); -lean_inc(x_194); -if (lean_is_exclusive(x_42)) { - lean_ctor_release(x_42, 0); - lean_ctor_release(x_42, 1); - lean_ctor_release(x_42, 2); - lean_ctor_release(x_42, 3); - x_195 = x_42; -} else { - lean_dec_ref(x_42); - x_195 = lean_box(0); -} -if (lean_is_scalar(x_195)) { - x_196 = lean_alloc_ctor(1, 4, 1); -} else { - x_196 = x_195; -} -lean_ctor_set(x_196, 0, x_191); -lean_ctor_set(x_196, 1, x_192); -lean_ctor_set(x_196, 2, x_193); -lean_ctor_set(x_196, 3, x_194); -lean_ctor_set_uint8(x_196, sizeof(void*)*4, x_134); -x_197 = 0; -x_198 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_198, 0, x_196); -lean_ctor_set(x_198, 1, x_189); -lean_ctor_set(x_198, 2, x_190); -lean_ctor_set(x_198, 3, x_123); -lean_ctor_set_uint8(x_198, sizeof(void*)*4, x_197); -x_199 = 1; -lean_ctor_set(x_1, 0, x_198); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_199); -return x_1; -} -} -} -} -} -} -} -case 1: -{ -uint8_t x_200; -lean_dec(x_35); -lean_dec(x_34); -x_200 = 1; -lean_ctor_set(x_1, 2, x_3); -lean_ctor_set(x_1, 1, x_2); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_200); -return x_1; -} -default: -{ -uint8_t x_201; -x_201 = l_Std_RBNode_isRed___rarg(x_36); -if (x_201 == 0) -{ -lean_object* x_202; uint8_t x_203; -x_202 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_36, x_2, x_3); -x_203 = 1; -lean_ctor_set(x_1, 3, x_202); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_203); -return x_1; -} -else -{ -lean_object* x_204; lean_object* x_205; -x_204 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_36, x_2, x_3); -x_205 = lean_ctor_get(x_204, 0); -lean_inc(x_205); -if (lean_obj_tag(x_205) == 0) -{ -lean_object* x_206; -x_206 = lean_ctor_get(x_204, 3); -lean_inc(x_206); -if (lean_obj_tag(x_206) == 0) -{ -uint8_t x_207; -x_207 = !lean_is_exclusive(x_204); -if (x_207 == 0) -{ -lean_object* x_208; lean_object* x_209; uint8_t x_210; uint8_t x_211; -x_208 = lean_ctor_get(x_204, 3); -lean_dec(x_208); -x_209 = lean_ctor_get(x_204, 0); -lean_dec(x_209); -x_210 = 0; -lean_ctor_set(x_204, 0, x_206); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_210); -x_211 = 1; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_211); -return x_1; -} -else -{ -lean_object* x_212; lean_object* x_213; uint8_t x_214; lean_object* x_215; uint8_t x_216; -x_212 = lean_ctor_get(x_204, 1); -x_213 = lean_ctor_get(x_204, 2); -lean_inc(x_213); -lean_inc(x_212); -lean_dec(x_204); -x_214 = 0; -x_215 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_215, 0, x_206); -lean_ctor_set(x_215, 1, x_212); -lean_ctor_set(x_215, 2, x_213); -lean_ctor_set(x_215, 3, x_206); -lean_ctor_set_uint8(x_215, sizeof(void*)*4, x_214); -x_216 = 1; -lean_ctor_set(x_1, 3, x_215); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_216); -return x_1; -} -} -else -{ -uint8_t x_217; -x_217 = lean_ctor_get_uint8(x_206, sizeof(void*)*4); -if (x_217 == 0) -{ -uint8_t x_218; -x_218 = !lean_is_exclusive(x_204); -if (x_218 == 0) -{ -lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; uint8_t x_223; -x_219 = lean_ctor_get(x_204, 1); -x_220 = lean_ctor_get(x_204, 2); -x_221 = lean_ctor_get(x_204, 3); -lean_dec(x_221); -x_222 = lean_ctor_get(x_204, 0); -lean_dec(x_222); -x_223 = !lean_is_exclusive(x_206); -if (x_223 == 0) -{ -lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; uint8_t x_228; uint8_t x_229; -x_224 = lean_ctor_get(x_206, 0); -x_225 = lean_ctor_get(x_206, 1); -x_226 = lean_ctor_get(x_206, 2); -x_227 = lean_ctor_get(x_206, 3); -x_228 = 1; -lean_ctor_set(x_206, 3, x_205); -lean_ctor_set(x_206, 2, x_35); -lean_ctor_set(x_206, 1, x_34); -lean_ctor_set(x_206, 0, x_33); -lean_ctor_set_uint8(x_206, sizeof(void*)*4, x_228); -lean_ctor_set(x_204, 3, x_227); -lean_ctor_set(x_204, 2, x_226); -lean_ctor_set(x_204, 1, x_225); -lean_ctor_set(x_204, 0, x_224); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_228); -x_229 = 0; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set(x_1, 2, x_220); -lean_ctor_set(x_1, 1, x_219); -lean_ctor_set(x_1, 0, x_206); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_229); -return x_1; -} -else -{ -lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; uint8_t x_234; lean_object* x_235; uint8_t x_236; -x_230 = lean_ctor_get(x_206, 0); -x_231 = lean_ctor_get(x_206, 1); -x_232 = lean_ctor_get(x_206, 2); -x_233 = lean_ctor_get(x_206, 3); -lean_inc(x_233); -lean_inc(x_232); -lean_inc(x_231); -lean_inc(x_230); -lean_dec(x_206); -x_234 = 1; -x_235 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_235, 0, x_33); -lean_ctor_set(x_235, 1, x_34); -lean_ctor_set(x_235, 2, x_35); -lean_ctor_set(x_235, 3, x_205); -lean_ctor_set_uint8(x_235, sizeof(void*)*4, x_234); -lean_ctor_set(x_204, 3, x_233); -lean_ctor_set(x_204, 2, x_232); -lean_ctor_set(x_204, 1, x_231); -lean_ctor_set(x_204, 0, x_230); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_234); -x_236 = 0; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set(x_1, 2, x_220); -lean_ctor_set(x_1, 1, x_219); -lean_ctor_set(x_1, 0, x_235); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_236); -return x_1; -} -} -else -{ -lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; uint8_t x_244; lean_object* x_245; lean_object* x_246; uint8_t x_247; -x_237 = lean_ctor_get(x_204, 1); -x_238 = lean_ctor_get(x_204, 2); -lean_inc(x_238); -lean_inc(x_237); -lean_dec(x_204); -x_239 = lean_ctor_get(x_206, 0); -lean_inc(x_239); -x_240 = lean_ctor_get(x_206, 1); -lean_inc(x_240); -x_241 = lean_ctor_get(x_206, 2); -lean_inc(x_241); -x_242 = lean_ctor_get(x_206, 3); -lean_inc(x_242); -if (lean_is_exclusive(x_206)) { - lean_ctor_release(x_206, 0); - lean_ctor_release(x_206, 1); - lean_ctor_release(x_206, 2); - lean_ctor_release(x_206, 3); - x_243 = x_206; -} else { - lean_dec_ref(x_206); - x_243 = lean_box(0); -} -x_244 = 1; -if (lean_is_scalar(x_243)) { - x_245 = lean_alloc_ctor(1, 4, 1); -} else { - x_245 = x_243; -} -lean_ctor_set(x_245, 0, x_33); -lean_ctor_set(x_245, 1, x_34); -lean_ctor_set(x_245, 2, x_35); -lean_ctor_set(x_245, 3, x_205); -lean_ctor_set_uint8(x_245, sizeof(void*)*4, x_244); -x_246 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_246, 0, x_239); -lean_ctor_set(x_246, 1, x_240); -lean_ctor_set(x_246, 2, x_241); -lean_ctor_set(x_246, 3, x_242); -lean_ctor_set_uint8(x_246, sizeof(void*)*4, x_244); -x_247 = 0; -lean_ctor_set(x_1, 3, x_246); -lean_ctor_set(x_1, 2, x_238); -lean_ctor_set(x_1, 1, x_237); -lean_ctor_set(x_1, 0, x_245); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_247); -return x_1; -} -} -else -{ -uint8_t x_248; -x_248 = !lean_is_exclusive(x_204); -if (x_248 == 0) -{ -lean_object* x_249; lean_object* x_250; uint8_t x_251; uint8_t x_252; -x_249 = lean_ctor_get(x_204, 3); -lean_dec(x_249); -x_250 = lean_ctor_get(x_204, 0); -lean_dec(x_250); -x_251 = 0; -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_251); -x_252 = 1; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_252); -return x_1; -} -else -{ -lean_object* x_253; lean_object* x_254; uint8_t x_255; lean_object* x_256; uint8_t x_257; -x_253 = lean_ctor_get(x_204, 1); -x_254 = lean_ctor_get(x_204, 2); -lean_inc(x_254); -lean_inc(x_253); -lean_dec(x_204); -x_255 = 0; -x_256 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_256, 0, x_205); -lean_ctor_set(x_256, 1, x_253); -lean_ctor_set(x_256, 2, x_254); -lean_ctor_set(x_256, 3, x_206); -lean_ctor_set_uint8(x_256, sizeof(void*)*4, x_255); -x_257 = 1; -lean_ctor_set(x_1, 3, x_256); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_257); -return x_1; -} -} -} -} -else -{ -uint8_t x_258; -x_258 = lean_ctor_get_uint8(x_205, sizeof(void*)*4); -if (x_258 == 0) -{ -uint8_t x_259; -x_259 = !lean_is_exclusive(x_204); -if (x_259 == 0) -{ -lean_object* x_260; uint8_t x_261; -x_260 = lean_ctor_get(x_204, 0); -lean_dec(x_260); -x_261 = !lean_is_exclusive(x_205); -if (x_261 == 0) -{ -lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; uint8_t x_266; uint8_t x_267; -x_262 = lean_ctor_get(x_205, 0); -x_263 = lean_ctor_get(x_205, 1); -x_264 = lean_ctor_get(x_205, 2); -x_265 = lean_ctor_get(x_205, 3); -x_266 = 1; -lean_ctor_set(x_205, 3, x_262); -lean_ctor_set(x_205, 2, x_35); -lean_ctor_set(x_205, 1, x_34); -lean_ctor_set(x_205, 0, x_33); -lean_ctor_set_uint8(x_205, sizeof(void*)*4, x_266); -lean_ctor_set(x_204, 0, x_265); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_266); -x_267 = 0; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set(x_1, 2, x_264); -lean_ctor_set(x_1, 1, x_263); -lean_ctor_set(x_1, 0, x_205); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_267); -return x_1; -} -else -{ -lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; uint8_t x_272; lean_object* x_273; uint8_t x_274; -x_268 = lean_ctor_get(x_205, 0); -x_269 = lean_ctor_get(x_205, 1); -x_270 = lean_ctor_get(x_205, 2); -x_271 = lean_ctor_get(x_205, 3); -lean_inc(x_271); -lean_inc(x_270); -lean_inc(x_269); -lean_inc(x_268); -lean_dec(x_205); -x_272 = 1; -x_273 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_273, 0, x_33); -lean_ctor_set(x_273, 1, x_34); -lean_ctor_set(x_273, 2, x_35); -lean_ctor_set(x_273, 3, x_268); -lean_ctor_set_uint8(x_273, sizeof(void*)*4, x_272); -lean_ctor_set(x_204, 0, x_271); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_272); -x_274 = 0; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set(x_1, 2, x_270); -lean_ctor_set(x_1, 1, x_269); -lean_ctor_set(x_1, 0, x_273); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_274); -return x_1; -} -} -else -{ -lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; uint8_t x_283; lean_object* x_284; lean_object* x_285; uint8_t x_286; -x_275 = lean_ctor_get(x_204, 1); -x_276 = lean_ctor_get(x_204, 2); -x_277 = lean_ctor_get(x_204, 3); -lean_inc(x_277); -lean_inc(x_276); -lean_inc(x_275); -lean_dec(x_204); -x_278 = lean_ctor_get(x_205, 0); -lean_inc(x_278); -x_279 = lean_ctor_get(x_205, 1); -lean_inc(x_279); -x_280 = lean_ctor_get(x_205, 2); -lean_inc(x_280); -x_281 = lean_ctor_get(x_205, 3); -lean_inc(x_281); -if (lean_is_exclusive(x_205)) { - lean_ctor_release(x_205, 0); - lean_ctor_release(x_205, 1); - lean_ctor_release(x_205, 2); - lean_ctor_release(x_205, 3); - x_282 = x_205; -} else { - lean_dec_ref(x_205); - x_282 = lean_box(0); -} -x_283 = 1; -if (lean_is_scalar(x_282)) { - x_284 = lean_alloc_ctor(1, 4, 1); -} else { - x_284 = x_282; -} -lean_ctor_set(x_284, 0, x_33); -lean_ctor_set(x_284, 1, x_34); -lean_ctor_set(x_284, 2, x_35); -lean_ctor_set(x_284, 3, x_278); -lean_ctor_set_uint8(x_284, sizeof(void*)*4, x_283); -x_285 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_285, 0, x_281); -lean_ctor_set(x_285, 1, x_275); -lean_ctor_set(x_285, 2, x_276); -lean_ctor_set(x_285, 3, x_277); -lean_ctor_set_uint8(x_285, sizeof(void*)*4, x_283); -x_286 = 0; -lean_ctor_set(x_1, 3, x_285); -lean_ctor_set(x_1, 2, x_280); -lean_ctor_set(x_1, 1, x_279); -lean_ctor_set(x_1, 0, x_284); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_286); -return x_1; -} -} -else -{ -lean_object* x_287; -x_287 = lean_ctor_get(x_204, 3); -lean_inc(x_287); -if (lean_obj_tag(x_287) == 0) -{ -uint8_t x_288; -x_288 = !lean_is_exclusive(x_204); -if (x_288 == 0) -{ -lean_object* x_289; lean_object* x_290; uint8_t x_291; uint8_t x_292; -x_289 = lean_ctor_get(x_204, 3); -lean_dec(x_289); -x_290 = lean_ctor_get(x_204, 0); -lean_dec(x_290); -x_291 = 0; -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_291); -x_292 = 1; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_292); -return x_1; -} -else -{ -lean_object* x_293; lean_object* x_294; uint8_t x_295; lean_object* x_296; uint8_t x_297; -x_293 = lean_ctor_get(x_204, 1); -x_294 = lean_ctor_get(x_204, 2); -lean_inc(x_294); -lean_inc(x_293); -lean_dec(x_204); -x_295 = 0; -x_296 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_296, 0, x_205); -lean_ctor_set(x_296, 1, x_293); -lean_ctor_set(x_296, 2, x_294); -lean_ctor_set(x_296, 3, x_287); -lean_ctor_set_uint8(x_296, sizeof(void*)*4, x_295); -x_297 = 1; -lean_ctor_set(x_1, 3, x_296); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_297); -return x_1; -} -} -else -{ -uint8_t x_298; -x_298 = lean_ctor_get_uint8(x_287, sizeof(void*)*4); -if (x_298 == 0) -{ -uint8_t x_299; -lean_free_object(x_1); -x_299 = !lean_is_exclusive(x_204); -if (x_299 == 0) -{ -lean_object* x_300; lean_object* x_301; uint8_t x_302; -x_300 = lean_ctor_get(x_204, 3); -lean_dec(x_300); -x_301 = lean_ctor_get(x_204, 0); -lean_dec(x_301); -x_302 = !lean_is_exclusive(x_287); -if (x_302 == 0) -{ -lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; uint8_t x_307; uint8_t x_308; -x_303 = lean_ctor_get(x_287, 0); -x_304 = lean_ctor_get(x_287, 1); -x_305 = lean_ctor_get(x_287, 2); -x_306 = lean_ctor_get(x_287, 3); -x_307 = 1; -lean_inc(x_205); -lean_ctor_set(x_287, 3, x_205); -lean_ctor_set(x_287, 2, x_35); -lean_ctor_set(x_287, 1, x_34); -lean_ctor_set(x_287, 0, x_33); -x_308 = !lean_is_exclusive(x_205); -if (x_308 == 0) -{ -lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; uint8_t x_313; -x_309 = lean_ctor_get(x_205, 3); -lean_dec(x_309); -x_310 = lean_ctor_get(x_205, 2); -lean_dec(x_310); -x_311 = lean_ctor_get(x_205, 1); -lean_dec(x_311); -x_312 = lean_ctor_get(x_205, 0); -lean_dec(x_312); -lean_ctor_set_uint8(x_287, sizeof(void*)*4, x_307); -lean_ctor_set(x_205, 3, x_306); -lean_ctor_set(x_205, 2, x_305); -lean_ctor_set(x_205, 1, x_304); -lean_ctor_set(x_205, 0, x_303); -lean_ctor_set_uint8(x_205, sizeof(void*)*4, x_307); -x_313 = 0; -lean_ctor_set(x_204, 3, x_205); -lean_ctor_set(x_204, 0, x_287); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_313); -return x_204; -} -else -{ -lean_object* x_314; uint8_t x_315; -lean_dec(x_205); -lean_ctor_set_uint8(x_287, sizeof(void*)*4, x_307); -x_314 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_314, 0, x_303); -lean_ctor_set(x_314, 1, x_304); -lean_ctor_set(x_314, 2, x_305); -lean_ctor_set(x_314, 3, x_306); -lean_ctor_set_uint8(x_314, sizeof(void*)*4, x_307); -x_315 = 0; -lean_ctor_set(x_204, 3, x_314); -lean_ctor_set(x_204, 0, x_287); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_315); -return x_204; -} -} -else -{ -lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; uint8_t x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; uint8_t x_324; -x_316 = lean_ctor_get(x_287, 0); -x_317 = lean_ctor_get(x_287, 1); -x_318 = lean_ctor_get(x_287, 2); -x_319 = lean_ctor_get(x_287, 3); -lean_inc(x_319); -lean_inc(x_318); -lean_inc(x_317); -lean_inc(x_316); -lean_dec(x_287); -x_320 = 1; -lean_inc(x_205); -x_321 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_321, 0, x_33); -lean_ctor_set(x_321, 1, x_34); -lean_ctor_set(x_321, 2, x_35); -lean_ctor_set(x_321, 3, x_205); -if (lean_is_exclusive(x_205)) { - lean_ctor_release(x_205, 0); - lean_ctor_release(x_205, 1); - lean_ctor_release(x_205, 2); - lean_ctor_release(x_205, 3); - x_322 = x_205; -} else { - lean_dec_ref(x_205); - x_322 = lean_box(0); -} -lean_ctor_set_uint8(x_321, sizeof(void*)*4, x_320); -if (lean_is_scalar(x_322)) { - x_323 = lean_alloc_ctor(1, 4, 1); -} else { - x_323 = x_322; -} -lean_ctor_set(x_323, 0, x_316); -lean_ctor_set(x_323, 1, x_317); -lean_ctor_set(x_323, 2, x_318); -lean_ctor_set(x_323, 3, x_319); -lean_ctor_set_uint8(x_323, sizeof(void*)*4, x_320); -x_324 = 0; -lean_ctor_set(x_204, 3, x_323); -lean_ctor_set(x_204, 0, x_321); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_324); -return x_204; -} -} -else -{ -lean_object* x_325; lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; uint8_t x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; uint8_t x_336; lean_object* x_337; -x_325 = lean_ctor_get(x_204, 1); -x_326 = lean_ctor_get(x_204, 2); -lean_inc(x_326); -lean_inc(x_325); -lean_dec(x_204); -x_327 = lean_ctor_get(x_287, 0); -lean_inc(x_327); -x_328 = lean_ctor_get(x_287, 1); -lean_inc(x_328); -x_329 = lean_ctor_get(x_287, 2); -lean_inc(x_329); -x_330 = lean_ctor_get(x_287, 3); -lean_inc(x_330); -if (lean_is_exclusive(x_287)) { - lean_ctor_release(x_287, 0); - lean_ctor_release(x_287, 1); - lean_ctor_release(x_287, 2); - lean_ctor_release(x_287, 3); - x_331 = x_287; -} else { - lean_dec_ref(x_287); - x_331 = lean_box(0); -} -x_332 = 1; -lean_inc(x_205); -if (lean_is_scalar(x_331)) { - x_333 = lean_alloc_ctor(1, 4, 1); -} else { - x_333 = x_331; -} -lean_ctor_set(x_333, 0, x_33); -lean_ctor_set(x_333, 1, x_34); -lean_ctor_set(x_333, 2, x_35); -lean_ctor_set(x_333, 3, x_205); -if (lean_is_exclusive(x_205)) { - lean_ctor_release(x_205, 0); - lean_ctor_release(x_205, 1); - lean_ctor_release(x_205, 2); - lean_ctor_release(x_205, 3); - x_334 = x_205; -} else { - lean_dec_ref(x_205); - x_334 = lean_box(0); -} -lean_ctor_set_uint8(x_333, sizeof(void*)*4, x_332); -if (lean_is_scalar(x_334)) { - x_335 = lean_alloc_ctor(1, 4, 1); -} else { - x_335 = x_334; -} -lean_ctor_set(x_335, 0, x_327); -lean_ctor_set(x_335, 1, x_328); -lean_ctor_set(x_335, 2, x_329); -lean_ctor_set(x_335, 3, x_330); -lean_ctor_set_uint8(x_335, sizeof(void*)*4, x_332); -x_336 = 0; -x_337 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_337, 0, x_333); -lean_ctor_set(x_337, 1, x_325); -lean_ctor_set(x_337, 2, x_326); -lean_ctor_set(x_337, 3, x_335); -lean_ctor_set_uint8(x_337, sizeof(void*)*4, x_336); -return x_337; -} -} -else -{ -uint8_t x_338; -x_338 = !lean_is_exclusive(x_204); -if (x_338 == 0) -{ -lean_object* x_339; lean_object* x_340; uint8_t x_341; -x_339 = lean_ctor_get(x_204, 3); -lean_dec(x_339); -x_340 = lean_ctor_get(x_204, 0); -lean_dec(x_340); -x_341 = !lean_is_exclusive(x_205); -if (x_341 == 0) -{ -uint8_t x_342; uint8_t x_343; -lean_ctor_set_uint8(x_205, sizeof(void*)*4, x_298); -x_342 = 0; -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_342); -x_343 = 1; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_343); -return x_1; -} -else -{ -lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; uint8_t x_349; uint8_t x_350; -x_344 = lean_ctor_get(x_205, 0); -x_345 = lean_ctor_get(x_205, 1); -x_346 = lean_ctor_get(x_205, 2); -x_347 = lean_ctor_get(x_205, 3); -lean_inc(x_347); -lean_inc(x_346); -lean_inc(x_345); -lean_inc(x_344); -lean_dec(x_205); -x_348 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_348, 0, x_344); -lean_ctor_set(x_348, 1, x_345); -lean_ctor_set(x_348, 2, x_346); -lean_ctor_set(x_348, 3, x_347); -lean_ctor_set_uint8(x_348, sizeof(void*)*4, x_298); -x_349 = 0; -lean_ctor_set(x_204, 0, x_348); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_349); -x_350 = 1; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_350); -return x_1; -} -} -else -{ -lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; uint8_t x_359; lean_object* x_360; uint8_t x_361; -x_351 = lean_ctor_get(x_204, 1); -x_352 = lean_ctor_get(x_204, 2); -lean_inc(x_352); -lean_inc(x_351); -lean_dec(x_204); -x_353 = lean_ctor_get(x_205, 0); -lean_inc(x_353); -x_354 = lean_ctor_get(x_205, 1); -lean_inc(x_354); -x_355 = lean_ctor_get(x_205, 2); -lean_inc(x_355); -x_356 = lean_ctor_get(x_205, 3); -lean_inc(x_356); -if (lean_is_exclusive(x_205)) { - lean_ctor_release(x_205, 0); - lean_ctor_release(x_205, 1); - lean_ctor_release(x_205, 2); - lean_ctor_release(x_205, 3); - x_357 = x_205; -} else { - lean_dec_ref(x_205); - x_357 = lean_box(0); -} -if (lean_is_scalar(x_357)) { - x_358 = lean_alloc_ctor(1, 4, 1); -} else { - x_358 = x_357; -} -lean_ctor_set(x_358, 0, x_353); -lean_ctor_set(x_358, 1, x_354); -lean_ctor_set(x_358, 2, x_355); -lean_ctor_set(x_358, 3, x_356); -lean_ctor_set_uint8(x_358, sizeof(void*)*4, x_298); -x_359 = 0; -x_360 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_360, 0, x_358); -lean_ctor_set(x_360, 1, x_351); -lean_ctor_set(x_360, 2, x_352); -lean_ctor_set(x_360, 3, x_287); -lean_ctor_set_uint8(x_360, sizeof(void*)*4, x_359); -x_361 = 1; -lean_ctor_set(x_1, 3, x_360); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_361); -return x_1; -} -} -} -} -} -} -} -} -} -else -{ -lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; uint8_t x_366; -x_362 = lean_ctor_get(x_1, 0); -x_363 = lean_ctor_get(x_1, 1); -x_364 = lean_ctor_get(x_1, 2); -x_365 = lean_ctor_get(x_1, 3); -lean_inc(x_365); -lean_inc(x_364); -lean_inc(x_363); -lean_inc(x_362); -lean_dec(x_1); -x_366 = l_Lean_Name_quickCmp(x_2, x_363); -switch (x_366) { -case 0: -{ -uint8_t x_367; -x_367 = l_Std_RBNode_isRed___rarg(x_362); -if (x_367 == 0) -{ -lean_object* x_368; uint8_t x_369; lean_object* x_370; -x_368 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_362, x_2, x_3); -x_369 = 1; -x_370 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_370, 0, x_368); -lean_ctor_set(x_370, 1, x_363); -lean_ctor_set(x_370, 2, x_364); -lean_ctor_set(x_370, 3, x_365); -lean_ctor_set_uint8(x_370, sizeof(void*)*4, x_369); -return x_370; -} -else -{ -lean_object* x_371; lean_object* x_372; -x_371 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_362, x_2, x_3); -x_372 = lean_ctor_get(x_371, 0); -lean_inc(x_372); -if (lean_obj_tag(x_372) == 0) -{ -lean_object* x_373; -x_373 = lean_ctor_get(x_371, 3); -lean_inc(x_373); -if (lean_obj_tag(x_373) == 0) -{ -lean_object* x_374; lean_object* x_375; lean_object* x_376; uint8_t x_377; lean_object* x_378; uint8_t x_379; lean_object* x_380; -x_374 = lean_ctor_get(x_371, 1); -lean_inc(x_374); -x_375 = lean_ctor_get(x_371, 2); -lean_inc(x_375); -if (lean_is_exclusive(x_371)) { - lean_ctor_release(x_371, 0); - lean_ctor_release(x_371, 1); - lean_ctor_release(x_371, 2); - lean_ctor_release(x_371, 3); - x_376 = x_371; -} else { - lean_dec_ref(x_371); - x_376 = lean_box(0); -} -x_377 = 0; -if (lean_is_scalar(x_376)) { - x_378 = lean_alloc_ctor(1, 4, 1); -} else { - x_378 = x_376; -} -lean_ctor_set(x_378, 0, x_373); -lean_ctor_set(x_378, 1, x_374); -lean_ctor_set(x_378, 2, x_375); -lean_ctor_set(x_378, 3, x_373); -lean_ctor_set_uint8(x_378, sizeof(void*)*4, x_377); -x_379 = 1; -x_380 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_380, 0, x_378); -lean_ctor_set(x_380, 1, x_363); -lean_ctor_set(x_380, 2, x_364); -lean_ctor_set(x_380, 3, x_365); -lean_ctor_set_uint8(x_380, sizeof(void*)*4, x_379); -return x_380; -} -else -{ -uint8_t x_381; -x_381 = lean_ctor_get_uint8(x_373, sizeof(void*)*4); -if (x_381 == 0) -{ -lean_object* x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; uint8_t x_390; lean_object* x_391; lean_object* x_392; uint8_t x_393; lean_object* x_394; -x_382 = lean_ctor_get(x_371, 1); -lean_inc(x_382); -x_383 = lean_ctor_get(x_371, 2); -lean_inc(x_383); -if (lean_is_exclusive(x_371)) { - lean_ctor_release(x_371, 0); - lean_ctor_release(x_371, 1); - lean_ctor_release(x_371, 2); - lean_ctor_release(x_371, 3); - x_384 = x_371; -} else { - lean_dec_ref(x_371); - x_384 = lean_box(0); -} -x_385 = lean_ctor_get(x_373, 0); -lean_inc(x_385); -x_386 = lean_ctor_get(x_373, 1); -lean_inc(x_386); -x_387 = lean_ctor_get(x_373, 2); -lean_inc(x_387); -x_388 = lean_ctor_get(x_373, 3); -lean_inc(x_388); -if (lean_is_exclusive(x_373)) { - lean_ctor_release(x_373, 0); - lean_ctor_release(x_373, 1); - lean_ctor_release(x_373, 2); - lean_ctor_release(x_373, 3); - x_389 = x_373; -} else { - lean_dec_ref(x_373); - x_389 = lean_box(0); -} -x_390 = 1; -if (lean_is_scalar(x_389)) { - x_391 = lean_alloc_ctor(1, 4, 1); -} else { - x_391 = x_389; -} -lean_ctor_set(x_391, 0, x_372); -lean_ctor_set(x_391, 1, x_382); -lean_ctor_set(x_391, 2, x_383); -lean_ctor_set(x_391, 3, x_385); -lean_ctor_set_uint8(x_391, sizeof(void*)*4, x_390); -if (lean_is_scalar(x_384)) { - x_392 = lean_alloc_ctor(1, 4, 1); -} else { - x_392 = x_384; -} -lean_ctor_set(x_392, 0, x_388); -lean_ctor_set(x_392, 1, x_363); -lean_ctor_set(x_392, 2, x_364); -lean_ctor_set(x_392, 3, x_365); -lean_ctor_set_uint8(x_392, sizeof(void*)*4, x_390); -x_393 = 0; -x_394 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_394, 0, x_391); -lean_ctor_set(x_394, 1, x_386); -lean_ctor_set(x_394, 2, x_387); -lean_ctor_set(x_394, 3, x_392); -lean_ctor_set_uint8(x_394, sizeof(void*)*4, x_393); -return x_394; -} -else -{ -lean_object* x_395; lean_object* x_396; lean_object* x_397; uint8_t x_398; lean_object* x_399; uint8_t x_400; lean_object* x_401; -x_395 = lean_ctor_get(x_371, 1); -lean_inc(x_395); -x_396 = lean_ctor_get(x_371, 2); -lean_inc(x_396); -if (lean_is_exclusive(x_371)) { - lean_ctor_release(x_371, 0); - lean_ctor_release(x_371, 1); - lean_ctor_release(x_371, 2); - lean_ctor_release(x_371, 3); - x_397 = x_371; -} else { - lean_dec_ref(x_371); - x_397 = lean_box(0); -} -x_398 = 0; -if (lean_is_scalar(x_397)) { - x_399 = lean_alloc_ctor(1, 4, 1); -} else { - x_399 = x_397; -} -lean_ctor_set(x_399, 0, x_372); -lean_ctor_set(x_399, 1, x_395); -lean_ctor_set(x_399, 2, x_396); -lean_ctor_set(x_399, 3, x_373); -lean_ctor_set_uint8(x_399, sizeof(void*)*4, x_398); -x_400 = 1; -x_401 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_401, 0, x_399); -lean_ctor_set(x_401, 1, x_363); -lean_ctor_set(x_401, 2, x_364); -lean_ctor_set(x_401, 3, x_365); -lean_ctor_set_uint8(x_401, sizeof(void*)*4, x_400); -return x_401; -} -} -} -else -{ -uint8_t x_402; -x_402 = lean_ctor_get_uint8(x_372, sizeof(void*)*4); -if (x_402 == 0) -{ -lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; uint8_t x_412; lean_object* x_413; lean_object* x_414; uint8_t x_415; lean_object* x_416; -x_403 = lean_ctor_get(x_371, 1); -lean_inc(x_403); -x_404 = lean_ctor_get(x_371, 2); -lean_inc(x_404); -x_405 = lean_ctor_get(x_371, 3); -lean_inc(x_405); -if (lean_is_exclusive(x_371)) { - lean_ctor_release(x_371, 0); - lean_ctor_release(x_371, 1); - lean_ctor_release(x_371, 2); - lean_ctor_release(x_371, 3); - x_406 = x_371; -} else { - lean_dec_ref(x_371); - x_406 = lean_box(0); -} -x_407 = lean_ctor_get(x_372, 0); -lean_inc(x_407); -x_408 = lean_ctor_get(x_372, 1); -lean_inc(x_408); -x_409 = lean_ctor_get(x_372, 2); -lean_inc(x_409); -x_410 = lean_ctor_get(x_372, 3); -lean_inc(x_410); -if (lean_is_exclusive(x_372)) { - lean_ctor_release(x_372, 0); - lean_ctor_release(x_372, 1); - lean_ctor_release(x_372, 2); - lean_ctor_release(x_372, 3); - x_411 = x_372; -} else { - lean_dec_ref(x_372); - x_411 = lean_box(0); -} -x_412 = 1; -if (lean_is_scalar(x_411)) { - x_413 = lean_alloc_ctor(1, 4, 1); -} else { - x_413 = x_411; -} -lean_ctor_set(x_413, 0, x_407); -lean_ctor_set(x_413, 1, x_408); -lean_ctor_set(x_413, 2, x_409); -lean_ctor_set(x_413, 3, x_410); -lean_ctor_set_uint8(x_413, sizeof(void*)*4, x_412); -if (lean_is_scalar(x_406)) { - x_414 = lean_alloc_ctor(1, 4, 1); -} else { - x_414 = x_406; -} -lean_ctor_set(x_414, 0, x_405); -lean_ctor_set(x_414, 1, x_363); -lean_ctor_set(x_414, 2, x_364); -lean_ctor_set(x_414, 3, x_365); -lean_ctor_set_uint8(x_414, sizeof(void*)*4, x_412); -x_415 = 0; -x_416 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_416, 0, x_413); -lean_ctor_set(x_416, 1, x_403); -lean_ctor_set(x_416, 2, x_404); -lean_ctor_set(x_416, 3, x_414); -lean_ctor_set_uint8(x_416, sizeof(void*)*4, x_415); -return x_416; -} -else -{ -lean_object* x_417; -x_417 = lean_ctor_get(x_371, 3); -lean_inc(x_417); -if (lean_obj_tag(x_417) == 0) -{ -lean_object* x_418; lean_object* x_419; lean_object* x_420; uint8_t x_421; lean_object* x_422; uint8_t x_423; lean_object* x_424; -x_418 = lean_ctor_get(x_371, 1); -lean_inc(x_418); -x_419 = lean_ctor_get(x_371, 2); -lean_inc(x_419); -if (lean_is_exclusive(x_371)) { - lean_ctor_release(x_371, 0); - lean_ctor_release(x_371, 1); - lean_ctor_release(x_371, 2); - lean_ctor_release(x_371, 3); - x_420 = x_371; -} else { - lean_dec_ref(x_371); - x_420 = lean_box(0); -} -x_421 = 0; -if (lean_is_scalar(x_420)) { - x_422 = lean_alloc_ctor(1, 4, 1); -} else { - x_422 = x_420; -} -lean_ctor_set(x_422, 0, x_372); -lean_ctor_set(x_422, 1, x_418); -lean_ctor_set(x_422, 2, x_419); -lean_ctor_set(x_422, 3, x_417); -lean_ctor_set_uint8(x_422, sizeof(void*)*4, x_421); -x_423 = 1; -x_424 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_424, 0, x_422); -lean_ctor_set(x_424, 1, x_363); -lean_ctor_set(x_424, 2, x_364); -lean_ctor_set(x_424, 3, x_365); -lean_ctor_set_uint8(x_424, sizeof(void*)*4, x_423); -return x_424; -} -else -{ -uint8_t x_425; -x_425 = lean_ctor_get_uint8(x_417, sizeof(void*)*4); -if (x_425 == 0) -{ -lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; uint8_t x_434; lean_object* x_435; lean_object* x_436; lean_object* x_437; uint8_t x_438; lean_object* x_439; -x_426 = lean_ctor_get(x_371, 1); -lean_inc(x_426); -x_427 = lean_ctor_get(x_371, 2); -lean_inc(x_427); -if (lean_is_exclusive(x_371)) { - lean_ctor_release(x_371, 0); - lean_ctor_release(x_371, 1); - lean_ctor_release(x_371, 2); - lean_ctor_release(x_371, 3); - x_428 = x_371; -} else { - lean_dec_ref(x_371); - x_428 = lean_box(0); -} -x_429 = lean_ctor_get(x_417, 0); -lean_inc(x_429); -x_430 = lean_ctor_get(x_417, 1); -lean_inc(x_430); -x_431 = lean_ctor_get(x_417, 2); -lean_inc(x_431); -x_432 = lean_ctor_get(x_417, 3); -lean_inc(x_432); -if (lean_is_exclusive(x_417)) { - lean_ctor_release(x_417, 0); - lean_ctor_release(x_417, 1); - lean_ctor_release(x_417, 2); - lean_ctor_release(x_417, 3); - x_433 = x_417; -} else { - lean_dec_ref(x_417); - x_433 = lean_box(0); -} -x_434 = 1; -lean_inc(x_372); -if (lean_is_scalar(x_433)) { - x_435 = lean_alloc_ctor(1, 4, 1); -} else { - x_435 = x_433; -} -lean_ctor_set(x_435, 0, x_372); -lean_ctor_set(x_435, 1, x_426); -lean_ctor_set(x_435, 2, x_427); -lean_ctor_set(x_435, 3, x_429); -if (lean_is_exclusive(x_372)) { - lean_ctor_release(x_372, 0); - lean_ctor_release(x_372, 1); - lean_ctor_release(x_372, 2); - lean_ctor_release(x_372, 3); - x_436 = x_372; -} else { - lean_dec_ref(x_372); - x_436 = lean_box(0); -} -lean_ctor_set_uint8(x_435, sizeof(void*)*4, x_434); -if (lean_is_scalar(x_436)) { - x_437 = lean_alloc_ctor(1, 4, 1); -} else { - x_437 = x_436; -} -lean_ctor_set(x_437, 0, x_432); -lean_ctor_set(x_437, 1, x_363); -lean_ctor_set(x_437, 2, x_364); -lean_ctor_set(x_437, 3, x_365); -lean_ctor_set_uint8(x_437, sizeof(void*)*4, x_434); -x_438 = 0; -if (lean_is_scalar(x_428)) { - x_439 = lean_alloc_ctor(1, 4, 1); -} else { - x_439 = x_428; -} -lean_ctor_set(x_439, 0, x_435); -lean_ctor_set(x_439, 1, x_430); -lean_ctor_set(x_439, 2, x_431); -lean_ctor_set(x_439, 3, x_437); -lean_ctor_set_uint8(x_439, sizeof(void*)*4, x_438); -return x_439; -} -else -{ -lean_object* x_440; lean_object* x_441; lean_object* x_442; lean_object* x_443; lean_object* x_444; lean_object* x_445; lean_object* x_446; lean_object* x_447; lean_object* x_448; uint8_t x_449; lean_object* x_450; uint8_t x_451; lean_object* x_452; -x_440 = lean_ctor_get(x_371, 1); -lean_inc(x_440); -x_441 = lean_ctor_get(x_371, 2); -lean_inc(x_441); -if (lean_is_exclusive(x_371)) { - lean_ctor_release(x_371, 0); - lean_ctor_release(x_371, 1); - lean_ctor_release(x_371, 2); - lean_ctor_release(x_371, 3); - x_442 = x_371; -} else { - lean_dec_ref(x_371); - x_442 = lean_box(0); -} -x_443 = lean_ctor_get(x_372, 0); -lean_inc(x_443); -x_444 = lean_ctor_get(x_372, 1); -lean_inc(x_444); -x_445 = lean_ctor_get(x_372, 2); -lean_inc(x_445); -x_446 = lean_ctor_get(x_372, 3); -lean_inc(x_446); -if (lean_is_exclusive(x_372)) { - lean_ctor_release(x_372, 0); - lean_ctor_release(x_372, 1); - lean_ctor_release(x_372, 2); - lean_ctor_release(x_372, 3); - x_447 = x_372; -} else { - lean_dec_ref(x_372); - x_447 = lean_box(0); -} -if (lean_is_scalar(x_447)) { - x_448 = lean_alloc_ctor(1, 4, 1); -} else { - x_448 = x_447; -} -lean_ctor_set(x_448, 0, x_443); -lean_ctor_set(x_448, 1, x_444); -lean_ctor_set(x_448, 2, x_445); -lean_ctor_set(x_448, 3, x_446); -lean_ctor_set_uint8(x_448, sizeof(void*)*4, x_425); -x_449 = 0; -if (lean_is_scalar(x_442)) { - x_450 = lean_alloc_ctor(1, 4, 1); -} else { - x_450 = x_442; -} -lean_ctor_set(x_450, 0, x_448); -lean_ctor_set(x_450, 1, x_440); -lean_ctor_set(x_450, 2, x_441); -lean_ctor_set(x_450, 3, x_417); -lean_ctor_set_uint8(x_450, sizeof(void*)*4, x_449); -x_451 = 1; -x_452 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_452, 0, x_450); -lean_ctor_set(x_452, 1, x_363); -lean_ctor_set(x_452, 2, x_364); -lean_ctor_set(x_452, 3, x_365); -lean_ctor_set_uint8(x_452, sizeof(void*)*4, x_451); -return x_452; -} -} -} -} -} -} -case 1: -{ -uint8_t x_453; lean_object* x_454; -lean_dec(x_364); -lean_dec(x_363); -x_453 = 1; -x_454 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_454, 0, x_362); -lean_ctor_set(x_454, 1, x_2); -lean_ctor_set(x_454, 2, x_3); -lean_ctor_set(x_454, 3, x_365); -lean_ctor_set_uint8(x_454, sizeof(void*)*4, x_453); -return x_454; -} -default: -{ -uint8_t x_455; -x_455 = l_Std_RBNode_isRed___rarg(x_365); -if (x_455 == 0) -{ -lean_object* x_456; uint8_t x_457; lean_object* x_458; -x_456 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_365, x_2, x_3); -x_457 = 1; -x_458 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_458, 0, x_362); -lean_ctor_set(x_458, 1, x_363); -lean_ctor_set(x_458, 2, x_364); -lean_ctor_set(x_458, 3, x_456); -lean_ctor_set_uint8(x_458, sizeof(void*)*4, x_457); -return x_458; -} -else -{ -lean_object* x_459; lean_object* x_460; -x_459 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_365, x_2, x_3); -x_460 = lean_ctor_get(x_459, 0); -lean_inc(x_460); -if (lean_obj_tag(x_460) == 0) -{ -lean_object* x_461; -x_461 = lean_ctor_get(x_459, 3); -lean_inc(x_461); -if (lean_obj_tag(x_461) == 0) -{ -lean_object* x_462; lean_object* x_463; lean_object* x_464; uint8_t x_465; lean_object* x_466; uint8_t x_467; lean_object* x_468; -x_462 = lean_ctor_get(x_459, 1); -lean_inc(x_462); -x_463 = lean_ctor_get(x_459, 2); -lean_inc(x_463); -if (lean_is_exclusive(x_459)) { - lean_ctor_release(x_459, 0); - lean_ctor_release(x_459, 1); - lean_ctor_release(x_459, 2); - lean_ctor_release(x_459, 3); - x_464 = x_459; -} else { - lean_dec_ref(x_459); - x_464 = lean_box(0); -} -x_465 = 0; -if (lean_is_scalar(x_464)) { - x_466 = lean_alloc_ctor(1, 4, 1); -} else { - x_466 = x_464; -} -lean_ctor_set(x_466, 0, x_461); -lean_ctor_set(x_466, 1, x_462); -lean_ctor_set(x_466, 2, x_463); -lean_ctor_set(x_466, 3, x_461); -lean_ctor_set_uint8(x_466, sizeof(void*)*4, x_465); -x_467 = 1; -x_468 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_468, 0, x_362); -lean_ctor_set(x_468, 1, x_363); -lean_ctor_set(x_468, 2, x_364); -lean_ctor_set(x_468, 3, x_466); -lean_ctor_set_uint8(x_468, sizeof(void*)*4, x_467); -return x_468; -} -else -{ -uint8_t x_469; -x_469 = lean_ctor_get_uint8(x_461, sizeof(void*)*4); -if (x_469 == 0) -{ -lean_object* x_470; lean_object* x_471; lean_object* x_472; lean_object* x_473; lean_object* x_474; lean_object* x_475; lean_object* x_476; lean_object* x_477; uint8_t x_478; lean_object* x_479; lean_object* x_480; uint8_t x_481; lean_object* x_482; -x_470 = lean_ctor_get(x_459, 1); -lean_inc(x_470); -x_471 = lean_ctor_get(x_459, 2); -lean_inc(x_471); -if (lean_is_exclusive(x_459)) { - lean_ctor_release(x_459, 0); - lean_ctor_release(x_459, 1); - lean_ctor_release(x_459, 2); - lean_ctor_release(x_459, 3); - x_472 = x_459; -} else { - lean_dec_ref(x_459); - x_472 = lean_box(0); -} -x_473 = lean_ctor_get(x_461, 0); -lean_inc(x_473); -x_474 = lean_ctor_get(x_461, 1); -lean_inc(x_474); -x_475 = lean_ctor_get(x_461, 2); -lean_inc(x_475); -x_476 = lean_ctor_get(x_461, 3); -lean_inc(x_476); -if (lean_is_exclusive(x_461)) { - lean_ctor_release(x_461, 0); - lean_ctor_release(x_461, 1); - lean_ctor_release(x_461, 2); - lean_ctor_release(x_461, 3); - x_477 = x_461; -} else { - lean_dec_ref(x_461); - x_477 = lean_box(0); -} -x_478 = 1; -if (lean_is_scalar(x_477)) { - x_479 = lean_alloc_ctor(1, 4, 1); -} else { - x_479 = x_477; -} -lean_ctor_set(x_479, 0, x_362); -lean_ctor_set(x_479, 1, x_363); -lean_ctor_set(x_479, 2, x_364); -lean_ctor_set(x_479, 3, x_460); -lean_ctor_set_uint8(x_479, sizeof(void*)*4, x_478); -if (lean_is_scalar(x_472)) { - x_480 = lean_alloc_ctor(1, 4, 1); -} else { - x_480 = x_472; -} -lean_ctor_set(x_480, 0, x_473); -lean_ctor_set(x_480, 1, x_474); -lean_ctor_set(x_480, 2, x_475); -lean_ctor_set(x_480, 3, x_476); -lean_ctor_set_uint8(x_480, sizeof(void*)*4, x_478); -x_481 = 0; -x_482 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_482, 0, x_479); -lean_ctor_set(x_482, 1, x_470); -lean_ctor_set(x_482, 2, x_471); -lean_ctor_set(x_482, 3, x_480); -lean_ctor_set_uint8(x_482, sizeof(void*)*4, x_481); -return x_482; -} -else -{ -lean_object* x_483; lean_object* x_484; lean_object* x_485; uint8_t x_486; lean_object* x_487; uint8_t x_488; lean_object* x_489; -x_483 = lean_ctor_get(x_459, 1); -lean_inc(x_483); -x_484 = lean_ctor_get(x_459, 2); -lean_inc(x_484); -if (lean_is_exclusive(x_459)) { - lean_ctor_release(x_459, 0); - lean_ctor_release(x_459, 1); - lean_ctor_release(x_459, 2); - lean_ctor_release(x_459, 3); - x_485 = x_459; -} else { - lean_dec_ref(x_459); - x_485 = lean_box(0); -} -x_486 = 0; -if (lean_is_scalar(x_485)) { - x_487 = lean_alloc_ctor(1, 4, 1); -} else { - x_487 = x_485; -} -lean_ctor_set(x_487, 0, x_460); -lean_ctor_set(x_487, 1, x_483); -lean_ctor_set(x_487, 2, x_484); -lean_ctor_set(x_487, 3, x_461); -lean_ctor_set_uint8(x_487, sizeof(void*)*4, x_486); -x_488 = 1; -x_489 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_489, 0, x_362); -lean_ctor_set(x_489, 1, x_363); -lean_ctor_set(x_489, 2, x_364); -lean_ctor_set(x_489, 3, x_487); -lean_ctor_set_uint8(x_489, sizeof(void*)*4, x_488); -return x_489; -} -} -} -else -{ -uint8_t x_490; -x_490 = lean_ctor_get_uint8(x_460, sizeof(void*)*4); -if (x_490 == 0) -{ -lean_object* x_491; lean_object* x_492; lean_object* x_493; lean_object* x_494; lean_object* x_495; lean_object* x_496; lean_object* x_497; lean_object* x_498; lean_object* x_499; uint8_t x_500; lean_object* x_501; lean_object* x_502; uint8_t x_503; lean_object* x_504; -x_491 = lean_ctor_get(x_459, 1); -lean_inc(x_491); -x_492 = lean_ctor_get(x_459, 2); -lean_inc(x_492); -x_493 = lean_ctor_get(x_459, 3); -lean_inc(x_493); -if (lean_is_exclusive(x_459)) { - lean_ctor_release(x_459, 0); - lean_ctor_release(x_459, 1); - lean_ctor_release(x_459, 2); - lean_ctor_release(x_459, 3); - x_494 = x_459; -} else { - lean_dec_ref(x_459); - x_494 = lean_box(0); -} -x_495 = lean_ctor_get(x_460, 0); -lean_inc(x_495); -x_496 = lean_ctor_get(x_460, 1); -lean_inc(x_496); -x_497 = lean_ctor_get(x_460, 2); -lean_inc(x_497); -x_498 = lean_ctor_get(x_460, 3); -lean_inc(x_498); -if (lean_is_exclusive(x_460)) { - lean_ctor_release(x_460, 0); - lean_ctor_release(x_460, 1); - lean_ctor_release(x_460, 2); - lean_ctor_release(x_460, 3); - x_499 = x_460; -} else { - lean_dec_ref(x_460); - x_499 = lean_box(0); -} -x_500 = 1; -if (lean_is_scalar(x_499)) { - x_501 = lean_alloc_ctor(1, 4, 1); -} else { - x_501 = x_499; -} -lean_ctor_set(x_501, 0, x_362); -lean_ctor_set(x_501, 1, x_363); -lean_ctor_set(x_501, 2, x_364); -lean_ctor_set(x_501, 3, x_495); -lean_ctor_set_uint8(x_501, sizeof(void*)*4, x_500); -if (lean_is_scalar(x_494)) { - x_502 = lean_alloc_ctor(1, 4, 1); -} else { - x_502 = x_494; -} -lean_ctor_set(x_502, 0, x_498); -lean_ctor_set(x_502, 1, x_491); -lean_ctor_set(x_502, 2, x_492); -lean_ctor_set(x_502, 3, x_493); -lean_ctor_set_uint8(x_502, sizeof(void*)*4, x_500); -x_503 = 0; -x_504 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_504, 0, x_501); -lean_ctor_set(x_504, 1, x_496); -lean_ctor_set(x_504, 2, x_497); -lean_ctor_set(x_504, 3, x_502); -lean_ctor_set_uint8(x_504, sizeof(void*)*4, x_503); -return x_504; -} -else -{ -lean_object* x_505; -x_505 = lean_ctor_get(x_459, 3); -lean_inc(x_505); -if (lean_obj_tag(x_505) == 0) -{ -lean_object* x_506; lean_object* x_507; lean_object* x_508; uint8_t x_509; lean_object* x_510; uint8_t x_511; lean_object* x_512; -x_506 = lean_ctor_get(x_459, 1); -lean_inc(x_506); -x_507 = lean_ctor_get(x_459, 2); -lean_inc(x_507); -if (lean_is_exclusive(x_459)) { - lean_ctor_release(x_459, 0); - lean_ctor_release(x_459, 1); - lean_ctor_release(x_459, 2); - lean_ctor_release(x_459, 3); - x_508 = x_459; -} else { - lean_dec_ref(x_459); - x_508 = lean_box(0); -} -x_509 = 0; -if (lean_is_scalar(x_508)) { - x_510 = lean_alloc_ctor(1, 4, 1); -} else { - x_510 = x_508; -} -lean_ctor_set(x_510, 0, x_460); -lean_ctor_set(x_510, 1, x_506); -lean_ctor_set(x_510, 2, x_507); -lean_ctor_set(x_510, 3, x_505); -lean_ctor_set_uint8(x_510, sizeof(void*)*4, x_509); -x_511 = 1; -x_512 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_512, 0, x_362); -lean_ctor_set(x_512, 1, x_363); -lean_ctor_set(x_512, 2, x_364); -lean_ctor_set(x_512, 3, x_510); -lean_ctor_set_uint8(x_512, sizeof(void*)*4, x_511); -return x_512; -} -else -{ -uint8_t x_513; -x_513 = lean_ctor_get_uint8(x_505, sizeof(void*)*4); -if (x_513 == 0) -{ -lean_object* x_514; lean_object* x_515; lean_object* x_516; lean_object* x_517; lean_object* x_518; lean_object* x_519; lean_object* x_520; lean_object* x_521; uint8_t x_522; lean_object* x_523; lean_object* x_524; lean_object* x_525; uint8_t x_526; lean_object* x_527; -x_514 = lean_ctor_get(x_459, 1); -lean_inc(x_514); -x_515 = lean_ctor_get(x_459, 2); -lean_inc(x_515); -if (lean_is_exclusive(x_459)) { - lean_ctor_release(x_459, 0); - lean_ctor_release(x_459, 1); - lean_ctor_release(x_459, 2); - lean_ctor_release(x_459, 3); - x_516 = x_459; -} else { - lean_dec_ref(x_459); - x_516 = lean_box(0); -} -x_517 = lean_ctor_get(x_505, 0); -lean_inc(x_517); -x_518 = lean_ctor_get(x_505, 1); -lean_inc(x_518); -x_519 = lean_ctor_get(x_505, 2); -lean_inc(x_519); -x_520 = lean_ctor_get(x_505, 3); -lean_inc(x_520); -if (lean_is_exclusive(x_505)) { - lean_ctor_release(x_505, 0); - lean_ctor_release(x_505, 1); - lean_ctor_release(x_505, 2); - lean_ctor_release(x_505, 3); - x_521 = x_505; -} else { - lean_dec_ref(x_505); - x_521 = lean_box(0); -} -x_522 = 1; -lean_inc(x_460); -if (lean_is_scalar(x_521)) { - x_523 = lean_alloc_ctor(1, 4, 1); -} else { - x_523 = x_521; -} -lean_ctor_set(x_523, 0, x_362); -lean_ctor_set(x_523, 1, x_363); -lean_ctor_set(x_523, 2, x_364); -lean_ctor_set(x_523, 3, x_460); -if (lean_is_exclusive(x_460)) { - lean_ctor_release(x_460, 0); - lean_ctor_release(x_460, 1); - lean_ctor_release(x_460, 2); - lean_ctor_release(x_460, 3); - x_524 = x_460; -} else { - lean_dec_ref(x_460); - x_524 = lean_box(0); -} -lean_ctor_set_uint8(x_523, sizeof(void*)*4, x_522); -if (lean_is_scalar(x_524)) { - x_525 = lean_alloc_ctor(1, 4, 1); -} else { - x_525 = x_524; -} -lean_ctor_set(x_525, 0, x_517); -lean_ctor_set(x_525, 1, x_518); -lean_ctor_set(x_525, 2, x_519); -lean_ctor_set(x_525, 3, x_520); -lean_ctor_set_uint8(x_525, sizeof(void*)*4, x_522); -x_526 = 0; -if (lean_is_scalar(x_516)) { - x_527 = lean_alloc_ctor(1, 4, 1); -} else { - x_527 = x_516; -} -lean_ctor_set(x_527, 0, x_523); -lean_ctor_set(x_527, 1, x_514); -lean_ctor_set(x_527, 2, x_515); -lean_ctor_set(x_527, 3, x_525); -lean_ctor_set_uint8(x_527, sizeof(void*)*4, x_526); -return x_527; -} -else -{ -lean_object* x_528; lean_object* x_529; lean_object* x_530; lean_object* x_531; lean_object* x_532; lean_object* x_533; lean_object* x_534; lean_object* x_535; lean_object* x_536; uint8_t x_537; lean_object* x_538; uint8_t x_539; lean_object* x_540; -x_528 = lean_ctor_get(x_459, 1); -lean_inc(x_528); -x_529 = lean_ctor_get(x_459, 2); -lean_inc(x_529); -if (lean_is_exclusive(x_459)) { - lean_ctor_release(x_459, 0); - lean_ctor_release(x_459, 1); - lean_ctor_release(x_459, 2); - lean_ctor_release(x_459, 3); - x_530 = x_459; -} else { - lean_dec_ref(x_459); - x_530 = lean_box(0); -} -x_531 = lean_ctor_get(x_460, 0); -lean_inc(x_531); -x_532 = lean_ctor_get(x_460, 1); -lean_inc(x_532); -x_533 = lean_ctor_get(x_460, 2); -lean_inc(x_533); -x_534 = lean_ctor_get(x_460, 3); -lean_inc(x_534); -if (lean_is_exclusive(x_460)) { - lean_ctor_release(x_460, 0); - lean_ctor_release(x_460, 1); - lean_ctor_release(x_460, 2); - lean_ctor_release(x_460, 3); - x_535 = x_460; -} else { - lean_dec_ref(x_460); - x_535 = lean_box(0); -} -if (lean_is_scalar(x_535)) { - x_536 = lean_alloc_ctor(1, 4, 1); -} else { - x_536 = x_535; -} -lean_ctor_set(x_536, 0, x_531); -lean_ctor_set(x_536, 1, x_532); -lean_ctor_set(x_536, 2, x_533); -lean_ctor_set(x_536, 3, x_534); -lean_ctor_set_uint8(x_536, sizeof(void*)*4, x_513); -x_537 = 0; -if (lean_is_scalar(x_530)) { - x_538 = lean_alloc_ctor(1, 4, 1); -} else { - x_538 = x_530; -} -lean_ctor_set(x_538, 0, x_536); -lean_ctor_set(x_538, 1, x_528); -lean_ctor_set(x_538, 2, x_529); -lean_ctor_set(x_538, 3, x_505); -lean_ctor_set_uint8(x_538, sizeof(void*)*4, x_537); -x_539 = 1; -x_540 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_540, 0, x_362); -lean_ctor_set(x_540, 1, x_363); -lean_ctor_set(x_540, 2, x_364); -lean_ctor_set(x_540, 3, x_538); -lean_ctor_set_uint8(x_540, sizeof(void*)*4, x_539); -return x_540; -} -} -} -} -} -} -} -} -} -} -} -} -LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg), 3, 0); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__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; uint8_t x_5; lean_object* x_6; -x_4 = lean_box(0); -x_5 = 0; -x_6 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_6, 0, x_4); -lean_ctor_set(x_6, 1, x_2); -lean_ctor_set(x_6, 2, x_3); -lean_ctor_set(x_6, 3, x_4); -lean_ctor_set_uint8(x_6, sizeof(void*)*4, x_5); -return x_6; -} -else -{ -uint8_t x_7; -x_7 = lean_ctor_get_uint8(x_1, sizeof(void*)*4); -if (x_7 == 0) -{ -uint8_t x_8; -x_8 = !lean_is_exclusive(x_1); -if (x_8 == 0) -{ -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; -x_9 = lean_ctor_get(x_1, 0); -x_10 = lean_ctor_get(x_1, 1); -x_11 = lean_ctor_get(x_1, 2); -x_12 = lean_ctor_get(x_1, 3); -x_13 = l_Lean_Name_quickCmp(x_2, x_10); -switch (x_13) { -case 0: -{ -lean_object* x_14; uint8_t x_15; -x_14 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_9, x_2, x_3); -x_15 = 0; -lean_ctor_set(x_1, 0, x_14); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_15); -return x_1; -} -case 1: -{ -uint8_t x_16; -lean_dec(x_11); -lean_dec(x_10); -x_16 = 0; -lean_ctor_set(x_1, 2, x_3); -lean_ctor_set(x_1, 1, x_2); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_16); -return x_1; -} -default: -{ -lean_object* x_17; uint8_t x_18; -x_17 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_12, x_2, x_3); -x_18 = 0; -lean_ctor_set(x_1, 3, x_17); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_18); -return x_1; -} -} -} -else -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; -x_19 = lean_ctor_get(x_1, 0); -x_20 = lean_ctor_get(x_1, 1); -x_21 = lean_ctor_get(x_1, 2); -x_22 = lean_ctor_get(x_1, 3); -lean_inc(x_22); -lean_inc(x_21); -lean_inc(x_20); -lean_inc(x_19); -lean_dec(x_1); -x_23 = l_Lean_Name_quickCmp(x_2, x_20); -switch (x_23) { -case 0: -{ -lean_object* x_24; uint8_t x_25; lean_object* x_26; -x_24 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_19, x_2, x_3); -x_25 = 0; -x_26 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_20); -lean_ctor_set(x_26, 2, x_21); -lean_ctor_set(x_26, 3, x_22); -lean_ctor_set_uint8(x_26, sizeof(void*)*4, x_25); -return x_26; -} -case 1: -{ -uint8_t x_27; lean_object* x_28; -lean_dec(x_21); -lean_dec(x_20); -x_27 = 0; -x_28 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_28, 0, x_19); -lean_ctor_set(x_28, 1, x_2); -lean_ctor_set(x_28, 2, x_3); -lean_ctor_set(x_28, 3, x_22); -lean_ctor_set_uint8(x_28, sizeof(void*)*4, x_27); -return x_28; -} -default: -{ -lean_object* x_29; uint8_t x_30; lean_object* x_31; -x_29 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_22, x_2, x_3); -x_30 = 0; -x_31 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_31, 0, x_19); -lean_ctor_set(x_31, 1, x_20); -lean_ctor_set(x_31, 2, x_21); -lean_ctor_set(x_31, 3, x_29); -lean_ctor_set_uint8(x_31, sizeof(void*)*4, x_30); -return x_31; -} -} -} -} -else -{ -uint8_t x_32; -x_32 = !lean_is_exclusive(x_1); -if (x_32 == 0) -{ -lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; -x_33 = lean_ctor_get(x_1, 0); -x_34 = lean_ctor_get(x_1, 1); -x_35 = lean_ctor_get(x_1, 2); -x_36 = lean_ctor_get(x_1, 3); -x_37 = l_Lean_Name_quickCmp(x_2, x_34); -switch (x_37) { -case 0: -{ -uint8_t x_38; -x_38 = l_Std_RBNode_isRed___rarg(x_33); -if (x_38 == 0) -{ -lean_object* x_39; uint8_t x_40; -x_39 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_33, x_2, x_3); -x_40 = 1; -lean_ctor_set(x_1, 0, x_39); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_40); -return x_1; -} -else -{ -lean_object* x_41; lean_object* x_42; -x_41 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_33, x_2, x_3); -x_42 = lean_ctor_get(x_41, 0); -lean_inc(x_42); -if (lean_obj_tag(x_42) == 0) -{ -lean_object* x_43; -x_43 = lean_ctor_get(x_41, 3); -lean_inc(x_43); -if (lean_obj_tag(x_43) == 0) -{ -uint8_t x_44; -x_44 = !lean_is_exclusive(x_41); -if (x_44 == 0) -{ -lean_object* x_45; lean_object* x_46; uint8_t x_47; uint8_t x_48; -x_45 = lean_ctor_get(x_41, 3); -lean_dec(x_45); -x_46 = lean_ctor_get(x_41, 0); -lean_dec(x_46); -x_47 = 0; -lean_ctor_set(x_41, 0, x_43); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_47); -x_48 = 1; -lean_ctor_set(x_1, 0, x_41); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_48); -return x_1; -} -else -{ -lean_object* x_49; lean_object* x_50; uint8_t x_51; lean_object* x_52; uint8_t x_53; -x_49 = lean_ctor_get(x_41, 1); -x_50 = lean_ctor_get(x_41, 2); -lean_inc(x_50); -lean_inc(x_49); -lean_dec(x_41); -x_51 = 0; -x_52 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_52, 0, x_43); -lean_ctor_set(x_52, 1, x_49); -lean_ctor_set(x_52, 2, x_50); -lean_ctor_set(x_52, 3, x_43); -lean_ctor_set_uint8(x_52, sizeof(void*)*4, x_51); -x_53 = 1; -lean_ctor_set(x_1, 0, x_52); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_53); -return x_1; -} -} -else -{ -uint8_t x_54; -x_54 = lean_ctor_get_uint8(x_43, sizeof(void*)*4); -if (x_54 == 0) -{ -uint8_t x_55; -x_55 = !lean_is_exclusive(x_41); -if (x_55 == 0) -{ -lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60; -x_56 = lean_ctor_get(x_41, 1); -x_57 = lean_ctor_get(x_41, 2); -x_58 = lean_ctor_get(x_41, 3); -lean_dec(x_58); -x_59 = lean_ctor_get(x_41, 0); -lean_dec(x_59); -x_60 = !lean_is_exclusive(x_43); -if (x_60 == 0) -{ -lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; uint8_t x_65; uint8_t x_66; -x_61 = lean_ctor_get(x_43, 0); -x_62 = lean_ctor_get(x_43, 1); -x_63 = lean_ctor_get(x_43, 2); -x_64 = lean_ctor_get(x_43, 3); -x_65 = 1; -lean_ctor_set(x_43, 3, x_61); -lean_ctor_set(x_43, 2, x_57); -lean_ctor_set(x_43, 1, x_56); -lean_ctor_set(x_43, 0, x_42); -lean_ctor_set_uint8(x_43, sizeof(void*)*4, x_65); -lean_ctor_set(x_41, 3, x_36); -lean_ctor_set(x_41, 2, x_35); -lean_ctor_set(x_41, 1, x_34); -lean_ctor_set(x_41, 0, x_64); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_65); -x_66 = 0; -lean_ctor_set(x_1, 3, x_41); -lean_ctor_set(x_1, 2, x_63); -lean_ctor_set(x_1, 1, x_62); -lean_ctor_set(x_1, 0, x_43); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_66); -return x_1; -} -else -{ -lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71; lean_object* x_72; uint8_t x_73; -x_67 = lean_ctor_get(x_43, 0); -x_68 = lean_ctor_get(x_43, 1); -x_69 = lean_ctor_get(x_43, 2); -x_70 = lean_ctor_get(x_43, 3); -lean_inc(x_70); -lean_inc(x_69); -lean_inc(x_68); -lean_inc(x_67); -lean_dec(x_43); -x_71 = 1; -x_72 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_72, 0, x_42); -lean_ctor_set(x_72, 1, x_56); -lean_ctor_set(x_72, 2, x_57); -lean_ctor_set(x_72, 3, x_67); -lean_ctor_set_uint8(x_72, sizeof(void*)*4, x_71); -lean_ctor_set(x_41, 3, x_36); -lean_ctor_set(x_41, 2, x_35); -lean_ctor_set(x_41, 1, x_34); -lean_ctor_set(x_41, 0, x_70); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_71); -x_73 = 0; -lean_ctor_set(x_1, 3, x_41); -lean_ctor_set(x_1, 2, x_69); -lean_ctor_set(x_1, 1, x_68); -lean_ctor_set(x_1, 0, x_72); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_73); -return x_1; -} -} -else -{ -lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; uint8_t x_81; lean_object* x_82; lean_object* x_83; uint8_t x_84; -x_74 = lean_ctor_get(x_41, 1); -x_75 = lean_ctor_get(x_41, 2); -lean_inc(x_75); -lean_inc(x_74); -lean_dec(x_41); -x_76 = lean_ctor_get(x_43, 0); -lean_inc(x_76); -x_77 = lean_ctor_get(x_43, 1); -lean_inc(x_77); -x_78 = lean_ctor_get(x_43, 2); -lean_inc(x_78); -x_79 = lean_ctor_get(x_43, 3); -lean_inc(x_79); -if (lean_is_exclusive(x_43)) { - lean_ctor_release(x_43, 0); - lean_ctor_release(x_43, 1); - lean_ctor_release(x_43, 2); - lean_ctor_release(x_43, 3); - x_80 = x_43; -} else { - lean_dec_ref(x_43); - x_80 = lean_box(0); -} -x_81 = 1; -if (lean_is_scalar(x_80)) { - x_82 = lean_alloc_ctor(1, 4, 1); -} else { - x_82 = x_80; -} -lean_ctor_set(x_82, 0, x_42); -lean_ctor_set(x_82, 1, x_74); -lean_ctor_set(x_82, 2, x_75); -lean_ctor_set(x_82, 3, x_76); -lean_ctor_set_uint8(x_82, sizeof(void*)*4, x_81); -x_83 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_83, 0, x_79); -lean_ctor_set(x_83, 1, x_34); -lean_ctor_set(x_83, 2, x_35); -lean_ctor_set(x_83, 3, x_36); -lean_ctor_set_uint8(x_83, sizeof(void*)*4, x_81); -x_84 = 0; -lean_ctor_set(x_1, 3, x_83); -lean_ctor_set(x_1, 2, x_78); -lean_ctor_set(x_1, 1, x_77); -lean_ctor_set(x_1, 0, x_82); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_84); -return x_1; -} -} -else -{ -uint8_t x_85; -x_85 = !lean_is_exclusive(x_41); -if (x_85 == 0) -{ -lean_object* x_86; lean_object* x_87; uint8_t x_88; uint8_t x_89; -x_86 = lean_ctor_get(x_41, 3); -lean_dec(x_86); -x_87 = lean_ctor_get(x_41, 0); -lean_dec(x_87); -x_88 = 0; -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_88); -x_89 = 1; -lean_ctor_set(x_1, 0, x_41); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_89); -return x_1; -} -else -{ -lean_object* x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93; uint8_t x_94; -x_90 = lean_ctor_get(x_41, 1); -x_91 = lean_ctor_get(x_41, 2); -lean_inc(x_91); -lean_inc(x_90); -lean_dec(x_41); -x_92 = 0; -x_93 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_93, 0, x_42); -lean_ctor_set(x_93, 1, x_90); -lean_ctor_set(x_93, 2, x_91); -lean_ctor_set(x_93, 3, x_43); -lean_ctor_set_uint8(x_93, sizeof(void*)*4, x_92); -x_94 = 1; -lean_ctor_set(x_1, 0, x_93); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_94); -return x_1; -} -} -} -} -else -{ -uint8_t x_95; -x_95 = lean_ctor_get_uint8(x_42, sizeof(void*)*4); -if (x_95 == 0) -{ -uint8_t x_96; -x_96 = !lean_is_exclusive(x_41); -if (x_96 == 0) -{ -lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; uint8_t x_101; -x_97 = lean_ctor_get(x_41, 1); -x_98 = lean_ctor_get(x_41, 2); -x_99 = lean_ctor_get(x_41, 3); -x_100 = lean_ctor_get(x_41, 0); -lean_dec(x_100); -x_101 = !lean_is_exclusive(x_42); -if (x_101 == 0) -{ -uint8_t x_102; uint8_t x_103; -x_102 = 1; -lean_ctor_set_uint8(x_42, sizeof(void*)*4, x_102); -lean_ctor_set(x_41, 3, x_36); -lean_ctor_set(x_41, 2, x_35); -lean_ctor_set(x_41, 1, x_34); -lean_ctor_set(x_41, 0, x_99); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_102); -x_103 = 0; -lean_ctor_set(x_1, 3, x_41); -lean_ctor_set(x_1, 2, x_98); -lean_ctor_set(x_1, 1, x_97); -lean_ctor_set(x_1, 0, x_42); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_103); -return x_1; -} -else -{ -lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; uint8_t x_108; lean_object* x_109; uint8_t x_110; -x_104 = lean_ctor_get(x_42, 0); -x_105 = lean_ctor_get(x_42, 1); -x_106 = lean_ctor_get(x_42, 2); -x_107 = lean_ctor_get(x_42, 3); -lean_inc(x_107); -lean_inc(x_106); -lean_inc(x_105); -lean_inc(x_104); -lean_dec(x_42); -x_108 = 1; -x_109 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_109, 0, x_104); -lean_ctor_set(x_109, 1, x_105); -lean_ctor_set(x_109, 2, x_106); -lean_ctor_set(x_109, 3, x_107); -lean_ctor_set_uint8(x_109, sizeof(void*)*4, x_108); -lean_ctor_set(x_41, 3, x_36); -lean_ctor_set(x_41, 2, x_35); -lean_ctor_set(x_41, 1, x_34); -lean_ctor_set(x_41, 0, x_99); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_108); -x_110 = 0; -lean_ctor_set(x_1, 3, x_41); -lean_ctor_set(x_1, 2, x_98); -lean_ctor_set(x_1, 1, x_97); -lean_ctor_set(x_1, 0, x_109); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_110); -return x_1; -} -} -else -{ -lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; uint8_t x_119; lean_object* x_120; lean_object* x_121; uint8_t x_122; -x_111 = lean_ctor_get(x_41, 1); -x_112 = lean_ctor_get(x_41, 2); -x_113 = lean_ctor_get(x_41, 3); -lean_inc(x_113); -lean_inc(x_112); -lean_inc(x_111); -lean_dec(x_41); -x_114 = lean_ctor_get(x_42, 0); -lean_inc(x_114); -x_115 = lean_ctor_get(x_42, 1); -lean_inc(x_115); -x_116 = lean_ctor_get(x_42, 2); -lean_inc(x_116); -x_117 = lean_ctor_get(x_42, 3); -lean_inc(x_117); -if (lean_is_exclusive(x_42)) { - lean_ctor_release(x_42, 0); - lean_ctor_release(x_42, 1); - lean_ctor_release(x_42, 2); - lean_ctor_release(x_42, 3); - x_118 = x_42; -} else { - lean_dec_ref(x_42); - x_118 = lean_box(0); -} -x_119 = 1; -if (lean_is_scalar(x_118)) { - x_120 = lean_alloc_ctor(1, 4, 1); -} else { - x_120 = x_118; -} -lean_ctor_set(x_120, 0, x_114); -lean_ctor_set(x_120, 1, x_115); -lean_ctor_set(x_120, 2, x_116); -lean_ctor_set(x_120, 3, x_117); -lean_ctor_set_uint8(x_120, sizeof(void*)*4, x_119); -x_121 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_121, 0, x_113); -lean_ctor_set(x_121, 1, x_34); -lean_ctor_set(x_121, 2, x_35); -lean_ctor_set(x_121, 3, x_36); -lean_ctor_set_uint8(x_121, sizeof(void*)*4, x_119); -x_122 = 0; -lean_ctor_set(x_1, 3, x_121); -lean_ctor_set(x_1, 2, x_112); -lean_ctor_set(x_1, 1, x_111); -lean_ctor_set(x_1, 0, x_120); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_122); -return x_1; -} -} -else -{ -lean_object* x_123; -x_123 = lean_ctor_get(x_41, 3); -lean_inc(x_123); -if (lean_obj_tag(x_123) == 0) -{ -uint8_t x_124; -x_124 = !lean_is_exclusive(x_41); -if (x_124 == 0) -{ -lean_object* x_125; lean_object* x_126; uint8_t x_127; uint8_t x_128; -x_125 = lean_ctor_get(x_41, 3); -lean_dec(x_125); -x_126 = lean_ctor_get(x_41, 0); -lean_dec(x_126); -x_127 = 0; -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_127); -x_128 = 1; -lean_ctor_set(x_1, 0, x_41); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_128); -return x_1; -} -else -{ -lean_object* x_129; lean_object* x_130; uint8_t x_131; lean_object* x_132; uint8_t x_133; -x_129 = lean_ctor_get(x_41, 1); -x_130 = lean_ctor_get(x_41, 2); -lean_inc(x_130); -lean_inc(x_129); -lean_dec(x_41); -x_131 = 0; -x_132 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_132, 0, x_42); -lean_ctor_set(x_132, 1, x_129); -lean_ctor_set(x_132, 2, x_130); -lean_ctor_set(x_132, 3, x_123); -lean_ctor_set_uint8(x_132, sizeof(void*)*4, x_131); -x_133 = 1; -lean_ctor_set(x_1, 0, x_132); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_133); -return x_1; -} -} -else -{ -uint8_t x_134; -x_134 = lean_ctor_get_uint8(x_123, sizeof(void*)*4); -if (x_134 == 0) -{ -uint8_t x_135; -lean_free_object(x_1); -x_135 = !lean_is_exclusive(x_41); -if (x_135 == 0) -{ -lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; uint8_t x_140; -x_136 = lean_ctor_get(x_41, 1); -x_137 = lean_ctor_get(x_41, 2); -x_138 = lean_ctor_get(x_41, 3); -lean_dec(x_138); -x_139 = lean_ctor_get(x_41, 0); -lean_dec(x_139); -x_140 = !lean_is_exclusive(x_123); -if (x_140 == 0) -{ -lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; uint8_t x_145; uint8_t x_146; -x_141 = lean_ctor_get(x_123, 0); -x_142 = lean_ctor_get(x_123, 1); -x_143 = lean_ctor_get(x_123, 2); -x_144 = lean_ctor_get(x_123, 3); -x_145 = 1; -lean_inc(x_42); -lean_ctor_set(x_123, 3, x_141); -lean_ctor_set(x_123, 2, x_137); -lean_ctor_set(x_123, 1, x_136); -lean_ctor_set(x_123, 0, x_42); -x_146 = !lean_is_exclusive(x_42); -if (x_146 == 0) -{ -lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; uint8_t x_151; -x_147 = lean_ctor_get(x_42, 3); -lean_dec(x_147); -x_148 = lean_ctor_get(x_42, 2); -lean_dec(x_148); -x_149 = lean_ctor_get(x_42, 1); -lean_dec(x_149); -x_150 = lean_ctor_get(x_42, 0); -lean_dec(x_150); -lean_ctor_set_uint8(x_123, sizeof(void*)*4, x_145); -lean_ctor_set(x_42, 3, x_36); -lean_ctor_set(x_42, 2, x_35); -lean_ctor_set(x_42, 1, x_34); -lean_ctor_set(x_42, 0, x_144); -lean_ctor_set_uint8(x_42, sizeof(void*)*4, x_145); -x_151 = 0; -lean_ctor_set(x_41, 3, x_42); -lean_ctor_set(x_41, 2, x_143); -lean_ctor_set(x_41, 1, x_142); -lean_ctor_set(x_41, 0, x_123); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_151); -return x_41; -} -else -{ -lean_object* x_152; uint8_t x_153; -lean_dec(x_42); -lean_ctor_set_uint8(x_123, sizeof(void*)*4, x_145); -x_152 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_152, 0, x_144); -lean_ctor_set(x_152, 1, x_34); -lean_ctor_set(x_152, 2, x_35); -lean_ctor_set(x_152, 3, x_36); -lean_ctor_set_uint8(x_152, sizeof(void*)*4, x_145); -x_153 = 0; -lean_ctor_set(x_41, 3, x_152); -lean_ctor_set(x_41, 2, x_143); -lean_ctor_set(x_41, 1, x_142); -lean_ctor_set(x_41, 0, x_123); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_153); -return x_41; -} -} -else -{ -lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; uint8_t x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; uint8_t x_162; -x_154 = lean_ctor_get(x_123, 0); -x_155 = lean_ctor_get(x_123, 1); -x_156 = lean_ctor_get(x_123, 2); -x_157 = lean_ctor_get(x_123, 3); -lean_inc(x_157); -lean_inc(x_156); -lean_inc(x_155); -lean_inc(x_154); -lean_dec(x_123); -x_158 = 1; -lean_inc(x_42); -x_159 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_159, 0, x_42); -lean_ctor_set(x_159, 1, x_136); -lean_ctor_set(x_159, 2, x_137); -lean_ctor_set(x_159, 3, x_154); -if (lean_is_exclusive(x_42)) { - lean_ctor_release(x_42, 0); - lean_ctor_release(x_42, 1); - lean_ctor_release(x_42, 2); - lean_ctor_release(x_42, 3); - x_160 = x_42; -} else { - lean_dec_ref(x_42); - x_160 = lean_box(0); -} -lean_ctor_set_uint8(x_159, sizeof(void*)*4, x_158); -if (lean_is_scalar(x_160)) { - x_161 = lean_alloc_ctor(1, 4, 1); -} else { - x_161 = x_160; -} -lean_ctor_set(x_161, 0, x_157); -lean_ctor_set(x_161, 1, x_34); -lean_ctor_set(x_161, 2, x_35); -lean_ctor_set(x_161, 3, x_36); -lean_ctor_set_uint8(x_161, sizeof(void*)*4, x_158); -x_162 = 0; -lean_ctor_set(x_41, 3, x_161); -lean_ctor_set(x_41, 2, x_156); -lean_ctor_set(x_41, 1, x_155); -lean_ctor_set(x_41, 0, x_159); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_162); -return x_41; -} -} -else -{ -lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; uint8_t x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; uint8_t x_174; lean_object* x_175; -x_163 = lean_ctor_get(x_41, 1); -x_164 = lean_ctor_get(x_41, 2); -lean_inc(x_164); -lean_inc(x_163); -lean_dec(x_41); -x_165 = lean_ctor_get(x_123, 0); -lean_inc(x_165); -x_166 = lean_ctor_get(x_123, 1); -lean_inc(x_166); -x_167 = lean_ctor_get(x_123, 2); -lean_inc(x_167); -x_168 = lean_ctor_get(x_123, 3); -lean_inc(x_168); -if (lean_is_exclusive(x_123)) { - lean_ctor_release(x_123, 0); - lean_ctor_release(x_123, 1); - lean_ctor_release(x_123, 2); - lean_ctor_release(x_123, 3); - x_169 = x_123; -} else { - lean_dec_ref(x_123); - x_169 = lean_box(0); -} -x_170 = 1; -lean_inc(x_42); -if (lean_is_scalar(x_169)) { - x_171 = lean_alloc_ctor(1, 4, 1); -} else { - x_171 = x_169; -} -lean_ctor_set(x_171, 0, x_42); -lean_ctor_set(x_171, 1, x_163); -lean_ctor_set(x_171, 2, x_164); -lean_ctor_set(x_171, 3, x_165); -if (lean_is_exclusive(x_42)) { - lean_ctor_release(x_42, 0); - lean_ctor_release(x_42, 1); - lean_ctor_release(x_42, 2); - lean_ctor_release(x_42, 3); - x_172 = x_42; -} else { - lean_dec_ref(x_42); - x_172 = lean_box(0); -} -lean_ctor_set_uint8(x_171, sizeof(void*)*4, x_170); -if (lean_is_scalar(x_172)) { - x_173 = lean_alloc_ctor(1, 4, 1); -} else { - x_173 = x_172; -} -lean_ctor_set(x_173, 0, x_168); -lean_ctor_set(x_173, 1, x_34); -lean_ctor_set(x_173, 2, x_35); -lean_ctor_set(x_173, 3, x_36); -lean_ctor_set_uint8(x_173, sizeof(void*)*4, x_170); -x_174 = 0; -x_175 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_175, 0, x_171); -lean_ctor_set(x_175, 1, x_166); -lean_ctor_set(x_175, 2, x_167); -lean_ctor_set(x_175, 3, x_173); -lean_ctor_set_uint8(x_175, sizeof(void*)*4, x_174); -return x_175; -} -} -else -{ -uint8_t x_176; -x_176 = !lean_is_exclusive(x_41); -if (x_176 == 0) -{ -lean_object* x_177; lean_object* x_178; uint8_t x_179; -x_177 = lean_ctor_get(x_41, 3); -lean_dec(x_177); -x_178 = lean_ctor_get(x_41, 0); -lean_dec(x_178); -x_179 = !lean_is_exclusive(x_42); -if (x_179 == 0) -{ -uint8_t x_180; uint8_t x_181; -lean_ctor_set_uint8(x_42, sizeof(void*)*4, x_134); -x_180 = 0; -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_180); -x_181 = 1; -lean_ctor_set(x_1, 0, x_41); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_181); -return x_1; -} -else -{ -lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; uint8_t x_187; uint8_t x_188; -x_182 = lean_ctor_get(x_42, 0); -x_183 = lean_ctor_get(x_42, 1); -x_184 = lean_ctor_get(x_42, 2); -x_185 = lean_ctor_get(x_42, 3); -lean_inc(x_185); -lean_inc(x_184); -lean_inc(x_183); -lean_inc(x_182); -lean_dec(x_42); -x_186 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_186, 0, x_182); -lean_ctor_set(x_186, 1, x_183); -lean_ctor_set(x_186, 2, x_184); -lean_ctor_set(x_186, 3, x_185); -lean_ctor_set_uint8(x_186, sizeof(void*)*4, x_134); -x_187 = 0; -lean_ctor_set(x_41, 0, x_186); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_187); -x_188 = 1; -lean_ctor_set(x_1, 0, x_41); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_188); -return x_1; -} -} -else -{ -lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; uint8_t x_197; lean_object* x_198; uint8_t x_199; -x_189 = lean_ctor_get(x_41, 1); -x_190 = lean_ctor_get(x_41, 2); -lean_inc(x_190); -lean_inc(x_189); -lean_dec(x_41); -x_191 = lean_ctor_get(x_42, 0); -lean_inc(x_191); -x_192 = lean_ctor_get(x_42, 1); -lean_inc(x_192); -x_193 = lean_ctor_get(x_42, 2); -lean_inc(x_193); -x_194 = lean_ctor_get(x_42, 3); -lean_inc(x_194); -if (lean_is_exclusive(x_42)) { - lean_ctor_release(x_42, 0); - lean_ctor_release(x_42, 1); - lean_ctor_release(x_42, 2); - lean_ctor_release(x_42, 3); - x_195 = x_42; -} else { - lean_dec_ref(x_42); - x_195 = lean_box(0); -} -if (lean_is_scalar(x_195)) { - x_196 = lean_alloc_ctor(1, 4, 1); -} else { - x_196 = x_195; -} -lean_ctor_set(x_196, 0, x_191); -lean_ctor_set(x_196, 1, x_192); -lean_ctor_set(x_196, 2, x_193); -lean_ctor_set(x_196, 3, x_194); -lean_ctor_set_uint8(x_196, sizeof(void*)*4, x_134); -x_197 = 0; -x_198 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_198, 0, x_196); -lean_ctor_set(x_198, 1, x_189); -lean_ctor_set(x_198, 2, x_190); -lean_ctor_set(x_198, 3, x_123); -lean_ctor_set_uint8(x_198, sizeof(void*)*4, x_197); -x_199 = 1; -lean_ctor_set(x_1, 0, x_198); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_199); -return x_1; -} -} -} -} -} -} -} -case 1: -{ -uint8_t x_200; -lean_dec(x_35); -lean_dec(x_34); -x_200 = 1; -lean_ctor_set(x_1, 2, x_3); -lean_ctor_set(x_1, 1, x_2); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_200); -return x_1; -} -default: -{ -uint8_t x_201; -x_201 = l_Std_RBNode_isRed___rarg(x_36); -if (x_201 == 0) -{ -lean_object* x_202; uint8_t x_203; -x_202 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_36, x_2, x_3); -x_203 = 1; -lean_ctor_set(x_1, 3, x_202); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_203); -return x_1; -} -else -{ -lean_object* x_204; lean_object* x_205; -x_204 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_36, x_2, x_3); -x_205 = lean_ctor_get(x_204, 0); -lean_inc(x_205); -if (lean_obj_tag(x_205) == 0) -{ -lean_object* x_206; -x_206 = lean_ctor_get(x_204, 3); -lean_inc(x_206); -if (lean_obj_tag(x_206) == 0) -{ -uint8_t x_207; -x_207 = !lean_is_exclusive(x_204); -if (x_207 == 0) -{ -lean_object* x_208; lean_object* x_209; uint8_t x_210; uint8_t x_211; -x_208 = lean_ctor_get(x_204, 3); -lean_dec(x_208); -x_209 = lean_ctor_get(x_204, 0); -lean_dec(x_209); -x_210 = 0; -lean_ctor_set(x_204, 0, x_206); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_210); -x_211 = 1; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_211); -return x_1; -} -else -{ -lean_object* x_212; lean_object* x_213; uint8_t x_214; lean_object* x_215; uint8_t x_216; -x_212 = lean_ctor_get(x_204, 1); -x_213 = lean_ctor_get(x_204, 2); -lean_inc(x_213); -lean_inc(x_212); -lean_dec(x_204); -x_214 = 0; -x_215 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_215, 0, x_206); -lean_ctor_set(x_215, 1, x_212); -lean_ctor_set(x_215, 2, x_213); -lean_ctor_set(x_215, 3, x_206); -lean_ctor_set_uint8(x_215, sizeof(void*)*4, x_214); -x_216 = 1; -lean_ctor_set(x_1, 3, x_215); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_216); -return x_1; -} -} -else -{ -uint8_t x_217; -x_217 = lean_ctor_get_uint8(x_206, sizeof(void*)*4); -if (x_217 == 0) -{ -uint8_t x_218; -x_218 = !lean_is_exclusive(x_204); -if (x_218 == 0) -{ -lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; uint8_t x_223; -x_219 = lean_ctor_get(x_204, 1); -x_220 = lean_ctor_get(x_204, 2); -x_221 = lean_ctor_get(x_204, 3); -lean_dec(x_221); -x_222 = lean_ctor_get(x_204, 0); -lean_dec(x_222); -x_223 = !lean_is_exclusive(x_206); -if (x_223 == 0) -{ -lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; uint8_t x_228; uint8_t x_229; -x_224 = lean_ctor_get(x_206, 0); -x_225 = lean_ctor_get(x_206, 1); -x_226 = lean_ctor_get(x_206, 2); -x_227 = lean_ctor_get(x_206, 3); -x_228 = 1; -lean_ctor_set(x_206, 3, x_205); -lean_ctor_set(x_206, 2, x_35); -lean_ctor_set(x_206, 1, x_34); -lean_ctor_set(x_206, 0, x_33); -lean_ctor_set_uint8(x_206, sizeof(void*)*4, x_228); -lean_ctor_set(x_204, 3, x_227); -lean_ctor_set(x_204, 2, x_226); -lean_ctor_set(x_204, 1, x_225); -lean_ctor_set(x_204, 0, x_224); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_228); -x_229 = 0; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set(x_1, 2, x_220); -lean_ctor_set(x_1, 1, x_219); -lean_ctor_set(x_1, 0, x_206); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_229); -return x_1; -} -else -{ -lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; uint8_t x_234; lean_object* x_235; uint8_t x_236; -x_230 = lean_ctor_get(x_206, 0); -x_231 = lean_ctor_get(x_206, 1); -x_232 = lean_ctor_get(x_206, 2); -x_233 = lean_ctor_get(x_206, 3); -lean_inc(x_233); -lean_inc(x_232); -lean_inc(x_231); -lean_inc(x_230); -lean_dec(x_206); -x_234 = 1; -x_235 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_235, 0, x_33); -lean_ctor_set(x_235, 1, x_34); -lean_ctor_set(x_235, 2, x_35); -lean_ctor_set(x_235, 3, x_205); -lean_ctor_set_uint8(x_235, sizeof(void*)*4, x_234); -lean_ctor_set(x_204, 3, x_233); -lean_ctor_set(x_204, 2, x_232); -lean_ctor_set(x_204, 1, x_231); -lean_ctor_set(x_204, 0, x_230); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_234); -x_236 = 0; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set(x_1, 2, x_220); -lean_ctor_set(x_1, 1, x_219); -lean_ctor_set(x_1, 0, x_235); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_236); -return x_1; -} -} -else -{ -lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; uint8_t x_244; lean_object* x_245; lean_object* x_246; uint8_t x_247; -x_237 = lean_ctor_get(x_204, 1); -x_238 = lean_ctor_get(x_204, 2); -lean_inc(x_238); -lean_inc(x_237); -lean_dec(x_204); -x_239 = lean_ctor_get(x_206, 0); -lean_inc(x_239); -x_240 = lean_ctor_get(x_206, 1); -lean_inc(x_240); -x_241 = lean_ctor_get(x_206, 2); -lean_inc(x_241); -x_242 = lean_ctor_get(x_206, 3); -lean_inc(x_242); -if (lean_is_exclusive(x_206)) { - lean_ctor_release(x_206, 0); - lean_ctor_release(x_206, 1); - lean_ctor_release(x_206, 2); - lean_ctor_release(x_206, 3); - x_243 = x_206; -} else { - lean_dec_ref(x_206); - x_243 = lean_box(0); -} -x_244 = 1; -if (lean_is_scalar(x_243)) { - x_245 = lean_alloc_ctor(1, 4, 1); -} else { - x_245 = x_243; -} -lean_ctor_set(x_245, 0, x_33); -lean_ctor_set(x_245, 1, x_34); -lean_ctor_set(x_245, 2, x_35); -lean_ctor_set(x_245, 3, x_205); -lean_ctor_set_uint8(x_245, sizeof(void*)*4, x_244); -x_246 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_246, 0, x_239); -lean_ctor_set(x_246, 1, x_240); -lean_ctor_set(x_246, 2, x_241); -lean_ctor_set(x_246, 3, x_242); -lean_ctor_set_uint8(x_246, sizeof(void*)*4, x_244); -x_247 = 0; -lean_ctor_set(x_1, 3, x_246); -lean_ctor_set(x_1, 2, x_238); -lean_ctor_set(x_1, 1, x_237); -lean_ctor_set(x_1, 0, x_245); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_247); -return x_1; -} -} -else -{ -uint8_t x_248; -x_248 = !lean_is_exclusive(x_204); -if (x_248 == 0) -{ -lean_object* x_249; lean_object* x_250; uint8_t x_251; uint8_t x_252; -x_249 = lean_ctor_get(x_204, 3); -lean_dec(x_249); -x_250 = lean_ctor_get(x_204, 0); -lean_dec(x_250); -x_251 = 0; -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_251); -x_252 = 1; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_252); -return x_1; -} -else -{ -lean_object* x_253; lean_object* x_254; uint8_t x_255; lean_object* x_256; uint8_t x_257; -x_253 = lean_ctor_get(x_204, 1); -x_254 = lean_ctor_get(x_204, 2); -lean_inc(x_254); -lean_inc(x_253); -lean_dec(x_204); -x_255 = 0; -x_256 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_256, 0, x_205); -lean_ctor_set(x_256, 1, x_253); -lean_ctor_set(x_256, 2, x_254); -lean_ctor_set(x_256, 3, x_206); -lean_ctor_set_uint8(x_256, sizeof(void*)*4, x_255); -x_257 = 1; -lean_ctor_set(x_1, 3, x_256); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_257); -return x_1; -} -} -} -} -else -{ -uint8_t x_258; -x_258 = lean_ctor_get_uint8(x_205, sizeof(void*)*4); -if (x_258 == 0) -{ -uint8_t x_259; -x_259 = !lean_is_exclusive(x_204); -if (x_259 == 0) -{ -lean_object* x_260; uint8_t x_261; -x_260 = lean_ctor_get(x_204, 0); -lean_dec(x_260); -x_261 = !lean_is_exclusive(x_205); -if (x_261 == 0) -{ -lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; uint8_t x_266; uint8_t x_267; -x_262 = lean_ctor_get(x_205, 0); -x_263 = lean_ctor_get(x_205, 1); -x_264 = lean_ctor_get(x_205, 2); -x_265 = lean_ctor_get(x_205, 3); -x_266 = 1; -lean_ctor_set(x_205, 3, x_262); -lean_ctor_set(x_205, 2, x_35); -lean_ctor_set(x_205, 1, x_34); -lean_ctor_set(x_205, 0, x_33); -lean_ctor_set_uint8(x_205, sizeof(void*)*4, x_266); -lean_ctor_set(x_204, 0, x_265); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_266); -x_267 = 0; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set(x_1, 2, x_264); -lean_ctor_set(x_1, 1, x_263); -lean_ctor_set(x_1, 0, x_205); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_267); -return x_1; -} -else -{ -lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; uint8_t x_272; lean_object* x_273; uint8_t x_274; -x_268 = lean_ctor_get(x_205, 0); -x_269 = lean_ctor_get(x_205, 1); -x_270 = lean_ctor_get(x_205, 2); -x_271 = lean_ctor_get(x_205, 3); -lean_inc(x_271); -lean_inc(x_270); -lean_inc(x_269); -lean_inc(x_268); -lean_dec(x_205); -x_272 = 1; -x_273 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_273, 0, x_33); -lean_ctor_set(x_273, 1, x_34); -lean_ctor_set(x_273, 2, x_35); -lean_ctor_set(x_273, 3, x_268); -lean_ctor_set_uint8(x_273, sizeof(void*)*4, x_272); -lean_ctor_set(x_204, 0, x_271); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_272); -x_274 = 0; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set(x_1, 2, x_270); -lean_ctor_set(x_1, 1, x_269); -lean_ctor_set(x_1, 0, x_273); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_274); -return x_1; -} -} -else -{ -lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; uint8_t x_283; lean_object* x_284; lean_object* x_285; uint8_t x_286; -x_275 = lean_ctor_get(x_204, 1); -x_276 = lean_ctor_get(x_204, 2); -x_277 = lean_ctor_get(x_204, 3); -lean_inc(x_277); -lean_inc(x_276); -lean_inc(x_275); -lean_dec(x_204); -x_278 = lean_ctor_get(x_205, 0); -lean_inc(x_278); -x_279 = lean_ctor_get(x_205, 1); -lean_inc(x_279); -x_280 = lean_ctor_get(x_205, 2); -lean_inc(x_280); -x_281 = lean_ctor_get(x_205, 3); -lean_inc(x_281); -if (lean_is_exclusive(x_205)) { - lean_ctor_release(x_205, 0); - lean_ctor_release(x_205, 1); - lean_ctor_release(x_205, 2); - lean_ctor_release(x_205, 3); - x_282 = x_205; -} else { - lean_dec_ref(x_205); - x_282 = lean_box(0); -} -x_283 = 1; -if (lean_is_scalar(x_282)) { - x_284 = lean_alloc_ctor(1, 4, 1); -} else { - x_284 = x_282; -} -lean_ctor_set(x_284, 0, x_33); -lean_ctor_set(x_284, 1, x_34); -lean_ctor_set(x_284, 2, x_35); -lean_ctor_set(x_284, 3, x_278); -lean_ctor_set_uint8(x_284, sizeof(void*)*4, x_283); -x_285 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_285, 0, x_281); -lean_ctor_set(x_285, 1, x_275); -lean_ctor_set(x_285, 2, x_276); -lean_ctor_set(x_285, 3, x_277); -lean_ctor_set_uint8(x_285, sizeof(void*)*4, x_283); -x_286 = 0; -lean_ctor_set(x_1, 3, x_285); -lean_ctor_set(x_1, 2, x_280); -lean_ctor_set(x_1, 1, x_279); -lean_ctor_set(x_1, 0, x_284); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_286); -return x_1; -} -} -else -{ -lean_object* x_287; -x_287 = lean_ctor_get(x_204, 3); -lean_inc(x_287); -if (lean_obj_tag(x_287) == 0) -{ -uint8_t x_288; -x_288 = !lean_is_exclusive(x_204); -if (x_288 == 0) -{ -lean_object* x_289; lean_object* x_290; uint8_t x_291; uint8_t x_292; -x_289 = lean_ctor_get(x_204, 3); -lean_dec(x_289); -x_290 = lean_ctor_get(x_204, 0); -lean_dec(x_290); -x_291 = 0; -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_291); -x_292 = 1; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_292); -return x_1; -} -else -{ -lean_object* x_293; lean_object* x_294; uint8_t x_295; lean_object* x_296; uint8_t x_297; -x_293 = lean_ctor_get(x_204, 1); -x_294 = lean_ctor_get(x_204, 2); -lean_inc(x_294); -lean_inc(x_293); -lean_dec(x_204); -x_295 = 0; -x_296 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_296, 0, x_205); -lean_ctor_set(x_296, 1, x_293); -lean_ctor_set(x_296, 2, x_294); -lean_ctor_set(x_296, 3, x_287); -lean_ctor_set_uint8(x_296, sizeof(void*)*4, x_295); -x_297 = 1; -lean_ctor_set(x_1, 3, x_296); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_297); -return x_1; -} -} -else -{ -uint8_t x_298; -x_298 = lean_ctor_get_uint8(x_287, sizeof(void*)*4); -if (x_298 == 0) -{ -uint8_t x_299; -lean_free_object(x_1); -x_299 = !lean_is_exclusive(x_204); -if (x_299 == 0) -{ -lean_object* x_300; lean_object* x_301; uint8_t x_302; -x_300 = lean_ctor_get(x_204, 3); -lean_dec(x_300); -x_301 = lean_ctor_get(x_204, 0); -lean_dec(x_301); -x_302 = !lean_is_exclusive(x_287); -if (x_302 == 0) -{ -lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; uint8_t x_307; uint8_t x_308; -x_303 = lean_ctor_get(x_287, 0); -x_304 = lean_ctor_get(x_287, 1); -x_305 = lean_ctor_get(x_287, 2); -x_306 = lean_ctor_get(x_287, 3); -x_307 = 1; -lean_inc(x_205); -lean_ctor_set(x_287, 3, x_205); -lean_ctor_set(x_287, 2, x_35); -lean_ctor_set(x_287, 1, x_34); -lean_ctor_set(x_287, 0, x_33); -x_308 = !lean_is_exclusive(x_205); -if (x_308 == 0) -{ -lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; uint8_t x_313; -x_309 = lean_ctor_get(x_205, 3); -lean_dec(x_309); -x_310 = lean_ctor_get(x_205, 2); -lean_dec(x_310); -x_311 = lean_ctor_get(x_205, 1); -lean_dec(x_311); -x_312 = lean_ctor_get(x_205, 0); -lean_dec(x_312); -lean_ctor_set_uint8(x_287, sizeof(void*)*4, x_307); -lean_ctor_set(x_205, 3, x_306); -lean_ctor_set(x_205, 2, x_305); -lean_ctor_set(x_205, 1, x_304); -lean_ctor_set(x_205, 0, x_303); -lean_ctor_set_uint8(x_205, sizeof(void*)*4, x_307); -x_313 = 0; -lean_ctor_set(x_204, 3, x_205); -lean_ctor_set(x_204, 0, x_287); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_313); -return x_204; -} -else -{ -lean_object* x_314; uint8_t x_315; -lean_dec(x_205); -lean_ctor_set_uint8(x_287, sizeof(void*)*4, x_307); -x_314 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_314, 0, x_303); -lean_ctor_set(x_314, 1, x_304); -lean_ctor_set(x_314, 2, x_305); -lean_ctor_set(x_314, 3, x_306); -lean_ctor_set_uint8(x_314, sizeof(void*)*4, x_307); -x_315 = 0; -lean_ctor_set(x_204, 3, x_314); -lean_ctor_set(x_204, 0, x_287); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_315); -return x_204; -} -} -else -{ -lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; uint8_t x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; uint8_t x_324; -x_316 = lean_ctor_get(x_287, 0); -x_317 = lean_ctor_get(x_287, 1); -x_318 = lean_ctor_get(x_287, 2); -x_319 = lean_ctor_get(x_287, 3); -lean_inc(x_319); -lean_inc(x_318); -lean_inc(x_317); -lean_inc(x_316); -lean_dec(x_287); -x_320 = 1; -lean_inc(x_205); -x_321 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_321, 0, x_33); -lean_ctor_set(x_321, 1, x_34); -lean_ctor_set(x_321, 2, x_35); -lean_ctor_set(x_321, 3, x_205); -if (lean_is_exclusive(x_205)) { - lean_ctor_release(x_205, 0); - lean_ctor_release(x_205, 1); - lean_ctor_release(x_205, 2); - lean_ctor_release(x_205, 3); - x_322 = x_205; -} else { - lean_dec_ref(x_205); - x_322 = lean_box(0); -} -lean_ctor_set_uint8(x_321, sizeof(void*)*4, x_320); -if (lean_is_scalar(x_322)) { - x_323 = lean_alloc_ctor(1, 4, 1); -} else { - x_323 = x_322; -} -lean_ctor_set(x_323, 0, x_316); -lean_ctor_set(x_323, 1, x_317); -lean_ctor_set(x_323, 2, x_318); -lean_ctor_set(x_323, 3, x_319); -lean_ctor_set_uint8(x_323, sizeof(void*)*4, x_320); -x_324 = 0; -lean_ctor_set(x_204, 3, x_323); -lean_ctor_set(x_204, 0, x_321); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_324); -return x_204; -} -} -else -{ -lean_object* x_325; lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; uint8_t x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; uint8_t x_336; lean_object* x_337; -x_325 = lean_ctor_get(x_204, 1); -x_326 = lean_ctor_get(x_204, 2); -lean_inc(x_326); -lean_inc(x_325); -lean_dec(x_204); -x_327 = lean_ctor_get(x_287, 0); -lean_inc(x_327); -x_328 = lean_ctor_get(x_287, 1); -lean_inc(x_328); -x_329 = lean_ctor_get(x_287, 2); -lean_inc(x_329); -x_330 = lean_ctor_get(x_287, 3); -lean_inc(x_330); -if (lean_is_exclusive(x_287)) { - lean_ctor_release(x_287, 0); - lean_ctor_release(x_287, 1); - lean_ctor_release(x_287, 2); - lean_ctor_release(x_287, 3); - x_331 = x_287; -} else { - lean_dec_ref(x_287); - x_331 = lean_box(0); -} -x_332 = 1; -lean_inc(x_205); -if (lean_is_scalar(x_331)) { - x_333 = lean_alloc_ctor(1, 4, 1); -} else { - x_333 = x_331; -} -lean_ctor_set(x_333, 0, x_33); -lean_ctor_set(x_333, 1, x_34); -lean_ctor_set(x_333, 2, x_35); -lean_ctor_set(x_333, 3, x_205); -if (lean_is_exclusive(x_205)) { - lean_ctor_release(x_205, 0); - lean_ctor_release(x_205, 1); - lean_ctor_release(x_205, 2); - lean_ctor_release(x_205, 3); - x_334 = x_205; -} else { - lean_dec_ref(x_205); - x_334 = lean_box(0); -} -lean_ctor_set_uint8(x_333, sizeof(void*)*4, x_332); -if (lean_is_scalar(x_334)) { - x_335 = lean_alloc_ctor(1, 4, 1); -} else { - x_335 = x_334; -} -lean_ctor_set(x_335, 0, x_327); -lean_ctor_set(x_335, 1, x_328); -lean_ctor_set(x_335, 2, x_329); -lean_ctor_set(x_335, 3, x_330); -lean_ctor_set_uint8(x_335, sizeof(void*)*4, x_332); -x_336 = 0; -x_337 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_337, 0, x_333); -lean_ctor_set(x_337, 1, x_325); -lean_ctor_set(x_337, 2, x_326); -lean_ctor_set(x_337, 3, x_335); -lean_ctor_set_uint8(x_337, sizeof(void*)*4, x_336); -return x_337; -} -} -else -{ -uint8_t x_338; -x_338 = !lean_is_exclusive(x_204); -if (x_338 == 0) -{ -lean_object* x_339; lean_object* x_340; uint8_t x_341; -x_339 = lean_ctor_get(x_204, 3); -lean_dec(x_339); -x_340 = lean_ctor_get(x_204, 0); -lean_dec(x_340); -x_341 = !lean_is_exclusive(x_205); -if (x_341 == 0) -{ -uint8_t x_342; uint8_t x_343; -lean_ctor_set_uint8(x_205, sizeof(void*)*4, x_298); -x_342 = 0; -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_342); -x_343 = 1; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_343); -return x_1; -} -else -{ -lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; uint8_t x_349; uint8_t x_350; -x_344 = lean_ctor_get(x_205, 0); -x_345 = lean_ctor_get(x_205, 1); -x_346 = lean_ctor_get(x_205, 2); -x_347 = lean_ctor_get(x_205, 3); -lean_inc(x_347); -lean_inc(x_346); -lean_inc(x_345); -lean_inc(x_344); -lean_dec(x_205); -x_348 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_348, 0, x_344); -lean_ctor_set(x_348, 1, x_345); -lean_ctor_set(x_348, 2, x_346); -lean_ctor_set(x_348, 3, x_347); -lean_ctor_set_uint8(x_348, sizeof(void*)*4, x_298); -x_349 = 0; -lean_ctor_set(x_204, 0, x_348); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_349); -x_350 = 1; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_350); -return x_1; -} -} -else -{ -lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; uint8_t x_359; lean_object* x_360; uint8_t x_361; -x_351 = lean_ctor_get(x_204, 1); -x_352 = lean_ctor_get(x_204, 2); -lean_inc(x_352); -lean_inc(x_351); -lean_dec(x_204); -x_353 = lean_ctor_get(x_205, 0); -lean_inc(x_353); -x_354 = lean_ctor_get(x_205, 1); -lean_inc(x_354); -x_355 = lean_ctor_get(x_205, 2); -lean_inc(x_355); -x_356 = lean_ctor_get(x_205, 3); -lean_inc(x_356); -if (lean_is_exclusive(x_205)) { - lean_ctor_release(x_205, 0); - lean_ctor_release(x_205, 1); - lean_ctor_release(x_205, 2); - lean_ctor_release(x_205, 3); - x_357 = x_205; -} else { - lean_dec_ref(x_205); - x_357 = lean_box(0); -} -if (lean_is_scalar(x_357)) { - x_358 = lean_alloc_ctor(1, 4, 1); -} else { - x_358 = x_357; -} -lean_ctor_set(x_358, 0, x_353); -lean_ctor_set(x_358, 1, x_354); -lean_ctor_set(x_358, 2, x_355); -lean_ctor_set(x_358, 3, x_356); -lean_ctor_set_uint8(x_358, sizeof(void*)*4, x_298); -x_359 = 0; -x_360 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_360, 0, x_358); -lean_ctor_set(x_360, 1, x_351); -lean_ctor_set(x_360, 2, x_352); -lean_ctor_set(x_360, 3, x_287); -lean_ctor_set_uint8(x_360, sizeof(void*)*4, x_359); -x_361 = 1; -lean_ctor_set(x_1, 3, x_360); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_361); -return x_1; -} -} -} -} -} -} -} -} -} -else -{ -lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; uint8_t x_366; -x_362 = lean_ctor_get(x_1, 0); -x_363 = lean_ctor_get(x_1, 1); -x_364 = lean_ctor_get(x_1, 2); -x_365 = lean_ctor_get(x_1, 3); -lean_inc(x_365); -lean_inc(x_364); -lean_inc(x_363); -lean_inc(x_362); -lean_dec(x_1); -x_366 = l_Lean_Name_quickCmp(x_2, x_363); -switch (x_366) { -case 0: -{ -uint8_t x_367; -x_367 = l_Std_RBNode_isRed___rarg(x_362); -if (x_367 == 0) -{ -lean_object* x_368; uint8_t x_369; lean_object* x_370; -x_368 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_362, x_2, x_3); -x_369 = 1; -x_370 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_370, 0, x_368); -lean_ctor_set(x_370, 1, x_363); -lean_ctor_set(x_370, 2, x_364); -lean_ctor_set(x_370, 3, x_365); -lean_ctor_set_uint8(x_370, sizeof(void*)*4, x_369); -return x_370; -} -else -{ -lean_object* x_371; lean_object* x_372; -x_371 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_362, x_2, x_3); -x_372 = lean_ctor_get(x_371, 0); -lean_inc(x_372); -if (lean_obj_tag(x_372) == 0) -{ -lean_object* x_373; -x_373 = lean_ctor_get(x_371, 3); -lean_inc(x_373); -if (lean_obj_tag(x_373) == 0) -{ -lean_object* x_374; lean_object* x_375; lean_object* x_376; uint8_t x_377; lean_object* x_378; uint8_t x_379; lean_object* x_380; -x_374 = lean_ctor_get(x_371, 1); -lean_inc(x_374); -x_375 = lean_ctor_get(x_371, 2); -lean_inc(x_375); -if (lean_is_exclusive(x_371)) { - lean_ctor_release(x_371, 0); - lean_ctor_release(x_371, 1); - lean_ctor_release(x_371, 2); - lean_ctor_release(x_371, 3); - x_376 = x_371; -} else { - lean_dec_ref(x_371); - x_376 = lean_box(0); -} -x_377 = 0; -if (lean_is_scalar(x_376)) { - x_378 = lean_alloc_ctor(1, 4, 1); -} else { - x_378 = x_376; -} -lean_ctor_set(x_378, 0, x_373); -lean_ctor_set(x_378, 1, x_374); -lean_ctor_set(x_378, 2, x_375); -lean_ctor_set(x_378, 3, x_373); -lean_ctor_set_uint8(x_378, sizeof(void*)*4, x_377); -x_379 = 1; -x_380 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_380, 0, x_378); -lean_ctor_set(x_380, 1, x_363); -lean_ctor_set(x_380, 2, x_364); -lean_ctor_set(x_380, 3, x_365); -lean_ctor_set_uint8(x_380, sizeof(void*)*4, x_379); -return x_380; -} -else -{ -uint8_t x_381; -x_381 = lean_ctor_get_uint8(x_373, sizeof(void*)*4); -if (x_381 == 0) -{ -lean_object* x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; uint8_t x_390; lean_object* x_391; lean_object* x_392; uint8_t x_393; lean_object* x_394; -x_382 = lean_ctor_get(x_371, 1); -lean_inc(x_382); -x_383 = lean_ctor_get(x_371, 2); -lean_inc(x_383); -if (lean_is_exclusive(x_371)) { - lean_ctor_release(x_371, 0); - lean_ctor_release(x_371, 1); - lean_ctor_release(x_371, 2); - lean_ctor_release(x_371, 3); - x_384 = x_371; -} else { - lean_dec_ref(x_371); - x_384 = lean_box(0); -} -x_385 = lean_ctor_get(x_373, 0); -lean_inc(x_385); -x_386 = lean_ctor_get(x_373, 1); -lean_inc(x_386); -x_387 = lean_ctor_get(x_373, 2); -lean_inc(x_387); -x_388 = lean_ctor_get(x_373, 3); -lean_inc(x_388); -if (lean_is_exclusive(x_373)) { - lean_ctor_release(x_373, 0); - lean_ctor_release(x_373, 1); - lean_ctor_release(x_373, 2); - lean_ctor_release(x_373, 3); - x_389 = x_373; -} else { - lean_dec_ref(x_373); - x_389 = lean_box(0); -} -x_390 = 1; -if (lean_is_scalar(x_389)) { - x_391 = lean_alloc_ctor(1, 4, 1); -} else { - x_391 = x_389; -} -lean_ctor_set(x_391, 0, x_372); -lean_ctor_set(x_391, 1, x_382); -lean_ctor_set(x_391, 2, x_383); -lean_ctor_set(x_391, 3, x_385); -lean_ctor_set_uint8(x_391, sizeof(void*)*4, x_390); -if (lean_is_scalar(x_384)) { - x_392 = lean_alloc_ctor(1, 4, 1); -} else { - x_392 = x_384; -} -lean_ctor_set(x_392, 0, x_388); -lean_ctor_set(x_392, 1, x_363); -lean_ctor_set(x_392, 2, x_364); -lean_ctor_set(x_392, 3, x_365); -lean_ctor_set_uint8(x_392, sizeof(void*)*4, x_390); -x_393 = 0; -x_394 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_394, 0, x_391); -lean_ctor_set(x_394, 1, x_386); -lean_ctor_set(x_394, 2, x_387); -lean_ctor_set(x_394, 3, x_392); -lean_ctor_set_uint8(x_394, sizeof(void*)*4, x_393); -return x_394; -} -else -{ -lean_object* x_395; lean_object* x_396; lean_object* x_397; uint8_t x_398; lean_object* x_399; uint8_t x_400; lean_object* x_401; -x_395 = lean_ctor_get(x_371, 1); -lean_inc(x_395); -x_396 = lean_ctor_get(x_371, 2); -lean_inc(x_396); -if (lean_is_exclusive(x_371)) { - lean_ctor_release(x_371, 0); - lean_ctor_release(x_371, 1); - lean_ctor_release(x_371, 2); - lean_ctor_release(x_371, 3); - x_397 = x_371; -} else { - lean_dec_ref(x_371); - x_397 = lean_box(0); -} -x_398 = 0; -if (lean_is_scalar(x_397)) { - x_399 = lean_alloc_ctor(1, 4, 1); -} else { - x_399 = x_397; -} -lean_ctor_set(x_399, 0, x_372); -lean_ctor_set(x_399, 1, x_395); -lean_ctor_set(x_399, 2, x_396); -lean_ctor_set(x_399, 3, x_373); -lean_ctor_set_uint8(x_399, sizeof(void*)*4, x_398); -x_400 = 1; -x_401 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_401, 0, x_399); -lean_ctor_set(x_401, 1, x_363); -lean_ctor_set(x_401, 2, x_364); -lean_ctor_set(x_401, 3, x_365); -lean_ctor_set_uint8(x_401, sizeof(void*)*4, x_400); -return x_401; -} -} -} -else -{ -uint8_t x_402; -x_402 = lean_ctor_get_uint8(x_372, sizeof(void*)*4); -if (x_402 == 0) -{ -lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; uint8_t x_412; lean_object* x_413; lean_object* x_414; uint8_t x_415; lean_object* x_416; -x_403 = lean_ctor_get(x_371, 1); -lean_inc(x_403); -x_404 = lean_ctor_get(x_371, 2); -lean_inc(x_404); -x_405 = lean_ctor_get(x_371, 3); -lean_inc(x_405); -if (lean_is_exclusive(x_371)) { - lean_ctor_release(x_371, 0); - lean_ctor_release(x_371, 1); - lean_ctor_release(x_371, 2); - lean_ctor_release(x_371, 3); - x_406 = x_371; -} else { - lean_dec_ref(x_371); - x_406 = lean_box(0); -} -x_407 = lean_ctor_get(x_372, 0); -lean_inc(x_407); -x_408 = lean_ctor_get(x_372, 1); -lean_inc(x_408); -x_409 = lean_ctor_get(x_372, 2); -lean_inc(x_409); -x_410 = lean_ctor_get(x_372, 3); -lean_inc(x_410); -if (lean_is_exclusive(x_372)) { - lean_ctor_release(x_372, 0); - lean_ctor_release(x_372, 1); - lean_ctor_release(x_372, 2); - lean_ctor_release(x_372, 3); - x_411 = x_372; -} else { - lean_dec_ref(x_372); - x_411 = lean_box(0); -} -x_412 = 1; -if (lean_is_scalar(x_411)) { - x_413 = lean_alloc_ctor(1, 4, 1); -} else { - x_413 = x_411; -} -lean_ctor_set(x_413, 0, x_407); -lean_ctor_set(x_413, 1, x_408); -lean_ctor_set(x_413, 2, x_409); -lean_ctor_set(x_413, 3, x_410); -lean_ctor_set_uint8(x_413, sizeof(void*)*4, x_412); -if (lean_is_scalar(x_406)) { - x_414 = lean_alloc_ctor(1, 4, 1); -} else { - x_414 = x_406; -} -lean_ctor_set(x_414, 0, x_405); -lean_ctor_set(x_414, 1, x_363); -lean_ctor_set(x_414, 2, x_364); -lean_ctor_set(x_414, 3, x_365); -lean_ctor_set_uint8(x_414, sizeof(void*)*4, x_412); -x_415 = 0; -x_416 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_416, 0, x_413); -lean_ctor_set(x_416, 1, x_403); -lean_ctor_set(x_416, 2, x_404); -lean_ctor_set(x_416, 3, x_414); -lean_ctor_set_uint8(x_416, sizeof(void*)*4, x_415); -return x_416; -} -else -{ -lean_object* x_417; -x_417 = lean_ctor_get(x_371, 3); -lean_inc(x_417); -if (lean_obj_tag(x_417) == 0) -{ -lean_object* x_418; lean_object* x_419; lean_object* x_420; uint8_t x_421; lean_object* x_422; uint8_t x_423; lean_object* x_424; -x_418 = lean_ctor_get(x_371, 1); -lean_inc(x_418); -x_419 = lean_ctor_get(x_371, 2); -lean_inc(x_419); -if (lean_is_exclusive(x_371)) { - lean_ctor_release(x_371, 0); - lean_ctor_release(x_371, 1); - lean_ctor_release(x_371, 2); - lean_ctor_release(x_371, 3); - x_420 = x_371; -} else { - lean_dec_ref(x_371); - x_420 = lean_box(0); -} -x_421 = 0; -if (lean_is_scalar(x_420)) { - x_422 = lean_alloc_ctor(1, 4, 1); -} else { - x_422 = x_420; -} -lean_ctor_set(x_422, 0, x_372); -lean_ctor_set(x_422, 1, x_418); -lean_ctor_set(x_422, 2, x_419); -lean_ctor_set(x_422, 3, x_417); -lean_ctor_set_uint8(x_422, sizeof(void*)*4, x_421); -x_423 = 1; -x_424 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_424, 0, x_422); -lean_ctor_set(x_424, 1, x_363); -lean_ctor_set(x_424, 2, x_364); -lean_ctor_set(x_424, 3, x_365); -lean_ctor_set_uint8(x_424, sizeof(void*)*4, x_423); -return x_424; -} -else -{ -uint8_t x_425; -x_425 = lean_ctor_get_uint8(x_417, sizeof(void*)*4); -if (x_425 == 0) -{ -lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; uint8_t x_434; lean_object* x_435; lean_object* x_436; lean_object* x_437; uint8_t x_438; lean_object* x_439; -x_426 = lean_ctor_get(x_371, 1); -lean_inc(x_426); -x_427 = lean_ctor_get(x_371, 2); -lean_inc(x_427); -if (lean_is_exclusive(x_371)) { - lean_ctor_release(x_371, 0); - lean_ctor_release(x_371, 1); - lean_ctor_release(x_371, 2); - lean_ctor_release(x_371, 3); - x_428 = x_371; -} else { - lean_dec_ref(x_371); - x_428 = lean_box(0); -} -x_429 = lean_ctor_get(x_417, 0); -lean_inc(x_429); -x_430 = lean_ctor_get(x_417, 1); -lean_inc(x_430); -x_431 = lean_ctor_get(x_417, 2); -lean_inc(x_431); -x_432 = lean_ctor_get(x_417, 3); -lean_inc(x_432); -if (lean_is_exclusive(x_417)) { - lean_ctor_release(x_417, 0); - lean_ctor_release(x_417, 1); - lean_ctor_release(x_417, 2); - lean_ctor_release(x_417, 3); - x_433 = x_417; -} else { - lean_dec_ref(x_417); - x_433 = lean_box(0); -} -x_434 = 1; -lean_inc(x_372); -if (lean_is_scalar(x_433)) { - x_435 = lean_alloc_ctor(1, 4, 1); -} else { - x_435 = x_433; -} -lean_ctor_set(x_435, 0, x_372); -lean_ctor_set(x_435, 1, x_426); -lean_ctor_set(x_435, 2, x_427); -lean_ctor_set(x_435, 3, x_429); -if (lean_is_exclusive(x_372)) { - lean_ctor_release(x_372, 0); - lean_ctor_release(x_372, 1); - lean_ctor_release(x_372, 2); - lean_ctor_release(x_372, 3); - x_436 = x_372; -} else { - lean_dec_ref(x_372); - x_436 = lean_box(0); -} -lean_ctor_set_uint8(x_435, sizeof(void*)*4, x_434); -if (lean_is_scalar(x_436)) { - x_437 = lean_alloc_ctor(1, 4, 1); -} else { - x_437 = x_436; -} -lean_ctor_set(x_437, 0, x_432); -lean_ctor_set(x_437, 1, x_363); -lean_ctor_set(x_437, 2, x_364); -lean_ctor_set(x_437, 3, x_365); -lean_ctor_set_uint8(x_437, sizeof(void*)*4, x_434); -x_438 = 0; -if (lean_is_scalar(x_428)) { - x_439 = lean_alloc_ctor(1, 4, 1); -} else { - x_439 = x_428; -} -lean_ctor_set(x_439, 0, x_435); -lean_ctor_set(x_439, 1, x_430); -lean_ctor_set(x_439, 2, x_431); -lean_ctor_set(x_439, 3, x_437); -lean_ctor_set_uint8(x_439, sizeof(void*)*4, x_438); -return x_439; -} -else -{ -lean_object* x_440; lean_object* x_441; lean_object* x_442; lean_object* x_443; lean_object* x_444; lean_object* x_445; lean_object* x_446; lean_object* x_447; lean_object* x_448; uint8_t x_449; lean_object* x_450; uint8_t x_451; lean_object* x_452; -x_440 = lean_ctor_get(x_371, 1); -lean_inc(x_440); -x_441 = lean_ctor_get(x_371, 2); -lean_inc(x_441); -if (lean_is_exclusive(x_371)) { - lean_ctor_release(x_371, 0); - lean_ctor_release(x_371, 1); - lean_ctor_release(x_371, 2); - lean_ctor_release(x_371, 3); - x_442 = x_371; -} else { - lean_dec_ref(x_371); - x_442 = lean_box(0); -} -x_443 = lean_ctor_get(x_372, 0); -lean_inc(x_443); -x_444 = lean_ctor_get(x_372, 1); -lean_inc(x_444); -x_445 = lean_ctor_get(x_372, 2); -lean_inc(x_445); -x_446 = lean_ctor_get(x_372, 3); -lean_inc(x_446); -if (lean_is_exclusive(x_372)) { - lean_ctor_release(x_372, 0); - lean_ctor_release(x_372, 1); - lean_ctor_release(x_372, 2); - lean_ctor_release(x_372, 3); - x_447 = x_372; -} else { - lean_dec_ref(x_372); - x_447 = lean_box(0); -} -if (lean_is_scalar(x_447)) { - x_448 = lean_alloc_ctor(1, 4, 1); -} else { - x_448 = x_447; -} -lean_ctor_set(x_448, 0, x_443); -lean_ctor_set(x_448, 1, x_444); -lean_ctor_set(x_448, 2, x_445); -lean_ctor_set(x_448, 3, x_446); -lean_ctor_set_uint8(x_448, sizeof(void*)*4, x_425); -x_449 = 0; -if (lean_is_scalar(x_442)) { - x_450 = lean_alloc_ctor(1, 4, 1); -} else { - x_450 = x_442; -} -lean_ctor_set(x_450, 0, x_448); -lean_ctor_set(x_450, 1, x_440); -lean_ctor_set(x_450, 2, x_441); -lean_ctor_set(x_450, 3, x_417); -lean_ctor_set_uint8(x_450, sizeof(void*)*4, x_449); -x_451 = 1; -x_452 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_452, 0, x_450); -lean_ctor_set(x_452, 1, x_363); -lean_ctor_set(x_452, 2, x_364); -lean_ctor_set(x_452, 3, x_365); -lean_ctor_set_uint8(x_452, sizeof(void*)*4, x_451); -return x_452; -} -} -} -} -} -} -case 1: -{ -uint8_t x_453; lean_object* x_454; -lean_dec(x_364); -lean_dec(x_363); -x_453 = 1; -x_454 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_454, 0, x_362); -lean_ctor_set(x_454, 1, x_2); -lean_ctor_set(x_454, 2, x_3); -lean_ctor_set(x_454, 3, x_365); -lean_ctor_set_uint8(x_454, sizeof(void*)*4, x_453); -return x_454; -} -default: -{ -uint8_t x_455; -x_455 = l_Std_RBNode_isRed___rarg(x_365); -if (x_455 == 0) -{ -lean_object* x_456; uint8_t x_457; lean_object* x_458; -x_456 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_365, x_2, x_3); -x_457 = 1; -x_458 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_458, 0, x_362); -lean_ctor_set(x_458, 1, x_363); -lean_ctor_set(x_458, 2, x_364); -lean_ctor_set(x_458, 3, x_456); -lean_ctor_set_uint8(x_458, sizeof(void*)*4, x_457); -return x_458; -} -else -{ -lean_object* x_459; lean_object* x_460; -x_459 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_365, x_2, x_3); -x_460 = lean_ctor_get(x_459, 0); -lean_inc(x_460); -if (lean_obj_tag(x_460) == 0) -{ -lean_object* x_461; -x_461 = lean_ctor_get(x_459, 3); -lean_inc(x_461); -if (lean_obj_tag(x_461) == 0) -{ -lean_object* x_462; lean_object* x_463; lean_object* x_464; uint8_t x_465; lean_object* x_466; uint8_t x_467; lean_object* x_468; -x_462 = lean_ctor_get(x_459, 1); -lean_inc(x_462); -x_463 = lean_ctor_get(x_459, 2); -lean_inc(x_463); -if (lean_is_exclusive(x_459)) { - lean_ctor_release(x_459, 0); - lean_ctor_release(x_459, 1); - lean_ctor_release(x_459, 2); - lean_ctor_release(x_459, 3); - x_464 = x_459; -} else { - lean_dec_ref(x_459); - x_464 = lean_box(0); -} -x_465 = 0; -if (lean_is_scalar(x_464)) { - x_466 = lean_alloc_ctor(1, 4, 1); -} else { - x_466 = x_464; -} -lean_ctor_set(x_466, 0, x_461); -lean_ctor_set(x_466, 1, x_462); -lean_ctor_set(x_466, 2, x_463); -lean_ctor_set(x_466, 3, x_461); -lean_ctor_set_uint8(x_466, sizeof(void*)*4, x_465); -x_467 = 1; -x_468 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_468, 0, x_362); -lean_ctor_set(x_468, 1, x_363); -lean_ctor_set(x_468, 2, x_364); -lean_ctor_set(x_468, 3, x_466); -lean_ctor_set_uint8(x_468, sizeof(void*)*4, x_467); -return x_468; -} -else -{ -uint8_t x_469; -x_469 = lean_ctor_get_uint8(x_461, sizeof(void*)*4); -if (x_469 == 0) -{ -lean_object* x_470; lean_object* x_471; lean_object* x_472; lean_object* x_473; lean_object* x_474; lean_object* x_475; lean_object* x_476; lean_object* x_477; uint8_t x_478; lean_object* x_479; lean_object* x_480; uint8_t x_481; lean_object* x_482; -x_470 = lean_ctor_get(x_459, 1); -lean_inc(x_470); -x_471 = lean_ctor_get(x_459, 2); -lean_inc(x_471); -if (lean_is_exclusive(x_459)) { - lean_ctor_release(x_459, 0); - lean_ctor_release(x_459, 1); - lean_ctor_release(x_459, 2); - lean_ctor_release(x_459, 3); - x_472 = x_459; -} else { - lean_dec_ref(x_459); - x_472 = lean_box(0); -} -x_473 = lean_ctor_get(x_461, 0); -lean_inc(x_473); -x_474 = lean_ctor_get(x_461, 1); -lean_inc(x_474); -x_475 = lean_ctor_get(x_461, 2); -lean_inc(x_475); -x_476 = lean_ctor_get(x_461, 3); -lean_inc(x_476); -if (lean_is_exclusive(x_461)) { - lean_ctor_release(x_461, 0); - lean_ctor_release(x_461, 1); - lean_ctor_release(x_461, 2); - lean_ctor_release(x_461, 3); - x_477 = x_461; -} else { - lean_dec_ref(x_461); - x_477 = lean_box(0); -} -x_478 = 1; -if (lean_is_scalar(x_477)) { - x_479 = lean_alloc_ctor(1, 4, 1); -} else { - x_479 = x_477; -} -lean_ctor_set(x_479, 0, x_362); -lean_ctor_set(x_479, 1, x_363); -lean_ctor_set(x_479, 2, x_364); -lean_ctor_set(x_479, 3, x_460); -lean_ctor_set_uint8(x_479, sizeof(void*)*4, x_478); -if (lean_is_scalar(x_472)) { - x_480 = lean_alloc_ctor(1, 4, 1); -} else { - x_480 = x_472; -} -lean_ctor_set(x_480, 0, x_473); -lean_ctor_set(x_480, 1, x_474); -lean_ctor_set(x_480, 2, x_475); -lean_ctor_set(x_480, 3, x_476); -lean_ctor_set_uint8(x_480, sizeof(void*)*4, x_478); -x_481 = 0; -x_482 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_482, 0, x_479); -lean_ctor_set(x_482, 1, x_470); -lean_ctor_set(x_482, 2, x_471); -lean_ctor_set(x_482, 3, x_480); -lean_ctor_set_uint8(x_482, sizeof(void*)*4, x_481); -return x_482; -} -else -{ -lean_object* x_483; lean_object* x_484; lean_object* x_485; uint8_t x_486; lean_object* x_487; uint8_t x_488; lean_object* x_489; -x_483 = lean_ctor_get(x_459, 1); -lean_inc(x_483); -x_484 = lean_ctor_get(x_459, 2); -lean_inc(x_484); -if (lean_is_exclusive(x_459)) { - lean_ctor_release(x_459, 0); - lean_ctor_release(x_459, 1); - lean_ctor_release(x_459, 2); - lean_ctor_release(x_459, 3); - x_485 = x_459; -} else { - lean_dec_ref(x_459); - x_485 = lean_box(0); -} -x_486 = 0; -if (lean_is_scalar(x_485)) { - x_487 = lean_alloc_ctor(1, 4, 1); -} else { - x_487 = x_485; -} -lean_ctor_set(x_487, 0, x_460); -lean_ctor_set(x_487, 1, x_483); -lean_ctor_set(x_487, 2, x_484); -lean_ctor_set(x_487, 3, x_461); -lean_ctor_set_uint8(x_487, sizeof(void*)*4, x_486); -x_488 = 1; -x_489 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_489, 0, x_362); -lean_ctor_set(x_489, 1, x_363); -lean_ctor_set(x_489, 2, x_364); -lean_ctor_set(x_489, 3, x_487); -lean_ctor_set_uint8(x_489, sizeof(void*)*4, x_488); -return x_489; -} -} -} -else -{ -uint8_t x_490; -x_490 = lean_ctor_get_uint8(x_460, sizeof(void*)*4); -if (x_490 == 0) -{ -lean_object* x_491; lean_object* x_492; lean_object* x_493; lean_object* x_494; lean_object* x_495; lean_object* x_496; lean_object* x_497; lean_object* x_498; lean_object* x_499; uint8_t x_500; lean_object* x_501; lean_object* x_502; uint8_t x_503; lean_object* x_504; -x_491 = lean_ctor_get(x_459, 1); -lean_inc(x_491); -x_492 = lean_ctor_get(x_459, 2); -lean_inc(x_492); -x_493 = lean_ctor_get(x_459, 3); -lean_inc(x_493); -if (lean_is_exclusive(x_459)) { - lean_ctor_release(x_459, 0); - lean_ctor_release(x_459, 1); - lean_ctor_release(x_459, 2); - lean_ctor_release(x_459, 3); - x_494 = x_459; -} else { - lean_dec_ref(x_459); - x_494 = lean_box(0); -} -x_495 = lean_ctor_get(x_460, 0); -lean_inc(x_495); -x_496 = lean_ctor_get(x_460, 1); -lean_inc(x_496); -x_497 = lean_ctor_get(x_460, 2); -lean_inc(x_497); -x_498 = lean_ctor_get(x_460, 3); -lean_inc(x_498); -if (lean_is_exclusive(x_460)) { - lean_ctor_release(x_460, 0); - lean_ctor_release(x_460, 1); - lean_ctor_release(x_460, 2); - lean_ctor_release(x_460, 3); - x_499 = x_460; -} else { - lean_dec_ref(x_460); - x_499 = lean_box(0); -} -x_500 = 1; -if (lean_is_scalar(x_499)) { - x_501 = lean_alloc_ctor(1, 4, 1); -} else { - x_501 = x_499; -} -lean_ctor_set(x_501, 0, x_362); -lean_ctor_set(x_501, 1, x_363); -lean_ctor_set(x_501, 2, x_364); -lean_ctor_set(x_501, 3, x_495); -lean_ctor_set_uint8(x_501, sizeof(void*)*4, x_500); -if (lean_is_scalar(x_494)) { - x_502 = lean_alloc_ctor(1, 4, 1); -} else { - x_502 = x_494; -} -lean_ctor_set(x_502, 0, x_498); -lean_ctor_set(x_502, 1, x_491); -lean_ctor_set(x_502, 2, x_492); -lean_ctor_set(x_502, 3, x_493); -lean_ctor_set_uint8(x_502, sizeof(void*)*4, x_500); -x_503 = 0; -x_504 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_504, 0, x_501); -lean_ctor_set(x_504, 1, x_496); -lean_ctor_set(x_504, 2, x_497); -lean_ctor_set(x_504, 3, x_502); -lean_ctor_set_uint8(x_504, sizeof(void*)*4, x_503); -return x_504; -} -else -{ -lean_object* x_505; -x_505 = lean_ctor_get(x_459, 3); -lean_inc(x_505); -if (lean_obj_tag(x_505) == 0) -{ -lean_object* x_506; lean_object* x_507; lean_object* x_508; uint8_t x_509; lean_object* x_510; uint8_t x_511; lean_object* x_512; -x_506 = lean_ctor_get(x_459, 1); -lean_inc(x_506); -x_507 = lean_ctor_get(x_459, 2); -lean_inc(x_507); -if (lean_is_exclusive(x_459)) { - lean_ctor_release(x_459, 0); - lean_ctor_release(x_459, 1); - lean_ctor_release(x_459, 2); - lean_ctor_release(x_459, 3); - x_508 = x_459; -} else { - lean_dec_ref(x_459); - x_508 = lean_box(0); -} -x_509 = 0; -if (lean_is_scalar(x_508)) { - x_510 = lean_alloc_ctor(1, 4, 1); -} else { - x_510 = x_508; -} -lean_ctor_set(x_510, 0, x_460); -lean_ctor_set(x_510, 1, x_506); -lean_ctor_set(x_510, 2, x_507); -lean_ctor_set(x_510, 3, x_505); -lean_ctor_set_uint8(x_510, sizeof(void*)*4, x_509); -x_511 = 1; -x_512 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_512, 0, x_362); -lean_ctor_set(x_512, 1, x_363); -lean_ctor_set(x_512, 2, x_364); -lean_ctor_set(x_512, 3, x_510); -lean_ctor_set_uint8(x_512, sizeof(void*)*4, x_511); -return x_512; -} -else -{ -uint8_t x_513; -x_513 = lean_ctor_get_uint8(x_505, sizeof(void*)*4); -if (x_513 == 0) -{ -lean_object* x_514; lean_object* x_515; lean_object* x_516; lean_object* x_517; lean_object* x_518; lean_object* x_519; lean_object* x_520; lean_object* x_521; uint8_t x_522; lean_object* x_523; lean_object* x_524; lean_object* x_525; uint8_t x_526; lean_object* x_527; -x_514 = lean_ctor_get(x_459, 1); -lean_inc(x_514); -x_515 = lean_ctor_get(x_459, 2); -lean_inc(x_515); -if (lean_is_exclusive(x_459)) { - lean_ctor_release(x_459, 0); - lean_ctor_release(x_459, 1); - lean_ctor_release(x_459, 2); - lean_ctor_release(x_459, 3); - x_516 = x_459; -} else { - lean_dec_ref(x_459); - x_516 = lean_box(0); -} -x_517 = lean_ctor_get(x_505, 0); -lean_inc(x_517); -x_518 = lean_ctor_get(x_505, 1); -lean_inc(x_518); -x_519 = lean_ctor_get(x_505, 2); -lean_inc(x_519); -x_520 = lean_ctor_get(x_505, 3); -lean_inc(x_520); -if (lean_is_exclusive(x_505)) { - lean_ctor_release(x_505, 0); - lean_ctor_release(x_505, 1); - lean_ctor_release(x_505, 2); - lean_ctor_release(x_505, 3); - x_521 = x_505; -} else { - lean_dec_ref(x_505); - x_521 = lean_box(0); -} -x_522 = 1; -lean_inc(x_460); -if (lean_is_scalar(x_521)) { - x_523 = lean_alloc_ctor(1, 4, 1); -} else { - x_523 = x_521; -} -lean_ctor_set(x_523, 0, x_362); -lean_ctor_set(x_523, 1, x_363); -lean_ctor_set(x_523, 2, x_364); -lean_ctor_set(x_523, 3, x_460); -if (lean_is_exclusive(x_460)) { - lean_ctor_release(x_460, 0); - lean_ctor_release(x_460, 1); - lean_ctor_release(x_460, 2); - lean_ctor_release(x_460, 3); - x_524 = x_460; -} else { - lean_dec_ref(x_460); - x_524 = lean_box(0); -} -lean_ctor_set_uint8(x_523, sizeof(void*)*4, x_522); -if (lean_is_scalar(x_524)) { - x_525 = lean_alloc_ctor(1, 4, 1); -} else { - x_525 = x_524; -} -lean_ctor_set(x_525, 0, x_517); -lean_ctor_set(x_525, 1, x_518); -lean_ctor_set(x_525, 2, x_519); -lean_ctor_set(x_525, 3, x_520); -lean_ctor_set_uint8(x_525, sizeof(void*)*4, x_522); -x_526 = 0; -if (lean_is_scalar(x_516)) { - x_527 = lean_alloc_ctor(1, 4, 1); -} else { - x_527 = x_516; -} -lean_ctor_set(x_527, 0, x_523); -lean_ctor_set(x_527, 1, x_514); -lean_ctor_set(x_527, 2, x_515); -lean_ctor_set(x_527, 3, x_525); -lean_ctor_set_uint8(x_527, sizeof(void*)*4, x_526); -return x_527; -} -else -{ -lean_object* x_528; lean_object* x_529; lean_object* x_530; lean_object* x_531; lean_object* x_532; lean_object* x_533; lean_object* x_534; lean_object* x_535; lean_object* x_536; uint8_t x_537; lean_object* x_538; uint8_t x_539; lean_object* x_540; -x_528 = lean_ctor_get(x_459, 1); -lean_inc(x_528); -x_529 = lean_ctor_get(x_459, 2); -lean_inc(x_529); -if (lean_is_exclusive(x_459)) { - lean_ctor_release(x_459, 0); - lean_ctor_release(x_459, 1); - lean_ctor_release(x_459, 2); - lean_ctor_release(x_459, 3); - x_530 = x_459; -} else { - lean_dec_ref(x_459); - x_530 = lean_box(0); -} -x_531 = lean_ctor_get(x_460, 0); -lean_inc(x_531); -x_532 = lean_ctor_get(x_460, 1); -lean_inc(x_532); -x_533 = lean_ctor_get(x_460, 2); -lean_inc(x_533); -x_534 = lean_ctor_get(x_460, 3); -lean_inc(x_534); -if (lean_is_exclusive(x_460)) { - lean_ctor_release(x_460, 0); - lean_ctor_release(x_460, 1); - lean_ctor_release(x_460, 2); - lean_ctor_release(x_460, 3); - x_535 = x_460; -} else { - lean_dec_ref(x_460); - x_535 = lean_box(0); -} -if (lean_is_scalar(x_535)) { - x_536 = lean_alloc_ctor(1, 4, 1); -} else { - x_536 = x_535; -} -lean_ctor_set(x_536, 0, x_531); -lean_ctor_set(x_536, 1, x_532); -lean_ctor_set(x_536, 2, x_533); -lean_ctor_set(x_536, 3, x_534); -lean_ctor_set_uint8(x_536, sizeof(void*)*4, x_513); -x_537 = 0; -if (lean_is_scalar(x_530)) { - x_538 = lean_alloc_ctor(1, 4, 1); -} else { - x_538 = x_530; -} -lean_ctor_set(x_538, 0, x_536); -lean_ctor_set(x_538, 1, x_528); -lean_ctor_set(x_538, 2, x_529); -lean_ctor_set(x_538, 3, x_505); -lean_ctor_set_uint8(x_538, sizeof(void*)*4, x_537); -x_539 = 1; -x_540 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_540, 0, x_362); -lean_ctor_set(x_540, 1, x_363); -lean_ctor_set(x_540, 2, x_364); -lean_ctor_set(x_540, 3, x_538); -lean_ctor_set_uint8(x_540, sizeof(void*)*4, x_539); -return x_540; -} -} -} -} -} -} -} -} -} -} -} -} -LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg), 3, 0); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Std_RBNode_insert___at_Lean_NameMap_insert___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -uint8_t x_4; -x_4 = l_Std_RBNode_isRed___rarg(x_1); -if (x_4 == 0) -{ -lean_object* x_5; -x_5 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_1, x_2, x_3); -return x_5; -} -else -{ -lean_object* x_6; lean_object* x_7; -x_6 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_1, x_2, x_3); -x_7 = l_Std_RBNode_setBlack___rarg(x_6); -return x_7; -} -} -} -LEAN_EXPORT lean_object* l_Std_RBNode_insert___at_Lean_NameMap_insert___spec__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_RBNode_insert___at_Lean_NameMap_insert___spec__1___rarg), 3, 0); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Lean_NameMap_insert___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; -x_4 = l_Std_RBNode_insert___at_Lean_NameMap_insert___spec__1___rarg(x_1, x_2, x_3); -return x_4; -} -} -LEAN_EXPORT lean_object* l_Lean_NameMap_insert(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_NameMap_insert___rarg), 3, 0); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameMap_contains___spec__1___rarg(lean_object* x_1, lean_object* x_2) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_3; -x_3 = lean_box(0); -return x_3; -} -else -{ -lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; -x_4 = lean_ctor_get(x_1, 0); -x_5 = lean_ctor_get(x_1, 1); -x_6 = lean_ctor_get(x_1, 2); -x_7 = lean_ctor_get(x_1, 3); -x_8 = l_Lean_Name_quickCmp(x_2, x_5); -switch (x_8) { -case 0: -{ -x_1 = x_4; -goto _start; -} -case 1: -{ -lean_object* x_10; -lean_inc(x_6); -x_10 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_10, 0, x_6); -return x_10; -} -default: -{ -x_1 = x_7; -goto _start; -} -} -} -} -} -LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameMap_contains___spec__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_RBNode_find___at_Lean_NameMap_contains___spec__1___rarg___boxed), 2, 0); -return x_2; -} -} -LEAN_EXPORT uint8_t l_Lean_NameMap_contains___rarg(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Std_RBNode_find___at_Lean_NameMap_contains___spec__1___rarg(x_1, x_2); -if (lean_obj_tag(x_3) == 0) -{ -uint8_t x_4; -x_4 = 0; -return x_4; -} -else -{ -uint8_t x_5; -lean_dec(x_3); -x_5 = 1; -return x_5; -} -} -} -LEAN_EXPORT lean_object* l_Lean_NameMap_contains(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_NameMap_contains___rarg___boxed), 2, 0); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameMap_contains___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Std_RBNode_find___at_Lean_NameMap_contains___spec__1___rarg(x_1, x_2); -lean_dec(x_2); -lean_dec(x_1); -return x_3; -} -} -LEAN_EXPORT lean_object* l_Lean_NameMap_contains___rarg___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; lean_object* x_4; -x_3 = l_Lean_NameMap_contains___rarg(x_1, x_2); -lean_dec(x_2); -lean_dec(x_1); -x_4 = lean_box(x_3); -return x_4; -} -} -LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameMap_find_x3f___spec__1___rarg(lean_object* x_1, lean_object* x_2) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_3; -x_3 = lean_box(0); -return x_3; -} -else -{ -lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; -x_4 = lean_ctor_get(x_1, 0); -x_5 = lean_ctor_get(x_1, 1); -x_6 = lean_ctor_get(x_1, 2); -x_7 = lean_ctor_get(x_1, 3); -x_8 = l_Lean_Name_quickCmp(x_2, x_5); -switch (x_8) { -case 0: -{ -x_1 = x_4; -goto _start; -} -case 1: -{ -lean_object* x_10; -lean_inc(x_6); -x_10 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_10, 0, x_6); -return x_10; -} -default: -{ -x_1 = x_7; -goto _start; -} -} -} -} -} -LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameMap_find_x3f___spec__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Std_RBNode_find___at_Lean_NameMap_find_x3f___spec__1___rarg___boxed), 2, 0); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Lean_NameMap_find_x3f___rarg(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Std_RBNode_find___at_Lean_NameMap_find_x3f___spec__1___rarg(x_1, x_2); -return x_3; -} -} -LEAN_EXPORT lean_object* l_Lean_NameMap_find_x3f(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_NameMap_find_x3f___rarg___boxed), 2, 0); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameMap_find_x3f___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Std_RBNode_find___at_Lean_NameMap_find_x3f___spec__1___rarg(x_1, x_2); -lean_dec(x_2); -lean_dec(x_1); -return x_3; -} -} -LEAN_EXPORT lean_object* l_Lean_NameMap_find_x3f___rarg___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Lean_NameMap_find_x3f___rarg(x_1, x_2); -lean_dec(x_2); -lean_dec(x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_NameMap_instForInNameMapProdName___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Name_quickCmp___boxed), 2, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_NameMap_instForInNameMapProdName___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_NameMap_instForInNameMapProdName___closed__1; -x_2 = lean_alloc_closure((void*)(l_Std_RBMap_instForInRBMapProd___boxed), 5, 4); -lean_closure_set(x_2, 0, lean_box(0)); -lean_closure_set(x_2, 1, lean_box(0)); -lean_closure_set(x_2, 2, x_1); -lean_closure_set(x_2, 3, lean_box(0)); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Lean_NameMap_instForInNameMapProdName(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Lean_NameMap_instForInNameMapProdName___closed__2; -return x_3; -} -} -static lean_object* _init_l_Lean_NameSet_empty() { -_start: -{ -lean_object* x_1; -x_1 = lean_box(0); -return x_1; -} -} -static lean_object* _init_l_Lean_NameSet_instEmptyCollectionNameSet() { -_start: -{ -lean_object* x_1; -x_1 = l_Lean_NameSet_empty; -return x_1; -} -} -static lean_object* _init_l_Lean_NameSet_instInhabitedNameSet() { -_start: -{ -lean_object* x_1; -x_1 = l_Lean_NameSet_empty; -return x_1; -} -} -LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_4; uint8_t x_5; lean_object* x_6; -x_4 = lean_box(0); -x_5 = 0; -x_6 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_6, 0, x_4); -lean_ctor_set(x_6, 1, x_2); -lean_ctor_set(x_6, 2, x_3); -lean_ctor_set(x_6, 3, x_4); -lean_ctor_set_uint8(x_6, sizeof(void*)*4, x_5); -return x_6; -} -else -{ -uint8_t x_7; -x_7 = lean_ctor_get_uint8(x_1, sizeof(void*)*4); -if (x_7 == 0) -{ -uint8_t x_8; -x_8 = !lean_is_exclusive(x_1); -if (x_8 == 0) -{ -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; -x_9 = lean_ctor_get(x_1, 0); -x_10 = lean_ctor_get(x_1, 1); -x_11 = lean_ctor_get(x_1, 2); -x_12 = lean_ctor_get(x_1, 3); -x_13 = l_Lean_Name_quickCmp(x_2, x_10); -switch (x_13) { -case 0: -{ -lean_object* x_14; uint8_t x_15; -x_14 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_9, x_2, x_3); -x_15 = 0; -lean_ctor_set(x_1, 0, x_14); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_15); -return x_1; -} -case 1: -{ -uint8_t x_16; -lean_dec(x_11); -lean_dec(x_10); -x_16 = 0; -lean_ctor_set(x_1, 2, x_3); -lean_ctor_set(x_1, 1, x_2); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_16); -return x_1; -} -default: -{ -lean_object* x_17; uint8_t x_18; -x_17 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_12, x_2, x_3); -x_18 = 0; -lean_ctor_set(x_1, 3, x_17); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_18); -return x_1; -} -} -} -else -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; -x_19 = lean_ctor_get(x_1, 0); -x_20 = lean_ctor_get(x_1, 1); -x_21 = lean_ctor_get(x_1, 2); -x_22 = lean_ctor_get(x_1, 3); -lean_inc(x_22); -lean_inc(x_21); -lean_inc(x_20); -lean_inc(x_19); -lean_dec(x_1); -x_23 = l_Lean_Name_quickCmp(x_2, x_20); -switch (x_23) { -case 0: -{ -lean_object* x_24; uint8_t x_25; lean_object* x_26; -x_24 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_19, x_2, x_3); -x_25 = 0; -x_26 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_20); -lean_ctor_set(x_26, 2, x_21); -lean_ctor_set(x_26, 3, x_22); -lean_ctor_set_uint8(x_26, sizeof(void*)*4, x_25); -return x_26; -} -case 1: -{ -uint8_t x_27; lean_object* x_28; -lean_dec(x_21); -lean_dec(x_20); -x_27 = 0; -x_28 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_28, 0, x_19); -lean_ctor_set(x_28, 1, x_2); -lean_ctor_set(x_28, 2, x_3); -lean_ctor_set(x_28, 3, x_22); -lean_ctor_set_uint8(x_28, sizeof(void*)*4, x_27); -return x_28; -} -default: -{ -lean_object* x_29; uint8_t x_30; lean_object* x_31; -x_29 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_22, x_2, x_3); -x_30 = 0; -x_31 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_31, 0, x_19); -lean_ctor_set(x_31, 1, x_20); -lean_ctor_set(x_31, 2, x_21); -lean_ctor_set(x_31, 3, x_29); -lean_ctor_set_uint8(x_31, sizeof(void*)*4, x_30); -return x_31; -} -} -} -} -else -{ -uint8_t x_32; -x_32 = !lean_is_exclusive(x_1); -if (x_32 == 0) -{ -lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; -x_33 = lean_ctor_get(x_1, 0); -x_34 = lean_ctor_get(x_1, 1); -x_35 = lean_ctor_get(x_1, 2); -x_36 = lean_ctor_get(x_1, 3); -x_37 = l_Lean_Name_quickCmp(x_2, x_34); -switch (x_37) { -case 0: -{ -uint8_t x_38; -x_38 = l_Std_RBNode_isRed___rarg(x_33); -if (x_38 == 0) -{ -lean_object* x_39; uint8_t x_40; -x_39 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_33, x_2, x_3); -x_40 = 1; -lean_ctor_set(x_1, 0, x_39); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_40); -return x_1; -} -else -{ -lean_object* x_41; lean_object* x_42; -x_41 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_33, x_2, x_3); -x_42 = lean_ctor_get(x_41, 0); -lean_inc(x_42); -if (lean_obj_tag(x_42) == 0) -{ -lean_object* x_43; -x_43 = lean_ctor_get(x_41, 3); -lean_inc(x_43); -if (lean_obj_tag(x_43) == 0) -{ -uint8_t x_44; -x_44 = !lean_is_exclusive(x_41); -if (x_44 == 0) -{ -lean_object* x_45; lean_object* x_46; uint8_t x_47; uint8_t x_48; -x_45 = lean_ctor_get(x_41, 3); -lean_dec(x_45); -x_46 = lean_ctor_get(x_41, 0); -lean_dec(x_46); -x_47 = 0; -lean_ctor_set(x_41, 0, x_43); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_47); -x_48 = 1; -lean_ctor_set(x_1, 0, x_41); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_48); -return x_1; -} -else -{ -lean_object* x_49; lean_object* x_50; uint8_t x_51; lean_object* x_52; uint8_t x_53; -x_49 = lean_ctor_get(x_41, 1); -x_50 = lean_ctor_get(x_41, 2); -lean_inc(x_50); -lean_inc(x_49); -lean_dec(x_41); -x_51 = 0; -x_52 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_52, 0, x_43); -lean_ctor_set(x_52, 1, x_49); -lean_ctor_set(x_52, 2, x_50); -lean_ctor_set(x_52, 3, x_43); -lean_ctor_set_uint8(x_52, sizeof(void*)*4, x_51); -x_53 = 1; -lean_ctor_set(x_1, 0, x_52); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_53); -return x_1; -} -} -else -{ -uint8_t x_54; -x_54 = lean_ctor_get_uint8(x_43, sizeof(void*)*4); -if (x_54 == 0) -{ -uint8_t x_55; -x_55 = !lean_is_exclusive(x_41); -if (x_55 == 0) -{ -lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60; -x_56 = lean_ctor_get(x_41, 1); -x_57 = lean_ctor_get(x_41, 2); -x_58 = lean_ctor_get(x_41, 3); -lean_dec(x_58); -x_59 = lean_ctor_get(x_41, 0); -lean_dec(x_59); -x_60 = !lean_is_exclusive(x_43); -if (x_60 == 0) -{ -lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; uint8_t x_65; uint8_t x_66; -x_61 = lean_ctor_get(x_43, 0); -x_62 = lean_ctor_get(x_43, 1); -x_63 = lean_ctor_get(x_43, 2); -x_64 = lean_ctor_get(x_43, 3); -x_65 = 1; -lean_ctor_set(x_43, 3, x_61); -lean_ctor_set(x_43, 2, x_57); -lean_ctor_set(x_43, 1, x_56); -lean_ctor_set(x_43, 0, x_42); -lean_ctor_set_uint8(x_43, sizeof(void*)*4, x_65); -lean_ctor_set(x_41, 3, x_36); -lean_ctor_set(x_41, 2, x_35); -lean_ctor_set(x_41, 1, x_34); -lean_ctor_set(x_41, 0, x_64); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_65); -x_66 = 0; -lean_ctor_set(x_1, 3, x_41); -lean_ctor_set(x_1, 2, x_63); -lean_ctor_set(x_1, 1, x_62); -lean_ctor_set(x_1, 0, x_43); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_66); -return x_1; -} -else -{ -lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71; lean_object* x_72; uint8_t x_73; -x_67 = lean_ctor_get(x_43, 0); -x_68 = lean_ctor_get(x_43, 1); -x_69 = lean_ctor_get(x_43, 2); -x_70 = lean_ctor_get(x_43, 3); -lean_inc(x_70); -lean_inc(x_69); -lean_inc(x_68); -lean_inc(x_67); -lean_dec(x_43); -x_71 = 1; -x_72 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_72, 0, x_42); -lean_ctor_set(x_72, 1, x_56); -lean_ctor_set(x_72, 2, x_57); -lean_ctor_set(x_72, 3, x_67); -lean_ctor_set_uint8(x_72, sizeof(void*)*4, x_71); -lean_ctor_set(x_41, 3, x_36); -lean_ctor_set(x_41, 2, x_35); -lean_ctor_set(x_41, 1, x_34); -lean_ctor_set(x_41, 0, x_70); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_71); -x_73 = 0; -lean_ctor_set(x_1, 3, x_41); -lean_ctor_set(x_1, 2, x_69); -lean_ctor_set(x_1, 1, x_68); -lean_ctor_set(x_1, 0, x_72); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_73); -return x_1; -} -} -else -{ -lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; uint8_t x_81; lean_object* x_82; lean_object* x_83; uint8_t x_84; -x_74 = lean_ctor_get(x_41, 1); -x_75 = lean_ctor_get(x_41, 2); -lean_inc(x_75); -lean_inc(x_74); -lean_dec(x_41); -x_76 = lean_ctor_get(x_43, 0); -lean_inc(x_76); -x_77 = lean_ctor_get(x_43, 1); -lean_inc(x_77); -x_78 = lean_ctor_get(x_43, 2); -lean_inc(x_78); -x_79 = lean_ctor_get(x_43, 3); -lean_inc(x_79); -if (lean_is_exclusive(x_43)) { - lean_ctor_release(x_43, 0); - lean_ctor_release(x_43, 1); - lean_ctor_release(x_43, 2); - lean_ctor_release(x_43, 3); - x_80 = x_43; -} else { - lean_dec_ref(x_43); - x_80 = lean_box(0); -} -x_81 = 1; -if (lean_is_scalar(x_80)) { - x_82 = lean_alloc_ctor(1, 4, 1); -} else { - x_82 = x_80; -} -lean_ctor_set(x_82, 0, x_42); -lean_ctor_set(x_82, 1, x_74); -lean_ctor_set(x_82, 2, x_75); -lean_ctor_set(x_82, 3, x_76); -lean_ctor_set_uint8(x_82, sizeof(void*)*4, x_81); -x_83 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_83, 0, x_79); -lean_ctor_set(x_83, 1, x_34); -lean_ctor_set(x_83, 2, x_35); -lean_ctor_set(x_83, 3, x_36); -lean_ctor_set_uint8(x_83, sizeof(void*)*4, x_81); -x_84 = 0; -lean_ctor_set(x_1, 3, x_83); -lean_ctor_set(x_1, 2, x_78); -lean_ctor_set(x_1, 1, x_77); -lean_ctor_set(x_1, 0, x_82); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_84); -return x_1; -} -} -else -{ -uint8_t x_85; -x_85 = !lean_is_exclusive(x_41); -if (x_85 == 0) -{ -lean_object* x_86; lean_object* x_87; uint8_t x_88; uint8_t x_89; -x_86 = lean_ctor_get(x_41, 3); -lean_dec(x_86); -x_87 = lean_ctor_get(x_41, 0); -lean_dec(x_87); -x_88 = 0; -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_88); -x_89 = 1; -lean_ctor_set(x_1, 0, x_41); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_89); -return x_1; -} -else -{ -lean_object* x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93; uint8_t x_94; -x_90 = lean_ctor_get(x_41, 1); -x_91 = lean_ctor_get(x_41, 2); -lean_inc(x_91); -lean_inc(x_90); -lean_dec(x_41); -x_92 = 0; -x_93 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_93, 0, x_42); -lean_ctor_set(x_93, 1, x_90); -lean_ctor_set(x_93, 2, x_91); -lean_ctor_set(x_93, 3, x_43); -lean_ctor_set_uint8(x_93, sizeof(void*)*4, x_92); -x_94 = 1; -lean_ctor_set(x_1, 0, x_93); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_94); -return x_1; -} -} -} -} -else -{ -uint8_t x_95; -x_95 = lean_ctor_get_uint8(x_42, sizeof(void*)*4); -if (x_95 == 0) -{ -uint8_t x_96; -x_96 = !lean_is_exclusive(x_41); -if (x_96 == 0) -{ -lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; uint8_t x_101; -x_97 = lean_ctor_get(x_41, 1); -x_98 = lean_ctor_get(x_41, 2); -x_99 = lean_ctor_get(x_41, 3); -x_100 = lean_ctor_get(x_41, 0); -lean_dec(x_100); -x_101 = !lean_is_exclusive(x_42); -if (x_101 == 0) -{ -uint8_t x_102; uint8_t x_103; -x_102 = 1; -lean_ctor_set_uint8(x_42, sizeof(void*)*4, x_102); -lean_ctor_set(x_41, 3, x_36); -lean_ctor_set(x_41, 2, x_35); -lean_ctor_set(x_41, 1, x_34); -lean_ctor_set(x_41, 0, x_99); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_102); -x_103 = 0; -lean_ctor_set(x_1, 3, x_41); -lean_ctor_set(x_1, 2, x_98); -lean_ctor_set(x_1, 1, x_97); -lean_ctor_set(x_1, 0, x_42); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_103); -return x_1; -} -else -{ -lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; uint8_t x_108; lean_object* x_109; uint8_t x_110; -x_104 = lean_ctor_get(x_42, 0); -x_105 = lean_ctor_get(x_42, 1); -x_106 = lean_ctor_get(x_42, 2); -x_107 = lean_ctor_get(x_42, 3); -lean_inc(x_107); -lean_inc(x_106); -lean_inc(x_105); -lean_inc(x_104); -lean_dec(x_42); -x_108 = 1; -x_109 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_109, 0, x_104); -lean_ctor_set(x_109, 1, x_105); -lean_ctor_set(x_109, 2, x_106); -lean_ctor_set(x_109, 3, x_107); -lean_ctor_set_uint8(x_109, sizeof(void*)*4, x_108); -lean_ctor_set(x_41, 3, x_36); -lean_ctor_set(x_41, 2, x_35); -lean_ctor_set(x_41, 1, x_34); -lean_ctor_set(x_41, 0, x_99); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_108); -x_110 = 0; -lean_ctor_set(x_1, 3, x_41); -lean_ctor_set(x_1, 2, x_98); -lean_ctor_set(x_1, 1, x_97); -lean_ctor_set(x_1, 0, x_109); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_110); -return x_1; -} -} -else -{ -lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; uint8_t x_119; lean_object* x_120; lean_object* x_121; uint8_t x_122; -x_111 = lean_ctor_get(x_41, 1); -x_112 = lean_ctor_get(x_41, 2); -x_113 = lean_ctor_get(x_41, 3); -lean_inc(x_113); -lean_inc(x_112); -lean_inc(x_111); -lean_dec(x_41); -x_114 = lean_ctor_get(x_42, 0); -lean_inc(x_114); -x_115 = lean_ctor_get(x_42, 1); -lean_inc(x_115); -x_116 = lean_ctor_get(x_42, 2); -lean_inc(x_116); -x_117 = lean_ctor_get(x_42, 3); -lean_inc(x_117); -if (lean_is_exclusive(x_42)) { - lean_ctor_release(x_42, 0); - lean_ctor_release(x_42, 1); - lean_ctor_release(x_42, 2); - lean_ctor_release(x_42, 3); - x_118 = x_42; -} else { - lean_dec_ref(x_42); - x_118 = lean_box(0); -} -x_119 = 1; -if (lean_is_scalar(x_118)) { - x_120 = lean_alloc_ctor(1, 4, 1); -} else { - x_120 = x_118; -} -lean_ctor_set(x_120, 0, x_114); -lean_ctor_set(x_120, 1, x_115); -lean_ctor_set(x_120, 2, x_116); -lean_ctor_set(x_120, 3, x_117); -lean_ctor_set_uint8(x_120, sizeof(void*)*4, x_119); -x_121 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_121, 0, x_113); -lean_ctor_set(x_121, 1, x_34); -lean_ctor_set(x_121, 2, x_35); -lean_ctor_set(x_121, 3, x_36); -lean_ctor_set_uint8(x_121, sizeof(void*)*4, x_119); -x_122 = 0; -lean_ctor_set(x_1, 3, x_121); -lean_ctor_set(x_1, 2, x_112); -lean_ctor_set(x_1, 1, x_111); -lean_ctor_set(x_1, 0, x_120); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_122); -return x_1; -} -} -else -{ -lean_object* x_123; -x_123 = lean_ctor_get(x_41, 3); -lean_inc(x_123); -if (lean_obj_tag(x_123) == 0) -{ -uint8_t x_124; -x_124 = !lean_is_exclusive(x_41); -if (x_124 == 0) -{ -lean_object* x_125; lean_object* x_126; uint8_t x_127; uint8_t x_128; -x_125 = lean_ctor_get(x_41, 3); -lean_dec(x_125); -x_126 = lean_ctor_get(x_41, 0); -lean_dec(x_126); -x_127 = 0; -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_127); -x_128 = 1; -lean_ctor_set(x_1, 0, x_41); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_128); -return x_1; -} -else -{ -lean_object* x_129; lean_object* x_130; uint8_t x_131; lean_object* x_132; uint8_t x_133; -x_129 = lean_ctor_get(x_41, 1); -x_130 = lean_ctor_get(x_41, 2); -lean_inc(x_130); -lean_inc(x_129); -lean_dec(x_41); -x_131 = 0; -x_132 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_132, 0, x_42); -lean_ctor_set(x_132, 1, x_129); -lean_ctor_set(x_132, 2, x_130); -lean_ctor_set(x_132, 3, x_123); -lean_ctor_set_uint8(x_132, sizeof(void*)*4, x_131); -x_133 = 1; -lean_ctor_set(x_1, 0, x_132); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_133); -return x_1; -} -} -else -{ -uint8_t x_134; -x_134 = lean_ctor_get_uint8(x_123, sizeof(void*)*4); -if (x_134 == 0) -{ -uint8_t x_135; -lean_free_object(x_1); -x_135 = !lean_is_exclusive(x_41); -if (x_135 == 0) -{ -lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; uint8_t x_140; -x_136 = lean_ctor_get(x_41, 1); -x_137 = lean_ctor_get(x_41, 2); -x_138 = lean_ctor_get(x_41, 3); -lean_dec(x_138); -x_139 = lean_ctor_get(x_41, 0); -lean_dec(x_139); -x_140 = !lean_is_exclusive(x_123); -if (x_140 == 0) -{ -lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; uint8_t x_145; uint8_t x_146; -x_141 = lean_ctor_get(x_123, 0); -x_142 = lean_ctor_get(x_123, 1); -x_143 = lean_ctor_get(x_123, 2); -x_144 = lean_ctor_get(x_123, 3); -x_145 = 1; -lean_inc(x_42); -lean_ctor_set(x_123, 3, x_141); -lean_ctor_set(x_123, 2, x_137); -lean_ctor_set(x_123, 1, x_136); -lean_ctor_set(x_123, 0, x_42); -x_146 = !lean_is_exclusive(x_42); -if (x_146 == 0) -{ -lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; uint8_t x_151; -x_147 = lean_ctor_get(x_42, 3); -lean_dec(x_147); -x_148 = lean_ctor_get(x_42, 2); -lean_dec(x_148); -x_149 = lean_ctor_get(x_42, 1); -lean_dec(x_149); -x_150 = lean_ctor_get(x_42, 0); -lean_dec(x_150); -lean_ctor_set_uint8(x_123, sizeof(void*)*4, x_145); -lean_ctor_set(x_42, 3, x_36); -lean_ctor_set(x_42, 2, x_35); -lean_ctor_set(x_42, 1, x_34); -lean_ctor_set(x_42, 0, x_144); -lean_ctor_set_uint8(x_42, sizeof(void*)*4, x_145); -x_151 = 0; -lean_ctor_set(x_41, 3, x_42); -lean_ctor_set(x_41, 2, x_143); -lean_ctor_set(x_41, 1, x_142); -lean_ctor_set(x_41, 0, x_123); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_151); -return x_41; -} -else -{ -lean_object* x_152; uint8_t x_153; -lean_dec(x_42); -lean_ctor_set_uint8(x_123, sizeof(void*)*4, x_145); -x_152 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_152, 0, x_144); -lean_ctor_set(x_152, 1, x_34); -lean_ctor_set(x_152, 2, x_35); -lean_ctor_set(x_152, 3, x_36); -lean_ctor_set_uint8(x_152, sizeof(void*)*4, x_145); -x_153 = 0; -lean_ctor_set(x_41, 3, x_152); -lean_ctor_set(x_41, 2, x_143); -lean_ctor_set(x_41, 1, x_142); -lean_ctor_set(x_41, 0, x_123); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_153); -return x_41; -} -} -else -{ -lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; uint8_t x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; uint8_t x_162; -x_154 = lean_ctor_get(x_123, 0); -x_155 = lean_ctor_get(x_123, 1); -x_156 = lean_ctor_get(x_123, 2); -x_157 = lean_ctor_get(x_123, 3); -lean_inc(x_157); -lean_inc(x_156); -lean_inc(x_155); -lean_inc(x_154); -lean_dec(x_123); -x_158 = 1; -lean_inc(x_42); -x_159 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_159, 0, x_42); -lean_ctor_set(x_159, 1, x_136); -lean_ctor_set(x_159, 2, x_137); -lean_ctor_set(x_159, 3, x_154); -if (lean_is_exclusive(x_42)) { - lean_ctor_release(x_42, 0); - lean_ctor_release(x_42, 1); - lean_ctor_release(x_42, 2); - lean_ctor_release(x_42, 3); - x_160 = x_42; -} else { - lean_dec_ref(x_42); - x_160 = lean_box(0); -} -lean_ctor_set_uint8(x_159, sizeof(void*)*4, x_158); -if (lean_is_scalar(x_160)) { - x_161 = lean_alloc_ctor(1, 4, 1); -} else { - x_161 = x_160; -} -lean_ctor_set(x_161, 0, x_157); -lean_ctor_set(x_161, 1, x_34); -lean_ctor_set(x_161, 2, x_35); -lean_ctor_set(x_161, 3, x_36); -lean_ctor_set_uint8(x_161, sizeof(void*)*4, x_158); -x_162 = 0; -lean_ctor_set(x_41, 3, x_161); -lean_ctor_set(x_41, 2, x_156); -lean_ctor_set(x_41, 1, x_155); -lean_ctor_set(x_41, 0, x_159); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_162); -return x_41; -} -} -else -{ -lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; uint8_t x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; uint8_t x_174; lean_object* x_175; -x_163 = lean_ctor_get(x_41, 1); -x_164 = lean_ctor_get(x_41, 2); -lean_inc(x_164); -lean_inc(x_163); -lean_dec(x_41); -x_165 = lean_ctor_get(x_123, 0); -lean_inc(x_165); -x_166 = lean_ctor_get(x_123, 1); -lean_inc(x_166); -x_167 = lean_ctor_get(x_123, 2); -lean_inc(x_167); -x_168 = lean_ctor_get(x_123, 3); -lean_inc(x_168); -if (lean_is_exclusive(x_123)) { - lean_ctor_release(x_123, 0); - lean_ctor_release(x_123, 1); - lean_ctor_release(x_123, 2); - lean_ctor_release(x_123, 3); - x_169 = x_123; -} else { - lean_dec_ref(x_123); - x_169 = lean_box(0); -} -x_170 = 1; -lean_inc(x_42); -if (lean_is_scalar(x_169)) { - x_171 = lean_alloc_ctor(1, 4, 1); -} else { - x_171 = x_169; -} -lean_ctor_set(x_171, 0, x_42); -lean_ctor_set(x_171, 1, x_163); -lean_ctor_set(x_171, 2, x_164); -lean_ctor_set(x_171, 3, x_165); -if (lean_is_exclusive(x_42)) { - lean_ctor_release(x_42, 0); - lean_ctor_release(x_42, 1); - lean_ctor_release(x_42, 2); - lean_ctor_release(x_42, 3); - x_172 = x_42; -} else { - lean_dec_ref(x_42); - x_172 = lean_box(0); -} -lean_ctor_set_uint8(x_171, sizeof(void*)*4, x_170); -if (lean_is_scalar(x_172)) { - x_173 = lean_alloc_ctor(1, 4, 1); -} else { - x_173 = x_172; -} -lean_ctor_set(x_173, 0, x_168); -lean_ctor_set(x_173, 1, x_34); -lean_ctor_set(x_173, 2, x_35); -lean_ctor_set(x_173, 3, x_36); -lean_ctor_set_uint8(x_173, sizeof(void*)*4, x_170); -x_174 = 0; -x_175 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_175, 0, x_171); -lean_ctor_set(x_175, 1, x_166); -lean_ctor_set(x_175, 2, x_167); -lean_ctor_set(x_175, 3, x_173); -lean_ctor_set_uint8(x_175, sizeof(void*)*4, x_174); -return x_175; -} -} -else -{ -uint8_t x_176; -x_176 = !lean_is_exclusive(x_41); -if (x_176 == 0) -{ -lean_object* x_177; lean_object* x_178; uint8_t x_179; -x_177 = lean_ctor_get(x_41, 3); -lean_dec(x_177); -x_178 = lean_ctor_get(x_41, 0); -lean_dec(x_178); -x_179 = !lean_is_exclusive(x_42); -if (x_179 == 0) -{ -uint8_t x_180; uint8_t x_181; -lean_ctor_set_uint8(x_42, sizeof(void*)*4, x_134); -x_180 = 0; -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_180); -x_181 = 1; -lean_ctor_set(x_1, 0, x_41); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_181); -return x_1; -} -else -{ -lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; uint8_t x_187; uint8_t x_188; -x_182 = lean_ctor_get(x_42, 0); -x_183 = lean_ctor_get(x_42, 1); -x_184 = lean_ctor_get(x_42, 2); -x_185 = lean_ctor_get(x_42, 3); -lean_inc(x_185); -lean_inc(x_184); -lean_inc(x_183); -lean_inc(x_182); -lean_dec(x_42); -x_186 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_186, 0, x_182); -lean_ctor_set(x_186, 1, x_183); -lean_ctor_set(x_186, 2, x_184); -lean_ctor_set(x_186, 3, x_185); -lean_ctor_set_uint8(x_186, sizeof(void*)*4, x_134); -x_187 = 0; -lean_ctor_set(x_41, 0, x_186); -lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_187); -x_188 = 1; -lean_ctor_set(x_1, 0, x_41); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_188); -return x_1; -} -} -else -{ -lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; uint8_t x_197; lean_object* x_198; uint8_t x_199; -x_189 = lean_ctor_get(x_41, 1); -x_190 = lean_ctor_get(x_41, 2); -lean_inc(x_190); -lean_inc(x_189); -lean_dec(x_41); -x_191 = lean_ctor_get(x_42, 0); -lean_inc(x_191); -x_192 = lean_ctor_get(x_42, 1); -lean_inc(x_192); -x_193 = lean_ctor_get(x_42, 2); -lean_inc(x_193); -x_194 = lean_ctor_get(x_42, 3); -lean_inc(x_194); -if (lean_is_exclusive(x_42)) { - lean_ctor_release(x_42, 0); - lean_ctor_release(x_42, 1); - lean_ctor_release(x_42, 2); - lean_ctor_release(x_42, 3); - x_195 = x_42; -} else { - lean_dec_ref(x_42); - x_195 = lean_box(0); -} -if (lean_is_scalar(x_195)) { - x_196 = lean_alloc_ctor(1, 4, 1); -} else { - x_196 = x_195; -} -lean_ctor_set(x_196, 0, x_191); -lean_ctor_set(x_196, 1, x_192); -lean_ctor_set(x_196, 2, x_193); -lean_ctor_set(x_196, 3, x_194); -lean_ctor_set_uint8(x_196, sizeof(void*)*4, x_134); -x_197 = 0; -x_198 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_198, 0, x_196); -lean_ctor_set(x_198, 1, x_189); -lean_ctor_set(x_198, 2, x_190); -lean_ctor_set(x_198, 3, x_123); -lean_ctor_set_uint8(x_198, sizeof(void*)*4, x_197); -x_199 = 1; -lean_ctor_set(x_1, 0, x_198); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_199); -return x_1; -} -} -} -} -} -} -} -case 1: -{ -uint8_t x_200; -lean_dec(x_35); -lean_dec(x_34); -x_200 = 1; -lean_ctor_set(x_1, 2, x_3); -lean_ctor_set(x_1, 1, x_2); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_200); -return x_1; -} -default: -{ -uint8_t x_201; -x_201 = l_Std_RBNode_isRed___rarg(x_36); -if (x_201 == 0) -{ -lean_object* x_202; uint8_t x_203; -x_202 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_36, x_2, x_3); -x_203 = 1; -lean_ctor_set(x_1, 3, x_202); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_203); -return x_1; -} -else -{ -lean_object* x_204; lean_object* x_205; -x_204 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_36, x_2, x_3); -x_205 = lean_ctor_get(x_204, 0); -lean_inc(x_205); -if (lean_obj_tag(x_205) == 0) -{ -lean_object* x_206; -x_206 = lean_ctor_get(x_204, 3); -lean_inc(x_206); -if (lean_obj_tag(x_206) == 0) -{ -uint8_t x_207; -x_207 = !lean_is_exclusive(x_204); -if (x_207 == 0) -{ -lean_object* x_208; lean_object* x_209; uint8_t x_210; uint8_t x_211; -x_208 = lean_ctor_get(x_204, 3); -lean_dec(x_208); -x_209 = lean_ctor_get(x_204, 0); -lean_dec(x_209); -x_210 = 0; -lean_ctor_set(x_204, 0, x_206); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_210); -x_211 = 1; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_211); -return x_1; -} -else -{ -lean_object* x_212; lean_object* x_213; uint8_t x_214; lean_object* x_215; uint8_t x_216; -x_212 = lean_ctor_get(x_204, 1); -x_213 = lean_ctor_get(x_204, 2); -lean_inc(x_213); -lean_inc(x_212); -lean_dec(x_204); -x_214 = 0; -x_215 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_215, 0, x_206); -lean_ctor_set(x_215, 1, x_212); -lean_ctor_set(x_215, 2, x_213); -lean_ctor_set(x_215, 3, x_206); -lean_ctor_set_uint8(x_215, sizeof(void*)*4, x_214); -x_216 = 1; -lean_ctor_set(x_1, 3, x_215); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_216); -return x_1; -} -} -else -{ -uint8_t x_217; -x_217 = lean_ctor_get_uint8(x_206, sizeof(void*)*4); -if (x_217 == 0) -{ -uint8_t x_218; -x_218 = !lean_is_exclusive(x_204); -if (x_218 == 0) -{ -lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; uint8_t x_223; -x_219 = lean_ctor_get(x_204, 1); -x_220 = lean_ctor_get(x_204, 2); -x_221 = lean_ctor_get(x_204, 3); -lean_dec(x_221); -x_222 = lean_ctor_get(x_204, 0); -lean_dec(x_222); -x_223 = !lean_is_exclusive(x_206); -if (x_223 == 0) -{ -lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; uint8_t x_228; uint8_t x_229; -x_224 = lean_ctor_get(x_206, 0); -x_225 = lean_ctor_get(x_206, 1); -x_226 = lean_ctor_get(x_206, 2); -x_227 = lean_ctor_get(x_206, 3); -x_228 = 1; -lean_ctor_set(x_206, 3, x_205); -lean_ctor_set(x_206, 2, x_35); -lean_ctor_set(x_206, 1, x_34); -lean_ctor_set(x_206, 0, x_33); -lean_ctor_set_uint8(x_206, sizeof(void*)*4, x_228); -lean_ctor_set(x_204, 3, x_227); -lean_ctor_set(x_204, 2, x_226); -lean_ctor_set(x_204, 1, x_225); -lean_ctor_set(x_204, 0, x_224); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_228); -x_229 = 0; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set(x_1, 2, x_220); -lean_ctor_set(x_1, 1, x_219); -lean_ctor_set(x_1, 0, x_206); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_229); -return x_1; -} -else -{ -lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; uint8_t x_234; lean_object* x_235; uint8_t x_236; -x_230 = lean_ctor_get(x_206, 0); -x_231 = lean_ctor_get(x_206, 1); -x_232 = lean_ctor_get(x_206, 2); -x_233 = lean_ctor_get(x_206, 3); -lean_inc(x_233); -lean_inc(x_232); -lean_inc(x_231); -lean_inc(x_230); -lean_dec(x_206); -x_234 = 1; -x_235 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_235, 0, x_33); -lean_ctor_set(x_235, 1, x_34); -lean_ctor_set(x_235, 2, x_35); -lean_ctor_set(x_235, 3, x_205); -lean_ctor_set_uint8(x_235, sizeof(void*)*4, x_234); -lean_ctor_set(x_204, 3, x_233); -lean_ctor_set(x_204, 2, x_232); -lean_ctor_set(x_204, 1, x_231); -lean_ctor_set(x_204, 0, x_230); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_234); -x_236 = 0; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set(x_1, 2, x_220); -lean_ctor_set(x_1, 1, x_219); -lean_ctor_set(x_1, 0, x_235); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_236); -return x_1; -} -} -else -{ -lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; uint8_t x_244; lean_object* x_245; lean_object* x_246; uint8_t x_247; -x_237 = lean_ctor_get(x_204, 1); -x_238 = lean_ctor_get(x_204, 2); -lean_inc(x_238); -lean_inc(x_237); -lean_dec(x_204); -x_239 = lean_ctor_get(x_206, 0); -lean_inc(x_239); -x_240 = lean_ctor_get(x_206, 1); -lean_inc(x_240); -x_241 = lean_ctor_get(x_206, 2); -lean_inc(x_241); -x_242 = lean_ctor_get(x_206, 3); -lean_inc(x_242); -if (lean_is_exclusive(x_206)) { - lean_ctor_release(x_206, 0); - lean_ctor_release(x_206, 1); - lean_ctor_release(x_206, 2); - lean_ctor_release(x_206, 3); - x_243 = x_206; -} else { - lean_dec_ref(x_206); - x_243 = lean_box(0); -} -x_244 = 1; -if (lean_is_scalar(x_243)) { - x_245 = lean_alloc_ctor(1, 4, 1); -} else { - x_245 = x_243; -} -lean_ctor_set(x_245, 0, x_33); -lean_ctor_set(x_245, 1, x_34); -lean_ctor_set(x_245, 2, x_35); -lean_ctor_set(x_245, 3, x_205); -lean_ctor_set_uint8(x_245, sizeof(void*)*4, x_244); -x_246 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_246, 0, x_239); -lean_ctor_set(x_246, 1, x_240); -lean_ctor_set(x_246, 2, x_241); -lean_ctor_set(x_246, 3, x_242); -lean_ctor_set_uint8(x_246, sizeof(void*)*4, x_244); -x_247 = 0; -lean_ctor_set(x_1, 3, x_246); -lean_ctor_set(x_1, 2, x_238); -lean_ctor_set(x_1, 1, x_237); -lean_ctor_set(x_1, 0, x_245); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_247); -return x_1; -} -} -else -{ -uint8_t x_248; -x_248 = !lean_is_exclusive(x_204); -if (x_248 == 0) -{ -lean_object* x_249; lean_object* x_250; uint8_t x_251; uint8_t x_252; -x_249 = lean_ctor_get(x_204, 3); -lean_dec(x_249); -x_250 = lean_ctor_get(x_204, 0); -lean_dec(x_250); -x_251 = 0; -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_251); -x_252 = 1; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_252); -return x_1; -} -else -{ -lean_object* x_253; lean_object* x_254; uint8_t x_255; lean_object* x_256; uint8_t x_257; -x_253 = lean_ctor_get(x_204, 1); -x_254 = lean_ctor_get(x_204, 2); -lean_inc(x_254); -lean_inc(x_253); -lean_dec(x_204); -x_255 = 0; -x_256 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_256, 0, x_205); -lean_ctor_set(x_256, 1, x_253); -lean_ctor_set(x_256, 2, x_254); -lean_ctor_set(x_256, 3, x_206); -lean_ctor_set_uint8(x_256, sizeof(void*)*4, x_255); -x_257 = 1; -lean_ctor_set(x_1, 3, x_256); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_257); -return x_1; -} -} -} -} -else -{ -uint8_t x_258; -x_258 = lean_ctor_get_uint8(x_205, sizeof(void*)*4); -if (x_258 == 0) -{ -uint8_t x_259; -x_259 = !lean_is_exclusive(x_204); -if (x_259 == 0) -{ -lean_object* x_260; uint8_t x_261; -x_260 = lean_ctor_get(x_204, 0); -lean_dec(x_260); -x_261 = !lean_is_exclusive(x_205); -if (x_261 == 0) -{ -lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; uint8_t x_266; uint8_t x_267; -x_262 = lean_ctor_get(x_205, 0); -x_263 = lean_ctor_get(x_205, 1); -x_264 = lean_ctor_get(x_205, 2); -x_265 = lean_ctor_get(x_205, 3); -x_266 = 1; -lean_ctor_set(x_205, 3, x_262); -lean_ctor_set(x_205, 2, x_35); -lean_ctor_set(x_205, 1, x_34); -lean_ctor_set(x_205, 0, x_33); -lean_ctor_set_uint8(x_205, sizeof(void*)*4, x_266); -lean_ctor_set(x_204, 0, x_265); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_266); -x_267 = 0; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set(x_1, 2, x_264); -lean_ctor_set(x_1, 1, x_263); -lean_ctor_set(x_1, 0, x_205); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_267); -return x_1; -} -else -{ -lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; uint8_t x_272; lean_object* x_273; uint8_t x_274; -x_268 = lean_ctor_get(x_205, 0); -x_269 = lean_ctor_get(x_205, 1); -x_270 = lean_ctor_get(x_205, 2); -x_271 = lean_ctor_get(x_205, 3); -lean_inc(x_271); -lean_inc(x_270); -lean_inc(x_269); -lean_inc(x_268); -lean_dec(x_205); -x_272 = 1; -x_273 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_273, 0, x_33); -lean_ctor_set(x_273, 1, x_34); -lean_ctor_set(x_273, 2, x_35); -lean_ctor_set(x_273, 3, x_268); -lean_ctor_set_uint8(x_273, sizeof(void*)*4, x_272); -lean_ctor_set(x_204, 0, x_271); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_272); -x_274 = 0; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set(x_1, 2, x_270); -lean_ctor_set(x_1, 1, x_269); -lean_ctor_set(x_1, 0, x_273); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_274); -return x_1; -} -} -else -{ -lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; uint8_t x_283; lean_object* x_284; lean_object* x_285; uint8_t x_286; -x_275 = lean_ctor_get(x_204, 1); -x_276 = lean_ctor_get(x_204, 2); -x_277 = lean_ctor_get(x_204, 3); -lean_inc(x_277); -lean_inc(x_276); -lean_inc(x_275); -lean_dec(x_204); -x_278 = lean_ctor_get(x_205, 0); -lean_inc(x_278); -x_279 = lean_ctor_get(x_205, 1); -lean_inc(x_279); -x_280 = lean_ctor_get(x_205, 2); -lean_inc(x_280); -x_281 = lean_ctor_get(x_205, 3); -lean_inc(x_281); -if (lean_is_exclusive(x_205)) { - lean_ctor_release(x_205, 0); - lean_ctor_release(x_205, 1); - lean_ctor_release(x_205, 2); - lean_ctor_release(x_205, 3); - x_282 = x_205; -} else { - lean_dec_ref(x_205); - x_282 = lean_box(0); -} -x_283 = 1; -if (lean_is_scalar(x_282)) { - x_284 = lean_alloc_ctor(1, 4, 1); -} else { - x_284 = x_282; -} -lean_ctor_set(x_284, 0, x_33); -lean_ctor_set(x_284, 1, x_34); -lean_ctor_set(x_284, 2, x_35); -lean_ctor_set(x_284, 3, x_278); -lean_ctor_set_uint8(x_284, sizeof(void*)*4, x_283); -x_285 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_285, 0, x_281); -lean_ctor_set(x_285, 1, x_275); -lean_ctor_set(x_285, 2, x_276); -lean_ctor_set(x_285, 3, x_277); -lean_ctor_set_uint8(x_285, sizeof(void*)*4, x_283); -x_286 = 0; -lean_ctor_set(x_1, 3, x_285); -lean_ctor_set(x_1, 2, x_280); -lean_ctor_set(x_1, 1, x_279); -lean_ctor_set(x_1, 0, x_284); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_286); -return x_1; -} -} -else -{ -lean_object* x_287; -x_287 = lean_ctor_get(x_204, 3); -lean_inc(x_287); -if (lean_obj_tag(x_287) == 0) -{ -uint8_t x_288; -x_288 = !lean_is_exclusive(x_204); -if (x_288 == 0) -{ -lean_object* x_289; lean_object* x_290; uint8_t x_291; uint8_t x_292; -x_289 = lean_ctor_get(x_204, 3); -lean_dec(x_289); -x_290 = lean_ctor_get(x_204, 0); -lean_dec(x_290); -x_291 = 0; -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_291); -x_292 = 1; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_292); -return x_1; -} -else -{ -lean_object* x_293; lean_object* x_294; uint8_t x_295; lean_object* x_296; uint8_t x_297; -x_293 = lean_ctor_get(x_204, 1); -x_294 = lean_ctor_get(x_204, 2); -lean_inc(x_294); -lean_inc(x_293); -lean_dec(x_204); -x_295 = 0; -x_296 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_296, 0, x_205); -lean_ctor_set(x_296, 1, x_293); -lean_ctor_set(x_296, 2, x_294); -lean_ctor_set(x_296, 3, x_287); -lean_ctor_set_uint8(x_296, sizeof(void*)*4, x_295); -x_297 = 1; -lean_ctor_set(x_1, 3, x_296); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_297); -return x_1; -} -} -else -{ -uint8_t x_298; -x_298 = lean_ctor_get_uint8(x_287, sizeof(void*)*4); -if (x_298 == 0) -{ -uint8_t x_299; -lean_free_object(x_1); -x_299 = !lean_is_exclusive(x_204); -if (x_299 == 0) -{ -lean_object* x_300; lean_object* x_301; uint8_t x_302; -x_300 = lean_ctor_get(x_204, 3); -lean_dec(x_300); -x_301 = lean_ctor_get(x_204, 0); -lean_dec(x_301); -x_302 = !lean_is_exclusive(x_287); -if (x_302 == 0) -{ -lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; uint8_t x_307; uint8_t x_308; -x_303 = lean_ctor_get(x_287, 0); -x_304 = lean_ctor_get(x_287, 1); -x_305 = lean_ctor_get(x_287, 2); -x_306 = lean_ctor_get(x_287, 3); -x_307 = 1; -lean_inc(x_205); -lean_ctor_set(x_287, 3, x_205); -lean_ctor_set(x_287, 2, x_35); -lean_ctor_set(x_287, 1, x_34); -lean_ctor_set(x_287, 0, x_33); -x_308 = !lean_is_exclusive(x_205); -if (x_308 == 0) -{ -lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; uint8_t x_313; -x_309 = lean_ctor_get(x_205, 3); -lean_dec(x_309); -x_310 = lean_ctor_get(x_205, 2); -lean_dec(x_310); -x_311 = lean_ctor_get(x_205, 1); -lean_dec(x_311); -x_312 = lean_ctor_get(x_205, 0); -lean_dec(x_312); -lean_ctor_set_uint8(x_287, sizeof(void*)*4, x_307); -lean_ctor_set(x_205, 3, x_306); -lean_ctor_set(x_205, 2, x_305); -lean_ctor_set(x_205, 1, x_304); -lean_ctor_set(x_205, 0, x_303); -lean_ctor_set_uint8(x_205, sizeof(void*)*4, x_307); -x_313 = 0; -lean_ctor_set(x_204, 3, x_205); -lean_ctor_set(x_204, 0, x_287); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_313); -return x_204; -} -else -{ -lean_object* x_314; uint8_t x_315; -lean_dec(x_205); -lean_ctor_set_uint8(x_287, sizeof(void*)*4, x_307); -x_314 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_314, 0, x_303); -lean_ctor_set(x_314, 1, x_304); -lean_ctor_set(x_314, 2, x_305); -lean_ctor_set(x_314, 3, x_306); -lean_ctor_set_uint8(x_314, sizeof(void*)*4, x_307); -x_315 = 0; -lean_ctor_set(x_204, 3, x_314); -lean_ctor_set(x_204, 0, x_287); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_315); -return x_204; -} -} -else -{ -lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; uint8_t x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; uint8_t x_324; -x_316 = lean_ctor_get(x_287, 0); -x_317 = lean_ctor_get(x_287, 1); -x_318 = lean_ctor_get(x_287, 2); -x_319 = lean_ctor_get(x_287, 3); -lean_inc(x_319); -lean_inc(x_318); -lean_inc(x_317); -lean_inc(x_316); -lean_dec(x_287); -x_320 = 1; -lean_inc(x_205); -x_321 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_321, 0, x_33); -lean_ctor_set(x_321, 1, x_34); -lean_ctor_set(x_321, 2, x_35); -lean_ctor_set(x_321, 3, x_205); -if (lean_is_exclusive(x_205)) { - lean_ctor_release(x_205, 0); - lean_ctor_release(x_205, 1); - lean_ctor_release(x_205, 2); - lean_ctor_release(x_205, 3); - x_322 = x_205; -} else { - lean_dec_ref(x_205); - x_322 = lean_box(0); -} -lean_ctor_set_uint8(x_321, sizeof(void*)*4, x_320); -if (lean_is_scalar(x_322)) { - x_323 = lean_alloc_ctor(1, 4, 1); -} else { - x_323 = x_322; -} -lean_ctor_set(x_323, 0, x_316); -lean_ctor_set(x_323, 1, x_317); -lean_ctor_set(x_323, 2, x_318); -lean_ctor_set(x_323, 3, x_319); -lean_ctor_set_uint8(x_323, sizeof(void*)*4, x_320); -x_324 = 0; -lean_ctor_set(x_204, 3, x_323); -lean_ctor_set(x_204, 0, x_321); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_324); -return x_204; -} -} -else -{ -lean_object* x_325; lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; uint8_t x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; uint8_t x_336; lean_object* x_337; -x_325 = lean_ctor_get(x_204, 1); -x_326 = lean_ctor_get(x_204, 2); -lean_inc(x_326); -lean_inc(x_325); -lean_dec(x_204); -x_327 = lean_ctor_get(x_287, 0); -lean_inc(x_327); -x_328 = lean_ctor_get(x_287, 1); -lean_inc(x_328); -x_329 = lean_ctor_get(x_287, 2); -lean_inc(x_329); -x_330 = lean_ctor_get(x_287, 3); -lean_inc(x_330); -if (lean_is_exclusive(x_287)) { - lean_ctor_release(x_287, 0); - lean_ctor_release(x_287, 1); - lean_ctor_release(x_287, 2); - lean_ctor_release(x_287, 3); - x_331 = x_287; -} else { - lean_dec_ref(x_287); - x_331 = lean_box(0); -} -x_332 = 1; -lean_inc(x_205); -if (lean_is_scalar(x_331)) { - x_333 = lean_alloc_ctor(1, 4, 1); -} else { - x_333 = x_331; -} -lean_ctor_set(x_333, 0, x_33); -lean_ctor_set(x_333, 1, x_34); -lean_ctor_set(x_333, 2, x_35); -lean_ctor_set(x_333, 3, x_205); -if (lean_is_exclusive(x_205)) { - lean_ctor_release(x_205, 0); - lean_ctor_release(x_205, 1); - lean_ctor_release(x_205, 2); - lean_ctor_release(x_205, 3); - x_334 = x_205; -} else { - lean_dec_ref(x_205); - x_334 = lean_box(0); -} -lean_ctor_set_uint8(x_333, sizeof(void*)*4, x_332); -if (lean_is_scalar(x_334)) { - x_335 = lean_alloc_ctor(1, 4, 1); -} else { - x_335 = x_334; -} -lean_ctor_set(x_335, 0, x_327); -lean_ctor_set(x_335, 1, x_328); -lean_ctor_set(x_335, 2, x_329); -lean_ctor_set(x_335, 3, x_330); -lean_ctor_set_uint8(x_335, sizeof(void*)*4, x_332); -x_336 = 0; -x_337 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_337, 0, x_333); -lean_ctor_set(x_337, 1, x_325); -lean_ctor_set(x_337, 2, x_326); -lean_ctor_set(x_337, 3, x_335); -lean_ctor_set_uint8(x_337, sizeof(void*)*4, x_336); -return x_337; -} -} -else -{ -uint8_t x_338; -x_338 = !lean_is_exclusive(x_204); -if (x_338 == 0) -{ -lean_object* x_339; lean_object* x_340; uint8_t x_341; -x_339 = lean_ctor_get(x_204, 3); -lean_dec(x_339); -x_340 = lean_ctor_get(x_204, 0); -lean_dec(x_340); -x_341 = !lean_is_exclusive(x_205); -if (x_341 == 0) -{ -uint8_t x_342; uint8_t x_343; -lean_ctor_set_uint8(x_205, sizeof(void*)*4, x_298); -x_342 = 0; -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_342); -x_343 = 1; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_343); -return x_1; -} -else -{ -lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; uint8_t x_349; uint8_t x_350; -x_344 = lean_ctor_get(x_205, 0); -x_345 = lean_ctor_get(x_205, 1); -x_346 = lean_ctor_get(x_205, 2); -x_347 = lean_ctor_get(x_205, 3); -lean_inc(x_347); -lean_inc(x_346); -lean_inc(x_345); -lean_inc(x_344); -lean_dec(x_205); -x_348 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_348, 0, x_344); -lean_ctor_set(x_348, 1, x_345); -lean_ctor_set(x_348, 2, x_346); -lean_ctor_set(x_348, 3, x_347); -lean_ctor_set_uint8(x_348, sizeof(void*)*4, x_298); -x_349 = 0; -lean_ctor_set(x_204, 0, x_348); -lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_349); -x_350 = 1; -lean_ctor_set(x_1, 3, x_204); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_350); -return x_1; -} -} -else -{ -lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; uint8_t x_359; lean_object* x_360; uint8_t x_361; -x_351 = lean_ctor_get(x_204, 1); -x_352 = lean_ctor_get(x_204, 2); -lean_inc(x_352); -lean_inc(x_351); -lean_dec(x_204); -x_353 = lean_ctor_get(x_205, 0); -lean_inc(x_353); -x_354 = lean_ctor_get(x_205, 1); -lean_inc(x_354); -x_355 = lean_ctor_get(x_205, 2); -lean_inc(x_355); -x_356 = lean_ctor_get(x_205, 3); -lean_inc(x_356); -if (lean_is_exclusive(x_205)) { - lean_ctor_release(x_205, 0); - lean_ctor_release(x_205, 1); - lean_ctor_release(x_205, 2); - lean_ctor_release(x_205, 3); - x_357 = x_205; -} else { - lean_dec_ref(x_205); - x_357 = lean_box(0); -} -if (lean_is_scalar(x_357)) { - x_358 = lean_alloc_ctor(1, 4, 1); -} else { - x_358 = x_357; -} -lean_ctor_set(x_358, 0, x_353); -lean_ctor_set(x_358, 1, x_354); -lean_ctor_set(x_358, 2, x_355); -lean_ctor_set(x_358, 3, x_356); -lean_ctor_set_uint8(x_358, sizeof(void*)*4, x_298); -x_359 = 0; -x_360 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_360, 0, x_358); -lean_ctor_set(x_360, 1, x_351); -lean_ctor_set(x_360, 2, x_352); -lean_ctor_set(x_360, 3, x_287); -lean_ctor_set_uint8(x_360, sizeof(void*)*4, x_359); -x_361 = 1; -lean_ctor_set(x_1, 3, x_360); -lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_361); -return x_1; -} -} -} -} -} -} -} -} -} -else -{ -lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; uint8_t x_366; -x_362 = lean_ctor_get(x_1, 0); -x_363 = lean_ctor_get(x_1, 1); -x_364 = lean_ctor_get(x_1, 2); -x_365 = lean_ctor_get(x_1, 3); -lean_inc(x_365); -lean_inc(x_364); -lean_inc(x_363); -lean_inc(x_362); -lean_dec(x_1); -x_366 = l_Lean_Name_quickCmp(x_2, x_363); -switch (x_366) { -case 0: -{ -uint8_t x_367; -x_367 = l_Std_RBNode_isRed___rarg(x_362); -if (x_367 == 0) -{ -lean_object* x_368; uint8_t x_369; lean_object* x_370; -x_368 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_362, x_2, x_3); -x_369 = 1; -x_370 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_370, 0, x_368); -lean_ctor_set(x_370, 1, x_363); -lean_ctor_set(x_370, 2, x_364); -lean_ctor_set(x_370, 3, x_365); -lean_ctor_set_uint8(x_370, sizeof(void*)*4, x_369); -return x_370; -} -else -{ -lean_object* x_371; lean_object* x_372; -x_371 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_362, x_2, x_3); -x_372 = lean_ctor_get(x_371, 0); -lean_inc(x_372); -if (lean_obj_tag(x_372) == 0) -{ -lean_object* x_373; -x_373 = lean_ctor_get(x_371, 3); -lean_inc(x_373); -if (lean_obj_tag(x_373) == 0) -{ -lean_object* x_374; lean_object* x_375; lean_object* x_376; uint8_t x_377; lean_object* x_378; uint8_t x_379; lean_object* x_380; -x_374 = lean_ctor_get(x_371, 1); -lean_inc(x_374); -x_375 = lean_ctor_get(x_371, 2); -lean_inc(x_375); -if (lean_is_exclusive(x_371)) { - lean_ctor_release(x_371, 0); - lean_ctor_release(x_371, 1); - lean_ctor_release(x_371, 2); - lean_ctor_release(x_371, 3); - x_376 = x_371; -} else { - lean_dec_ref(x_371); - x_376 = lean_box(0); -} -x_377 = 0; -if (lean_is_scalar(x_376)) { - x_378 = lean_alloc_ctor(1, 4, 1); -} else { - x_378 = x_376; -} -lean_ctor_set(x_378, 0, x_373); -lean_ctor_set(x_378, 1, x_374); -lean_ctor_set(x_378, 2, x_375); -lean_ctor_set(x_378, 3, x_373); -lean_ctor_set_uint8(x_378, sizeof(void*)*4, x_377); -x_379 = 1; -x_380 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_380, 0, x_378); -lean_ctor_set(x_380, 1, x_363); -lean_ctor_set(x_380, 2, x_364); -lean_ctor_set(x_380, 3, x_365); -lean_ctor_set_uint8(x_380, sizeof(void*)*4, x_379); -return x_380; -} -else -{ -uint8_t x_381; -x_381 = lean_ctor_get_uint8(x_373, sizeof(void*)*4); -if (x_381 == 0) -{ -lean_object* x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; uint8_t x_390; lean_object* x_391; lean_object* x_392; uint8_t x_393; lean_object* x_394; -x_382 = lean_ctor_get(x_371, 1); -lean_inc(x_382); -x_383 = lean_ctor_get(x_371, 2); -lean_inc(x_383); -if (lean_is_exclusive(x_371)) { - lean_ctor_release(x_371, 0); - lean_ctor_release(x_371, 1); - lean_ctor_release(x_371, 2); - lean_ctor_release(x_371, 3); - x_384 = x_371; -} else { - lean_dec_ref(x_371); - x_384 = lean_box(0); -} -x_385 = lean_ctor_get(x_373, 0); -lean_inc(x_385); -x_386 = lean_ctor_get(x_373, 1); -lean_inc(x_386); -x_387 = lean_ctor_get(x_373, 2); -lean_inc(x_387); -x_388 = lean_ctor_get(x_373, 3); -lean_inc(x_388); -if (lean_is_exclusive(x_373)) { - lean_ctor_release(x_373, 0); - lean_ctor_release(x_373, 1); - lean_ctor_release(x_373, 2); - lean_ctor_release(x_373, 3); - x_389 = x_373; -} else { - lean_dec_ref(x_373); - x_389 = lean_box(0); -} -x_390 = 1; -if (lean_is_scalar(x_389)) { - x_391 = lean_alloc_ctor(1, 4, 1); -} else { - x_391 = x_389; -} -lean_ctor_set(x_391, 0, x_372); -lean_ctor_set(x_391, 1, x_382); -lean_ctor_set(x_391, 2, x_383); -lean_ctor_set(x_391, 3, x_385); -lean_ctor_set_uint8(x_391, sizeof(void*)*4, x_390); -if (lean_is_scalar(x_384)) { - x_392 = lean_alloc_ctor(1, 4, 1); -} else { - x_392 = x_384; -} -lean_ctor_set(x_392, 0, x_388); -lean_ctor_set(x_392, 1, x_363); -lean_ctor_set(x_392, 2, x_364); -lean_ctor_set(x_392, 3, x_365); -lean_ctor_set_uint8(x_392, sizeof(void*)*4, x_390); -x_393 = 0; -x_394 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_394, 0, x_391); -lean_ctor_set(x_394, 1, x_386); -lean_ctor_set(x_394, 2, x_387); -lean_ctor_set(x_394, 3, x_392); -lean_ctor_set_uint8(x_394, sizeof(void*)*4, x_393); -return x_394; -} -else -{ -lean_object* x_395; lean_object* x_396; lean_object* x_397; uint8_t x_398; lean_object* x_399; uint8_t x_400; lean_object* x_401; -x_395 = lean_ctor_get(x_371, 1); -lean_inc(x_395); -x_396 = lean_ctor_get(x_371, 2); -lean_inc(x_396); -if (lean_is_exclusive(x_371)) { - lean_ctor_release(x_371, 0); - lean_ctor_release(x_371, 1); - lean_ctor_release(x_371, 2); - lean_ctor_release(x_371, 3); - x_397 = x_371; -} else { - lean_dec_ref(x_371); - x_397 = lean_box(0); -} -x_398 = 0; -if (lean_is_scalar(x_397)) { - x_399 = lean_alloc_ctor(1, 4, 1); -} else { - x_399 = x_397; -} -lean_ctor_set(x_399, 0, x_372); -lean_ctor_set(x_399, 1, x_395); -lean_ctor_set(x_399, 2, x_396); -lean_ctor_set(x_399, 3, x_373); -lean_ctor_set_uint8(x_399, sizeof(void*)*4, x_398); -x_400 = 1; -x_401 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_401, 0, x_399); -lean_ctor_set(x_401, 1, x_363); -lean_ctor_set(x_401, 2, x_364); -lean_ctor_set(x_401, 3, x_365); -lean_ctor_set_uint8(x_401, sizeof(void*)*4, x_400); -return x_401; -} -} -} -else -{ -uint8_t x_402; -x_402 = lean_ctor_get_uint8(x_372, sizeof(void*)*4); -if (x_402 == 0) -{ -lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; uint8_t x_412; lean_object* x_413; lean_object* x_414; uint8_t x_415; lean_object* x_416; -x_403 = lean_ctor_get(x_371, 1); -lean_inc(x_403); -x_404 = lean_ctor_get(x_371, 2); -lean_inc(x_404); -x_405 = lean_ctor_get(x_371, 3); -lean_inc(x_405); -if (lean_is_exclusive(x_371)) { - lean_ctor_release(x_371, 0); - lean_ctor_release(x_371, 1); - lean_ctor_release(x_371, 2); - lean_ctor_release(x_371, 3); - x_406 = x_371; -} else { - lean_dec_ref(x_371); - x_406 = lean_box(0); -} -x_407 = lean_ctor_get(x_372, 0); -lean_inc(x_407); -x_408 = lean_ctor_get(x_372, 1); -lean_inc(x_408); -x_409 = lean_ctor_get(x_372, 2); -lean_inc(x_409); -x_410 = lean_ctor_get(x_372, 3); -lean_inc(x_410); -if (lean_is_exclusive(x_372)) { - lean_ctor_release(x_372, 0); - lean_ctor_release(x_372, 1); - lean_ctor_release(x_372, 2); - lean_ctor_release(x_372, 3); - x_411 = x_372; -} else { - lean_dec_ref(x_372); - x_411 = lean_box(0); -} -x_412 = 1; -if (lean_is_scalar(x_411)) { - x_413 = lean_alloc_ctor(1, 4, 1); -} else { - x_413 = x_411; -} -lean_ctor_set(x_413, 0, x_407); -lean_ctor_set(x_413, 1, x_408); -lean_ctor_set(x_413, 2, x_409); -lean_ctor_set(x_413, 3, x_410); -lean_ctor_set_uint8(x_413, sizeof(void*)*4, x_412); -if (lean_is_scalar(x_406)) { - x_414 = lean_alloc_ctor(1, 4, 1); -} else { - x_414 = x_406; -} -lean_ctor_set(x_414, 0, x_405); -lean_ctor_set(x_414, 1, x_363); -lean_ctor_set(x_414, 2, x_364); -lean_ctor_set(x_414, 3, x_365); -lean_ctor_set_uint8(x_414, sizeof(void*)*4, x_412); -x_415 = 0; -x_416 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_416, 0, x_413); -lean_ctor_set(x_416, 1, x_403); -lean_ctor_set(x_416, 2, x_404); -lean_ctor_set(x_416, 3, x_414); -lean_ctor_set_uint8(x_416, sizeof(void*)*4, x_415); -return x_416; -} -else -{ -lean_object* x_417; -x_417 = lean_ctor_get(x_371, 3); -lean_inc(x_417); -if (lean_obj_tag(x_417) == 0) -{ -lean_object* x_418; lean_object* x_419; lean_object* x_420; uint8_t x_421; lean_object* x_422; uint8_t x_423; lean_object* x_424; -x_418 = lean_ctor_get(x_371, 1); -lean_inc(x_418); -x_419 = lean_ctor_get(x_371, 2); -lean_inc(x_419); -if (lean_is_exclusive(x_371)) { - lean_ctor_release(x_371, 0); - lean_ctor_release(x_371, 1); - lean_ctor_release(x_371, 2); - lean_ctor_release(x_371, 3); - x_420 = x_371; -} else { - lean_dec_ref(x_371); - x_420 = lean_box(0); -} -x_421 = 0; -if (lean_is_scalar(x_420)) { - x_422 = lean_alloc_ctor(1, 4, 1); -} else { - x_422 = x_420; -} -lean_ctor_set(x_422, 0, x_372); -lean_ctor_set(x_422, 1, x_418); -lean_ctor_set(x_422, 2, x_419); -lean_ctor_set(x_422, 3, x_417); -lean_ctor_set_uint8(x_422, sizeof(void*)*4, x_421); -x_423 = 1; -x_424 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_424, 0, x_422); -lean_ctor_set(x_424, 1, x_363); -lean_ctor_set(x_424, 2, x_364); -lean_ctor_set(x_424, 3, x_365); -lean_ctor_set_uint8(x_424, sizeof(void*)*4, x_423); -return x_424; -} -else -{ -uint8_t x_425; -x_425 = lean_ctor_get_uint8(x_417, sizeof(void*)*4); -if (x_425 == 0) -{ -lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; uint8_t x_434; lean_object* x_435; lean_object* x_436; lean_object* x_437; uint8_t x_438; lean_object* x_439; -x_426 = lean_ctor_get(x_371, 1); -lean_inc(x_426); -x_427 = lean_ctor_get(x_371, 2); -lean_inc(x_427); -if (lean_is_exclusive(x_371)) { - lean_ctor_release(x_371, 0); - lean_ctor_release(x_371, 1); - lean_ctor_release(x_371, 2); - lean_ctor_release(x_371, 3); - x_428 = x_371; -} else { - lean_dec_ref(x_371); - x_428 = lean_box(0); -} -x_429 = lean_ctor_get(x_417, 0); -lean_inc(x_429); -x_430 = lean_ctor_get(x_417, 1); -lean_inc(x_430); -x_431 = lean_ctor_get(x_417, 2); -lean_inc(x_431); -x_432 = lean_ctor_get(x_417, 3); -lean_inc(x_432); -if (lean_is_exclusive(x_417)) { - lean_ctor_release(x_417, 0); - lean_ctor_release(x_417, 1); - lean_ctor_release(x_417, 2); - lean_ctor_release(x_417, 3); - x_433 = x_417; -} else { - lean_dec_ref(x_417); - x_433 = lean_box(0); -} -x_434 = 1; -lean_inc(x_372); -if (lean_is_scalar(x_433)) { - x_435 = lean_alloc_ctor(1, 4, 1); -} else { - x_435 = x_433; -} -lean_ctor_set(x_435, 0, x_372); -lean_ctor_set(x_435, 1, x_426); -lean_ctor_set(x_435, 2, x_427); -lean_ctor_set(x_435, 3, x_429); -if (lean_is_exclusive(x_372)) { - lean_ctor_release(x_372, 0); - lean_ctor_release(x_372, 1); - lean_ctor_release(x_372, 2); - lean_ctor_release(x_372, 3); - x_436 = x_372; -} else { - lean_dec_ref(x_372); - x_436 = lean_box(0); -} -lean_ctor_set_uint8(x_435, sizeof(void*)*4, x_434); -if (lean_is_scalar(x_436)) { - x_437 = lean_alloc_ctor(1, 4, 1); -} else { - x_437 = x_436; -} -lean_ctor_set(x_437, 0, x_432); -lean_ctor_set(x_437, 1, x_363); -lean_ctor_set(x_437, 2, x_364); -lean_ctor_set(x_437, 3, x_365); -lean_ctor_set_uint8(x_437, sizeof(void*)*4, x_434); -x_438 = 0; -if (lean_is_scalar(x_428)) { - x_439 = lean_alloc_ctor(1, 4, 1); -} else { - x_439 = x_428; -} -lean_ctor_set(x_439, 0, x_435); -lean_ctor_set(x_439, 1, x_430); -lean_ctor_set(x_439, 2, x_431); -lean_ctor_set(x_439, 3, x_437); -lean_ctor_set_uint8(x_439, sizeof(void*)*4, x_438); -return x_439; -} -else -{ -lean_object* x_440; lean_object* x_441; lean_object* x_442; lean_object* x_443; lean_object* x_444; lean_object* x_445; lean_object* x_446; lean_object* x_447; lean_object* x_448; uint8_t x_449; lean_object* x_450; uint8_t x_451; lean_object* x_452; -x_440 = lean_ctor_get(x_371, 1); -lean_inc(x_440); -x_441 = lean_ctor_get(x_371, 2); -lean_inc(x_441); -if (lean_is_exclusive(x_371)) { - lean_ctor_release(x_371, 0); - lean_ctor_release(x_371, 1); - lean_ctor_release(x_371, 2); - lean_ctor_release(x_371, 3); - x_442 = x_371; -} else { - lean_dec_ref(x_371); - x_442 = lean_box(0); -} -x_443 = lean_ctor_get(x_372, 0); -lean_inc(x_443); -x_444 = lean_ctor_get(x_372, 1); -lean_inc(x_444); -x_445 = lean_ctor_get(x_372, 2); -lean_inc(x_445); -x_446 = lean_ctor_get(x_372, 3); -lean_inc(x_446); -if (lean_is_exclusive(x_372)) { - lean_ctor_release(x_372, 0); - lean_ctor_release(x_372, 1); - lean_ctor_release(x_372, 2); - lean_ctor_release(x_372, 3); - x_447 = x_372; -} else { - lean_dec_ref(x_372); - x_447 = lean_box(0); -} -if (lean_is_scalar(x_447)) { - x_448 = lean_alloc_ctor(1, 4, 1); -} else { - x_448 = x_447; -} -lean_ctor_set(x_448, 0, x_443); -lean_ctor_set(x_448, 1, x_444); -lean_ctor_set(x_448, 2, x_445); -lean_ctor_set(x_448, 3, x_446); -lean_ctor_set_uint8(x_448, sizeof(void*)*4, x_425); -x_449 = 0; -if (lean_is_scalar(x_442)) { - x_450 = lean_alloc_ctor(1, 4, 1); -} else { - x_450 = x_442; -} -lean_ctor_set(x_450, 0, x_448); -lean_ctor_set(x_450, 1, x_440); -lean_ctor_set(x_450, 2, x_441); -lean_ctor_set(x_450, 3, x_417); -lean_ctor_set_uint8(x_450, sizeof(void*)*4, x_449); -x_451 = 1; -x_452 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_452, 0, x_450); -lean_ctor_set(x_452, 1, x_363); -lean_ctor_set(x_452, 2, x_364); -lean_ctor_set(x_452, 3, x_365); -lean_ctor_set_uint8(x_452, sizeof(void*)*4, x_451); -return x_452; -} -} -} -} -} -} -case 1: -{ -uint8_t x_453; lean_object* x_454; -lean_dec(x_364); -lean_dec(x_363); -x_453 = 1; -x_454 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_454, 0, x_362); -lean_ctor_set(x_454, 1, x_2); -lean_ctor_set(x_454, 2, x_3); -lean_ctor_set(x_454, 3, x_365); -lean_ctor_set_uint8(x_454, sizeof(void*)*4, x_453); -return x_454; -} -default: -{ -uint8_t x_455; -x_455 = l_Std_RBNode_isRed___rarg(x_365); -if (x_455 == 0) -{ -lean_object* x_456; uint8_t x_457; lean_object* x_458; -x_456 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_365, x_2, x_3); -x_457 = 1; -x_458 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_458, 0, x_362); -lean_ctor_set(x_458, 1, x_363); -lean_ctor_set(x_458, 2, x_364); -lean_ctor_set(x_458, 3, x_456); -lean_ctor_set_uint8(x_458, sizeof(void*)*4, x_457); -return x_458; -} -else -{ -lean_object* x_459; lean_object* x_460; -x_459 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_365, x_2, x_3); -x_460 = lean_ctor_get(x_459, 0); -lean_inc(x_460); -if (lean_obj_tag(x_460) == 0) -{ -lean_object* x_461; -x_461 = lean_ctor_get(x_459, 3); -lean_inc(x_461); -if (lean_obj_tag(x_461) == 0) -{ -lean_object* x_462; lean_object* x_463; lean_object* x_464; uint8_t x_465; lean_object* x_466; uint8_t x_467; lean_object* x_468; -x_462 = lean_ctor_get(x_459, 1); -lean_inc(x_462); -x_463 = lean_ctor_get(x_459, 2); -lean_inc(x_463); -if (lean_is_exclusive(x_459)) { - lean_ctor_release(x_459, 0); - lean_ctor_release(x_459, 1); - lean_ctor_release(x_459, 2); - lean_ctor_release(x_459, 3); - x_464 = x_459; -} else { - lean_dec_ref(x_459); - x_464 = lean_box(0); -} -x_465 = 0; -if (lean_is_scalar(x_464)) { - x_466 = lean_alloc_ctor(1, 4, 1); -} else { - x_466 = x_464; -} -lean_ctor_set(x_466, 0, x_461); -lean_ctor_set(x_466, 1, x_462); -lean_ctor_set(x_466, 2, x_463); -lean_ctor_set(x_466, 3, x_461); -lean_ctor_set_uint8(x_466, sizeof(void*)*4, x_465); -x_467 = 1; -x_468 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_468, 0, x_362); -lean_ctor_set(x_468, 1, x_363); -lean_ctor_set(x_468, 2, x_364); -lean_ctor_set(x_468, 3, x_466); -lean_ctor_set_uint8(x_468, sizeof(void*)*4, x_467); -return x_468; -} -else -{ -uint8_t x_469; -x_469 = lean_ctor_get_uint8(x_461, sizeof(void*)*4); -if (x_469 == 0) -{ -lean_object* x_470; lean_object* x_471; lean_object* x_472; lean_object* x_473; lean_object* x_474; lean_object* x_475; lean_object* x_476; lean_object* x_477; uint8_t x_478; lean_object* x_479; lean_object* x_480; uint8_t x_481; lean_object* x_482; -x_470 = lean_ctor_get(x_459, 1); -lean_inc(x_470); -x_471 = lean_ctor_get(x_459, 2); -lean_inc(x_471); -if (lean_is_exclusive(x_459)) { - lean_ctor_release(x_459, 0); - lean_ctor_release(x_459, 1); - lean_ctor_release(x_459, 2); - lean_ctor_release(x_459, 3); - x_472 = x_459; -} else { - lean_dec_ref(x_459); - x_472 = lean_box(0); -} -x_473 = lean_ctor_get(x_461, 0); -lean_inc(x_473); -x_474 = lean_ctor_get(x_461, 1); -lean_inc(x_474); -x_475 = lean_ctor_get(x_461, 2); -lean_inc(x_475); -x_476 = lean_ctor_get(x_461, 3); -lean_inc(x_476); -if (lean_is_exclusive(x_461)) { - lean_ctor_release(x_461, 0); - lean_ctor_release(x_461, 1); - lean_ctor_release(x_461, 2); - lean_ctor_release(x_461, 3); - x_477 = x_461; -} else { - lean_dec_ref(x_461); - x_477 = lean_box(0); -} -x_478 = 1; -if (lean_is_scalar(x_477)) { - x_479 = lean_alloc_ctor(1, 4, 1); -} else { - x_479 = x_477; -} -lean_ctor_set(x_479, 0, x_362); -lean_ctor_set(x_479, 1, x_363); -lean_ctor_set(x_479, 2, x_364); -lean_ctor_set(x_479, 3, x_460); -lean_ctor_set_uint8(x_479, sizeof(void*)*4, x_478); -if (lean_is_scalar(x_472)) { - x_480 = lean_alloc_ctor(1, 4, 1); -} else { - x_480 = x_472; -} -lean_ctor_set(x_480, 0, x_473); -lean_ctor_set(x_480, 1, x_474); -lean_ctor_set(x_480, 2, x_475); -lean_ctor_set(x_480, 3, x_476); -lean_ctor_set_uint8(x_480, sizeof(void*)*4, x_478); -x_481 = 0; -x_482 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_482, 0, x_479); -lean_ctor_set(x_482, 1, x_470); -lean_ctor_set(x_482, 2, x_471); -lean_ctor_set(x_482, 3, x_480); -lean_ctor_set_uint8(x_482, sizeof(void*)*4, x_481); -return x_482; -} -else -{ -lean_object* x_483; lean_object* x_484; lean_object* x_485; uint8_t x_486; lean_object* x_487; uint8_t x_488; lean_object* x_489; -x_483 = lean_ctor_get(x_459, 1); -lean_inc(x_483); -x_484 = lean_ctor_get(x_459, 2); -lean_inc(x_484); -if (lean_is_exclusive(x_459)) { - lean_ctor_release(x_459, 0); - lean_ctor_release(x_459, 1); - lean_ctor_release(x_459, 2); - lean_ctor_release(x_459, 3); - x_485 = x_459; -} else { - lean_dec_ref(x_459); - x_485 = lean_box(0); -} -x_486 = 0; -if (lean_is_scalar(x_485)) { - x_487 = lean_alloc_ctor(1, 4, 1); -} else { - x_487 = x_485; -} -lean_ctor_set(x_487, 0, x_460); -lean_ctor_set(x_487, 1, x_483); -lean_ctor_set(x_487, 2, x_484); -lean_ctor_set(x_487, 3, x_461); -lean_ctor_set_uint8(x_487, sizeof(void*)*4, x_486); -x_488 = 1; -x_489 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_489, 0, x_362); -lean_ctor_set(x_489, 1, x_363); -lean_ctor_set(x_489, 2, x_364); -lean_ctor_set(x_489, 3, x_487); -lean_ctor_set_uint8(x_489, sizeof(void*)*4, x_488); -return x_489; -} -} -} -else -{ -uint8_t x_490; -x_490 = lean_ctor_get_uint8(x_460, sizeof(void*)*4); -if (x_490 == 0) -{ -lean_object* x_491; lean_object* x_492; lean_object* x_493; lean_object* x_494; lean_object* x_495; lean_object* x_496; lean_object* x_497; lean_object* x_498; lean_object* x_499; uint8_t x_500; lean_object* x_501; lean_object* x_502; uint8_t x_503; lean_object* x_504; -x_491 = lean_ctor_get(x_459, 1); -lean_inc(x_491); -x_492 = lean_ctor_get(x_459, 2); -lean_inc(x_492); -x_493 = lean_ctor_get(x_459, 3); -lean_inc(x_493); -if (lean_is_exclusive(x_459)) { - lean_ctor_release(x_459, 0); - lean_ctor_release(x_459, 1); - lean_ctor_release(x_459, 2); - lean_ctor_release(x_459, 3); - x_494 = x_459; -} else { - lean_dec_ref(x_459); - x_494 = lean_box(0); -} -x_495 = lean_ctor_get(x_460, 0); -lean_inc(x_495); -x_496 = lean_ctor_get(x_460, 1); -lean_inc(x_496); -x_497 = lean_ctor_get(x_460, 2); -lean_inc(x_497); -x_498 = lean_ctor_get(x_460, 3); -lean_inc(x_498); -if (lean_is_exclusive(x_460)) { - lean_ctor_release(x_460, 0); - lean_ctor_release(x_460, 1); - lean_ctor_release(x_460, 2); - lean_ctor_release(x_460, 3); - x_499 = x_460; -} else { - lean_dec_ref(x_460); - x_499 = lean_box(0); -} -x_500 = 1; -if (lean_is_scalar(x_499)) { - x_501 = lean_alloc_ctor(1, 4, 1); -} else { - x_501 = x_499; -} -lean_ctor_set(x_501, 0, x_362); -lean_ctor_set(x_501, 1, x_363); -lean_ctor_set(x_501, 2, x_364); -lean_ctor_set(x_501, 3, x_495); -lean_ctor_set_uint8(x_501, sizeof(void*)*4, x_500); -if (lean_is_scalar(x_494)) { - x_502 = lean_alloc_ctor(1, 4, 1); -} else { - x_502 = x_494; -} -lean_ctor_set(x_502, 0, x_498); -lean_ctor_set(x_502, 1, x_491); -lean_ctor_set(x_502, 2, x_492); -lean_ctor_set(x_502, 3, x_493); -lean_ctor_set_uint8(x_502, sizeof(void*)*4, x_500); -x_503 = 0; -x_504 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_504, 0, x_501); -lean_ctor_set(x_504, 1, x_496); -lean_ctor_set(x_504, 2, x_497); -lean_ctor_set(x_504, 3, x_502); -lean_ctor_set_uint8(x_504, sizeof(void*)*4, x_503); -return x_504; -} -else -{ -lean_object* x_505; -x_505 = lean_ctor_get(x_459, 3); -lean_inc(x_505); -if (lean_obj_tag(x_505) == 0) -{ -lean_object* x_506; lean_object* x_507; lean_object* x_508; uint8_t x_509; lean_object* x_510; uint8_t x_511; lean_object* x_512; -x_506 = lean_ctor_get(x_459, 1); -lean_inc(x_506); -x_507 = lean_ctor_get(x_459, 2); -lean_inc(x_507); -if (lean_is_exclusive(x_459)) { - lean_ctor_release(x_459, 0); - lean_ctor_release(x_459, 1); - lean_ctor_release(x_459, 2); - lean_ctor_release(x_459, 3); - x_508 = x_459; -} else { - lean_dec_ref(x_459); - x_508 = lean_box(0); -} -x_509 = 0; -if (lean_is_scalar(x_508)) { - x_510 = lean_alloc_ctor(1, 4, 1); -} else { - x_510 = x_508; -} -lean_ctor_set(x_510, 0, x_460); -lean_ctor_set(x_510, 1, x_506); -lean_ctor_set(x_510, 2, x_507); -lean_ctor_set(x_510, 3, x_505); -lean_ctor_set_uint8(x_510, sizeof(void*)*4, x_509); -x_511 = 1; -x_512 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_512, 0, x_362); -lean_ctor_set(x_512, 1, x_363); -lean_ctor_set(x_512, 2, x_364); -lean_ctor_set(x_512, 3, x_510); -lean_ctor_set_uint8(x_512, sizeof(void*)*4, x_511); -return x_512; -} -else -{ -uint8_t x_513; -x_513 = lean_ctor_get_uint8(x_505, sizeof(void*)*4); -if (x_513 == 0) -{ -lean_object* x_514; lean_object* x_515; lean_object* x_516; lean_object* x_517; lean_object* x_518; lean_object* x_519; lean_object* x_520; lean_object* x_521; uint8_t x_522; lean_object* x_523; lean_object* x_524; lean_object* x_525; uint8_t x_526; lean_object* x_527; -x_514 = lean_ctor_get(x_459, 1); -lean_inc(x_514); -x_515 = lean_ctor_get(x_459, 2); -lean_inc(x_515); -if (lean_is_exclusive(x_459)) { - lean_ctor_release(x_459, 0); - lean_ctor_release(x_459, 1); - lean_ctor_release(x_459, 2); - lean_ctor_release(x_459, 3); - x_516 = x_459; -} else { - lean_dec_ref(x_459); - x_516 = lean_box(0); -} -x_517 = lean_ctor_get(x_505, 0); -lean_inc(x_517); -x_518 = lean_ctor_get(x_505, 1); -lean_inc(x_518); -x_519 = lean_ctor_get(x_505, 2); -lean_inc(x_519); -x_520 = lean_ctor_get(x_505, 3); -lean_inc(x_520); -if (lean_is_exclusive(x_505)) { - lean_ctor_release(x_505, 0); - lean_ctor_release(x_505, 1); - lean_ctor_release(x_505, 2); - lean_ctor_release(x_505, 3); - x_521 = x_505; -} else { - lean_dec_ref(x_505); - x_521 = lean_box(0); -} -x_522 = 1; -lean_inc(x_460); -if (lean_is_scalar(x_521)) { - x_523 = lean_alloc_ctor(1, 4, 1); -} else { - x_523 = x_521; -} -lean_ctor_set(x_523, 0, x_362); -lean_ctor_set(x_523, 1, x_363); -lean_ctor_set(x_523, 2, x_364); -lean_ctor_set(x_523, 3, x_460); -if (lean_is_exclusive(x_460)) { - lean_ctor_release(x_460, 0); - lean_ctor_release(x_460, 1); - lean_ctor_release(x_460, 2); - lean_ctor_release(x_460, 3); - x_524 = x_460; -} else { - lean_dec_ref(x_460); - x_524 = lean_box(0); -} -lean_ctor_set_uint8(x_523, sizeof(void*)*4, x_522); -if (lean_is_scalar(x_524)) { - x_525 = lean_alloc_ctor(1, 4, 1); -} else { - x_525 = x_524; -} -lean_ctor_set(x_525, 0, x_517); -lean_ctor_set(x_525, 1, x_518); -lean_ctor_set(x_525, 2, x_519); -lean_ctor_set(x_525, 3, x_520); -lean_ctor_set_uint8(x_525, sizeof(void*)*4, x_522); -x_526 = 0; -if (lean_is_scalar(x_516)) { - x_527 = lean_alloc_ctor(1, 4, 1); -} else { - x_527 = x_516; -} -lean_ctor_set(x_527, 0, x_523); -lean_ctor_set(x_527, 1, x_514); -lean_ctor_set(x_527, 2, x_515); -lean_ctor_set(x_527, 3, x_525); -lean_ctor_set_uint8(x_527, sizeof(void*)*4, x_526); -return x_527; -} -else -{ -lean_object* x_528; lean_object* x_529; lean_object* x_530; lean_object* x_531; lean_object* x_532; lean_object* x_533; lean_object* x_534; lean_object* x_535; lean_object* x_536; uint8_t x_537; lean_object* x_538; uint8_t x_539; lean_object* x_540; -x_528 = lean_ctor_get(x_459, 1); -lean_inc(x_528); -x_529 = lean_ctor_get(x_459, 2); -lean_inc(x_529); -if (lean_is_exclusive(x_459)) { - lean_ctor_release(x_459, 0); - lean_ctor_release(x_459, 1); - lean_ctor_release(x_459, 2); - lean_ctor_release(x_459, 3); - x_530 = x_459; -} else { - lean_dec_ref(x_459); - x_530 = lean_box(0); -} -x_531 = lean_ctor_get(x_460, 0); -lean_inc(x_531); -x_532 = lean_ctor_get(x_460, 1); -lean_inc(x_532); -x_533 = lean_ctor_get(x_460, 2); -lean_inc(x_533); -x_534 = lean_ctor_get(x_460, 3); -lean_inc(x_534); -if (lean_is_exclusive(x_460)) { - lean_ctor_release(x_460, 0); - lean_ctor_release(x_460, 1); - lean_ctor_release(x_460, 2); - lean_ctor_release(x_460, 3); - x_535 = x_460; -} else { - lean_dec_ref(x_460); - x_535 = lean_box(0); -} -if (lean_is_scalar(x_535)) { - x_536 = lean_alloc_ctor(1, 4, 1); -} else { - x_536 = x_535; -} -lean_ctor_set(x_536, 0, x_531); -lean_ctor_set(x_536, 1, x_532); -lean_ctor_set(x_536, 2, x_533); -lean_ctor_set(x_536, 3, x_534); -lean_ctor_set_uint8(x_536, sizeof(void*)*4, x_513); -x_537 = 0; -if (lean_is_scalar(x_530)) { - x_538 = lean_alloc_ctor(1, 4, 1); -} else { - x_538 = x_530; -} -lean_ctor_set(x_538, 0, x_536); -lean_ctor_set(x_538, 1, x_528); -lean_ctor_set(x_538, 2, x_529); -lean_ctor_set(x_538, 3, x_505); -lean_ctor_set_uint8(x_538, sizeof(void*)*4, x_537); -x_539 = 1; -x_540 = lean_alloc_ctor(1, 4, 1); -lean_ctor_set(x_540, 0, x_362); -lean_ctor_set(x_540, 1, x_363); -lean_ctor_set(x_540, 2, x_364); -lean_ctor_set(x_540, 3, x_538); -lean_ctor_set_uint8(x_540, sizeof(void*)*4, x_539); -return x_540; -} -} -} -} -} -} -} -} -} -} -} -} -LEAN_EXPORT lean_object* l_Std_RBNode_insert___at_Lean_NameSet_insert___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -uint8_t x_4; -x_4 = l_Std_RBNode_isRed___rarg(x_1); -if (x_4 == 0) -{ -lean_object* x_5; -x_5 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_1, x_2, x_3); -return x_5; -} -else -{ -lean_object* x_6; lean_object* x_7; -x_6 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_1, x_2, x_3); -x_7 = l_Std_RBNode_setBlack___rarg(x_6); -return x_7; -} -} -} -LEAN_EXPORT lean_object* l_Lean_NameSet_insert(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; lean_object* x_4; -x_3 = lean_box(0); -x_4 = l_Std_RBNode_insert___at_Lean_NameSet_insert___spec__1(x_1, x_2, x_3); -return x_4; -} -} -LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameSet_contains___spec__1(lean_object* x_1, lean_object* x_2) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_3; -x_3 = lean_box(0); -return x_3; -} -else -{ -lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; -x_4 = lean_ctor_get(x_1, 0); -x_5 = lean_ctor_get(x_1, 1); -x_6 = lean_ctor_get(x_1, 2); -x_7 = lean_ctor_get(x_1, 3); -x_8 = l_Lean_Name_quickCmp(x_2, x_5); -switch (x_8) { -case 0: -{ -x_1 = x_4; -goto _start; -} -case 1: -{ -lean_object* x_10; -lean_inc(x_6); -x_10 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_10, 0, x_6); -return x_10; -} -default: -{ -x_1 = x_7; -goto _start; -} -} -} -} -} -LEAN_EXPORT uint8_t l_Lean_NameSet_contains(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Std_RBNode_find___at_Lean_NameSet_contains___spec__1(x_1, x_2); -if (lean_obj_tag(x_3) == 0) -{ -uint8_t x_4; -x_4 = 0; -return x_4; -} -else -{ -uint8_t x_5; -lean_dec(x_3); -x_5 = 1; -return x_5; -} -} -} -LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameSet_contains___spec__1___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Std_RBNode_find___at_Lean_NameSet_contains___spec__1(x_1, x_2); -lean_dec(x_2); -lean_dec(x_1); -return x_3; -} -} -LEAN_EXPORT lean_object* l_Lean_NameSet_contains___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; lean_object* x_4; -x_3 = l_Lean_NameSet_contains(x_1, x_2); -lean_dec(x_2); -lean_dec(x_1); -x_4 = lean_box(x_3); -return x_4; -} -} -static lean_object* _init_l_Lean_NameSet_instForInNameSetName___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_NameMap_instForInNameMapProdName___closed__1; -x_2 = lean_alloc_closure((void*)(l_Std_RBTree_forIn___boxed), 4, 3); -lean_closure_set(x_2, 0, lean_box(0)); -lean_closure_set(x_2, 1, x_1); -lean_closure_set(x_2, 2, lean_box(0)); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Lean_NameSet_instForInNameSetName(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = l_Lean_NameSet_instForInNameSetName___closed__1; -return x_2; -} -} -LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_NameSSet_empty___spec__2(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = l_Std_mkHashMapImp___rarg(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0)); -return x_1; -} -} -static lean_object* _init_l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__1; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__2; -x_2 = lean_unsigned_to_nat(0u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; -x_1 = lean_unsigned_to_nat(0u); -x_2 = l_Std_mkHashMapImp___rarg(x_1); -x_3 = 1; -x_4 = l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__3; -x_5 = lean_alloc_ctor(0, 2, 1); -lean_ctor_set(x_5, 0, x_2); -lean_ctor_set(x_5, 1, x_4); -lean_ctor_set_uint8(x_5, sizeof(void*)*2, x_3); -return x_5; -} -} -static lean_object* _init_l_Lean_NameSSet_empty() { -_start: -{ -lean_object* x_1; -x_1 = l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1; -return x_1; -} -} -LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_NameSSet_empty___spec__2___boxed(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = l_Std_mkHashMap___at_Lean_NameSSet_empty___spec__2(x_1); -lean_dec(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_NameSSet_instEmptyCollectionNameSSet() { -_start: -{ -lean_object* x_1; -x_1 = l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1; -return x_1; -} -} -static lean_object* _init_l_Lean_NameSSet_instInhabitedNameSSet() { -_start: -{ -lean_object* x_1; -x_1 = l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1; -return x_1; -} -} -LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux_traverse___at_Lean_NameSSet_insert___spec__4(size_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; uint8_t x_8; -x_7 = lean_array_get_size(x_2); -x_8 = lean_nat_dec_lt(x_5, x_7); -lean_dec(x_7); -if (x_8 == 0) -{ -lean_dec(x_5); -return x_6; -} -else -{ -lean_object* x_9; lean_object* x_10; uint64_t x_11; size_t x_12; size_t x_13; size_t x_14; size_t x_15; size_t x_16; size_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_9 = lean_array_fget(x_2, x_5); -x_10 = lean_array_fget(x_3, x_5); -x_11 = l_Lean_Name_hash___override(x_9); -x_12 = lean_uint64_to_usize(x_11); -x_13 = 1; -x_14 = lean_usize_sub(x_1, x_13); -x_15 = 5; -x_16 = lean_usize_mul(x_15, x_14); -x_17 = lean_usize_shift_right(x_12, x_16); -x_18 = lean_unsigned_to_nat(1u); -x_19 = lean_nat_add(x_5, x_18); -lean_dec(x_5); -x_20 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3(x_6, x_17, x_1, x_9, x_10); -x_4 = lean_box(0); -x_5 = x_19; -x_6 = x_20; -goto _start; -} -} -} -LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_NameSSet_insert___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; -x_5 = lean_ctor_get(x_1, 0); -lean_inc(x_5); -x_6 = lean_ctor_get(x_1, 1); -lean_inc(x_6); -x_7 = lean_array_get_size(x_5); -x_8 = lean_nat_dec_lt(x_2, x_7); -lean_dec(x_7); -if (x_8 == 0) -{ -uint8_t x_9; -lean_dec(x_2); -x_9 = !lean_is_exclusive(x_1); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_10 = lean_ctor_get(x_1, 1); -lean_dec(x_10); -x_11 = lean_ctor_get(x_1, 0); -lean_dec(x_11); -x_12 = lean_array_push(x_5, x_3); -x_13 = lean_array_push(x_6, x_4); -lean_ctor_set(x_1, 1, x_13); -lean_ctor_set(x_1, 0, x_12); -return x_1; -} -else -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; -lean_dec(x_1); -x_14 = lean_array_push(x_5, x_3); -x_15 = lean_array_push(x_6, x_4); -x_16 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_16, 0, x_14); -lean_ctor_set(x_16, 1, x_15); -return x_16; -} -} -else -{ -lean_object* x_17; uint8_t x_18; -x_17 = lean_array_fget(x_5, x_2); -x_18 = lean_name_eq(x_3, x_17); -lean_dec(x_17); -if (x_18 == 0) -{ -lean_object* x_19; lean_object* x_20; -lean_dec(x_6); -lean_dec(x_5); -x_19 = lean_unsigned_to_nat(1u); -x_20 = lean_nat_add(x_2, x_19); -lean_dec(x_2); -x_2 = x_20; -goto _start; -} -else -{ -uint8_t x_22; -x_22 = !lean_is_exclusive(x_1); -if (x_22 == 0) -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_23 = lean_ctor_get(x_1, 1); -lean_dec(x_23); -x_24 = lean_ctor_get(x_1, 0); -lean_dec(x_24); -x_25 = lean_array_fset(x_5, x_2, x_3); -x_26 = lean_array_fset(x_6, x_2, x_4); -lean_dec(x_2); -lean_ctor_set(x_1, 1, x_26); -lean_ctor_set(x_1, 0, x_25); -return x_1; -} -else -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; -lean_dec(x_1); -x_27 = lean_array_fset(x_5, x_2, x_3); -x_28 = lean_array_fset(x_6, x_2, x_4); -lean_dec(x_2); -x_29 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_29, 0, x_27); -lean_ctor_set(x_29, 1, x_28); -return x_29; -} -} -} -} -} -static size_t _init_l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__1() { -_start: -{ -size_t x_1; size_t x_2; size_t x_3; -x_1 = 1; -x_2 = 5; -x_3 = lean_usize_shift_left(x_1, x_2); -return x_3; -} -} -static size_t _init_l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__2() { -_start: -{ -size_t x_1; size_t x_2; size_t x_3; -x_1 = 1; -x_2 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__1; -x_3 = lean_usize_sub(x_2, x_1); -return x_3; -} -} -static lean_object* _init_l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = l_Std_PersistentHashMap_mkEmptyEntries(lean_box(0), lean_box(0)); -return x_1; -} -} -LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -uint8_t x_6; -x_6 = !lean_is_exclusive(x_1); -if (x_6 == 0) -{ -lean_object* x_7; size_t x_8; size_t x_9; size_t x_10; size_t x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; -x_7 = lean_ctor_get(x_1, 0); -x_8 = 1; -x_9 = 5; -x_10 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__2; -x_11 = lean_usize_land(x_2, x_10); -x_12 = lean_usize_to_nat(x_11); -x_13 = lean_array_get_size(x_7); -x_14 = lean_nat_dec_lt(x_12, x_13); -lean_dec(x_13); -if (x_14 == 0) -{ -lean_dec(x_12); -lean_dec(x_5); -lean_dec(x_4); -return x_1; -} -else -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_15 = lean_array_fget(x_7, x_12); -x_16 = lean_box(0); -x_17 = lean_array_fset(x_7, x_12, x_16); -switch (lean_obj_tag(x_15)) { -case 0: -{ -uint8_t x_18; -x_18 = !lean_is_exclusive(x_15); -if (x_18 == 0) -{ -lean_object* x_19; lean_object* x_20; uint8_t x_21; -x_19 = lean_ctor_get(x_15, 0); -x_20 = lean_ctor_get(x_15, 1); -x_21 = lean_name_eq(x_4, x_19); -if (x_21 == 0) -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; -lean_free_object(x_15); -x_22 = l_Std_PersistentHashMap_mkCollisionNode___rarg(x_19, x_20, x_4, x_5); -x_23 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_23, 0, x_22); -x_24 = lean_array_fset(x_17, x_12, x_23); -lean_dec(x_12); -lean_ctor_set(x_1, 0, x_24); -return x_1; -} -else -{ -lean_object* x_25; -lean_dec(x_20); -lean_dec(x_19); -lean_ctor_set(x_15, 1, x_5); -lean_ctor_set(x_15, 0, x_4); -x_25 = lean_array_fset(x_17, x_12, x_15); -lean_dec(x_12); -lean_ctor_set(x_1, 0, x_25); -return x_1; -} -} -else -{ -lean_object* x_26; lean_object* x_27; uint8_t x_28; -x_26 = lean_ctor_get(x_15, 0); -x_27 = lean_ctor_get(x_15, 1); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_15); -x_28 = lean_name_eq(x_4, x_26); -if (x_28 == 0) -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = l_Std_PersistentHashMap_mkCollisionNode___rarg(x_26, x_27, x_4, x_5); -x_30 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_30, 0, x_29); -x_31 = lean_array_fset(x_17, x_12, x_30); -lean_dec(x_12); -lean_ctor_set(x_1, 0, x_31); -return x_1; -} -else -{ -lean_object* x_32; lean_object* x_33; -lean_dec(x_27); -lean_dec(x_26); -x_32 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_32, 0, x_4); -lean_ctor_set(x_32, 1, x_5); -x_33 = lean_array_fset(x_17, x_12, x_32); -lean_dec(x_12); -lean_ctor_set(x_1, 0, x_33); -return x_1; -} -} -} -case 1: -{ -uint8_t x_34; -x_34 = !lean_is_exclusive(x_15); -if (x_34 == 0) -{ -lean_object* x_35; size_t x_36; size_t x_37; lean_object* x_38; lean_object* x_39; -x_35 = lean_ctor_get(x_15, 0); -x_36 = lean_usize_shift_right(x_2, x_9); -x_37 = lean_usize_add(x_3, x_8); -x_38 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3(x_35, x_36, x_37, x_4, x_5); -lean_ctor_set(x_15, 0, x_38); -x_39 = lean_array_fset(x_17, x_12, x_15); -lean_dec(x_12); -lean_ctor_set(x_1, 0, x_39); -return x_1; -} -else -{ -lean_object* x_40; size_t x_41; size_t x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; -x_40 = lean_ctor_get(x_15, 0); -lean_inc(x_40); -lean_dec(x_15); -x_41 = lean_usize_shift_right(x_2, x_9); -x_42 = lean_usize_add(x_3, x_8); -x_43 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3(x_40, x_41, x_42, x_4, x_5); -x_44 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_44, 0, x_43); -x_45 = lean_array_fset(x_17, x_12, x_44); -lean_dec(x_12); -lean_ctor_set(x_1, 0, x_45); -return x_1; -} -} -default: -{ -lean_object* x_46; lean_object* x_47; -x_46 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_46, 0, x_4); -lean_ctor_set(x_46, 1, x_5); -x_47 = lean_array_fset(x_17, x_12, x_46); -lean_dec(x_12); -lean_ctor_set(x_1, 0, x_47); -return x_1; -} -} -} -} -else -{ -lean_object* x_48; size_t x_49; size_t x_50; size_t x_51; size_t x_52; lean_object* x_53; lean_object* x_54; uint8_t x_55; -x_48 = lean_ctor_get(x_1, 0); -lean_inc(x_48); -lean_dec(x_1); -x_49 = 1; -x_50 = 5; -x_51 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__2; -x_52 = lean_usize_land(x_2, x_51); -x_53 = lean_usize_to_nat(x_52); -x_54 = lean_array_get_size(x_48); -x_55 = lean_nat_dec_lt(x_53, x_54); -lean_dec(x_54); -if (x_55 == 0) -{ -lean_object* x_56; -lean_dec(x_53); -lean_dec(x_5); -lean_dec(x_4); -x_56 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_56, 0, x_48); -return x_56; -} -else -{ -lean_object* x_57; lean_object* x_58; lean_object* x_59; -x_57 = lean_array_fget(x_48, x_53); -x_58 = lean_box(0); -x_59 = lean_array_fset(x_48, x_53, x_58); -switch (lean_obj_tag(x_57)) { -case 0: -{ -lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63; -x_60 = lean_ctor_get(x_57, 0); -lean_inc(x_60); -x_61 = lean_ctor_get(x_57, 1); -lean_inc(x_61); -if (lean_is_exclusive(x_57)) { - lean_ctor_release(x_57, 0); - lean_ctor_release(x_57, 1); - x_62 = x_57; -} else { - lean_dec_ref(x_57); - x_62 = lean_box(0); -} -x_63 = lean_name_eq(x_4, x_60); -if (x_63 == 0) -{ -lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; -lean_dec(x_62); -x_64 = l_Std_PersistentHashMap_mkCollisionNode___rarg(x_60, x_61, x_4, x_5); -x_65 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_65, 0, x_64); -x_66 = lean_array_fset(x_59, x_53, x_65); -lean_dec(x_53); -x_67 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_67, 0, x_66); -return x_67; -} -else -{ -lean_object* x_68; lean_object* x_69; lean_object* x_70; -lean_dec(x_61); -lean_dec(x_60); -if (lean_is_scalar(x_62)) { - x_68 = lean_alloc_ctor(0, 2, 0); -} else { - x_68 = x_62; -} -lean_ctor_set(x_68, 0, x_4); -lean_ctor_set(x_68, 1, x_5); -x_69 = lean_array_fset(x_59, x_53, x_68); -lean_dec(x_53); -x_70 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_70, 0, x_69); -return x_70; -} -} -case 1: -{ -lean_object* x_71; lean_object* x_72; size_t x_73; size_t x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; -x_71 = lean_ctor_get(x_57, 0); -lean_inc(x_71); -if (lean_is_exclusive(x_57)) { - lean_ctor_release(x_57, 0); - x_72 = x_57; -} else { - lean_dec_ref(x_57); - x_72 = lean_box(0); -} -x_73 = lean_usize_shift_right(x_2, x_50); -x_74 = lean_usize_add(x_3, x_49); -x_75 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3(x_71, x_73, x_74, x_4, x_5); -if (lean_is_scalar(x_72)) { - x_76 = lean_alloc_ctor(1, 1, 0); -} else { - x_76 = x_72; -} -lean_ctor_set(x_76, 0, x_75); -x_77 = lean_array_fset(x_59, x_53, x_76); -lean_dec(x_53); -x_78 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_78, 0, x_77); -return x_78; -} -default: -{ -lean_object* x_79; lean_object* x_80; lean_object* x_81; -x_79 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_79, 0, x_4); -lean_ctor_set(x_79, 1, x_5); -x_80 = lean_array_fset(x_59, x_53, x_79); -lean_dec(x_53); -x_81 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_81, 0, x_80); -return x_81; -} -} -} -} -} -else -{ -uint8_t x_82; -x_82 = !lean_is_exclusive(x_1); -if (x_82 == 0) -{ -lean_object* x_83; lean_object* x_84; size_t x_85; uint8_t x_86; -x_83 = lean_unsigned_to_nat(0u); -x_84 = l_Std_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_NameSSet_insert___spec__5(x_1, x_83, x_4, x_5); -x_85 = 7; -x_86 = lean_usize_dec_le(x_85, x_3); -if (x_86 == 0) -{ -lean_object* x_87; lean_object* x_88; uint8_t x_89; -x_87 = l_Std_PersistentHashMap_getCollisionNodeSize___rarg(x_84); -x_88 = lean_unsigned_to_nat(4u); -x_89 = lean_nat_dec_lt(x_87, x_88); -lean_dec(x_87); -if (x_89 == 0) -{ -lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; -x_90 = lean_ctor_get(x_84, 0); -lean_inc(x_90); -x_91 = lean_ctor_get(x_84, 1); -lean_inc(x_91); -lean_dec(x_84); -x_92 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__3; -x_93 = l_Std_PersistentHashMap_insertAux_traverse___at_Lean_NameSSet_insert___spec__4(x_3, x_90, x_91, lean_box(0), x_83, x_92); -lean_dec(x_91); -lean_dec(x_90); -return x_93; -} -else -{ -return x_84; -} -} -else -{ -return x_84; -} -} -else -{ -lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; size_t x_99; uint8_t x_100; -x_94 = lean_ctor_get(x_1, 0); -x_95 = lean_ctor_get(x_1, 1); -lean_inc(x_95); -lean_inc(x_94); -lean_dec(x_1); -x_96 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_96, 0, x_94); -lean_ctor_set(x_96, 1, x_95); -x_97 = lean_unsigned_to_nat(0u); -x_98 = l_Std_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_NameSSet_insert___spec__5(x_96, x_97, x_4, x_5); -x_99 = 7; -x_100 = lean_usize_dec_le(x_99, x_3); -if (x_100 == 0) -{ -lean_object* x_101; lean_object* x_102; uint8_t x_103; -x_101 = l_Std_PersistentHashMap_getCollisionNodeSize___rarg(x_98); -x_102 = lean_unsigned_to_nat(4u); -x_103 = lean_nat_dec_lt(x_101, x_102); -lean_dec(x_101); -if (x_103 == 0) -{ -lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; -x_104 = lean_ctor_get(x_98, 0); -lean_inc(x_104); -x_105 = lean_ctor_get(x_98, 1); -lean_inc(x_105); -lean_dec(x_98); -x_106 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__3; -x_107 = l_Std_PersistentHashMap_insertAux_traverse___at_Lean_NameSSet_insert___spec__4(x_3, x_104, x_105, lean_box(0), x_97, x_106); -lean_dec(x_105); -lean_dec(x_104); -return x_107; -} -else -{ -return x_98; -} -} -else -{ -return x_98; -} -} -} -} -} -LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insert___at_Lean_NameSSet_insert___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -uint8_t x_4; -x_4 = !lean_is_exclusive(x_1); -if (x_4 == 0) -{ -lean_object* x_5; lean_object* x_6; uint64_t x_7; size_t x_8; size_t x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_5 = lean_ctor_get(x_1, 0); -x_6 = lean_ctor_get(x_1, 1); -x_7 = l_Lean_Name_hash___override(x_2); -x_8 = lean_uint64_to_usize(x_7); -x_9 = 1; -x_10 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3(x_5, x_8, x_9, x_2, x_3); -x_11 = lean_unsigned_to_nat(1u); -x_12 = lean_nat_add(x_6, x_11); -lean_dec(x_6); -lean_ctor_set(x_1, 1, x_12); -lean_ctor_set(x_1, 0, x_10); -return x_1; -} -else -{ -lean_object* x_13; lean_object* x_14; uint64_t x_15; size_t x_16; size_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_13 = lean_ctor_get(x_1, 0); -x_14 = lean_ctor_get(x_1, 1); -lean_inc(x_14); -lean_inc(x_13); -lean_dec(x_1); -x_15 = l_Lean_Name_hash___override(x_2); -x_16 = lean_uint64_to_usize(x_15); -x_17 = 1; -x_18 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3(x_13, x_16, x_17, x_2, x_3); -x_19 = lean_unsigned_to_nat(1u); -x_20 = lean_nat_add(x_14, x_19); -lean_dec(x_14); -x_21 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_21, 0, x_18); -lean_ctor_set(x_21, 1, x_20); -return x_21; -} -} -} -LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_NameSSet_insert___spec__7(lean_object* x_1, lean_object* x_2) { -_start: -{ -if (lean_obj_tag(x_2) == 0) -{ -uint8_t x_3; -x_3 = 0; -return x_3; -} -else -{ -lean_object* x_4; lean_object* x_5; uint8_t x_6; -x_4 = lean_ctor_get(x_2, 0); -x_5 = lean_ctor_get(x_2, 2); -x_6 = lean_name_eq(x_4, x_1); -if (x_6 == 0) -{ -x_2 = x_5; -goto _start; -} -else -{ -uint8_t x_8; -x_8 = 1; -return x_8; -} -} -} -} -LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_NameSSet_insert___spec__10(lean_object* x_1, lean_object* x_2) { -_start: -{ -if (lean_obj_tag(x_2) == 0) -{ -return x_1; -} -else -{ -uint8_t x_3; -x_3 = !lean_is_exclusive(x_2); -if (x_3 == 0) -{ -lean_object* x_4; lean_object* x_5; lean_object* x_6; uint64_t x_7; size_t x_8; size_t x_9; lean_object* x_10; lean_object* x_11; -x_4 = lean_ctor_get(x_2, 0); -x_5 = lean_ctor_get(x_2, 2); -x_6 = lean_array_get_size(x_1); -x_7 = l_Lean_Name_hash___override(x_4); -x_8 = lean_uint64_to_usize(x_7); -x_9 = lean_usize_modn(x_8, x_6); -lean_dec(x_6); -x_10 = lean_array_uget(x_1, x_9); -lean_ctor_set(x_2, 2, x_10); -x_11 = lean_array_uset(x_1, x_9, x_2); -x_1 = x_11; -x_2 = x_5; -goto _start; -} -else -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint64_t x_17; size_t x_18; size_t x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_13 = lean_ctor_get(x_2, 0); -x_14 = lean_ctor_get(x_2, 1); -x_15 = lean_ctor_get(x_2, 2); -lean_inc(x_15); -lean_inc(x_14); -lean_inc(x_13); -lean_dec(x_2); -x_16 = lean_array_get_size(x_1); -x_17 = l_Lean_Name_hash___override(x_13); -x_18 = lean_uint64_to_usize(x_17); -x_19 = lean_usize_modn(x_18, x_16); -lean_dec(x_16); -x_20 = lean_array_uget(x_1, x_19); -x_21 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_21, 0, x_13); -lean_ctor_set(x_21, 1, x_14); -lean_ctor_set(x_21, 2, x_20); -x_22 = lean_array_uset(x_1, x_19, x_21); -x_1 = x_22; -x_2 = x_15; -goto _start; -} -} -} -} -LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_NameSSet_insert___spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; uint8_t x_5; -x_4 = lean_array_get_size(x_2); -x_5 = lean_nat_dec_lt(x_1, x_4); -lean_dec(x_4); -if (x_5 == 0) -{ -lean_dec(x_2); -lean_dec(x_1); -return x_3; -} -else -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; -x_6 = lean_array_fget(x_2, x_1); -x_7 = lean_box(0); -x_8 = lean_array_fset(x_2, x_1, x_7); -x_9 = l_Std_AssocList_foldlM___at_Lean_NameSSet_insert___spec__10(x_3, x_6); -x_10 = lean_unsigned_to_nat(1u); -x_11 = lean_nat_add(x_1, x_10); -lean_dec(x_1); -x_1 = x_11; -x_2 = x_8; -x_3 = x_9; -goto _start; -} -} -} -LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_NameSSet_insert___spec__8(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; -x_3 = lean_array_get_size(x_2); -x_4 = lean_unsigned_to_nat(2u); -x_5 = lean_nat_mul(x_3, x_4); -lean_dec(x_3); -x_6 = lean_box(0); -x_7 = lean_mk_array(x_5, x_6); -x_8 = lean_unsigned_to_nat(0u); -x_9 = l_Std_HashMapImp_moveEntries___at_Lean_NameSSet_insert___spec__9(x_8, x_2, x_7); -x_10 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_10, 0, x_1); -lean_ctor_set(x_10, 1, x_9); -return x_10; -} -} -LEAN_EXPORT lean_object* l_Std_AssocList_replace___at_Lean_NameSSet_insert___spec__11(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_3) == 0) -{ -lean_object* x_4; -lean_dec(x_2); -lean_dec(x_1); -x_4 = lean_box(0); -return x_4; -} -else -{ -uint8_t x_5; -x_5 = !lean_is_exclusive(x_3); -if (x_5 == 0) -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9; -x_6 = lean_ctor_get(x_3, 0); -x_7 = lean_ctor_get(x_3, 1); -x_8 = lean_ctor_get(x_3, 2); -x_9 = lean_name_eq(x_6, x_1); -if (x_9 == 0) -{ -lean_object* x_10; -x_10 = l_Std_AssocList_replace___at_Lean_NameSSet_insert___spec__11(x_1, x_2, x_8); -lean_ctor_set(x_3, 2, x_10); -return x_3; -} -else -{ -lean_dec(x_7); -lean_dec(x_6); -lean_ctor_set(x_3, 1, x_2); -lean_ctor_set(x_3, 0, x_1); -return x_3; -} -} -else -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; -x_11 = lean_ctor_get(x_3, 0); -x_12 = lean_ctor_get(x_3, 1); -x_13 = lean_ctor_get(x_3, 2); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_dec(x_3); -x_14 = lean_name_eq(x_11, x_1); -if (x_14 == 0) -{ -lean_object* x_15; lean_object* x_16; -x_15 = l_Std_AssocList_replace___at_Lean_NameSSet_insert___spec__11(x_1, x_2, x_13); -x_16 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_16, 0, x_11); -lean_ctor_set(x_16, 1, x_12); -lean_ctor_set(x_16, 2, x_15); -return x_16; -} -else -{ -lean_object* x_17; -lean_dec(x_12); -lean_dec(x_11); -x_17 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_17, 0, x_1); -lean_ctor_set(x_17, 1, x_2); -lean_ctor_set(x_17, 2, x_13); -return x_17; -} -} -} -} -} -LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_NameSSet_insert___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -uint8_t x_4; -x_4 = !lean_is_exclusive(x_1); -if (x_4 == 0) -{ -lean_object* x_5; lean_object* x_6; lean_object* x_7; uint64_t x_8; size_t x_9; size_t x_10; lean_object* x_11; uint8_t x_12; -x_5 = lean_ctor_get(x_1, 0); -x_6 = lean_ctor_get(x_1, 1); -x_7 = lean_array_get_size(x_6); -x_8 = l_Lean_Name_hash___override(x_2); -x_9 = lean_uint64_to_usize(x_8); -x_10 = lean_usize_modn(x_9, x_7); -x_11 = lean_array_uget(x_6, x_10); -x_12 = l_Std_AssocList_contains___at_Lean_NameSSet_insert___spec__7(x_2, x_11); -if (x_12 == 0) -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; -x_13 = lean_unsigned_to_nat(1u); -x_14 = lean_nat_add(x_5, x_13); -lean_dec(x_5); -x_15 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_15, 0, x_2); -lean_ctor_set(x_15, 1, x_3); -lean_ctor_set(x_15, 2, x_11); -x_16 = lean_array_uset(x_6, x_10, x_15); -x_17 = l___private_Lean_Data_HashMap_0__Std_numBucketsForCapacity(x_14); -x_18 = lean_nat_dec_le(x_17, x_7); -lean_dec(x_7); -lean_dec(x_17); -if (x_18 == 0) -{ -lean_object* x_19; -lean_free_object(x_1); -x_19 = l_Std_HashMapImp_expand___at_Lean_NameSSet_insert___spec__8(x_14, x_16); -return x_19; -} -else -{ -lean_ctor_set(x_1, 1, x_16); -lean_ctor_set(x_1, 0, x_14); -return x_1; -} -} -else -{ -lean_object* x_20; lean_object* x_21; -lean_dec(x_7); -x_20 = l_Std_AssocList_replace___at_Lean_NameSSet_insert___spec__11(x_2, x_3, x_11); -x_21 = lean_array_uset(x_6, x_10, x_20); -lean_ctor_set(x_1, 1, x_21); -return x_1; -} -} -else -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; uint64_t x_25; size_t x_26; size_t x_27; lean_object* x_28; uint8_t x_29; -x_22 = lean_ctor_get(x_1, 0); -x_23 = lean_ctor_get(x_1, 1); -lean_inc(x_23); -lean_inc(x_22); -lean_dec(x_1); -x_24 = lean_array_get_size(x_23); -x_25 = l_Lean_Name_hash___override(x_2); -x_26 = lean_uint64_to_usize(x_25); -x_27 = lean_usize_modn(x_26, x_24); -x_28 = lean_array_uget(x_23, x_27); -x_29 = l_Std_AssocList_contains___at_Lean_NameSSet_insert___spec__7(x_2, x_28); -if (x_29 == 0) -{ -lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; -x_30 = lean_unsigned_to_nat(1u); -x_31 = lean_nat_add(x_22, x_30); -lean_dec(x_22); -x_32 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_32, 0, x_2); -lean_ctor_set(x_32, 1, x_3); -lean_ctor_set(x_32, 2, x_28); -x_33 = lean_array_uset(x_23, x_27, x_32); -x_34 = l___private_Lean_Data_HashMap_0__Std_numBucketsForCapacity(x_31); -x_35 = lean_nat_dec_le(x_34, x_24); -lean_dec(x_24); -lean_dec(x_34); -if (x_35 == 0) -{ -lean_object* x_36; -x_36 = l_Std_HashMapImp_expand___at_Lean_NameSSet_insert___spec__8(x_31, x_33); -return x_36; -} -else -{ -lean_object* x_37; -x_37 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_37, 0, x_31); -lean_ctor_set(x_37, 1, x_33); -return x_37; -} -} -else -{ -lean_object* x_38; lean_object* x_39; lean_object* x_40; -lean_dec(x_24); -x_38 = l_Std_AssocList_replace___at_Lean_NameSSet_insert___spec__11(x_2, x_3, x_28); -x_39 = lean_array_uset(x_23, x_27, x_38); -x_40 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_40, 0, x_22); -lean_ctor_set(x_40, 1, x_39); -return x_40; -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_SMap_insert___at_Lean_NameSSet_insert___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -uint8_t x_4; -x_4 = lean_ctor_get_uint8(x_1, sizeof(void*)*2); -if (x_4 == 0) -{ -uint8_t x_5; -x_5 = !lean_is_exclusive(x_1); -if (x_5 == 0) -{ -lean_object* x_6; lean_object* x_7; uint8_t x_8; -x_6 = lean_ctor_get(x_1, 1); -x_7 = l_Std_PersistentHashMap_insert___at_Lean_NameSSet_insert___spec__2(x_6, x_2, x_3); -x_8 = 0; -lean_ctor_set(x_1, 1, x_7); -lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_8); -return x_1; -} -else -{ -lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; lean_object* x_13; -x_9 = lean_ctor_get(x_1, 0); -x_10 = lean_ctor_get(x_1, 1); -lean_inc(x_10); -lean_inc(x_9); -lean_dec(x_1); -x_11 = l_Std_PersistentHashMap_insert___at_Lean_NameSSet_insert___spec__2(x_10, x_2, x_3); -x_12 = 0; -x_13 = lean_alloc_ctor(0, 2, 1); -lean_ctor_set(x_13, 0, x_9); -lean_ctor_set(x_13, 1, x_11); -lean_ctor_set_uint8(x_13, sizeof(void*)*2, x_12); -return x_13; -} -} -else -{ -uint8_t x_14; -x_14 = !lean_is_exclusive(x_1); -if (x_14 == 0) -{ -lean_object* x_15; lean_object* x_16; uint8_t x_17; -x_15 = lean_ctor_get(x_1, 0); -x_16 = l_Std_HashMap_insert___at_Lean_NameSSet_insert___spec__6(x_15, x_2, x_3); -x_17 = 1; -lean_ctor_set(x_1, 0, x_16); -lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_17); -return x_1; -} -else -{ -lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22; -x_18 = lean_ctor_get(x_1, 0); -x_19 = lean_ctor_get(x_1, 1); -lean_inc(x_19); -lean_inc(x_18); -lean_dec(x_1); -x_20 = l_Std_HashMap_insert___at_Lean_NameSSet_insert___spec__6(x_18, x_2, x_3); -x_21 = 1; -x_22 = lean_alloc_ctor(0, 2, 1); -lean_ctor_set(x_22, 0, x_20); -lean_ctor_set(x_22, 1, x_19); -lean_ctor_set_uint8(x_22, sizeof(void*)*2, x_21); -return x_22; -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_NameSSet_insert(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; lean_object* x_4; -x_3 = lean_box(0); -x_4 = l_Lean_SMap_insert___at_Lean_NameSSet_insert___spec__1(x_1, x_2, x_3); -return x_4; -} -} -LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux_traverse___at_Lean_NameSSet_insert___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -size_t x_7; lean_object* x_8; -x_7 = lean_unbox_usize(x_1); -lean_dec(x_1); -x_8 = l_Std_PersistentHashMap_insertAux_traverse___at_Lean_NameSSet_insert___spec__4(x_7, x_2, x_3, x_4, x_5, x_6); -lean_dec(x_3); -lean_dec(x_2); -return x_8; -} -} -LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -size_t x_6; size_t x_7; lean_object* x_8; -x_6 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_7 = lean_unbox_usize(x_3); -lean_dec(x_3); -x_8 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3(x_1, x_6, x_7, x_4, x_5); -return x_8; -} -} -LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_NameSSet_insert___spec__7___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; lean_object* x_4; -x_3 = l_Std_AssocList_contains___at_Lean_NameSSet_insert___spec__7(x_1, x_2); -lean_dec(x_2); -lean_dec(x_1); -x_4 = lean_box(x_3); -return x_4; -} -} -LEAN_EXPORT uint8_t l_Std_HashMapImp_contains___at_Lean_NameSSet_contains___spec__2(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; lean_object* x_4; uint64_t x_5; size_t x_6; size_t x_7; lean_object* x_8; uint8_t x_9; -x_3 = lean_ctor_get(x_1, 1); -x_4 = lean_array_get_size(x_3); -x_5 = l_Lean_Name_hash___override(x_2); -x_6 = lean_uint64_to_usize(x_5); -x_7 = lean_usize_modn(x_6, x_4); -lean_dec(x_4); -x_8 = lean_array_uget(x_3, x_7); -x_9 = l_Std_AssocList_contains___at_Lean_NameSSet_insert___spec__7(x_2, x_8); -lean_dec(x_8); -return x_9; -} -} -LEAN_EXPORT uint8_t l_Std_PersistentHashMap_containsAtAux___at_Lean_NameSSet_contains___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; uint8_t x_7; -x_6 = lean_array_get_size(x_1); -x_7 = lean_nat_dec_lt(x_4, x_6); -lean_dec(x_6); -if (x_7 == 0) -{ -uint8_t x_8; -lean_dec(x_4); -x_8 = 0; -return x_8; -} -else -{ -lean_object* x_9; uint8_t x_10; -x_9 = lean_array_fget(x_1, x_4); -x_10 = lean_name_eq(x_5, x_9); -lean_dec(x_9); -if (x_10 == 0) -{ -lean_object* x_11; lean_object* x_12; -x_11 = lean_unsigned_to_nat(1u); -x_12 = lean_nat_add(x_4, x_11); -lean_dec(x_4); -x_3 = lean_box(0); -x_4 = x_12; -goto _start; -} -else -{ -uint8_t x_14; -lean_dec(x_4); -x_14 = 1; -return x_14; -} -} -} -} -LEAN_EXPORT uint8_t l_Std_PersistentHashMap_containsAux___at_Lean_NameSSet_contains___spec__4(lean_object* x_1, size_t x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_4; size_t x_5; size_t x_6; size_t x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; -x_4 = lean_ctor_get(x_1, 0); -lean_inc(x_4); -lean_dec(x_1); -x_5 = 5; -x_6 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__2; -x_7 = lean_usize_land(x_2, x_6); -x_8 = lean_usize_to_nat(x_7); -x_9 = lean_box(2); -x_10 = lean_array_get(x_9, x_4, x_8); -lean_dec(x_8); -lean_dec(x_4); -switch (lean_obj_tag(x_10)) { -case 0: -{ -lean_object* x_11; uint8_t x_12; -x_11 = lean_ctor_get(x_10, 0); -lean_inc(x_11); -lean_dec(x_10); -x_12 = lean_name_eq(x_3, x_11); -lean_dec(x_11); -return x_12; -} -case 1: -{ -lean_object* x_13; size_t x_14; -x_13 = lean_ctor_get(x_10, 0); -lean_inc(x_13); -lean_dec(x_10); -x_14 = lean_usize_shift_right(x_2, x_5); -x_1 = x_13; -x_2 = x_14; -goto _start; -} -default: -{ -uint8_t x_16; -x_16 = 0; -return x_16; -} -} -} -else -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; -x_17 = lean_ctor_get(x_1, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_1, 1); -lean_inc(x_18); -lean_dec(x_1); -x_19 = lean_unsigned_to_nat(0u); -x_20 = l_Std_PersistentHashMap_containsAtAux___at_Lean_NameSSet_contains___spec__5(x_17, x_18, lean_box(0), x_19, x_3); -lean_dec(x_18); -lean_dec(x_17); -return x_20; -} -} -} -LEAN_EXPORT uint8_t l_Std_PersistentHashMap_contains___at_Lean_NameSSet_contains___spec__3(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; uint64_t x_4; size_t x_5; uint8_t x_6; -x_3 = lean_ctor_get(x_1, 0); -lean_inc(x_3); -lean_dec(x_1); -x_4 = l_Lean_Name_hash___override(x_2); -x_5 = lean_uint64_to_usize(x_4); -x_6 = l_Std_PersistentHashMap_containsAux___at_Lean_NameSSet_contains___spec__4(x_3, x_5, x_2); -lean_dec(x_2); -return x_6; -} -} -LEAN_EXPORT uint8_t l_Lean_SMap_contains___at_Lean_NameSSet_contains___spec__1(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; -x_3 = lean_ctor_get_uint8(x_1, sizeof(void*)*2); -if (x_3 == 0) -{ -lean_object* x_4; lean_object* x_5; uint8_t x_6; -x_4 = lean_ctor_get(x_1, 0); -lean_inc(x_4); -x_5 = lean_ctor_get(x_1, 1); -lean_inc(x_5); -lean_dec(x_1); -x_6 = l_Std_HashMapImp_contains___at_Lean_NameSSet_contains___spec__2(x_4, x_2); -lean_dec(x_4); -if (x_6 == 0) -{ -uint8_t x_7; -x_7 = l_Std_PersistentHashMap_contains___at_Lean_NameSSet_contains___spec__3(x_5, x_2); -return x_7; -} -else -{ -uint8_t x_8; -lean_dec(x_5); -lean_dec(x_2); -x_8 = 1; -return x_8; -} -} -else -{ -lean_object* x_9; uint8_t x_10; -x_9 = lean_ctor_get(x_1, 0); -lean_inc(x_9); -lean_dec(x_1); -x_10 = l_Std_HashMapImp_contains___at_Lean_NameSSet_contains___spec__2(x_9, x_2); -lean_dec(x_2); -lean_dec(x_9); -return x_10; -} -} -} -LEAN_EXPORT uint8_t l_Lean_NameSSet_contains(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; -x_3 = l_Lean_SMap_contains___at_Lean_NameSSet_contains___spec__1(x_1, x_2); -return x_3; -} -} -LEAN_EXPORT lean_object* l_Std_HashMapImp_contains___at_Lean_NameSSet_contains___spec__2___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; lean_object* x_4; -x_3 = l_Std_HashMapImp_contains___at_Lean_NameSSet_contains___spec__2(x_1, x_2); -lean_dec(x_2); -lean_dec(x_1); -x_4 = lean_box(x_3); -return x_4; -} -} -LEAN_EXPORT lean_object* l_Std_PersistentHashMap_containsAtAux___at_Lean_NameSSet_contains___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -uint8_t x_6; lean_object* x_7; -x_6 = l_Std_PersistentHashMap_containsAtAux___at_Lean_NameSSet_contains___spec__5(x_1, x_2, x_3, x_4, x_5); -lean_dec(x_5); -lean_dec(x_2); -lean_dec(x_1); -x_7 = lean_box(x_6); -return x_7; -} -} -LEAN_EXPORT lean_object* l_Std_PersistentHashMap_containsAux___at_Lean_NameSSet_contains___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -size_t x_4; uint8_t x_5; lean_object* x_6; -x_4 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_5 = l_Std_PersistentHashMap_containsAux___at_Lean_NameSSet_contains___spec__4(x_1, x_4, x_3); -lean_dec(x_3); -x_6 = lean_box(x_5); -return x_6; -} -} -LEAN_EXPORT lean_object* l_Std_PersistentHashMap_contains___at_Lean_NameSSet_contains___spec__3___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; lean_object* x_4; -x_3 = l_Std_PersistentHashMap_contains___at_Lean_NameSSet_contains___spec__3(x_1, x_2); -x_4 = lean_box(x_3); -return x_4; -} -} -LEAN_EXPORT lean_object* l_Lean_SMap_contains___at_Lean_NameSSet_contains___spec__1___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; lean_object* x_4; -x_3 = l_Lean_SMap_contains___at_Lean_NameSSet_contains___spec__1(x_1, x_2); -x_4 = lean_box(x_3); -return x_4; -} -} -LEAN_EXPORT lean_object* l_Lean_NameSSet_contains___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; lean_object* x_4; -x_3 = l_Lean_NameSSet_contains(x_1, x_2); -x_4 = lean_box(x_3); -return x_4; -} -} -LEAN_EXPORT lean_object* l_Std_mkHashSet___at_Lean_NameHashSet_empty___spec__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = l_Std_mkHashSetImp___rarg(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_NameHashSet_empty() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = lean_unsigned_to_nat(8u); -x_2 = l_Std_mkHashSetImp___rarg(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_NameHashSet_instEmptyCollectionNameHashSet___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = lean_unsigned_to_nat(8u); -x_2 = l_Std_mkHashSetImp___rarg(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_NameHashSet_instEmptyCollectionNameHashSet() { -_start: -{ -lean_object* x_1; -x_1 = l_Lean_NameHashSet_instEmptyCollectionNameHashSet___closed__1; -return x_1; -} -} -static lean_object* _init_l_Lean_NameHashSet_instInhabitedNameHashSet() { -_start: -{ -lean_object* x_1; -x_1 = l_Lean_NameHashSet_instEmptyCollectionNameHashSet___closed__1; -return x_1; -} -} -LEAN_EXPORT uint8_t l_List_elem___at_Lean_NameHashSet_insert___spec__2(lean_object* x_1, lean_object* x_2) { -_start: -{ -if (lean_obj_tag(x_2) == 0) -{ -uint8_t x_3; -x_3 = 0; -return x_3; -} -else -{ -lean_object* x_4; lean_object* x_5; uint8_t x_6; -x_4 = lean_ctor_get(x_2, 0); -x_5 = lean_ctor_get(x_2, 1); -x_6 = lean_name_eq(x_1, x_4); -if (x_6 == 0) -{ -x_2 = x_5; -goto _start; -} -else -{ -uint8_t x_8; -x_8 = 1; -return x_8; -} -} -} -} -LEAN_EXPORT lean_object* l_List_foldl___at_Lean_NameHashSet_insert___spec__5(lean_object* x_1, lean_object* x_2) { -_start: -{ -if (lean_obj_tag(x_2) == 0) -{ -return x_1; -} -else -{ -uint8_t x_3; -x_3 = !lean_is_exclusive(x_2); -if (x_3 == 0) -{ -lean_object* x_4; lean_object* x_5; lean_object* x_6; uint64_t x_7; size_t x_8; size_t x_9; lean_object* x_10; lean_object* x_11; -x_4 = lean_ctor_get(x_2, 0); -x_5 = lean_ctor_get(x_2, 1); -x_6 = lean_array_get_size(x_1); -x_7 = l_Lean_Name_hash___override(x_4); -x_8 = lean_uint64_to_usize(x_7); -x_9 = lean_usize_modn(x_8, x_6); -lean_dec(x_6); -x_10 = lean_array_uget(x_1, x_9); -lean_ctor_set(x_2, 1, x_10); -x_11 = lean_array_uset(x_1, x_9, x_2); -x_1 = x_11; -x_2 = x_5; -goto _start; -} -else -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; uint64_t x_16; size_t x_17; size_t x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_13 = lean_ctor_get(x_2, 0); -x_14 = lean_ctor_get(x_2, 1); -lean_inc(x_14); -lean_inc(x_13); -lean_dec(x_2); -x_15 = lean_array_get_size(x_1); -x_16 = l_Lean_Name_hash___override(x_13); -x_17 = lean_uint64_to_usize(x_16); -x_18 = lean_usize_modn(x_17, x_15); -lean_dec(x_15); -x_19 = lean_array_uget(x_1, x_18); -x_20 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_20, 0, x_13); -lean_ctor_set(x_20, 1, x_19); -x_21 = lean_array_uset(x_1, x_18, x_20); -x_1 = x_21; -x_2 = x_14; -goto _start; -} -} -} -} -LEAN_EXPORT lean_object* l_Std_HashSetImp_moveEntries___at_Lean_NameHashSet_insert___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; uint8_t x_5; -x_4 = lean_array_get_size(x_2); -x_5 = lean_nat_dec_lt(x_1, x_4); -lean_dec(x_4); -if (x_5 == 0) -{ -lean_dec(x_2); -lean_dec(x_1); -return x_3; -} -else -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; -x_6 = lean_array_fget(x_2, x_1); -x_7 = lean_box(0); -x_8 = lean_array_fset(x_2, x_1, x_7); -x_9 = l_List_foldl___at_Lean_NameHashSet_insert___spec__5(x_3, x_6); -x_10 = lean_unsigned_to_nat(1u); -x_11 = lean_nat_add(x_1, x_10); -lean_dec(x_1); -x_1 = x_11; -x_2 = x_8; -x_3 = x_9; -goto _start; -} -} -} -LEAN_EXPORT lean_object* l_Std_HashSetImp_expand___at_Lean_NameHashSet_insert___spec__3(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; -x_3 = lean_array_get_size(x_2); -x_4 = lean_unsigned_to_nat(2u); -x_5 = lean_nat_mul(x_3, x_4); -lean_dec(x_3); -x_6 = lean_box(0); -x_7 = lean_mk_array(x_5, x_6); -x_8 = lean_unsigned_to_nat(0u); -x_9 = l_Std_HashSetImp_moveEntries___at_Lean_NameHashSet_insert___spec__4(x_8, x_2, x_7); -x_10 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_10, 0, x_1); -lean_ctor_set(x_10, 1, x_9); -return x_10; -} -} -LEAN_EXPORT lean_object* l_List_replace___at_Lean_NameHashSet_insert___spec__6(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_3); -x_4 = lean_box(0); -return x_4; -} -else -{ -uint8_t x_5; -x_5 = !lean_is_exclusive(x_1); -if (x_5 == 0) -{ -lean_object* x_6; lean_object* x_7; uint8_t x_8; -x_6 = lean_ctor_get(x_1, 0); -x_7 = lean_ctor_get(x_1, 1); -x_8 = lean_name_eq(x_6, x_2); -if (x_8 == 0) -{ -lean_object* x_9; -x_9 = l_List_replace___at_Lean_NameHashSet_insert___spec__6(x_7, x_2, x_3); -lean_ctor_set(x_1, 1, x_9); -return x_1; -} -else -{ -lean_dec(x_6); -lean_ctor_set(x_1, 0, x_3); -return x_1; -} -} -else -{ -lean_object* x_10; lean_object* x_11; uint8_t x_12; -x_10 = lean_ctor_get(x_1, 0); -x_11 = lean_ctor_get(x_1, 1); -lean_inc(x_11); -lean_inc(x_10); -lean_dec(x_1); -x_12 = lean_name_eq(x_10, x_2); -if (x_12 == 0) -{ -lean_object* x_13; lean_object* x_14; -x_13 = l_List_replace___at_Lean_NameHashSet_insert___spec__6(x_11, x_2, x_3); -x_14 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_14, 0, x_10); -lean_ctor_set(x_14, 1, x_13); -return x_14; -} -else -{ -lean_object* x_15; -lean_dec(x_10); -x_15 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_15, 0, x_3); -lean_ctor_set(x_15, 1, x_11); -return x_15; -} -} -} -} -} -LEAN_EXPORT lean_object* l_Std_HashSetImp_insert___at_Lean_NameHashSet_insert___spec__1(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; -x_3 = !lean_is_exclusive(x_1); -if (x_3 == 0) -{ -lean_object* x_4; lean_object* x_5; lean_object* x_6; uint64_t x_7; size_t x_8; size_t x_9; lean_object* x_10; uint8_t x_11; -x_4 = lean_ctor_get(x_1, 0); -x_5 = lean_ctor_get(x_1, 1); -x_6 = lean_array_get_size(x_5); -x_7 = l_Lean_Name_hash___override(x_2); -x_8 = lean_uint64_to_usize(x_7); -x_9 = lean_usize_modn(x_8, x_6); -x_10 = lean_array_uget(x_5, x_9); -x_11 = l_List_elem___at_Lean_NameHashSet_insert___spec__2(x_2, x_10); -if (x_11 == 0) -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; -x_12 = lean_unsigned_to_nat(1u); -x_13 = lean_nat_add(x_4, x_12); -lean_dec(x_4); -x_14 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_14, 0, x_2); -lean_ctor_set(x_14, 1, x_10); -x_15 = lean_array_uset(x_5, x_9, x_14); -x_16 = lean_nat_dec_le(x_13, x_6); -lean_dec(x_6); -if (x_16 == 0) -{ -lean_object* x_17; -lean_free_object(x_1); -x_17 = l_Std_HashSetImp_expand___at_Lean_NameHashSet_insert___spec__3(x_13, x_15); -return x_17; -} -else -{ -lean_ctor_set(x_1, 1, x_15); -lean_ctor_set(x_1, 0, x_13); -return x_1; -} -} -else -{ -lean_object* x_18; lean_object* x_19; -lean_dec(x_6); -lean_inc(x_2); -x_18 = l_List_replace___at_Lean_NameHashSet_insert___spec__6(x_10, x_2, x_2); -lean_dec(x_2); -x_19 = lean_array_uset(x_5, x_9, x_18); -lean_ctor_set(x_1, 1, x_19); -return x_1; -} -} -else -{ -lean_object* x_20; lean_object* x_21; lean_object* x_22; uint64_t x_23; size_t x_24; size_t x_25; lean_object* x_26; uint8_t x_27; -x_20 = lean_ctor_get(x_1, 0); -x_21 = lean_ctor_get(x_1, 1); -lean_inc(x_21); -lean_inc(x_20); -lean_dec(x_1); -x_22 = lean_array_get_size(x_21); -x_23 = l_Lean_Name_hash___override(x_2); -x_24 = lean_uint64_to_usize(x_23); -x_25 = lean_usize_modn(x_24, x_22); -x_26 = lean_array_uget(x_21, x_25); -x_27 = l_List_elem___at_Lean_NameHashSet_insert___spec__2(x_2, x_26); -if (x_27 == 0) -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; -x_28 = lean_unsigned_to_nat(1u); -x_29 = lean_nat_add(x_20, x_28); -lean_dec(x_20); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_2); -lean_ctor_set(x_30, 1, x_26); -x_31 = lean_array_uset(x_21, x_25, x_30); -x_32 = lean_nat_dec_le(x_29, x_22); -lean_dec(x_22); -if (x_32 == 0) -{ -lean_object* x_33; -x_33 = l_Std_HashSetImp_expand___at_Lean_NameHashSet_insert___spec__3(x_29, x_31); -return x_33; -} -else -{ -lean_object* x_34; -x_34 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_34, 0, x_29); -lean_ctor_set(x_34, 1, x_31); -return x_34; -} -} -else -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; -lean_dec(x_22); -lean_inc(x_2); -x_35 = l_List_replace___at_Lean_NameHashSet_insert___spec__6(x_26, x_2, x_2); -lean_dec(x_2); -x_36 = lean_array_uset(x_21, x_25, x_35); -x_37 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_37, 0, x_20); -lean_ctor_set(x_37, 1, x_36); -return x_37; -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_NameHashSet_insert(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Std_HashSetImp_insert___at_Lean_NameHashSet_insert___spec__1(x_1, x_2); -return x_3; -} -} -LEAN_EXPORT lean_object* l_List_elem___at_Lean_NameHashSet_insert___spec__2___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; lean_object* x_4; -x_3 = l_List_elem___at_Lean_NameHashSet_insert___spec__2(x_1, x_2); -lean_dec(x_2); -lean_dec(x_1); -x_4 = lean_box(x_3); -return x_4; -} -} -LEAN_EXPORT lean_object* l_List_replace___at_Lean_NameHashSet_insert___spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; -x_4 = l_List_replace___at_Lean_NameHashSet_insert___spec__6(x_1, x_2, x_3); -lean_dec(x_2); -return x_4; -} -} -LEAN_EXPORT uint8_t l_Std_HashSetImp_contains___at_Lean_NameHashSet_contains___spec__1(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; lean_object* x_4; uint64_t x_5; size_t x_6; size_t x_7; lean_object* x_8; uint8_t x_9; -x_3 = lean_ctor_get(x_1, 1); -x_4 = lean_array_get_size(x_3); -x_5 = l_Lean_Name_hash___override(x_2); -x_6 = lean_uint64_to_usize(x_5); -x_7 = lean_usize_modn(x_6, x_4); -lean_dec(x_4); -x_8 = lean_array_uget(x_3, x_7); -x_9 = l_List_elem___at_Lean_NameHashSet_insert___spec__2(x_2, x_8); -lean_dec(x_8); -return x_9; -} -} -LEAN_EXPORT uint8_t l_Lean_NameHashSet_contains(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; -x_3 = l_Std_HashSetImp_contains___at_Lean_NameHashSet_contains___spec__1(x_1, x_2); -return x_3; -} -} -LEAN_EXPORT lean_object* l_Std_HashSetImp_contains___at_Lean_NameHashSet_contains___spec__1___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; lean_object* x_4; -x_3 = l_Std_HashSetImp_contains___at_Lean_NameHashSet_contains___spec__1(x_1, x_2); -lean_dec(x_2); -lean_dec(x_1); -x_4 = lean_box(x_3); -return x_4; -} -} -LEAN_EXPORT lean_object* l_Lean_NameHashSet_contains___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; lean_object* x_4; -x_3 = l_Lean_NameHashSet_contains(x_1, x_2); -lean_dec(x_2); -lean_dec(x_1); -x_4 = lean_box(x_3); -return x_4; -} -} -LEAN_EXPORT uint8_t l_List_beq___at_Lean_MacroScopesView_isPrefixOf___spec__1(lean_object* x_1, lean_object* x_2) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -if (lean_obj_tag(x_2) == 0) -{ -uint8_t x_3; -x_3 = 1; -return x_3; -} -else -{ -uint8_t x_4; -x_4 = 0; -return x_4; -} -} -else -{ -if (lean_obj_tag(x_2) == 0) -{ -uint8_t x_5; -x_5 = 0; -return x_5; -} -else -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; uint8_t x_10; -x_6 = lean_ctor_get(x_1, 0); -x_7 = lean_ctor_get(x_1, 1); -x_8 = lean_ctor_get(x_2, 0); -x_9 = lean_ctor_get(x_2, 1); -x_10 = lean_nat_dec_eq(x_6, x_8); -if (x_10 == 0) -{ -uint8_t x_11; -x_11 = 0; -return x_11; -} -else -{ -x_1 = x_7; -x_2 = x_9; -goto _start; -} -} -} -} -} -LEAN_EXPORT uint8_t l_Lean_MacroScopesView_isPrefixOf(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; lean_object* x_4; uint8_t x_5; -x_3 = lean_ctor_get(x_1, 0); -x_4 = lean_ctor_get(x_2, 0); -x_5 = l_Lean_Name_isPrefixOf(x_3, x_4); -if (x_5 == 0) -{ -uint8_t x_6; -x_6 = 0; -return x_6; -} -else -{ -lean_object* x_7; lean_object* x_8; uint8_t x_9; -x_7 = lean_ctor_get(x_1, 3); -x_8 = lean_ctor_get(x_2, 3); -x_9 = l_List_beq___at_Lean_MacroScopesView_isPrefixOf___spec__1(x_7, x_8); -if (x_9 == 0) -{ -uint8_t x_10; -x_10 = 0; -return x_10; -} -else -{ -lean_object* x_11; lean_object* x_12; uint8_t x_13; -x_11 = lean_ctor_get(x_1, 2); -x_12 = lean_ctor_get(x_2, 2); -x_13 = lean_name_eq(x_11, x_12); -if (x_13 == 0) -{ -uint8_t x_14; -x_14 = 0; -return x_14; -} -else -{ -lean_object* x_15; lean_object* x_16; uint8_t x_17; -x_15 = lean_ctor_get(x_1, 1); -x_16 = lean_ctor_get(x_2, 1); -x_17 = lean_name_eq(x_15, x_16); -return x_17; -} -} -} -} -} -LEAN_EXPORT lean_object* l_List_beq___at_Lean_MacroScopesView_isPrefixOf___spec__1___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; lean_object* x_4; -x_3 = l_List_beq___at_Lean_MacroScopesView_isPrefixOf___spec__1(x_1, x_2); -lean_dec(x_2); -lean_dec(x_1); -x_4 = lean_box(x_3); -return x_4; -} -} -LEAN_EXPORT lean_object* l_Lean_MacroScopesView_isPrefixOf___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; lean_object* x_4; -x_3 = l_Lean_MacroScopesView_isPrefixOf(x_1, x_2); -lean_dec(x_2); -lean_dec(x_1); -x_4 = lean_box(x_3); -return x_4; -} -} -LEAN_EXPORT uint8_t l_Lean_MacroScopesView_isSuffixOf(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; lean_object* x_4; uint8_t x_5; -x_3 = lean_ctor_get(x_1, 0); -x_4 = lean_ctor_get(x_2, 0); -x_5 = l_Lean_Name_isSuffixOf(x_3, x_4); -if (x_5 == 0) -{ -uint8_t x_6; -x_6 = 0; -return x_6; -} -else -{ -lean_object* x_7; lean_object* x_8; uint8_t x_9; -x_7 = lean_ctor_get(x_1, 3); -x_8 = lean_ctor_get(x_2, 3); -x_9 = l_List_beq___at_Lean_MacroScopesView_isPrefixOf___spec__1(x_7, x_8); -if (x_9 == 0) -{ -uint8_t x_10; -x_10 = 0; -return x_10; -} -else -{ -lean_object* x_11; lean_object* x_12; uint8_t x_13; -x_11 = lean_ctor_get(x_1, 2); -x_12 = lean_ctor_get(x_2, 2); -x_13 = lean_name_eq(x_11, x_12); -if (x_13 == 0) -{ -uint8_t x_14; -x_14 = 0; -return x_14; -} -else -{ -lean_object* x_15; lean_object* x_16; uint8_t x_17; -x_15 = lean_ctor_get(x_1, 1); -x_16 = lean_ctor_get(x_2, 1); -x_17 = lean_name_eq(x_15, x_16); -return x_17; -} -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_MacroScopesView_isSuffixOf___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; lean_object* x_4; -x_3 = l_Lean_MacroScopesView_isSuffixOf(x_1, x_2); -lean_dec(x_2); -lean_dec(x_1); -x_4 = lean_box(x_3); -return x_4; -} -} LEAN_EXPORT lean_object* l_List_foldl___at_String_toName___spec__1(lean_object* x_1, lean_object* x_2) { _start: { @@ -10950,10 +1093,6 @@ return x_3; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Data_HashSet(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Data_RBMap(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Data_RBTree(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Data_SSet(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Data_Name(uint8_t builtin, lean_object* w) { lean_object * res; @@ -10962,18 +1101,6 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Data_HashSet(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Data_RBMap(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Data_RBTree(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Data_SSet(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); l_Lean_instCoeStringName___closed__1 = _init_l_Lean_instCoeStringName___closed__1(); lean_mark_persistent(l_Lean_instCoeStringName___closed__1); l_Lean_instCoeStringName = _init_l_Lean_instCoeStringName(); @@ -10988,44 +1115,6 @@ l_Lean_Name_getString_x21___closed__4 = _init_l_Lean_Name_getString_x21___closed lean_mark_persistent(l_Lean_Name_getString_x21___closed__4); l_Lean_Name_hasLtQuick = _init_l_Lean_Name_hasLtQuick(); lean_mark_persistent(l_Lean_Name_hasLtQuick); -l_Lean_NameMap_instForInNameMapProdName___closed__1 = _init_l_Lean_NameMap_instForInNameMapProdName___closed__1(); -lean_mark_persistent(l_Lean_NameMap_instForInNameMapProdName___closed__1); -l_Lean_NameMap_instForInNameMapProdName___closed__2 = _init_l_Lean_NameMap_instForInNameMapProdName___closed__2(); -lean_mark_persistent(l_Lean_NameMap_instForInNameMapProdName___closed__2); -l_Lean_NameSet_empty = _init_l_Lean_NameSet_empty(); -lean_mark_persistent(l_Lean_NameSet_empty); -l_Lean_NameSet_instEmptyCollectionNameSet = _init_l_Lean_NameSet_instEmptyCollectionNameSet(); -lean_mark_persistent(l_Lean_NameSet_instEmptyCollectionNameSet); -l_Lean_NameSet_instInhabitedNameSet = _init_l_Lean_NameSet_instInhabitedNameSet(); -lean_mark_persistent(l_Lean_NameSet_instInhabitedNameSet); -l_Lean_NameSet_instForInNameSetName___closed__1 = _init_l_Lean_NameSet_instForInNameSetName___closed__1(); -lean_mark_persistent(l_Lean_NameSet_instForInNameSetName___closed__1); -l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__1 = _init_l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__1(); -lean_mark_persistent(l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__1); -l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__2 = _init_l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__2(); -lean_mark_persistent(l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__2); -l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__3 = _init_l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__3(); -lean_mark_persistent(l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__3); -l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1 = _init_l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1(); -lean_mark_persistent(l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1); -l_Lean_NameSSet_empty = _init_l_Lean_NameSSet_empty(); -lean_mark_persistent(l_Lean_NameSSet_empty); -l_Lean_NameSSet_instEmptyCollectionNameSSet = _init_l_Lean_NameSSet_instEmptyCollectionNameSSet(); -lean_mark_persistent(l_Lean_NameSSet_instEmptyCollectionNameSSet); -l_Lean_NameSSet_instInhabitedNameSSet = _init_l_Lean_NameSSet_instInhabitedNameSSet(); -lean_mark_persistent(l_Lean_NameSSet_instInhabitedNameSSet); -l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__1 = _init_l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__1(); -l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__2 = _init_l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__2(); -l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__3 = _init_l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__3(); -lean_mark_persistent(l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__3); -l_Lean_NameHashSet_empty = _init_l_Lean_NameHashSet_empty(); -lean_mark_persistent(l_Lean_NameHashSet_empty); -l_Lean_NameHashSet_instEmptyCollectionNameHashSet___closed__1 = _init_l_Lean_NameHashSet_instEmptyCollectionNameHashSet___closed__1(); -lean_mark_persistent(l_Lean_NameHashSet_instEmptyCollectionNameHashSet___closed__1); -l_Lean_NameHashSet_instEmptyCollectionNameHashSet = _init_l_Lean_NameHashSet_instEmptyCollectionNameHashSet(); -lean_mark_persistent(l_Lean_NameHashSet_instEmptyCollectionNameHashSet); -l_Lean_NameHashSet_instInhabitedNameHashSet = _init_l_Lean_NameHashSet_instInhabitedNameHashSet(); -lean_mark_persistent(l_Lean_NameHashSet_instInhabitedNameHashSet); l_String_toName___closed__1 = _init_l_String_toName___closed__1(); lean_mark_persistent(l_String_toName___closed__1); return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Data/NameMap.c b/stage0/stdlib/Lean/Data/NameMap.c new file mode 100644 index 0000000000..3299eb1f1b --- /dev/null +++ b/stage0/stdlib/Lean/Data/NameMap.c @@ -0,0 +1,9979 @@ +// Lean compiler output +// Module: Lean.Data.NameMap +// Imports: Init Lean.Data.HashSet Lean.Data.RBMap Lean.Data.RBTree Lean.Data.SSet Lean.Data.Name +#include +#if defined(__clang__) +#pragma clang diagnostic ignored "-Wunused-parameter" +#pragma clang diagnostic ignored "-Wunused-label" +#elif defined(__GNUC__) && !defined(__CLANG__) +#pragma GCC diagnostic ignored "-Wunused-parameter" +#pragma GCC diagnostic ignored "-Wunused-label" +#pragma GCC diagnostic ignored "-Wunused-but-set-variable" +#endif +#ifdef __cplusplus +extern "C" { +#endif +lean_object* l_Lean_Name_mkSimple(lean_object*); +size_t lean_usize_add(size_t, size_t); +LEAN_EXPORT lean_object* l_Lean_NameSSet_empty; +static lean_object* l_Lean_NameMap_instForInNameMapProdName___closed__2; +LEAN_EXPORT lean_object* l_Std_RBNode_insert___at_Lean_NameSet_insert___spec__1(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_NameSet_contains___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_NameSet_instInhabitedNameSet; +LEAN_EXPORT lean_object* l_Lean_NameMap_find_x3f___rarg(lean_object*, lean_object*); +lean_object* lean_array_uget(lean_object*, size_t); +LEAN_EXPORT uint8_t l_Std_HashSetImp_contains___at_Lean_NameHashSet_contains___spec__1(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameMap_find_x3f___spec__1___rarg___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_NameSSet_insert___spec__6(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_contains___at_Lean_NameSSet_contains___spec__3___boxed(lean_object*, lean_object*); +lean_object* l_Std_RBMap_instForInRBMapProd___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__3; +LEAN_EXPORT uint8_t l_Lean_MacroScopesView_isPrefixOf(lean_object*, lean_object*); +lean_object* lean_array_uset(lean_object*, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_NameSSet_empty___spec__2___boxed(lean_object*); +size_t lean_usize_sub(size_t, size_t); +LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_replace___at_Lean_NameHashSet_insert___spec__6(lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Data_HashMap_0__Std_numBucketsForCapacity(lean_object*); +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux_traverse___at_Lean_NameSSet_insert___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t lean_name_eq(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashSetImp_expand___at_Lean_NameHashSet_insert___spec__3(lean_object*, lean_object*); +static lean_object* l_Lean_instCoeStringName__1___closed__1; +lean_object* lean_array_push(lean_object*, lean_object*); +lean_object* lean_array_get_size(lean_object*); +lean_object* l_Std_PersistentHashMap_getCollisionNodeSize___rarg(lean_object*); +LEAN_EXPORT lean_object* l_Std_HashMapImp_contains___at_Lean_NameSSet_contains___spec__2___boxed(lean_object*, lean_object*); +uint8_t l_Lean_Name_isPrefixOf(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashSetImp_moveEntries___at_Lean_NameHashSet_insert___spec__4(lean_object*, lean_object*, lean_object*); +lean_object* l_Std_mkHashSetImp___rarg(lean_object*); +size_t lean_usize_shift_right(size_t, size_t); +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_containsAtAux___at_Lean_NameSSet_contains___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_Lean_NameMap_contains___rarg(lean_object*, lean_object*); +static lean_object* l_Lean_NameMap_instForInNameMapProdName___closed__1; +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3(lean_object*, size_t, size_t, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_NameSSet_contains___boxed(lean_object*, lean_object*); +lean_object* lean_nat_add(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_foldl___at_Lean_NameHashSet_insert___spec__5(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_NameSSet_insert(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_NameSet_instEmptyCollectionNameSet; +size_t lean_uint64_to_usize(uint64_t); +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_containsAux___at_Lean_NameSSet_contains___spec__4___boxed(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_Std_PersistentHashMap_containsAux___at_Lean_NameSSet_contains___spec__4(lean_object*, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux_traverse___at_Lean_NameSSet_insert___spec__4(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_NameMap_insert___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Std_RBTree_forIn___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +uint64_t l_Lean_Name_hash___override(lean_object*); +lean_object* l_Std_RBNode_setBlack___rarg(lean_object*); +LEAN_EXPORT lean_object* l_Lean_NameMap_find_x3f___rarg___boxed(lean_object*, lean_object*); +lean_object* lean_array_fget(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameMap_find_x3f___spec__1___rarg(lean_object*, lean_object*); +static lean_object* l_Lean_NameSet_instForInNameSetName___closed__1; +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insert___at_Lean_NameSSet_insert___spec__2(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_MacroScopesView_isSuffixOf___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_NameHashSet_instEmptyCollectionNameHashSet; +LEAN_EXPORT uint8_t l_Lean_NameSSet_contains(lean_object*, lean_object*); +static lean_object* l_Lean_NameHashSet_instEmptyCollectionNameHashSet___closed__1; +LEAN_EXPORT lean_object* l_Lean_NameSSet_instInhabitedNameSSet; +LEAN_EXPORT lean_object* l_Lean_NameHashSet_empty; +LEAN_EXPORT lean_object* l_Lean_NameMap_contains(lean_object*); +LEAN_EXPORT lean_object* l_Lean_NameHashSet_contains___boxed(lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_Std_HashMapImp_contains___at_Lean_NameSSet_contains___spec__2(lean_object*, lean_object*); +lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_NameSSet_insert___spec__7(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameSet_contains___spec__1___boxed(lean_object*, lean_object*); +lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); +lean_object* l_Std_mkHashMapImp___rarg(lean_object*); +LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameSet_contains___spec__1(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_NameMap_insert(lean_object*); +LEAN_EXPORT uint8_t l_List_beq___at_Lean_MacroScopesView_isPrefixOf___spec__1(lean_object*, lean_object*); +uint8_t l_Lean_Name_quickCmp(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_RBNode_insert___at_Lean_NameMap_insert___spec__1___rarg(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameMap_contains___spec__1___rarg___boxed(lean_object*, lean_object*); +lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_replace___at_Lean_NameSSet_insert___spec__11(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_replace___at_Lean_NameHashSet_insert___spec__6___boxed(lean_object*, lean_object*, lean_object*); +size_t lean_usize_shift_left(size_t, size_t); +LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_NameSSet_insert___spec__7___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameMap_contains___spec__1(lean_object*); +size_t lean_usize_modn(size_t, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_NameSSet_insert___spec__9(lean_object*, lean_object*, lean_object*); +size_t lean_usize_mul(size_t, size_t); +LEAN_EXPORT lean_object* l_Lean_NameMap_find_x3f(lean_object*); +LEAN_EXPORT uint8_t l_Lean_MacroScopesView_isSuffixOf(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashSetImp_insert___at_Lean_NameHashSet_insert___spec__1(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_MacroScopesView_isPrefixOf___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_NameSet_empty; +LEAN_EXPORT lean_object* l_List_elem___at_Lean_NameHashSet_insert___spec__2___boxed(lean_object*, lean_object*); +size_t lean_usize_land(size_t, size_t); +LEAN_EXPORT lean_object* l_List_beq___at_Lean_MacroScopesView_isPrefixOf___spec__1___boxed(lean_object*, lean_object*); +static lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__3; +LEAN_EXPORT uint8_t l_Lean_SMap_contains___at_Lean_NameSSet_contains___spec__1(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_RBNode_insert___at_Lean_NameMap_insert___spec__1(lean_object*); +LEAN_EXPORT uint8_t l_List_elem___at_Lean_NameHashSet_insert___spec__2(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_NameMap_contains___rarg___boxed(lean_object*, lean_object*); +static size_t l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__1; +LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_NameSSet_empty___spec__2(lean_object*); +static size_t l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__2; +LEAN_EXPORT lean_object* l_Lean_SMap_contains___at_Lean_NameSSet_contains___spec__1___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1; +uint8_t lean_nat_dec_le(lean_object*, lean_object*); +uint8_t lean_usize_dec_le(size_t, size_t); +uint8_t l_Std_RBNode_isRed___rarg(lean_object*); +LEAN_EXPORT lean_object* l_Lean_NameHashSet_insert(lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_Lean_NameHashSet_contains(lean_object*, lean_object*); +uint8_t l_Lean_Name_isSuffixOf(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_NameHashSet_instInhabitedNameHashSet; +LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2(lean_object*); +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_NameSSet_insert___spec__8(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameMap_contains___spec__1___rarg(lean_object*, lean_object*); +lean_object* lean_nat_mul(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3(lean_object*); +lean_object* l_Lean_Name_quickCmp___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_NameSet_instForInNameSetName(lean_object*); +static lean_object* l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__1; +lean_object* lean_mk_array(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_NameMap_instInhabitedNameMap(lean_object*); +LEAN_EXPORT lean_object* l_Lean_NameMap_instForInNameMapProdName(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_instCoeStringName__1; +LEAN_EXPORT lean_object* l_Std_mkHashSet___at_Lean_NameHashSet_empty___spec__1(lean_object*); +LEAN_EXPORT uint8_t l_Lean_NameSet_contains(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_NameSet_insert(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashSetImp_contains___at_Lean_NameHashSet_contains___spec__1___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameMap_find_x3f___spec__1(lean_object*); +LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_NameSSet_instEmptyCollectionNameSSet; +LEAN_EXPORT lean_object* l_Lean_mkNameMap(lean_object*); +lean_object* lean_usize_to_nat(size_t); +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_NameSSet_insert___spec__5(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_SMap_insert___at_Lean_NameSSet_insert___spec__1(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_Std_PersistentHashMap_contains___at_Lean_NameSSet_contains___spec__3(lean_object*, lean_object*); +static lean_object* l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__2; +lean_object* l_Std_PersistentHashMap_mkEmptyEntries(lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_Std_PersistentHashMap_containsAtAux___at_Lean_NameSSet_contains___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_NameMap_instEmptyCollectionNameMap(lean_object*); +lean_object* l_Std_PersistentHashMap_mkCollisionNode___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_NameSSet_insert___spec__10(lean_object*, lean_object*); +uint8_t lean_nat_dec_lt(lean_object*, lean_object*); +static lean_object* _init_l_Lean_instCoeStringName__1___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Name_mkSimple), 1, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_instCoeStringName__1() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_instCoeStringName__1___closed__1; +return x_1; +} +} +LEAN_EXPORT lean_object* l_Lean_mkNameMap(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_box(0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_NameMap_instEmptyCollectionNameMap(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_box(0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_NameMap_instInhabitedNameMap(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_box(0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; uint8_t x_5; lean_object* x_6; +x_4 = lean_box(0); +x_5 = 0; +x_6 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_6, 0, x_4); +lean_ctor_set(x_6, 1, x_2); +lean_ctor_set(x_6, 2, x_3); +lean_ctor_set(x_6, 3, x_4); +lean_ctor_set_uint8(x_6, sizeof(void*)*4, x_5); +return x_6; +} +else +{ +uint8_t x_7; +x_7 = lean_ctor_get_uint8(x_1, sizeof(void*)*4); +if (x_7 == 0) +{ +uint8_t x_8; +x_8 = !lean_is_exclusive(x_1); +if (x_8 == 0) +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; +x_9 = lean_ctor_get(x_1, 0); +x_10 = lean_ctor_get(x_1, 1); +x_11 = lean_ctor_get(x_1, 2); +x_12 = lean_ctor_get(x_1, 3); +x_13 = l_Lean_Name_quickCmp(x_2, x_10); +switch (x_13) { +case 0: +{ +lean_object* x_14; uint8_t x_15; +x_14 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_9, x_2, x_3); +x_15 = 0; +lean_ctor_set(x_1, 0, x_14); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_15); +return x_1; +} +case 1: +{ +uint8_t x_16; +lean_dec(x_11); +lean_dec(x_10); +x_16 = 0; +lean_ctor_set(x_1, 2, x_3); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_16); +return x_1; +} +default: +{ +lean_object* x_17; uint8_t x_18; +x_17 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_12, x_2, x_3); +x_18 = 0; +lean_ctor_set(x_1, 3, x_17); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_18); +return x_1; +} +} +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; +x_19 = lean_ctor_get(x_1, 0); +x_20 = lean_ctor_get(x_1, 1); +x_21 = lean_ctor_get(x_1, 2); +x_22 = lean_ctor_get(x_1, 3); +lean_inc(x_22); +lean_inc(x_21); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_1); +x_23 = l_Lean_Name_quickCmp(x_2, x_20); +switch (x_23) { +case 0: +{ +lean_object* x_24; uint8_t x_25; lean_object* x_26; +x_24 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_19, x_2, x_3); +x_25 = 0; +x_26 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_26, 0, x_24); +lean_ctor_set(x_26, 1, x_20); +lean_ctor_set(x_26, 2, x_21); +lean_ctor_set(x_26, 3, x_22); +lean_ctor_set_uint8(x_26, sizeof(void*)*4, x_25); +return x_26; +} +case 1: +{ +uint8_t x_27; lean_object* x_28; +lean_dec(x_21); +lean_dec(x_20); +x_27 = 0; +x_28 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_28, 0, x_19); +lean_ctor_set(x_28, 1, x_2); +lean_ctor_set(x_28, 2, x_3); +lean_ctor_set(x_28, 3, x_22); +lean_ctor_set_uint8(x_28, sizeof(void*)*4, x_27); +return x_28; +} +default: +{ +lean_object* x_29; uint8_t x_30; lean_object* x_31; +x_29 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_22, x_2, x_3); +x_30 = 0; +x_31 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_31, 0, x_19); +lean_ctor_set(x_31, 1, x_20); +lean_ctor_set(x_31, 2, x_21); +lean_ctor_set(x_31, 3, x_29); +lean_ctor_set_uint8(x_31, sizeof(void*)*4, x_30); +return x_31; +} +} +} +} +else +{ +uint8_t x_32; +x_32 = !lean_is_exclusive(x_1); +if (x_32 == 0) +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; +x_33 = lean_ctor_get(x_1, 0); +x_34 = lean_ctor_get(x_1, 1); +x_35 = lean_ctor_get(x_1, 2); +x_36 = lean_ctor_get(x_1, 3); +x_37 = l_Lean_Name_quickCmp(x_2, x_34); +switch (x_37) { +case 0: +{ +uint8_t x_38; +x_38 = l_Std_RBNode_isRed___rarg(x_33); +if (x_38 == 0) +{ +lean_object* x_39; uint8_t x_40; +x_39 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_33, x_2, x_3); +x_40 = 1; +lean_ctor_set(x_1, 0, x_39); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_40); +return x_1; +} +else +{ +lean_object* x_41; lean_object* x_42; +x_41 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_33, x_2, x_3); +x_42 = lean_ctor_get(x_41, 0); +lean_inc(x_42); +if (lean_obj_tag(x_42) == 0) +{ +lean_object* x_43; +x_43 = lean_ctor_get(x_41, 3); +lean_inc(x_43); +if (lean_obj_tag(x_43) == 0) +{ +uint8_t x_44; +x_44 = !lean_is_exclusive(x_41); +if (x_44 == 0) +{ +lean_object* x_45; lean_object* x_46; uint8_t x_47; uint8_t x_48; +x_45 = lean_ctor_get(x_41, 3); +lean_dec(x_45); +x_46 = lean_ctor_get(x_41, 0); +lean_dec(x_46); +x_47 = 0; +lean_ctor_set(x_41, 0, x_43); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_47); +x_48 = 1; +lean_ctor_set(x_1, 0, x_41); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_48); +return x_1; +} +else +{ +lean_object* x_49; lean_object* x_50; uint8_t x_51; lean_object* x_52; uint8_t x_53; +x_49 = lean_ctor_get(x_41, 1); +x_50 = lean_ctor_get(x_41, 2); +lean_inc(x_50); +lean_inc(x_49); +lean_dec(x_41); +x_51 = 0; +x_52 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_52, 0, x_43); +lean_ctor_set(x_52, 1, x_49); +lean_ctor_set(x_52, 2, x_50); +lean_ctor_set(x_52, 3, x_43); +lean_ctor_set_uint8(x_52, sizeof(void*)*4, x_51); +x_53 = 1; +lean_ctor_set(x_1, 0, x_52); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_53); +return x_1; +} +} +else +{ +uint8_t x_54; +x_54 = lean_ctor_get_uint8(x_43, sizeof(void*)*4); +if (x_54 == 0) +{ +uint8_t x_55; +x_55 = !lean_is_exclusive(x_41); +if (x_55 == 0) +{ +lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60; +x_56 = lean_ctor_get(x_41, 1); +x_57 = lean_ctor_get(x_41, 2); +x_58 = lean_ctor_get(x_41, 3); +lean_dec(x_58); +x_59 = lean_ctor_get(x_41, 0); +lean_dec(x_59); +x_60 = !lean_is_exclusive(x_43); +if (x_60 == 0) +{ +lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; uint8_t x_65; uint8_t x_66; +x_61 = lean_ctor_get(x_43, 0); +x_62 = lean_ctor_get(x_43, 1); +x_63 = lean_ctor_get(x_43, 2); +x_64 = lean_ctor_get(x_43, 3); +x_65 = 1; +lean_ctor_set(x_43, 3, x_61); +lean_ctor_set(x_43, 2, x_57); +lean_ctor_set(x_43, 1, x_56); +lean_ctor_set(x_43, 0, x_42); +lean_ctor_set_uint8(x_43, sizeof(void*)*4, x_65); +lean_ctor_set(x_41, 3, x_36); +lean_ctor_set(x_41, 2, x_35); +lean_ctor_set(x_41, 1, x_34); +lean_ctor_set(x_41, 0, x_64); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_65); +x_66 = 0; +lean_ctor_set(x_1, 3, x_41); +lean_ctor_set(x_1, 2, x_63); +lean_ctor_set(x_1, 1, x_62); +lean_ctor_set(x_1, 0, x_43); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_66); +return x_1; +} +else +{ +lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71; lean_object* x_72; uint8_t x_73; +x_67 = lean_ctor_get(x_43, 0); +x_68 = lean_ctor_get(x_43, 1); +x_69 = lean_ctor_get(x_43, 2); +x_70 = lean_ctor_get(x_43, 3); +lean_inc(x_70); +lean_inc(x_69); +lean_inc(x_68); +lean_inc(x_67); +lean_dec(x_43); +x_71 = 1; +x_72 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_72, 0, x_42); +lean_ctor_set(x_72, 1, x_56); +lean_ctor_set(x_72, 2, x_57); +lean_ctor_set(x_72, 3, x_67); +lean_ctor_set_uint8(x_72, sizeof(void*)*4, x_71); +lean_ctor_set(x_41, 3, x_36); +lean_ctor_set(x_41, 2, x_35); +lean_ctor_set(x_41, 1, x_34); +lean_ctor_set(x_41, 0, x_70); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_71); +x_73 = 0; +lean_ctor_set(x_1, 3, x_41); +lean_ctor_set(x_1, 2, x_69); +lean_ctor_set(x_1, 1, x_68); +lean_ctor_set(x_1, 0, x_72); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_73); +return x_1; +} +} +else +{ +lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; uint8_t x_81; lean_object* x_82; lean_object* x_83; uint8_t x_84; +x_74 = lean_ctor_get(x_41, 1); +x_75 = lean_ctor_get(x_41, 2); +lean_inc(x_75); +lean_inc(x_74); +lean_dec(x_41); +x_76 = lean_ctor_get(x_43, 0); +lean_inc(x_76); +x_77 = lean_ctor_get(x_43, 1); +lean_inc(x_77); +x_78 = lean_ctor_get(x_43, 2); +lean_inc(x_78); +x_79 = lean_ctor_get(x_43, 3); +lean_inc(x_79); +if (lean_is_exclusive(x_43)) { + lean_ctor_release(x_43, 0); + lean_ctor_release(x_43, 1); + lean_ctor_release(x_43, 2); + lean_ctor_release(x_43, 3); + x_80 = x_43; +} else { + lean_dec_ref(x_43); + x_80 = lean_box(0); +} +x_81 = 1; +if (lean_is_scalar(x_80)) { + x_82 = lean_alloc_ctor(1, 4, 1); +} else { + x_82 = x_80; +} +lean_ctor_set(x_82, 0, x_42); +lean_ctor_set(x_82, 1, x_74); +lean_ctor_set(x_82, 2, x_75); +lean_ctor_set(x_82, 3, x_76); +lean_ctor_set_uint8(x_82, sizeof(void*)*4, x_81); +x_83 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_83, 0, x_79); +lean_ctor_set(x_83, 1, x_34); +lean_ctor_set(x_83, 2, x_35); +lean_ctor_set(x_83, 3, x_36); +lean_ctor_set_uint8(x_83, sizeof(void*)*4, x_81); +x_84 = 0; +lean_ctor_set(x_1, 3, x_83); +lean_ctor_set(x_1, 2, x_78); +lean_ctor_set(x_1, 1, x_77); +lean_ctor_set(x_1, 0, x_82); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_84); +return x_1; +} +} +else +{ +uint8_t x_85; +x_85 = !lean_is_exclusive(x_41); +if (x_85 == 0) +{ +lean_object* x_86; lean_object* x_87; uint8_t x_88; uint8_t x_89; +x_86 = lean_ctor_get(x_41, 3); +lean_dec(x_86); +x_87 = lean_ctor_get(x_41, 0); +lean_dec(x_87); +x_88 = 0; +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_88); +x_89 = 1; +lean_ctor_set(x_1, 0, x_41); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_89); +return x_1; +} +else +{ +lean_object* x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93; uint8_t x_94; +x_90 = lean_ctor_get(x_41, 1); +x_91 = lean_ctor_get(x_41, 2); +lean_inc(x_91); +lean_inc(x_90); +lean_dec(x_41); +x_92 = 0; +x_93 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_93, 0, x_42); +lean_ctor_set(x_93, 1, x_90); +lean_ctor_set(x_93, 2, x_91); +lean_ctor_set(x_93, 3, x_43); +lean_ctor_set_uint8(x_93, sizeof(void*)*4, x_92); +x_94 = 1; +lean_ctor_set(x_1, 0, x_93); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_94); +return x_1; +} +} +} +} +else +{ +uint8_t x_95; +x_95 = lean_ctor_get_uint8(x_42, sizeof(void*)*4); +if (x_95 == 0) +{ +uint8_t x_96; +x_96 = !lean_is_exclusive(x_41); +if (x_96 == 0) +{ +lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; uint8_t x_101; +x_97 = lean_ctor_get(x_41, 1); +x_98 = lean_ctor_get(x_41, 2); +x_99 = lean_ctor_get(x_41, 3); +x_100 = lean_ctor_get(x_41, 0); +lean_dec(x_100); +x_101 = !lean_is_exclusive(x_42); +if (x_101 == 0) +{ +uint8_t x_102; uint8_t x_103; +x_102 = 1; +lean_ctor_set_uint8(x_42, sizeof(void*)*4, x_102); +lean_ctor_set(x_41, 3, x_36); +lean_ctor_set(x_41, 2, x_35); +lean_ctor_set(x_41, 1, x_34); +lean_ctor_set(x_41, 0, x_99); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_102); +x_103 = 0; +lean_ctor_set(x_1, 3, x_41); +lean_ctor_set(x_1, 2, x_98); +lean_ctor_set(x_1, 1, x_97); +lean_ctor_set(x_1, 0, x_42); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_103); +return x_1; +} +else +{ +lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; uint8_t x_108; lean_object* x_109; uint8_t x_110; +x_104 = lean_ctor_get(x_42, 0); +x_105 = lean_ctor_get(x_42, 1); +x_106 = lean_ctor_get(x_42, 2); +x_107 = lean_ctor_get(x_42, 3); +lean_inc(x_107); +lean_inc(x_106); +lean_inc(x_105); +lean_inc(x_104); +lean_dec(x_42); +x_108 = 1; +x_109 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_109, 0, x_104); +lean_ctor_set(x_109, 1, x_105); +lean_ctor_set(x_109, 2, x_106); +lean_ctor_set(x_109, 3, x_107); +lean_ctor_set_uint8(x_109, sizeof(void*)*4, x_108); +lean_ctor_set(x_41, 3, x_36); +lean_ctor_set(x_41, 2, x_35); +lean_ctor_set(x_41, 1, x_34); +lean_ctor_set(x_41, 0, x_99); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_108); +x_110 = 0; +lean_ctor_set(x_1, 3, x_41); +lean_ctor_set(x_1, 2, x_98); +lean_ctor_set(x_1, 1, x_97); +lean_ctor_set(x_1, 0, x_109); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_110); +return x_1; +} +} +else +{ +lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; uint8_t x_119; lean_object* x_120; lean_object* x_121; uint8_t x_122; +x_111 = lean_ctor_get(x_41, 1); +x_112 = lean_ctor_get(x_41, 2); +x_113 = lean_ctor_get(x_41, 3); +lean_inc(x_113); +lean_inc(x_112); +lean_inc(x_111); +lean_dec(x_41); +x_114 = lean_ctor_get(x_42, 0); +lean_inc(x_114); +x_115 = lean_ctor_get(x_42, 1); +lean_inc(x_115); +x_116 = lean_ctor_get(x_42, 2); +lean_inc(x_116); +x_117 = lean_ctor_get(x_42, 3); +lean_inc(x_117); +if (lean_is_exclusive(x_42)) { + lean_ctor_release(x_42, 0); + lean_ctor_release(x_42, 1); + lean_ctor_release(x_42, 2); + lean_ctor_release(x_42, 3); + x_118 = x_42; +} else { + lean_dec_ref(x_42); + x_118 = lean_box(0); +} +x_119 = 1; +if (lean_is_scalar(x_118)) { + x_120 = lean_alloc_ctor(1, 4, 1); +} else { + x_120 = x_118; +} +lean_ctor_set(x_120, 0, x_114); +lean_ctor_set(x_120, 1, x_115); +lean_ctor_set(x_120, 2, x_116); +lean_ctor_set(x_120, 3, x_117); +lean_ctor_set_uint8(x_120, sizeof(void*)*4, x_119); +x_121 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_121, 0, x_113); +lean_ctor_set(x_121, 1, x_34); +lean_ctor_set(x_121, 2, x_35); +lean_ctor_set(x_121, 3, x_36); +lean_ctor_set_uint8(x_121, sizeof(void*)*4, x_119); +x_122 = 0; +lean_ctor_set(x_1, 3, x_121); +lean_ctor_set(x_1, 2, x_112); +lean_ctor_set(x_1, 1, x_111); +lean_ctor_set(x_1, 0, x_120); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_122); +return x_1; +} +} +else +{ +lean_object* x_123; +x_123 = lean_ctor_get(x_41, 3); +lean_inc(x_123); +if (lean_obj_tag(x_123) == 0) +{ +uint8_t x_124; +x_124 = !lean_is_exclusive(x_41); +if (x_124 == 0) +{ +lean_object* x_125; lean_object* x_126; uint8_t x_127; uint8_t x_128; +x_125 = lean_ctor_get(x_41, 3); +lean_dec(x_125); +x_126 = lean_ctor_get(x_41, 0); +lean_dec(x_126); +x_127 = 0; +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_127); +x_128 = 1; +lean_ctor_set(x_1, 0, x_41); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_128); +return x_1; +} +else +{ +lean_object* x_129; lean_object* x_130; uint8_t x_131; lean_object* x_132; uint8_t x_133; +x_129 = lean_ctor_get(x_41, 1); +x_130 = lean_ctor_get(x_41, 2); +lean_inc(x_130); +lean_inc(x_129); +lean_dec(x_41); +x_131 = 0; +x_132 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_132, 0, x_42); +lean_ctor_set(x_132, 1, x_129); +lean_ctor_set(x_132, 2, x_130); +lean_ctor_set(x_132, 3, x_123); +lean_ctor_set_uint8(x_132, sizeof(void*)*4, x_131); +x_133 = 1; +lean_ctor_set(x_1, 0, x_132); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_133); +return x_1; +} +} +else +{ +uint8_t x_134; +x_134 = lean_ctor_get_uint8(x_123, sizeof(void*)*4); +if (x_134 == 0) +{ +uint8_t x_135; +lean_free_object(x_1); +x_135 = !lean_is_exclusive(x_41); +if (x_135 == 0) +{ +lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; uint8_t x_140; +x_136 = lean_ctor_get(x_41, 1); +x_137 = lean_ctor_get(x_41, 2); +x_138 = lean_ctor_get(x_41, 3); +lean_dec(x_138); +x_139 = lean_ctor_get(x_41, 0); +lean_dec(x_139); +x_140 = !lean_is_exclusive(x_123); +if (x_140 == 0) +{ +lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; uint8_t x_145; uint8_t x_146; +x_141 = lean_ctor_get(x_123, 0); +x_142 = lean_ctor_get(x_123, 1); +x_143 = lean_ctor_get(x_123, 2); +x_144 = lean_ctor_get(x_123, 3); +x_145 = 1; +lean_inc(x_42); +lean_ctor_set(x_123, 3, x_141); +lean_ctor_set(x_123, 2, x_137); +lean_ctor_set(x_123, 1, x_136); +lean_ctor_set(x_123, 0, x_42); +x_146 = !lean_is_exclusive(x_42); +if (x_146 == 0) +{ +lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; uint8_t x_151; +x_147 = lean_ctor_get(x_42, 3); +lean_dec(x_147); +x_148 = lean_ctor_get(x_42, 2); +lean_dec(x_148); +x_149 = lean_ctor_get(x_42, 1); +lean_dec(x_149); +x_150 = lean_ctor_get(x_42, 0); +lean_dec(x_150); +lean_ctor_set_uint8(x_123, sizeof(void*)*4, x_145); +lean_ctor_set(x_42, 3, x_36); +lean_ctor_set(x_42, 2, x_35); +lean_ctor_set(x_42, 1, x_34); +lean_ctor_set(x_42, 0, x_144); +lean_ctor_set_uint8(x_42, sizeof(void*)*4, x_145); +x_151 = 0; +lean_ctor_set(x_41, 3, x_42); +lean_ctor_set(x_41, 2, x_143); +lean_ctor_set(x_41, 1, x_142); +lean_ctor_set(x_41, 0, x_123); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_151); +return x_41; +} +else +{ +lean_object* x_152; uint8_t x_153; +lean_dec(x_42); +lean_ctor_set_uint8(x_123, sizeof(void*)*4, x_145); +x_152 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_152, 0, x_144); +lean_ctor_set(x_152, 1, x_34); +lean_ctor_set(x_152, 2, x_35); +lean_ctor_set(x_152, 3, x_36); +lean_ctor_set_uint8(x_152, sizeof(void*)*4, x_145); +x_153 = 0; +lean_ctor_set(x_41, 3, x_152); +lean_ctor_set(x_41, 2, x_143); +lean_ctor_set(x_41, 1, x_142); +lean_ctor_set(x_41, 0, x_123); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_153); +return x_41; +} +} +else +{ +lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; uint8_t x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; uint8_t x_162; +x_154 = lean_ctor_get(x_123, 0); +x_155 = lean_ctor_get(x_123, 1); +x_156 = lean_ctor_get(x_123, 2); +x_157 = lean_ctor_get(x_123, 3); +lean_inc(x_157); +lean_inc(x_156); +lean_inc(x_155); +lean_inc(x_154); +lean_dec(x_123); +x_158 = 1; +lean_inc(x_42); +x_159 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_159, 0, x_42); +lean_ctor_set(x_159, 1, x_136); +lean_ctor_set(x_159, 2, x_137); +lean_ctor_set(x_159, 3, x_154); +if (lean_is_exclusive(x_42)) { + lean_ctor_release(x_42, 0); + lean_ctor_release(x_42, 1); + lean_ctor_release(x_42, 2); + lean_ctor_release(x_42, 3); + x_160 = x_42; +} else { + lean_dec_ref(x_42); + x_160 = lean_box(0); +} +lean_ctor_set_uint8(x_159, sizeof(void*)*4, x_158); +if (lean_is_scalar(x_160)) { + x_161 = lean_alloc_ctor(1, 4, 1); +} else { + x_161 = x_160; +} +lean_ctor_set(x_161, 0, x_157); +lean_ctor_set(x_161, 1, x_34); +lean_ctor_set(x_161, 2, x_35); +lean_ctor_set(x_161, 3, x_36); +lean_ctor_set_uint8(x_161, sizeof(void*)*4, x_158); +x_162 = 0; +lean_ctor_set(x_41, 3, x_161); +lean_ctor_set(x_41, 2, x_156); +lean_ctor_set(x_41, 1, x_155); +lean_ctor_set(x_41, 0, x_159); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_162); +return x_41; +} +} +else +{ +lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; uint8_t x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; uint8_t x_174; lean_object* x_175; +x_163 = lean_ctor_get(x_41, 1); +x_164 = lean_ctor_get(x_41, 2); +lean_inc(x_164); +lean_inc(x_163); +lean_dec(x_41); +x_165 = lean_ctor_get(x_123, 0); +lean_inc(x_165); +x_166 = lean_ctor_get(x_123, 1); +lean_inc(x_166); +x_167 = lean_ctor_get(x_123, 2); +lean_inc(x_167); +x_168 = lean_ctor_get(x_123, 3); +lean_inc(x_168); +if (lean_is_exclusive(x_123)) { + lean_ctor_release(x_123, 0); + lean_ctor_release(x_123, 1); + lean_ctor_release(x_123, 2); + lean_ctor_release(x_123, 3); + x_169 = x_123; +} else { + lean_dec_ref(x_123); + x_169 = lean_box(0); +} +x_170 = 1; +lean_inc(x_42); +if (lean_is_scalar(x_169)) { + x_171 = lean_alloc_ctor(1, 4, 1); +} else { + x_171 = x_169; +} +lean_ctor_set(x_171, 0, x_42); +lean_ctor_set(x_171, 1, x_163); +lean_ctor_set(x_171, 2, x_164); +lean_ctor_set(x_171, 3, x_165); +if (lean_is_exclusive(x_42)) { + lean_ctor_release(x_42, 0); + lean_ctor_release(x_42, 1); + lean_ctor_release(x_42, 2); + lean_ctor_release(x_42, 3); + x_172 = x_42; +} else { + lean_dec_ref(x_42); + x_172 = lean_box(0); +} +lean_ctor_set_uint8(x_171, sizeof(void*)*4, x_170); +if (lean_is_scalar(x_172)) { + x_173 = lean_alloc_ctor(1, 4, 1); +} else { + x_173 = x_172; +} +lean_ctor_set(x_173, 0, x_168); +lean_ctor_set(x_173, 1, x_34); +lean_ctor_set(x_173, 2, x_35); +lean_ctor_set(x_173, 3, x_36); +lean_ctor_set_uint8(x_173, sizeof(void*)*4, x_170); +x_174 = 0; +x_175 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_175, 0, x_171); +lean_ctor_set(x_175, 1, x_166); +lean_ctor_set(x_175, 2, x_167); +lean_ctor_set(x_175, 3, x_173); +lean_ctor_set_uint8(x_175, sizeof(void*)*4, x_174); +return x_175; +} +} +else +{ +uint8_t x_176; +x_176 = !lean_is_exclusive(x_41); +if (x_176 == 0) +{ +lean_object* x_177; lean_object* x_178; uint8_t x_179; +x_177 = lean_ctor_get(x_41, 3); +lean_dec(x_177); +x_178 = lean_ctor_get(x_41, 0); +lean_dec(x_178); +x_179 = !lean_is_exclusive(x_42); +if (x_179 == 0) +{ +uint8_t x_180; uint8_t x_181; +lean_ctor_set_uint8(x_42, sizeof(void*)*4, x_134); +x_180 = 0; +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_180); +x_181 = 1; +lean_ctor_set(x_1, 0, x_41); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_181); +return x_1; +} +else +{ +lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; uint8_t x_187; uint8_t x_188; +x_182 = lean_ctor_get(x_42, 0); +x_183 = lean_ctor_get(x_42, 1); +x_184 = lean_ctor_get(x_42, 2); +x_185 = lean_ctor_get(x_42, 3); +lean_inc(x_185); +lean_inc(x_184); +lean_inc(x_183); +lean_inc(x_182); +lean_dec(x_42); +x_186 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_186, 0, x_182); +lean_ctor_set(x_186, 1, x_183); +lean_ctor_set(x_186, 2, x_184); +lean_ctor_set(x_186, 3, x_185); +lean_ctor_set_uint8(x_186, sizeof(void*)*4, x_134); +x_187 = 0; +lean_ctor_set(x_41, 0, x_186); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_187); +x_188 = 1; +lean_ctor_set(x_1, 0, x_41); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_188); +return x_1; +} +} +else +{ +lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; uint8_t x_197; lean_object* x_198; uint8_t x_199; +x_189 = lean_ctor_get(x_41, 1); +x_190 = lean_ctor_get(x_41, 2); +lean_inc(x_190); +lean_inc(x_189); +lean_dec(x_41); +x_191 = lean_ctor_get(x_42, 0); +lean_inc(x_191); +x_192 = lean_ctor_get(x_42, 1); +lean_inc(x_192); +x_193 = lean_ctor_get(x_42, 2); +lean_inc(x_193); +x_194 = lean_ctor_get(x_42, 3); +lean_inc(x_194); +if (lean_is_exclusive(x_42)) { + lean_ctor_release(x_42, 0); + lean_ctor_release(x_42, 1); + lean_ctor_release(x_42, 2); + lean_ctor_release(x_42, 3); + x_195 = x_42; +} else { + lean_dec_ref(x_42); + x_195 = lean_box(0); +} +if (lean_is_scalar(x_195)) { + x_196 = lean_alloc_ctor(1, 4, 1); +} else { + x_196 = x_195; +} +lean_ctor_set(x_196, 0, x_191); +lean_ctor_set(x_196, 1, x_192); +lean_ctor_set(x_196, 2, x_193); +lean_ctor_set(x_196, 3, x_194); +lean_ctor_set_uint8(x_196, sizeof(void*)*4, x_134); +x_197 = 0; +x_198 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_198, 0, x_196); +lean_ctor_set(x_198, 1, x_189); +lean_ctor_set(x_198, 2, x_190); +lean_ctor_set(x_198, 3, x_123); +lean_ctor_set_uint8(x_198, sizeof(void*)*4, x_197); +x_199 = 1; +lean_ctor_set(x_1, 0, x_198); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_199); +return x_1; +} +} +} +} +} +} +} +case 1: +{ +uint8_t x_200; +lean_dec(x_35); +lean_dec(x_34); +x_200 = 1; +lean_ctor_set(x_1, 2, x_3); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_200); +return x_1; +} +default: +{ +uint8_t x_201; +x_201 = l_Std_RBNode_isRed___rarg(x_36); +if (x_201 == 0) +{ +lean_object* x_202; uint8_t x_203; +x_202 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_36, x_2, x_3); +x_203 = 1; +lean_ctor_set(x_1, 3, x_202); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_203); +return x_1; +} +else +{ +lean_object* x_204; lean_object* x_205; +x_204 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_36, x_2, x_3); +x_205 = lean_ctor_get(x_204, 0); +lean_inc(x_205); +if (lean_obj_tag(x_205) == 0) +{ +lean_object* x_206; +x_206 = lean_ctor_get(x_204, 3); +lean_inc(x_206); +if (lean_obj_tag(x_206) == 0) +{ +uint8_t x_207; +x_207 = !lean_is_exclusive(x_204); +if (x_207 == 0) +{ +lean_object* x_208; lean_object* x_209; uint8_t x_210; uint8_t x_211; +x_208 = lean_ctor_get(x_204, 3); +lean_dec(x_208); +x_209 = lean_ctor_get(x_204, 0); +lean_dec(x_209); +x_210 = 0; +lean_ctor_set(x_204, 0, x_206); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_210); +x_211 = 1; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_211); +return x_1; +} +else +{ +lean_object* x_212; lean_object* x_213; uint8_t x_214; lean_object* x_215; uint8_t x_216; +x_212 = lean_ctor_get(x_204, 1); +x_213 = lean_ctor_get(x_204, 2); +lean_inc(x_213); +lean_inc(x_212); +lean_dec(x_204); +x_214 = 0; +x_215 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_215, 0, x_206); +lean_ctor_set(x_215, 1, x_212); +lean_ctor_set(x_215, 2, x_213); +lean_ctor_set(x_215, 3, x_206); +lean_ctor_set_uint8(x_215, sizeof(void*)*4, x_214); +x_216 = 1; +lean_ctor_set(x_1, 3, x_215); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_216); +return x_1; +} +} +else +{ +uint8_t x_217; +x_217 = lean_ctor_get_uint8(x_206, sizeof(void*)*4); +if (x_217 == 0) +{ +uint8_t x_218; +x_218 = !lean_is_exclusive(x_204); +if (x_218 == 0) +{ +lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; uint8_t x_223; +x_219 = lean_ctor_get(x_204, 1); +x_220 = lean_ctor_get(x_204, 2); +x_221 = lean_ctor_get(x_204, 3); +lean_dec(x_221); +x_222 = lean_ctor_get(x_204, 0); +lean_dec(x_222); +x_223 = !lean_is_exclusive(x_206); +if (x_223 == 0) +{ +lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; uint8_t x_228; uint8_t x_229; +x_224 = lean_ctor_get(x_206, 0); +x_225 = lean_ctor_get(x_206, 1); +x_226 = lean_ctor_get(x_206, 2); +x_227 = lean_ctor_get(x_206, 3); +x_228 = 1; +lean_ctor_set(x_206, 3, x_205); +lean_ctor_set(x_206, 2, x_35); +lean_ctor_set(x_206, 1, x_34); +lean_ctor_set(x_206, 0, x_33); +lean_ctor_set_uint8(x_206, sizeof(void*)*4, x_228); +lean_ctor_set(x_204, 3, x_227); +lean_ctor_set(x_204, 2, x_226); +lean_ctor_set(x_204, 1, x_225); +lean_ctor_set(x_204, 0, x_224); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_228); +x_229 = 0; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set(x_1, 2, x_220); +lean_ctor_set(x_1, 1, x_219); +lean_ctor_set(x_1, 0, x_206); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_229); +return x_1; +} +else +{ +lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; uint8_t x_234; lean_object* x_235; uint8_t x_236; +x_230 = lean_ctor_get(x_206, 0); +x_231 = lean_ctor_get(x_206, 1); +x_232 = lean_ctor_get(x_206, 2); +x_233 = lean_ctor_get(x_206, 3); +lean_inc(x_233); +lean_inc(x_232); +lean_inc(x_231); +lean_inc(x_230); +lean_dec(x_206); +x_234 = 1; +x_235 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_235, 0, x_33); +lean_ctor_set(x_235, 1, x_34); +lean_ctor_set(x_235, 2, x_35); +lean_ctor_set(x_235, 3, x_205); +lean_ctor_set_uint8(x_235, sizeof(void*)*4, x_234); +lean_ctor_set(x_204, 3, x_233); +lean_ctor_set(x_204, 2, x_232); +lean_ctor_set(x_204, 1, x_231); +lean_ctor_set(x_204, 0, x_230); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_234); +x_236 = 0; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set(x_1, 2, x_220); +lean_ctor_set(x_1, 1, x_219); +lean_ctor_set(x_1, 0, x_235); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_236); +return x_1; +} +} +else +{ +lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; uint8_t x_244; lean_object* x_245; lean_object* x_246; uint8_t x_247; +x_237 = lean_ctor_get(x_204, 1); +x_238 = lean_ctor_get(x_204, 2); +lean_inc(x_238); +lean_inc(x_237); +lean_dec(x_204); +x_239 = lean_ctor_get(x_206, 0); +lean_inc(x_239); +x_240 = lean_ctor_get(x_206, 1); +lean_inc(x_240); +x_241 = lean_ctor_get(x_206, 2); +lean_inc(x_241); +x_242 = lean_ctor_get(x_206, 3); +lean_inc(x_242); +if (lean_is_exclusive(x_206)) { + lean_ctor_release(x_206, 0); + lean_ctor_release(x_206, 1); + lean_ctor_release(x_206, 2); + lean_ctor_release(x_206, 3); + x_243 = x_206; +} else { + lean_dec_ref(x_206); + x_243 = lean_box(0); +} +x_244 = 1; +if (lean_is_scalar(x_243)) { + x_245 = lean_alloc_ctor(1, 4, 1); +} else { + x_245 = x_243; +} +lean_ctor_set(x_245, 0, x_33); +lean_ctor_set(x_245, 1, x_34); +lean_ctor_set(x_245, 2, x_35); +lean_ctor_set(x_245, 3, x_205); +lean_ctor_set_uint8(x_245, sizeof(void*)*4, x_244); +x_246 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_246, 0, x_239); +lean_ctor_set(x_246, 1, x_240); +lean_ctor_set(x_246, 2, x_241); +lean_ctor_set(x_246, 3, x_242); +lean_ctor_set_uint8(x_246, sizeof(void*)*4, x_244); +x_247 = 0; +lean_ctor_set(x_1, 3, x_246); +lean_ctor_set(x_1, 2, x_238); +lean_ctor_set(x_1, 1, x_237); +lean_ctor_set(x_1, 0, x_245); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_247); +return x_1; +} +} +else +{ +uint8_t x_248; +x_248 = !lean_is_exclusive(x_204); +if (x_248 == 0) +{ +lean_object* x_249; lean_object* x_250; uint8_t x_251; uint8_t x_252; +x_249 = lean_ctor_get(x_204, 3); +lean_dec(x_249); +x_250 = lean_ctor_get(x_204, 0); +lean_dec(x_250); +x_251 = 0; +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_251); +x_252 = 1; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_252); +return x_1; +} +else +{ +lean_object* x_253; lean_object* x_254; uint8_t x_255; lean_object* x_256; uint8_t x_257; +x_253 = lean_ctor_get(x_204, 1); +x_254 = lean_ctor_get(x_204, 2); +lean_inc(x_254); +lean_inc(x_253); +lean_dec(x_204); +x_255 = 0; +x_256 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_256, 0, x_205); +lean_ctor_set(x_256, 1, x_253); +lean_ctor_set(x_256, 2, x_254); +lean_ctor_set(x_256, 3, x_206); +lean_ctor_set_uint8(x_256, sizeof(void*)*4, x_255); +x_257 = 1; +lean_ctor_set(x_1, 3, x_256); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_257); +return x_1; +} +} +} +} +else +{ +uint8_t x_258; +x_258 = lean_ctor_get_uint8(x_205, sizeof(void*)*4); +if (x_258 == 0) +{ +uint8_t x_259; +x_259 = !lean_is_exclusive(x_204); +if (x_259 == 0) +{ +lean_object* x_260; uint8_t x_261; +x_260 = lean_ctor_get(x_204, 0); +lean_dec(x_260); +x_261 = !lean_is_exclusive(x_205); +if (x_261 == 0) +{ +lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; uint8_t x_266; uint8_t x_267; +x_262 = lean_ctor_get(x_205, 0); +x_263 = lean_ctor_get(x_205, 1); +x_264 = lean_ctor_get(x_205, 2); +x_265 = lean_ctor_get(x_205, 3); +x_266 = 1; +lean_ctor_set(x_205, 3, x_262); +lean_ctor_set(x_205, 2, x_35); +lean_ctor_set(x_205, 1, x_34); +lean_ctor_set(x_205, 0, x_33); +lean_ctor_set_uint8(x_205, sizeof(void*)*4, x_266); +lean_ctor_set(x_204, 0, x_265); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_266); +x_267 = 0; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set(x_1, 2, x_264); +lean_ctor_set(x_1, 1, x_263); +lean_ctor_set(x_1, 0, x_205); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_267); +return x_1; +} +else +{ +lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; uint8_t x_272; lean_object* x_273; uint8_t x_274; +x_268 = lean_ctor_get(x_205, 0); +x_269 = lean_ctor_get(x_205, 1); +x_270 = lean_ctor_get(x_205, 2); +x_271 = lean_ctor_get(x_205, 3); +lean_inc(x_271); +lean_inc(x_270); +lean_inc(x_269); +lean_inc(x_268); +lean_dec(x_205); +x_272 = 1; +x_273 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_273, 0, x_33); +lean_ctor_set(x_273, 1, x_34); +lean_ctor_set(x_273, 2, x_35); +lean_ctor_set(x_273, 3, x_268); +lean_ctor_set_uint8(x_273, sizeof(void*)*4, x_272); +lean_ctor_set(x_204, 0, x_271); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_272); +x_274 = 0; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set(x_1, 2, x_270); +lean_ctor_set(x_1, 1, x_269); +lean_ctor_set(x_1, 0, x_273); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_274); +return x_1; +} +} +else +{ +lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; uint8_t x_283; lean_object* x_284; lean_object* x_285; uint8_t x_286; +x_275 = lean_ctor_get(x_204, 1); +x_276 = lean_ctor_get(x_204, 2); +x_277 = lean_ctor_get(x_204, 3); +lean_inc(x_277); +lean_inc(x_276); +lean_inc(x_275); +lean_dec(x_204); +x_278 = lean_ctor_get(x_205, 0); +lean_inc(x_278); +x_279 = lean_ctor_get(x_205, 1); +lean_inc(x_279); +x_280 = lean_ctor_get(x_205, 2); +lean_inc(x_280); +x_281 = lean_ctor_get(x_205, 3); +lean_inc(x_281); +if (lean_is_exclusive(x_205)) { + lean_ctor_release(x_205, 0); + lean_ctor_release(x_205, 1); + lean_ctor_release(x_205, 2); + lean_ctor_release(x_205, 3); + x_282 = x_205; +} else { + lean_dec_ref(x_205); + x_282 = lean_box(0); +} +x_283 = 1; +if (lean_is_scalar(x_282)) { + x_284 = lean_alloc_ctor(1, 4, 1); +} else { + x_284 = x_282; +} +lean_ctor_set(x_284, 0, x_33); +lean_ctor_set(x_284, 1, x_34); +lean_ctor_set(x_284, 2, x_35); +lean_ctor_set(x_284, 3, x_278); +lean_ctor_set_uint8(x_284, sizeof(void*)*4, x_283); +x_285 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_285, 0, x_281); +lean_ctor_set(x_285, 1, x_275); +lean_ctor_set(x_285, 2, x_276); +lean_ctor_set(x_285, 3, x_277); +lean_ctor_set_uint8(x_285, sizeof(void*)*4, x_283); +x_286 = 0; +lean_ctor_set(x_1, 3, x_285); +lean_ctor_set(x_1, 2, x_280); +lean_ctor_set(x_1, 1, x_279); +lean_ctor_set(x_1, 0, x_284); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_286); +return x_1; +} +} +else +{ +lean_object* x_287; +x_287 = lean_ctor_get(x_204, 3); +lean_inc(x_287); +if (lean_obj_tag(x_287) == 0) +{ +uint8_t x_288; +x_288 = !lean_is_exclusive(x_204); +if (x_288 == 0) +{ +lean_object* x_289; lean_object* x_290; uint8_t x_291; uint8_t x_292; +x_289 = lean_ctor_get(x_204, 3); +lean_dec(x_289); +x_290 = lean_ctor_get(x_204, 0); +lean_dec(x_290); +x_291 = 0; +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_291); +x_292 = 1; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_292); +return x_1; +} +else +{ +lean_object* x_293; lean_object* x_294; uint8_t x_295; lean_object* x_296; uint8_t x_297; +x_293 = lean_ctor_get(x_204, 1); +x_294 = lean_ctor_get(x_204, 2); +lean_inc(x_294); +lean_inc(x_293); +lean_dec(x_204); +x_295 = 0; +x_296 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_296, 0, x_205); +lean_ctor_set(x_296, 1, x_293); +lean_ctor_set(x_296, 2, x_294); +lean_ctor_set(x_296, 3, x_287); +lean_ctor_set_uint8(x_296, sizeof(void*)*4, x_295); +x_297 = 1; +lean_ctor_set(x_1, 3, x_296); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_297); +return x_1; +} +} +else +{ +uint8_t x_298; +x_298 = lean_ctor_get_uint8(x_287, sizeof(void*)*4); +if (x_298 == 0) +{ +uint8_t x_299; +lean_free_object(x_1); +x_299 = !lean_is_exclusive(x_204); +if (x_299 == 0) +{ +lean_object* x_300; lean_object* x_301; uint8_t x_302; +x_300 = lean_ctor_get(x_204, 3); +lean_dec(x_300); +x_301 = lean_ctor_get(x_204, 0); +lean_dec(x_301); +x_302 = !lean_is_exclusive(x_287); +if (x_302 == 0) +{ +lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; uint8_t x_307; uint8_t x_308; +x_303 = lean_ctor_get(x_287, 0); +x_304 = lean_ctor_get(x_287, 1); +x_305 = lean_ctor_get(x_287, 2); +x_306 = lean_ctor_get(x_287, 3); +x_307 = 1; +lean_inc(x_205); +lean_ctor_set(x_287, 3, x_205); +lean_ctor_set(x_287, 2, x_35); +lean_ctor_set(x_287, 1, x_34); +lean_ctor_set(x_287, 0, x_33); +x_308 = !lean_is_exclusive(x_205); +if (x_308 == 0) +{ +lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; uint8_t x_313; +x_309 = lean_ctor_get(x_205, 3); +lean_dec(x_309); +x_310 = lean_ctor_get(x_205, 2); +lean_dec(x_310); +x_311 = lean_ctor_get(x_205, 1); +lean_dec(x_311); +x_312 = lean_ctor_get(x_205, 0); +lean_dec(x_312); +lean_ctor_set_uint8(x_287, sizeof(void*)*4, x_307); +lean_ctor_set(x_205, 3, x_306); +lean_ctor_set(x_205, 2, x_305); +lean_ctor_set(x_205, 1, x_304); +lean_ctor_set(x_205, 0, x_303); +lean_ctor_set_uint8(x_205, sizeof(void*)*4, x_307); +x_313 = 0; +lean_ctor_set(x_204, 3, x_205); +lean_ctor_set(x_204, 0, x_287); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_313); +return x_204; +} +else +{ +lean_object* x_314; uint8_t x_315; +lean_dec(x_205); +lean_ctor_set_uint8(x_287, sizeof(void*)*4, x_307); +x_314 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_314, 0, x_303); +lean_ctor_set(x_314, 1, x_304); +lean_ctor_set(x_314, 2, x_305); +lean_ctor_set(x_314, 3, x_306); +lean_ctor_set_uint8(x_314, sizeof(void*)*4, x_307); +x_315 = 0; +lean_ctor_set(x_204, 3, x_314); +lean_ctor_set(x_204, 0, x_287); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_315); +return x_204; +} +} +else +{ +lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; uint8_t x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; uint8_t x_324; +x_316 = lean_ctor_get(x_287, 0); +x_317 = lean_ctor_get(x_287, 1); +x_318 = lean_ctor_get(x_287, 2); +x_319 = lean_ctor_get(x_287, 3); +lean_inc(x_319); +lean_inc(x_318); +lean_inc(x_317); +lean_inc(x_316); +lean_dec(x_287); +x_320 = 1; +lean_inc(x_205); +x_321 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_321, 0, x_33); +lean_ctor_set(x_321, 1, x_34); +lean_ctor_set(x_321, 2, x_35); +lean_ctor_set(x_321, 3, x_205); +if (lean_is_exclusive(x_205)) { + lean_ctor_release(x_205, 0); + lean_ctor_release(x_205, 1); + lean_ctor_release(x_205, 2); + lean_ctor_release(x_205, 3); + x_322 = x_205; +} else { + lean_dec_ref(x_205); + x_322 = lean_box(0); +} +lean_ctor_set_uint8(x_321, sizeof(void*)*4, x_320); +if (lean_is_scalar(x_322)) { + x_323 = lean_alloc_ctor(1, 4, 1); +} else { + x_323 = x_322; +} +lean_ctor_set(x_323, 0, x_316); +lean_ctor_set(x_323, 1, x_317); +lean_ctor_set(x_323, 2, x_318); +lean_ctor_set(x_323, 3, x_319); +lean_ctor_set_uint8(x_323, sizeof(void*)*4, x_320); +x_324 = 0; +lean_ctor_set(x_204, 3, x_323); +lean_ctor_set(x_204, 0, x_321); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_324); +return x_204; +} +} +else +{ +lean_object* x_325; lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; uint8_t x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; uint8_t x_336; lean_object* x_337; +x_325 = lean_ctor_get(x_204, 1); +x_326 = lean_ctor_get(x_204, 2); +lean_inc(x_326); +lean_inc(x_325); +lean_dec(x_204); +x_327 = lean_ctor_get(x_287, 0); +lean_inc(x_327); +x_328 = lean_ctor_get(x_287, 1); +lean_inc(x_328); +x_329 = lean_ctor_get(x_287, 2); +lean_inc(x_329); +x_330 = lean_ctor_get(x_287, 3); +lean_inc(x_330); +if (lean_is_exclusive(x_287)) { + lean_ctor_release(x_287, 0); + lean_ctor_release(x_287, 1); + lean_ctor_release(x_287, 2); + lean_ctor_release(x_287, 3); + x_331 = x_287; +} else { + lean_dec_ref(x_287); + x_331 = lean_box(0); +} +x_332 = 1; +lean_inc(x_205); +if (lean_is_scalar(x_331)) { + x_333 = lean_alloc_ctor(1, 4, 1); +} else { + x_333 = x_331; +} +lean_ctor_set(x_333, 0, x_33); +lean_ctor_set(x_333, 1, x_34); +lean_ctor_set(x_333, 2, x_35); +lean_ctor_set(x_333, 3, x_205); +if (lean_is_exclusive(x_205)) { + lean_ctor_release(x_205, 0); + lean_ctor_release(x_205, 1); + lean_ctor_release(x_205, 2); + lean_ctor_release(x_205, 3); + x_334 = x_205; +} else { + lean_dec_ref(x_205); + x_334 = lean_box(0); +} +lean_ctor_set_uint8(x_333, sizeof(void*)*4, x_332); +if (lean_is_scalar(x_334)) { + x_335 = lean_alloc_ctor(1, 4, 1); +} else { + x_335 = x_334; +} +lean_ctor_set(x_335, 0, x_327); +lean_ctor_set(x_335, 1, x_328); +lean_ctor_set(x_335, 2, x_329); +lean_ctor_set(x_335, 3, x_330); +lean_ctor_set_uint8(x_335, sizeof(void*)*4, x_332); +x_336 = 0; +x_337 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_337, 0, x_333); +lean_ctor_set(x_337, 1, x_325); +lean_ctor_set(x_337, 2, x_326); +lean_ctor_set(x_337, 3, x_335); +lean_ctor_set_uint8(x_337, sizeof(void*)*4, x_336); +return x_337; +} +} +else +{ +uint8_t x_338; +x_338 = !lean_is_exclusive(x_204); +if (x_338 == 0) +{ +lean_object* x_339; lean_object* x_340; uint8_t x_341; +x_339 = lean_ctor_get(x_204, 3); +lean_dec(x_339); +x_340 = lean_ctor_get(x_204, 0); +lean_dec(x_340); +x_341 = !lean_is_exclusive(x_205); +if (x_341 == 0) +{ +uint8_t x_342; uint8_t x_343; +lean_ctor_set_uint8(x_205, sizeof(void*)*4, x_298); +x_342 = 0; +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_342); +x_343 = 1; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_343); +return x_1; +} +else +{ +lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; uint8_t x_349; uint8_t x_350; +x_344 = lean_ctor_get(x_205, 0); +x_345 = lean_ctor_get(x_205, 1); +x_346 = lean_ctor_get(x_205, 2); +x_347 = lean_ctor_get(x_205, 3); +lean_inc(x_347); +lean_inc(x_346); +lean_inc(x_345); +lean_inc(x_344); +lean_dec(x_205); +x_348 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_348, 0, x_344); +lean_ctor_set(x_348, 1, x_345); +lean_ctor_set(x_348, 2, x_346); +lean_ctor_set(x_348, 3, x_347); +lean_ctor_set_uint8(x_348, sizeof(void*)*4, x_298); +x_349 = 0; +lean_ctor_set(x_204, 0, x_348); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_349); +x_350 = 1; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_350); +return x_1; +} +} +else +{ +lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; uint8_t x_359; lean_object* x_360; uint8_t x_361; +x_351 = lean_ctor_get(x_204, 1); +x_352 = lean_ctor_get(x_204, 2); +lean_inc(x_352); +lean_inc(x_351); +lean_dec(x_204); +x_353 = lean_ctor_get(x_205, 0); +lean_inc(x_353); +x_354 = lean_ctor_get(x_205, 1); +lean_inc(x_354); +x_355 = lean_ctor_get(x_205, 2); +lean_inc(x_355); +x_356 = lean_ctor_get(x_205, 3); +lean_inc(x_356); +if (lean_is_exclusive(x_205)) { + lean_ctor_release(x_205, 0); + lean_ctor_release(x_205, 1); + lean_ctor_release(x_205, 2); + lean_ctor_release(x_205, 3); + x_357 = x_205; +} else { + lean_dec_ref(x_205); + x_357 = lean_box(0); +} +if (lean_is_scalar(x_357)) { + x_358 = lean_alloc_ctor(1, 4, 1); +} else { + x_358 = x_357; +} +lean_ctor_set(x_358, 0, x_353); +lean_ctor_set(x_358, 1, x_354); +lean_ctor_set(x_358, 2, x_355); +lean_ctor_set(x_358, 3, x_356); +lean_ctor_set_uint8(x_358, sizeof(void*)*4, x_298); +x_359 = 0; +x_360 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_360, 0, x_358); +lean_ctor_set(x_360, 1, x_351); +lean_ctor_set(x_360, 2, x_352); +lean_ctor_set(x_360, 3, x_287); +lean_ctor_set_uint8(x_360, sizeof(void*)*4, x_359); +x_361 = 1; +lean_ctor_set(x_1, 3, x_360); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_361); +return x_1; +} +} +} +} +} +} +} +} +} +else +{ +lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; uint8_t x_366; +x_362 = lean_ctor_get(x_1, 0); +x_363 = lean_ctor_get(x_1, 1); +x_364 = lean_ctor_get(x_1, 2); +x_365 = lean_ctor_get(x_1, 3); +lean_inc(x_365); +lean_inc(x_364); +lean_inc(x_363); +lean_inc(x_362); +lean_dec(x_1); +x_366 = l_Lean_Name_quickCmp(x_2, x_363); +switch (x_366) { +case 0: +{ +uint8_t x_367; +x_367 = l_Std_RBNode_isRed___rarg(x_362); +if (x_367 == 0) +{ +lean_object* x_368; uint8_t x_369; lean_object* x_370; +x_368 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_362, x_2, x_3); +x_369 = 1; +x_370 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_370, 0, x_368); +lean_ctor_set(x_370, 1, x_363); +lean_ctor_set(x_370, 2, x_364); +lean_ctor_set(x_370, 3, x_365); +lean_ctor_set_uint8(x_370, sizeof(void*)*4, x_369); +return x_370; +} +else +{ +lean_object* x_371; lean_object* x_372; +x_371 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_362, x_2, x_3); +x_372 = lean_ctor_get(x_371, 0); +lean_inc(x_372); +if (lean_obj_tag(x_372) == 0) +{ +lean_object* x_373; +x_373 = lean_ctor_get(x_371, 3); +lean_inc(x_373); +if (lean_obj_tag(x_373) == 0) +{ +lean_object* x_374; lean_object* x_375; lean_object* x_376; uint8_t x_377; lean_object* x_378; uint8_t x_379; lean_object* x_380; +x_374 = lean_ctor_get(x_371, 1); +lean_inc(x_374); +x_375 = lean_ctor_get(x_371, 2); +lean_inc(x_375); +if (lean_is_exclusive(x_371)) { + lean_ctor_release(x_371, 0); + lean_ctor_release(x_371, 1); + lean_ctor_release(x_371, 2); + lean_ctor_release(x_371, 3); + x_376 = x_371; +} else { + lean_dec_ref(x_371); + x_376 = lean_box(0); +} +x_377 = 0; +if (lean_is_scalar(x_376)) { + x_378 = lean_alloc_ctor(1, 4, 1); +} else { + x_378 = x_376; +} +lean_ctor_set(x_378, 0, x_373); +lean_ctor_set(x_378, 1, x_374); +lean_ctor_set(x_378, 2, x_375); +lean_ctor_set(x_378, 3, x_373); +lean_ctor_set_uint8(x_378, sizeof(void*)*4, x_377); +x_379 = 1; +x_380 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_380, 0, x_378); +lean_ctor_set(x_380, 1, x_363); +lean_ctor_set(x_380, 2, x_364); +lean_ctor_set(x_380, 3, x_365); +lean_ctor_set_uint8(x_380, sizeof(void*)*4, x_379); +return x_380; +} +else +{ +uint8_t x_381; +x_381 = lean_ctor_get_uint8(x_373, sizeof(void*)*4); +if (x_381 == 0) +{ +lean_object* x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; uint8_t x_390; lean_object* x_391; lean_object* x_392; uint8_t x_393; lean_object* x_394; +x_382 = lean_ctor_get(x_371, 1); +lean_inc(x_382); +x_383 = lean_ctor_get(x_371, 2); +lean_inc(x_383); +if (lean_is_exclusive(x_371)) { + lean_ctor_release(x_371, 0); + lean_ctor_release(x_371, 1); + lean_ctor_release(x_371, 2); + lean_ctor_release(x_371, 3); + x_384 = x_371; +} else { + lean_dec_ref(x_371); + x_384 = lean_box(0); +} +x_385 = lean_ctor_get(x_373, 0); +lean_inc(x_385); +x_386 = lean_ctor_get(x_373, 1); +lean_inc(x_386); +x_387 = lean_ctor_get(x_373, 2); +lean_inc(x_387); +x_388 = lean_ctor_get(x_373, 3); +lean_inc(x_388); +if (lean_is_exclusive(x_373)) { + lean_ctor_release(x_373, 0); + lean_ctor_release(x_373, 1); + lean_ctor_release(x_373, 2); + lean_ctor_release(x_373, 3); + x_389 = x_373; +} else { + lean_dec_ref(x_373); + x_389 = lean_box(0); +} +x_390 = 1; +if (lean_is_scalar(x_389)) { + x_391 = lean_alloc_ctor(1, 4, 1); +} else { + x_391 = x_389; +} +lean_ctor_set(x_391, 0, x_372); +lean_ctor_set(x_391, 1, x_382); +lean_ctor_set(x_391, 2, x_383); +lean_ctor_set(x_391, 3, x_385); +lean_ctor_set_uint8(x_391, sizeof(void*)*4, x_390); +if (lean_is_scalar(x_384)) { + x_392 = lean_alloc_ctor(1, 4, 1); +} else { + x_392 = x_384; +} +lean_ctor_set(x_392, 0, x_388); +lean_ctor_set(x_392, 1, x_363); +lean_ctor_set(x_392, 2, x_364); +lean_ctor_set(x_392, 3, x_365); +lean_ctor_set_uint8(x_392, sizeof(void*)*4, x_390); +x_393 = 0; +x_394 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_394, 0, x_391); +lean_ctor_set(x_394, 1, x_386); +lean_ctor_set(x_394, 2, x_387); +lean_ctor_set(x_394, 3, x_392); +lean_ctor_set_uint8(x_394, sizeof(void*)*4, x_393); +return x_394; +} +else +{ +lean_object* x_395; lean_object* x_396; lean_object* x_397; uint8_t x_398; lean_object* x_399; uint8_t x_400; lean_object* x_401; +x_395 = lean_ctor_get(x_371, 1); +lean_inc(x_395); +x_396 = lean_ctor_get(x_371, 2); +lean_inc(x_396); +if (lean_is_exclusive(x_371)) { + lean_ctor_release(x_371, 0); + lean_ctor_release(x_371, 1); + lean_ctor_release(x_371, 2); + lean_ctor_release(x_371, 3); + x_397 = x_371; +} else { + lean_dec_ref(x_371); + x_397 = lean_box(0); +} +x_398 = 0; +if (lean_is_scalar(x_397)) { + x_399 = lean_alloc_ctor(1, 4, 1); +} else { + x_399 = x_397; +} +lean_ctor_set(x_399, 0, x_372); +lean_ctor_set(x_399, 1, x_395); +lean_ctor_set(x_399, 2, x_396); +lean_ctor_set(x_399, 3, x_373); +lean_ctor_set_uint8(x_399, sizeof(void*)*4, x_398); +x_400 = 1; +x_401 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_401, 0, x_399); +lean_ctor_set(x_401, 1, x_363); +lean_ctor_set(x_401, 2, x_364); +lean_ctor_set(x_401, 3, x_365); +lean_ctor_set_uint8(x_401, sizeof(void*)*4, x_400); +return x_401; +} +} +} +else +{ +uint8_t x_402; +x_402 = lean_ctor_get_uint8(x_372, sizeof(void*)*4); +if (x_402 == 0) +{ +lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; uint8_t x_412; lean_object* x_413; lean_object* x_414; uint8_t x_415; lean_object* x_416; +x_403 = lean_ctor_get(x_371, 1); +lean_inc(x_403); +x_404 = lean_ctor_get(x_371, 2); +lean_inc(x_404); +x_405 = lean_ctor_get(x_371, 3); +lean_inc(x_405); +if (lean_is_exclusive(x_371)) { + lean_ctor_release(x_371, 0); + lean_ctor_release(x_371, 1); + lean_ctor_release(x_371, 2); + lean_ctor_release(x_371, 3); + x_406 = x_371; +} else { + lean_dec_ref(x_371); + x_406 = lean_box(0); +} +x_407 = lean_ctor_get(x_372, 0); +lean_inc(x_407); +x_408 = lean_ctor_get(x_372, 1); +lean_inc(x_408); +x_409 = lean_ctor_get(x_372, 2); +lean_inc(x_409); +x_410 = lean_ctor_get(x_372, 3); +lean_inc(x_410); +if (lean_is_exclusive(x_372)) { + lean_ctor_release(x_372, 0); + lean_ctor_release(x_372, 1); + lean_ctor_release(x_372, 2); + lean_ctor_release(x_372, 3); + x_411 = x_372; +} else { + lean_dec_ref(x_372); + x_411 = lean_box(0); +} +x_412 = 1; +if (lean_is_scalar(x_411)) { + x_413 = lean_alloc_ctor(1, 4, 1); +} else { + x_413 = x_411; +} +lean_ctor_set(x_413, 0, x_407); +lean_ctor_set(x_413, 1, x_408); +lean_ctor_set(x_413, 2, x_409); +lean_ctor_set(x_413, 3, x_410); +lean_ctor_set_uint8(x_413, sizeof(void*)*4, x_412); +if (lean_is_scalar(x_406)) { + x_414 = lean_alloc_ctor(1, 4, 1); +} else { + x_414 = x_406; +} +lean_ctor_set(x_414, 0, x_405); +lean_ctor_set(x_414, 1, x_363); +lean_ctor_set(x_414, 2, x_364); +lean_ctor_set(x_414, 3, x_365); +lean_ctor_set_uint8(x_414, sizeof(void*)*4, x_412); +x_415 = 0; +x_416 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_416, 0, x_413); +lean_ctor_set(x_416, 1, x_403); +lean_ctor_set(x_416, 2, x_404); +lean_ctor_set(x_416, 3, x_414); +lean_ctor_set_uint8(x_416, sizeof(void*)*4, x_415); +return x_416; +} +else +{ +lean_object* x_417; +x_417 = lean_ctor_get(x_371, 3); +lean_inc(x_417); +if (lean_obj_tag(x_417) == 0) +{ +lean_object* x_418; lean_object* x_419; lean_object* x_420; uint8_t x_421; lean_object* x_422; uint8_t x_423; lean_object* x_424; +x_418 = lean_ctor_get(x_371, 1); +lean_inc(x_418); +x_419 = lean_ctor_get(x_371, 2); +lean_inc(x_419); +if (lean_is_exclusive(x_371)) { + lean_ctor_release(x_371, 0); + lean_ctor_release(x_371, 1); + lean_ctor_release(x_371, 2); + lean_ctor_release(x_371, 3); + x_420 = x_371; +} else { + lean_dec_ref(x_371); + x_420 = lean_box(0); +} +x_421 = 0; +if (lean_is_scalar(x_420)) { + x_422 = lean_alloc_ctor(1, 4, 1); +} else { + x_422 = x_420; +} +lean_ctor_set(x_422, 0, x_372); +lean_ctor_set(x_422, 1, x_418); +lean_ctor_set(x_422, 2, x_419); +lean_ctor_set(x_422, 3, x_417); +lean_ctor_set_uint8(x_422, sizeof(void*)*4, x_421); +x_423 = 1; +x_424 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_424, 0, x_422); +lean_ctor_set(x_424, 1, x_363); +lean_ctor_set(x_424, 2, x_364); +lean_ctor_set(x_424, 3, x_365); +lean_ctor_set_uint8(x_424, sizeof(void*)*4, x_423); +return x_424; +} +else +{ +uint8_t x_425; +x_425 = lean_ctor_get_uint8(x_417, sizeof(void*)*4); +if (x_425 == 0) +{ +lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; uint8_t x_434; lean_object* x_435; lean_object* x_436; lean_object* x_437; uint8_t x_438; lean_object* x_439; +x_426 = lean_ctor_get(x_371, 1); +lean_inc(x_426); +x_427 = lean_ctor_get(x_371, 2); +lean_inc(x_427); +if (lean_is_exclusive(x_371)) { + lean_ctor_release(x_371, 0); + lean_ctor_release(x_371, 1); + lean_ctor_release(x_371, 2); + lean_ctor_release(x_371, 3); + x_428 = x_371; +} else { + lean_dec_ref(x_371); + x_428 = lean_box(0); +} +x_429 = lean_ctor_get(x_417, 0); +lean_inc(x_429); +x_430 = lean_ctor_get(x_417, 1); +lean_inc(x_430); +x_431 = lean_ctor_get(x_417, 2); +lean_inc(x_431); +x_432 = lean_ctor_get(x_417, 3); +lean_inc(x_432); +if (lean_is_exclusive(x_417)) { + lean_ctor_release(x_417, 0); + lean_ctor_release(x_417, 1); + lean_ctor_release(x_417, 2); + lean_ctor_release(x_417, 3); + x_433 = x_417; +} else { + lean_dec_ref(x_417); + x_433 = lean_box(0); +} +x_434 = 1; +lean_inc(x_372); +if (lean_is_scalar(x_433)) { + x_435 = lean_alloc_ctor(1, 4, 1); +} else { + x_435 = x_433; +} +lean_ctor_set(x_435, 0, x_372); +lean_ctor_set(x_435, 1, x_426); +lean_ctor_set(x_435, 2, x_427); +lean_ctor_set(x_435, 3, x_429); +if (lean_is_exclusive(x_372)) { + lean_ctor_release(x_372, 0); + lean_ctor_release(x_372, 1); + lean_ctor_release(x_372, 2); + lean_ctor_release(x_372, 3); + x_436 = x_372; +} else { + lean_dec_ref(x_372); + x_436 = lean_box(0); +} +lean_ctor_set_uint8(x_435, sizeof(void*)*4, x_434); +if (lean_is_scalar(x_436)) { + x_437 = lean_alloc_ctor(1, 4, 1); +} else { + x_437 = x_436; +} +lean_ctor_set(x_437, 0, x_432); +lean_ctor_set(x_437, 1, x_363); +lean_ctor_set(x_437, 2, x_364); +lean_ctor_set(x_437, 3, x_365); +lean_ctor_set_uint8(x_437, sizeof(void*)*4, x_434); +x_438 = 0; +if (lean_is_scalar(x_428)) { + x_439 = lean_alloc_ctor(1, 4, 1); +} else { + x_439 = x_428; +} +lean_ctor_set(x_439, 0, x_435); +lean_ctor_set(x_439, 1, x_430); +lean_ctor_set(x_439, 2, x_431); +lean_ctor_set(x_439, 3, x_437); +lean_ctor_set_uint8(x_439, sizeof(void*)*4, x_438); +return x_439; +} +else +{ +lean_object* x_440; lean_object* x_441; lean_object* x_442; lean_object* x_443; lean_object* x_444; lean_object* x_445; lean_object* x_446; lean_object* x_447; lean_object* x_448; uint8_t x_449; lean_object* x_450; uint8_t x_451; lean_object* x_452; +x_440 = lean_ctor_get(x_371, 1); +lean_inc(x_440); +x_441 = lean_ctor_get(x_371, 2); +lean_inc(x_441); +if (lean_is_exclusive(x_371)) { + lean_ctor_release(x_371, 0); + lean_ctor_release(x_371, 1); + lean_ctor_release(x_371, 2); + lean_ctor_release(x_371, 3); + x_442 = x_371; +} else { + lean_dec_ref(x_371); + x_442 = lean_box(0); +} +x_443 = lean_ctor_get(x_372, 0); +lean_inc(x_443); +x_444 = lean_ctor_get(x_372, 1); +lean_inc(x_444); +x_445 = lean_ctor_get(x_372, 2); +lean_inc(x_445); +x_446 = lean_ctor_get(x_372, 3); +lean_inc(x_446); +if (lean_is_exclusive(x_372)) { + lean_ctor_release(x_372, 0); + lean_ctor_release(x_372, 1); + lean_ctor_release(x_372, 2); + lean_ctor_release(x_372, 3); + x_447 = x_372; +} else { + lean_dec_ref(x_372); + x_447 = lean_box(0); +} +if (lean_is_scalar(x_447)) { + x_448 = lean_alloc_ctor(1, 4, 1); +} else { + x_448 = x_447; +} +lean_ctor_set(x_448, 0, x_443); +lean_ctor_set(x_448, 1, x_444); +lean_ctor_set(x_448, 2, x_445); +lean_ctor_set(x_448, 3, x_446); +lean_ctor_set_uint8(x_448, sizeof(void*)*4, x_425); +x_449 = 0; +if (lean_is_scalar(x_442)) { + x_450 = lean_alloc_ctor(1, 4, 1); +} else { + x_450 = x_442; +} +lean_ctor_set(x_450, 0, x_448); +lean_ctor_set(x_450, 1, x_440); +lean_ctor_set(x_450, 2, x_441); +lean_ctor_set(x_450, 3, x_417); +lean_ctor_set_uint8(x_450, sizeof(void*)*4, x_449); +x_451 = 1; +x_452 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_452, 0, x_450); +lean_ctor_set(x_452, 1, x_363); +lean_ctor_set(x_452, 2, x_364); +lean_ctor_set(x_452, 3, x_365); +lean_ctor_set_uint8(x_452, sizeof(void*)*4, x_451); +return x_452; +} +} +} +} +} +} +case 1: +{ +uint8_t x_453; lean_object* x_454; +lean_dec(x_364); +lean_dec(x_363); +x_453 = 1; +x_454 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_454, 0, x_362); +lean_ctor_set(x_454, 1, x_2); +lean_ctor_set(x_454, 2, x_3); +lean_ctor_set(x_454, 3, x_365); +lean_ctor_set_uint8(x_454, sizeof(void*)*4, x_453); +return x_454; +} +default: +{ +uint8_t x_455; +x_455 = l_Std_RBNode_isRed___rarg(x_365); +if (x_455 == 0) +{ +lean_object* x_456; uint8_t x_457; lean_object* x_458; +x_456 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_365, x_2, x_3); +x_457 = 1; +x_458 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_458, 0, x_362); +lean_ctor_set(x_458, 1, x_363); +lean_ctor_set(x_458, 2, x_364); +lean_ctor_set(x_458, 3, x_456); +lean_ctor_set_uint8(x_458, sizeof(void*)*4, x_457); +return x_458; +} +else +{ +lean_object* x_459; lean_object* x_460; +x_459 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_365, x_2, x_3); +x_460 = lean_ctor_get(x_459, 0); +lean_inc(x_460); +if (lean_obj_tag(x_460) == 0) +{ +lean_object* x_461; +x_461 = lean_ctor_get(x_459, 3); +lean_inc(x_461); +if (lean_obj_tag(x_461) == 0) +{ +lean_object* x_462; lean_object* x_463; lean_object* x_464; uint8_t x_465; lean_object* x_466; uint8_t x_467; lean_object* x_468; +x_462 = lean_ctor_get(x_459, 1); +lean_inc(x_462); +x_463 = lean_ctor_get(x_459, 2); +lean_inc(x_463); +if (lean_is_exclusive(x_459)) { + lean_ctor_release(x_459, 0); + lean_ctor_release(x_459, 1); + lean_ctor_release(x_459, 2); + lean_ctor_release(x_459, 3); + x_464 = x_459; +} else { + lean_dec_ref(x_459); + x_464 = lean_box(0); +} +x_465 = 0; +if (lean_is_scalar(x_464)) { + x_466 = lean_alloc_ctor(1, 4, 1); +} else { + x_466 = x_464; +} +lean_ctor_set(x_466, 0, x_461); +lean_ctor_set(x_466, 1, x_462); +lean_ctor_set(x_466, 2, x_463); +lean_ctor_set(x_466, 3, x_461); +lean_ctor_set_uint8(x_466, sizeof(void*)*4, x_465); +x_467 = 1; +x_468 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_468, 0, x_362); +lean_ctor_set(x_468, 1, x_363); +lean_ctor_set(x_468, 2, x_364); +lean_ctor_set(x_468, 3, x_466); +lean_ctor_set_uint8(x_468, sizeof(void*)*4, x_467); +return x_468; +} +else +{ +uint8_t x_469; +x_469 = lean_ctor_get_uint8(x_461, sizeof(void*)*4); +if (x_469 == 0) +{ +lean_object* x_470; lean_object* x_471; lean_object* x_472; lean_object* x_473; lean_object* x_474; lean_object* x_475; lean_object* x_476; lean_object* x_477; uint8_t x_478; lean_object* x_479; lean_object* x_480; uint8_t x_481; lean_object* x_482; +x_470 = lean_ctor_get(x_459, 1); +lean_inc(x_470); +x_471 = lean_ctor_get(x_459, 2); +lean_inc(x_471); +if (lean_is_exclusive(x_459)) { + lean_ctor_release(x_459, 0); + lean_ctor_release(x_459, 1); + lean_ctor_release(x_459, 2); + lean_ctor_release(x_459, 3); + x_472 = x_459; +} else { + lean_dec_ref(x_459); + x_472 = lean_box(0); +} +x_473 = lean_ctor_get(x_461, 0); +lean_inc(x_473); +x_474 = lean_ctor_get(x_461, 1); +lean_inc(x_474); +x_475 = lean_ctor_get(x_461, 2); +lean_inc(x_475); +x_476 = lean_ctor_get(x_461, 3); +lean_inc(x_476); +if (lean_is_exclusive(x_461)) { + lean_ctor_release(x_461, 0); + lean_ctor_release(x_461, 1); + lean_ctor_release(x_461, 2); + lean_ctor_release(x_461, 3); + x_477 = x_461; +} else { + lean_dec_ref(x_461); + x_477 = lean_box(0); +} +x_478 = 1; +if (lean_is_scalar(x_477)) { + x_479 = lean_alloc_ctor(1, 4, 1); +} else { + x_479 = x_477; +} +lean_ctor_set(x_479, 0, x_362); +lean_ctor_set(x_479, 1, x_363); +lean_ctor_set(x_479, 2, x_364); +lean_ctor_set(x_479, 3, x_460); +lean_ctor_set_uint8(x_479, sizeof(void*)*4, x_478); +if (lean_is_scalar(x_472)) { + x_480 = lean_alloc_ctor(1, 4, 1); +} else { + x_480 = x_472; +} +lean_ctor_set(x_480, 0, x_473); +lean_ctor_set(x_480, 1, x_474); +lean_ctor_set(x_480, 2, x_475); +lean_ctor_set(x_480, 3, x_476); +lean_ctor_set_uint8(x_480, sizeof(void*)*4, x_478); +x_481 = 0; +x_482 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_482, 0, x_479); +lean_ctor_set(x_482, 1, x_470); +lean_ctor_set(x_482, 2, x_471); +lean_ctor_set(x_482, 3, x_480); +lean_ctor_set_uint8(x_482, sizeof(void*)*4, x_481); +return x_482; +} +else +{ +lean_object* x_483; lean_object* x_484; lean_object* x_485; uint8_t x_486; lean_object* x_487; uint8_t x_488; lean_object* x_489; +x_483 = lean_ctor_get(x_459, 1); +lean_inc(x_483); +x_484 = lean_ctor_get(x_459, 2); +lean_inc(x_484); +if (lean_is_exclusive(x_459)) { + lean_ctor_release(x_459, 0); + lean_ctor_release(x_459, 1); + lean_ctor_release(x_459, 2); + lean_ctor_release(x_459, 3); + x_485 = x_459; +} else { + lean_dec_ref(x_459); + x_485 = lean_box(0); +} +x_486 = 0; +if (lean_is_scalar(x_485)) { + x_487 = lean_alloc_ctor(1, 4, 1); +} else { + x_487 = x_485; +} +lean_ctor_set(x_487, 0, x_460); +lean_ctor_set(x_487, 1, x_483); +lean_ctor_set(x_487, 2, x_484); +lean_ctor_set(x_487, 3, x_461); +lean_ctor_set_uint8(x_487, sizeof(void*)*4, x_486); +x_488 = 1; +x_489 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_489, 0, x_362); +lean_ctor_set(x_489, 1, x_363); +lean_ctor_set(x_489, 2, x_364); +lean_ctor_set(x_489, 3, x_487); +lean_ctor_set_uint8(x_489, sizeof(void*)*4, x_488); +return x_489; +} +} +} +else +{ +uint8_t x_490; +x_490 = lean_ctor_get_uint8(x_460, sizeof(void*)*4); +if (x_490 == 0) +{ +lean_object* x_491; lean_object* x_492; lean_object* x_493; lean_object* x_494; lean_object* x_495; lean_object* x_496; lean_object* x_497; lean_object* x_498; lean_object* x_499; uint8_t x_500; lean_object* x_501; lean_object* x_502; uint8_t x_503; lean_object* x_504; +x_491 = lean_ctor_get(x_459, 1); +lean_inc(x_491); +x_492 = lean_ctor_get(x_459, 2); +lean_inc(x_492); +x_493 = lean_ctor_get(x_459, 3); +lean_inc(x_493); +if (lean_is_exclusive(x_459)) { + lean_ctor_release(x_459, 0); + lean_ctor_release(x_459, 1); + lean_ctor_release(x_459, 2); + lean_ctor_release(x_459, 3); + x_494 = x_459; +} else { + lean_dec_ref(x_459); + x_494 = lean_box(0); +} +x_495 = lean_ctor_get(x_460, 0); +lean_inc(x_495); +x_496 = lean_ctor_get(x_460, 1); +lean_inc(x_496); +x_497 = lean_ctor_get(x_460, 2); +lean_inc(x_497); +x_498 = lean_ctor_get(x_460, 3); +lean_inc(x_498); +if (lean_is_exclusive(x_460)) { + lean_ctor_release(x_460, 0); + lean_ctor_release(x_460, 1); + lean_ctor_release(x_460, 2); + lean_ctor_release(x_460, 3); + x_499 = x_460; +} else { + lean_dec_ref(x_460); + x_499 = lean_box(0); +} +x_500 = 1; +if (lean_is_scalar(x_499)) { + x_501 = lean_alloc_ctor(1, 4, 1); +} else { + x_501 = x_499; +} +lean_ctor_set(x_501, 0, x_362); +lean_ctor_set(x_501, 1, x_363); +lean_ctor_set(x_501, 2, x_364); +lean_ctor_set(x_501, 3, x_495); +lean_ctor_set_uint8(x_501, sizeof(void*)*4, x_500); +if (lean_is_scalar(x_494)) { + x_502 = lean_alloc_ctor(1, 4, 1); +} else { + x_502 = x_494; +} +lean_ctor_set(x_502, 0, x_498); +lean_ctor_set(x_502, 1, x_491); +lean_ctor_set(x_502, 2, x_492); +lean_ctor_set(x_502, 3, x_493); +lean_ctor_set_uint8(x_502, sizeof(void*)*4, x_500); +x_503 = 0; +x_504 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_504, 0, x_501); +lean_ctor_set(x_504, 1, x_496); +lean_ctor_set(x_504, 2, x_497); +lean_ctor_set(x_504, 3, x_502); +lean_ctor_set_uint8(x_504, sizeof(void*)*4, x_503); +return x_504; +} +else +{ +lean_object* x_505; +x_505 = lean_ctor_get(x_459, 3); +lean_inc(x_505); +if (lean_obj_tag(x_505) == 0) +{ +lean_object* x_506; lean_object* x_507; lean_object* x_508; uint8_t x_509; lean_object* x_510; uint8_t x_511; lean_object* x_512; +x_506 = lean_ctor_get(x_459, 1); +lean_inc(x_506); +x_507 = lean_ctor_get(x_459, 2); +lean_inc(x_507); +if (lean_is_exclusive(x_459)) { + lean_ctor_release(x_459, 0); + lean_ctor_release(x_459, 1); + lean_ctor_release(x_459, 2); + lean_ctor_release(x_459, 3); + x_508 = x_459; +} else { + lean_dec_ref(x_459); + x_508 = lean_box(0); +} +x_509 = 0; +if (lean_is_scalar(x_508)) { + x_510 = lean_alloc_ctor(1, 4, 1); +} else { + x_510 = x_508; +} +lean_ctor_set(x_510, 0, x_460); +lean_ctor_set(x_510, 1, x_506); +lean_ctor_set(x_510, 2, x_507); +lean_ctor_set(x_510, 3, x_505); +lean_ctor_set_uint8(x_510, sizeof(void*)*4, x_509); +x_511 = 1; +x_512 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_512, 0, x_362); +lean_ctor_set(x_512, 1, x_363); +lean_ctor_set(x_512, 2, x_364); +lean_ctor_set(x_512, 3, x_510); +lean_ctor_set_uint8(x_512, sizeof(void*)*4, x_511); +return x_512; +} +else +{ +uint8_t x_513; +x_513 = lean_ctor_get_uint8(x_505, sizeof(void*)*4); +if (x_513 == 0) +{ +lean_object* x_514; lean_object* x_515; lean_object* x_516; lean_object* x_517; lean_object* x_518; lean_object* x_519; lean_object* x_520; lean_object* x_521; uint8_t x_522; lean_object* x_523; lean_object* x_524; lean_object* x_525; uint8_t x_526; lean_object* x_527; +x_514 = lean_ctor_get(x_459, 1); +lean_inc(x_514); +x_515 = lean_ctor_get(x_459, 2); +lean_inc(x_515); +if (lean_is_exclusive(x_459)) { + lean_ctor_release(x_459, 0); + lean_ctor_release(x_459, 1); + lean_ctor_release(x_459, 2); + lean_ctor_release(x_459, 3); + x_516 = x_459; +} else { + lean_dec_ref(x_459); + x_516 = lean_box(0); +} +x_517 = lean_ctor_get(x_505, 0); +lean_inc(x_517); +x_518 = lean_ctor_get(x_505, 1); +lean_inc(x_518); +x_519 = lean_ctor_get(x_505, 2); +lean_inc(x_519); +x_520 = lean_ctor_get(x_505, 3); +lean_inc(x_520); +if (lean_is_exclusive(x_505)) { + lean_ctor_release(x_505, 0); + lean_ctor_release(x_505, 1); + lean_ctor_release(x_505, 2); + lean_ctor_release(x_505, 3); + x_521 = x_505; +} else { + lean_dec_ref(x_505); + x_521 = lean_box(0); +} +x_522 = 1; +lean_inc(x_460); +if (lean_is_scalar(x_521)) { + x_523 = lean_alloc_ctor(1, 4, 1); +} else { + x_523 = x_521; +} +lean_ctor_set(x_523, 0, x_362); +lean_ctor_set(x_523, 1, x_363); +lean_ctor_set(x_523, 2, x_364); +lean_ctor_set(x_523, 3, x_460); +if (lean_is_exclusive(x_460)) { + lean_ctor_release(x_460, 0); + lean_ctor_release(x_460, 1); + lean_ctor_release(x_460, 2); + lean_ctor_release(x_460, 3); + x_524 = x_460; +} else { + lean_dec_ref(x_460); + x_524 = lean_box(0); +} +lean_ctor_set_uint8(x_523, sizeof(void*)*4, x_522); +if (lean_is_scalar(x_524)) { + x_525 = lean_alloc_ctor(1, 4, 1); +} else { + x_525 = x_524; +} +lean_ctor_set(x_525, 0, x_517); +lean_ctor_set(x_525, 1, x_518); +lean_ctor_set(x_525, 2, x_519); +lean_ctor_set(x_525, 3, x_520); +lean_ctor_set_uint8(x_525, sizeof(void*)*4, x_522); +x_526 = 0; +if (lean_is_scalar(x_516)) { + x_527 = lean_alloc_ctor(1, 4, 1); +} else { + x_527 = x_516; +} +lean_ctor_set(x_527, 0, x_523); +lean_ctor_set(x_527, 1, x_514); +lean_ctor_set(x_527, 2, x_515); +lean_ctor_set(x_527, 3, x_525); +lean_ctor_set_uint8(x_527, sizeof(void*)*4, x_526); +return x_527; +} +else +{ +lean_object* x_528; lean_object* x_529; lean_object* x_530; lean_object* x_531; lean_object* x_532; lean_object* x_533; lean_object* x_534; lean_object* x_535; lean_object* x_536; uint8_t x_537; lean_object* x_538; uint8_t x_539; lean_object* x_540; +x_528 = lean_ctor_get(x_459, 1); +lean_inc(x_528); +x_529 = lean_ctor_get(x_459, 2); +lean_inc(x_529); +if (lean_is_exclusive(x_459)) { + lean_ctor_release(x_459, 0); + lean_ctor_release(x_459, 1); + lean_ctor_release(x_459, 2); + lean_ctor_release(x_459, 3); + x_530 = x_459; +} else { + lean_dec_ref(x_459); + x_530 = lean_box(0); +} +x_531 = lean_ctor_get(x_460, 0); +lean_inc(x_531); +x_532 = lean_ctor_get(x_460, 1); +lean_inc(x_532); +x_533 = lean_ctor_get(x_460, 2); +lean_inc(x_533); +x_534 = lean_ctor_get(x_460, 3); +lean_inc(x_534); +if (lean_is_exclusive(x_460)) { + lean_ctor_release(x_460, 0); + lean_ctor_release(x_460, 1); + lean_ctor_release(x_460, 2); + lean_ctor_release(x_460, 3); + x_535 = x_460; +} else { + lean_dec_ref(x_460); + x_535 = lean_box(0); +} +if (lean_is_scalar(x_535)) { + x_536 = lean_alloc_ctor(1, 4, 1); +} else { + x_536 = x_535; +} +lean_ctor_set(x_536, 0, x_531); +lean_ctor_set(x_536, 1, x_532); +lean_ctor_set(x_536, 2, x_533); +lean_ctor_set(x_536, 3, x_534); +lean_ctor_set_uint8(x_536, sizeof(void*)*4, x_513); +x_537 = 0; +if (lean_is_scalar(x_530)) { + x_538 = lean_alloc_ctor(1, 4, 1); +} else { + x_538 = x_530; +} +lean_ctor_set(x_538, 0, x_536); +lean_ctor_set(x_538, 1, x_528); +lean_ctor_set(x_538, 2, x_529); +lean_ctor_set(x_538, 3, x_505); +lean_ctor_set_uint8(x_538, sizeof(void*)*4, x_537); +x_539 = 1; +x_540 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_540, 0, x_362); +lean_ctor_set(x_540, 1, x_363); +lean_ctor_set(x_540, 2, x_364); +lean_ctor_set(x_540, 3, x_538); +lean_ctor_set_uint8(x_540, sizeof(void*)*4, x_539); +return x_540; +} +} +} +} +} +} +} +} +} +} +} +} +LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg), 3, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__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; uint8_t x_5; lean_object* x_6; +x_4 = lean_box(0); +x_5 = 0; +x_6 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_6, 0, x_4); +lean_ctor_set(x_6, 1, x_2); +lean_ctor_set(x_6, 2, x_3); +lean_ctor_set(x_6, 3, x_4); +lean_ctor_set_uint8(x_6, sizeof(void*)*4, x_5); +return x_6; +} +else +{ +uint8_t x_7; +x_7 = lean_ctor_get_uint8(x_1, sizeof(void*)*4); +if (x_7 == 0) +{ +uint8_t x_8; +x_8 = !lean_is_exclusive(x_1); +if (x_8 == 0) +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; +x_9 = lean_ctor_get(x_1, 0); +x_10 = lean_ctor_get(x_1, 1); +x_11 = lean_ctor_get(x_1, 2); +x_12 = lean_ctor_get(x_1, 3); +x_13 = l_Lean_Name_quickCmp(x_2, x_10); +switch (x_13) { +case 0: +{ +lean_object* x_14; uint8_t x_15; +x_14 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_9, x_2, x_3); +x_15 = 0; +lean_ctor_set(x_1, 0, x_14); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_15); +return x_1; +} +case 1: +{ +uint8_t x_16; +lean_dec(x_11); +lean_dec(x_10); +x_16 = 0; +lean_ctor_set(x_1, 2, x_3); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_16); +return x_1; +} +default: +{ +lean_object* x_17; uint8_t x_18; +x_17 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_12, x_2, x_3); +x_18 = 0; +lean_ctor_set(x_1, 3, x_17); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_18); +return x_1; +} +} +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; +x_19 = lean_ctor_get(x_1, 0); +x_20 = lean_ctor_get(x_1, 1); +x_21 = lean_ctor_get(x_1, 2); +x_22 = lean_ctor_get(x_1, 3); +lean_inc(x_22); +lean_inc(x_21); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_1); +x_23 = l_Lean_Name_quickCmp(x_2, x_20); +switch (x_23) { +case 0: +{ +lean_object* x_24; uint8_t x_25; lean_object* x_26; +x_24 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_19, x_2, x_3); +x_25 = 0; +x_26 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_26, 0, x_24); +lean_ctor_set(x_26, 1, x_20); +lean_ctor_set(x_26, 2, x_21); +lean_ctor_set(x_26, 3, x_22); +lean_ctor_set_uint8(x_26, sizeof(void*)*4, x_25); +return x_26; +} +case 1: +{ +uint8_t x_27; lean_object* x_28; +lean_dec(x_21); +lean_dec(x_20); +x_27 = 0; +x_28 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_28, 0, x_19); +lean_ctor_set(x_28, 1, x_2); +lean_ctor_set(x_28, 2, x_3); +lean_ctor_set(x_28, 3, x_22); +lean_ctor_set_uint8(x_28, sizeof(void*)*4, x_27); +return x_28; +} +default: +{ +lean_object* x_29; uint8_t x_30; lean_object* x_31; +x_29 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_22, x_2, x_3); +x_30 = 0; +x_31 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_31, 0, x_19); +lean_ctor_set(x_31, 1, x_20); +lean_ctor_set(x_31, 2, x_21); +lean_ctor_set(x_31, 3, x_29); +lean_ctor_set_uint8(x_31, sizeof(void*)*4, x_30); +return x_31; +} +} +} +} +else +{ +uint8_t x_32; +x_32 = !lean_is_exclusive(x_1); +if (x_32 == 0) +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; +x_33 = lean_ctor_get(x_1, 0); +x_34 = lean_ctor_get(x_1, 1); +x_35 = lean_ctor_get(x_1, 2); +x_36 = lean_ctor_get(x_1, 3); +x_37 = l_Lean_Name_quickCmp(x_2, x_34); +switch (x_37) { +case 0: +{ +uint8_t x_38; +x_38 = l_Std_RBNode_isRed___rarg(x_33); +if (x_38 == 0) +{ +lean_object* x_39; uint8_t x_40; +x_39 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_33, x_2, x_3); +x_40 = 1; +lean_ctor_set(x_1, 0, x_39); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_40); +return x_1; +} +else +{ +lean_object* x_41; lean_object* x_42; +x_41 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_33, x_2, x_3); +x_42 = lean_ctor_get(x_41, 0); +lean_inc(x_42); +if (lean_obj_tag(x_42) == 0) +{ +lean_object* x_43; +x_43 = lean_ctor_get(x_41, 3); +lean_inc(x_43); +if (lean_obj_tag(x_43) == 0) +{ +uint8_t x_44; +x_44 = !lean_is_exclusive(x_41); +if (x_44 == 0) +{ +lean_object* x_45; lean_object* x_46; uint8_t x_47; uint8_t x_48; +x_45 = lean_ctor_get(x_41, 3); +lean_dec(x_45); +x_46 = lean_ctor_get(x_41, 0); +lean_dec(x_46); +x_47 = 0; +lean_ctor_set(x_41, 0, x_43); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_47); +x_48 = 1; +lean_ctor_set(x_1, 0, x_41); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_48); +return x_1; +} +else +{ +lean_object* x_49; lean_object* x_50; uint8_t x_51; lean_object* x_52; uint8_t x_53; +x_49 = lean_ctor_get(x_41, 1); +x_50 = lean_ctor_get(x_41, 2); +lean_inc(x_50); +lean_inc(x_49); +lean_dec(x_41); +x_51 = 0; +x_52 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_52, 0, x_43); +lean_ctor_set(x_52, 1, x_49); +lean_ctor_set(x_52, 2, x_50); +lean_ctor_set(x_52, 3, x_43); +lean_ctor_set_uint8(x_52, sizeof(void*)*4, x_51); +x_53 = 1; +lean_ctor_set(x_1, 0, x_52); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_53); +return x_1; +} +} +else +{ +uint8_t x_54; +x_54 = lean_ctor_get_uint8(x_43, sizeof(void*)*4); +if (x_54 == 0) +{ +uint8_t x_55; +x_55 = !lean_is_exclusive(x_41); +if (x_55 == 0) +{ +lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60; +x_56 = lean_ctor_get(x_41, 1); +x_57 = lean_ctor_get(x_41, 2); +x_58 = lean_ctor_get(x_41, 3); +lean_dec(x_58); +x_59 = lean_ctor_get(x_41, 0); +lean_dec(x_59); +x_60 = !lean_is_exclusive(x_43); +if (x_60 == 0) +{ +lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; uint8_t x_65; uint8_t x_66; +x_61 = lean_ctor_get(x_43, 0); +x_62 = lean_ctor_get(x_43, 1); +x_63 = lean_ctor_get(x_43, 2); +x_64 = lean_ctor_get(x_43, 3); +x_65 = 1; +lean_ctor_set(x_43, 3, x_61); +lean_ctor_set(x_43, 2, x_57); +lean_ctor_set(x_43, 1, x_56); +lean_ctor_set(x_43, 0, x_42); +lean_ctor_set_uint8(x_43, sizeof(void*)*4, x_65); +lean_ctor_set(x_41, 3, x_36); +lean_ctor_set(x_41, 2, x_35); +lean_ctor_set(x_41, 1, x_34); +lean_ctor_set(x_41, 0, x_64); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_65); +x_66 = 0; +lean_ctor_set(x_1, 3, x_41); +lean_ctor_set(x_1, 2, x_63); +lean_ctor_set(x_1, 1, x_62); +lean_ctor_set(x_1, 0, x_43); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_66); +return x_1; +} +else +{ +lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71; lean_object* x_72; uint8_t x_73; +x_67 = lean_ctor_get(x_43, 0); +x_68 = lean_ctor_get(x_43, 1); +x_69 = lean_ctor_get(x_43, 2); +x_70 = lean_ctor_get(x_43, 3); +lean_inc(x_70); +lean_inc(x_69); +lean_inc(x_68); +lean_inc(x_67); +lean_dec(x_43); +x_71 = 1; +x_72 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_72, 0, x_42); +lean_ctor_set(x_72, 1, x_56); +lean_ctor_set(x_72, 2, x_57); +lean_ctor_set(x_72, 3, x_67); +lean_ctor_set_uint8(x_72, sizeof(void*)*4, x_71); +lean_ctor_set(x_41, 3, x_36); +lean_ctor_set(x_41, 2, x_35); +lean_ctor_set(x_41, 1, x_34); +lean_ctor_set(x_41, 0, x_70); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_71); +x_73 = 0; +lean_ctor_set(x_1, 3, x_41); +lean_ctor_set(x_1, 2, x_69); +lean_ctor_set(x_1, 1, x_68); +lean_ctor_set(x_1, 0, x_72); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_73); +return x_1; +} +} +else +{ +lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; uint8_t x_81; lean_object* x_82; lean_object* x_83; uint8_t x_84; +x_74 = lean_ctor_get(x_41, 1); +x_75 = lean_ctor_get(x_41, 2); +lean_inc(x_75); +lean_inc(x_74); +lean_dec(x_41); +x_76 = lean_ctor_get(x_43, 0); +lean_inc(x_76); +x_77 = lean_ctor_get(x_43, 1); +lean_inc(x_77); +x_78 = lean_ctor_get(x_43, 2); +lean_inc(x_78); +x_79 = lean_ctor_get(x_43, 3); +lean_inc(x_79); +if (lean_is_exclusive(x_43)) { + lean_ctor_release(x_43, 0); + lean_ctor_release(x_43, 1); + lean_ctor_release(x_43, 2); + lean_ctor_release(x_43, 3); + x_80 = x_43; +} else { + lean_dec_ref(x_43); + x_80 = lean_box(0); +} +x_81 = 1; +if (lean_is_scalar(x_80)) { + x_82 = lean_alloc_ctor(1, 4, 1); +} else { + x_82 = x_80; +} +lean_ctor_set(x_82, 0, x_42); +lean_ctor_set(x_82, 1, x_74); +lean_ctor_set(x_82, 2, x_75); +lean_ctor_set(x_82, 3, x_76); +lean_ctor_set_uint8(x_82, sizeof(void*)*4, x_81); +x_83 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_83, 0, x_79); +lean_ctor_set(x_83, 1, x_34); +lean_ctor_set(x_83, 2, x_35); +lean_ctor_set(x_83, 3, x_36); +lean_ctor_set_uint8(x_83, sizeof(void*)*4, x_81); +x_84 = 0; +lean_ctor_set(x_1, 3, x_83); +lean_ctor_set(x_1, 2, x_78); +lean_ctor_set(x_1, 1, x_77); +lean_ctor_set(x_1, 0, x_82); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_84); +return x_1; +} +} +else +{ +uint8_t x_85; +x_85 = !lean_is_exclusive(x_41); +if (x_85 == 0) +{ +lean_object* x_86; lean_object* x_87; uint8_t x_88; uint8_t x_89; +x_86 = lean_ctor_get(x_41, 3); +lean_dec(x_86); +x_87 = lean_ctor_get(x_41, 0); +lean_dec(x_87); +x_88 = 0; +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_88); +x_89 = 1; +lean_ctor_set(x_1, 0, x_41); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_89); +return x_1; +} +else +{ +lean_object* x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93; uint8_t x_94; +x_90 = lean_ctor_get(x_41, 1); +x_91 = lean_ctor_get(x_41, 2); +lean_inc(x_91); +lean_inc(x_90); +lean_dec(x_41); +x_92 = 0; +x_93 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_93, 0, x_42); +lean_ctor_set(x_93, 1, x_90); +lean_ctor_set(x_93, 2, x_91); +lean_ctor_set(x_93, 3, x_43); +lean_ctor_set_uint8(x_93, sizeof(void*)*4, x_92); +x_94 = 1; +lean_ctor_set(x_1, 0, x_93); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_94); +return x_1; +} +} +} +} +else +{ +uint8_t x_95; +x_95 = lean_ctor_get_uint8(x_42, sizeof(void*)*4); +if (x_95 == 0) +{ +uint8_t x_96; +x_96 = !lean_is_exclusive(x_41); +if (x_96 == 0) +{ +lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; uint8_t x_101; +x_97 = lean_ctor_get(x_41, 1); +x_98 = lean_ctor_get(x_41, 2); +x_99 = lean_ctor_get(x_41, 3); +x_100 = lean_ctor_get(x_41, 0); +lean_dec(x_100); +x_101 = !lean_is_exclusive(x_42); +if (x_101 == 0) +{ +uint8_t x_102; uint8_t x_103; +x_102 = 1; +lean_ctor_set_uint8(x_42, sizeof(void*)*4, x_102); +lean_ctor_set(x_41, 3, x_36); +lean_ctor_set(x_41, 2, x_35); +lean_ctor_set(x_41, 1, x_34); +lean_ctor_set(x_41, 0, x_99); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_102); +x_103 = 0; +lean_ctor_set(x_1, 3, x_41); +lean_ctor_set(x_1, 2, x_98); +lean_ctor_set(x_1, 1, x_97); +lean_ctor_set(x_1, 0, x_42); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_103); +return x_1; +} +else +{ +lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; uint8_t x_108; lean_object* x_109; uint8_t x_110; +x_104 = lean_ctor_get(x_42, 0); +x_105 = lean_ctor_get(x_42, 1); +x_106 = lean_ctor_get(x_42, 2); +x_107 = lean_ctor_get(x_42, 3); +lean_inc(x_107); +lean_inc(x_106); +lean_inc(x_105); +lean_inc(x_104); +lean_dec(x_42); +x_108 = 1; +x_109 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_109, 0, x_104); +lean_ctor_set(x_109, 1, x_105); +lean_ctor_set(x_109, 2, x_106); +lean_ctor_set(x_109, 3, x_107); +lean_ctor_set_uint8(x_109, sizeof(void*)*4, x_108); +lean_ctor_set(x_41, 3, x_36); +lean_ctor_set(x_41, 2, x_35); +lean_ctor_set(x_41, 1, x_34); +lean_ctor_set(x_41, 0, x_99); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_108); +x_110 = 0; +lean_ctor_set(x_1, 3, x_41); +lean_ctor_set(x_1, 2, x_98); +lean_ctor_set(x_1, 1, x_97); +lean_ctor_set(x_1, 0, x_109); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_110); +return x_1; +} +} +else +{ +lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; uint8_t x_119; lean_object* x_120; lean_object* x_121; uint8_t x_122; +x_111 = lean_ctor_get(x_41, 1); +x_112 = lean_ctor_get(x_41, 2); +x_113 = lean_ctor_get(x_41, 3); +lean_inc(x_113); +lean_inc(x_112); +lean_inc(x_111); +lean_dec(x_41); +x_114 = lean_ctor_get(x_42, 0); +lean_inc(x_114); +x_115 = lean_ctor_get(x_42, 1); +lean_inc(x_115); +x_116 = lean_ctor_get(x_42, 2); +lean_inc(x_116); +x_117 = lean_ctor_get(x_42, 3); +lean_inc(x_117); +if (lean_is_exclusive(x_42)) { + lean_ctor_release(x_42, 0); + lean_ctor_release(x_42, 1); + lean_ctor_release(x_42, 2); + lean_ctor_release(x_42, 3); + x_118 = x_42; +} else { + lean_dec_ref(x_42); + x_118 = lean_box(0); +} +x_119 = 1; +if (lean_is_scalar(x_118)) { + x_120 = lean_alloc_ctor(1, 4, 1); +} else { + x_120 = x_118; +} +lean_ctor_set(x_120, 0, x_114); +lean_ctor_set(x_120, 1, x_115); +lean_ctor_set(x_120, 2, x_116); +lean_ctor_set(x_120, 3, x_117); +lean_ctor_set_uint8(x_120, sizeof(void*)*4, x_119); +x_121 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_121, 0, x_113); +lean_ctor_set(x_121, 1, x_34); +lean_ctor_set(x_121, 2, x_35); +lean_ctor_set(x_121, 3, x_36); +lean_ctor_set_uint8(x_121, sizeof(void*)*4, x_119); +x_122 = 0; +lean_ctor_set(x_1, 3, x_121); +lean_ctor_set(x_1, 2, x_112); +lean_ctor_set(x_1, 1, x_111); +lean_ctor_set(x_1, 0, x_120); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_122); +return x_1; +} +} +else +{ +lean_object* x_123; +x_123 = lean_ctor_get(x_41, 3); +lean_inc(x_123); +if (lean_obj_tag(x_123) == 0) +{ +uint8_t x_124; +x_124 = !lean_is_exclusive(x_41); +if (x_124 == 0) +{ +lean_object* x_125; lean_object* x_126; uint8_t x_127; uint8_t x_128; +x_125 = lean_ctor_get(x_41, 3); +lean_dec(x_125); +x_126 = lean_ctor_get(x_41, 0); +lean_dec(x_126); +x_127 = 0; +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_127); +x_128 = 1; +lean_ctor_set(x_1, 0, x_41); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_128); +return x_1; +} +else +{ +lean_object* x_129; lean_object* x_130; uint8_t x_131; lean_object* x_132; uint8_t x_133; +x_129 = lean_ctor_get(x_41, 1); +x_130 = lean_ctor_get(x_41, 2); +lean_inc(x_130); +lean_inc(x_129); +lean_dec(x_41); +x_131 = 0; +x_132 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_132, 0, x_42); +lean_ctor_set(x_132, 1, x_129); +lean_ctor_set(x_132, 2, x_130); +lean_ctor_set(x_132, 3, x_123); +lean_ctor_set_uint8(x_132, sizeof(void*)*4, x_131); +x_133 = 1; +lean_ctor_set(x_1, 0, x_132); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_133); +return x_1; +} +} +else +{ +uint8_t x_134; +x_134 = lean_ctor_get_uint8(x_123, sizeof(void*)*4); +if (x_134 == 0) +{ +uint8_t x_135; +lean_free_object(x_1); +x_135 = !lean_is_exclusive(x_41); +if (x_135 == 0) +{ +lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; uint8_t x_140; +x_136 = lean_ctor_get(x_41, 1); +x_137 = lean_ctor_get(x_41, 2); +x_138 = lean_ctor_get(x_41, 3); +lean_dec(x_138); +x_139 = lean_ctor_get(x_41, 0); +lean_dec(x_139); +x_140 = !lean_is_exclusive(x_123); +if (x_140 == 0) +{ +lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; uint8_t x_145; uint8_t x_146; +x_141 = lean_ctor_get(x_123, 0); +x_142 = lean_ctor_get(x_123, 1); +x_143 = lean_ctor_get(x_123, 2); +x_144 = lean_ctor_get(x_123, 3); +x_145 = 1; +lean_inc(x_42); +lean_ctor_set(x_123, 3, x_141); +lean_ctor_set(x_123, 2, x_137); +lean_ctor_set(x_123, 1, x_136); +lean_ctor_set(x_123, 0, x_42); +x_146 = !lean_is_exclusive(x_42); +if (x_146 == 0) +{ +lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; uint8_t x_151; +x_147 = lean_ctor_get(x_42, 3); +lean_dec(x_147); +x_148 = lean_ctor_get(x_42, 2); +lean_dec(x_148); +x_149 = lean_ctor_get(x_42, 1); +lean_dec(x_149); +x_150 = lean_ctor_get(x_42, 0); +lean_dec(x_150); +lean_ctor_set_uint8(x_123, sizeof(void*)*4, x_145); +lean_ctor_set(x_42, 3, x_36); +lean_ctor_set(x_42, 2, x_35); +lean_ctor_set(x_42, 1, x_34); +lean_ctor_set(x_42, 0, x_144); +lean_ctor_set_uint8(x_42, sizeof(void*)*4, x_145); +x_151 = 0; +lean_ctor_set(x_41, 3, x_42); +lean_ctor_set(x_41, 2, x_143); +lean_ctor_set(x_41, 1, x_142); +lean_ctor_set(x_41, 0, x_123); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_151); +return x_41; +} +else +{ +lean_object* x_152; uint8_t x_153; +lean_dec(x_42); +lean_ctor_set_uint8(x_123, sizeof(void*)*4, x_145); +x_152 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_152, 0, x_144); +lean_ctor_set(x_152, 1, x_34); +lean_ctor_set(x_152, 2, x_35); +lean_ctor_set(x_152, 3, x_36); +lean_ctor_set_uint8(x_152, sizeof(void*)*4, x_145); +x_153 = 0; +lean_ctor_set(x_41, 3, x_152); +lean_ctor_set(x_41, 2, x_143); +lean_ctor_set(x_41, 1, x_142); +lean_ctor_set(x_41, 0, x_123); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_153); +return x_41; +} +} +else +{ +lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; uint8_t x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; uint8_t x_162; +x_154 = lean_ctor_get(x_123, 0); +x_155 = lean_ctor_get(x_123, 1); +x_156 = lean_ctor_get(x_123, 2); +x_157 = lean_ctor_get(x_123, 3); +lean_inc(x_157); +lean_inc(x_156); +lean_inc(x_155); +lean_inc(x_154); +lean_dec(x_123); +x_158 = 1; +lean_inc(x_42); +x_159 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_159, 0, x_42); +lean_ctor_set(x_159, 1, x_136); +lean_ctor_set(x_159, 2, x_137); +lean_ctor_set(x_159, 3, x_154); +if (lean_is_exclusive(x_42)) { + lean_ctor_release(x_42, 0); + lean_ctor_release(x_42, 1); + lean_ctor_release(x_42, 2); + lean_ctor_release(x_42, 3); + x_160 = x_42; +} else { + lean_dec_ref(x_42); + x_160 = lean_box(0); +} +lean_ctor_set_uint8(x_159, sizeof(void*)*4, x_158); +if (lean_is_scalar(x_160)) { + x_161 = lean_alloc_ctor(1, 4, 1); +} else { + x_161 = x_160; +} +lean_ctor_set(x_161, 0, x_157); +lean_ctor_set(x_161, 1, x_34); +lean_ctor_set(x_161, 2, x_35); +lean_ctor_set(x_161, 3, x_36); +lean_ctor_set_uint8(x_161, sizeof(void*)*4, x_158); +x_162 = 0; +lean_ctor_set(x_41, 3, x_161); +lean_ctor_set(x_41, 2, x_156); +lean_ctor_set(x_41, 1, x_155); +lean_ctor_set(x_41, 0, x_159); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_162); +return x_41; +} +} +else +{ +lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; uint8_t x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; uint8_t x_174; lean_object* x_175; +x_163 = lean_ctor_get(x_41, 1); +x_164 = lean_ctor_get(x_41, 2); +lean_inc(x_164); +lean_inc(x_163); +lean_dec(x_41); +x_165 = lean_ctor_get(x_123, 0); +lean_inc(x_165); +x_166 = lean_ctor_get(x_123, 1); +lean_inc(x_166); +x_167 = lean_ctor_get(x_123, 2); +lean_inc(x_167); +x_168 = lean_ctor_get(x_123, 3); +lean_inc(x_168); +if (lean_is_exclusive(x_123)) { + lean_ctor_release(x_123, 0); + lean_ctor_release(x_123, 1); + lean_ctor_release(x_123, 2); + lean_ctor_release(x_123, 3); + x_169 = x_123; +} else { + lean_dec_ref(x_123); + x_169 = lean_box(0); +} +x_170 = 1; +lean_inc(x_42); +if (lean_is_scalar(x_169)) { + x_171 = lean_alloc_ctor(1, 4, 1); +} else { + x_171 = x_169; +} +lean_ctor_set(x_171, 0, x_42); +lean_ctor_set(x_171, 1, x_163); +lean_ctor_set(x_171, 2, x_164); +lean_ctor_set(x_171, 3, x_165); +if (lean_is_exclusive(x_42)) { + lean_ctor_release(x_42, 0); + lean_ctor_release(x_42, 1); + lean_ctor_release(x_42, 2); + lean_ctor_release(x_42, 3); + x_172 = x_42; +} else { + lean_dec_ref(x_42); + x_172 = lean_box(0); +} +lean_ctor_set_uint8(x_171, sizeof(void*)*4, x_170); +if (lean_is_scalar(x_172)) { + x_173 = lean_alloc_ctor(1, 4, 1); +} else { + x_173 = x_172; +} +lean_ctor_set(x_173, 0, x_168); +lean_ctor_set(x_173, 1, x_34); +lean_ctor_set(x_173, 2, x_35); +lean_ctor_set(x_173, 3, x_36); +lean_ctor_set_uint8(x_173, sizeof(void*)*4, x_170); +x_174 = 0; +x_175 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_175, 0, x_171); +lean_ctor_set(x_175, 1, x_166); +lean_ctor_set(x_175, 2, x_167); +lean_ctor_set(x_175, 3, x_173); +lean_ctor_set_uint8(x_175, sizeof(void*)*4, x_174); +return x_175; +} +} +else +{ +uint8_t x_176; +x_176 = !lean_is_exclusive(x_41); +if (x_176 == 0) +{ +lean_object* x_177; lean_object* x_178; uint8_t x_179; +x_177 = lean_ctor_get(x_41, 3); +lean_dec(x_177); +x_178 = lean_ctor_get(x_41, 0); +lean_dec(x_178); +x_179 = !lean_is_exclusive(x_42); +if (x_179 == 0) +{ +uint8_t x_180; uint8_t x_181; +lean_ctor_set_uint8(x_42, sizeof(void*)*4, x_134); +x_180 = 0; +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_180); +x_181 = 1; +lean_ctor_set(x_1, 0, x_41); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_181); +return x_1; +} +else +{ +lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; uint8_t x_187; uint8_t x_188; +x_182 = lean_ctor_get(x_42, 0); +x_183 = lean_ctor_get(x_42, 1); +x_184 = lean_ctor_get(x_42, 2); +x_185 = lean_ctor_get(x_42, 3); +lean_inc(x_185); +lean_inc(x_184); +lean_inc(x_183); +lean_inc(x_182); +lean_dec(x_42); +x_186 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_186, 0, x_182); +lean_ctor_set(x_186, 1, x_183); +lean_ctor_set(x_186, 2, x_184); +lean_ctor_set(x_186, 3, x_185); +lean_ctor_set_uint8(x_186, sizeof(void*)*4, x_134); +x_187 = 0; +lean_ctor_set(x_41, 0, x_186); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_187); +x_188 = 1; +lean_ctor_set(x_1, 0, x_41); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_188); +return x_1; +} +} +else +{ +lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; uint8_t x_197; lean_object* x_198; uint8_t x_199; +x_189 = lean_ctor_get(x_41, 1); +x_190 = lean_ctor_get(x_41, 2); +lean_inc(x_190); +lean_inc(x_189); +lean_dec(x_41); +x_191 = lean_ctor_get(x_42, 0); +lean_inc(x_191); +x_192 = lean_ctor_get(x_42, 1); +lean_inc(x_192); +x_193 = lean_ctor_get(x_42, 2); +lean_inc(x_193); +x_194 = lean_ctor_get(x_42, 3); +lean_inc(x_194); +if (lean_is_exclusive(x_42)) { + lean_ctor_release(x_42, 0); + lean_ctor_release(x_42, 1); + lean_ctor_release(x_42, 2); + lean_ctor_release(x_42, 3); + x_195 = x_42; +} else { + lean_dec_ref(x_42); + x_195 = lean_box(0); +} +if (lean_is_scalar(x_195)) { + x_196 = lean_alloc_ctor(1, 4, 1); +} else { + x_196 = x_195; +} +lean_ctor_set(x_196, 0, x_191); +lean_ctor_set(x_196, 1, x_192); +lean_ctor_set(x_196, 2, x_193); +lean_ctor_set(x_196, 3, x_194); +lean_ctor_set_uint8(x_196, sizeof(void*)*4, x_134); +x_197 = 0; +x_198 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_198, 0, x_196); +lean_ctor_set(x_198, 1, x_189); +lean_ctor_set(x_198, 2, x_190); +lean_ctor_set(x_198, 3, x_123); +lean_ctor_set_uint8(x_198, sizeof(void*)*4, x_197); +x_199 = 1; +lean_ctor_set(x_1, 0, x_198); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_199); +return x_1; +} +} +} +} +} +} +} +case 1: +{ +uint8_t x_200; +lean_dec(x_35); +lean_dec(x_34); +x_200 = 1; +lean_ctor_set(x_1, 2, x_3); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_200); +return x_1; +} +default: +{ +uint8_t x_201; +x_201 = l_Std_RBNode_isRed___rarg(x_36); +if (x_201 == 0) +{ +lean_object* x_202; uint8_t x_203; +x_202 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_36, x_2, x_3); +x_203 = 1; +lean_ctor_set(x_1, 3, x_202); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_203); +return x_1; +} +else +{ +lean_object* x_204; lean_object* x_205; +x_204 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_36, x_2, x_3); +x_205 = lean_ctor_get(x_204, 0); +lean_inc(x_205); +if (lean_obj_tag(x_205) == 0) +{ +lean_object* x_206; +x_206 = lean_ctor_get(x_204, 3); +lean_inc(x_206); +if (lean_obj_tag(x_206) == 0) +{ +uint8_t x_207; +x_207 = !lean_is_exclusive(x_204); +if (x_207 == 0) +{ +lean_object* x_208; lean_object* x_209; uint8_t x_210; uint8_t x_211; +x_208 = lean_ctor_get(x_204, 3); +lean_dec(x_208); +x_209 = lean_ctor_get(x_204, 0); +lean_dec(x_209); +x_210 = 0; +lean_ctor_set(x_204, 0, x_206); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_210); +x_211 = 1; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_211); +return x_1; +} +else +{ +lean_object* x_212; lean_object* x_213; uint8_t x_214; lean_object* x_215; uint8_t x_216; +x_212 = lean_ctor_get(x_204, 1); +x_213 = lean_ctor_get(x_204, 2); +lean_inc(x_213); +lean_inc(x_212); +lean_dec(x_204); +x_214 = 0; +x_215 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_215, 0, x_206); +lean_ctor_set(x_215, 1, x_212); +lean_ctor_set(x_215, 2, x_213); +lean_ctor_set(x_215, 3, x_206); +lean_ctor_set_uint8(x_215, sizeof(void*)*4, x_214); +x_216 = 1; +lean_ctor_set(x_1, 3, x_215); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_216); +return x_1; +} +} +else +{ +uint8_t x_217; +x_217 = lean_ctor_get_uint8(x_206, sizeof(void*)*4); +if (x_217 == 0) +{ +uint8_t x_218; +x_218 = !lean_is_exclusive(x_204); +if (x_218 == 0) +{ +lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; uint8_t x_223; +x_219 = lean_ctor_get(x_204, 1); +x_220 = lean_ctor_get(x_204, 2); +x_221 = lean_ctor_get(x_204, 3); +lean_dec(x_221); +x_222 = lean_ctor_get(x_204, 0); +lean_dec(x_222); +x_223 = !lean_is_exclusive(x_206); +if (x_223 == 0) +{ +lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; uint8_t x_228; uint8_t x_229; +x_224 = lean_ctor_get(x_206, 0); +x_225 = lean_ctor_get(x_206, 1); +x_226 = lean_ctor_get(x_206, 2); +x_227 = lean_ctor_get(x_206, 3); +x_228 = 1; +lean_ctor_set(x_206, 3, x_205); +lean_ctor_set(x_206, 2, x_35); +lean_ctor_set(x_206, 1, x_34); +lean_ctor_set(x_206, 0, x_33); +lean_ctor_set_uint8(x_206, sizeof(void*)*4, x_228); +lean_ctor_set(x_204, 3, x_227); +lean_ctor_set(x_204, 2, x_226); +lean_ctor_set(x_204, 1, x_225); +lean_ctor_set(x_204, 0, x_224); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_228); +x_229 = 0; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set(x_1, 2, x_220); +lean_ctor_set(x_1, 1, x_219); +lean_ctor_set(x_1, 0, x_206); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_229); +return x_1; +} +else +{ +lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; uint8_t x_234; lean_object* x_235; uint8_t x_236; +x_230 = lean_ctor_get(x_206, 0); +x_231 = lean_ctor_get(x_206, 1); +x_232 = lean_ctor_get(x_206, 2); +x_233 = lean_ctor_get(x_206, 3); +lean_inc(x_233); +lean_inc(x_232); +lean_inc(x_231); +lean_inc(x_230); +lean_dec(x_206); +x_234 = 1; +x_235 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_235, 0, x_33); +lean_ctor_set(x_235, 1, x_34); +lean_ctor_set(x_235, 2, x_35); +lean_ctor_set(x_235, 3, x_205); +lean_ctor_set_uint8(x_235, sizeof(void*)*4, x_234); +lean_ctor_set(x_204, 3, x_233); +lean_ctor_set(x_204, 2, x_232); +lean_ctor_set(x_204, 1, x_231); +lean_ctor_set(x_204, 0, x_230); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_234); +x_236 = 0; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set(x_1, 2, x_220); +lean_ctor_set(x_1, 1, x_219); +lean_ctor_set(x_1, 0, x_235); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_236); +return x_1; +} +} +else +{ +lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; uint8_t x_244; lean_object* x_245; lean_object* x_246; uint8_t x_247; +x_237 = lean_ctor_get(x_204, 1); +x_238 = lean_ctor_get(x_204, 2); +lean_inc(x_238); +lean_inc(x_237); +lean_dec(x_204); +x_239 = lean_ctor_get(x_206, 0); +lean_inc(x_239); +x_240 = lean_ctor_get(x_206, 1); +lean_inc(x_240); +x_241 = lean_ctor_get(x_206, 2); +lean_inc(x_241); +x_242 = lean_ctor_get(x_206, 3); +lean_inc(x_242); +if (lean_is_exclusive(x_206)) { + lean_ctor_release(x_206, 0); + lean_ctor_release(x_206, 1); + lean_ctor_release(x_206, 2); + lean_ctor_release(x_206, 3); + x_243 = x_206; +} else { + lean_dec_ref(x_206); + x_243 = lean_box(0); +} +x_244 = 1; +if (lean_is_scalar(x_243)) { + x_245 = lean_alloc_ctor(1, 4, 1); +} else { + x_245 = x_243; +} +lean_ctor_set(x_245, 0, x_33); +lean_ctor_set(x_245, 1, x_34); +lean_ctor_set(x_245, 2, x_35); +lean_ctor_set(x_245, 3, x_205); +lean_ctor_set_uint8(x_245, sizeof(void*)*4, x_244); +x_246 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_246, 0, x_239); +lean_ctor_set(x_246, 1, x_240); +lean_ctor_set(x_246, 2, x_241); +lean_ctor_set(x_246, 3, x_242); +lean_ctor_set_uint8(x_246, sizeof(void*)*4, x_244); +x_247 = 0; +lean_ctor_set(x_1, 3, x_246); +lean_ctor_set(x_1, 2, x_238); +lean_ctor_set(x_1, 1, x_237); +lean_ctor_set(x_1, 0, x_245); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_247); +return x_1; +} +} +else +{ +uint8_t x_248; +x_248 = !lean_is_exclusive(x_204); +if (x_248 == 0) +{ +lean_object* x_249; lean_object* x_250; uint8_t x_251; uint8_t x_252; +x_249 = lean_ctor_get(x_204, 3); +lean_dec(x_249); +x_250 = lean_ctor_get(x_204, 0); +lean_dec(x_250); +x_251 = 0; +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_251); +x_252 = 1; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_252); +return x_1; +} +else +{ +lean_object* x_253; lean_object* x_254; uint8_t x_255; lean_object* x_256; uint8_t x_257; +x_253 = lean_ctor_get(x_204, 1); +x_254 = lean_ctor_get(x_204, 2); +lean_inc(x_254); +lean_inc(x_253); +lean_dec(x_204); +x_255 = 0; +x_256 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_256, 0, x_205); +lean_ctor_set(x_256, 1, x_253); +lean_ctor_set(x_256, 2, x_254); +lean_ctor_set(x_256, 3, x_206); +lean_ctor_set_uint8(x_256, sizeof(void*)*4, x_255); +x_257 = 1; +lean_ctor_set(x_1, 3, x_256); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_257); +return x_1; +} +} +} +} +else +{ +uint8_t x_258; +x_258 = lean_ctor_get_uint8(x_205, sizeof(void*)*4); +if (x_258 == 0) +{ +uint8_t x_259; +x_259 = !lean_is_exclusive(x_204); +if (x_259 == 0) +{ +lean_object* x_260; uint8_t x_261; +x_260 = lean_ctor_get(x_204, 0); +lean_dec(x_260); +x_261 = !lean_is_exclusive(x_205); +if (x_261 == 0) +{ +lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; uint8_t x_266; uint8_t x_267; +x_262 = lean_ctor_get(x_205, 0); +x_263 = lean_ctor_get(x_205, 1); +x_264 = lean_ctor_get(x_205, 2); +x_265 = lean_ctor_get(x_205, 3); +x_266 = 1; +lean_ctor_set(x_205, 3, x_262); +lean_ctor_set(x_205, 2, x_35); +lean_ctor_set(x_205, 1, x_34); +lean_ctor_set(x_205, 0, x_33); +lean_ctor_set_uint8(x_205, sizeof(void*)*4, x_266); +lean_ctor_set(x_204, 0, x_265); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_266); +x_267 = 0; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set(x_1, 2, x_264); +lean_ctor_set(x_1, 1, x_263); +lean_ctor_set(x_1, 0, x_205); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_267); +return x_1; +} +else +{ +lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; uint8_t x_272; lean_object* x_273; uint8_t x_274; +x_268 = lean_ctor_get(x_205, 0); +x_269 = lean_ctor_get(x_205, 1); +x_270 = lean_ctor_get(x_205, 2); +x_271 = lean_ctor_get(x_205, 3); +lean_inc(x_271); +lean_inc(x_270); +lean_inc(x_269); +lean_inc(x_268); +lean_dec(x_205); +x_272 = 1; +x_273 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_273, 0, x_33); +lean_ctor_set(x_273, 1, x_34); +lean_ctor_set(x_273, 2, x_35); +lean_ctor_set(x_273, 3, x_268); +lean_ctor_set_uint8(x_273, sizeof(void*)*4, x_272); +lean_ctor_set(x_204, 0, x_271); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_272); +x_274 = 0; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set(x_1, 2, x_270); +lean_ctor_set(x_1, 1, x_269); +lean_ctor_set(x_1, 0, x_273); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_274); +return x_1; +} +} +else +{ +lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; uint8_t x_283; lean_object* x_284; lean_object* x_285; uint8_t x_286; +x_275 = lean_ctor_get(x_204, 1); +x_276 = lean_ctor_get(x_204, 2); +x_277 = lean_ctor_get(x_204, 3); +lean_inc(x_277); +lean_inc(x_276); +lean_inc(x_275); +lean_dec(x_204); +x_278 = lean_ctor_get(x_205, 0); +lean_inc(x_278); +x_279 = lean_ctor_get(x_205, 1); +lean_inc(x_279); +x_280 = lean_ctor_get(x_205, 2); +lean_inc(x_280); +x_281 = lean_ctor_get(x_205, 3); +lean_inc(x_281); +if (lean_is_exclusive(x_205)) { + lean_ctor_release(x_205, 0); + lean_ctor_release(x_205, 1); + lean_ctor_release(x_205, 2); + lean_ctor_release(x_205, 3); + x_282 = x_205; +} else { + lean_dec_ref(x_205); + x_282 = lean_box(0); +} +x_283 = 1; +if (lean_is_scalar(x_282)) { + x_284 = lean_alloc_ctor(1, 4, 1); +} else { + x_284 = x_282; +} +lean_ctor_set(x_284, 0, x_33); +lean_ctor_set(x_284, 1, x_34); +lean_ctor_set(x_284, 2, x_35); +lean_ctor_set(x_284, 3, x_278); +lean_ctor_set_uint8(x_284, sizeof(void*)*4, x_283); +x_285 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_285, 0, x_281); +lean_ctor_set(x_285, 1, x_275); +lean_ctor_set(x_285, 2, x_276); +lean_ctor_set(x_285, 3, x_277); +lean_ctor_set_uint8(x_285, sizeof(void*)*4, x_283); +x_286 = 0; +lean_ctor_set(x_1, 3, x_285); +lean_ctor_set(x_1, 2, x_280); +lean_ctor_set(x_1, 1, x_279); +lean_ctor_set(x_1, 0, x_284); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_286); +return x_1; +} +} +else +{ +lean_object* x_287; +x_287 = lean_ctor_get(x_204, 3); +lean_inc(x_287); +if (lean_obj_tag(x_287) == 0) +{ +uint8_t x_288; +x_288 = !lean_is_exclusive(x_204); +if (x_288 == 0) +{ +lean_object* x_289; lean_object* x_290; uint8_t x_291; uint8_t x_292; +x_289 = lean_ctor_get(x_204, 3); +lean_dec(x_289); +x_290 = lean_ctor_get(x_204, 0); +lean_dec(x_290); +x_291 = 0; +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_291); +x_292 = 1; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_292); +return x_1; +} +else +{ +lean_object* x_293; lean_object* x_294; uint8_t x_295; lean_object* x_296; uint8_t x_297; +x_293 = lean_ctor_get(x_204, 1); +x_294 = lean_ctor_get(x_204, 2); +lean_inc(x_294); +lean_inc(x_293); +lean_dec(x_204); +x_295 = 0; +x_296 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_296, 0, x_205); +lean_ctor_set(x_296, 1, x_293); +lean_ctor_set(x_296, 2, x_294); +lean_ctor_set(x_296, 3, x_287); +lean_ctor_set_uint8(x_296, sizeof(void*)*4, x_295); +x_297 = 1; +lean_ctor_set(x_1, 3, x_296); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_297); +return x_1; +} +} +else +{ +uint8_t x_298; +x_298 = lean_ctor_get_uint8(x_287, sizeof(void*)*4); +if (x_298 == 0) +{ +uint8_t x_299; +lean_free_object(x_1); +x_299 = !lean_is_exclusive(x_204); +if (x_299 == 0) +{ +lean_object* x_300; lean_object* x_301; uint8_t x_302; +x_300 = lean_ctor_get(x_204, 3); +lean_dec(x_300); +x_301 = lean_ctor_get(x_204, 0); +lean_dec(x_301); +x_302 = !lean_is_exclusive(x_287); +if (x_302 == 0) +{ +lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; uint8_t x_307; uint8_t x_308; +x_303 = lean_ctor_get(x_287, 0); +x_304 = lean_ctor_get(x_287, 1); +x_305 = lean_ctor_get(x_287, 2); +x_306 = lean_ctor_get(x_287, 3); +x_307 = 1; +lean_inc(x_205); +lean_ctor_set(x_287, 3, x_205); +lean_ctor_set(x_287, 2, x_35); +lean_ctor_set(x_287, 1, x_34); +lean_ctor_set(x_287, 0, x_33); +x_308 = !lean_is_exclusive(x_205); +if (x_308 == 0) +{ +lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; uint8_t x_313; +x_309 = lean_ctor_get(x_205, 3); +lean_dec(x_309); +x_310 = lean_ctor_get(x_205, 2); +lean_dec(x_310); +x_311 = lean_ctor_get(x_205, 1); +lean_dec(x_311); +x_312 = lean_ctor_get(x_205, 0); +lean_dec(x_312); +lean_ctor_set_uint8(x_287, sizeof(void*)*4, x_307); +lean_ctor_set(x_205, 3, x_306); +lean_ctor_set(x_205, 2, x_305); +lean_ctor_set(x_205, 1, x_304); +lean_ctor_set(x_205, 0, x_303); +lean_ctor_set_uint8(x_205, sizeof(void*)*4, x_307); +x_313 = 0; +lean_ctor_set(x_204, 3, x_205); +lean_ctor_set(x_204, 0, x_287); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_313); +return x_204; +} +else +{ +lean_object* x_314; uint8_t x_315; +lean_dec(x_205); +lean_ctor_set_uint8(x_287, sizeof(void*)*4, x_307); +x_314 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_314, 0, x_303); +lean_ctor_set(x_314, 1, x_304); +lean_ctor_set(x_314, 2, x_305); +lean_ctor_set(x_314, 3, x_306); +lean_ctor_set_uint8(x_314, sizeof(void*)*4, x_307); +x_315 = 0; +lean_ctor_set(x_204, 3, x_314); +lean_ctor_set(x_204, 0, x_287); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_315); +return x_204; +} +} +else +{ +lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; uint8_t x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; uint8_t x_324; +x_316 = lean_ctor_get(x_287, 0); +x_317 = lean_ctor_get(x_287, 1); +x_318 = lean_ctor_get(x_287, 2); +x_319 = lean_ctor_get(x_287, 3); +lean_inc(x_319); +lean_inc(x_318); +lean_inc(x_317); +lean_inc(x_316); +lean_dec(x_287); +x_320 = 1; +lean_inc(x_205); +x_321 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_321, 0, x_33); +lean_ctor_set(x_321, 1, x_34); +lean_ctor_set(x_321, 2, x_35); +lean_ctor_set(x_321, 3, x_205); +if (lean_is_exclusive(x_205)) { + lean_ctor_release(x_205, 0); + lean_ctor_release(x_205, 1); + lean_ctor_release(x_205, 2); + lean_ctor_release(x_205, 3); + x_322 = x_205; +} else { + lean_dec_ref(x_205); + x_322 = lean_box(0); +} +lean_ctor_set_uint8(x_321, sizeof(void*)*4, x_320); +if (lean_is_scalar(x_322)) { + x_323 = lean_alloc_ctor(1, 4, 1); +} else { + x_323 = x_322; +} +lean_ctor_set(x_323, 0, x_316); +lean_ctor_set(x_323, 1, x_317); +lean_ctor_set(x_323, 2, x_318); +lean_ctor_set(x_323, 3, x_319); +lean_ctor_set_uint8(x_323, sizeof(void*)*4, x_320); +x_324 = 0; +lean_ctor_set(x_204, 3, x_323); +lean_ctor_set(x_204, 0, x_321); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_324); +return x_204; +} +} +else +{ +lean_object* x_325; lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; uint8_t x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; uint8_t x_336; lean_object* x_337; +x_325 = lean_ctor_get(x_204, 1); +x_326 = lean_ctor_get(x_204, 2); +lean_inc(x_326); +lean_inc(x_325); +lean_dec(x_204); +x_327 = lean_ctor_get(x_287, 0); +lean_inc(x_327); +x_328 = lean_ctor_get(x_287, 1); +lean_inc(x_328); +x_329 = lean_ctor_get(x_287, 2); +lean_inc(x_329); +x_330 = lean_ctor_get(x_287, 3); +lean_inc(x_330); +if (lean_is_exclusive(x_287)) { + lean_ctor_release(x_287, 0); + lean_ctor_release(x_287, 1); + lean_ctor_release(x_287, 2); + lean_ctor_release(x_287, 3); + x_331 = x_287; +} else { + lean_dec_ref(x_287); + x_331 = lean_box(0); +} +x_332 = 1; +lean_inc(x_205); +if (lean_is_scalar(x_331)) { + x_333 = lean_alloc_ctor(1, 4, 1); +} else { + x_333 = x_331; +} +lean_ctor_set(x_333, 0, x_33); +lean_ctor_set(x_333, 1, x_34); +lean_ctor_set(x_333, 2, x_35); +lean_ctor_set(x_333, 3, x_205); +if (lean_is_exclusive(x_205)) { + lean_ctor_release(x_205, 0); + lean_ctor_release(x_205, 1); + lean_ctor_release(x_205, 2); + lean_ctor_release(x_205, 3); + x_334 = x_205; +} else { + lean_dec_ref(x_205); + x_334 = lean_box(0); +} +lean_ctor_set_uint8(x_333, sizeof(void*)*4, x_332); +if (lean_is_scalar(x_334)) { + x_335 = lean_alloc_ctor(1, 4, 1); +} else { + x_335 = x_334; +} +lean_ctor_set(x_335, 0, x_327); +lean_ctor_set(x_335, 1, x_328); +lean_ctor_set(x_335, 2, x_329); +lean_ctor_set(x_335, 3, x_330); +lean_ctor_set_uint8(x_335, sizeof(void*)*4, x_332); +x_336 = 0; +x_337 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_337, 0, x_333); +lean_ctor_set(x_337, 1, x_325); +lean_ctor_set(x_337, 2, x_326); +lean_ctor_set(x_337, 3, x_335); +lean_ctor_set_uint8(x_337, sizeof(void*)*4, x_336); +return x_337; +} +} +else +{ +uint8_t x_338; +x_338 = !lean_is_exclusive(x_204); +if (x_338 == 0) +{ +lean_object* x_339; lean_object* x_340; uint8_t x_341; +x_339 = lean_ctor_get(x_204, 3); +lean_dec(x_339); +x_340 = lean_ctor_get(x_204, 0); +lean_dec(x_340); +x_341 = !lean_is_exclusive(x_205); +if (x_341 == 0) +{ +uint8_t x_342; uint8_t x_343; +lean_ctor_set_uint8(x_205, sizeof(void*)*4, x_298); +x_342 = 0; +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_342); +x_343 = 1; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_343); +return x_1; +} +else +{ +lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; uint8_t x_349; uint8_t x_350; +x_344 = lean_ctor_get(x_205, 0); +x_345 = lean_ctor_get(x_205, 1); +x_346 = lean_ctor_get(x_205, 2); +x_347 = lean_ctor_get(x_205, 3); +lean_inc(x_347); +lean_inc(x_346); +lean_inc(x_345); +lean_inc(x_344); +lean_dec(x_205); +x_348 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_348, 0, x_344); +lean_ctor_set(x_348, 1, x_345); +lean_ctor_set(x_348, 2, x_346); +lean_ctor_set(x_348, 3, x_347); +lean_ctor_set_uint8(x_348, sizeof(void*)*4, x_298); +x_349 = 0; +lean_ctor_set(x_204, 0, x_348); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_349); +x_350 = 1; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_350); +return x_1; +} +} +else +{ +lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; uint8_t x_359; lean_object* x_360; uint8_t x_361; +x_351 = lean_ctor_get(x_204, 1); +x_352 = lean_ctor_get(x_204, 2); +lean_inc(x_352); +lean_inc(x_351); +lean_dec(x_204); +x_353 = lean_ctor_get(x_205, 0); +lean_inc(x_353); +x_354 = lean_ctor_get(x_205, 1); +lean_inc(x_354); +x_355 = lean_ctor_get(x_205, 2); +lean_inc(x_355); +x_356 = lean_ctor_get(x_205, 3); +lean_inc(x_356); +if (lean_is_exclusive(x_205)) { + lean_ctor_release(x_205, 0); + lean_ctor_release(x_205, 1); + lean_ctor_release(x_205, 2); + lean_ctor_release(x_205, 3); + x_357 = x_205; +} else { + lean_dec_ref(x_205); + x_357 = lean_box(0); +} +if (lean_is_scalar(x_357)) { + x_358 = lean_alloc_ctor(1, 4, 1); +} else { + x_358 = x_357; +} +lean_ctor_set(x_358, 0, x_353); +lean_ctor_set(x_358, 1, x_354); +lean_ctor_set(x_358, 2, x_355); +lean_ctor_set(x_358, 3, x_356); +lean_ctor_set_uint8(x_358, sizeof(void*)*4, x_298); +x_359 = 0; +x_360 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_360, 0, x_358); +lean_ctor_set(x_360, 1, x_351); +lean_ctor_set(x_360, 2, x_352); +lean_ctor_set(x_360, 3, x_287); +lean_ctor_set_uint8(x_360, sizeof(void*)*4, x_359); +x_361 = 1; +lean_ctor_set(x_1, 3, x_360); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_361); +return x_1; +} +} +} +} +} +} +} +} +} +else +{ +lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; uint8_t x_366; +x_362 = lean_ctor_get(x_1, 0); +x_363 = lean_ctor_get(x_1, 1); +x_364 = lean_ctor_get(x_1, 2); +x_365 = lean_ctor_get(x_1, 3); +lean_inc(x_365); +lean_inc(x_364); +lean_inc(x_363); +lean_inc(x_362); +lean_dec(x_1); +x_366 = l_Lean_Name_quickCmp(x_2, x_363); +switch (x_366) { +case 0: +{ +uint8_t x_367; +x_367 = l_Std_RBNode_isRed___rarg(x_362); +if (x_367 == 0) +{ +lean_object* x_368; uint8_t x_369; lean_object* x_370; +x_368 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_362, x_2, x_3); +x_369 = 1; +x_370 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_370, 0, x_368); +lean_ctor_set(x_370, 1, x_363); +lean_ctor_set(x_370, 2, x_364); +lean_ctor_set(x_370, 3, x_365); +lean_ctor_set_uint8(x_370, sizeof(void*)*4, x_369); +return x_370; +} +else +{ +lean_object* x_371; lean_object* x_372; +x_371 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_362, x_2, x_3); +x_372 = lean_ctor_get(x_371, 0); +lean_inc(x_372); +if (lean_obj_tag(x_372) == 0) +{ +lean_object* x_373; +x_373 = lean_ctor_get(x_371, 3); +lean_inc(x_373); +if (lean_obj_tag(x_373) == 0) +{ +lean_object* x_374; lean_object* x_375; lean_object* x_376; uint8_t x_377; lean_object* x_378; uint8_t x_379; lean_object* x_380; +x_374 = lean_ctor_get(x_371, 1); +lean_inc(x_374); +x_375 = lean_ctor_get(x_371, 2); +lean_inc(x_375); +if (lean_is_exclusive(x_371)) { + lean_ctor_release(x_371, 0); + lean_ctor_release(x_371, 1); + lean_ctor_release(x_371, 2); + lean_ctor_release(x_371, 3); + x_376 = x_371; +} else { + lean_dec_ref(x_371); + x_376 = lean_box(0); +} +x_377 = 0; +if (lean_is_scalar(x_376)) { + x_378 = lean_alloc_ctor(1, 4, 1); +} else { + x_378 = x_376; +} +lean_ctor_set(x_378, 0, x_373); +lean_ctor_set(x_378, 1, x_374); +lean_ctor_set(x_378, 2, x_375); +lean_ctor_set(x_378, 3, x_373); +lean_ctor_set_uint8(x_378, sizeof(void*)*4, x_377); +x_379 = 1; +x_380 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_380, 0, x_378); +lean_ctor_set(x_380, 1, x_363); +lean_ctor_set(x_380, 2, x_364); +lean_ctor_set(x_380, 3, x_365); +lean_ctor_set_uint8(x_380, sizeof(void*)*4, x_379); +return x_380; +} +else +{ +uint8_t x_381; +x_381 = lean_ctor_get_uint8(x_373, sizeof(void*)*4); +if (x_381 == 0) +{ +lean_object* x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; uint8_t x_390; lean_object* x_391; lean_object* x_392; uint8_t x_393; lean_object* x_394; +x_382 = lean_ctor_get(x_371, 1); +lean_inc(x_382); +x_383 = lean_ctor_get(x_371, 2); +lean_inc(x_383); +if (lean_is_exclusive(x_371)) { + lean_ctor_release(x_371, 0); + lean_ctor_release(x_371, 1); + lean_ctor_release(x_371, 2); + lean_ctor_release(x_371, 3); + x_384 = x_371; +} else { + lean_dec_ref(x_371); + x_384 = lean_box(0); +} +x_385 = lean_ctor_get(x_373, 0); +lean_inc(x_385); +x_386 = lean_ctor_get(x_373, 1); +lean_inc(x_386); +x_387 = lean_ctor_get(x_373, 2); +lean_inc(x_387); +x_388 = lean_ctor_get(x_373, 3); +lean_inc(x_388); +if (lean_is_exclusive(x_373)) { + lean_ctor_release(x_373, 0); + lean_ctor_release(x_373, 1); + lean_ctor_release(x_373, 2); + lean_ctor_release(x_373, 3); + x_389 = x_373; +} else { + lean_dec_ref(x_373); + x_389 = lean_box(0); +} +x_390 = 1; +if (lean_is_scalar(x_389)) { + x_391 = lean_alloc_ctor(1, 4, 1); +} else { + x_391 = x_389; +} +lean_ctor_set(x_391, 0, x_372); +lean_ctor_set(x_391, 1, x_382); +lean_ctor_set(x_391, 2, x_383); +lean_ctor_set(x_391, 3, x_385); +lean_ctor_set_uint8(x_391, sizeof(void*)*4, x_390); +if (lean_is_scalar(x_384)) { + x_392 = lean_alloc_ctor(1, 4, 1); +} else { + x_392 = x_384; +} +lean_ctor_set(x_392, 0, x_388); +lean_ctor_set(x_392, 1, x_363); +lean_ctor_set(x_392, 2, x_364); +lean_ctor_set(x_392, 3, x_365); +lean_ctor_set_uint8(x_392, sizeof(void*)*4, x_390); +x_393 = 0; +x_394 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_394, 0, x_391); +lean_ctor_set(x_394, 1, x_386); +lean_ctor_set(x_394, 2, x_387); +lean_ctor_set(x_394, 3, x_392); +lean_ctor_set_uint8(x_394, sizeof(void*)*4, x_393); +return x_394; +} +else +{ +lean_object* x_395; lean_object* x_396; lean_object* x_397; uint8_t x_398; lean_object* x_399; uint8_t x_400; lean_object* x_401; +x_395 = lean_ctor_get(x_371, 1); +lean_inc(x_395); +x_396 = lean_ctor_get(x_371, 2); +lean_inc(x_396); +if (lean_is_exclusive(x_371)) { + lean_ctor_release(x_371, 0); + lean_ctor_release(x_371, 1); + lean_ctor_release(x_371, 2); + lean_ctor_release(x_371, 3); + x_397 = x_371; +} else { + lean_dec_ref(x_371); + x_397 = lean_box(0); +} +x_398 = 0; +if (lean_is_scalar(x_397)) { + x_399 = lean_alloc_ctor(1, 4, 1); +} else { + x_399 = x_397; +} +lean_ctor_set(x_399, 0, x_372); +lean_ctor_set(x_399, 1, x_395); +lean_ctor_set(x_399, 2, x_396); +lean_ctor_set(x_399, 3, x_373); +lean_ctor_set_uint8(x_399, sizeof(void*)*4, x_398); +x_400 = 1; +x_401 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_401, 0, x_399); +lean_ctor_set(x_401, 1, x_363); +lean_ctor_set(x_401, 2, x_364); +lean_ctor_set(x_401, 3, x_365); +lean_ctor_set_uint8(x_401, sizeof(void*)*4, x_400); +return x_401; +} +} +} +else +{ +uint8_t x_402; +x_402 = lean_ctor_get_uint8(x_372, sizeof(void*)*4); +if (x_402 == 0) +{ +lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; uint8_t x_412; lean_object* x_413; lean_object* x_414; uint8_t x_415; lean_object* x_416; +x_403 = lean_ctor_get(x_371, 1); +lean_inc(x_403); +x_404 = lean_ctor_get(x_371, 2); +lean_inc(x_404); +x_405 = lean_ctor_get(x_371, 3); +lean_inc(x_405); +if (lean_is_exclusive(x_371)) { + lean_ctor_release(x_371, 0); + lean_ctor_release(x_371, 1); + lean_ctor_release(x_371, 2); + lean_ctor_release(x_371, 3); + x_406 = x_371; +} else { + lean_dec_ref(x_371); + x_406 = lean_box(0); +} +x_407 = lean_ctor_get(x_372, 0); +lean_inc(x_407); +x_408 = lean_ctor_get(x_372, 1); +lean_inc(x_408); +x_409 = lean_ctor_get(x_372, 2); +lean_inc(x_409); +x_410 = lean_ctor_get(x_372, 3); +lean_inc(x_410); +if (lean_is_exclusive(x_372)) { + lean_ctor_release(x_372, 0); + lean_ctor_release(x_372, 1); + lean_ctor_release(x_372, 2); + lean_ctor_release(x_372, 3); + x_411 = x_372; +} else { + lean_dec_ref(x_372); + x_411 = lean_box(0); +} +x_412 = 1; +if (lean_is_scalar(x_411)) { + x_413 = lean_alloc_ctor(1, 4, 1); +} else { + x_413 = x_411; +} +lean_ctor_set(x_413, 0, x_407); +lean_ctor_set(x_413, 1, x_408); +lean_ctor_set(x_413, 2, x_409); +lean_ctor_set(x_413, 3, x_410); +lean_ctor_set_uint8(x_413, sizeof(void*)*4, x_412); +if (lean_is_scalar(x_406)) { + x_414 = lean_alloc_ctor(1, 4, 1); +} else { + x_414 = x_406; +} +lean_ctor_set(x_414, 0, x_405); +lean_ctor_set(x_414, 1, x_363); +lean_ctor_set(x_414, 2, x_364); +lean_ctor_set(x_414, 3, x_365); +lean_ctor_set_uint8(x_414, sizeof(void*)*4, x_412); +x_415 = 0; +x_416 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_416, 0, x_413); +lean_ctor_set(x_416, 1, x_403); +lean_ctor_set(x_416, 2, x_404); +lean_ctor_set(x_416, 3, x_414); +lean_ctor_set_uint8(x_416, sizeof(void*)*4, x_415); +return x_416; +} +else +{ +lean_object* x_417; +x_417 = lean_ctor_get(x_371, 3); +lean_inc(x_417); +if (lean_obj_tag(x_417) == 0) +{ +lean_object* x_418; lean_object* x_419; lean_object* x_420; uint8_t x_421; lean_object* x_422; uint8_t x_423; lean_object* x_424; +x_418 = lean_ctor_get(x_371, 1); +lean_inc(x_418); +x_419 = lean_ctor_get(x_371, 2); +lean_inc(x_419); +if (lean_is_exclusive(x_371)) { + lean_ctor_release(x_371, 0); + lean_ctor_release(x_371, 1); + lean_ctor_release(x_371, 2); + lean_ctor_release(x_371, 3); + x_420 = x_371; +} else { + lean_dec_ref(x_371); + x_420 = lean_box(0); +} +x_421 = 0; +if (lean_is_scalar(x_420)) { + x_422 = lean_alloc_ctor(1, 4, 1); +} else { + x_422 = x_420; +} +lean_ctor_set(x_422, 0, x_372); +lean_ctor_set(x_422, 1, x_418); +lean_ctor_set(x_422, 2, x_419); +lean_ctor_set(x_422, 3, x_417); +lean_ctor_set_uint8(x_422, sizeof(void*)*4, x_421); +x_423 = 1; +x_424 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_424, 0, x_422); +lean_ctor_set(x_424, 1, x_363); +lean_ctor_set(x_424, 2, x_364); +lean_ctor_set(x_424, 3, x_365); +lean_ctor_set_uint8(x_424, sizeof(void*)*4, x_423); +return x_424; +} +else +{ +uint8_t x_425; +x_425 = lean_ctor_get_uint8(x_417, sizeof(void*)*4); +if (x_425 == 0) +{ +lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; uint8_t x_434; lean_object* x_435; lean_object* x_436; lean_object* x_437; uint8_t x_438; lean_object* x_439; +x_426 = lean_ctor_get(x_371, 1); +lean_inc(x_426); +x_427 = lean_ctor_get(x_371, 2); +lean_inc(x_427); +if (lean_is_exclusive(x_371)) { + lean_ctor_release(x_371, 0); + lean_ctor_release(x_371, 1); + lean_ctor_release(x_371, 2); + lean_ctor_release(x_371, 3); + x_428 = x_371; +} else { + lean_dec_ref(x_371); + x_428 = lean_box(0); +} +x_429 = lean_ctor_get(x_417, 0); +lean_inc(x_429); +x_430 = lean_ctor_get(x_417, 1); +lean_inc(x_430); +x_431 = lean_ctor_get(x_417, 2); +lean_inc(x_431); +x_432 = lean_ctor_get(x_417, 3); +lean_inc(x_432); +if (lean_is_exclusive(x_417)) { + lean_ctor_release(x_417, 0); + lean_ctor_release(x_417, 1); + lean_ctor_release(x_417, 2); + lean_ctor_release(x_417, 3); + x_433 = x_417; +} else { + lean_dec_ref(x_417); + x_433 = lean_box(0); +} +x_434 = 1; +lean_inc(x_372); +if (lean_is_scalar(x_433)) { + x_435 = lean_alloc_ctor(1, 4, 1); +} else { + x_435 = x_433; +} +lean_ctor_set(x_435, 0, x_372); +lean_ctor_set(x_435, 1, x_426); +lean_ctor_set(x_435, 2, x_427); +lean_ctor_set(x_435, 3, x_429); +if (lean_is_exclusive(x_372)) { + lean_ctor_release(x_372, 0); + lean_ctor_release(x_372, 1); + lean_ctor_release(x_372, 2); + lean_ctor_release(x_372, 3); + x_436 = x_372; +} else { + lean_dec_ref(x_372); + x_436 = lean_box(0); +} +lean_ctor_set_uint8(x_435, sizeof(void*)*4, x_434); +if (lean_is_scalar(x_436)) { + x_437 = lean_alloc_ctor(1, 4, 1); +} else { + x_437 = x_436; +} +lean_ctor_set(x_437, 0, x_432); +lean_ctor_set(x_437, 1, x_363); +lean_ctor_set(x_437, 2, x_364); +lean_ctor_set(x_437, 3, x_365); +lean_ctor_set_uint8(x_437, sizeof(void*)*4, x_434); +x_438 = 0; +if (lean_is_scalar(x_428)) { + x_439 = lean_alloc_ctor(1, 4, 1); +} else { + x_439 = x_428; +} +lean_ctor_set(x_439, 0, x_435); +lean_ctor_set(x_439, 1, x_430); +lean_ctor_set(x_439, 2, x_431); +lean_ctor_set(x_439, 3, x_437); +lean_ctor_set_uint8(x_439, sizeof(void*)*4, x_438); +return x_439; +} +else +{ +lean_object* x_440; lean_object* x_441; lean_object* x_442; lean_object* x_443; lean_object* x_444; lean_object* x_445; lean_object* x_446; lean_object* x_447; lean_object* x_448; uint8_t x_449; lean_object* x_450; uint8_t x_451; lean_object* x_452; +x_440 = lean_ctor_get(x_371, 1); +lean_inc(x_440); +x_441 = lean_ctor_get(x_371, 2); +lean_inc(x_441); +if (lean_is_exclusive(x_371)) { + lean_ctor_release(x_371, 0); + lean_ctor_release(x_371, 1); + lean_ctor_release(x_371, 2); + lean_ctor_release(x_371, 3); + x_442 = x_371; +} else { + lean_dec_ref(x_371); + x_442 = lean_box(0); +} +x_443 = lean_ctor_get(x_372, 0); +lean_inc(x_443); +x_444 = lean_ctor_get(x_372, 1); +lean_inc(x_444); +x_445 = lean_ctor_get(x_372, 2); +lean_inc(x_445); +x_446 = lean_ctor_get(x_372, 3); +lean_inc(x_446); +if (lean_is_exclusive(x_372)) { + lean_ctor_release(x_372, 0); + lean_ctor_release(x_372, 1); + lean_ctor_release(x_372, 2); + lean_ctor_release(x_372, 3); + x_447 = x_372; +} else { + lean_dec_ref(x_372); + x_447 = lean_box(0); +} +if (lean_is_scalar(x_447)) { + x_448 = lean_alloc_ctor(1, 4, 1); +} else { + x_448 = x_447; +} +lean_ctor_set(x_448, 0, x_443); +lean_ctor_set(x_448, 1, x_444); +lean_ctor_set(x_448, 2, x_445); +lean_ctor_set(x_448, 3, x_446); +lean_ctor_set_uint8(x_448, sizeof(void*)*4, x_425); +x_449 = 0; +if (lean_is_scalar(x_442)) { + x_450 = lean_alloc_ctor(1, 4, 1); +} else { + x_450 = x_442; +} +lean_ctor_set(x_450, 0, x_448); +lean_ctor_set(x_450, 1, x_440); +lean_ctor_set(x_450, 2, x_441); +lean_ctor_set(x_450, 3, x_417); +lean_ctor_set_uint8(x_450, sizeof(void*)*4, x_449); +x_451 = 1; +x_452 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_452, 0, x_450); +lean_ctor_set(x_452, 1, x_363); +lean_ctor_set(x_452, 2, x_364); +lean_ctor_set(x_452, 3, x_365); +lean_ctor_set_uint8(x_452, sizeof(void*)*4, x_451); +return x_452; +} +} +} +} +} +} +case 1: +{ +uint8_t x_453; lean_object* x_454; +lean_dec(x_364); +lean_dec(x_363); +x_453 = 1; +x_454 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_454, 0, x_362); +lean_ctor_set(x_454, 1, x_2); +lean_ctor_set(x_454, 2, x_3); +lean_ctor_set(x_454, 3, x_365); +lean_ctor_set_uint8(x_454, sizeof(void*)*4, x_453); +return x_454; +} +default: +{ +uint8_t x_455; +x_455 = l_Std_RBNode_isRed___rarg(x_365); +if (x_455 == 0) +{ +lean_object* x_456; uint8_t x_457; lean_object* x_458; +x_456 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_365, x_2, x_3); +x_457 = 1; +x_458 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_458, 0, x_362); +lean_ctor_set(x_458, 1, x_363); +lean_ctor_set(x_458, 2, x_364); +lean_ctor_set(x_458, 3, x_456); +lean_ctor_set_uint8(x_458, sizeof(void*)*4, x_457); +return x_458; +} +else +{ +lean_object* x_459; lean_object* x_460; +x_459 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_365, x_2, x_3); +x_460 = lean_ctor_get(x_459, 0); +lean_inc(x_460); +if (lean_obj_tag(x_460) == 0) +{ +lean_object* x_461; +x_461 = lean_ctor_get(x_459, 3); +lean_inc(x_461); +if (lean_obj_tag(x_461) == 0) +{ +lean_object* x_462; lean_object* x_463; lean_object* x_464; uint8_t x_465; lean_object* x_466; uint8_t x_467; lean_object* x_468; +x_462 = lean_ctor_get(x_459, 1); +lean_inc(x_462); +x_463 = lean_ctor_get(x_459, 2); +lean_inc(x_463); +if (lean_is_exclusive(x_459)) { + lean_ctor_release(x_459, 0); + lean_ctor_release(x_459, 1); + lean_ctor_release(x_459, 2); + lean_ctor_release(x_459, 3); + x_464 = x_459; +} else { + lean_dec_ref(x_459); + x_464 = lean_box(0); +} +x_465 = 0; +if (lean_is_scalar(x_464)) { + x_466 = lean_alloc_ctor(1, 4, 1); +} else { + x_466 = x_464; +} +lean_ctor_set(x_466, 0, x_461); +lean_ctor_set(x_466, 1, x_462); +lean_ctor_set(x_466, 2, x_463); +lean_ctor_set(x_466, 3, x_461); +lean_ctor_set_uint8(x_466, sizeof(void*)*4, x_465); +x_467 = 1; +x_468 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_468, 0, x_362); +lean_ctor_set(x_468, 1, x_363); +lean_ctor_set(x_468, 2, x_364); +lean_ctor_set(x_468, 3, x_466); +lean_ctor_set_uint8(x_468, sizeof(void*)*4, x_467); +return x_468; +} +else +{ +uint8_t x_469; +x_469 = lean_ctor_get_uint8(x_461, sizeof(void*)*4); +if (x_469 == 0) +{ +lean_object* x_470; lean_object* x_471; lean_object* x_472; lean_object* x_473; lean_object* x_474; lean_object* x_475; lean_object* x_476; lean_object* x_477; uint8_t x_478; lean_object* x_479; lean_object* x_480; uint8_t x_481; lean_object* x_482; +x_470 = lean_ctor_get(x_459, 1); +lean_inc(x_470); +x_471 = lean_ctor_get(x_459, 2); +lean_inc(x_471); +if (lean_is_exclusive(x_459)) { + lean_ctor_release(x_459, 0); + lean_ctor_release(x_459, 1); + lean_ctor_release(x_459, 2); + lean_ctor_release(x_459, 3); + x_472 = x_459; +} else { + lean_dec_ref(x_459); + x_472 = lean_box(0); +} +x_473 = lean_ctor_get(x_461, 0); +lean_inc(x_473); +x_474 = lean_ctor_get(x_461, 1); +lean_inc(x_474); +x_475 = lean_ctor_get(x_461, 2); +lean_inc(x_475); +x_476 = lean_ctor_get(x_461, 3); +lean_inc(x_476); +if (lean_is_exclusive(x_461)) { + lean_ctor_release(x_461, 0); + lean_ctor_release(x_461, 1); + lean_ctor_release(x_461, 2); + lean_ctor_release(x_461, 3); + x_477 = x_461; +} else { + lean_dec_ref(x_461); + x_477 = lean_box(0); +} +x_478 = 1; +if (lean_is_scalar(x_477)) { + x_479 = lean_alloc_ctor(1, 4, 1); +} else { + x_479 = x_477; +} +lean_ctor_set(x_479, 0, x_362); +lean_ctor_set(x_479, 1, x_363); +lean_ctor_set(x_479, 2, x_364); +lean_ctor_set(x_479, 3, x_460); +lean_ctor_set_uint8(x_479, sizeof(void*)*4, x_478); +if (lean_is_scalar(x_472)) { + x_480 = lean_alloc_ctor(1, 4, 1); +} else { + x_480 = x_472; +} +lean_ctor_set(x_480, 0, x_473); +lean_ctor_set(x_480, 1, x_474); +lean_ctor_set(x_480, 2, x_475); +lean_ctor_set(x_480, 3, x_476); +lean_ctor_set_uint8(x_480, sizeof(void*)*4, x_478); +x_481 = 0; +x_482 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_482, 0, x_479); +lean_ctor_set(x_482, 1, x_470); +lean_ctor_set(x_482, 2, x_471); +lean_ctor_set(x_482, 3, x_480); +lean_ctor_set_uint8(x_482, sizeof(void*)*4, x_481); +return x_482; +} +else +{ +lean_object* x_483; lean_object* x_484; lean_object* x_485; uint8_t x_486; lean_object* x_487; uint8_t x_488; lean_object* x_489; +x_483 = lean_ctor_get(x_459, 1); +lean_inc(x_483); +x_484 = lean_ctor_get(x_459, 2); +lean_inc(x_484); +if (lean_is_exclusive(x_459)) { + lean_ctor_release(x_459, 0); + lean_ctor_release(x_459, 1); + lean_ctor_release(x_459, 2); + lean_ctor_release(x_459, 3); + x_485 = x_459; +} else { + lean_dec_ref(x_459); + x_485 = lean_box(0); +} +x_486 = 0; +if (lean_is_scalar(x_485)) { + x_487 = lean_alloc_ctor(1, 4, 1); +} else { + x_487 = x_485; +} +lean_ctor_set(x_487, 0, x_460); +lean_ctor_set(x_487, 1, x_483); +lean_ctor_set(x_487, 2, x_484); +lean_ctor_set(x_487, 3, x_461); +lean_ctor_set_uint8(x_487, sizeof(void*)*4, x_486); +x_488 = 1; +x_489 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_489, 0, x_362); +lean_ctor_set(x_489, 1, x_363); +lean_ctor_set(x_489, 2, x_364); +lean_ctor_set(x_489, 3, x_487); +lean_ctor_set_uint8(x_489, sizeof(void*)*4, x_488); +return x_489; +} +} +} +else +{ +uint8_t x_490; +x_490 = lean_ctor_get_uint8(x_460, sizeof(void*)*4); +if (x_490 == 0) +{ +lean_object* x_491; lean_object* x_492; lean_object* x_493; lean_object* x_494; lean_object* x_495; lean_object* x_496; lean_object* x_497; lean_object* x_498; lean_object* x_499; uint8_t x_500; lean_object* x_501; lean_object* x_502; uint8_t x_503; lean_object* x_504; +x_491 = lean_ctor_get(x_459, 1); +lean_inc(x_491); +x_492 = lean_ctor_get(x_459, 2); +lean_inc(x_492); +x_493 = lean_ctor_get(x_459, 3); +lean_inc(x_493); +if (lean_is_exclusive(x_459)) { + lean_ctor_release(x_459, 0); + lean_ctor_release(x_459, 1); + lean_ctor_release(x_459, 2); + lean_ctor_release(x_459, 3); + x_494 = x_459; +} else { + lean_dec_ref(x_459); + x_494 = lean_box(0); +} +x_495 = lean_ctor_get(x_460, 0); +lean_inc(x_495); +x_496 = lean_ctor_get(x_460, 1); +lean_inc(x_496); +x_497 = lean_ctor_get(x_460, 2); +lean_inc(x_497); +x_498 = lean_ctor_get(x_460, 3); +lean_inc(x_498); +if (lean_is_exclusive(x_460)) { + lean_ctor_release(x_460, 0); + lean_ctor_release(x_460, 1); + lean_ctor_release(x_460, 2); + lean_ctor_release(x_460, 3); + x_499 = x_460; +} else { + lean_dec_ref(x_460); + x_499 = lean_box(0); +} +x_500 = 1; +if (lean_is_scalar(x_499)) { + x_501 = lean_alloc_ctor(1, 4, 1); +} else { + x_501 = x_499; +} +lean_ctor_set(x_501, 0, x_362); +lean_ctor_set(x_501, 1, x_363); +lean_ctor_set(x_501, 2, x_364); +lean_ctor_set(x_501, 3, x_495); +lean_ctor_set_uint8(x_501, sizeof(void*)*4, x_500); +if (lean_is_scalar(x_494)) { + x_502 = lean_alloc_ctor(1, 4, 1); +} else { + x_502 = x_494; +} +lean_ctor_set(x_502, 0, x_498); +lean_ctor_set(x_502, 1, x_491); +lean_ctor_set(x_502, 2, x_492); +lean_ctor_set(x_502, 3, x_493); +lean_ctor_set_uint8(x_502, sizeof(void*)*4, x_500); +x_503 = 0; +x_504 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_504, 0, x_501); +lean_ctor_set(x_504, 1, x_496); +lean_ctor_set(x_504, 2, x_497); +lean_ctor_set(x_504, 3, x_502); +lean_ctor_set_uint8(x_504, sizeof(void*)*4, x_503); +return x_504; +} +else +{ +lean_object* x_505; +x_505 = lean_ctor_get(x_459, 3); +lean_inc(x_505); +if (lean_obj_tag(x_505) == 0) +{ +lean_object* x_506; lean_object* x_507; lean_object* x_508; uint8_t x_509; lean_object* x_510; uint8_t x_511; lean_object* x_512; +x_506 = lean_ctor_get(x_459, 1); +lean_inc(x_506); +x_507 = lean_ctor_get(x_459, 2); +lean_inc(x_507); +if (lean_is_exclusive(x_459)) { + lean_ctor_release(x_459, 0); + lean_ctor_release(x_459, 1); + lean_ctor_release(x_459, 2); + lean_ctor_release(x_459, 3); + x_508 = x_459; +} else { + lean_dec_ref(x_459); + x_508 = lean_box(0); +} +x_509 = 0; +if (lean_is_scalar(x_508)) { + x_510 = lean_alloc_ctor(1, 4, 1); +} else { + x_510 = x_508; +} +lean_ctor_set(x_510, 0, x_460); +lean_ctor_set(x_510, 1, x_506); +lean_ctor_set(x_510, 2, x_507); +lean_ctor_set(x_510, 3, x_505); +lean_ctor_set_uint8(x_510, sizeof(void*)*4, x_509); +x_511 = 1; +x_512 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_512, 0, x_362); +lean_ctor_set(x_512, 1, x_363); +lean_ctor_set(x_512, 2, x_364); +lean_ctor_set(x_512, 3, x_510); +lean_ctor_set_uint8(x_512, sizeof(void*)*4, x_511); +return x_512; +} +else +{ +uint8_t x_513; +x_513 = lean_ctor_get_uint8(x_505, sizeof(void*)*4); +if (x_513 == 0) +{ +lean_object* x_514; lean_object* x_515; lean_object* x_516; lean_object* x_517; lean_object* x_518; lean_object* x_519; lean_object* x_520; lean_object* x_521; uint8_t x_522; lean_object* x_523; lean_object* x_524; lean_object* x_525; uint8_t x_526; lean_object* x_527; +x_514 = lean_ctor_get(x_459, 1); +lean_inc(x_514); +x_515 = lean_ctor_get(x_459, 2); +lean_inc(x_515); +if (lean_is_exclusive(x_459)) { + lean_ctor_release(x_459, 0); + lean_ctor_release(x_459, 1); + lean_ctor_release(x_459, 2); + lean_ctor_release(x_459, 3); + x_516 = x_459; +} else { + lean_dec_ref(x_459); + x_516 = lean_box(0); +} +x_517 = lean_ctor_get(x_505, 0); +lean_inc(x_517); +x_518 = lean_ctor_get(x_505, 1); +lean_inc(x_518); +x_519 = lean_ctor_get(x_505, 2); +lean_inc(x_519); +x_520 = lean_ctor_get(x_505, 3); +lean_inc(x_520); +if (lean_is_exclusive(x_505)) { + lean_ctor_release(x_505, 0); + lean_ctor_release(x_505, 1); + lean_ctor_release(x_505, 2); + lean_ctor_release(x_505, 3); + x_521 = x_505; +} else { + lean_dec_ref(x_505); + x_521 = lean_box(0); +} +x_522 = 1; +lean_inc(x_460); +if (lean_is_scalar(x_521)) { + x_523 = lean_alloc_ctor(1, 4, 1); +} else { + x_523 = x_521; +} +lean_ctor_set(x_523, 0, x_362); +lean_ctor_set(x_523, 1, x_363); +lean_ctor_set(x_523, 2, x_364); +lean_ctor_set(x_523, 3, x_460); +if (lean_is_exclusive(x_460)) { + lean_ctor_release(x_460, 0); + lean_ctor_release(x_460, 1); + lean_ctor_release(x_460, 2); + lean_ctor_release(x_460, 3); + x_524 = x_460; +} else { + lean_dec_ref(x_460); + x_524 = lean_box(0); +} +lean_ctor_set_uint8(x_523, sizeof(void*)*4, x_522); +if (lean_is_scalar(x_524)) { + x_525 = lean_alloc_ctor(1, 4, 1); +} else { + x_525 = x_524; +} +lean_ctor_set(x_525, 0, x_517); +lean_ctor_set(x_525, 1, x_518); +lean_ctor_set(x_525, 2, x_519); +lean_ctor_set(x_525, 3, x_520); +lean_ctor_set_uint8(x_525, sizeof(void*)*4, x_522); +x_526 = 0; +if (lean_is_scalar(x_516)) { + x_527 = lean_alloc_ctor(1, 4, 1); +} else { + x_527 = x_516; +} +lean_ctor_set(x_527, 0, x_523); +lean_ctor_set(x_527, 1, x_514); +lean_ctor_set(x_527, 2, x_515); +lean_ctor_set(x_527, 3, x_525); +lean_ctor_set_uint8(x_527, sizeof(void*)*4, x_526); +return x_527; +} +else +{ +lean_object* x_528; lean_object* x_529; lean_object* x_530; lean_object* x_531; lean_object* x_532; lean_object* x_533; lean_object* x_534; lean_object* x_535; lean_object* x_536; uint8_t x_537; lean_object* x_538; uint8_t x_539; lean_object* x_540; +x_528 = lean_ctor_get(x_459, 1); +lean_inc(x_528); +x_529 = lean_ctor_get(x_459, 2); +lean_inc(x_529); +if (lean_is_exclusive(x_459)) { + lean_ctor_release(x_459, 0); + lean_ctor_release(x_459, 1); + lean_ctor_release(x_459, 2); + lean_ctor_release(x_459, 3); + x_530 = x_459; +} else { + lean_dec_ref(x_459); + x_530 = lean_box(0); +} +x_531 = lean_ctor_get(x_460, 0); +lean_inc(x_531); +x_532 = lean_ctor_get(x_460, 1); +lean_inc(x_532); +x_533 = lean_ctor_get(x_460, 2); +lean_inc(x_533); +x_534 = lean_ctor_get(x_460, 3); +lean_inc(x_534); +if (lean_is_exclusive(x_460)) { + lean_ctor_release(x_460, 0); + lean_ctor_release(x_460, 1); + lean_ctor_release(x_460, 2); + lean_ctor_release(x_460, 3); + x_535 = x_460; +} else { + lean_dec_ref(x_460); + x_535 = lean_box(0); +} +if (lean_is_scalar(x_535)) { + x_536 = lean_alloc_ctor(1, 4, 1); +} else { + x_536 = x_535; +} +lean_ctor_set(x_536, 0, x_531); +lean_ctor_set(x_536, 1, x_532); +lean_ctor_set(x_536, 2, x_533); +lean_ctor_set(x_536, 3, x_534); +lean_ctor_set_uint8(x_536, sizeof(void*)*4, x_513); +x_537 = 0; +if (lean_is_scalar(x_530)) { + x_538 = lean_alloc_ctor(1, 4, 1); +} else { + x_538 = x_530; +} +lean_ctor_set(x_538, 0, x_536); +lean_ctor_set(x_538, 1, x_528); +lean_ctor_set(x_538, 2, x_529); +lean_ctor_set(x_538, 3, x_505); +lean_ctor_set_uint8(x_538, sizeof(void*)*4, x_537); +x_539 = 1; +x_540 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_540, 0, x_362); +lean_ctor_set(x_540, 1, x_363); +lean_ctor_set(x_540, 2, x_364); +lean_ctor_set(x_540, 3, x_538); +lean_ctor_set_uint8(x_540, sizeof(void*)*4, x_539); +return x_540; +} +} +} +} +} +} +} +} +} +} +} +} +LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg), 3, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Std_RBNode_insert___at_Lean_NameMap_insert___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; +x_4 = l_Std_RBNode_isRed___rarg(x_1); +if (x_4 == 0) +{ +lean_object* x_5; +x_5 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__2___rarg(x_1, x_2, x_3); +return x_5; +} +else +{ +lean_object* x_6; lean_object* x_7; +x_6 = l_Std_RBNode_ins___at_Lean_NameMap_insert___spec__3___rarg(x_1, x_2, x_3); +x_7 = l_Std_RBNode_setBlack___rarg(x_6); +return x_7; +} +} +} +LEAN_EXPORT lean_object* l_Std_RBNode_insert___at_Lean_NameMap_insert___spec__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Std_RBNode_insert___at_Lean_NameMap_insert___spec__1___rarg), 3, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_NameMap_insert___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_Std_RBNode_insert___at_Lean_NameMap_insert___spec__1___rarg(x_1, x_2, x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Lean_NameMap_insert(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_NameMap_insert___rarg), 3, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameMap_contains___spec__1___rarg(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_3; +x_3 = lean_box(0); +return x_3; +} +else +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; +x_4 = lean_ctor_get(x_1, 0); +x_5 = lean_ctor_get(x_1, 1); +x_6 = lean_ctor_get(x_1, 2); +x_7 = lean_ctor_get(x_1, 3); +x_8 = l_Lean_Name_quickCmp(x_2, x_5); +switch (x_8) { +case 0: +{ +x_1 = x_4; +goto _start; +} +case 1: +{ +lean_object* x_10; +lean_inc(x_6); +x_10 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_10, 0, x_6); +return x_10; +} +default: +{ +x_1 = x_7; +goto _start; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameMap_contains___spec__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Std_RBNode_find___at_Lean_NameMap_contains___spec__1___rarg___boxed), 2, 0); +return x_2; +} +} +LEAN_EXPORT uint8_t l_Lean_NameMap_contains___rarg(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Std_RBNode_find___at_Lean_NameMap_contains___spec__1___rarg(x_1, x_2); +if (lean_obj_tag(x_3) == 0) +{ +uint8_t x_4; +x_4 = 0; +return x_4; +} +else +{ +uint8_t x_5; +lean_dec(x_3); +x_5 = 1; +return x_5; +} +} +} +LEAN_EXPORT lean_object* l_Lean_NameMap_contains(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_NameMap_contains___rarg___boxed), 2, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameMap_contains___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Std_RBNode_find___at_Lean_NameMap_contains___spec__1___rarg(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_NameMap_contains___rarg___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_Lean_NameMap_contains___rarg(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameMap_find_x3f___spec__1___rarg(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_3; +x_3 = lean_box(0); +return x_3; +} +else +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; +x_4 = lean_ctor_get(x_1, 0); +x_5 = lean_ctor_get(x_1, 1); +x_6 = lean_ctor_get(x_1, 2); +x_7 = lean_ctor_get(x_1, 3); +x_8 = l_Lean_Name_quickCmp(x_2, x_5); +switch (x_8) { +case 0: +{ +x_1 = x_4; +goto _start; +} +case 1: +{ +lean_object* x_10; +lean_inc(x_6); +x_10 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_10, 0, x_6); +return x_10; +} +default: +{ +x_1 = x_7; +goto _start; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameMap_find_x3f___spec__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Std_RBNode_find___at_Lean_NameMap_find_x3f___spec__1___rarg___boxed), 2, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_NameMap_find_x3f___rarg(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Std_RBNode_find___at_Lean_NameMap_find_x3f___spec__1___rarg(x_1, x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_NameMap_find_x3f(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_NameMap_find_x3f___rarg___boxed), 2, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameMap_find_x3f___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Std_RBNode_find___at_Lean_NameMap_find_x3f___spec__1___rarg(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_NameMap_find_x3f___rarg___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Lean_NameMap_find_x3f___rarg(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +return x_3; +} +} +static lean_object* _init_l_Lean_NameMap_instForInNameMapProdName___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Name_quickCmp___boxed), 2, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_NameMap_instForInNameMapProdName___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_NameMap_instForInNameMapProdName___closed__1; +x_2 = lean_alloc_closure((void*)(l_Std_RBMap_instForInRBMapProd___boxed), 5, 4); +lean_closure_set(x_2, 0, lean_box(0)); +lean_closure_set(x_2, 1, lean_box(0)); +lean_closure_set(x_2, 2, x_1); +lean_closure_set(x_2, 3, lean_box(0)); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_NameMap_instForInNameMapProdName(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Lean_NameMap_instForInNameMapProdName___closed__2; +return x_3; +} +} +static lean_object* _init_l_Lean_NameSet_empty() { +_start: +{ +lean_object* x_1; +x_1 = lean_box(0); +return x_1; +} +} +static lean_object* _init_l_Lean_NameSet_instEmptyCollectionNameSet() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_NameSet_empty; +return x_1; +} +} +static lean_object* _init_l_Lean_NameSet_instInhabitedNameSet() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_NameSet_empty; +return x_1; +} +} +LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; uint8_t x_5; lean_object* x_6; +x_4 = lean_box(0); +x_5 = 0; +x_6 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_6, 0, x_4); +lean_ctor_set(x_6, 1, x_2); +lean_ctor_set(x_6, 2, x_3); +lean_ctor_set(x_6, 3, x_4); +lean_ctor_set_uint8(x_6, sizeof(void*)*4, x_5); +return x_6; +} +else +{ +uint8_t x_7; +x_7 = lean_ctor_get_uint8(x_1, sizeof(void*)*4); +if (x_7 == 0) +{ +uint8_t x_8; +x_8 = !lean_is_exclusive(x_1); +if (x_8 == 0) +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; +x_9 = lean_ctor_get(x_1, 0); +x_10 = lean_ctor_get(x_1, 1); +x_11 = lean_ctor_get(x_1, 2); +x_12 = lean_ctor_get(x_1, 3); +x_13 = l_Lean_Name_quickCmp(x_2, x_10); +switch (x_13) { +case 0: +{ +lean_object* x_14; uint8_t x_15; +x_14 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_9, x_2, x_3); +x_15 = 0; +lean_ctor_set(x_1, 0, x_14); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_15); +return x_1; +} +case 1: +{ +uint8_t x_16; +lean_dec(x_11); +lean_dec(x_10); +x_16 = 0; +lean_ctor_set(x_1, 2, x_3); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_16); +return x_1; +} +default: +{ +lean_object* x_17; uint8_t x_18; +x_17 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_12, x_2, x_3); +x_18 = 0; +lean_ctor_set(x_1, 3, x_17); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_18); +return x_1; +} +} +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; +x_19 = lean_ctor_get(x_1, 0); +x_20 = lean_ctor_get(x_1, 1); +x_21 = lean_ctor_get(x_1, 2); +x_22 = lean_ctor_get(x_1, 3); +lean_inc(x_22); +lean_inc(x_21); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_1); +x_23 = l_Lean_Name_quickCmp(x_2, x_20); +switch (x_23) { +case 0: +{ +lean_object* x_24; uint8_t x_25; lean_object* x_26; +x_24 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_19, x_2, x_3); +x_25 = 0; +x_26 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_26, 0, x_24); +lean_ctor_set(x_26, 1, x_20); +lean_ctor_set(x_26, 2, x_21); +lean_ctor_set(x_26, 3, x_22); +lean_ctor_set_uint8(x_26, sizeof(void*)*4, x_25); +return x_26; +} +case 1: +{ +uint8_t x_27; lean_object* x_28; +lean_dec(x_21); +lean_dec(x_20); +x_27 = 0; +x_28 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_28, 0, x_19); +lean_ctor_set(x_28, 1, x_2); +lean_ctor_set(x_28, 2, x_3); +lean_ctor_set(x_28, 3, x_22); +lean_ctor_set_uint8(x_28, sizeof(void*)*4, x_27); +return x_28; +} +default: +{ +lean_object* x_29; uint8_t x_30; lean_object* x_31; +x_29 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_22, x_2, x_3); +x_30 = 0; +x_31 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_31, 0, x_19); +lean_ctor_set(x_31, 1, x_20); +lean_ctor_set(x_31, 2, x_21); +lean_ctor_set(x_31, 3, x_29); +lean_ctor_set_uint8(x_31, sizeof(void*)*4, x_30); +return x_31; +} +} +} +} +else +{ +uint8_t x_32; +x_32 = !lean_is_exclusive(x_1); +if (x_32 == 0) +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; +x_33 = lean_ctor_get(x_1, 0); +x_34 = lean_ctor_get(x_1, 1); +x_35 = lean_ctor_get(x_1, 2); +x_36 = lean_ctor_get(x_1, 3); +x_37 = l_Lean_Name_quickCmp(x_2, x_34); +switch (x_37) { +case 0: +{ +uint8_t x_38; +x_38 = l_Std_RBNode_isRed___rarg(x_33); +if (x_38 == 0) +{ +lean_object* x_39; uint8_t x_40; +x_39 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_33, x_2, x_3); +x_40 = 1; +lean_ctor_set(x_1, 0, x_39); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_40); +return x_1; +} +else +{ +lean_object* x_41; lean_object* x_42; +x_41 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_33, x_2, x_3); +x_42 = lean_ctor_get(x_41, 0); +lean_inc(x_42); +if (lean_obj_tag(x_42) == 0) +{ +lean_object* x_43; +x_43 = lean_ctor_get(x_41, 3); +lean_inc(x_43); +if (lean_obj_tag(x_43) == 0) +{ +uint8_t x_44; +x_44 = !lean_is_exclusive(x_41); +if (x_44 == 0) +{ +lean_object* x_45; lean_object* x_46; uint8_t x_47; uint8_t x_48; +x_45 = lean_ctor_get(x_41, 3); +lean_dec(x_45); +x_46 = lean_ctor_get(x_41, 0); +lean_dec(x_46); +x_47 = 0; +lean_ctor_set(x_41, 0, x_43); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_47); +x_48 = 1; +lean_ctor_set(x_1, 0, x_41); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_48); +return x_1; +} +else +{ +lean_object* x_49; lean_object* x_50; uint8_t x_51; lean_object* x_52; uint8_t x_53; +x_49 = lean_ctor_get(x_41, 1); +x_50 = lean_ctor_get(x_41, 2); +lean_inc(x_50); +lean_inc(x_49); +lean_dec(x_41); +x_51 = 0; +x_52 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_52, 0, x_43); +lean_ctor_set(x_52, 1, x_49); +lean_ctor_set(x_52, 2, x_50); +lean_ctor_set(x_52, 3, x_43); +lean_ctor_set_uint8(x_52, sizeof(void*)*4, x_51); +x_53 = 1; +lean_ctor_set(x_1, 0, x_52); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_53); +return x_1; +} +} +else +{ +uint8_t x_54; +x_54 = lean_ctor_get_uint8(x_43, sizeof(void*)*4); +if (x_54 == 0) +{ +uint8_t x_55; +x_55 = !lean_is_exclusive(x_41); +if (x_55 == 0) +{ +lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60; +x_56 = lean_ctor_get(x_41, 1); +x_57 = lean_ctor_get(x_41, 2); +x_58 = lean_ctor_get(x_41, 3); +lean_dec(x_58); +x_59 = lean_ctor_get(x_41, 0); +lean_dec(x_59); +x_60 = !lean_is_exclusive(x_43); +if (x_60 == 0) +{ +lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; uint8_t x_65; uint8_t x_66; +x_61 = lean_ctor_get(x_43, 0); +x_62 = lean_ctor_get(x_43, 1); +x_63 = lean_ctor_get(x_43, 2); +x_64 = lean_ctor_get(x_43, 3); +x_65 = 1; +lean_ctor_set(x_43, 3, x_61); +lean_ctor_set(x_43, 2, x_57); +lean_ctor_set(x_43, 1, x_56); +lean_ctor_set(x_43, 0, x_42); +lean_ctor_set_uint8(x_43, sizeof(void*)*4, x_65); +lean_ctor_set(x_41, 3, x_36); +lean_ctor_set(x_41, 2, x_35); +lean_ctor_set(x_41, 1, x_34); +lean_ctor_set(x_41, 0, x_64); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_65); +x_66 = 0; +lean_ctor_set(x_1, 3, x_41); +lean_ctor_set(x_1, 2, x_63); +lean_ctor_set(x_1, 1, x_62); +lean_ctor_set(x_1, 0, x_43); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_66); +return x_1; +} +else +{ +lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71; lean_object* x_72; uint8_t x_73; +x_67 = lean_ctor_get(x_43, 0); +x_68 = lean_ctor_get(x_43, 1); +x_69 = lean_ctor_get(x_43, 2); +x_70 = lean_ctor_get(x_43, 3); +lean_inc(x_70); +lean_inc(x_69); +lean_inc(x_68); +lean_inc(x_67); +lean_dec(x_43); +x_71 = 1; +x_72 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_72, 0, x_42); +lean_ctor_set(x_72, 1, x_56); +lean_ctor_set(x_72, 2, x_57); +lean_ctor_set(x_72, 3, x_67); +lean_ctor_set_uint8(x_72, sizeof(void*)*4, x_71); +lean_ctor_set(x_41, 3, x_36); +lean_ctor_set(x_41, 2, x_35); +lean_ctor_set(x_41, 1, x_34); +lean_ctor_set(x_41, 0, x_70); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_71); +x_73 = 0; +lean_ctor_set(x_1, 3, x_41); +lean_ctor_set(x_1, 2, x_69); +lean_ctor_set(x_1, 1, x_68); +lean_ctor_set(x_1, 0, x_72); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_73); +return x_1; +} +} +else +{ +lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; uint8_t x_81; lean_object* x_82; lean_object* x_83; uint8_t x_84; +x_74 = lean_ctor_get(x_41, 1); +x_75 = lean_ctor_get(x_41, 2); +lean_inc(x_75); +lean_inc(x_74); +lean_dec(x_41); +x_76 = lean_ctor_get(x_43, 0); +lean_inc(x_76); +x_77 = lean_ctor_get(x_43, 1); +lean_inc(x_77); +x_78 = lean_ctor_get(x_43, 2); +lean_inc(x_78); +x_79 = lean_ctor_get(x_43, 3); +lean_inc(x_79); +if (lean_is_exclusive(x_43)) { + lean_ctor_release(x_43, 0); + lean_ctor_release(x_43, 1); + lean_ctor_release(x_43, 2); + lean_ctor_release(x_43, 3); + x_80 = x_43; +} else { + lean_dec_ref(x_43); + x_80 = lean_box(0); +} +x_81 = 1; +if (lean_is_scalar(x_80)) { + x_82 = lean_alloc_ctor(1, 4, 1); +} else { + x_82 = x_80; +} +lean_ctor_set(x_82, 0, x_42); +lean_ctor_set(x_82, 1, x_74); +lean_ctor_set(x_82, 2, x_75); +lean_ctor_set(x_82, 3, x_76); +lean_ctor_set_uint8(x_82, sizeof(void*)*4, x_81); +x_83 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_83, 0, x_79); +lean_ctor_set(x_83, 1, x_34); +lean_ctor_set(x_83, 2, x_35); +lean_ctor_set(x_83, 3, x_36); +lean_ctor_set_uint8(x_83, sizeof(void*)*4, x_81); +x_84 = 0; +lean_ctor_set(x_1, 3, x_83); +lean_ctor_set(x_1, 2, x_78); +lean_ctor_set(x_1, 1, x_77); +lean_ctor_set(x_1, 0, x_82); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_84); +return x_1; +} +} +else +{ +uint8_t x_85; +x_85 = !lean_is_exclusive(x_41); +if (x_85 == 0) +{ +lean_object* x_86; lean_object* x_87; uint8_t x_88; uint8_t x_89; +x_86 = lean_ctor_get(x_41, 3); +lean_dec(x_86); +x_87 = lean_ctor_get(x_41, 0); +lean_dec(x_87); +x_88 = 0; +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_88); +x_89 = 1; +lean_ctor_set(x_1, 0, x_41); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_89); +return x_1; +} +else +{ +lean_object* x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93; uint8_t x_94; +x_90 = lean_ctor_get(x_41, 1); +x_91 = lean_ctor_get(x_41, 2); +lean_inc(x_91); +lean_inc(x_90); +lean_dec(x_41); +x_92 = 0; +x_93 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_93, 0, x_42); +lean_ctor_set(x_93, 1, x_90); +lean_ctor_set(x_93, 2, x_91); +lean_ctor_set(x_93, 3, x_43); +lean_ctor_set_uint8(x_93, sizeof(void*)*4, x_92); +x_94 = 1; +lean_ctor_set(x_1, 0, x_93); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_94); +return x_1; +} +} +} +} +else +{ +uint8_t x_95; +x_95 = lean_ctor_get_uint8(x_42, sizeof(void*)*4); +if (x_95 == 0) +{ +uint8_t x_96; +x_96 = !lean_is_exclusive(x_41); +if (x_96 == 0) +{ +lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; uint8_t x_101; +x_97 = lean_ctor_get(x_41, 1); +x_98 = lean_ctor_get(x_41, 2); +x_99 = lean_ctor_get(x_41, 3); +x_100 = lean_ctor_get(x_41, 0); +lean_dec(x_100); +x_101 = !lean_is_exclusive(x_42); +if (x_101 == 0) +{ +uint8_t x_102; uint8_t x_103; +x_102 = 1; +lean_ctor_set_uint8(x_42, sizeof(void*)*4, x_102); +lean_ctor_set(x_41, 3, x_36); +lean_ctor_set(x_41, 2, x_35); +lean_ctor_set(x_41, 1, x_34); +lean_ctor_set(x_41, 0, x_99); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_102); +x_103 = 0; +lean_ctor_set(x_1, 3, x_41); +lean_ctor_set(x_1, 2, x_98); +lean_ctor_set(x_1, 1, x_97); +lean_ctor_set(x_1, 0, x_42); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_103); +return x_1; +} +else +{ +lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; uint8_t x_108; lean_object* x_109; uint8_t x_110; +x_104 = lean_ctor_get(x_42, 0); +x_105 = lean_ctor_get(x_42, 1); +x_106 = lean_ctor_get(x_42, 2); +x_107 = lean_ctor_get(x_42, 3); +lean_inc(x_107); +lean_inc(x_106); +lean_inc(x_105); +lean_inc(x_104); +lean_dec(x_42); +x_108 = 1; +x_109 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_109, 0, x_104); +lean_ctor_set(x_109, 1, x_105); +lean_ctor_set(x_109, 2, x_106); +lean_ctor_set(x_109, 3, x_107); +lean_ctor_set_uint8(x_109, sizeof(void*)*4, x_108); +lean_ctor_set(x_41, 3, x_36); +lean_ctor_set(x_41, 2, x_35); +lean_ctor_set(x_41, 1, x_34); +lean_ctor_set(x_41, 0, x_99); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_108); +x_110 = 0; +lean_ctor_set(x_1, 3, x_41); +lean_ctor_set(x_1, 2, x_98); +lean_ctor_set(x_1, 1, x_97); +lean_ctor_set(x_1, 0, x_109); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_110); +return x_1; +} +} +else +{ +lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; uint8_t x_119; lean_object* x_120; lean_object* x_121; uint8_t x_122; +x_111 = lean_ctor_get(x_41, 1); +x_112 = lean_ctor_get(x_41, 2); +x_113 = lean_ctor_get(x_41, 3); +lean_inc(x_113); +lean_inc(x_112); +lean_inc(x_111); +lean_dec(x_41); +x_114 = lean_ctor_get(x_42, 0); +lean_inc(x_114); +x_115 = lean_ctor_get(x_42, 1); +lean_inc(x_115); +x_116 = lean_ctor_get(x_42, 2); +lean_inc(x_116); +x_117 = lean_ctor_get(x_42, 3); +lean_inc(x_117); +if (lean_is_exclusive(x_42)) { + lean_ctor_release(x_42, 0); + lean_ctor_release(x_42, 1); + lean_ctor_release(x_42, 2); + lean_ctor_release(x_42, 3); + x_118 = x_42; +} else { + lean_dec_ref(x_42); + x_118 = lean_box(0); +} +x_119 = 1; +if (lean_is_scalar(x_118)) { + x_120 = lean_alloc_ctor(1, 4, 1); +} else { + x_120 = x_118; +} +lean_ctor_set(x_120, 0, x_114); +lean_ctor_set(x_120, 1, x_115); +lean_ctor_set(x_120, 2, x_116); +lean_ctor_set(x_120, 3, x_117); +lean_ctor_set_uint8(x_120, sizeof(void*)*4, x_119); +x_121 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_121, 0, x_113); +lean_ctor_set(x_121, 1, x_34); +lean_ctor_set(x_121, 2, x_35); +lean_ctor_set(x_121, 3, x_36); +lean_ctor_set_uint8(x_121, sizeof(void*)*4, x_119); +x_122 = 0; +lean_ctor_set(x_1, 3, x_121); +lean_ctor_set(x_1, 2, x_112); +lean_ctor_set(x_1, 1, x_111); +lean_ctor_set(x_1, 0, x_120); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_122); +return x_1; +} +} +else +{ +lean_object* x_123; +x_123 = lean_ctor_get(x_41, 3); +lean_inc(x_123); +if (lean_obj_tag(x_123) == 0) +{ +uint8_t x_124; +x_124 = !lean_is_exclusive(x_41); +if (x_124 == 0) +{ +lean_object* x_125; lean_object* x_126; uint8_t x_127; uint8_t x_128; +x_125 = lean_ctor_get(x_41, 3); +lean_dec(x_125); +x_126 = lean_ctor_get(x_41, 0); +lean_dec(x_126); +x_127 = 0; +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_127); +x_128 = 1; +lean_ctor_set(x_1, 0, x_41); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_128); +return x_1; +} +else +{ +lean_object* x_129; lean_object* x_130; uint8_t x_131; lean_object* x_132; uint8_t x_133; +x_129 = lean_ctor_get(x_41, 1); +x_130 = lean_ctor_get(x_41, 2); +lean_inc(x_130); +lean_inc(x_129); +lean_dec(x_41); +x_131 = 0; +x_132 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_132, 0, x_42); +lean_ctor_set(x_132, 1, x_129); +lean_ctor_set(x_132, 2, x_130); +lean_ctor_set(x_132, 3, x_123); +lean_ctor_set_uint8(x_132, sizeof(void*)*4, x_131); +x_133 = 1; +lean_ctor_set(x_1, 0, x_132); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_133); +return x_1; +} +} +else +{ +uint8_t x_134; +x_134 = lean_ctor_get_uint8(x_123, sizeof(void*)*4); +if (x_134 == 0) +{ +uint8_t x_135; +lean_free_object(x_1); +x_135 = !lean_is_exclusive(x_41); +if (x_135 == 0) +{ +lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; uint8_t x_140; +x_136 = lean_ctor_get(x_41, 1); +x_137 = lean_ctor_get(x_41, 2); +x_138 = lean_ctor_get(x_41, 3); +lean_dec(x_138); +x_139 = lean_ctor_get(x_41, 0); +lean_dec(x_139); +x_140 = !lean_is_exclusive(x_123); +if (x_140 == 0) +{ +lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; uint8_t x_145; uint8_t x_146; +x_141 = lean_ctor_get(x_123, 0); +x_142 = lean_ctor_get(x_123, 1); +x_143 = lean_ctor_get(x_123, 2); +x_144 = lean_ctor_get(x_123, 3); +x_145 = 1; +lean_inc(x_42); +lean_ctor_set(x_123, 3, x_141); +lean_ctor_set(x_123, 2, x_137); +lean_ctor_set(x_123, 1, x_136); +lean_ctor_set(x_123, 0, x_42); +x_146 = !lean_is_exclusive(x_42); +if (x_146 == 0) +{ +lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; uint8_t x_151; +x_147 = lean_ctor_get(x_42, 3); +lean_dec(x_147); +x_148 = lean_ctor_get(x_42, 2); +lean_dec(x_148); +x_149 = lean_ctor_get(x_42, 1); +lean_dec(x_149); +x_150 = lean_ctor_get(x_42, 0); +lean_dec(x_150); +lean_ctor_set_uint8(x_123, sizeof(void*)*4, x_145); +lean_ctor_set(x_42, 3, x_36); +lean_ctor_set(x_42, 2, x_35); +lean_ctor_set(x_42, 1, x_34); +lean_ctor_set(x_42, 0, x_144); +lean_ctor_set_uint8(x_42, sizeof(void*)*4, x_145); +x_151 = 0; +lean_ctor_set(x_41, 3, x_42); +lean_ctor_set(x_41, 2, x_143); +lean_ctor_set(x_41, 1, x_142); +lean_ctor_set(x_41, 0, x_123); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_151); +return x_41; +} +else +{ +lean_object* x_152; uint8_t x_153; +lean_dec(x_42); +lean_ctor_set_uint8(x_123, sizeof(void*)*4, x_145); +x_152 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_152, 0, x_144); +lean_ctor_set(x_152, 1, x_34); +lean_ctor_set(x_152, 2, x_35); +lean_ctor_set(x_152, 3, x_36); +lean_ctor_set_uint8(x_152, sizeof(void*)*4, x_145); +x_153 = 0; +lean_ctor_set(x_41, 3, x_152); +lean_ctor_set(x_41, 2, x_143); +lean_ctor_set(x_41, 1, x_142); +lean_ctor_set(x_41, 0, x_123); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_153); +return x_41; +} +} +else +{ +lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; uint8_t x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; uint8_t x_162; +x_154 = lean_ctor_get(x_123, 0); +x_155 = lean_ctor_get(x_123, 1); +x_156 = lean_ctor_get(x_123, 2); +x_157 = lean_ctor_get(x_123, 3); +lean_inc(x_157); +lean_inc(x_156); +lean_inc(x_155); +lean_inc(x_154); +lean_dec(x_123); +x_158 = 1; +lean_inc(x_42); +x_159 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_159, 0, x_42); +lean_ctor_set(x_159, 1, x_136); +lean_ctor_set(x_159, 2, x_137); +lean_ctor_set(x_159, 3, x_154); +if (lean_is_exclusive(x_42)) { + lean_ctor_release(x_42, 0); + lean_ctor_release(x_42, 1); + lean_ctor_release(x_42, 2); + lean_ctor_release(x_42, 3); + x_160 = x_42; +} else { + lean_dec_ref(x_42); + x_160 = lean_box(0); +} +lean_ctor_set_uint8(x_159, sizeof(void*)*4, x_158); +if (lean_is_scalar(x_160)) { + x_161 = lean_alloc_ctor(1, 4, 1); +} else { + x_161 = x_160; +} +lean_ctor_set(x_161, 0, x_157); +lean_ctor_set(x_161, 1, x_34); +lean_ctor_set(x_161, 2, x_35); +lean_ctor_set(x_161, 3, x_36); +lean_ctor_set_uint8(x_161, sizeof(void*)*4, x_158); +x_162 = 0; +lean_ctor_set(x_41, 3, x_161); +lean_ctor_set(x_41, 2, x_156); +lean_ctor_set(x_41, 1, x_155); +lean_ctor_set(x_41, 0, x_159); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_162); +return x_41; +} +} +else +{ +lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; uint8_t x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; uint8_t x_174; lean_object* x_175; +x_163 = lean_ctor_get(x_41, 1); +x_164 = lean_ctor_get(x_41, 2); +lean_inc(x_164); +lean_inc(x_163); +lean_dec(x_41); +x_165 = lean_ctor_get(x_123, 0); +lean_inc(x_165); +x_166 = lean_ctor_get(x_123, 1); +lean_inc(x_166); +x_167 = lean_ctor_get(x_123, 2); +lean_inc(x_167); +x_168 = lean_ctor_get(x_123, 3); +lean_inc(x_168); +if (lean_is_exclusive(x_123)) { + lean_ctor_release(x_123, 0); + lean_ctor_release(x_123, 1); + lean_ctor_release(x_123, 2); + lean_ctor_release(x_123, 3); + x_169 = x_123; +} else { + lean_dec_ref(x_123); + x_169 = lean_box(0); +} +x_170 = 1; +lean_inc(x_42); +if (lean_is_scalar(x_169)) { + x_171 = lean_alloc_ctor(1, 4, 1); +} else { + x_171 = x_169; +} +lean_ctor_set(x_171, 0, x_42); +lean_ctor_set(x_171, 1, x_163); +lean_ctor_set(x_171, 2, x_164); +lean_ctor_set(x_171, 3, x_165); +if (lean_is_exclusive(x_42)) { + lean_ctor_release(x_42, 0); + lean_ctor_release(x_42, 1); + lean_ctor_release(x_42, 2); + lean_ctor_release(x_42, 3); + x_172 = x_42; +} else { + lean_dec_ref(x_42); + x_172 = lean_box(0); +} +lean_ctor_set_uint8(x_171, sizeof(void*)*4, x_170); +if (lean_is_scalar(x_172)) { + x_173 = lean_alloc_ctor(1, 4, 1); +} else { + x_173 = x_172; +} +lean_ctor_set(x_173, 0, x_168); +lean_ctor_set(x_173, 1, x_34); +lean_ctor_set(x_173, 2, x_35); +lean_ctor_set(x_173, 3, x_36); +lean_ctor_set_uint8(x_173, sizeof(void*)*4, x_170); +x_174 = 0; +x_175 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_175, 0, x_171); +lean_ctor_set(x_175, 1, x_166); +lean_ctor_set(x_175, 2, x_167); +lean_ctor_set(x_175, 3, x_173); +lean_ctor_set_uint8(x_175, sizeof(void*)*4, x_174); +return x_175; +} +} +else +{ +uint8_t x_176; +x_176 = !lean_is_exclusive(x_41); +if (x_176 == 0) +{ +lean_object* x_177; lean_object* x_178; uint8_t x_179; +x_177 = lean_ctor_get(x_41, 3); +lean_dec(x_177); +x_178 = lean_ctor_get(x_41, 0); +lean_dec(x_178); +x_179 = !lean_is_exclusive(x_42); +if (x_179 == 0) +{ +uint8_t x_180; uint8_t x_181; +lean_ctor_set_uint8(x_42, sizeof(void*)*4, x_134); +x_180 = 0; +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_180); +x_181 = 1; +lean_ctor_set(x_1, 0, x_41); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_181); +return x_1; +} +else +{ +lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; uint8_t x_187; uint8_t x_188; +x_182 = lean_ctor_get(x_42, 0); +x_183 = lean_ctor_get(x_42, 1); +x_184 = lean_ctor_get(x_42, 2); +x_185 = lean_ctor_get(x_42, 3); +lean_inc(x_185); +lean_inc(x_184); +lean_inc(x_183); +lean_inc(x_182); +lean_dec(x_42); +x_186 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_186, 0, x_182); +lean_ctor_set(x_186, 1, x_183); +lean_ctor_set(x_186, 2, x_184); +lean_ctor_set(x_186, 3, x_185); +lean_ctor_set_uint8(x_186, sizeof(void*)*4, x_134); +x_187 = 0; +lean_ctor_set(x_41, 0, x_186); +lean_ctor_set_uint8(x_41, sizeof(void*)*4, x_187); +x_188 = 1; +lean_ctor_set(x_1, 0, x_41); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_188); +return x_1; +} +} +else +{ +lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; uint8_t x_197; lean_object* x_198; uint8_t x_199; +x_189 = lean_ctor_get(x_41, 1); +x_190 = lean_ctor_get(x_41, 2); +lean_inc(x_190); +lean_inc(x_189); +lean_dec(x_41); +x_191 = lean_ctor_get(x_42, 0); +lean_inc(x_191); +x_192 = lean_ctor_get(x_42, 1); +lean_inc(x_192); +x_193 = lean_ctor_get(x_42, 2); +lean_inc(x_193); +x_194 = lean_ctor_get(x_42, 3); +lean_inc(x_194); +if (lean_is_exclusive(x_42)) { + lean_ctor_release(x_42, 0); + lean_ctor_release(x_42, 1); + lean_ctor_release(x_42, 2); + lean_ctor_release(x_42, 3); + x_195 = x_42; +} else { + lean_dec_ref(x_42); + x_195 = lean_box(0); +} +if (lean_is_scalar(x_195)) { + x_196 = lean_alloc_ctor(1, 4, 1); +} else { + x_196 = x_195; +} +lean_ctor_set(x_196, 0, x_191); +lean_ctor_set(x_196, 1, x_192); +lean_ctor_set(x_196, 2, x_193); +lean_ctor_set(x_196, 3, x_194); +lean_ctor_set_uint8(x_196, sizeof(void*)*4, x_134); +x_197 = 0; +x_198 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_198, 0, x_196); +lean_ctor_set(x_198, 1, x_189); +lean_ctor_set(x_198, 2, x_190); +lean_ctor_set(x_198, 3, x_123); +lean_ctor_set_uint8(x_198, sizeof(void*)*4, x_197); +x_199 = 1; +lean_ctor_set(x_1, 0, x_198); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_199); +return x_1; +} +} +} +} +} +} +} +case 1: +{ +uint8_t x_200; +lean_dec(x_35); +lean_dec(x_34); +x_200 = 1; +lean_ctor_set(x_1, 2, x_3); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_200); +return x_1; +} +default: +{ +uint8_t x_201; +x_201 = l_Std_RBNode_isRed___rarg(x_36); +if (x_201 == 0) +{ +lean_object* x_202; uint8_t x_203; +x_202 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_36, x_2, x_3); +x_203 = 1; +lean_ctor_set(x_1, 3, x_202); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_203); +return x_1; +} +else +{ +lean_object* x_204; lean_object* x_205; +x_204 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_36, x_2, x_3); +x_205 = lean_ctor_get(x_204, 0); +lean_inc(x_205); +if (lean_obj_tag(x_205) == 0) +{ +lean_object* x_206; +x_206 = lean_ctor_get(x_204, 3); +lean_inc(x_206); +if (lean_obj_tag(x_206) == 0) +{ +uint8_t x_207; +x_207 = !lean_is_exclusive(x_204); +if (x_207 == 0) +{ +lean_object* x_208; lean_object* x_209; uint8_t x_210; uint8_t x_211; +x_208 = lean_ctor_get(x_204, 3); +lean_dec(x_208); +x_209 = lean_ctor_get(x_204, 0); +lean_dec(x_209); +x_210 = 0; +lean_ctor_set(x_204, 0, x_206); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_210); +x_211 = 1; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_211); +return x_1; +} +else +{ +lean_object* x_212; lean_object* x_213; uint8_t x_214; lean_object* x_215; uint8_t x_216; +x_212 = lean_ctor_get(x_204, 1); +x_213 = lean_ctor_get(x_204, 2); +lean_inc(x_213); +lean_inc(x_212); +lean_dec(x_204); +x_214 = 0; +x_215 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_215, 0, x_206); +lean_ctor_set(x_215, 1, x_212); +lean_ctor_set(x_215, 2, x_213); +lean_ctor_set(x_215, 3, x_206); +lean_ctor_set_uint8(x_215, sizeof(void*)*4, x_214); +x_216 = 1; +lean_ctor_set(x_1, 3, x_215); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_216); +return x_1; +} +} +else +{ +uint8_t x_217; +x_217 = lean_ctor_get_uint8(x_206, sizeof(void*)*4); +if (x_217 == 0) +{ +uint8_t x_218; +x_218 = !lean_is_exclusive(x_204); +if (x_218 == 0) +{ +lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; uint8_t x_223; +x_219 = lean_ctor_get(x_204, 1); +x_220 = lean_ctor_get(x_204, 2); +x_221 = lean_ctor_get(x_204, 3); +lean_dec(x_221); +x_222 = lean_ctor_get(x_204, 0); +lean_dec(x_222); +x_223 = !lean_is_exclusive(x_206); +if (x_223 == 0) +{ +lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; uint8_t x_228; uint8_t x_229; +x_224 = lean_ctor_get(x_206, 0); +x_225 = lean_ctor_get(x_206, 1); +x_226 = lean_ctor_get(x_206, 2); +x_227 = lean_ctor_get(x_206, 3); +x_228 = 1; +lean_ctor_set(x_206, 3, x_205); +lean_ctor_set(x_206, 2, x_35); +lean_ctor_set(x_206, 1, x_34); +lean_ctor_set(x_206, 0, x_33); +lean_ctor_set_uint8(x_206, sizeof(void*)*4, x_228); +lean_ctor_set(x_204, 3, x_227); +lean_ctor_set(x_204, 2, x_226); +lean_ctor_set(x_204, 1, x_225); +lean_ctor_set(x_204, 0, x_224); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_228); +x_229 = 0; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set(x_1, 2, x_220); +lean_ctor_set(x_1, 1, x_219); +lean_ctor_set(x_1, 0, x_206); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_229); +return x_1; +} +else +{ +lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; uint8_t x_234; lean_object* x_235; uint8_t x_236; +x_230 = lean_ctor_get(x_206, 0); +x_231 = lean_ctor_get(x_206, 1); +x_232 = lean_ctor_get(x_206, 2); +x_233 = lean_ctor_get(x_206, 3); +lean_inc(x_233); +lean_inc(x_232); +lean_inc(x_231); +lean_inc(x_230); +lean_dec(x_206); +x_234 = 1; +x_235 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_235, 0, x_33); +lean_ctor_set(x_235, 1, x_34); +lean_ctor_set(x_235, 2, x_35); +lean_ctor_set(x_235, 3, x_205); +lean_ctor_set_uint8(x_235, sizeof(void*)*4, x_234); +lean_ctor_set(x_204, 3, x_233); +lean_ctor_set(x_204, 2, x_232); +lean_ctor_set(x_204, 1, x_231); +lean_ctor_set(x_204, 0, x_230); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_234); +x_236 = 0; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set(x_1, 2, x_220); +lean_ctor_set(x_1, 1, x_219); +lean_ctor_set(x_1, 0, x_235); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_236); +return x_1; +} +} +else +{ +lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; uint8_t x_244; lean_object* x_245; lean_object* x_246; uint8_t x_247; +x_237 = lean_ctor_get(x_204, 1); +x_238 = lean_ctor_get(x_204, 2); +lean_inc(x_238); +lean_inc(x_237); +lean_dec(x_204); +x_239 = lean_ctor_get(x_206, 0); +lean_inc(x_239); +x_240 = lean_ctor_get(x_206, 1); +lean_inc(x_240); +x_241 = lean_ctor_get(x_206, 2); +lean_inc(x_241); +x_242 = lean_ctor_get(x_206, 3); +lean_inc(x_242); +if (lean_is_exclusive(x_206)) { + lean_ctor_release(x_206, 0); + lean_ctor_release(x_206, 1); + lean_ctor_release(x_206, 2); + lean_ctor_release(x_206, 3); + x_243 = x_206; +} else { + lean_dec_ref(x_206); + x_243 = lean_box(0); +} +x_244 = 1; +if (lean_is_scalar(x_243)) { + x_245 = lean_alloc_ctor(1, 4, 1); +} else { + x_245 = x_243; +} +lean_ctor_set(x_245, 0, x_33); +lean_ctor_set(x_245, 1, x_34); +lean_ctor_set(x_245, 2, x_35); +lean_ctor_set(x_245, 3, x_205); +lean_ctor_set_uint8(x_245, sizeof(void*)*4, x_244); +x_246 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_246, 0, x_239); +lean_ctor_set(x_246, 1, x_240); +lean_ctor_set(x_246, 2, x_241); +lean_ctor_set(x_246, 3, x_242); +lean_ctor_set_uint8(x_246, sizeof(void*)*4, x_244); +x_247 = 0; +lean_ctor_set(x_1, 3, x_246); +lean_ctor_set(x_1, 2, x_238); +lean_ctor_set(x_1, 1, x_237); +lean_ctor_set(x_1, 0, x_245); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_247); +return x_1; +} +} +else +{ +uint8_t x_248; +x_248 = !lean_is_exclusive(x_204); +if (x_248 == 0) +{ +lean_object* x_249; lean_object* x_250; uint8_t x_251; uint8_t x_252; +x_249 = lean_ctor_get(x_204, 3); +lean_dec(x_249); +x_250 = lean_ctor_get(x_204, 0); +lean_dec(x_250); +x_251 = 0; +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_251); +x_252 = 1; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_252); +return x_1; +} +else +{ +lean_object* x_253; lean_object* x_254; uint8_t x_255; lean_object* x_256; uint8_t x_257; +x_253 = lean_ctor_get(x_204, 1); +x_254 = lean_ctor_get(x_204, 2); +lean_inc(x_254); +lean_inc(x_253); +lean_dec(x_204); +x_255 = 0; +x_256 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_256, 0, x_205); +lean_ctor_set(x_256, 1, x_253); +lean_ctor_set(x_256, 2, x_254); +lean_ctor_set(x_256, 3, x_206); +lean_ctor_set_uint8(x_256, sizeof(void*)*4, x_255); +x_257 = 1; +lean_ctor_set(x_1, 3, x_256); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_257); +return x_1; +} +} +} +} +else +{ +uint8_t x_258; +x_258 = lean_ctor_get_uint8(x_205, sizeof(void*)*4); +if (x_258 == 0) +{ +uint8_t x_259; +x_259 = !lean_is_exclusive(x_204); +if (x_259 == 0) +{ +lean_object* x_260; uint8_t x_261; +x_260 = lean_ctor_get(x_204, 0); +lean_dec(x_260); +x_261 = !lean_is_exclusive(x_205); +if (x_261 == 0) +{ +lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; uint8_t x_266; uint8_t x_267; +x_262 = lean_ctor_get(x_205, 0); +x_263 = lean_ctor_get(x_205, 1); +x_264 = lean_ctor_get(x_205, 2); +x_265 = lean_ctor_get(x_205, 3); +x_266 = 1; +lean_ctor_set(x_205, 3, x_262); +lean_ctor_set(x_205, 2, x_35); +lean_ctor_set(x_205, 1, x_34); +lean_ctor_set(x_205, 0, x_33); +lean_ctor_set_uint8(x_205, sizeof(void*)*4, x_266); +lean_ctor_set(x_204, 0, x_265); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_266); +x_267 = 0; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set(x_1, 2, x_264); +lean_ctor_set(x_1, 1, x_263); +lean_ctor_set(x_1, 0, x_205); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_267); +return x_1; +} +else +{ +lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; uint8_t x_272; lean_object* x_273; uint8_t x_274; +x_268 = lean_ctor_get(x_205, 0); +x_269 = lean_ctor_get(x_205, 1); +x_270 = lean_ctor_get(x_205, 2); +x_271 = lean_ctor_get(x_205, 3); +lean_inc(x_271); +lean_inc(x_270); +lean_inc(x_269); +lean_inc(x_268); +lean_dec(x_205); +x_272 = 1; +x_273 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_273, 0, x_33); +lean_ctor_set(x_273, 1, x_34); +lean_ctor_set(x_273, 2, x_35); +lean_ctor_set(x_273, 3, x_268); +lean_ctor_set_uint8(x_273, sizeof(void*)*4, x_272); +lean_ctor_set(x_204, 0, x_271); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_272); +x_274 = 0; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set(x_1, 2, x_270); +lean_ctor_set(x_1, 1, x_269); +lean_ctor_set(x_1, 0, x_273); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_274); +return x_1; +} +} +else +{ +lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; uint8_t x_283; lean_object* x_284; lean_object* x_285; uint8_t x_286; +x_275 = lean_ctor_get(x_204, 1); +x_276 = lean_ctor_get(x_204, 2); +x_277 = lean_ctor_get(x_204, 3); +lean_inc(x_277); +lean_inc(x_276); +lean_inc(x_275); +lean_dec(x_204); +x_278 = lean_ctor_get(x_205, 0); +lean_inc(x_278); +x_279 = lean_ctor_get(x_205, 1); +lean_inc(x_279); +x_280 = lean_ctor_get(x_205, 2); +lean_inc(x_280); +x_281 = lean_ctor_get(x_205, 3); +lean_inc(x_281); +if (lean_is_exclusive(x_205)) { + lean_ctor_release(x_205, 0); + lean_ctor_release(x_205, 1); + lean_ctor_release(x_205, 2); + lean_ctor_release(x_205, 3); + x_282 = x_205; +} else { + lean_dec_ref(x_205); + x_282 = lean_box(0); +} +x_283 = 1; +if (lean_is_scalar(x_282)) { + x_284 = lean_alloc_ctor(1, 4, 1); +} else { + x_284 = x_282; +} +lean_ctor_set(x_284, 0, x_33); +lean_ctor_set(x_284, 1, x_34); +lean_ctor_set(x_284, 2, x_35); +lean_ctor_set(x_284, 3, x_278); +lean_ctor_set_uint8(x_284, sizeof(void*)*4, x_283); +x_285 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_285, 0, x_281); +lean_ctor_set(x_285, 1, x_275); +lean_ctor_set(x_285, 2, x_276); +lean_ctor_set(x_285, 3, x_277); +lean_ctor_set_uint8(x_285, sizeof(void*)*4, x_283); +x_286 = 0; +lean_ctor_set(x_1, 3, x_285); +lean_ctor_set(x_1, 2, x_280); +lean_ctor_set(x_1, 1, x_279); +lean_ctor_set(x_1, 0, x_284); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_286); +return x_1; +} +} +else +{ +lean_object* x_287; +x_287 = lean_ctor_get(x_204, 3); +lean_inc(x_287); +if (lean_obj_tag(x_287) == 0) +{ +uint8_t x_288; +x_288 = !lean_is_exclusive(x_204); +if (x_288 == 0) +{ +lean_object* x_289; lean_object* x_290; uint8_t x_291; uint8_t x_292; +x_289 = lean_ctor_get(x_204, 3); +lean_dec(x_289); +x_290 = lean_ctor_get(x_204, 0); +lean_dec(x_290); +x_291 = 0; +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_291); +x_292 = 1; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_292); +return x_1; +} +else +{ +lean_object* x_293; lean_object* x_294; uint8_t x_295; lean_object* x_296; uint8_t x_297; +x_293 = lean_ctor_get(x_204, 1); +x_294 = lean_ctor_get(x_204, 2); +lean_inc(x_294); +lean_inc(x_293); +lean_dec(x_204); +x_295 = 0; +x_296 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_296, 0, x_205); +lean_ctor_set(x_296, 1, x_293); +lean_ctor_set(x_296, 2, x_294); +lean_ctor_set(x_296, 3, x_287); +lean_ctor_set_uint8(x_296, sizeof(void*)*4, x_295); +x_297 = 1; +lean_ctor_set(x_1, 3, x_296); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_297); +return x_1; +} +} +else +{ +uint8_t x_298; +x_298 = lean_ctor_get_uint8(x_287, sizeof(void*)*4); +if (x_298 == 0) +{ +uint8_t x_299; +lean_free_object(x_1); +x_299 = !lean_is_exclusive(x_204); +if (x_299 == 0) +{ +lean_object* x_300; lean_object* x_301; uint8_t x_302; +x_300 = lean_ctor_get(x_204, 3); +lean_dec(x_300); +x_301 = lean_ctor_get(x_204, 0); +lean_dec(x_301); +x_302 = !lean_is_exclusive(x_287); +if (x_302 == 0) +{ +lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; uint8_t x_307; uint8_t x_308; +x_303 = lean_ctor_get(x_287, 0); +x_304 = lean_ctor_get(x_287, 1); +x_305 = lean_ctor_get(x_287, 2); +x_306 = lean_ctor_get(x_287, 3); +x_307 = 1; +lean_inc(x_205); +lean_ctor_set(x_287, 3, x_205); +lean_ctor_set(x_287, 2, x_35); +lean_ctor_set(x_287, 1, x_34); +lean_ctor_set(x_287, 0, x_33); +x_308 = !lean_is_exclusive(x_205); +if (x_308 == 0) +{ +lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; uint8_t x_313; +x_309 = lean_ctor_get(x_205, 3); +lean_dec(x_309); +x_310 = lean_ctor_get(x_205, 2); +lean_dec(x_310); +x_311 = lean_ctor_get(x_205, 1); +lean_dec(x_311); +x_312 = lean_ctor_get(x_205, 0); +lean_dec(x_312); +lean_ctor_set_uint8(x_287, sizeof(void*)*4, x_307); +lean_ctor_set(x_205, 3, x_306); +lean_ctor_set(x_205, 2, x_305); +lean_ctor_set(x_205, 1, x_304); +lean_ctor_set(x_205, 0, x_303); +lean_ctor_set_uint8(x_205, sizeof(void*)*4, x_307); +x_313 = 0; +lean_ctor_set(x_204, 3, x_205); +lean_ctor_set(x_204, 0, x_287); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_313); +return x_204; +} +else +{ +lean_object* x_314; uint8_t x_315; +lean_dec(x_205); +lean_ctor_set_uint8(x_287, sizeof(void*)*4, x_307); +x_314 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_314, 0, x_303); +lean_ctor_set(x_314, 1, x_304); +lean_ctor_set(x_314, 2, x_305); +lean_ctor_set(x_314, 3, x_306); +lean_ctor_set_uint8(x_314, sizeof(void*)*4, x_307); +x_315 = 0; +lean_ctor_set(x_204, 3, x_314); +lean_ctor_set(x_204, 0, x_287); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_315); +return x_204; +} +} +else +{ +lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; uint8_t x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; uint8_t x_324; +x_316 = lean_ctor_get(x_287, 0); +x_317 = lean_ctor_get(x_287, 1); +x_318 = lean_ctor_get(x_287, 2); +x_319 = lean_ctor_get(x_287, 3); +lean_inc(x_319); +lean_inc(x_318); +lean_inc(x_317); +lean_inc(x_316); +lean_dec(x_287); +x_320 = 1; +lean_inc(x_205); +x_321 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_321, 0, x_33); +lean_ctor_set(x_321, 1, x_34); +lean_ctor_set(x_321, 2, x_35); +lean_ctor_set(x_321, 3, x_205); +if (lean_is_exclusive(x_205)) { + lean_ctor_release(x_205, 0); + lean_ctor_release(x_205, 1); + lean_ctor_release(x_205, 2); + lean_ctor_release(x_205, 3); + x_322 = x_205; +} else { + lean_dec_ref(x_205); + x_322 = lean_box(0); +} +lean_ctor_set_uint8(x_321, sizeof(void*)*4, x_320); +if (lean_is_scalar(x_322)) { + x_323 = lean_alloc_ctor(1, 4, 1); +} else { + x_323 = x_322; +} +lean_ctor_set(x_323, 0, x_316); +lean_ctor_set(x_323, 1, x_317); +lean_ctor_set(x_323, 2, x_318); +lean_ctor_set(x_323, 3, x_319); +lean_ctor_set_uint8(x_323, sizeof(void*)*4, x_320); +x_324 = 0; +lean_ctor_set(x_204, 3, x_323); +lean_ctor_set(x_204, 0, x_321); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_324); +return x_204; +} +} +else +{ +lean_object* x_325; lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; uint8_t x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; uint8_t x_336; lean_object* x_337; +x_325 = lean_ctor_get(x_204, 1); +x_326 = lean_ctor_get(x_204, 2); +lean_inc(x_326); +lean_inc(x_325); +lean_dec(x_204); +x_327 = lean_ctor_get(x_287, 0); +lean_inc(x_327); +x_328 = lean_ctor_get(x_287, 1); +lean_inc(x_328); +x_329 = lean_ctor_get(x_287, 2); +lean_inc(x_329); +x_330 = lean_ctor_get(x_287, 3); +lean_inc(x_330); +if (lean_is_exclusive(x_287)) { + lean_ctor_release(x_287, 0); + lean_ctor_release(x_287, 1); + lean_ctor_release(x_287, 2); + lean_ctor_release(x_287, 3); + x_331 = x_287; +} else { + lean_dec_ref(x_287); + x_331 = lean_box(0); +} +x_332 = 1; +lean_inc(x_205); +if (lean_is_scalar(x_331)) { + x_333 = lean_alloc_ctor(1, 4, 1); +} else { + x_333 = x_331; +} +lean_ctor_set(x_333, 0, x_33); +lean_ctor_set(x_333, 1, x_34); +lean_ctor_set(x_333, 2, x_35); +lean_ctor_set(x_333, 3, x_205); +if (lean_is_exclusive(x_205)) { + lean_ctor_release(x_205, 0); + lean_ctor_release(x_205, 1); + lean_ctor_release(x_205, 2); + lean_ctor_release(x_205, 3); + x_334 = x_205; +} else { + lean_dec_ref(x_205); + x_334 = lean_box(0); +} +lean_ctor_set_uint8(x_333, sizeof(void*)*4, x_332); +if (lean_is_scalar(x_334)) { + x_335 = lean_alloc_ctor(1, 4, 1); +} else { + x_335 = x_334; +} +lean_ctor_set(x_335, 0, x_327); +lean_ctor_set(x_335, 1, x_328); +lean_ctor_set(x_335, 2, x_329); +lean_ctor_set(x_335, 3, x_330); +lean_ctor_set_uint8(x_335, sizeof(void*)*4, x_332); +x_336 = 0; +x_337 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_337, 0, x_333); +lean_ctor_set(x_337, 1, x_325); +lean_ctor_set(x_337, 2, x_326); +lean_ctor_set(x_337, 3, x_335); +lean_ctor_set_uint8(x_337, sizeof(void*)*4, x_336); +return x_337; +} +} +else +{ +uint8_t x_338; +x_338 = !lean_is_exclusive(x_204); +if (x_338 == 0) +{ +lean_object* x_339; lean_object* x_340; uint8_t x_341; +x_339 = lean_ctor_get(x_204, 3); +lean_dec(x_339); +x_340 = lean_ctor_get(x_204, 0); +lean_dec(x_340); +x_341 = !lean_is_exclusive(x_205); +if (x_341 == 0) +{ +uint8_t x_342; uint8_t x_343; +lean_ctor_set_uint8(x_205, sizeof(void*)*4, x_298); +x_342 = 0; +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_342); +x_343 = 1; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_343); +return x_1; +} +else +{ +lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; uint8_t x_349; uint8_t x_350; +x_344 = lean_ctor_get(x_205, 0); +x_345 = lean_ctor_get(x_205, 1); +x_346 = lean_ctor_get(x_205, 2); +x_347 = lean_ctor_get(x_205, 3); +lean_inc(x_347); +lean_inc(x_346); +lean_inc(x_345); +lean_inc(x_344); +lean_dec(x_205); +x_348 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_348, 0, x_344); +lean_ctor_set(x_348, 1, x_345); +lean_ctor_set(x_348, 2, x_346); +lean_ctor_set(x_348, 3, x_347); +lean_ctor_set_uint8(x_348, sizeof(void*)*4, x_298); +x_349 = 0; +lean_ctor_set(x_204, 0, x_348); +lean_ctor_set_uint8(x_204, sizeof(void*)*4, x_349); +x_350 = 1; +lean_ctor_set(x_1, 3, x_204); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_350); +return x_1; +} +} +else +{ +lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; uint8_t x_359; lean_object* x_360; uint8_t x_361; +x_351 = lean_ctor_get(x_204, 1); +x_352 = lean_ctor_get(x_204, 2); +lean_inc(x_352); +lean_inc(x_351); +lean_dec(x_204); +x_353 = lean_ctor_get(x_205, 0); +lean_inc(x_353); +x_354 = lean_ctor_get(x_205, 1); +lean_inc(x_354); +x_355 = lean_ctor_get(x_205, 2); +lean_inc(x_355); +x_356 = lean_ctor_get(x_205, 3); +lean_inc(x_356); +if (lean_is_exclusive(x_205)) { + lean_ctor_release(x_205, 0); + lean_ctor_release(x_205, 1); + lean_ctor_release(x_205, 2); + lean_ctor_release(x_205, 3); + x_357 = x_205; +} else { + lean_dec_ref(x_205); + x_357 = lean_box(0); +} +if (lean_is_scalar(x_357)) { + x_358 = lean_alloc_ctor(1, 4, 1); +} else { + x_358 = x_357; +} +lean_ctor_set(x_358, 0, x_353); +lean_ctor_set(x_358, 1, x_354); +lean_ctor_set(x_358, 2, x_355); +lean_ctor_set(x_358, 3, x_356); +lean_ctor_set_uint8(x_358, sizeof(void*)*4, x_298); +x_359 = 0; +x_360 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_360, 0, x_358); +lean_ctor_set(x_360, 1, x_351); +lean_ctor_set(x_360, 2, x_352); +lean_ctor_set(x_360, 3, x_287); +lean_ctor_set_uint8(x_360, sizeof(void*)*4, x_359); +x_361 = 1; +lean_ctor_set(x_1, 3, x_360); +lean_ctor_set_uint8(x_1, sizeof(void*)*4, x_361); +return x_1; +} +} +} +} +} +} +} +} +} +else +{ +lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; uint8_t x_366; +x_362 = lean_ctor_get(x_1, 0); +x_363 = lean_ctor_get(x_1, 1); +x_364 = lean_ctor_get(x_1, 2); +x_365 = lean_ctor_get(x_1, 3); +lean_inc(x_365); +lean_inc(x_364); +lean_inc(x_363); +lean_inc(x_362); +lean_dec(x_1); +x_366 = l_Lean_Name_quickCmp(x_2, x_363); +switch (x_366) { +case 0: +{ +uint8_t x_367; +x_367 = l_Std_RBNode_isRed___rarg(x_362); +if (x_367 == 0) +{ +lean_object* x_368; uint8_t x_369; lean_object* x_370; +x_368 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_362, x_2, x_3); +x_369 = 1; +x_370 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_370, 0, x_368); +lean_ctor_set(x_370, 1, x_363); +lean_ctor_set(x_370, 2, x_364); +lean_ctor_set(x_370, 3, x_365); +lean_ctor_set_uint8(x_370, sizeof(void*)*4, x_369); +return x_370; +} +else +{ +lean_object* x_371; lean_object* x_372; +x_371 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_362, x_2, x_3); +x_372 = lean_ctor_get(x_371, 0); +lean_inc(x_372); +if (lean_obj_tag(x_372) == 0) +{ +lean_object* x_373; +x_373 = lean_ctor_get(x_371, 3); +lean_inc(x_373); +if (lean_obj_tag(x_373) == 0) +{ +lean_object* x_374; lean_object* x_375; lean_object* x_376; uint8_t x_377; lean_object* x_378; uint8_t x_379; lean_object* x_380; +x_374 = lean_ctor_get(x_371, 1); +lean_inc(x_374); +x_375 = lean_ctor_get(x_371, 2); +lean_inc(x_375); +if (lean_is_exclusive(x_371)) { + lean_ctor_release(x_371, 0); + lean_ctor_release(x_371, 1); + lean_ctor_release(x_371, 2); + lean_ctor_release(x_371, 3); + x_376 = x_371; +} else { + lean_dec_ref(x_371); + x_376 = lean_box(0); +} +x_377 = 0; +if (lean_is_scalar(x_376)) { + x_378 = lean_alloc_ctor(1, 4, 1); +} else { + x_378 = x_376; +} +lean_ctor_set(x_378, 0, x_373); +lean_ctor_set(x_378, 1, x_374); +lean_ctor_set(x_378, 2, x_375); +lean_ctor_set(x_378, 3, x_373); +lean_ctor_set_uint8(x_378, sizeof(void*)*4, x_377); +x_379 = 1; +x_380 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_380, 0, x_378); +lean_ctor_set(x_380, 1, x_363); +lean_ctor_set(x_380, 2, x_364); +lean_ctor_set(x_380, 3, x_365); +lean_ctor_set_uint8(x_380, sizeof(void*)*4, x_379); +return x_380; +} +else +{ +uint8_t x_381; +x_381 = lean_ctor_get_uint8(x_373, sizeof(void*)*4); +if (x_381 == 0) +{ +lean_object* x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; uint8_t x_390; lean_object* x_391; lean_object* x_392; uint8_t x_393; lean_object* x_394; +x_382 = lean_ctor_get(x_371, 1); +lean_inc(x_382); +x_383 = lean_ctor_get(x_371, 2); +lean_inc(x_383); +if (lean_is_exclusive(x_371)) { + lean_ctor_release(x_371, 0); + lean_ctor_release(x_371, 1); + lean_ctor_release(x_371, 2); + lean_ctor_release(x_371, 3); + x_384 = x_371; +} else { + lean_dec_ref(x_371); + x_384 = lean_box(0); +} +x_385 = lean_ctor_get(x_373, 0); +lean_inc(x_385); +x_386 = lean_ctor_get(x_373, 1); +lean_inc(x_386); +x_387 = lean_ctor_get(x_373, 2); +lean_inc(x_387); +x_388 = lean_ctor_get(x_373, 3); +lean_inc(x_388); +if (lean_is_exclusive(x_373)) { + lean_ctor_release(x_373, 0); + lean_ctor_release(x_373, 1); + lean_ctor_release(x_373, 2); + lean_ctor_release(x_373, 3); + x_389 = x_373; +} else { + lean_dec_ref(x_373); + x_389 = lean_box(0); +} +x_390 = 1; +if (lean_is_scalar(x_389)) { + x_391 = lean_alloc_ctor(1, 4, 1); +} else { + x_391 = x_389; +} +lean_ctor_set(x_391, 0, x_372); +lean_ctor_set(x_391, 1, x_382); +lean_ctor_set(x_391, 2, x_383); +lean_ctor_set(x_391, 3, x_385); +lean_ctor_set_uint8(x_391, sizeof(void*)*4, x_390); +if (lean_is_scalar(x_384)) { + x_392 = lean_alloc_ctor(1, 4, 1); +} else { + x_392 = x_384; +} +lean_ctor_set(x_392, 0, x_388); +lean_ctor_set(x_392, 1, x_363); +lean_ctor_set(x_392, 2, x_364); +lean_ctor_set(x_392, 3, x_365); +lean_ctor_set_uint8(x_392, sizeof(void*)*4, x_390); +x_393 = 0; +x_394 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_394, 0, x_391); +lean_ctor_set(x_394, 1, x_386); +lean_ctor_set(x_394, 2, x_387); +lean_ctor_set(x_394, 3, x_392); +lean_ctor_set_uint8(x_394, sizeof(void*)*4, x_393); +return x_394; +} +else +{ +lean_object* x_395; lean_object* x_396; lean_object* x_397; uint8_t x_398; lean_object* x_399; uint8_t x_400; lean_object* x_401; +x_395 = lean_ctor_get(x_371, 1); +lean_inc(x_395); +x_396 = lean_ctor_get(x_371, 2); +lean_inc(x_396); +if (lean_is_exclusive(x_371)) { + lean_ctor_release(x_371, 0); + lean_ctor_release(x_371, 1); + lean_ctor_release(x_371, 2); + lean_ctor_release(x_371, 3); + x_397 = x_371; +} else { + lean_dec_ref(x_371); + x_397 = lean_box(0); +} +x_398 = 0; +if (lean_is_scalar(x_397)) { + x_399 = lean_alloc_ctor(1, 4, 1); +} else { + x_399 = x_397; +} +lean_ctor_set(x_399, 0, x_372); +lean_ctor_set(x_399, 1, x_395); +lean_ctor_set(x_399, 2, x_396); +lean_ctor_set(x_399, 3, x_373); +lean_ctor_set_uint8(x_399, sizeof(void*)*4, x_398); +x_400 = 1; +x_401 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_401, 0, x_399); +lean_ctor_set(x_401, 1, x_363); +lean_ctor_set(x_401, 2, x_364); +lean_ctor_set(x_401, 3, x_365); +lean_ctor_set_uint8(x_401, sizeof(void*)*4, x_400); +return x_401; +} +} +} +else +{ +uint8_t x_402; +x_402 = lean_ctor_get_uint8(x_372, sizeof(void*)*4); +if (x_402 == 0) +{ +lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; uint8_t x_412; lean_object* x_413; lean_object* x_414; uint8_t x_415; lean_object* x_416; +x_403 = lean_ctor_get(x_371, 1); +lean_inc(x_403); +x_404 = lean_ctor_get(x_371, 2); +lean_inc(x_404); +x_405 = lean_ctor_get(x_371, 3); +lean_inc(x_405); +if (lean_is_exclusive(x_371)) { + lean_ctor_release(x_371, 0); + lean_ctor_release(x_371, 1); + lean_ctor_release(x_371, 2); + lean_ctor_release(x_371, 3); + x_406 = x_371; +} else { + lean_dec_ref(x_371); + x_406 = lean_box(0); +} +x_407 = lean_ctor_get(x_372, 0); +lean_inc(x_407); +x_408 = lean_ctor_get(x_372, 1); +lean_inc(x_408); +x_409 = lean_ctor_get(x_372, 2); +lean_inc(x_409); +x_410 = lean_ctor_get(x_372, 3); +lean_inc(x_410); +if (lean_is_exclusive(x_372)) { + lean_ctor_release(x_372, 0); + lean_ctor_release(x_372, 1); + lean_ctor_release(x_372, 2); + lean_ctor_release(x_372, 3); + x_411 = x_372; +} else { + lean_dec_ref(x_372); + x_411 = lean_box(0); +} +x_412 = 1; +if (lean_is_scalar(x_411)) { + x_413 = lean_alloc_ctor(1, 4, 1); +} else { + x_413 = x_411; +} +lean_ctor_set(x_413, 0, x_407); +lean_ctor_set(x_413, 1, x_408); +lean_ctor_set(x_413, 2, x_409); +lean_ctor_set(x_413, 3, x_410); +lean_ctor_set_uint8(x_413, sizeof(void*)*4, x_412); +if (lean_is_scalar(x_406)) { + x_414 = lean_alloc_ctor(1, 4, 1); +} else { + x_414 = x_406; +} +lean_ctor_set(x_414, 0, x_405); +lean_ctor_set(x_414, 1, x_363); +lean_ctor_set(x_414, 2, x_364); +lean_ctor_set(x_414, 3, x_365); +lean_ctor_set_uint8(x_414, sizeof(void*)*4, x_412); +x_415 = 0; +x_416 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_416, 0, x_413); +lean_ctor_set(x_416, 1, x_403); +lean_ctor_set(x_416, 2, x_404); +lean_ctor_set(x_416, 3, x_414); +lean_ctor_set_uint8(x_416, sizeof(void*)*4, x_415); +return x_416; +} +else +{ +lean_object* x_417; +x_417 = lean_ctor_get(x_371, 3); +lean_inc(x_417); +if (lean_obj_tag(x_417) == 0) +{ +lean_object* x_418; lean_object* x_419; lean_object* x_420; uint8_t x_421; lean_object* x_422; uint8_t x_423; lean_object* x_424; +x_418 = lean_ctor_get(x_371, 1); +lean_inc(x_418); +x_419 = lean_ctor_get(x_371, 2); +lean_inc(x_419); +if (lean_is_exclusive(x_371)) { + lean_ctor_release(x_371, 0); + lean_ctor_release(x_371, 1); + lean_ctor_release(x_371, 2); + lean_ctor_release(x_371, 3); + x_420 = x_371; +} else { + lean_dec_ref(x_371); + x_420 = lean_box(0); +} +x_421 = 0; +if (lean_is_scalar(x_420)) { + x_422 = lean_alloc_ctor(1, 4, 1); +} else { + x_422 = x_420; +} +lean_ctor_set(x_422, 0, x_372); +lean_ctor_set(x_422, 1, x_418); +lean_ctor_set(x_422, 2, x_419); +lean_ctor_set(x_422, 3, x_417); +lean_ctor_set_uint8(x_422, sizeof(void*)*4, x_421); +x_423 = 1; +x_424 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_424, 0, x_422); +lean_ctor_set(x_424, 1, x_363); +lean_ctor_set(x_424, 2, x_364); +lean_ctor_set(x_424, 3, x_365); +lean_ctor_set_uint8(x_424, sizeof(void*)*4, x_423); +return x_424; +} +else +{ +uint8_t x_425; +x_425 = lean_ctor_get_uint8(x_417, sizeof(void*)*4); +if (x_425 == 0) +{ +lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; uint8_t x_434; lean_object* x_435; lean_object* x_436; lean_object* x_437; uint8_t x_438; lean_object* x_439; +x_426 = lean_ctor_get(x_371, 1); +lean_inc(x_426); +x_427 = lean_ctor_get(x_371, 2); +lean_inc(x_427); +if (lean_is_exclusive(x_371)) { + lean_ctor_release(x_371, 0); + lean_ctor_release(x_371, 1); + lean_ctor_release(x_371, 2); + lean_ctor_release(x_371, 3); + x_428 = x_371; +} else { + lean_dec_ref(x_371); + x_428 = lean_box(0); +} +x_429 = lean_ctor_get(x_417, 0); +lean_inc(x_429); +x_430 = lean_ctor_get(x_417, 1); +lean_inc(x_430); +x_431 = lean_ctor_get(x_417, 2); +lean_inc(x_431); +x_432 = lean_ctor_get(x_417, 3); +lean_inc(x_432); +if (lean_is_exclusive(x_417)) { + lean_ctor_release(x_417, 0); + lean_ctor_release(x_417, 1); + lean_ctor_release(x_417, 2); + lean_ctor_release(x_417, 3); + x_433 = x_417; +} else { + lean_dec_ref(x_417); + x_433 = lean_box(0); +} +x_434 = 1; +lean_inc(x_372); +if (lean_is_scalar(x_433)) { + x_435 = lean_alloc_ctor(1, 4, 1); +} else { + x_435 = x_433; +} +lean_ctor_set(x_435, 0, x_372); +lean_ctor_set(x_435, 1, x_426); +lean_ctor_set(x_435, 2, x_427); +lean_ctor_set(x_435, 3, x_429); +if (lean_is_exclusive(x_372)) { + lean_ctor_release(x_372, 0); + lean_ctor_release(x_372, 1); + lean_ctor_release(x_372, 2); + lean_ctor_release(x_372, 3); + x_436 = x_372; +} else { + lean_dec_ref(x_372); + x_436 = lean_box(0); +} +lean_ctor_set_uint8(x_435, sizeof(void*)*4, x_434); +if (lean_is_scalar(x_436)) { + x_437 = lean_alloc_ctor(1, 4, 1); +} else { + x_437 = x_436; +} +lean_ctor_set(x_437, 0, x_432); +lean_ctor_set(x_437, 1, x_363); +lean_ctor_set(x_437, 2, x_364); +lean_ctor_set(x_437, 3, x_365); +lean_ctor_set_uint8(x_437, sizeof(void*)*4, x_434); +x_438 = 0; +if (lean_is_scalar(x_428)) { + x_439 = lean_alloc_ctor(1, 4, 1); +} else { + x_439 = x_428; +} +lean_ctor_set(x_439, 0, x_435); +lean_ctor_set(x_439, 1, x_430); +lean_ctor_set(x_439, 2, x_431); +lean_ctor_set(x_439, 3, x_437); +lean_ctor_set_uint8(x_439, sizeof(void*)*4, x_438); +return x_439; +} +else +{ +lean_object* x_440; lean_object* x_441; lean_object* x_442; lean_object* x_443; lean_object* x_444; lean_object* x_445; lean_object* x_446; lean_object* x_447; lean_object* x_448; uint8_t x_449; lean_object* x_450; uint8_t x_451; lean_object* x_452; +x_440 = lean_ctor_get(x_371, 1); +lean_inc(x_440); +x_441 = lean_ctor_get(x_371, 2); +lean_inc(x_441); +if (lean_is_exclusive(x_371)) { + lean_ctor_release(x_371, 0); + lean_ctor_release(x_371, 1); + lean_ctor_release(x_371, 2); + lean_ctor_release(x_371, 3); + x_442 = x_371; +} else { + lean_dec_ref(x_371); + x_442 = lean_box(0); +} +x_443 = lean_ctor_get(x_372, 0); +lean_inc(x_443); +x_444 = lean_ctor_get(x_372, 1); +lean_inc(x_444); +x_445 = lean_ctor_get(x_372, 2); +lean_inc(x_445); +x_446 = lean_ctor_get(x_372, 3); +lean_inc(x_446); +if (lean_is_exclusive(x_372)) { + lean_ctor_release(x_372, 0); + lean_ctor_release(x_372, 1); + lean_ctor_release(x_372, 2); + lean_ctor_release(x_372, 3); + x_447 = x_372; +} else { + lean_dec_ref(x_372); + x_447 = lean_box(0); +} +if (lean_is_scalar(x_447)) { + x_448 = lean_alloc_ctor(1, 4, 1); +} else { + x_448 = x_447; +} +lean_ctor_set(x_448, 0, x_443); +lean_ctor_set(x_448, 1, x_444); +lean_ctor_set(x_448, 2, x_445); +lean_ctor_set(x_448, 3, x_446); +lean_ctor_set_uint8(x_448, sizeof(void*)*4, x_425); +x_449 = 0; +if (lean_is_scalar(x_442)) { + x_450 = lean_alloc_ctor(1, 4, 1); +} else { + x_450 = x_442; +} +lean_ctor_set(x_450, 0, x_448); +lean_ctor_set(x_450, 1, x_440); +lean_ctor_set(x_450, 2, x_441); +lean_ctor_set(x_450, 3, x_417); +lean_ctor_set_uint8(x_450, sizeof(void*)*4, x_449); +x_451 = 1; +x_452 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_452, 0, x_450); +lean_ctor_set(x_452, 1, x_363); +lean_ctor_set(x_452, 2, x_364); +lean_ctor_set(x_452, 3, x_365); +lean_ctor_set_uint8(x_452, sizeof(void*)*4, x_451); +return x_452; +} +} +} +} +} +} +case 1: +{ +uint8_t x_453; lean_object* x_454; +lean_dec(x_364); +lean_dec(x_363); +x_453 = 1; +x_454 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_454, 0, x_362); +lean_ctor_set(x_454, 1, x_2); +lean_ctor_set(x_454, 2, x_3); +lean_ctor_set(x_454, 3, x_365); +lean_ctor_set_uint8(x_454, sizeof(void*)*4, x_453); +return x_454; +} +default: +{ +uint8_t x_455; +x_455 = l_Std_RBNode_isRed___rarg(x_365); +if (x_455 == 0) +{ +lean_object* x_456; uint8_t x_457; lean_object* x_458; +x_456 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_365, x_2, x_3); +x_457 = 1; +x_458 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_458, 0, x_362); +lean_ctor_set(x_458, 1, x_363); +lean_ctor_set(x_458, 2, x_364); +lean_ctor_set(x_458, 3, x_456); +lean_ctor_set_uint8(x_458, sizeof(void*)*4, x_457); +return x_458; +} +else +{ +lean_object* x_459; lean_object* x_460; +x_459 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_365, x_2, x_3); +x_460 = lean_ctor_get(x_459, 0); +lean_inc(x_460); +if (lean_obj_tag(x_460) == 0) +{ +lean_object* x_461; +x_461 = lean_ctor_get(x_459, 3); +lean_inc(x_461); +if (lean_obj_tag(x_461) == 0) +{ +lean_object* x_462; lean_object* x_463; lean_object* x_464; uint8_t x_465; lean_object* x_466; uint8_t x_467; lean_object* x_468; +x_462 = lean_ctor_get(x_459, 1); +lean_inc(x_462); +x_463 = lean_ctor_get(x_459, 2); +lean_inc(x_463); +if (lean_is_exclusive(x_459)) { + lean_ctor_release(x_459, 0); + lean_ctor_release(x_459, 1); + lean_ctor_release(x_459, 2); + lean_ctor_release(x_459, 3); + x_464 = x_459; +} else { + lean_dec_ref(x_459); + x_464 = lean_box(0); +} +x_465 = 0; +if (lean_is_scalar(x_464)) { + x_466 = lean_alloc_ctor(1, 4, 1); +} else { + x_466 = x_464; +} +lean_ctor_set(x_466, 0, x_461); +lean_ctor_set(x_466, 1, x_462); +lean_ctor_set(x_466, 2, x_463); +lean_ctor_set(x_466, 3, x_461); +lean_ctor_set_uint8(x_466, sizeof(void*)*4, x_465); +x_467 = 1; +x_468 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_468, 0, x_362); +lean_ctor_set(x_468, 1, x_363); +lean_ctor_set(x_468, 2, x_364); +lean_ctor_set(x_468, 3, x_466); +lean_ctor_set_uint8(x_468, sizeof(void*)*4, x_467); +return x_468; +} +else +{ +uint8_t x_469; +x_469 = lean_ctor_get_uint8(x_461, sizeof(void*)*4); +if (x_469 == 0) +{ +lean_object* x_470; lean_object* x_471; lean_object* x_472; lean_object* x_473; lean_object* x_474; lean_object* x_475; lean_object* x_476; lean_object* x_477; uint8_t x_478; lean_object* x_479; lean_object* x_480; uint8_t x_481; lean_object* x_482; +x_470 = lean_ctor_get(x_459, 1); +lean_inc(x_470); +x_471 = lean_ctor_get(x_459, 2); +lean_inc(x_471); +if (lean_is_exclusive(x_459)) { + lean_ctor_release(x_459, 0); + lean_ctor_release(x_459, 1); + lean_ctor_release(x_459, 2); + lean_ctor_release(x_459, 3); + x_472 = x_459; +} else { + lean_dec_ref(x_459); + x_472 = lean_box(0); +} +x_473 = lean_ctor_get(x_461, 0); +lean_inc(x_473); +x_474 = lean_ctor_get(x_461, 1); +lean_inc(x_474); +x_475 = lean_ctor_get(x_461, 2); +lean_inc(x_475); +x_476 = lean_ctor_get(x_461, 3); +lean_inc(x_476); +if (lean_is_exclusive(x_461)) { + lean_ctor_release(x_461, 0); + lean_ctor_release(x_461, 1); + lean_ctor_release(x_461, 2); + lean_ctor_release(x_461, 3); + x_477 = x_461; +} else { + lean_dec_ref(x_461); + x_477 = lean_box(0); +} +x_478 = 1; +if (lean_is_scalar(x_477)) { + x_479 = lean_alloc_ctor(1, 4, 1); +} else { + x_479 = x_477; +} +lean_ctor_set(x_479, 0, x_362); +lean_ctor_set(x_479, 1, x_363); +lean_ctor_set(x_479, 2, x_364); +lean_ctor_set(x_479, 3, x_460); +lean_ctor_set_uint8(x_479, sizeof(void*)*4, x_478); +if (lean_is_scalar(x_472)) { + x_480 = lean_alloc_ctor(1, 4, 1); +} else { + x_480 = x_472; +} +lean_ctor_set(x_480, 0, x_473); +lean_ctor_set(x_480, 1, x_474); +lean_ctor_set(x_480, 2, x_475); +lean_ctor_set(x_480, 3, x_476); +lean_ctor_set_uint8(x_480, sizeof(void*)*4, x_478); +x_481 = 0; +x_482 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_482, 0, x_479); +lean_ctor_set(x_482, 1, x_470); +lean_ctor_set(x_482, 2, x_471); +lean_ctor_set(x_482, 3, x_480); +lean_ctor_set_uint8(x_482, sizeof(void*)*4, x_481); +return x_482; +} +else +{ +lean_object* x_483; lean_object* x_484; lean_object* x_485; uint8_t x_486; lean_object* x_487; uint8_t x_488; lean_object* x_489; +x_483 = lean_ctor_get(x_459, 1); +lean_inc(x_483); +x_484 = lean_ctor_get(x_459, 2); +lean_inc(x_484); +if (lean_is_exclusive(x_459)) { + lean_ctor_release(x_459, 0); + lean_ctor_release(x_459, 1); + lean_ctor_release(x_459, 2); + lean_ctor_release(x_459, 3); + x_485 = x_459; +} else { + lean_dec_ref(x_459); + x_485 = lean_box(0); +} +x_486 = 0; +if (lean_is_scalar(x_485)) { + x_487 = lean_alloc_ctor(1, 4, 1); +} else { + x_487 = x_485; +} +lean_ctor_set(x_487, 0, x_460); +lean_ctor_set(x_487, 1, x_483); +lean_ctor_set(x_487, 2, x_484); +lean_ctor_set(x_487, 3, x_461); +lean_ctor_set_uint8(x_487, sizeof(void*)*4, x_486); +x_488 = 1; +x_489 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_489, 0, x_362); +lean_ctor_set(x_489, 1, x_363); +lean_ctor_set(x_489, 2, x_364); +lean_ctor_set(x_489, 3, x_487); +lean_ctor_set_uint8(x_489, sizeof(void*)*4, x_488); +return x_489; +} +} +} +else +{ +uint8_t x_490; +x_490 = lean_ctor_get_uint8(x_460, sizeof(void*)*4); +if (x_490 == 0) +{ +lean_object* x_491; lean_object* x_492; lean_object* x_493; lean_object* x_494; lean_object* x_495; lean_object* x_496; lean_object* x_497; lean_object* x_498; lean_object* x_499; uint8_t x_500; lean_object* x_501; lean_object* x_502; uint8_t x_503; lean_object* x_504; +x_491 = lean_ctor_get(x_459, 1); +lean_inc(x_491); +x_492 = lean_ctor_get(x_459, 2); +lean_inc(x_492); +x_493 = lean_ctor_get(x_459, 3); +lean_inc(x_493); +if (lean_is_exclusive(x_459)) { + lean_ctor_release(x_459, 0); + lean_ctor_release(x_459, 1); + lean_ctor_release(x_459, 2); + lean_ctor_release(x_459, 3); + x_494 = x_459; +} else { + lean_dec_ref(x_459); + x_494 = lean_box(0); +} +x_495 = lean_ctor_get(x_460, 0); +lean_inc(x_495); +x_496 = lean_ctor_get(x_460, 1); +lean_inc(x_496); +x_497 = lean_ctor_get(x_460, 2); +lean_inc(x_497); +x_498 = lean_ctor_get(x_460, 3); +lean_inc(x_498); +if (lean_is_exclusive(x_460)) { + lean_ctor_release(x_460, 0); + lean_ctor_release(x_460, 1); + lean_ctor_release(x_460, 2); + lean_ctor_release(x_460, 3); + x_499 = x_460; +} else { + lean_dec_ref(x_460); + x_499 = lean_box(0); +} +x_500 = 1; +if (lean_is_scalar(x_499)) { + x_501 = lean_alloc_ctor(1, 4, 1); +} else { + x_501 = x_499; +} +lean_ctor_set(x_501, 0, x_362); +lean_ctor_set(x_501, 1, x_363); +lean_ctor_set(x_501, 2, x_364); +lean_ctor_set(x_501, 3, x_495); +lean_ctor_set_uint8(x_501, sizeof(void*)*4, x_500); +if (lean_is_scalar(x_494)) { + x_502 = lean_alloc_ctor(1, 4, 1); +} else { + x_502 = x_494; +} +lean_ctor_set(x_502, 0, x_498); +lean_ctor_set(x_502, 1, x_491); +lean_ctor_set(x_502, 2, x_492); +lean_ctor_set(x_502, 3, x_493); +lean_ctor_set_uint8(x_502, sizeof(void*)*4, x_500); +x_503 = 0; +x_504 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_504, 0, x_501); +lean_ctor_set(x_504, 1, x_496); +lean_ctor_set(x_504, 2, x_497); +lean_ctor_set(x_504, 3, x_502); +lean_ctor_set_uint8(x_504, sizeof(void*)*4, x_503); +return x_504; +} +else +{ +lean_object* x_505; +x_505 = lean_ctor_get(x_459, 3); +lean_inc(x_505); +if (lean_obj_tag(x_505) == 0) +{ +lean_object* x_506; lean_object* x_507; lean_object* x_508; uint8_t x_509; lean_object* x_510; uint8_t x_511; lean_object* x_512; +x_506 = lean_ctor_get(x_459, 1); +lean_inc(x_506); +x_507 = lean_ctor_get(x_459, 2); +lean_inc(x_507); +if (lean_is_exclusive(x_459)) { + lean_ctor_release(x_459, 0); + lean_ctor_release(x_459, 1); + lean_ctor_release(x_459, 2); + lean_ctor_release(x_459, 3); + x_508 = x_459; +} else { + lean_dec_ref(x_459); + x_508 = lean_box(0); +} +x_509 = 0; +if (lean_is_scalar(x_508)) { + x_510 = lean_alloc_ctor(1, 4, 1); +} else { + x_510 = x_508; +} +lean_ctor_set(x_510, 0, x_460); +lean_ctor_set(x_510, 1, x_506); +lean_ctor_set(x_510, 2, x_507); +lean_ctor_set(x_510, 3, x_505); +lean_ctor_set_uint8(x_510, sizeof(void*)*4, x_509); +x_511 = 1; +x_512 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_512, 0, x_362); +lean_ctor_set(x_512, 1, x_363); +lean_ctor_set(x_512, 2, x_364); +lean_ctor_set(x_512, 3, x_510); +lean_ctor_set_uint8(x_512, sizeof(void*)*4, x_511); +return x_512; +} +else +{ +uint8_t x_513; +x_513 = lean_ctor_get_uint8(x_505, sizeof(void*)*4); +if (x_513 == 0) +{ +lean_object* x_514; lean_object* x_515; lean_object* x_516; lean_object* x_517; lean_object* x_518; lean_object* x_519; lean_object* x_520; lean_object* x_521; uint8_t x_522; lean_object* x_523; lean_object* x_524; lean_object* x_525; uint8_t x_526; lean_object* x_527; +x_514 = lean_ctor_get(x_459, 1); +lean_inc(x_514); +x_515 = lean_ctor_get(x_459, 2); +lean_inc(x_515); +if (lean_is_exclusive(x_459)) { + lean_ctor_release(x_459, 0); + lean_ctor_release(x_459, 1); + lean_ctor_release(x_459, 2); + lean_ctor_release(x_459, 3); + x_516 = x_459; +} else { + lean_dec_ref(x_459); + x_516 = lean_box(0); +} +x_517 = lean_ctor_get(x_505, 0); +lean_inc(x_517); +x_518 = lean_ctor_get(x_505, 1); +lean_inc(x_518); +x_519 = lean_ctor_get(x_505, 2); +lean_inc(x_519); +x_520 = lean_ctor_get(x_505, 3); +lean_inc(x_520); +if (lean_is_exclusive(x_505)) { + lean_ctor_release(x_505, 0); + lean_ctor_release(x_505, 1); + lean_ctor_release(x_505, 2); + lean_ctor_release(x_505, 3); + x_521 = x_505; +} else { + lean_dec_ref(x_505); + x_521 = lean_box(0); +} +x_522 = 1; +lean_inc(x_460); +if (lean_is_scalar(x_521)) { + x_523 = lean_alloc_ctor(1, 4, 1); +} else { + x_523 = x_521; +} +lean_ctor_set(x_523, 0, x_362); +lean_ctor_set(x_523, 1, x_363); +lean_ctor_set(x_523, 2, x_364); +lean_ctor_set(x_523, 3, x_460); +if (lean_is_exclusive(x_460)) { + lean_ctor_release(x_460, 0); + lean_ctor_release(x_460, 1); + lean_ctor_release(x_460, 2); + lean_ctor_release(x_460, 3); + x_524 = x_460; +} else { + lean_dec_ref(x_460); + x_524 = lean_box(0); +} +lean_ctor_set_uint8(x_523, sizeof(void*)*4, x_522); +if (lean_is_scalar(x_524)) { + x_525 = lean_alloc_ctor(1, 4, 1); +} else { + x_525 = x_524; +} +lean_ctor_set(x_525, 0, x_517); +lean_ctor_set(x_525, 1, x_518); +lean_ctor_set(x_525, 2, x_519); +lean_ctor_set(x_525, 3, x_520); +lean_ctor_set_uint8(x_525, sizeof(void*)*4, x_522); +x_526 = 0; +if (lean_is_scalar(x_516)) { + x_527 = lean_alloc_ctor(1, 4, 1); +} else { + x_527 = x_516; +} +lean_ctor_set(x_527, 0, x_523); +lean_ctor_set(x_527, 1, x_514); +lean_ctor_set(x_527, 2, x_515); +lean_ctor_set(x_527, 3, x_525); +lean_ctor_set_uint8(x_527, sizeof(void*)*4, x_526); +return x_527; +} +else +{ +lean_object* x_528; lean_object* x_529; lean_object* x_530; lean_object* x_531; lean_object* x_532; lean_object* x_533; lean_object* x_534; lean_object* x_535; lean_object* x_536; uint8_t x_537; lean_object* x_538; uint8_t x_539; lean_object* x_540; +x_528 = lean_ctor_get(x_459, 1); +lean_inc(x_528); +x_529 = lean_ctor_get(x_459, 2); +lean_inc(x_529); +if (lean_is_exclusive(x_459)) { + lean_ctor_release(x_459, 0); + lean_ctor_release(x_459, 1); + lean_ctor_release(x_459, 2); + lean_ctor_release(x_459, 3); + x_530 = x_459; +} else { + lean_dec_ref(x_459); + x_530 = lean_box(0); +} +x_531 = lean_ctor_get(x_460, 0); +lean_inc(x_531); +x_532 = lean_ctor_get(x_460, 1); +lean_inc(x_532); +x_533 = lean_ctor_get(x_460, 2); +lean_inc(x_533); +x_534 = lean_ctor_get(x_460, 3); +lean_inc(x_534); +if (lean_is_exclusive(x_460)) { + lean_ctor_release(x_460, 0); + lean_ctor_release(x_460, 1); + lean_ctor_release(x_460, 2); + lean_ctor_release(x_460, 3); + x_535 = x_460; +} else { + lean_dec_ref(x_460); + x_535 = lean_box(0); +} +if (lean_is_scalar(x_535)) { + x_536 = lean_alloc_ctor(1, 4, 1); +} else { + x_536 = x_535; +} +lean_ctor_set(x_536, 0, x_531); +lean_ctor_set(x_536, 1, x_532); +lean_ctor_set(x_536, 2, x_533); +lean_ctor_set(x_536, 3, x_534); +lean_ctor_set_uint8(x_536, sizeof(void*)*4, x_513); +x_537 = 0; +if (lean_is_scalar(x_530)) { + x_538 = lean_alloc_ctor(1, 4, 1); +} else { + x_538 = x_530; +} +lean_ctor_set(x_538, 0, x_536); +lean_ctor_set(x_538, 1, x_528); +lean_ctor_set(x_538, 2, x_529); +lean_ctor_set(x_538, 3, x_505); +lean_ctor_set_uint8(x_538, sizeof(void*)*4, x_537); +x_539 = 1; +x_540 = lean_alloc_ctor(1, 4, 1); +lean_ctor_set(x_540, 0, x_362); +lean_ctor_set(x_540, 1, x_363); +lean_ctor_set(x_540, 2, x_364); +lean_ctor_set(x_540, 3, x_538); +lean_ctor_set_uint8(x_540, sizeof(void*)*4, x_539); +return x_540; +} +} +} +} +} +} +} +} +} +} +} +} +LEAN_EXPORT lean_object* l_Std_RBNode_insert___at_Lean_NameSet_insert___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; +x_4 = l_Std_RBNode_isRed___rarg(x_1); +if (x_4 == 0) +{ +lean_object* x_5; +x_5 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_1, x_2, x_3); +return x_5; +} +else +{ +lean_object* x_6; lean_object* x_7; +x_6 = l_Std_RBNode_ins___at_Lean_NameSet_insert___spec__2(x_1, x_2, x_3); +x_7 = l_Std_RBNode_setBlack___rarg(x_6); +return x_7; +} +} +} +LEAN_EXPORT lean_object* l_Lean_NameSet_insert(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; +x_3 = lean_box(0); +x_4 = l_Std_RBNode_insert___at_Lean_NameSet_insert___spec__1(x_1, x_2, x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameSet_contains___spec__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_3; +x_3 = lean_box(0); +return x_3; +} +else +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; +x_4 = lean_ctor_get(x_1, 0); +x_5 = lean_ctor_get(x_1, 1); +x_6 = lean_ctor_get(x_1, 2); +x_7 = lean_ctor_get(x_1, 3); +x_8 = l_Lean_Name_quickCmp(x_2, x_5); +switch (x_8) { +case 0: +{ +x_1 = x_4; +goto _start; +} +case 1: +{ +lean_object* x_10; +lean_inc(x_6); +x_10 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_10, 0, x_6); +return x_10; +} +default: +{ +x_1 = x_7; +goto _start; +} +} +} +} +} +LEAN_EXPORT uint8_t l_Lean_NameSet_contains(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Std_RBNode_find___at_Lean_NameSet_contains___spec__1(x_1, x_2); +if (lean_obj_tag(x_3) == 0) +{ +uint8_t x_4; +x_4 = 0; +return x_4; +} +else +{ +uint8_t x_5; +lean_dec(x_3); +x_5 = 1; +return x_5; +} +} +} +LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_NameSet_contains___spec__1___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Std_RBNode_find___at_Lean_NameSet_contains___spec__1(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_NameSet_contains___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_Lean_NameSet_contains(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_NameSet_instForInNameSetName___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_NameMap_instForInNameMapProdName___closed__1; +x_2 = lean_alloc_closure((void*)(l_Std_RBTree_forIn___boxed), 4, 3); +lean_closure_set(x_2, 0, lean_box(0)); +lean_closure_set(x_2, 1, x_1); +lean_closure_set(x_2, 2, lean_box(0)); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_NameSet_instForInNameSetName(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Lean_NameSet_instForInNameSetName___closed__1; +return x_2; +} +} +LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_NameSSet_empty___spec__2(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Std_mkHashMapImp___rarg(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0)); +return x_1; +} +} +static lean_object* _init_l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__1; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__2; +x_2 = lean_unsigned_to_nat(0u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; +x_1 = lean_unsigned_to_nat(0u); +x_2 = l_Std_mkHashMapImp___rarg(x_1); +x_3 = 1; +x_4 = l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__3; +x_5 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_5, 0, x_2); +lean_ctor_set(x_5, 1, x_4); +lean_ctor_set_uint8(x_5, sizeof(void*)*2, x_3); +return x_5; +} +} +static lean_object* _init_l_Lean_NameSSet_empty() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1; +return x_1; +} +} +LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_NameSSet_empty___spec__2___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Std_mkHashMap___at_Lean_NameSSet_empty___spec__2(x_1); +lean_dec(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_NameSSet_instEmptyCollectionNameSSet() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1; +return x_1; +} +} +static lean_object* _init_l_Lean_NameSSet_instInhabitedNameSSet() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1; +return x_1; +} +} +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux_traverse___at_Lean_NameSSet_insert___spec__4(size_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; uint8_t x_8; +x_7 = lean_array_get_size(x_2); +x_8 = lean_nat_dec_lt(x_5, x_7); +lean_dec(x_7); +if (x_8 == 0) +{ +lean_dec(x_5); +return x_6; +} +else +{ +lean_object* x_9; lean_object* x_10; uint64_t x_11; size_t x_12; size_t x_13; size_t x_14; size_t x_15; size_t x_16; size_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_9 = lean_array_fget(x_2, x_5); +x_10 = lean_array_fget(x_3, x_5); +x_11 = l_Lean_Name_hash___override(x_9); +x_12 = lean_uint64_to_usize(x_11); +x_13 = 1; +x_14 = lean_usize_sub(x_1, x_13); +x_15 = 5; +x_16 = lean_usize_mul(x_15, x_14); +x_17 = lean_usize_shift_right(x_12, x_16); +x_18 = lean_unsigned_to_nat(1u); +x_19 = lean_nat_add(x_5, x_18); +lean_dec(x_5); +x_20 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3(x_6, x_17, x_1, x_9, x_10); +x_4 = lean_box(0); +x_5 = x_19; +x_6 = x_20; +goto _start; +} +} +} +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_NameSSet_insert___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; +x_5 = lean_ctor_get(x_1, 0); +lean_inc(x_5); +x_6 = lean_ctor_get(x_1, 1); +lean_inc(x_6); +x_7 = lean_array_get_size(x_5); +x_8 = lean_nat_dec_lt(x_2, x_7); +lean_dec(x_7); +if (x_8 == 0) +{ +uint8_t x_9; +lean_dec(x_2); +x_9 = !lean_is_exclusive(x_1); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_10 = lean_ctor_get(x_1, 1); +lean_dec(x_10); +x_11 = lean_ctor_get(x_1, 0); +lean_dec(x_11); +x_12 = lean_array_push(x_5, x_3); +x_13 = lean_array_push(x_6, x_4); +lean_ctor_set(x_1, 1, x_13); +lean_ctor_set(x_1, 0, x_12); +return x_1; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; +lean_dec(x_1); +x_14 = lean_array_push(x_5, x_3); +x_15 = lean_array_push(x_6, x_4); +x_16 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_16, 0, x_14); +lean_ctor_set(x_16, 1, x_15); +return x_16; +} +} +else +{ +lean_object* x_17; uint8_t x_18; +x_17 = lean_array_fget(x_5, x_2); +x_18 = lean_name_eq(x_3, x_17); +lean_dec(x_17); +if (x_18 == 0) +{ +lean_object* x_19; lean_object* x_20; +lean_dec(x_6); +lean_dec(x_5); +x_19 = lean_unsigned_to_nat(1u); +x_20 = lean_nat_add(x_2, x_19); +lean_dec(x_2); +x_2 = x_20; +goto _start; +} +else +{ +uint8_t x_22; +x_22 = !lean_is_exclusive(x_1); +if (x_22 == 0) +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_23 = lean_ctor_get(x_1, 1); +lean_dec(x_23); +x_24 = lean_ctor_get(x_1, 0); +lean_dec(x_24); +x_25 = lean_array_fset(x_5, x_2, x_3); +x_26 = lean_array_fset(x_6, x_2, x_4); +lean_dec(x_2); +lean_ctor_set(x_1, 1, x_26); +lean_ctor_set(x_1, 0, x_25); +return x_1; +} +else +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; +lean_dec(x_1); +x_27 = lean_array_fset(x_5, x_2, x_3); +x_28 = lean_array_fset(x_6, x_2, x_4); +lean_dec(x_2); +x_29 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_29, 0, x_27); +lean_ctor_set(x_29, 1, x_28); +return x_29; +} +} +} +} +} +static size_t _init_l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__1() { +_start: +{ +size_t x_1; size_t x_2; size_t x_3; +x_1 = 1; +x_2 = 5; +x_3 = lean_usize_shift_left(x_1, x_2); +return x_3; +} +} +static size_t _init_l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__2() { +_start: +{ +size_t x_1; size_t x_2; size_t x_3; +x_1 = 1; +x_2 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__1; +x_3 = lean_usize_sub(x_2, x_1); +return x_3; +} +} +static lean_object* _init_l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = l_Std_PersistentHashMap_mkEmptyEntries(lean_box(0), lean_box(0)); +return x_1; +} +} +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +uint8_t x_6; +x_6 = !lean_is_exclusive(x_1); +if (x_6 == 0) +{ +lean_object* x_7; size_t x_8; size_t x_9; size_t x_10; size_t x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; +x_7 = lean_ctor_get(x_1, 0); +x_8 = 1; +x_9 = 5; +x_10 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__2; +x_11 = lean_usize_land(x_2, x_10); +x_12 = lean_usize_to_nat(x_11); +x_13 = lean_array_get_size(x_7); +x_14 = lean_nat_dec_lt(x_12, x_13); +lean_dec(x_13); +if (x_14 == 0) +{ +lean_dec(x_12); +lean_dec(x_5); +lean_dec(x_4); +return x_1; +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_15 = lean_array_fget(x_7, x_12); +x_16 = lean_box(0); +x_17 = lean_array_fset(x_7, x_12, x_16); +switch (lean_obj_tag(x_15)) { +case 0: +{ +uint8_t x_18; +x_18 = !lean_is_exclusive(x_15); +if (x_18 == 0) +{ +lean_object* x_19; lean_object* x_20; uint8_t x_21; +x_19 = lean_ctor_get(x_15, 0); +x_20 = lean_ctor_get(x_15, 1); +x_21 = lean_name_eq(x_4, x_19); +if (x_21 == 0) +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +lean_free_object(x_15); +x_22 = l_Std_PersistentHashMap_mkCollisionNode___rarg(x_19, x_20, x_4, x_5); +x_23 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_23, 0, x_22); +x_24 = lean_array_fset(x_17, x_12, x_23); +lean_dec(x_12); +lean_ctor_set(x_1, 0, x_24); +return x_1; +} +else +{ +lean_object* x_25; +lean_dec(x_20); +lean_dec(x_19); +lean_ctor_set(x_15, 1, x_5); +lean_ctor_set(x_15, 0, x_4); +x_25 = lean_array_fset(x_17, x_12, x_15); +lean_dec(x_12); +lean_ctor_set(x_1, 0, x_25); +return x_1; +} +} +else +{ +lean_object* x_26; lean_object* x_27; uint8_t x_28; +x_26 = lean_ctor_get(x_15, 0); +x_27 = lean_ctor_get(x_15, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_15); +x_28 = lean_name_eq(x_4, x_26); +if (x_28 == 0) +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = l_Std_PersistentHashMap_mkCollisionNode___rarg(x_26, x_27, x_4, x_5); +x_30 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_30, 0, x_29); +x_31 = lean_array_fset(x_17, x_12, x_30); +lean_dec(x_12); +lean_ctor_set(x_1, 0, x_31); +return x_1; +} +else +{ +lean_object* x_32; lean_object* x_33; +lean_dec(x_27); +lean_dec(x_26); +x_32 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_32, 0, x_4); +lean_ctor_set(x_32, 1, x_5); +x_33 = lean_array_fset(x_17, x_12, x_32); +lean_dec(x_12); +lean_ctor_set(x_1, 0, x_33); +return x_1; +} +} +} +case 1: +{ +uint8_t x_34; +x_34 = !lean_is_exclusive(x_15); +if (x_34 == 0) +{ +lean_object* x_35; size_t x_36; size_t x_37; lean_object* x_38; lean_object* x_39; +x_35 = lean_ctor_get(x_15, 0); +x_36 = lean_usize_shift_right(x_2, x_9); +x_37 = lean_usize_add(x_3, x_8); +x_38 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3(x_35, x_36, x_37, x_4, x_5); +lean_ctor_set(x_15, 0, x_38); +x_39 = lean_array_fset(x_17, x_12, x_15); +lean_dec(x_12); +lean_ctor_set(x_1, 0, x_39); +return x_1; +} +else +{ +lean_object* x_40; size_t x_41; size_t x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_40 = lean_ctor_get(x_15, 0); +lean_inc(x_40); +lean_dec(x_15); +x_41 = lean_usize_shift_right(x_2, x_9); +x_42 = lean_usize_add(x_3, x_8); +x_43 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3(x_40, x_41, x_42, x_4, x_5); +x_44 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_44, 0, x_43); +x_45 = lean_array_fset(x_17, x_12, x_44); +lean_dec(x_12); +lean_ctor_set(x_1, 0, x_45); +return x_1; +} +} +default: +{ +lean_object* x_46; lean_object* x_47; +x_46 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_46, 0, x_4); +lean_ctor_set(x_46, 1, x_5); +x_47 = lean_array_fset(x_17, x_12, x_46); +lean_dec(x_12); +lean_ctor_set(x_1, 0, x_47); +return x_1; +} +} +} +} +else +{ +lean_object* x_48; size_t x_49; size_t x_50; size_t x_51; size_t x_52; lean_object* x_53; lean_object* x_54; uint8_t x_55; +x_48 = lean_ctor_get(x_1, 0); +lean_inc(x_48); +lean_dec(x_1); +x_49 = 1; +x_50 = 5; +x_51 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__2; +x_52 = lean_usize_land(x_2, x_51); +x_53 = lean_usize_to_nat(x_52); +x_54 = lean_array_get_size(x_48); +x_55 = lean_nat_dec_lt(x_53, x_54); +lean_dec(x_54); +if (x_55 == 0) +{ +lean_object* x_56; +lean_dec(x_53); +lean_dec(x_5); +lean_dec(x_4); +x_56 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_56, 0, x_48); +return x_56; +} +else +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_array_fget(x_48, x_53); +x_58 = lean_box(0); +x_59 = lean_array_fset(x_48, x_53, x_58); +switch (lean_obj_tag(x_57)) { +case 0: +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63; +x_60 = lean_ctor_get(x_57, 0); +lean_inc(x_60); +x_61 = lean_ctor_get(x_57, 1); +lean_inc(x_61); +if (lean_is_exclusive(x_57)) { + lean_ctor_release(x_57, 0); + lean_ctor_release(x_57, 1); + x_62 = x_57; +} else { + lean_dec_ref(x_57); + x_62 = lean_box(0); +} +x_63 = lean_name_eq(x_4, x_60); +if (x_63 == 0) +{ +lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; +lean_dec(x_62); +x_64 = l_Std_PersistentHashMap_mkCollisionNode___rarg(x_60, x_61, x_4, x_5); +x_65 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_65, 0, x_64); +x_66 = lean_array_fset(x_59, x_53, x_65); +lean_dec(x_53); +x_67 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_67, 0, x_66); +return x_67; +} +else +{ +lean_object* x_68; lean_object* x_69; lean_object* x_70; +lean_dec(x_61); +lean_dec(x_60); +if (lean_is_scalar(x_62)) { + x_68 = lean_alloc_ctor(0, 2, 0); +} else { + x_68 = x_62; +} +lean_ctor_set(x_68, 0, x_4); +lean_ctor_set(x_68, 1, x_5); +x_69 = lean_array_fset(x_59, x_53, x_68); +lean_dec(x_53); +x_70 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_70, 0, x_69); +return x_70; +} +} +case 1: +{ +lean_object* x_71; lean_object* x_72; size_t x_73; size_t x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; +x_71 = lean_ctor_get(x_57, 0); +lean_inc(x_71); +if (lean_is_exclusive(x_57)) { + lean_ctor_release(x_57, 0); + x_72 = x_57; +} else { + lean_dec_ref(x_57); + x_72 = lean_box(0); +} +x_73 = lean_usize_shift_right(x_2, x_50); +x_74 = lean_usize_add(x_3, x_49); +x_75 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3(x_71, x_73, x_74, x_4, x_5); +if (lean_is_scalar(x_72)) { + x_76 = lean_alloc_ctor(1, 1, 0); +} else { + x_76 = x_72; +} +lean_ctor_set(x_76, 0, x_75); +x_77 = lean_array_fset(x_59, x_53, x_76); +lean_dec(x_53); +x_78 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_78, 0, x_77); +return x_78; +} +default: +{ +lean_object* x_79; lean_object* x_80; lean_object* x_81; +x_79 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_79, 0, x_4); +lean_ctor_set(x_79, 1, x_5); +x_80 = lean_array_fset(x_59, x_53, x_79); +lean_dec(x_53); +x_81 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_81, 0, x_80); +return x_81; +} +} +} +} +} +else +{ +uint8_t x_82; +x_82 = !lean_is_exclusive(x_1); +if (x_82 == 0) +{ +lean_object* x_83; lean_object* x_84; size_t x_85; uint8_t x_86; +x_83 = lean_unsigned_to_nat(0u); +x_84 = l_Std_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_NameSSet_insert___spec__5(x_1, x_83, x_4, x_5); +x_85 = 7; +x_86 = lean_usize_dec_le(x_85, x_3); +if (x_86 == 0) +{ +lean_object* x_87; lean_object* x_88; uint8_t x_89; +x_87 = l_Std_PersistentHashMap_getCollisionNodeSize___rarg(x_84); +x_88 = lean_unsigned_to_nat(4u); +x_89 = lean_nat_dec_lt(x_87, x_88); +lean_dec(x_87); +if (x_89 == 0) +{ +lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; +x_90 = lean_ctor_get(x_84, 0); +lean_inc(x_90); +x_91 = lean_ctor_get(x_84, 1); +lean_inc(x_91); +lean_dec(x_84); +x_92 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__3; +x_93 = l_Std_PersistentHashMap_insertAux_traverse___at_Lean_NameSSet_insert___spec__4(x_3, x_90, x_91, lean_box(0), x_83, x_92); +lean_dec(x_91); +lean_dec(x_90); +return x_93; +} +else +{ +return x_84; +} +} +else +{ +return x_84; +} +} +else +{ +lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; size_t x_99; uint8_t x_100; +x_94 = lean_ctor_get(x_1, 0); +x_95 = lean_ctor_get(x_1, 1); +lean_inc(x_95); +lean_inc(x_94); +lean_dec(x_1); +x_96 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_96, 0, x_94); +lean_ctor_set(x_96, 1, x_95); +x_97 = lean_unsigned_to_nat(0u); +x_98 = l_Std_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_NameSSet_insert___spec__5(x_96, x_97, x_4, x_5); +x_99 = 7; +x_100 = lean_usize_dec_le(x_99, x_3); +if (x_100 == 0) +{ +lean_object* x_101; lean_object* x_102; uint8_t x_103; +x_101 = l_Std_PersistentHashMap_getCollisionNodeSize___rarg(x_98); +x_102 = lean_unsigned_to_nat(4u); +x_103 = lean_nat_dec_lt(x_101, x_102); +lean_dec(x_101); +if (x_103 == 0) +{ +lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; +x_104 = lean_ctor_get(x_98, 0); +lean_inc(x_104); +x_105 = lean_ctor_get(x_98, 1); +lean_inc(x_105); +lean_dec(x_98); +x_106 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__3; +x_107 = l_Std_PersistentHashMap_insertAux_traverse___at_Lean_NameSSet_insert___spec__4(x_3, x_104, x_105, lean_box(0), x_97, x_106); +lean_dec(x_105); +lean_dec(x_104); +return x_107; +} +else +{ +return x_98; +} +} +else +{ +return x_98; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insert___at_Lean_NameSSet_insert___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_1); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; uint64_t x_7; size_t x_8; size_t x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_5 = lean_ctor_get(x_1, 0); +x_6 = lean_ctor_get(x_1, 1); +x_7 = l_Lean_Name_hash___override(x_2); +x_8 = lean_uint64_to_usize(x_7); +x_9 = 1; +x_10 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3(x_5, x_8, x_9, x_2, x_3); +x_11 = lean_unsigned_to_nat(1u); +x_12 = lean_nat_add(x_6, x_11); +lean_dec(x_6); +lean_ctor_set(x_1, 1, x_12); +lean_ctor_set(x_1, 0, x_10); +return x_1; +} +else +{ +lean_object* x_13; lean_object* x_14; uint64_t x_15; size_t x_16; size_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_13 = lean_ctor_get(x_1, 0); +x_14 = lean_ctor_get(x_1, 1); +lean_inc(x_14); +lean_inc(x_13); +lean_dec(x_1); +x_15 = l_Lean_Name_hash___override(x_2); +x_16 = lean_uint64_to_usize(x_15); +x_17 = 1; +x_18 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3(x_13, x_16, x_17, x_2, x_3); +x_19 = lean_unsigned_to_nat(1u); +x_20 = lean_nat_add(x_14, x_19); +lean_dec(x_14); +x_21 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_21, 0, x_18); +lean_ctor_set(x_21, 1, x_20); +return x_21; +} +} +} +LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_NameSSet_insert___spec__7(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +uint8_t x_3; +x_3 = 0; +return x_3; +} +else +{ +lean_object* x_4; lean_object* x_5; uint8_t x_6; +x_4 = lean_ctor_get(x_2, 0); +x_5 = lean_ctor_get(x_2, 2); +x_6 = lean_name_eq(x_4, x_1); +if (x_6 == 0) +{ +x_2 = x_5; +goto _start; +} +else +{ +uint8_t x_8; +x_8 = 1; +return x_8; +} +} +} +} +LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_NameSSet_insert___spec__10(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +return x_1; +} +else +{ +uint8_t x_3; +x_3 = !lean_is_exclusive(x_2); +if (x_3 == 0) +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; uint64_t x_7; size_t x_8; size_t x_9; lean_object* x_10; lean_object* x_11; +x_4 = lean_ctor_get(x_2, 0); +x_5 = lean_ctor_get(x_2, 2); +x_6 = lean_array_get_size(x_1); +x_7 = l_Lean_Name_hash___override(x_4); +x_8 = lean_uint64_to_usize(x_7); +x_9 = lean_usize_modn(x_8, x_6); +lean_dec(x_6); +x_10 = lean_array_uget(x_1, x_9); +lean_ctor_set(x_2, 2, x_10); +x_11 = lean_array_uset(x_1, x_9, x_2); +x_1 = x_11; +x_2 = x_5; +goto _start; +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint64_t x_17; size_t x_18; size_t x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_13 = lean_ctor_get(x_2, 0); +x_14 = lean_ctor_get(x_2, 1); +x_15 = lean_ctor_get(x_2, 2); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_dec(x_2); +x_16 = lean_array_get_size(x_1); +x_17 = l_Lean_Name_hash___override(x_13); +x_18 = lean_uint64_to_usize(x_17); +x_19 = lean_usize_modn(x_18, x_16); +lean_dec(x_16); +x_20 = lean_array_uget(x_1, x_19); +x_21 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_21, 0, x_13); +lean_ctor_set(x_21, 1, x_14); +lean_ctor_set(x_21, 2, x_20); +x_22 = lean_array_uset(x_1, x_19, x_21); +x_1 = x_22; +x_2 = x_15; +goto _start; +} +} +} +} +LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_NameSSet_insert___spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; uint8_t x_5; +x_4 = lean_array_get_size(x_2); +x_5 = lean_nat_dec_lt(x_1, x_4); +lean_dec(x_4); +if (x_5 == 0) +{ +lean_dec(x_2); +lean_dec(x_1); +return x_3; +} +else +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_6 = lean_array_fget(x_2, x_1); +x_7 = lean_box(0); +x_8 = lean_array_fset(x_2, x_1, x_7); +x_9 = l_Std_AssocList_foldlM___at_Lean_NameSSet_insert___spec__10(x_3, x_6); +x_10 = lean_unsigned_to_nat(1u); +x_11 = lean_nat_add(x_1, x_10); +lean_dec(x_1); +x_1 = x_11; +x_2 = x_8; +x_3 = x_9; +goto _start; +} +} +} +LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_NameSSet_insert___spec__8(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_3 = lean_array_get_size(x_2); +x_4 = lean_unsigned_to_nat(2u); +x_5 = lean_nat_mul(x_3, x_4); +lean_dec(x_3); +x_6 = lean_box(0); +x_7 = lean_mk_array(x_5, x_6); +x_8 = lean_unsigned_to_nat(0u); +x_9 = l_Std_HashMapImp_moveEntries___at_Lean_NameSSet_insert___spec__9(x_8, x_2, x_7); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_1); +lean_ctor_set(x_10, 1, x_9); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Std_AssocList_replace___at_Lean_NameSSet_insert___spec__11(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_3) == 0) +{ +lean_object* x_4; +lean_dec(x_2); +lean_dec(x_1); +x_4 = lean_box(0); +return x_4; +} +else +{ +uint8_t x_5; +x_5 = !lean_is_exclusive(x_3); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9; +x_6 = lean_ctor_get(x_3, 0); +x_7 = lean_ctor_get(x_3, 1); +x_8 = lean_ctor_get(x_3, 2); +x_9 = lean_name_eq(x_6, x_1); +if (x_9 == 0) +{ +lean_object* x_10; +x_10 = l_Std_AssocList_replace___at_Lean_NameSSet_insert___spec__11(x_1, x_2, x_8); +lean_ctor_set(x_3, 2, x_10); +return x_3; +} +else +{ +lean_dec(x_7); +lean_dec(x_6); +lean_ctor_set(x_3, 1, x_2); +lean_ctor_set(x_3, 0, x_1); +return x_3; +} +} +else +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; +x_11 = lean_ctor_get(x_3, 0); +x_12 = lean_ctor_get(x_3, 1); +x_13 = lean_ctor_get(x_3, 2); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_dec(x_3); +x_14 = lean_name_eq(x_11, x_1); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; +x_15 = l_Std_AssocList_replace___at_Lean_NameSSet_insert___spec__11(x_1, x_2, x_13); +x_16 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_16, 0, x_11); +lean_ctor_set(x_16, 1, x_12); +lean_ctor_set(x_16, 2, x_15); +return x_16; +} +else +{ +lean_object* x_17; +lean_dec(x_12); +lean_dec(x_11); +x_17 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_17, 0, x_1); +lean_ctor_set(x_17, 1, x_2); +lean_ctor_set(x_17, 2, x_13); +return x_17; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_NameSSet_insert___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_1); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; uint64_t x_8; size_t x_9; size_t x_10; lean_object* x_11; uint8_t x_12; +x_5 = lean_ctor_get(x_1, 0); +x_6 = lean_ctor_get(x_1, 1); +x_7 = lean_array_get_size(x_6); +x_8 = l_Lean_Name_hash___override(x_2); +x_9 = lean_uint64_to_usize(x_8); +x_10 = lean_usize_modn(x_9, x_7); +x_11 = lean_array_uget(x_6, x_10); +x_12 = l_Std_AssocList_contains___at_Lean_NameSSet_insert___spec__7(x_2, x_11); +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; +x_13 = lean_unsigned_to_nat(1u); +x_14 = lean_nat_add(x_5, x_13); +lean_dec(x_5); +x_15 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_15, 0, x_2); +lean_ctor_set(x_15, 1, x_3); +lean_ctor_set(x_15, 2, x_11); +x_16 = lean_array_uset(x_6, x_10, x_15); +x_17 = l___private_Lean_Data_HashMap_0__Std_numBucketsForCapacity(x_14); +x_18 = lean_nat_dec_le(x_17, x_7); +lean_dec(x_7); +lean_dec(x_17); +if (x_18 == 0) +{ +lean_object* x_19; +lean_free_object(x_1); +x_19 = l_Std_HashMapImp_expand___at_Lean_NameSSet_insert___spec__8(x_14, x_16); +return x_19; +} +else +{ +lean_ctor_set(x_1, 1, x_16); +lean_ctor_set(x_1, 0, x_14); +return x_1; +} +} +else +{ +lean_object* x_20; lean_object* x_21; +lean_dec(x_7); +x_20 = l_Std_AssocList_replace___at_Lean_NameSSet_insert___spec__11(x_2, x_3, x_11); +x_21 = lean_array_uset(x_6, x_10, x_20); +lean_ctor_set(x_1, 1, x_21); +return x_1; +} +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; uint64_t x_25; size_t x_26; size_t x_27; lean_object* x_28; uint8_t x_29; +x_22 = lean_ctor_get(x_1, 0); +x_23 = lean_ctor_get(x_1, 1); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_1); +x_24 = lean_array_get_size(x_23); +x_25 = l_Lean_Name_hash___override(x_2); +x_26 = lean_uint64_to_usize(x_25); +x_27 = lean_usize_modn(x_26, x_24); +x_28 = lean_array_uget(x_23, x_27); +x_29 = l_Std_AssocList_contains___at_Lean_NameSSet_insert___spec__7(x_2, x_28); +if (x_29 == 0) +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; +x_30 = lean_unsigned_to_nat(1u); +x_31 = lean_nat_add(x_22, x_30); +lean_dec(x_22); +x_32 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_32, 0, x_2); +lean_ctor_set(x_32, 1, x_3); +lean_ctor_set(x_32, 2, x_28); +x_33 = lean_array_uset(x_23, x_27, x_32); +x_34 = l___private_Lean_Data_HashMap_0__Std_numBucketsForCapacity(x_31); +x_35 = lean_nat_dec_le(x_34, x_24); +lean_dec(x_24); +lean_dec(x_34); +if (x_35 == 0) +{ +lean_object* x_36; +x_36 = l_Std_HashMapImp_expand___at_Lean_NameSSet_insert___spec__8(x_31, x_33); +return x_36; +} +else +{ +lean_object* x_37; +x_37 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_37, 0, x_31); +lean_ctor_set(x_37, 1, x_33); +return x_37; +} +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +lean_dec(x_24); +x_38 = l_Std_AssocList_replace___at_Lean_NameSSet_insert___spec__11(x_2, x_3, x_28); +x_39 = lean_array_uset(x_23, x_27, x_38); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_22); +lean_ctor_set(x_40, 1, x_39); +return x_40; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_SMap_insert___at_Lean_NameSSet_insert___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; +x_4 = lean_ctor_get_uint8(x_1, sizeof(void*)*2); +if (x_4 == 0) +{ +uint8_t x_5; +x_5 = !lean_is_exclusive(x_1); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; uint8_t x_8; +x_6 = lean_ctor_get(x_1, 1); +x_7 = l_Std_PersistentHashMap_insert___at_Lean_NameSSet_insert___spec__2(x_6, x_2, x_3); +x_8 = 0; +lean_ctor_set(x_1, 1, x_7); +lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_8); +return x_1; +} +else +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; lean_object* x_13; +x_9 = lean_ctor_get(x_1, 0); +x_10 = lean_ctor_get(x_1, 1); +lean_inc(x_10); +lean_inc(x_9); +lean_dec(x_1); +x_11 = l_Std_PersistentHashMap_insert___at_Lean_NameSSet_insert___spec__2(x_10, x_2, x_3); +x_12 = 0; +x_13 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_13, 0, x_9); +lean_ctor_set(x_13, 1, x_11); +lean_ctor_set_uint8(x_13, sizeof(void*)*2, x_12); +return x_13; +} +} +else +{ +uint8_t x_14; +x_14 = !lean_is_exclusive(x_1); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; uint8_t x_17; +x_15 = lean_ctor_get(x_1, 0); +x_16 = l_Std_HashMap_insert___at_Lean_NameSSet_insert___spec__6(x_15, x_2, x_3); +x_17 = 1; +lean_ctor_set(x_1, 0, x_16); +lean_ctor_set_uint8(x_1, sizeof(void*)*2, x_17); +return x_1; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22; +x_18 = lean_ctor_get(x_1, 0); +x_19 = lean_ctor_get(x_1, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_1); +x_20 = l_Std_HashMap_insert___at_Lean_NameSSet_insert___spec__6(x_18, x_2, x_3); +x_21 = 1; +x_22 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_22, 0, x_20); +lean_ctor_set(x_22, 1, x_19); +lean_ctor_set_uint8(x_22, sizeof(void*)*2, x_21); +return x_22; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_NameSSet_insert(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; +x_3 = lean_box(0); +x_4 = l_Lean_SMap_insert___at_Lean_NameSSet_insert___spec__1(x_1, x_2, x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux_traverse___at_Lean_NameSSet_insert___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +size_t x_7; lean_object* x_8; +x_7 = lean_unbox_usize(x_1); +lean_dec(x_1); +x_8 = l_Std_PersistentHashMap_insertAux_traverse___at_Lean_NameSSet_insert___spec__4(x_7, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_3); +lean_dec(x_2); +return x_8; +} +} +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +size_t x_6; size_t x_7; lean_object* x_8; +x_6 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_7 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_8 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3(x_1, x_6, x_7, x_4, x_5); +return x_8; +} +} +LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_NameSSet_insert___spec__7___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_Std_AssocList_contains___at_Lean_NameSSet_insert___spec__7(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; +} +} +LEAN_EXPORT uint8_t l_Std_HashMapImp_contains___at_Lean_NameSSet_contains___spec__2(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; uint64_t x_5; size_t x_6; size_t x_7; lean_object* x_8; uint8_t x_9; +x_3 = lean_ctor_get(x_1, 1); +x_4 = lean_array_get_size(x_3); +x_5 = l_Lean_Name_hash___override(x_2); +x_6 = lean_uint64_to_usize(x_5); +x_7 = lean_usize_modn(x_6, x_4); +lean_dec(x_4); +x_8 = lean_array_uget(x_3, x_7); +x_9 = l_Std_AssocList_contains___at_Lean_NameSSet_insert___spec__7(x_2, x_8); +lean_dec(x_8); +return x_9; +} +} +LEAN_EXPORT uint8_t l_Std_PersistentHashMap_containsAtAux___at_Lean_NameSSet_contains___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; uint8_t x_7; +x_6 = lean_array_get_size(x_1); +x_7 = lean_nat_dec_lt(x_4, x_6); +lean_dec(x_6); +if (x_7 == 0) +{ +uint8_t x_8; +lean_dec(x_4); +x_8 = 0; +return x_8; +} +else +{ +lean_object* x_9; uint8_t x_10; +x_9 = lean_array_fget(x_1, x_4); +x_10 = lean_name_eq(x_5, x_9); +lean_dec(x_9); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; +x_11 = lean_unsigned_to_nat(1u); +x_12 = lean_nat_add(x_4, x_11); +lean_dec(x_4); +x_3 = lean_box(0); +x_4 = x_12; +goto _start; +} +else +{ +uint8_t x_14; +lean_dec(x_4); +x_14 = 1; +return x_14; +} +} +} +} +LEAN_EXPORT uint8_t l_Std_PersistentHashMap_containsAux___at_Lean_NameSSet_contains___spec__4(lean_object* x_1, size_t x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; size_t x_5; size_t x_6; size_t x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_4 = lean_ctor_get(x_1, 0); +lean_inc(x_4); +lean_dec(x_1); +x_5 = 5; +x_6 = l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__2; +x_7 = lean_usize_land(x_2, x_6); +x_8 = lean_usize_to_nat(x_7); +x_9 = lean_box(2); +x_10 = lean_array_get(x_9, x_4, x_8); +lean_dec(x_8); +lean_dec(x_4); +switch (lean_obj_tag(x_10)) { +case 0: +{ +lean_object* x_11; uint8_t x_12; +x_11 = lean_ctor_get(x_10, 0); +lean_inc(x_11); +lean_dec(x_10); +x_12 = lean_name_eq(x_3, x_11); +lean_dec(x_11); +return x_12; +} +case 1: +{ +lean_object* x_13; size_t x_14; +x_13 = lean_ctor_get(x_10, 0); +lean_inc(x_13); +lean_dec(x_10); +x_14 = lean_usize_shift_right(x_2, x_5); +x_1 = x_13; +x_2 = x_14; +goto _start; +} +default: +{ +uint8_t x_16; +x_16 = 0; +return x_16; +} +} +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; +x_17 = lean_ctor_get(x_1, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_1, 1); +lean_inc(x_18); +lean_dec(x_1); +x_19 = lean_unsigned_to_nat(0u); +x_20 = l_Std_PersistentHashMap_containsAtAux___at_Lean_NameSSet_contains___spec__5(x_17, x_18, lean_box(0), x_19, x_3); +lean_dec(x_18); +lean_dec(x_17); +return x_20; +} +} +} +LEAN_EXPORT uint8_t l_Std_PersistentHashMap_contains___at_Lean_NameSSet_contains___spec__3(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; uint64_t x_4; size_t x_5; uint8_t x_6; +x_3 = lean_ctor_get(x_1, 0); +lean_inc(x_3); +lean_dec(x_1); +x_4 = l_Lean_Name_hash___override(x_2); +x_5 = lean_uint64_to_usize(x_4); +x_6 = l_Std_PersistentHashMap_containsAux___at_Lean_NameSSet_contains___spec__4(x_3, x_5, x_2); +lean_dec(x_2); +return x_6; +} +} +LEAN_EXPORT uint8_t l_Lean_SMap_contains___at_Lean_NameSSet_contains___spec__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; +x_3 = lean_ctor_get_uint8(x_1, sizeof(void*)*2); +if (x_3 == 0) +{ +lean_object* x_4; lean_object* x_5; uint8_t x_6; +x_4 = lean_ctor_get(x_1, 0); +lean_inc(x_4); +x_5 = lean_ctor_get(x_1, 1); +lean_inc(x_5); +lean_dec(x_1); +x_6 = l_Std_HashMapImp_contains___at_Lean_NameSSet_contains___spec__2(x_4, x_2); +lean_dec(x_4); +if (x_6 == 0) +{ +uint8_t x_7; +x_7 = l_Std_PersistentHashMap_contains___at_Lean_NameSSet_contains___spec__3(x_5, x_2); +return x_7; +} +else +{ +uint8_t x_8; +lean_dec(x_5); +lean_dec(x_2); +x_8 = 1; +return x_8; +} +} +else +{ +lean_object* x_9; uint8_t x_10; +x_9 = lean_ctor_get(x_1, 0); +lean_inc(x_9); +lean_dec(x_1); +x_10 = l_Std_HashMapImp_contains___at_Lean_NameSSet_contains___spec__2(x_9, x_2); +lean_dec(x_2); +lean_dec(x_9); +return x_10; +} +} +} +LEAN_EXPORT uint8_t l_Lean_NameSSet_contains(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; +x_3 = l_Lean_SMap_contains___at_Lean_NameSSet_contains___spec__1(x_1, x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Std_HashMapImp_contains___at_Lean_NameSSet_contains___spec__2___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_Std_HashMapImp_contains___at_Lean_NameSSet_contains___spec__2(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_containsAtAux___at_Lean_NameSSet_contains___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +uint8_t x_6; lean_object* x_7; +x_6 = l_Std_PersistentHashMap_containsAtAux___at_Lean_NameSSet_contains___spec__5(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_5); +lean_dec(x_2); +lean_dec(x_1); +x_7 = lean_box(x_6); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_containsAux___at_Lean_NameSSet_contains___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +size_t x_4; uint8_t x_5; lean_object* x_6; +x_4 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_5 = l_Std_PersistentHashMap_containsAux___at_Lean_NameSSet_contains___spec__4(x_1, x_4, x_3); +lean_dec(x_3); +x_6 = lean_box(x_5); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Std_PersistentHashMap_contains___at_Lean_NameSSet_contains___spec__3___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_Std_PersistentHashMap_contains___at_Lean_NameSSet_contains___spec__3(x_1, x_2); +x_4 = lean_box(x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Lean_SMap_contains___at_Lean_NameSSet_contains___spec__1___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_Lean_SMap_contains___at_Lean_NameSSet_contains___spec__1(x_1, x_2); +x_4 = lean_box(x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Lean_NameSSet_contains___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_Lean_NameSSet_contains(x_1, x_2); +x_4 = lean_box(x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Std_mkHashSet___at_Lean_NameHashSet_empty___spec__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Std_mkHashSetImp___rarg(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_NameHashSet_empty() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(8u); +x_2 = l_Std_mkHashSetImp___rarg(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_NameHashSet_instEmptyCollectionNameHashSet___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(8u); +x_2 = l_Std_mkHashSetImp___rarg(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_NameHashSet_instEmptyCollectionNameHashSet() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_NameHashSet_instEmptyCollectionNameHashSet___closed__1; +return x_1; +} +} +static lean_object* _init_l_Lean_NameHashSet_instInhabitedNameHashSet() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_NameHashSet_instEmptyCollectionNameHashSet___closed__1; +return x_1; +} +} +LEAN_EXPORT uint8_t l_List_elem___at_Lean_NameHashSet_insert___spec__2(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +uint8_t x_3; +x_3 = 0; +return x_3; +} +else +{ +lean_object* x_4; lean_object* x_5; uint8_t x_6; +x_4 = lean_ctor_get(x_2, 0); +x_5 = lean_ctor_get(x_2, 1); +x_6 = lean_name_eq(x_1, x_4); +if (x_6 == 0) +{ +x_2 = x_5; +goto _start; +} +else +{ +uint8_t x_8; +x_8 = 1; +return x_8; +} +} +} +} +LEAN_EXPORT lean_object* l_List_foldl___at_Lean_NameHashSet_insert___spec__5(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +return x_1; +} +else +{ +uint8_t x_3; +x_3 = !lean_is_exclusive(x_2); +if (x_3 == 0) +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; uint64_t x_7; size_t x_8; size_t x_9; lean_object* x_10; lean_object* x_11; +x_4 = lean_ctor_get(x_2, 0); +x_5 = lean_ctor_get(x_2, 1); +x_6 = lean_array_get_size(x_1); +x_7 = l_Lean_Name_hash___override(x_4); +x_8 = lean_uint64_to_usize(x_7); +x_9 = lean_usize_modn(x_8, x_6); +lean_dec(x_6); +x_10 = lean_array_uget(x_1, x_9); +lean_ctor_set(x_2, 1, x_10); +x_11 = lean_array_uset(x_1, x_9, x_2); +x_1 = x_11; +x_2 = x_5; +goto _start; +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; uint64_t x_16; size_t x_17; size_t x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_13 = lean_ctor_get(x_2, 0); +x_14 = lean_ctor_get(x_2, 1); +lean_inc(x_14); +lean_inc(x_13); +lean_dec(x_2); +x_15 = lean_array_get_size(x_1); +x_16 = l_Lean_Name_hash___override(x_13); +x_17 = lean_uint64_to_usize(x_16); +x_18 = lean_usize_modn(x_17, x_15); +lean_dec(x_15); +x_19 = lean_array_uget(x_1, x_18); +x_20 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_20, 0, x_13); +lean_ctor_set(x_20, 1, x_19); +x_21 = lean_array_uset(x_1, x_18, x_20); +x_1 = x_21; +x_2 = x_14; +goto _start; +} +} +} +} +LEAN_EXPORT lean_object* l_Std_HashSetImp_moveEntries___at_Lean_NameHashSet_insert___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; uint8_t x_5; +x_4 = lean_array_get_size(x_2); +x_5 = lean_nat_dec_lt(x_1, x_4); +lean_dec(x_4); +if (x_5 == 0) +{ +lean_dec(x_2); +lean_dec(x_1); +return x_3; +} +else +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_6 = lean_array_fget(x_2, x_1); +x_7 = lean_box(0); +x_8 = lean_array_fset(x_2, x_1, x_7); +x_9 = l_List_foldl___at_Lean_NameHashSet_insert___spec__5(x_3, x_6); +x_10 = lean_unsigned_to_nat(1u); +x_11 = lean_nat_add(x_1, x_10); +lean_dec(x_1); +x_1 = x_11; +x_2 = x_8; +x_3 = x_9; +goto _start; +} +} +} +LEAN_EXPORT lean_object* l_Std_HashSetImp_expand___at_Lean_NameHashSet_insert___spec__3(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_3 = lean_array_get_size(x_2); +x_4 = lean_unsigned_to_nat(2u); +x_5 = lean_nat_mul(x_3, x_4); +lean_dec(x_3); +x_6 = lean_box(0); +x_7 = lean_mk_array(x_5, x_6); +x_8 = lean_unsigned_to_nat(0u); +x_9 = l_Std_HashSetImp_moveEntries___at_Lean_NameHashSet_insert___spec__4(x_8, x_2, x_7); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_1); +lean_ctor_set(x_10, 1, x_9); +return x_10; +} +} +LEAN_EXPORT lean_object* l_List_replace___at_Lean_NameHashSet_insert___spec__6(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_3); +x_4 = lean_box(0); +return x_4; +} +else +{ +uint8_t x_5; +x_5 = !lean_is_exclusive(x_1); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; uint8_t x_8; +x_6 = lean_ctor_get(x_1, 0); +x_7 = lean_ctor_get(x_1, 1); +x_8 = lean_name_eq(x_6, x_2); +if (x_8 == 0) +{ +lean_object* x_9; +x_9 = l_List_replace___at_Lean_NameHashSet_insert___spec__6(x_7, x_2, x_3); +lean_ctor_set(x_1, 1, x_9); +return x_1; +} +else +{ +lean_dec(x_6); +lean_ctor_set(x_1, 0, x_3); +return x_1; +} +} +else +{ +lean_object* x_10; lean_object* x_11; uint8_t x_12; +x_10 = lean_ctor_get(x_1, 0); +x_11 = lean_ctor_get(x_1, 1); +lean_inc(x_11); +lean_inc(x_10); +lean_dec(x_1); +x_12 = lean_name_eq(x_10, x_2); +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; +x_13 = l_List_replace___at_Lean_NameHashSet_insert___spec__6(x_11, x_2, x_3); +x_14 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_14, 0, x_10); +lean_ctor_set(x_14, 1, x_13); +return x_14; +} +else +{ +lean_object* x_15; +lean_dec(x_10); +x_15 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_15, 0, x_3); +lean_ctor_set(x_15, 1, x_11); +return x_15; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Std_HashSetImp_insert___at_Lean_NameHashSet_insert___spec__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; +x_3 = !lean_is_exclusive(x_1); +if (x_3 == 0) +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; uint64_t x_7; size_t x_8; size_t x_9; lean_object* x_10; uint8_t x_11; +x_4 = lean_ctor_get(x_1, 0); +x_5 = lean_ctor_get(x_1, 1); +x_6 = lean_array_get_size(x_5); +x_7 = l_Lean_Name_hash___override(x_2); +x_8 = lean_uint64_to_usize(x_7); +x_9 = lean_usize_modn(x_8, x_6); +x_10 = lean_array_uget(x_5, x_9); +x_11 = l_List_elem___at_Lean_NameHashSet_insert___spec__2(x_2, x_10); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; +x_12 = lean_unsigned_to_nat(1u); +x_13 = lean_nat_add(x_4, x_12); +lean_dec(x_4); +x_14 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_14, 0, x_2); +lean_ctor_set(x_14, 1, x_10); +x_15 = lean_array_uset(x_5, x_9, x_14); +x_16 = lean_nat_dec_le(x_13, x_6); +lean_dec(x_6); +if (x_16 == 0) +{ +lean_object* x_17; +lean_free_object(x_1); +x_17 = l_Std_HashSetImp_expand___at_Lean_NameHashSet_insert___spec__3(x_13, x_15); +return x_17; +} +else +{ +lean_ctor_set(x_1, 1, x_15); +lean_ctor_set(x_1, 0, x_13); +return x_1; +} +} +else +{ +lean_object* x_18; lean_object* x_19; +lean_dec(x_6); +lean_inc(x_2); +x_18 = l_List_replace___at_Lean_NameHashSet_insert___spec__6(x_10, x_2, x_2); +lean_dec(x_2); +x_19 = lean_array_uset(x_5, x_9, x_18); +lean_ctor_set(x_1, 1, x_19); +return x_1; +} +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; uint64_t x_23; size_t x_24; size_t x_25; lean_object* x_26; uint8_t x_27; +x_20 = lean_ctor_get(x_1, 0); +x_21 = lean_ctor_get(x_1, 1); +lean_inc(x_21); +lean_inc(x_20); +lean_dec(x_1); +x_22 = lean_array_get_size(x_21); +x_23 = l_Lean_Name_hash___override(x_2); +x_24 = lean_uint64_to_usize(x_23); +x_25 = lean_usize_modn(x_24, x_22); +x_26 = lean_array_uget(x_21, x_25); +x_27 = l_List_elem___at_Lean_NameHashSet_insert___spec__2(x_2, x_26); +if (x_27 == 0) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_28 = lean_unsigned_to_nat(1u); +x_29 = lean_nat_add(x_20, x_28); +lean_dec(x_20); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_2); +lean_ctor_set(x_30, 1, x_26); +x_31 = lean_array_uset(x_21, x_25, x_30); +x_32 = lean_nat_dec_le(x_29, x_22); +lean_dec(x_22); +if (x_32 == 0) +{ +lean_object* x_33; +x_33 = l_Std_HashSetImp_expand___at_Lean_NameHashSet_insert___spec__3(x_29, x_31); +return x_33; +} +else +{ +lean_object* x_34; +x_34 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_34, 0, x_29); +lean_ctor_set(x_34, 1, x_31); +return x_34; +} +} +else +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; +lean_dec(x_22); +lean_inc(x_2); +x_35 = l_List_replace___at_Lean_NameHashSet_insert___spec__6(x_26, x_2, x_2); +lean_dec(x_2); +x_36 = lean_array_uset(x_21, x_25, x_35); +x_37 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_37, 0, x_20); +lean_ctor_set(x_37, 1, x_36); +return x_37; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_NameHashSet_insert(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Std_HashSetImp_insert___at_Lean_NameHashSet_insert___spec__1(x_1, x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_List_elem___at_Lean_NameHashSet_insert___spec__2___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_List_elem___at_Lean_NameHashSet_insert___spec__2(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l_List_replace___at_Lean_NameHashSet_insert___spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_List_replace___at_Lean_NameHashSet_insert___spec__6(x_1, x_2, x_3); +lean_dec(x_2); +return x_4; +} +} +LEAN_EXPORT uint8_t l_Std_HashSetImp_contains___at_Lean_NameHashSet_contains___spec__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; uint64_t x_5; size_t x_6; size_t x_7; lean_object* x_8; uint8_t x_9; +x_3 = lean_ctor_get(x_1, 1); +x_4 = lean_array_get_size(x_3); +x_5 = l_Lean_Name_hash___override(x_2); +x_6 = lean_uint64_to_usize(x_5); +x_7 = lean_usize_modn(x_6, x_4); +lean_dec(x_4); +x_8 = lean_array_uget(x_3, x_7); +x_9 = l_List_elem___at_Lean_NameHashSet_insert___spec__2(x_2, x_8); +lean_dec(x_8); +return x_9; +} +} +LEAN_EXPORT uint8_t l_Lean_NameHashSet_contains(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; +x_3 = l_Std_HashSetImp_contains___at_Lean_NameHashSet_contains___spec__1(x_1, x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Std_HashSetImp_contains___at_Lean_NameHashSet_contains___spec__1___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_Std_HashSetImp_contains___at_Lean_NameHashSet_contains___spec__1(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Lean_NameHashSet_contains___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_Lean_NameHashSet_contains(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; +} +} +LEAN_EXPORT uint8_t l_List_beq___at_Lean_MacroScopesView_isPrefixOf___spec__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +if (lean_obj_tag(x_2) == 0) +{ +uint8_t x_3; +x_3 = 1; +return x_3; +} +else +{ +uint8_t x_4; +x_4 = 0; +return x_4; +} +} +else +{ +if (lean_obj_tag(x_2) == 0) +{ +uint8_t x_5; +x_5 = 0; +return x_5; +} +else +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; uint8_t x_10; +x_6 = lean_ctor_get(x_1, 0); +x_7 = lean_ctor_get(x_1, 1); +x_8 = lean_ctor_get(x_2, 0); +x_9 = lean_ctor_get(x_2, 1); +x_10 = lean_nat_dec_eq(x_6, x_8); +if (x_10 == 0) +{ +uint8_t x_11; +x_11 = 0; +return x_11; +} +else +{ +x_1 = x_7; +x_2 = x_9; +goto _start; +} +} +} +} +} +LEAN_EXPORT uint8_t l_Lean_MacroScopesView_isPrefixOf(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; uint8_t x_5; +x_3 = lean_ctor_get(x_1, 0); +x_4 = lean_ctor_get(x_2, 0); +x_5 = l_Lean_Name_isPrefixOf(x_3, x_4); +if (x_5 == 0) +{ +uint8_t x_6; +x_6 = 0; +return x_6; +} +else +{ +lean_object* x_7; lean_object* x_8; uint8_t x_9; +x_7 = lean_ctor_get(x_1, 3); +x_8 = lean_ctor_get(x_2, 3); +x_9 = l_List_beq___at_Lean_MacroScopesView_isPrefixOf___spec__1(x_7, x_8); +if (x_9 == 0) +{ +uint8_t x_10; +x_10 = 0; +return x_10; +} +else +{ +lean_object* x_11; lean_object* x_12; uint8_t x_13; +x_11 = lean_ctor_get(x_1, 2); +x_12 = lean_ctor_get(x_2, 2); +x_13 = lean_name_eq(x_11, x_12); +if (x_13 == 0) +{ +uint8_t x_14; +x_14 = 0; +return x_14; +} +else +{ +lean_object* x_15; lean_object* x_16; uint8_t x_17; +x_15 = lean_ctor_get(x_1, 1); +x_16 = lean_ctor_get(x_2, 1); +x_17 = lean_name_eq(x_15, x_16); +return x_17; +} +} +} +} +} +LEAN_EXPORT lean_object* l_List_beq___at_Lean_MacroScopesView_isPrefixOf___spec__1___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_List_beq___at_Lean_MacroScopesView_isPrefixOf___spec__1(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Lean_MacroScopesView_isPrefixOf___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_Lean_MacroScopesView_isPrefixOf(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; +} +} +LEAN_EXPORT uint8_t l_Lean_MacroScopesView_isSuffixOf(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; uint8_t x_5; +x_3 = lean_ctor_get(x_1, 0); +x_4 = lean_ctor_get(x_2, 0); +x_5 = l_Lean_Name_isSuffixOf(x_3, x_4); +if (x_5 == 0) +{ +uint8_t x_6; +x_6 = 0; +return x_6; +} +else +{ +lean_object* x_7; lean_object* x_8; uint8_t x_9; +x_7 = lean_ctor_get(x_1, 3); +x_8 = lean_ctor_get(x_2, 3); +x_9 = l_List_beq___at_Lean_MacroScopesView_isPrefixOf___spec__1(x_7, x_8); +if (x_9 == 0) +{ +uint8_t x_10; +x_10 = 0; +return x_10; +} +else +{ +lean_object* x_11; lean_object* x_12; uint8_t x_13; +x_11 = lean_ctor_get(x_1, 2); +x_12 = lean_ctor_get(x_2, 2); +x_13 = lean_name_eq(x_11, x_12); +if (x_13 == 0) +{ +uint8_t x_14; +x_14 = 0; +return x_14; +} +else +{ +lean_object* x_15; lean_object* x_16; uint8_t x_17; +x_15 = lean_ctor_get(x_1, 1); +x_16 = lean_ctor_get(x_2, 1); +x_17 = lean_name_eq(x_15, x_16); +return x_17; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_MacroScopesView_isSuffixOf___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_Lean_MacroScopesView_isSuffixOf(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; +} +} +lean_object* initialize_Init(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Data_HashSet(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Data_RBMap(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Data_RBTree(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Data_SSet(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Data_Name(uint8_t builtin, lean_object*); +static bool _G_initialized = false; +LEAN_EXPORT lean_object* initialize_Lean_Data_NameMap(uint8_t builtin, lean_object* w) { +lean_object * res; +if (_G_initialized) return lean_io_result_mk_ok(lean_box(0)); +_G_initialized = true; +res = initialize_Init(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Data_HashSet(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Data_RBMap(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Data_RBTree(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Data_SSet(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Data_Name(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +l_Lean_instCoeStringName__1___closed__1 = _init_l_Lean_instCoeStringName__1___closed__1(); +lean_mark_persistent(l_Lean_instCoeStringName__1___closed__1); +l_Lean_instCoeStringName__1 = _init_l_Lean_instCoeStringName__1(); +lean_mark_persistent(l_Lean_instCoeStringName__1); +l_Lean_NameMap_instForInNameMapProdName___closed__1 = _init_l_Lean_NameMap_instForInNameMapProdName___closed__1(); +lean_mark_persistent(l_Lean_NameMap_instForInNameMapProdName___closed__1); +l_Lean_NameMap_instForInNameMapProdName___closed__2 = _init_l_Lean_NameMap_instForInNameMapProdName___closed__2(); +lean_mark_persistent(l_Lean_NameMap_instForInNameMapProdName___closed__2); +l_Lean_NameSet_empty = _init_l_Lean_NameSet_empty(); +lean_mark_persistent(l_Lean_NameSet_empty); +l_Lean_NameSet_instEmptyCollectionNameSet = _init_l_Lean_NameSet_instEmptyCollectionNameSet(); +lean_mark_persistent(l_Lean_NameSet_instEmptyCollectionNameSet); +l_Lean_NameSet_instInhabitedNameSet = _init_l_Lean_NameSet_instInhabitedNameSet(); +lean_mark_persistent(l_Lean_NameSet_instInhabitedNameSet); +l_Lean_NameSet_instForInNameSetName___closed__1 = _init_l_Lean_NameSet_instForInNameSetName___closed__1(); +lean_mark_persistent(l_Lean_NameSet_instForInNameSetName___closed__1); +l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__1 = _init_l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__1(); +lean_mark_persistent(l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__1); +l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__2 = _init_l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__2(); +lean_mark_persistent(l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__2); +l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__3 = _init_l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__3(); +lean_mark_persistent(l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1___closed__3); +l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1 = _init_l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1(); +lean_mark_persistent(l_Lean_SMap_empty___at_Lean_NameSSet_empty___spec__1); +l_Lean_NameSSet_empty = _init_l_Lean_NameSSet_empty(); +lean_mark_persistent(l_Lean_NameSSet_empty); +l_Lean_NameSSet_instEmptyCollectionNameSSet = _init_l_Lean_NameSSet_instEmptyCollectionNameSSet(); +lean_mark_persistent(l_Lean_NameSSet_instEmptyCollectionNameSSet); +l_Lean_NameSSet_instInhabitedNameSSet = _init_l_Lean_NameSSet_instInhabitedNameSSet(); +lean_mark_persistent(l_Lean_NameSSet_instInhabitedNameSSet); +l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__1 = _init_l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__1(); +l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__2 = _init_l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__2(); +l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__3 = _init_l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__3(); +lean_mark_persistent(l_Std_PersistentHashMap_insertAux___at_Lean_NameSSet_insert___spec__3___closed__3); +l_Lean_NameHashSet_empty = _init_l_Lean_NameHashSet_empty(); +lean_mark_persistent(l_Lean_NameHashSet_empty); +l_Lean_NameHashSet_instEmptyCollectionNameHashSet___closed__1 = _init_l_Lean_NameHashSet_instEmptyCollectionNameHashSet___closed__1(); +lean_mark_persistent(l_Lean_NameHashSet_instEmptyCollectionNameHashSet___closed__1); +l_Lean_NameHashSet_instEmptyCollectionNameHashSet = _init_l_Lean_NameHashSet_instEmptyCollectionNameHashSet(); +lean_mark_persistent(l_Lean_NameHashSet_instEmptyCollectionNameHashSet); +l_Lean_NameHashSet_instInhabitedNameHashSet = _init_l_Lean_NameHashSet_instInhabitedNameHashSet(); +lean_mark_persistent(l_Lean_NameHashSet_instInhabitedNameHashSet); +return lean_io_result_mk_ok(lean_box(0)); +} +#ifdef __cplusplus +} +#endif diff --git a/stage0/stdlib/Lean/Data/Options.c b/stage0/stdlib/Lean/Data/Options.c index 2fdd7d8dd4..016fb51f14 100644 --- a/stage0/stdlib/Lean/Data/Options.c +++ b/stage0/stdlib/Lean/Data/Options.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Data.Options -// Imports: Init Lean.ImportingFlag Lean.Data.KVMap +// Imports: Init Lean.ImportingFlag Lean.Data.KVMap Lean.Data.NameMap #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -64,7 +64,6 @@ LEAN_EXPORT lean_object* l_Lean_Option_get___rarg___boxed(lean_object*, lean_obj lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at___aux__Init__Notation______macroRules__precMax__1___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_withInPattern(lean_object*, lean_object*); static lean_object* l_Lean_Option___aux__Lean__Data__Options______macroRules__Lean__Option__registerBuiltinOption__1___closed__17; -LEAN_EXPORT lean_object* l_Lean_getOptionDefaulValue(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_getOptionDecls(lean_object*); LEAN_EXPORT lean_object* l_Lean_Option_get_x3f(lean_object*); static lean_object* l_Lean_instInhabitedOptionDecl___closed__1; @@ -91,6 +90,7 @@ LEAN_EXPORT lean_object* l_Lean_instInhabitedOptions; static lean_object* l_Lean_setOptionFromString___closed__10; static lean_object* l_Lean_Option_registerOption___closed__2; static lean_object* l_Lean_Option___aux__Lean__Data__Options______macroRules__Lean__Option__registerBuiltinOption__1___closed__15; +LEAN_EXPORT lean_object* l_Lean_getOptionDefaultValue(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_getNatOption(lean_object*); LEAN_EXPORT lean_object* l_Lean_getBoolOption___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Option_get___rarg(lean_object*, lean_object*, lean_object*); @@ -841,7 +841,7 @@ lean_dec(x_1); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_getOptionDefaulValue(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Lean_getOptionDefaultValue(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; @@ -1166,7 +1166,7 @@ lean_dec(x_10); x_16 = lean_box(0); x_17 = l_Lean_Name_str___override(x_16, x_14); lean_inc(x_17); -x_18 = l_Lean_getOptionDefaulValue(x_17, x_3); +x_18 = l_Lean_getOptionDefaultValue(x_17, x_3); if (lean_obj_tag(x_18) == 0) { lean_object* x_19; @@ -3781,6 +3781,7 @@ return x_132; lean_object* initialize_Init(uint8_t builtin, lean_object*); lean_object* initialize_Lean_ImportingFlag(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Data_KVMap(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Data_NameMap(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Data_Options(uint8_t builtin, lean_object* w) { lean_object * res; @@ -3795,6 +3796,9 @@ lean_dec_ref(res); res = initialize_Lean_Data_KVMap(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Data_NameMap(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); l_Lean_Options_empty = _init_l_Lean_Options_empty(); lean_mark_persistent(l_Lean_Options_empty); l_Lean_instInhabitedOptions = _init_l_Lean_instInhabitedOptions(); diff --git a/stage0/stdlib/Lean/DocString.c b/stage0/stdlib/Lean/DocString.c index 8424785b90..e36d514134 100644 --- a/stage0/stdlib/Lean/DocString.c +++ b/stage0/stdlib/Lean/DocString.c @@ -25,15 +25,12 @@ lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); lean_object* l_Lean_PersistentEnvExtension_getModuleEntries___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_addDocString_x27___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_getDocStringText___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Std_Format_defWidth; LEAN_EXPORT lean_object* l___private_Lean_DocString_0__Lean_docStringExt; LEAN_EXPORT lean_object* l___private_Lean_DocString_0__Lean_removeNumLeadingSpaces_consumeSpaces(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_DocString___hyg_1650____lambda__1___boxed(lean_object*); -static lean_object* l_Lean_TSyntax_getDocString___closed__3; LEAN_EXPORT lean_object* l___private_Lean_DocString_0__Lean_findLeadingSpacesSize_findNextLine(lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_DocString_0__Lean_removeNumLeadingSpaces(lean_object*, lean_object*); -lean_object* lean_string_append(lean_object*, lean_object*); lean_object* lean_string_utf8_extract(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_addDocString___rarg(lean_object*, lean_object*, lean_object*); uint8_t l_String_Iterator_atEnd(lean_object*); @@ -49,19 +46,16 @@ lean_object* l_Lean_MapDeclarationExtension_insert___rarg(lean_object*, lean_obj uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); -lean_object* l_panic___at_Lean_TSyntax_getString___spec__1(lean_object*); uint8_t l_Lean_Name_quickCmp(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_removeLeadingSpaces(lean_object*); lean_object* l_Lean_mkMapDeclarationExtension___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Std_RBNode_insert___at_Lean_NameMap_insert___spec__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_st_mk_ref(lean_object*, lean_object*); static lean_object* l_Lean_initFn____x40_Lean_DocString___hyg_1650____closed__3; -lean_object* lean_format_pretty(lean_object*, lean_object*); static lean_object* l___private_Lean_DocString_0__Lean_removeNumLeadingSpaces___closed__1; static lean_object* l_Lean_initFn____x40_Lean_DocString___hyg_1650____closed__5; static lean_object* l_Lean_initFn____x40_Lean_DocString___hyg_44____closed__2; LEAN_EXPORT lean_object* l___private_Lean_DocString_0__Lean_removeNumLeadingSpaces_saveLine(lean_object*, lean_object*, lean_object*); -lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_DocString_0__Lean_findLeadingSpacesSize_consumeSpaces(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_String_Iterator_find___at___private_Lean_DocString_0__Lean_findLeadingSpacesSize___spec__1(lean_object*); lean_object* l_String_Iterator_next(lean_object*); @@ -95,8 +89,6 @@ uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_initFn____x40_Lean_DocString___hyg_1650____lambda__1___closed__3; static lean_object* l_Lean_initFn____x40_Lean_DocString___hyg_1650____closed__2; static lean_object* l_Lean_initFn____x40_Lean_DocString___hyg_1650____closed__1; -static lean_object* l_Lean_TSyntax_getDocString___closed__2; -static lean_object* l_Lean_TSyntax_getDocString___closed__1; LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_DocString___hyg_1650_(lean_object*); LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_DocString___hyg_4_(lean_object*); LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_DocString___hyg_44_(lean_object*); @@ -110,7 +102,6 @@ LEAN_EXPORT lean_object* l_Lean_TSyntax_getDocString___boxed(lean_object*); lean_object* l_Nat_min(lean_object*, lean_object*); lean_object* l_Lean_Environment_getModuleIdx_x3f(lean_object*, lean_object*); static lean_object* l_Lean_addBuiltinDocString___closed__1; -lean_object* l_Lean_Syntax_formatStxAux(lean_object*, uint8_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_findDocString_x3f___spec__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_DocString_0__Lean_builtinDocStrings; LEAN_EXPORT lean_object* l_Lean_getModuleDoc_x3f___boxed(lean_object*, lean_object*); @@ -1053,82 +1044,34 @@ lean_dec(x_3); return x_5; } } -static lean_object* _init_l_Lean_TSyntax_getDocString___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("unexpected doc string\n", 22); -return x_1; -} -} -static lean_object* _init_l_Lean_TSyntax_getDocString___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("Lean.DocString", 14); -return x_1; -} -} -static lean_object* _init_l_Lean_TSyntax_getDocString___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("Lean.TSyntax.getDocString", 25); -return x_1; -} -} LEAN_EXPORT lean_object* l_Lean_TSyntax_getDocString(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; x_2 = lean_unsigned_to_nat(1u); x_3 = l_Lean_Syntax_getArg(x_1, x_2); -switch (lean_obj_tag(x_3)) { -case 0: +if (lean_obj_tag(x_3) == 2) { -lean_object* x_4; -x_4 = l___private_Lean_DocString_0__Lean_removeNumLeadingSpaces___closed__1; -return x_4; -} -case 2: -{ -lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; -x_5 = lean_ctor_get(x_3, 1); -lean_inc(x_5); +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_4 = lean_ctor_get(x_3, 1); +lean_inc(x_4); lean_dec(x_3); -x_6 = lean_string_utf8_byte_size(x_5); -x_7 = lean_unsigned_to_nat(2u); -x_8 = lean_nat_sub(x_6, x_7); -lean_dec(x_6); -x_9 = lean_unsigned_to_nat(0u); -x_10 = lean_string_utf8_extract(x_5, x_9, x_8); -lean_dec(x_8); +x_5 = lean_string_utf8_byte_size(x_4); +x_6 = lean_unsigned_to_nat(2u); +x_7 = lean_nat_sub(x_5, x_6); lean_dec(x_5); -return x_10; +x_8 = lean_unsigned_to_nat(0u); +x_9 = lean_string_utf8_extract(x_4, x_8, x_7); +lean_dec(x_7); +lean_dec(x_4); +return x_9; } -default: +else { -lean_object* x_11; 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_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_11 = lean_box(0); -x_12 = 0; -x_13 = lean_unsigned_to_nat(0u); -x_14 = l_Lean_Syntax_formatStxAux(x_11, x_12, x_13, x_3); -x_15 = l_Std_Format_defWidth; -x_16 = lean_format_pretty(x_14, x_15); -x_17 = l_Lean_TSyntax_getDocString___closed__1; -x_18 = lean_string_append(x_17, x_16); -lean_dec(x_16); -x_19 = l___private_Lean_DocString_0__Lean_removeNumLeadingSpaces___closed__1; -x_20 = lean_string_append(x_18, x_19); -x_21 = l_Lean_TSyntax_getDocString___closed__2; -x_22 = l_Lean_TSyntax_getDocString___closed__3; -x_23 = lean_unsigned_to_nat(99u); -x_24 = lean_unsigned_to_nat(25u); -x_25 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_21, x_22, x_23, x_24, x_20); -lean_dec(x_20); -x_26 = l_panic___at_Lean_TSyntax_getString___spec__1(x_25); -return x_26; -} +lean_object* x_10; +lean_dec(x_3); +x_10 = l___private_Lean_DocString_0__Lean_removeNumLeadingSpaces___closed__1; +return x_10; } } } @@ -1213,12 +1156,6 @@ l_Lean_getDocStringText___rarg___closed__2 = _init_l_Lean_getDocStringText___rar lean_mark_persistent(l_Lean_getDocStringText___rarg___closed__2); l_Lean_getDocStringText___rarg___closed__3 = _init_l_Lean_getDocStringText___rarg___closed__3(); lean_mark_persistent(l_Lean_getDocStringText___rarg___closed__3); -l_Lean_TSyntax_getDocString___closed__1 = _init_l_Lean_TSyntax_getDocString___closed__1(); -lean_mark_persistent(l_Lean_TSyntax_getDocString___closed__1); -l_Lean_TSyntax_getDocString___closed__2 = _init_l_Lean_TSyntax_getDocString___closed__2(); -lean_mark_persistent(l_Lean_TSyntax_getDocString___closed__2); -l_Lean_TSyntax_getDocString___closed__3 = _init_l_Lean_TSyntax_getDocString___closed__3(); -lean_mark_persistent(l_Lean_TSyntax_getDocString___closed__3); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Lean/Elab/App.c b/stage0/stdlib/Lean/Elab/App.c index bcd8d5a265..c8b477e45e 100644 --- a/stage0/stdlib/Lean/Elab/App.c +++ b/stage0/stdlib/Lean/Elab/App.c @@ -16,7 +16,6 @@ extern "C" { LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppLValsAux_loop___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_shouldPropagateExpectedTypeFor___closed__1; lean_object* l_List_reverse___rarg(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValAux___lambda__1___closed__3; static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValAux___lambda__2___closed__1; uint8_t l_Lean_isRecCore(lean_object*, lean_object*); @@ -32,7 +31,7 @@ lean_object* lean_array_set(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_5____closed__12; LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__19(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Elab_Term_ElabElim_revertArgs___spec__8___boxed(lean_object*, lean_object*); -static lean_object* l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__1; +LEAN_EXPORT lean_object* l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__5(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MVarId_isAssigned___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_finalize___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_getArgExpectedType(lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValAux___lambda__3___closed__1; @@ -68,6 +67,7 @@ static lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Elab_Term_ElabElim_mkMot lean_object* l_Lean_Expr_lam___override(lean_object*, lean_object*, lean_object*, uint8_t); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValAux___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_getBindingName___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___rarg___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabAppArgs_elabAsElim_x3f(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withMCtx___at___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppAux___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabExplicit_declRange___closed__2; @@ -94,7 +94,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_findMethodA LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValLoop___lambda__1(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_Lean_Meta_whnfForall(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppAux___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__4; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_App_0__Lean_Elab_Term_findMethod_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg___spec__2___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_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_synthesizeAppInstMVars___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -110,7 +109,6 @@ lean_object* l_Array_eraseIdx___rarg(lean_object*, lean_object*); uint8_t lean_usize_dec_eq(size_t, size_t); static lean_object* l___regBuiltin_Lean_Elab_Term_elabProj_declRange___closed__7; lean_object* lean_array_uget(lean_object*, size_t); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__5(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__34(lean_object*, lean_object*, size_t, size_t); uint8_t l_Lean_Expr_isProp(lean_object*); static lean_object* l_Lean_Elab_Term_ElabElim_finalize___closed__2; @@ -130,8 +128,8 @@ extern lean_object* l_Std_Format_defWidth; static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_6491____closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Elab_Term_ElabElim_revertArgs___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*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppLValsAux_loop___lambda__3___closed__7; +static lean_object* l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___rarg___closed__1; static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn___closed__11; -static lean_object* l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3___closed__2; LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Term_ElabElim_finalize___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*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabDotIdent_declRange___closed__4; LEAN_EXPORT uint8_t l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_isNextOutParamOfLocalInstanceAndResult_isResultType(lean_object*, lean_object*); @@ -151,10 +149,8 @@ lean_object* l_Lean_Meta_getElimInfo(lean_object*, lean_object*, lean_object*, l LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__45___boxed(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_maxRecDepthErrorMessage; lean_object* lean_array_uset(lean_object*, size_t, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__6___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_elabAndAddNewArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Std_PersistentArray_anyM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__46(lean_object*, lean_object*); -static lean_object* l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_elabAndAddNewArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkFreshFVarId___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_isNextOutParamOfLocalInstanceAndResult___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_finalize___lambda__5___closed__3; @@ -167,7 +163,6 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_elabNamedPattern_declRange___c lean_object* l_Lean_Expr_getAutoParamTactic_x3f(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_hasArgsToProcess___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabIdent_declRange(lean_object*); -static lean_object* l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3___closed__1; LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__37___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_findMethodAlias_x3f___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescope___at_Lean_Elab_Term_ElabElim_finalize___spec__6(lean_object*); @@ -193,6 +188,7 @@ static lean_object* l_Lean_Elab_Term_mkFreshBinderName___at_Lean_Elab_Term_ElabE LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_hasArgsToProcess___boxed(lean_object*); LEAN_EXPORT lean_object* l_List_filterTRAux___at_Lean_Elab_Term_eraseNamedArg___spec__1___boxed(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_isCasesOnRecursor(lean_object*, lean_object*); +static lean_object* l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__2; LEAN_EXPORT lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_processExplictArg___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_registerMVarErrorHoleInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_getForallBody___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -220,12 +216,12 @@ LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_App_0__ lean_object* lean_private_to_user_name(lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___lambda__2___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Term_ElabElim_mkMotive___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Elab_Term_ElabElim_revertArgs___spec__7___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_6491____lambda__1___closed__5; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabApp(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabIdent(lean_object*); -static lean_object* l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__3; static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_processExplictArg___closed__3; static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_6491____lambda__1___closed__15; uint8_t l_Lean_Expr_isAppOf(lean_object*, lean_object*); @@ -234,6 +230,7 @@ LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_ElabElim_finalize static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___closed__7; LEAN_EXPORT lean_object* l_panic___at_Lean_Elab_Term_ElabElim_finalize___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_ElabElim_finalize___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__7___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_expr_instantiate1(lean_object*, lean_object*); lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___lambda__2___closed__1; @@ -242,7 +239,8 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__11(lean_object*, lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabAppArgs___lambda__5(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___rarg(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwError___at___private_Lean_Meta_InferType_0__Lean_Meta_inferProjType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_string_append(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_transform_visit_visitLet___at_Lean_Elab_Term_ElabElim_revertArgs___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__3___boxed(lean_object*, lean_object*, lean_object*); @@ -250,7 +248,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs static lean_object* l___regBuiltin_Lean_Elab_Term_elabApp_declRange___closed__5; LEAN_EXPORT lean_object* l_Lean_MVarId_isAssigned___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_finalize___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabAppArgs___lambda__5___closed__12; -LEAN_EXPORT lean_object* l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Elab_Term_elabAppArgs_elabAsElim_x3f___spec__1(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_processImplicitArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MessageData_ofList(lean_object*); @@ -337,7 +334,6 @@ static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValAux__ static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_getSuccesses___lambda__1___closed__1; static lean_object* l_Lean_Elab_Term_ElabElim_finalize___lambda__4___closed__5; static lean_object* l___regBuiltin_Lean_Elab_Term_elabIdent___closed__3; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabChoice_declRange___closed__3; lean_object* l_Lean_Elab_Term_observing___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_6491____lambda__1___closed__16; @@ -365,7 +361,6 @@ lean_object* l_Lean_mkAppN(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabExplicitUniv(lean_object*); static lean_object* l_Lean_Elab_Term_elabAppArgs___lambda__5___closed__3; static lean_object* l_panic___at_Lean_Elab_Term_ElabElim_finalize___spec__5___closed__3; -LEAN_EXPORT lean_object* l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_throwLValError___rarg___closed__1; static lean_object* l_Lean_Elab_Term_elabPipeProj___lambda__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabPipeProj___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*); @@ -434,6 +429,7 @@ uint8_t l_Lean_Syntax_matchesNull(lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__51___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_isNextArgHole___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_shouldPropagateExpectedTypeFor___closed__7; +static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___closed__1; lean_object* lean_st_ref_take(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValAux___lambda__1___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_shouldElabAsElim___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -442,6 +438,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_typeMatches static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn___closed__3; lean_object* l_Lean_Elab_Term_getSyntheticMVarDecl_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_processExplictArg___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Std_Range_forIn_loop___at___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg___spec__2___lambda__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValAux___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_getArgExpectedType___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -458,6 +455,7 @@ static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_6491____l static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg___spec__1___closed__6; LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabAppArgs___lambda__4(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppLVals___closed__2; +LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__1(lean_object*); LEAN_EXPORT lean_object* l_List_foldlM___at___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFnId___spec__1___lambda__1___boxed(lean_object**); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_propagateExpectedTypeFor(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_zetaReduce___spec__1(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -467,6 +465,7 @@ static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_6491____l lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_5____lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___closed__9; +LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_normalizeFunType(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValAux___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_transform_visit_visitLambda___at_Lean_Elab_Term_ElabElim_revertArgs___spec__4(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -504,6 +503,7 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_App_0 lean_object* l_Lean_Expr_fvarId_x21(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabNamedPattern_declRange___closed__1; static lean_object* l_Lean_Elab_Term_elabAppArgs___lambda__4___closed__2; +LEAN_EXPORT lean_object* l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__5___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Term_ElabElim_finalize___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabAppArgs___lambda__5___closed__8; lean_object* l_ST_Prim_Ref_get___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -519,7 +519,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFnId LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabAppArgs(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_forInAux___at___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValAux___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_mkFreshBinderName___at_Lean_Elab_Term_ElabElim_mkMotive___spec__1___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabDotIdent(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_instInhabited___rarg(lean_object*, lean_object*); lean_object* l_Lean_Name_eraseSuffix_x3f(lean_object*, lean_object*); @@ -537,6 +536,7 @@ static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_6491____c LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabIdent_declRange___closed__4; LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_isNextOutParamOfLocalInstanceAndResult_isOutParamOf___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___closed__2; static lean_object* l_Lean_Elab_Term_throwInvalidNamedArg___rarg___closed__8; static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_tryCoeFun_x3f___closed__2; lean_object* l_Lean_Elab_Term_exceptionToSorry(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -590,11 +590,13 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg_ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabPipeProj_declRange(lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_mkProjAndCheck___closed__1; lean_object* lean_format_pretty(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValAux___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_resolveDotName_go___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__48___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabNamedPattern_declRange___closed__4; lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); +lean_object* l_panic___at_String_toNat_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValAux___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_forIn_loop___at___private_Lean_Elab_App_0__Lean_Elab_Term_mkBaseProjections___spec__1___closed__2; lean_object* l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(lean_object*, lean_object*); @@ -602,7 +604,6 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_elabExplicit_declRange___close static lean_object* l___regBuiltin_Lean_Elab_Term_elabApp___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_Term_ElabAppArgs_synthesizeAppInstMVars___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_ElabAppArgs_State_instMVars___default; -LEAN_EXPORT lean_object* l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_sort___override(lean_object*); static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg___spec__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Elab_Term_ElabElim_revertArgs___spec__7(lean_object*, lean_object*); @@ -645,7 +646,6 @@ LEAN_EXPORT lean_object* l_Lean_Meta_transform_visit___at_Lean_Elab_Term_ElabEli static lean_object* l___regBuiltin_Lean_Elab_Term_elabPipeProj_declRange___closed__3; LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn___spec__3(lean_object*, lean_object*, lean_object*); lean_object* lean_expr_dbg_to_string(lean_object*); -LEAN_EXPORT lean_object* l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_transform_visit___at_Lean_Elab_Term_ElabElim_revertArgs___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_6491____lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFnId_toName_go(lean_object*); @@ -661,6 +661,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFnId LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabAppArgs_elabAsElim_x3f___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__28___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldlM___at___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFnId___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3___closed__1; static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_6491____lambda__1___closed__12; LEAN_EXPORT uint8_t l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_shouldPropagateExpectedTypeFor(lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_finalize___closed__1; @@ -689,7 +690,6 @@ LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_v LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValAux___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Elab_Term_elabAppArgs___spec__1___at_Lean_Elab_Term_elabAppArgs___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg___lambda__1___closed__2; -lean_object* l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_tryCoeFun_x3f___closed__6; lean_object* l_Lean_Elab_Term_isMVarApp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn___closed__18; @@ -718,7 +718,7 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_App_0 lean_object* lean_whnf(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn___spec__2___rarg___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_isNextOutParamOfLocalInstanceAndResult_isOutParamOf___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__6___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__4; LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_annotateIfRec___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabPipeProj_declRange___closed__7; LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValLoop(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -730,6 +730,7 @@ static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppLValsAux_ size_t lean_usize_of_nat(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_instToStringNamedArg(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabProj___closed__1; +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__7(lean_object*); lean_object* l_Lean_Elab_Term_LVal_getRef(lean_object*); static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_6491____lambda__1___closed__19; uint8_t l_Lean_Expr_isAutoParam(lean_object*); @@ -746,6 +747,8 @@ static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_ LEAN_EXPORT lean_object* l_Std_PersistentArray_forInAux___at___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValAux___spec__4___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppLVals(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Elab_Term_ElabElim_finalize___spec__8(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2(size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_transform___at_Lean_Elab_Term_ElabElim_revertArgs___spec__1(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_localDeclDependsOn___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__2___closed__1; LEAN_EXPORT lean_object* l_Std_PersistentArray_forIn___at___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValAux___spec__3___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -759,7 +762,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFnId static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn___closed__14; static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_5____closed__6; LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Elab_Term_ElabElim_revertArgs___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwError___at_Lean_Meta_mkSimpCongrTheorem___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabApp_declRange(lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_App_0__Lean_Elab_Term_getSuccesses___spec__2(lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg___spec__2___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -783,8 +785,8 @@ static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_5____clos LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppAux___spec__6(lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg___spec__2___lambda__1___boxed(lean_object*, lean_object*); +extern lean_object* l_Lean_instInhabitedException; LEAN_EXPORT lean_object* l_Std_PersistentArray_anyM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__46___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_anyM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__38___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_App_0__Lean_Elab_Term_throwLValError___spec__1(lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppLValsAux_loop___lambda__3___closed__3; @@ -810,6 +812,7 @@ LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_v lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_tryCoeFun_x3f___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_Term_ElabElim_getNextArg_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_fTypeHasOptAutoParams___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Elab_Term_elabAppArgs_elabAsElim_x3f___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l___private_Lean_Elab_App_0__Lean_Elab_Term_findBinderName_x3f___lambda__1(lean_object*, lean_object*); @@ -841,9 +844,7 @@ LEAN_EXPORT lean_object* l_Lean_isRec___at___private_Lean_Elab_App_0__Lean_Elab_ uint8_t l_Lean_Expr_isMVar(lean_object*); static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__51___closed__6; LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg___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_panic___at___private_Lean_Elab_Open_0__Lean_Elab_OpenDecl_resolveNameUsingNamespacesCore___spec__9(lean_object*); static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_App_0__Lean_Elab_Term_getSuccesses___spec__1___closed__1; -LEAN_EXPORT lean_object* l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_ElabElim_finalize___lambda__2___closed__2; lean_object* l_Lean_Elab_Term_addDotCompletionInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Std_PersistentArray_anyMAux___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__15(lean_object*, lean_object*); @@ -879,6 +880,7 @@ LEAN_EXPORT lean_object* l_List_foldr___at___private_Lean_Elab_App_0__Lean_Elab_ LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_processExplictArg___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__8(lean_object*, lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l_Lean_isRec___at___private_Lean_Elab_App_0__Lean_Elab_Term_shouldElabAsElim___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3___closed__2; lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_instantiateForallAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_throwInvalidFieldNotation___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_throwInvalidNamedArg___rarg___closed__5; @@ -946,6 +948,7 @@ lean_object* l_Lean_Meta_getLevel(lean_object*, lean_object*, lean_object*, lean LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_processExplictArg(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_tryPostponeIfMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Std_PersistentArray_anyMAux___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__47(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_resolveName_x27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__26___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_filterMap___at___private_Lean_Elab_App_0__Lean_Elab_Term_findMethodAlias_x3f___spec__1(lean_object*, lean_object*); @@ -957,7 +960,6 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_App_0 LEAN_EXPORT lean_object* l_Lean_Elab_Term_ElabAppArgs_eraseNamedArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__50___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_universeConstraintsCheckpoint___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabChoice___closed__1; static lean_object* l_Lean_Elab_Term_elabAppArgs___lambda__5___closed__11; @@ -988,7 +990,6 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_elabApp_declRange___closed__4; lean_object* l_Lean_Expr_app___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_hasArgsToProcess___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_6491____lambda__1___closed__4; -lean_object* l_panic___at_Lean_TSyntax_getNat___spec__1(lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_mkProjAndCheck___closed__2; static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__51___closed__2; static lean_object* l_Lean_Elab_Term_elabExplicit___closed__2; @@ -1007,6 +1008,7 @@ lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarImpl(lean_o lean_object* lean_expr_instantiate_rev(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabExplicitUniv_declRange___closed__6; LEAN_EXPORT lean_object* l_Lean_Elab_Term_ElabElim_finalize___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_FVarId_getDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn___lambda__1(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_panic_fn(lean_object*, lean_object*); @@ -1020,7 +1022,6 @@ static lean_object* l_Lean_Elab_Term_ElabElim_finalize___lambda__5___closed__1; lean_object* l_instHashableProd___rarg___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValAux___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_throwInvalidNamedArg___rarg___closed__3; -LEAN_EXPORT lean_object* l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__32(lean_object*, lean_object*, size_t, size_t); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_mkProjAndCheck___closed__8; LEAN_EXPORT lean_object* l_Lean_Elab_Term_ElabElim_mkImplicitArg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1029,7 +1030,6 @@ lean_object* lean_mk_array(lean_object*, lean_object*); uint8_t l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(uint8_t, uint8_t); lean_object* l_Lean_Elab_Term_registerSyntheticMVarWithCurrRef(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_6491____lambda__1___closed__23; -LEAN_EXPORT lean_object* l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_finalize___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabAppArgs_elabAsElim_x3f___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*); @@ -1061,7 +1061,6 @@ LEAN_EXPORT lean_object* l_Lean_mkFreshId___at___private_Lean_Elab_App_0__Lean_E static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_resolveDotName___closed__1; static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_synthesizePendingAndNormalizeFunType___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabDotIdent_declRange(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppLValsAux_loop___lambda__3___closed__6; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_throwInvalidNamedArg___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1069,14 +1068,11 @@ LEAN_EXPORT lean_object* l_Lean_Meta_transform_visit_visitForall___at_Lean_Elab_ LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabAppArgs___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabAppArgs_elabAsElim_x3f___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_unsupportedSyntaxExceptionId; -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Term_ElabAppArgs_main(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_findField_x3f(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__1(size_t, size_t, lean_object*); lean_object* l_Lean_Elab_Term_registerMVarErrorImplicitArgInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_proj___override(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_shouldPropagateExpectedTypeFor___closed__8; -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__1___closed__2; lean_object* l_ReaderT_instMonadReaderT___rarg(lean_object*); static lean_object* l_Lean_Elab_Term_elabAppArgs___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_findMethod_x3f___lambda__1___boxed(lean_object*); @@ -1093,6 +1089,7 @@ LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_Elab_Term_ElabElim_revertArgs_ LEAN_EXPORT lean_object* l_Lean_Elab_Term_ElabAppArgs_State_resultTypeOutParam_x3f___default; LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_addNewArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabProj___closed__2; LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__36(lean_object*, lean_object*, lean_object*); @@ -1114,10 +1111,10 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailur LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_finalize(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn___closed__19; static lean_object* l___regBuiltin_Lean_Elab_Term_elabApp_declRange___closed__7; +LEAN_EXPORT lean_object* l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__5___rarg___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_anyMAux___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__7___boxed(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_shouldPropagateExpectedTypeFor___closed__4; lean_object* l_Lean_Expr_getAppFn(lean_object*); -static lean_object* l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___rarg___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_transform_visit_visitLet___at_Lean_Elab_Term_ElabElim_revertArgs___spec__6___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_addLValArg___lambda__1___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Term_elabPipeProj___closed__1; @@ -1126,7 +1123,6 @@ LEAN_EXPORT lean_object* l_Std_PersistentArray_forInAux___at___private_Lean_Elab LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_findBinderName_x3f___lambda__1___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_6491____closed__4; lean_object* l_Array_findIdx_x3f_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___rarg___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Term_ElabAppArgs_synthesizeAppInstMVars___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_transform___at_Lean_Elab_Term_ElabElim_revertArgs___spec__1___closed__2; lean_object* l_Lean_MetavarContext_getDecl(lean_object*, lean_object*); @@ -1134,13 +1130,16 @@ static lean_object* l_Lean_Elab_Term_elabAppArgs___lambda__5___closed__7; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn___spec__5___boxed(lean_object**); LEAN_EXPORT lean_object* l_List_foldlM___at___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFnId___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_6491____lambda__1___closed__2; +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__7___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__25___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabNamedPattern_declRange(lean_object*); static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_6491____lambda__1___closed__21; +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__6(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabProj_declRange___closed__1; uint8_t l_List_isEmpty___rarg(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__36___boxed(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_localDeclDependsOn___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___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_EXPORT lean_object* l_Lean_Elab_Term_ElabElim_State_discrs___default; LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_throwInvalidFieldNotation(lean_object*); @@ -1165,6 +1164,7 @@ static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_fina static lean_object* l___regBuiltin_Lean_Elab_Term_elabExplicitUniv___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_isNextOutParamOfLocalInstanceAndResult(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabProj_declRange___closed__4; +LEAN_EXPORT lean_object* l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__25(lean_object*, lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_mkProjAndCheck(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Elab_Term_ElabElim_mkMotive___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1175,14 +1175,13 @@ static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn___clos LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_shouldElabAsElim___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_isProp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabAppArgs___lambda__5___closed__10; -lean_object* l_Std_RBNode_find___at_Lean_Meta_simpGoal___spec__1(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabChoice_declRange___closed__1; LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_mkBaseProjections___closed__2; static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_resolveDotName_go___closed__1; lean_object* l_Lean_indentExpr(lean_object*); -LEAN_EXPORT lean_object* l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___rarg___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_propagateExpectedType___closed__6; +LEAN_EXPORT lean_object* l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3(lean_object*); uint8_t l_Lean_Expr_hasFVar(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabIdent___closed__1; static lean_object* l_Lean_Elab_Term_ElabElim_finalize___lambda__2___closed__1; @@ -1200,8 +1199,6 @@ static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_resolveDotName_g static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn___closed__2; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValAux___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___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_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__6(lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__1___boxed(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_EXPORT uint8_t l_Std_PersistentArray_anyM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__6(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_transform_visit_visitLambda___at_Lean_Elab_Term_ElabElim_revertArgs___spec__4___lambda__1(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1209,7 +1206,9 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_synthesize static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_shouldElabAsElim___lambda__1___closed__1; static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppAux___closed__2; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_App_0__Lean_Elab_Term_resolveLValAux___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_RBNode_find___at_Lean_Elab_Term_resolveLocalName___spec__1(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_ensureHasTypeAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__27(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_ElabElim_finalize___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*); @@ -1224,6 +1223,8 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs lean_object* l_Lean_Elab_Term_getMVarErrorInfo_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_ElabElim_revertArgs___spec__14(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabPipeProj_declRange___closed__2; +LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Term_elabPipeProj_declRange___closed__1; static lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Elab_Term_ElabElim_mkMotive___spec__2___closed__2; lean_object* l_List_appendTR___rarg(lean_object*, lean_object*); @@ -2358,7 +2359,7 @@ x_39 = l___private_Lean_Elab_App_0__Lean_Elab_Term_mkProjAndCheck___closed__8; x_40 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_40, 0, x_38); lean_ctor_set(x_40, 1, x_39); -x_41 = l_Lean_throwError___at_Lean_Meta_mkSimpCongrTheorem___spec__6(x_40, x_4, x_5, x_6, x_7, x_27); +x_41 = l_Lean_throwError___at___private_Lean_Meta_InferType_0__Lean_Meta_inferProjType___spec__1(x_40, x_4, x_5, x_6, x_7, x_27); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -21639,7 +21640,7 @@ return x_33; } } } -LEAN_EXPORT lean_object* l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___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_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___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; @@ -21650,7 +21651,7 @@ lean_ctor_set(x_10, 1, x_8); return x_10; } } -LEAN_EXPORT lean_object* l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___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_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; lean_object* x_10; @@ -21662,23 +21663,23 @@ lean_ctor_set(x_10, 1, x_8); return x_10; } } -static lean_object* _init_l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3___closed__1() { +static lean_object* _init_l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__1___boxed), 8, 0); +x_1 = lean_alloc_closure((void*)(l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__1___boxed), 8, 0); return x_1; } } -static lean_object* _init_l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3___closed__2() { +static lean_object* _init_l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__2___boxed), 8, 0); +x_1 = lean_alloc_closure((void*)(l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__2___boxed), 8, 0); return x_1; } } -LEAN_EXPORT lean_object* l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; @@ -21723,8 +21724,8 @@ lean_inc(x_22); x_23 = lean_ctor_get(x_21, 1); lean_inc(x_23); lean_dec(x_21); -x_24 = l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3___closed__1; -x_25 = l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3___closed__2; +x_24 = l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3___closed__1; +x_25 = l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3___closed__2; x_26 = 1; lean_inc(x_9); lean_inc(x_8); @@ -21894,7 +21895,7 @@ return x_59; } } } -LEAN_EXPORT lean_object* l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { if (lean_obj_tag(x_2) == 0) @@ -21913,63 +21914,64 @@ return x_10; } else { -lean_object* x_11; lean_object* x_12; lean_object* x_13; +lean_object* x_11; x_11 = lean_ctor_get(x_2, 0); lean_inc(x_11); +if (lean_obj_tag(x_11) == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; x_12 = lean_ctor_get(x_2, 1); lean_inc(x_12); 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_13 = l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15(x_1, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_13) == 0) -{ -lean_object* x_14; -x_14 = lean_ctor_get(x_13, 0); +x_13 = lean_ctor_get(x_1, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_1, 1); lean_inc(x_14); -if (lean_obj_tag(x_11) == 0) -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; lean_object* x_21; -x_15 = lean_ctor_get(x_13, 1); +lean_dec(x_1); +x_15 = lean_ctor_get(x_11, 0); lean_inc(x_15); -lean_dec(x_13); -x_16 = lean_ctor_get(x_14, 0); -lean_inc(x_16); -x_17 = lean_ctor_get(x_14, 1); -lean_inc(x_17); -lean_dec(x_14); -x_18 = lean_ctor_get(x_11, 0); -lean_inc(x_18); lean_dec(x_11); -x_19 = lean_box(0); -x_20 = 1; +x_16 = lean_box(0); +x_17 = 1; 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_21 = l_Lean_Elab_Term_elabTerm(x_18, x_19, x_20, x_20, x_3, x_4, x_5, x_6, x_7, x_8, x_15); +x_18 = l_Lean_Elab_Term_elabTerm(x_15, x_16, x_17, x_17, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_18) == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_21 = l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3(x_14, x_13, x_19, x_3, x_4, x_5, x_6, x_7, x_8, x_20); if (lean_obj_tag(x_21) == 0) { -lean_object* x_22; lean_object* x_23; lean_object* x_24; +lean_object* x_22; lean_object* x_23; x_22 = lean_ctor_get(x_21, 0); lean_inc(x_22); x_23 = lean_ctor_get(x_21, 1); lean_inc(x_23); lean_dec(x_21); -x_24 = l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3(x_17, x_16, x_22, x_3, x_4, x_5, x_6, x_7, x_8, x_23); -return x_24; +x_1 = x_22; +x_2 = x_12; +x_9 = x_23; +goto _start; } else { uint8_t x_25; -lean_dec(x_17); -lean_dec(x_16); +lean_dec(x_12); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -21998,50 +22000,99 @@ return x_28; } else { -lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_29 = lean_ctor_get(x_13, 1); -lean_inc(x_29); -lean_dec(x_13); -x_30 = lean_ctor_get(x_14, 0); -lean_inc(x_30); -x_31 = lean_ctor_get(x_14, 1); -lean_inc(x_31); +uint8_t x_29; lean_dec(x_14); -x_32 = lean_ctor_get(x_11, 0); -lean_inc(x_32); -lean_dec(x_11); -x_33 = l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3(x_31, x_30, x_32, x_3, x_4, x_5, x_6, x_7, x_8, x_29); -return x_33; -} -} -else -{ -uint8_t x_34; -lean_dec(x_11); +lean_dec(x_13); +lean_dec(x_12); 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_34 = !lean_is_exclusive(x_13); -if (x_34 == 0) +x_29 = !lean_is_exclusive(x_18); +if (x_29 == 0) { -return x_13; +return x_18; } else { -lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_35 = lean_ctor_get(x_13, 0); -x_36 = lean_ctor_get(x_13, 1); -lean_inc(x_36); +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_18, 0); +x_31 = lean_ctor_get(x_18, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_18); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +return x_32; +} +} +} +else +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_33 = lean_ctor_get(x_2, 1); +lean_inc(x_33); +lean_dec(x_2); +x_34 = lean_ctor_get(x_1, 0); +lean_inc(x_34); +x_35 = lean_ctor_get(x_1, 1); lean_inc(x_35); -lean_dec(x_13); -x_37 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_37, 0, x_35); -lean_ctor_set(x_37, 1, x_36); +lean_dec(x_1); +x_36 = lean_ctor_get(x_11, 0); +lean_inc(x_36); +lean_dec(x_11); +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_37 = l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3(x_35, x_34, x_36, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_37) == 0) +{ +lean_object* x_38; lean_object* x_39; +x_38 = lean_ctor_get(x_37, 0); +lean_inc(x_38); +x_39 = lean_ctor_get(x_37, 1); +lean_inc(x_39); +lean_dec(x_37); +x_1 = x_38; +x_2 = x_33; +x_9 = x_39; +goto _start; +} +else +{ +uint8_t x_41; +lean_dec(x_33); +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_41 = !lean_is_exclusive(x_37); +if (x_41 == 0) +{ return x_37; } +else +{ +lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_42 = lean_ctor_get(x_37, 0); +x_43 = lean_ctor_get(x_37, 1); +lean_inc(x_43); +lean_inc(x_42); +lean_dec(x_37); +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; +} +} } } } @@ -22049,12 +22100,13 @@ return x_37; LEAN_EXPORT lean_object* l_Lean_Elab_Term_ElabElim_revertArgs(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, 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_11; lean_object* x_12; lean_object* x_13; x_11 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_11, 0, x_2); lean_ctor_set(x_11, 1, x_3); -x_12 = l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15(x_11, x_1, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -return x_12; +x_12 = l_List_reverse___rarg(x_1); +x_13 = l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15(x_11, x_12, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +return x_13; } } LEAN_EXPORT lean_object* l_Lean_Meta_transform_visit_visitPost___at_Lean_Elab_Term_ElabElim_revertArgs___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { @@ -22272,11 +22324,11 @@ x_13 = l_Lean_Meta_transform___at_Lean_Elab_Term_ElabElim_revertArgs___spec__1(x return x_13; } } -LEAN_EXPORT lean_object* l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___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_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___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_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___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); @@ -22287,11 +22339,11 @@ lean_dec(x_1); return x_9; } } -LEAN_EXPORT lean_object* l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___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_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___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_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___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); @@ -22882,6 +22934,56 @@ goto _start; } } } +LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Elab_Term_ElabElim_finalize___spec__8(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_3; +x_3 = l_List_reverse___rarg(x_2); +return x_3; +} +else +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_1); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; +x_5 = lean_ctor_get(x_1, 0); +x_6 = lean_ctor_get(x_1, 1); +x_7 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_7, 0, x_5); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_7); +{ +lean_object* _tmp_0 = x_6; +lean_object* _tmp_1 = x_1; +x_1 = _tmp_0; +x_2 = _tmp_1; +} +goto _start; +} +else +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_9 = lean_ctor_get(x_1, 0); +x_10 = lean_ctor_get(x_1, 1); +lean_inc(x_10); +lean_inc(x_9); +lean_dec(x_1); +x_11 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_11, 0, x_9); +x_12 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_2); +x_1 = x_10; +x_2 = x_12; +goto _start; +} +} +} +} LEAN_EXPORT lean_object* l_Lean_Elab_Term_ElabElim_finalize___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: { @@ -23693,7 +23795,7 @@ lean_inc(x_23); lean_dec(x_21); x_24 = lean_box(0); x_25 = l_List_mapTRAux___at_Lean_Elab_Term_ElabElim_finalize___spec__7(x_23, x_24); -x_26 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_25, x_24); +x_26 = l_List_mapTRAux___at_Lean_Elab_Term_ElabElim_finalize___spec__8(x_25, x_24); x_27 = l_Lean_MessageData_ofList(x_26); lean_dec(x_26); x_28 = l_Lean_Elab_Term_ElabElim_finalize___closed__3; @@ -29446,7 +29548,7 @@ else lean_object* x_38; lean_object* x_39; lean_object* x_40; x_38 = lean_ctor_get(x_9, 1); x_39 = l_Lean_LocalDecl_fvarId(x_33); -x_40 = l_Std_RBNode_find___at_Lean_Meta_simpGoal___spec__1(x_38, x_39); +x_40 = l_Std_RBNode_find___at_Lean_Elab_Term_resolveLocalName___spec__1(x_38, x_39); lean_dec(x_39); if (lean_obj_tag(x_40) == 0) { @@ -29975,7 +30077,7 @@ else lean_object* x_39; lean_object* x_40; lean_object* x_41; x_39 = lean_ctor_get(x_9, 1); x_40 = l_Lean_LocalDecl_fvarId(x_34); -x_41 = l_Std_RBNode_find___at_Lean_Meta_simpGoal___spec__1(x_39, x_40); +x_41 = l_Std_RBNode_find___at_Lean_Elab_Term_resolveLocalName___spec__1(x_39, x_40); lean_dec(x_40); if (lean_obj_tag(x_41) == 0) { @@ -30669,7 +30771,7 @@ else lean_object* x_38; lean_object* x_39; lean_object* x_40; x_38 = lean_ctor_get(x_9, 1); x_39 = l_Lean_LocalDecl_fvarId(x_33); -x_40 = l_Std_RBNode_find___at_Lean_Meta_simpGoal___spec__1(x_38, x_39); +x_40 = l_Std_RBNode_find___at_Lean_Elab_Term_resolveLocalName___spec__1(x_38, x_39); lean_dec(x_39); if (lean_obj_tag(x_40) == 0) { @@ -31186,7 +31288,7 @@ else lean_object* x_39; lean_object* x_40; lean_object* x_41; x_39 = lean_ctor_get(x_9, 1); x_40 = l_Lean_LocalDecl_fvarId(x_34); -x_41 = l_Std_RBNode_find___at_Lean_Meta_simpGoal___spec__1(x_39, x_40); +x_41 = l_Std_RBNode_find___at_Lean_Elab_Term_resolveLocalName___spec__1(x_39, x_40); lean_dec(x_40); if (lean_obj_tag(x_41) == 0) { @@ -43980,7 +44082,7 @@ if (lean_obj_tag(x_899) == 0) { lean_object* x_900; lean_object* x_901; lean_object* x_902; lean_object* x_903; x_900 = l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn___closed__26; -x_901 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_900); +x_901 = l_panic___at_String_toNat_x21___spec__1(x_900); x_902 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_902, 0, x_600); lean_ctor_set(x_902, 1, x_901); @@ -44432,7 +44534,7 @@ if (lean_obj_tag(x_1017) == 0) { lean_object* x_1018; lean_object* x_1019; lean_object* x_1020; lean_object* x_1021; x_1018 = l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFn___closed__26; -x_1019 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_1018); +x_1019 = l_panic___at_String_toNat_x21___spec__1(x_1018); x_1020 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_1020, 0, x_912); lean_ctor_set(x_1020, 1, x_1019); @@ -45469,7 +45571,16 @@ lean_dec(x_1); return x_12; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__1___closed__1() { +LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = l_Lean_instInhabitedException; +x_3 = lean_panic_fn(x_2, x_1); +return x_3; +} +} +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___closed__1() { _start: { lean_object* x_1; @@ -45477,12 +45588,12 @@ x_1 = lean_mk_string_from_bytes("_private.Lean.Elab.App.0.Lean.Elab.Term.mergeFa return x_1; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__1___closed__2() { +static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Elab_Term_ElabElim_finalize___lambda__4___closed__4; -x_2 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__1___closed__1; +x_2 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___closed__1; x_3 = lean_unsigned_to_nat(1355u); x_4 = lean_unsigned_to_nat(57u); x_5 = l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppLValsAux_loop___lambda__3___closed__2; @@ -45490,7 +45601,7 @@ x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); return x_6; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__1(size_t x_1, size_t x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2(size_t x_1, size_t x_2, lean_object* x_3) { _start: { uint8_t x_4; @@ -45511,8 +45622,8 @@ if (lean_obj_tag(x_5) == 0) { lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_dec(x_5); -x_10 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__1___closed__2; -x_11 = l_panic___at___private_Lean_Elab_Open_0__Lean_Elab_OpenDecl_resolveNameUsingNamespacesCore___spec__9(x_10); +x_10 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___closed__2; +x_11 = l_panic___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__1(x_10); x_12 = lean_array_uset(x_7, x_2, x_11); x_2 = x_9; x_3 = x_12; @@ -45532,7 +45643,7 @@ goto _start; } } } -LEAN_EXPORT lean_object* l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__5___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; uint8_t x_5; lean_object* x_6; @@ -45561,15 +45672,15 @@ return x_10; } } } -LEAN_EXPORT lean_object* l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; -x_5 = lean_alloc_closure((void*)(l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___rarg___boxed), 3, 0); +x_5 = lean_alloc_closure((void*)(l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__5___rarg___boxed), 3, 0); return x_5; } } -static lean_object* _init_l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__1() { +static lean_object* _init_l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__1() { _start: { lean_object* x_1; @@ -45577,16 +45688,16 @@ x_1 = lean_mk_string_from_bytes(":", 1); return x_1; } } -static lean_object* _init_l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__2() { +static lean_object* _init_l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__1; +x_1 = l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__3() { +static lean_object* _init_l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__3() { _start: { lean_object* x_1; @@ -45594,20 +45705,20 @@ x_1 = lean_mk_string_from_bytes(" ", 1); return x_1; } } -static lean_object* _init_l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__4() { +static lean_object* _init_l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__3; +x_1 = l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__3; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___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_EXPORT lean_object* l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; uint8_t x_10; -x_9 = l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___rarg(x_6, x_7, x_8); +x_9 = l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__5___rarg(x_6, x_7, x_8); x_10 = !lean_is_exclusive(x_9); if (x_10 == 0) { @@ -45650,7 +45761,7 @@ x_24 = l___private_Lean_Elab_App_0__Lean_Elab_Term_mkProjAndCheck___closed__8; x_25 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_25, 0, x_24); lean_ctor_set(x_25, 1, x_23); -x_26 = l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__2; +x_26 = l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__2; x_27 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_27, 0, x_25); lean_ctor_set(x_27, 1, x_26); @@ -45665,7 +45776,7 @@ lean_ctor_set(x_31, 0, x_30); x_32 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_32, 0, x_27); lean_ctor_set(x_32, 1, x_31); -x_33 = l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__4; +x_33 = l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__4; x_34 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_34, 0, x_32); lean_ctor_set(x_34, 1, x_33); @@ -45736,7 +45847,7 @@ x_54 = l___private_Lean_Elab_App_0__Lean_Elab_Term_mkProjAndCheck___closed__8; x_55 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_55, 0, x_54); lean_ctor_set(x_55, 1, x_53); -x_56 = l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__2; +x_56 = l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__2; x_57 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_57, 0, x_55); lean_ctor_set(x_57, 1, x_56); @@ -45751,7 +45862,7 @@ lean_ctor_set(x_61, 0, x_60); x_62 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_62, 0, x_57); lean_ctor_set(x_62, 1, x_61); -x_63 = l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__4; +x_63 = l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__4; x_64 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_64, 0, x_62); lean_ctor_set(x_64, 1, x_63); @@ -45781,7 +45892,7 @@ return x_70; } } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___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, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__6(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; @@ -45800,7 +45911,7 @@ lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean x_13 = lean_array_uget(x_3, x_2); x_14 = lean_unsigned_to_nat(0u); x_15 = lean_array_uset(x_3, x_2, x_14); -x_16 = l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3(x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_16 = l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4(x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10); x_17 = lean_ctor_get(x_16, 0); lean_inc(x_17); x_18 = lean_ctor_get(x_16, 1); @@ -45816,7 +45927,7 @@ goto _start; } } } -LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__6___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__7___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; @@ -45864,15 +45975,15 @@ return x_22; } } } -LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__6(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__7(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_throwError___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__6___rarg___boxed), 8, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_throwError___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__7___rarg___boxed), 8, 0); return x_2; } } -static lean_object* _init_l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___rarg___closed__1() { +static lean_object* _init_l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___rarg___closed__1() { _start: { lean_object* x_1; @@ -45880,16 +45991,16 @@ x_1 = lean_mk_string_from_bytes(", errors ", 9); return x_1; } } -static lean_object* _init_l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___rarg___closed__2() { +static lean_object* _init_l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___rarg___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___rarg___closed__1; +x_1 = l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___rarg___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +LEAN_EXPORT lean_object* l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; size_t 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; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; @@ -45897,7 +46008,7 @@ x_10 = lean_array_get_size(x_2); x_11 = lean_usize_of_nat(x_10); lean_dec(x_10); x_12 = 0; -x_13 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__5(x_11, x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_13 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__6(x_11, x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); x_14 = lean_ctor_get(x_13, 0); lean_inc(x_14); x_15 = lean_ctor_get(x_13, 1); @@ -45907,7 +46018,7 @@ x_16 = l___private_Lean_Elab_App_0__Lean_Elab_Term_mkProjAndCheck___closed__8; x_17 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_17, 0, x_16); lean_ctor_set(x_17, 1, x_1); -x_18 = l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___rarg___closed__2; +x_18 = l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___rarg___closed__2; x_19 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_19, 0, x_17); lean_ctor_set(x_19, 1, x_18); @@ -45918,7 +46029,7 @@ lean_ctor_set(x_21, 1, x_20); x_22 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_22, 0, x_21); lean_ctor_set(x_22, 1, x_16); -x_23 = l_Lean_throwError___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__6___rarg(x_22, x_3, x_4, x_5, x_6, x_7, x_8, x_15); +x_23 = l_Lean_throwError___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__7___rarg(x_22, x_3, x_4, x_5, x_6, x_7, x_8, x_15); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -45927,11 +46038,11 @@ lean_dec(x_4); return x_23; } } -LEAN_EXPORT lean_object* l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___rarg), 9, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___rarg), 9, 0); return x_2; } } @@ -45971,9 +46082,9 @@ x_9 = lean_array_get_size(x_1); x_10 = lean_usize_of_nat(x_9); lean_dec(x_9); x_11 = 0; -x_12 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__1(x_10, x_11, x_1); +x_12 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2(x_10, x_11, x_1); x_13 = l___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___rarg___closed__3; -x_14 = l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___rarg(x_13, x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_14 = l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___rarg(x_13, x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_8); return x_14; } } @@ -45985,7 +46096,7 @@ x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_App_0__Lean_Elab_Term_mer return x_2; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { size_t x_4; size_t x_5; lean_object* x_6; @@ -45993,25 +46104,25 @@ 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___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__1(x_4, x_5, x_3); +x_6 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2(x_4, x_5, x_3); return x_6; } } -LEAN_EXPORT lean_object* l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__5___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; -x_4 = l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___rarg(x_1, x_2, x_3); +x_4 = l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__5___rarg(x_1, x_2, x_3); lean_dec(x_2); lean_dec(x_1); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; -x_5 = l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4(x_1, x_2, x_3, x_4); +x_5 = l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__5(x_1, x_2, x_3, x_4); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); @@ -46019,11 +46130,11 @@ lean_dec(x_1); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___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_EXPORT lean_object* l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___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) { _start: { lean_object* x_9; -x_9 = l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4(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); @@ -46033,7 +46144,7 @@ lean_dec(x_2); return x_9; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___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_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___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; @@ -46041,7 +46152,7 @@ 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_App_0__Lean_Elab_Term_mergeFailures___spec__5(x_11, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_13 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__6(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); @@ -46051,11 +46162,11 @@ lean_dec(x_4); return x_13; } } -LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__6___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___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) { _start: { lean_object* x_9; -x_9 = l_Lean_throwError___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__6___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_throwError___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__7___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -49241,10 +49352,10 @@ l_Lean_Meta_transform___at_Lean_Elab_Term_ElabElim_revertArgs___spec__1___closed lean_mark_persistent(l_Lean_Meta_transform___at_Lean_Elab_Term_ElabElim_revertArgs___spec__1___closed__1); l_Lean_Meta_transform___at_Lean_Elab_Term_ElabElim_revertArgs___spec__1___closed__2 = _init_l_Lean_Meta_transform___at_Lean_Elab_Term_ElabElim_revertArgs___spec__1___closed__2(); lean_mark_persistent(l_Lean_Meta_transform___at_Lean_Elab_Term_ElabElim_revertArgs___spec__1___closed__2); -l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3___closed__1 = _init_l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3___closed__1(); -lean_mark_persistent(l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3___closed__1); -l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3___closed__2 = _init_l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3___closed__2(); -lean_mark_persistent(l_List_foldrM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3___closed__2); +l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3___closed__1 = _init_l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3___closed__1(); +lean_mark_persistent(l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3___closed__1); +l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3___closed__2 = _init_l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3___closed__2(); +lean_mark_persistent(l_List_foldlM___at_Lean_Elab_Term_ElabElim_revertArgs___spec__15___lambda__3___closed__2); l_panic___at_Lean_Elab_Term_ElabElim_finalize___spec__5___closed__1 = _init_l_panic___at_Lean_Elab_Term_ElabElim_finalize___spec__5___closed__1(); lean_mark_persistent(l_panic___at_Lean_Elab_Term_ElabElim_finalize___spec__5___closed__1); l_panic___at_Lean_Elab_Term_ElabElim_finalize___spec__5___closed__2 = _init_l_panic___at_Lean_Elab_Term_ElabElim_finalize___spec__5___closed__2(); @@ -49514,22 +49625,22 @@ lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_App_0__L l___private_Lean_Elab_App_0__Lean_Elab_Term_getSuccesses___lambda__1___closed__1 = _init_l___private_Lean_Elab_App_0__Lean_Elab_Term_getSuccesses___lambda__1___closed__1(); lean_mark_persistent(l___private_Lean_Elab_App_0__Lean_Elab_Term_getSuccesses___lambda__1___closed__1); l___private_Lean_Elab_App_0__Lean_Elab_Term_getSuccesses___lambda__1___closed__2 = _init_l___private_Lean_Elab_App_0__Lean_Elab_Term_getSuccesses___lambda__1___closed__2(); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__1___closed__1 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__1___closed__1(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__1___closed__1); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__1___closed__2 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__1___closed__2(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__1___closed__2); -l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__1 = _init_l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__1(); -lean_mark_persistent(l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__1); -l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__2 = _init_l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__2(); -lean_mark_persistent(l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__2); -l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__3 = _init_l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__3(); -lean_mark_persistent(l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__3); -l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__4 = _init_l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__4(); -lean_mark_persistent(l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___closed__4); -l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___rarg___closed__1 = _init_l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___rarg___closed__1(); -lean_mark_persistent(l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___rarg___closed__1); -l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___rarg___closed__2 = _init_l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___rarg___closed__2(); -lean_mark_persistent(l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___rarg___closed__2); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___closed__1 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___closed__1(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___closed__1); +l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___closed__2 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___closed__2(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__2___closed__2); +l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__1 = _init_l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__1(); +lean_mark_persistent(l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__1); +l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__2 = _init_l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__2(); +lean_mark_persistent(l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__2); +l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__3 = _init_l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__3(); +lean_mark_persistent(l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__3); +l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__4 = _init_l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__4(); +lean_mark_persistent(l_Lean_Elab_nestedExceptionToMessageData___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___closed__4); +l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___rarg___closed__1 = _init_l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___rarg___closed__1(); +lean_mark_persistent(l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___rarg___closed__1); +l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___rarg___closed__2 = _init_l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___rarg___closed__2(); +lean_mark_persistent(l_Lean_Elab_throwErrorWithNestedErrors___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__3___rarg___closed__2); l___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___rarg___closed__1 = _init_l___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___rarg___closed__1(); lean_mark_persistent(l___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___rarg___closed__1); l___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___rarg___closed__2 = _init_l___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___rarg___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/Attributes.c b/stage0/stdlib/Lean/Elab/Attributes.c index b0c904bf5a..f4636cd2bb 100644 --- a/stage0/stdlib/Lean/Elab/Attributes.c +++ b/stage0/stdlib/Lean/Elab/Attributes.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.Attributes -// Imports: Init Lean.Parser.Attr Lean.Attributes Lean.MonadEnv Lean.Elab.Util +// Imports: Init Lean.Elab.Util #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -3097,9 +3097,6 @@ return x_14; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Parser_Attr(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Attributes(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_MonadEnv(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Util(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Elab_Attributes(uint8_t builtin, lean_object* w) { @@ -3109,15 +3106,6 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Parser_Attr(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Attributes(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_MonadEnv(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Elab_Util(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Elab/Binders.c b/stage0/stdlib/Lean/Elab/Binders.c index d60d862e4d..af3a06d4b9 100644 --- a/stage0/stdlib/Lean/Elab/Binders.c +++ b/stage0/stdlib/Lean/Elab/Binders.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.Binders -// Imports: Init Lean.Parser.Term Lean.Elab.Quotation.Precheck Lean.Elab.Term Lean.Elab.BindersUtil Lean.Elab.AuxDiscr +// Imports: Init Lean.Elab.Quotation.Precheck Lean.Elab.Term Lean.Elab.BindersUtil Lean.Elab.AuxDiscr #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -8595,7 +8595,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_expandForall_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(243u); +x_1 = lean_unsigned_to_nat(242u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8607,7 +8607,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_expandForall_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(247u); +x_1 = lean_unsigned_to_nat(246u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8635,7 +8635,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_expandForall_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(243u); +x_1 = lean_unsigned_to_nat(242u); x_2 = lean_unsigned_to_nat(44u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8647,7 +8647,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_expandForall_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(243u); +x_1 = lean_unsigned_to_nat(242u); x_2 = lean_unsigned_to_nat(56u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8900,7 +8900,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabForall_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(249u); +x_1 = lean_unsigned_to_nat(248u); x_2 = lean_unsigned_to_nat(28u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8912,7 +8912,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabForall_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(255u); +x_1 = lean_unsigned_to_nat(254u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8940,7 +8940,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabForall_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(249u); +x_1 = lean_unsigned_to_nat(248u); x_2 = lean_unsigned_to_nat(32u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8952,7 +8952,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabForall_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(249u); +x_1 = lean_unsigned_to_nat(248u); x_2 = lean_unsigned_to_nat(42u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -9368,7 +9368,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabArrow_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(264u); +x_1 = lean_unsigned_to_nat(263u); x_2 = lean_unsigned_to_nat(25u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -9380,7 +9380,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabArrow_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(271u); +x_1 = lean_unsigned_to_nat(270u); x_2 = lean_unsigned_to_nat(50u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -9408,7 +9408,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabArrow_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(264u); +x_1 = lean_unsigned_to_nat(263u); x_2 = lean_unsigned_to_nat(29u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -9420,7 +9420,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabArrow_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(264u); +x_1 = lean_unsigned_to_nat(263u); x_2 = lean_unsigned_to_nat(38u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -9570,7 +9570,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabDepArrow_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(277u); +x_1 = lean_unsigned_to_nat(276u); x_2 = lean_unsigned_to_nat(28u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -9582,7 +9582,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabDepArrow_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(282u); +x_1 = lean_unsigned_to_nat(281u); x_2 = lean_unsigned_to_nat(38u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -9610,7 +9610,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabDepArrow_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(277u); +x_1 = lean_unsigned_to_nat(276u); x_2 = lean_unsigned_to_nat(32u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -9622,7 +9622,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabDepArrow_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(277u); +x_1 = lean_unsigned_to_nat(276u); x_2 = lean_unsigned_to_nat(44u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -24683,7 +24683,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_expandFun_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(584u); +x_1 = lean_unsigned_to_nat(583u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -24695,7 +24695,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_expandFun_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(595u); +x_1 = lean_unsigned_to_nat(594u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -24723,7 +24723,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_expandFun_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(584u); +x_1 = lean_unsigned_to_nat(583u); x_2 = lean_unsigned_to_nat(44u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -24735,7 +24735,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_expandFun_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(584u); +x_1 = lean_unsigned_to_nat(583u); x_2 = lean_unsigned_to_nat(53u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -24895,7 +24895,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_expandExplicitFun_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(597u); +x_1 = lean_unsigned_to_nat(596u); x_2 = lean_unsigned_to_nat(45u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -24907,7 +24907,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_expandExplicitFun_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(600u); +x_1 = lean_unsigned_to_nat(599u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -24935,7 +24935,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_expandExplicitFun_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(597u); +x_1 = lean_unsigned_to_nat(596u); x_2 = lean_unsigned_to_nat(49u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -24947,7 +24947,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_expandExplicitFun_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(597u); +x_1 = lean_unsigned_to_nat(596u); x_2 = lean_unsigned_to_nat(66u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -26922,7 +26922,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabFun_declRange___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(614u); +x_1 = lean_unsigned_to_nat(613u); x_2 = lean_unsigned_to_nat(33u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -26934,7 +26934,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabFun_declRange___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(627u); +x_1 = lean_unsigned_to_nat(626u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -26962,7 +26962,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabFun_declRange___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(614u); +x_1 = lean_unsigned_to_nat(613u); x_2 = lean_unsigned_to_nat(37u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -26974,7 +26974,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabFun_declRange___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(614u); +x_1 = lean_unsigned_to_nat(613u); x_2 = lean_unsigned_to_nat(44u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -29786,7 +29786,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabLetDecl_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(738u); +x_1 = lean_unsigned_to_nat(737u); x_2 = lean_unsigned_to_nat(25u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -29798,7 +29798,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabLetDecl_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(739u); +x_1 = lean_unsigned_to_nat(738u); x_2 = lean_unsigned_to_nat(129u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -29826,7 +29826,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabLetDecl_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(738u); +x_1 = lean_unsigned_to_nat(737u); x_2 = lean_unsigned_to_nat(29u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -29838,7 +29838,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabLetDecl_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(738u); +x_1 = lean_unsigned_to_nat(737u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -29953,7 +29953,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabLetFunDecl_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(741u); +x_1 = lean_unsigned_to_nat(740u); x_2 = lean_unsigned_to_nat(29u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -29965,7 +29965,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabLetFunDecl_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(742u); +x_1 = lean_unsigned_to_nat(741u); x_2 = lean_unsigned_to_nat(130u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -29993,7 +29993,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabLetFunDecl_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(741u); +x_1 = lean_unsigned_to_nat(740u); x_2 = lean_unsigned_to_nat(33u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -30005,7 +30005,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabLetFunDecl_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(741u); +x_1 = lean_unsigned_to_nat(740u); x_2 = lean_unsigned_to_nat(47u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -30121,7 +30121,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabLetDelayedDecl_declR _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(744u); +x_1 = lean_unsigned_to_nat(743u); x_2 = lean_unsigned_to_nat(33u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -30133,7 +30133,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabLetDelayedDecl_declR _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(745u); +x_1 = lean_unsigned_to_nat(744u); x_2 = lean_unsigned_to_nat(128u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -30161,7 +30161,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabLetDelayedDecl_declR _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(744u); +x_1 = lean_unsigned_to_nat(743u); x_2 = lean_unsigned_to_nat(37u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -30173,7 +30173,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabLetDelayedDecl_declR _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(744u); +x_1 = lean_unsigned_to_nat(743u); x_2 = lean_unsigned_to_nat(55u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -30289,7 +30289,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabLetTmpDecl_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(747u); +x_1 = lean_unsigned_to_nat(746u); x_2 = lean_unsigned_to_nat(29u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -30301,7 +30301,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabLetTmpDecl_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(748u); +x_1 = lean_unsigned_to_nat(747u); x_2 = lean_unsigned_to_nat(128u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -30329,7 +30329,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabLetTmpDecl_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(747u); +x_1 = lean_unsigned_to_nat(746u); x_2 = lean_unsigned_to_nat(33u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -30341,7 +30341,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabLetTmpDecl_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(747u); +x_1 = lean_unsigned_to_nat(746u); x_2 = lean_unsigned_to_nat(47u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -30398,7 +30398,6 @@ return x_4; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Parser_Term(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Quotation_Precheck(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Term(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_BindersUtil(uint8_t builtin, lean_object*); @@ -30411,9 +30410,6 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Parser_Term(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Elab_Quotation_Precheck(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Elab/BuiltinCommand.c b/stage0/stdlib/Lean/Elab/BuiltinCommand.c index c12dba3b33..a9e985fe58 100644 --- a/stage0/stdlib/Lean/Elab/BuiltinCommand.c +++ b/stage0/stdlib/Lean/Elab/BuiltinCommand.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.BuiltinCommand -// Imports: Init Lean.Elab.DeclarationRange Lean.DocString Lean.Util.CollectLevelParams Lean.Elab.Eval Lean.Elab.Command Lean.Elab.Open +// Imports: Init Lean.Util.CollectLevelParams Lean.Meta.Reduce Lean.Elab.DeclarationRange Lean.Elab.Eval Lean.Elab.Command Lean.Elab.Open Lean.Elab.SetOption #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -174,7 +174,6 @@ static lean_object* l___regBuiltin_Lean_Elab_Command_elabModuleDoc_declRange___c static lean_object* l___regBuiltin_Lean_Elab_Command_elabOpen_declRange___closed__6; static lean_object* l___regBuiltin_Lean_Elab_Command_expandInCmd_declRange___closed__3; lean_object* l_Lean_Elab_Term_ensureNoUnassignedMVars(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_forallTelescopeCompatibleAux___spec__15___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_resolveGlobalConstNoOverloadCore___at_Lean_Elab_Command_elabExport___spec__7___closed__2; static lean_object* l_Lean_Elab_Command_elabReduce___lambda__2___closed__1; static lean_object* l_Lean_Elab_Command_elabOpen___closed__2; @@ -729,6 +728,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Command_elabModuleDoc_declRange___c static lean_object* l___regBuiltin_Lean_Elab_Command_elabModuleDoc_declRange___closed__5; static lean_object* l___regBuiltin_Lean_Elab_Command_elabSection_declRange___closed__1; lean_object* l_Lean_KVMap_insertCore(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_SynthInstance_removeUnusedArguments_x3f___spec__2___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_expandInCmd___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Command_elabCheck_declRange___closed__7; static lean_object* l_Lean_Elab_Command_elabEvalUnsafe___lambda__4___closed__18; @@ -1508,7 +1508,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabModuleDoc_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(15u); +x_1 = lean_unsigned_to_nat(16u); x_2 = lean_unsigned_to_nat(32u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1520,7 +1520,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabModuleDoc_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(21u); +x_1 = lean_unsigned_to_nat(22u); x_2 = lean_unsigned_to_nat(73u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1548,7 +1548,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabModuleDoc_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(15u); +x_1 = lean_unsigned_to_nat(16u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1560,7 +1560,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabModuleDoc_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(15u); +x_1 = lean_unsigned_to_nat(16u); x_2 = lean_unsigned_to_nat(49u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3125,7 +3125,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabNamespace_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(62u); +x_1 = lean_unsigned_to_nat(63u); x_2 = lean_unsigned_to_nat(34u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3137,7 +3137,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabNamespace_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(65u); +x_1 = lean_unsigned_to_nat(66u); x_2 = lean_unsigned_to_nat(45u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3165,7 +3165,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabNamespace_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(62u); +x_1 = lean_unsigned_to_nat(63u); x_2 = lean_unsigned_to_nat(38u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3177,7 +3177,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabNamespace_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(62u); +x_1 = lean_unsigned_to_nat(63u); x_2 = lean_unsigned_to_nat(51u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3394,7 +3394,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabSection_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(67u); +x_1 = lean_unsigned_to_nat(68u); x_2 = lean_unsigned_to_nat(32u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3406,7 +3406,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabSection_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(71u); +x_1 = lean_unsigned_to_nat(72u); x_2 = lean_unsigned_to_nat(54u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3434,7 +3434,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabSection_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(67u); +x_1 = lean_unsigned_to_nat(68u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3446,7 +3446,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabSection_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(67u); +x_1 = lean_unsigned_to_nat(68u); x_2 = lean_unsigned_to_nat(47u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3648,7 +3648,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabNonComputableSect _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(73u); +x_1 = lean_unsigned_to_nat(74u); x_2 = lean_unsigned_to_nat(43u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3660,7 +3660,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabNonComputableSect _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(77u); +x_1 = lean_unsigned_to_nat(78u); x_2 = lean_unsigned_to_nat(54u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3688,7 +3688,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabNonComputableSect _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(73u); +x_1 = lean_unsigned_to_nat(74u); x_2 = lean_unsigned_to_nat(47u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3700,7 +3700,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabNonComputableSect _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(73u); +x_1 = lean_unsigned_to_nat(74u); x_2 = lean_unsigned_to_nat(71u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4584,7 +4584,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabEnd_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(79u); +x_1 = lean_unsigned_to_nat(80u); x_2 = lean_unsigned_to_nat(28u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4596,7 +4596,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabEnd_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(100u); +x_1 = lean_unsigned_to_nat(101u); x_2 = lean_unsigned_to_nat(47u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4624,7 +4624,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabEnd_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(79u); +x_1 = lean_unsigned_to_nat(80u); x_2 = lean_unsigned_to_nat(32u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4636,7 +4636,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabEnd_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(79u); +x_1 = lean_unsigned_to_nat(80u); x_2 = lean_unsigned_to_nat(39u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4906,7 +4906,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabChoice_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(111u); +x_1 = lean_unsigned_to_nat(112u); x_2 = lean_unsigned_to_nat(29u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4918,7 +4918,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabChoice_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(112u); +x_1 = lean_unsigned_to_nat(113u); x_2 = lean_unsigned_to_nat(29u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4945,7 +4945,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabChoice_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(111u); +x_1 = lean_unsigned_to_nat(112u); x_2 = lean_unsigned_to_nat(33u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4957,7 +4957,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabChoice_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(111u); +x_1 = lean_unsigned_to_nat(112u); x_2 = lean_unsigned_to_nat(43u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5243,7 +5243,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabUniverse_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(114u); +x_1 = lean_unsigned_to_nat(115u); x_2 = lean_unsigned_to_nat(33u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5255,7 +5255,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabUniverse_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(115u); +x_1 = lean_unsigned_to_nat(116u); x_2 = lean_unsigned_to_nat(28u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5283,7 +5283,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabUniverse_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(114u); +x_1 = lean_unsigned_to_nat(115u); x_2 = lean_unsigned_to_nat(37u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5295,7 +5295,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabUniverse_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(114u); +x_1 = lean_unsigned_to_nat(115u); x_2 = lean_unsigned_to_nat(49u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5576,7 +5576,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabInitQuot_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(117u); +x_1 = lean_unsigned_to_nat(118u); x_2 = lean_unsigned_to_nat(34u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5588,7 +5588,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabInitQuot_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(120u); +x_1 = lean_unsigned_to_nat(121u); x_2 = lean_unsigned_to_nat(67u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5616,7 +5616,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabInitQuot_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(117u); +x_1 = lean_unsigned_to_nat(118u); x_2 = lean_unsigned_to_nat(38u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5628,7 +5628,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabInitQuot_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(117u); +x_1 = lean_unsigned_to_nat(118u); x_2 = lean_unsigned_to_nat(50u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8528,7 +8528,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabExport_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(122u); +x_1 = lean_unsigned_to_nat(123u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8540,7 +8540,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabExport_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(132u); +x_1 = lean_unsigned_to_nat(133u); x_2 = lean_unsigned_to_nat(99u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8568,7 +8568,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabExport_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(122u); +x_1 = lean_unsigned_to_nat(123u); x_2 = lean_unsigned_to_nat(35u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8580,7 +8580,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabExport_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(122u); +x_1 = lean_unsigned_to_nat(123u); x_2 = lean_unsigned_to_nat(45u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11507,7 +11507,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabOpen_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(134u); +x_1 = lean_unsigned_to_nat(135u); x_2 = lean_unsigned_to_nat(29u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11519,7 +11519,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabOpen_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(138u); +x_1 = lean_unsigned_to_nat(139u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11547,7 +11547,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabOpen_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(134u); +x_1 = lean_unsigned_to_nat(135u); x_2 = lean_unsigned_to_nat(33u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11559,7 +11559,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabOpen_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(134u); +x_1 = lean_unsigned_to_nat(135u); x_2 = lean_unsigned_to_nat(41u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -15973,7 +15973,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabVariable_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(217u); +x_1 = lean_unsigned_to_nat(218u); x_2 = lean_unsigned_to_nat(33u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -15985,7 +15985,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabVariable_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(228u); +x_1 = lean_unsigned_to_nat(229u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -16013,7 +16013,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabVariable_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(217u); +x_1 = lean_unsigned_to_nat(218u); x_2 = lean_unsigned_to_nat(37u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -16025,7 +16025,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabVariable_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(217u); +x_1 = lean_unsigned_to_nat(218u); x_2 = lean_unsigned_to_nat(49u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -16624,7 +16624,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabCheck_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(242u); +x_1 = lean_unsigned_to_nat(243u); x_2 = lean_unsigned_to_nat(48u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -16636,7 +16636,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabCheck_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(242u); +x_1 = lean_unsigned_to_nat(243u); x_2 = lean_unsigned_to_nat(116u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -16664,7 +16664,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabCheck_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(242u); +x_1 = lean_unsigned_to_nat(243u); x_2 = lean_unsigned_to_nat(52u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -16676,7 +16676,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabCheck_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(242u); +x_1 = lean_unsigned_to_nat(243u); x_2 = lean_unsigned_to_nat(61u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -17405,7 +17405,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabReduce_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(244u); +x_1 = lean_unsigned_to_nat(245u); x_2 = lean_unsigned_to_nat(49u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -17417,7 +17417,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabReduce_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(253u); +x_1 = lean_unsigned_to_nat(254u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -17445,7 +17445,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabReduce_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(244u); +x_1 = lean_unsigned_to_nat(245u); x_2 = lean_unsigned_to_nat(53u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -17457,7 +17457,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabReduce_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(244u); +x_1 = lean_unsigned_to_nat(245u); x_2 = lean_unsigned_to_nat(63u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18473,7 +18473,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabCheckFailure_decl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(278u); +x_1 = lean_unsigned_to_nat(279u); x_2 = lean_unsigned_to_nat(38u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18485,7 +18485,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabCheckFailure_decl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(281u); +x_1 = lean_unsigned_to_nat(282u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18513,7 +18513,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabCheckFailure_decl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(278u); +x_1 = lean_unsigned_to_nat(279u); x_2 = lean_unsigned_to_nat(42u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18525,7 +18525,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabCheckFailure_decl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(278u); +x_1 = lean_unsigned_to_nat(279u); x_2 = lean_unsigned_to_nat(58u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -19243,7 +19243,7 @@ lean_closure_set(x_13, 2, x_2); lean_closure_set(x_13, 3, x_4); x_14 = l___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_mkRunMetaEval___lambda__2___closed__2; x_15 = 0; -x_16 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__15___rarg(x_14, x_15, x_12, x_13, x_5, x_6, x_7, x_8, x_9); +x_16 = l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_SynthInstance_removeUnusedArguments_x3f___spec__2___rarg(x_14, x_15, x_12, x_13, x_5, x_6, x_7, x_8, x_9); return x_16; } } @@ -19306,7 +19306,7 @@ lean_closure_set(x_9, 2, x_1); x_10 = l___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_mkRunMetaEval___closed__2; x_11 = 0; x_12 = l___private_Lean_Elab_BuiltinCommand_0__Lean_Elab_Command_mkRunMetaEval___closed__5; -x_13 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__15___rarg(x_10, x_11, x_12, x_9, x_2, x_3, x_4, x_5, x_6); +x_13 = l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_SynthInstance_removeUnusedArguments_x3f___spec__2___rarg(x_10, x_11, x_12, x_9, x_2, x_3, x_4, x_5, x_6); return x_13; } } @@ -22399,7 +22399,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabEval_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(387u); +x_1 = lean_unsigned_to_nat(388u); x_2 = lean_unsigned_to_nat(0u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -22411,7 +22411,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabEval_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(387u); +x_1 = lean_unsigned_to_nat(388u); x_2 = lean_unsigned_to_nat(29u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -22439,7 +22439,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabEval_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(387u); +x_1 = lean_unsigned_to_nat(388u); x_2 = lean_unsigned_to_nat(7u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -22451,7 +22451,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabEval_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(387u); +x_1 = lean_unsigned_to_nat(388u); x_2 = lean_unsigned_to_nat(15u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -22869,7 +22869,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabSynth_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(389u); +x_1 = lean_unsigned_to_nat(390u); x_2 = lean_unsigned_to_nat(30u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -22881,7 +22881,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabSynth_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(397u); +x_1 = lean_unsigned_to_nat(398u); x_2 = lean_unsigned_to_nat(11u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -22909,7 +22909,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabSynth_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(389u); +x_1 = lean_unsigned_to_nat(390u); x_2 = lean_unsigned_to_nat(34u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -22921,7 +22921,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabSynth_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(389u); +x_1 = lean_unsigned_to_nat(390u); x_2 = lean_unsigned_to_nat(43u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -23632,7 +23632,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabSetOption_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(399u); +x_1 = lean_unsigned_to_nat(400u); x_2 = lean_unsigned_to_nat(35u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -23644,7 +23644,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabSetOption_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(402u); +x_1 = lean_unsigned_to_nat(403u); x_2 = lean_unsigned_to_nat(57u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -23672,7 +23672,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabSetOption_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(399u); +x_1 = lean_unsigned_to_nat(400u); x_2 = lean_unsigned_to_nat(39u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -23684,7 +23684,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabSetOption_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(399u); +x_1 = lean_unsigned_to_nat(400u); x_2 = lean_unsigned_to_nat(52u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -23937,7 +23937,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_expandInCmd_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(404u); +x_1 = lean_unsigned_to_nat(405u); x_2 = lean_unsigned_to_nat(41u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -23949,7 +23949,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_expandInCmd_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(406u); +x_1 = lean_unsigned_to_nat(407u); x_2 = lean_unsigned_to_nat(47u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -23977,7 +23977,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_expandInCmd_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(404u); +x_1 = lean_unsigned_to_nat(405u); x_2 = lean_unsigned_to_nat(45u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -23989,7 +23989,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_expandInCmd_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(404u); +x_1 = lean_unsigned_to_nat(405u); x_2 = lean_unsigned_to_nat(56u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -25388,7 +25388,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabAddDeclDoc_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(408u); +x_1 = lean_unsigned_to_nat(409u); x_2 = lean_unsigned_to_nat(50u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -25400,7 +25400,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabAddDeclDoc_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(413u); +x_1 = lean_unsigned_to_nat(414u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -25428,7 +25428,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabAddDeclDoc_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(408u); +x_1 = lean_unsigned_to_nat(409u); x_2 = lean_unsigned_to_nat(54u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -25440,7 +25440,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Command_elabAddDeclDoc_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(408u); +x_1 = lean_unsigned_to_nat(409u); x_2 = lean_unsigned_to_nat(68u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -25487,12 +25487,13 @@ return x_4; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_DeclarationRange(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_DocString(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Util_CollectLevelParams(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Meta_Reduce(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Elab_DeclarationRange(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Eval(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Command(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Open(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Elab_SetOption(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Elab_BuiltinCommand(uint8_t builtin, lean_object* w) { lean_object * res; @@ -25501,15 +25502,15 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Elab_DeclarationRange(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_DocString(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Util_CollectLevelParams(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Meta_Reduce(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Elab_DeclarationRange(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); res = initialize_Lean_Elab_Eval(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); @@ -25519,6 +25520,9 @@ lean_dec_ref(res); res = initialize_Lean_Elab_Open(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Elab_SetOption(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); l_Lean_Elab_Command_elabModuleDoc___closed__1 = _init_l_Lean_Elab_Command_elabModuleDoc___closed__1(); lean_mark_persistent(l_Lean_Elab_Command_elabModuleDoc___closed__1); l_Lean_Elab_Command_elabModuleDoc___closed__2 = _init_l_Lean_Elab_Command_elabModuleDoc___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/BuiltinNotation.c b/stage0/stdlib/Lean/Elab/BuiltinNotation.c index d64315a14c..d094e2a6df 100644 --- a/stage0/stdlib/Lean/Elab/BuiltinNotation.c +++ b/stage0/stdlib/Lean/Elab/BuiltinNotation.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.BuiltinNotation -// Imports: Init Init.Data.ToString Lean.Compiler.BorrowedAnnotation Lean.Meta.KAbstract Lean.Meta.Transform Lean.Elab.App Lean.Elab.SyntheticMVars +// Imports: Init Lean.Compiler.BorrowedAnnotation Lean.Meta.KAbstract Lean.Meta.MatchUtil Lean.Elab.SyntheticMVars #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -14,10 +14,11 @@ extern "C" { #endif lean_object* l_List_reverse___rarg(lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__10(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getConstInfo___at_Lean_Elab_Term_mkConst___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__9; lean_object* l_Lean_mkCIdentFrom(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__11(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__27; LEAN_EXPORT uint8_t l_Lean_Elab_Term_elabCDotFunctionAlias_x3f___lambda__1(lean_object*); static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__26; @@ -26,10 +27,12 @@ static lean_object* l_Lean_Elab_Term_hasCDot___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_expandAssert_declRange(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabAnonymousCtor_declRange___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Term_elabParen_declRange___closed__3; +LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__4___boxed(lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__4___closed__4; lean_object* l_Lean_extractMacroScopes(lean_object*); -lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall___spec__1___rarg(lean_object*); static lean_object* l_Lean_Elab_Term_elabLeadingParserMacro___lambda__3___closed__2; size_t lean_usize_add(size_t, size_t); +lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_shouldVisit(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandUnreachable___rarg___closed__2; static lean_object* l_Lean_Elab_Term_elabCoe___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabCoe___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -38,17 +41,19 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabPanic_declRange(lean_ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandSuffices___lambda__1___closed__2; static lean_object* l_Lean_Elab_Term_expandShow___closed__26; +lean_object* l_Lean_instantiateMVars___at___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___spec__7(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabStateRefT_declRange___closed__6; static lean_object* l_Lean_Elab_Term_expandCDot_x3f_go___closed__2; static lean_object* l_Lean_Elab_Term_mkPairs_loop___closed__5; -LEAN_EXPORT lean_object* l_Lean_getRefPosition___at_Lean_Elab_Term_elabPanic___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_expandDbgTrace_declRange(lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabTParserMacroAux___closed__11; +LEAN_EXPORT lean_object* l_Std_PersistentArray_anyMAux___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__14___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__8; LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabCDotFunctionAlias_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__4___closed__1; static lean_object* l_Lean_Elab_Term_expandShow___closed__18; lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabCDotFunctionAlias_x3f___closed__1; @@ -65,6 +70,7 @@ static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__17; static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__5___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabCoe(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_usize_dec_eq(size_t, size_t); static lean_object* l___regBuiltin_Lean_Elab_Term_elabBorrowed_declRange___closed__3; lean_object* lean_array_uget(lean_object*, size_t); @@ -75,8 +81,10 @@ static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__1; static lean_object* l_Lean_Elab_Term_elabPanic___closed__14; static lean_object* l___regBuiltin_Lean_Elab_Term_elabPanic_declRange___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Term_expandAssert___closed__1; +LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Elab_Term_elabAnonymousCtor___spec__5(lean_object*); lean_object* l_Array_append___rarg(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__31; +LEAN_EXPORT uint8_t l_Std_PersistentArray_anyM___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__13(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_getDeclName_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabSubst_declRange___closed__6; LEAN_EXPORT lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_withLocalIdentFor___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -84,7 +92,6 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_expandShow_declRange___closed_ static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__2; static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___closed__1; lean_object* l_Lean_SourceInfo_fromRef(lean_object*); -lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Elab_Term_elabAppArgs_elabAsElim_x3f___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkAppM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabParen(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabPanic___closed__15; @@ -98,10 +105,13 @@ static lean_object* l_Lean_Elab_Term_elabPanic___closed__3; static lean_object* l_Lean_Elab_Term_expandHave___closed__8; LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabSubst___lambda__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabSorry(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandSuffices___closed__3; +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabAnonymousCtor_declRange___closed__6; static lean_object* l_Lean_Elab_Term_expandParen___closed__14; static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___closed__11; +LEAN_EXPORT uint8_t l_Std_PersistentArray_anyMAux___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__14(lean_object*, lean_object*); uint8_t l_Lean_Syntax_structEq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_expandHave___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabLeadingParserMacro___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -117,6 +127,7 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_expandCDot_x LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_expandCDot_x3f_go___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__19; static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__21; +LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__12___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabStateRefT_declRange___closed__2; static lean_object* l_Lean_Elab_Term_elabSubst___closed__14; lean_object* lean_st_ref_get(lean_object*, lean_object*); @@ -134,6 +145,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_elabLeadingParserMacro_declRan LEAN_EXPORT lean_object* l_Lean_Elab_Term_expandHave___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__1___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__13; +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_isEqvAux___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkIdentFrom(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabParen_declRange___closed__6; @@ -151,12 +163,13 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__1___boxed( lean_object* lean_expr_instantiate1(lean_object*, lean_object*); lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabSubst___lambda__6___closed__1; +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg(lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__10___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_hasCDot___spec__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabAnonymousCtor___closed__3; lean_object* lean_array_get_size(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_expandSuffices_declRange___closed__5; -lean_object* l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___rarg(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__23; static lean_object* l_Lean_Elab_Term_elabSubst___closed__5; static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__1; @@ -169,13 +182,16 @@ static lean_object* l_Lean_Elab_Term_mkPairs_loop___closed__2; static lean_object* l_Lean_Elab_Term_elabSubst___closed__7; lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Elab_Term_withAuxDecl___spec__3___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabPanic___closed__6; +uint8_t l_Lean_isPrivateNameFromImportedModule(lean_object*, lean_object*); lean_object* l_Lean_Meta_isTypeCorrect(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabSorry_declRange___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Term_elabStateRefT_declRange___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabSubst___lambda__7___boxed(lean_object**); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabParen(lean_object*); +LEAN_EXPORT lean_object* l_Std_PersistentArray_anyM___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__13___boxed(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabSorry_declRange___closed__2; +static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Term_expandShow_declRange___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_Term_mkPairs_loop___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabSorry(lean_object*); @@ -183,12 +199,14 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_expandDbgTrace_declRange___clo static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabTParserMacroAux___closed__9; static lean_object* l_Lean_Elab_Term_expandAssert___closed__11; static lean_object* l___regBuiltin_Lean_Elab_Term_expandShow_declRange___closed__3; +lean_object* l_Std_mkHashSetImp___rarg(lean_object*); static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__1; static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__39; LEAN_EXPORT lean_object* l_Lean_Elab_Term_hasCDot___boxed(lean_object*); static lean_object* l_Lean_Elab_Term_elabTrailingParserMacro___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Term_expandParen___closed__1; static lean_object* l_Lean_Elab_Term_elabSubst___lambda__6___closed__2; +LEAN_EXPORT lean_object* l_Std_PersistentArray_anyM___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__5___boxed(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_synthesizeSyntheticMVars(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_string_utf8_byte_size(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_expandHave___closed__3; @@ -206,6 +224,7 @@ static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__2; static lean_object* l_Lean_Elab_Term_expandShow___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Term_elabLeadingParserMacro_declRange___closed__3; static lean_object* l_Lean_Elab_Term_expandParen___closed__7; +LEAN_EXPORT lean_object* l_Std_PersistentArray_anyMAux___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__6___boxed(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabStateRefT_declRange___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Term_elabCoe___closed__10; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -218,6 +237,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_expandShow___closed__1; lean_object* lean_nat_add(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabCoe___closed__4; lean_object* l_Lean_Elab_Term_ensureHasType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__8(lean_object*, lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_expandParen_declRange(lean_object*); static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__16; LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabLeadingParserMacro___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*); @@ -230,12 +250,14 @@ static lean_object* l_Lean_Elab_Term_mkPairs_loop___closed__4; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabAnonymousCtor_declRange(lean_object*); static lean_object* l_Lean_Elab_Term_expandCDot_x3f_go___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Term_elabSubst_declRange___closed__1; +static lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___closed__1; static lean_object* l_Lean_Elab_Term_mkPairs_loop___closed__8; static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__7; static lean_object* l___regBuiltin_Lean_Elab_Term_expandAssert_declRange___closed__3; lean_object* l_Lean_Meta_DiscrTree_mkNoindexAnnotation(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabPanic_declRange___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Term_elabNoindex___closed__1; +LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__3(lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabLeadingParserMacro_declRange___closed__5; static lean_object* l_Lean_Elab_Term_expandShow___closed__16; LEAN_EXPORT lean_object* l_Lean_Elab_Term_expandHave___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -243,6 +265,7 @@ static lean_object* l_Lean_Elab_Term_expandCDot_x3f_go___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Term_expandParen___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Term_elabAnonymousCtor_declRange___closed__5; static lean_object* l___regBuiltin_Lean_Elab_Term_elabTrailingParserMacro_declRange___closed__2; +static lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___closed__4; static lean_object* l_Lean_Elab_Term_mkPairs_loop___closed__10; static lean_object* l_Lean_Elab_Term_elabPanic___closed__10; LEAN_EXPORT lean_object* l_Lean_Elab_Term_expandHave___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -266,7 +289,6 @@ lean_object* l_Array_mapMUnsafe_map___at___aux__Init__NotationExtra______macroRu static lean_object* l___regBuiltin_Lean_Elab_Term_elabAnonymousCtor_declRange___closed__3; lean_object* l_Lean_Elab_Term_tryPostponeIfNoneOrMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_expandParen_declRange___closed__6; -lean_object* l_Lean_exprDependsOn___at___private_Lean_Meta_CongrTheorems_0__Lean_Meta_mkCast_go___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabSubst___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__20; @@ -299,6 +321,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_expandShow_declRange___closed_ lean_object* l_Lean_Elab_expandMacroImpl_x3f(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabCoe_declRange___closed__3; lean_object* lean_st_ref_take(lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__9(lean_object*, lean_object*, size_t, size_t); static lean_object* l___regBuiltin_Lean_Elab_Term_expandHave___closed__1; static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__6; static lean_object* l___regBuiltin_Lean_Elab_Term_elabLeadingParserMacro_declRange___closed__1; @@ -311,10 +334,12 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabCDotFunctionAlias_x3f___lambda__1_ LEAN_EXPORT lean_object* l_Lean_Elab_Term_expandDbgTrace(lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_expandHave___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Term_elabAnonymousCtor_declRange___closed__7; +LEAN_EXPORT lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabTrailingParserMacro(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Term_expandShow_declRange___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Term_expandDbgTrace_declRange___closed__6; +static lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___closed__2; LEAN_EXPORT lean_object* l_panic___at_Lean_Elab_Term_mkPairs_loop___spec__1(lean_object*); static lean_object* l_Lean_Elab_Term_mkPairs_loop___closed__1; LEAN_EXPORT lean_object* l_Array_isEqvAux___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -324,6 +349,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_elabNoindex___closed__5; static lean_object* l___regBuiltin_Lean_Elab_Term_expandAssert_declRange___closed__1; static lean_object* l_Lean_Elab_Term_elabCoe___closed__2; static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__5; +lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_expandCDot_x3f_go(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_expandAssert_declRange___closed__4; static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabTParserMacroAux___closed__10; @@ -333,12 +359,12 @@ lean_object* l_Lean_Elab_Term_withMacroExpansion___rarg(lean_object*, lean_objec LEAN_EXPORT lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_expandUnreachable_declRange(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabStateRefT___closed__1; -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__18; static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__15; static lean_object* l___regBuiltin_Lean_Elab_Term_elabLeadingParserMacro_declRange___closed__4; lean_object* l_Lean_Elab_Term_elabTerm(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_expandUnreachable_declRange___closed__1; +static lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_Term_expandUnreachable(lean_object*); lean_object* l_Lean_Elab_Term_mkCoe(lean_object*, lean_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_mkInstMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -347,20 +373,22 @@ lean_object* l_Lean_replaceRef(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__43; lean_object* l_Lean_ResolveName_resolveNamespace(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandShow___closed__3; +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___boxed(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, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__5; lean_object* l_Lean_Expr_fvarId_x21(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabCoe___closed__9; static lean_object* l_Lean_Elab_Term_expandHave___lambda__1___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Term_elabParen_declRange___closed__7; -static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__3; static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Term_expandHave___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__4(lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_expandDbgTrace_declRange___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_expandSuffices(lean_object*); lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabParen___closed__2; +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__17(lean_object*, lean_object*, size_t, size_t); static lean_object* l_Lean_Elab_Term_mkPairs_loop___closed__7; LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabNoindex(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabPanic___closed__5; @@ -376,7 +404,7 @@ LEAN_EXPORT lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_ex static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Term_elabSorry_declRange___closed__7; static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___closed__8; -static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__5___rarg___closed__2; +static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__4___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabAnonymousCtor(lean_object*); static lean_object* l_Lean_Elab_Term_expandParen___closed__13; lean_object* l_Nat_repr(lean_object*); @@ -385,6 +413,7 @@ static lean_object* l_Lean_Elab_Term_elabPanic___closed__7; static lean_object* l_Lean_Elab_Term_expandShow___closed__11; uint8_t l_Lean_LocalDecl_binderInfo(lean_object*); static lean_object* l_Lean_Elab_Term_expandCDot_x3f___closed__3; +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__7(lean_object*, lean_object*, size_t, size_t); static lean_object* l___regBuiltin_Lean_Elab_Term_elabNoindex___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Term_expandHave_declRange___closed__7; static lean_object* l___regBuiltin_Lean_Elab_Term_elabCoe___closed__11; @@ -401,25 +430,27 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_elabCoe_declRange___closed__1; static lean_object* l_Lean_Elab_Term_expandCDot_x3f___closed__6; static lean_object* l___regBuiltin_Lean_Elab_Term_expandDbgTrace_declRange___closed__2; lean_object* l_Lean_Expr_sort___override(lean_object*); +static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__4; static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__14; LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabParen___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__28; -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___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* l_Array_back___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabSubst___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__22; static lean_object* l_Lean_Elab_Term_elabSorry___closed__2; lean_object* l_Lean_addBuiltinDeclarationRanges(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandCDot_x3f_go___closed__4; +static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__1; uint8_t l_Lean_Environment_contains(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___closed__9; +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__16; lean_object* l_Lean_mkArrow(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_expandShow(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__21; static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__38; -static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__5___rarg___closed__1; static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___closed__3; lean_object* l_Lean_Syntax_mkStrLit(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_mkPairs_loop___closed__11; @@ -434,6 +465,7 @@ static lean_object* l_Lean_Elab_Term_elabLeadingParserMacro___lambda__1___closed static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__16; static lean_object* l___regBuiltin_Lean_Elab_Term_elabSorry_declRange___closed__3; static lean_object* l_Lean_Elab_Term_elabTrailingParserMacro___lambda__1___closed__1; +LEAN_EXPORT lean_object* l_Lean_getRefPos___at_Lean_Elab_Term_elabPanic___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___closed__15; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_expandCDot_x3f___spec__2(lean_object*, size_t, size_t, lean_object*); static lean_object* l_Lean_Elab_Term_expandCDot_x3f___closed__2; @@ -456,6 +488,7 @@ static lean_object* l_Lean_Elab_Term_elabSubst___closed__12; static lean_object* l___regBuiltin_Lean_Elab_Term_elabPanic___closed__2; lean_object* l_Lean_mkSepArray(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__8(lean_object*, size_t, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandAssert___closed__13; static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__46; static lean_object* l___regBuiltin_Lean_Elab_Term_expandUnreachable_declRange___closed__6; @@ -463,10 +496,12 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_elabPanic_declRange___closed__ static lean_object* l_Lean_Elab_Term_elabSubst___lambda__4___closed__2; static lean_object* l_Lean_Elab_Term_expandSuffices___closed__1; static lean_object* l_Lean_Elab_Term_elabTrailingParserMacro___lambda__1___closed__2; +LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__3___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandCDot_x3f___closed__5; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabCoe_declRange___closed__4; +static lean_object* l_Lean_exprDependsOn___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__1___closed__1; static lean_object* l_Lean_Elab_Term_elabPanic___closed__11; static lean_object* l_Lean_Elab_Term_elabSubst___lambda__4___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabBorrowed(lean_object*); @@ -478,9 +513,11 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term size_t lean_usize_of_nat(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_expandHave___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabSorry___closed__1; +LEAN_EXPORT uint8_t l_Std_PersistentArray_anyM___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__5(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_expandParen_declRange___closed__7; static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___closed__10; static lean_object* l___regBuiltin_Lean_Elab_Term_expandAssert_declRange___closed__2; +LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__12(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__6(lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabSubst___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__22; @@ -490,6 +527,7 @@ static lean_object* l_Lean_Elab_Term_expandAssert___closed__6; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabTrailingParserMacro(lean_object*); static lean_object* l_Lean_Elab_Term_elabStateRefT___closed__2; static lean_object* l_Lean_Elab_Term_expandShow___closed__6; +lean_object* l_Lean_LocalDecl_fvarId(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabNoindex_declRange___closed__7; static lean_object* l_Lean_Elab_Term_expandParen___closed__12; static lean_object* l_Lean_Elab_Term_expandHave___lambda__3___closed__1; @@ -515,6 +553,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_expandShow_declRange___closed_ static lean_object* l___regBuiltin_Lean_Elab_Term_expandHave_declRange___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_Term_expandHave(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandShow___closed__23; +lean_object* l_Lean_Syntax_getPos_x3f(lean_object*, uint8_t); static lean_object* l___regBuiltin_Lean_Elab_Term_elabNoindex_declRange___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Term_elabTrailingParserMacro___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_expandSuffices_declRange(lean_object*); @@ -524,13 +563,17 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabSubst___lambda__7(lean_object*, le lean_object* l_String_intercalate(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabLeadingParserMacro___lambda__1___closed__2; static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__3; +LEAN_EXPORT lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandParen___closed__3; +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__15(lean_object*, lean_object*, size_t, size_t); static lean_object* l___regBuiltin_Lean_Elab_Term_elabSubst___closed__3; static lean_object* l_Lean_Elab_Term_elabSorry___closed__1; lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); +lean_object* l_Lean_getExprMVarAssignment_x3f___at___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabTrailingParserMacro___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandShow___closed__13; LEAN_EXPORT lean_object* l_Lean_Elab_Term_expandParen(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__17___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___closed__12; lean_object* l_Lean_Elab_Term_tryPostponeIfHasMVars_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabTParserMacroAux___closed__7; @@ -539,21 +582,22 @@ extern lean_object* l_Lean_Elab_macroAttribute; static lean_object* l_Lean_Elab_Term_expandHave___closed__7; static lean_object* l___regBuiltin_Lean_Elab_Term_elabCoe___closed__6; lean_object* lean_environment_main_module(lean_object*); +uint8_t lean_expr_eqv(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_expandSuffices_declRange___closed__6; static lean_object* l_Lean_Elab_Term_elabStateRefT___lambda__1___closed__4; static lean_object* l_Lean_Elab_Term_elabSubst___closed__11; static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__5; static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__28; static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__14; +uint8_t l_Lean_Expr_isMVar(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_expandHave_declRange___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Term_elabPanic_declRange___closed__3; uint8_t lean_nat_dec_le(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabTrailingParserMacro_declRange___closed__7; static lean_object* l_Lean_Elab_Term_elabSorry___closed__8; static lean_object* l___regBuiltin_Lean_Elab_Term_elabPanic_declRange___closed__5; -static lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___closed__3; uint8_t l_Lean_Expr_hasMVar(lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__2___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabSorry_declRange___closed__6; static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabTParserMacroAux___closed__5; static lean_object* l___regBuiltin_Lean_Elab_Term_elabStateRefT___closed__5; @@ -566,6 +610,8 @@ lean_object* l_Lean_Syntax_getKind(lean_object*); lean_object* l_Lean_quoteNameMk(lean_object*); static lean_object* l_Lean_Elab_Term_elabLeadingParserMacro___lambda__1___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Term_expandHave_declRange___closed__6; +LEAN_EXPORT uint8_t l_Std_PersistentArray_anyMAux___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__6(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_getRefPos___at_Lean_Elab_Term_elabPanic___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabCoe___closed__2; static lean_object* l_Lean_Elab_Term_expandShow___closed__20; static lean_object* l_Lean_Elab_Term_expandParen___closed__15; @@ -577,13 +623,12 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_expandUnreachable___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabStateRefT___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_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandShow___closed__10; +LEAN_EXPORT lean_object* l_Lean_exprDependsOn___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandParen___closed__5; lean_object* l_ReaderT_pure___at_Lean_Elab_liftMacroM___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_withSynthesizeImp___rarg(lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__37; -static lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabSubst(lean_object*); -LEAN_EXPORT lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabLeadingParserMacro___lambda__2___closed__1; lean_object* l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabAnonymousCtor___closed__2; @@ -600,13 +645,13 @@ static lean_object* l_Lean_Elab_Term_elabStateRefT___lambda__1___closed__1; static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__42; lean_object* l_Lean_Elab_Term_adaptExpander(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandShow___closed__8; -static lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___closed__2; static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__12; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_expandCDot_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_mkNameLit(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandParen___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg___closed__1; static lean_object* l_Lean_Elab_Term_expandShow___closed__9; static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__17; static lean_object* l_Lean_Elab_Term_expandAssert___closed__5; @@ -614,24 +659,26 @@ lean_object* l_Lean_Elab_Term_elabType(lean_object*, lean_object*, lean_object*, lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabSubst___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isFVar(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Elab_Term_elabAnonymousCtor___spec__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_expandHave___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__16(lean_object*, lean_object*, size_t, size_t); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandHave___closed__5; static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__11; lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabPanic___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Term_expandUnreachable___rarg(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_expandSuffices_declRange___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Term_elabParen_declRange___closed__2; lean_object* l_Lean_Expr_app___override(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__2(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___closed__13; static lean_object* l_Lean_Elab_Term_elabPanic___closed__8; uint8_t l_Lean_Syntax_isNone(lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabStateRefT_declRange___closed__7; lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Term_elabNoindex_declRange___closed__5; lean_object* l_Lean_expandMacros(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandParen___closed__1; @@ -649,27 +696,30 @@ static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elab static lean_object* l_Lean_Elab_Term_elabSubst___closed__4; uint8_t l_Lean_Expr_hasLooseBVars(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_expandHave_declRange___closed__4; -static lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Term_elabLeadingParserMacro___closed__3; static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabTrailingParserMacro___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabSubst___closed__9; static lean_object* l___regBuiltin_Lean_Elab_Term_elabCoe___closed__5; +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabPanic___closed__9; static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__8; static lean_object* l_Lean_Elab_Term_expandHave___lambda__2___closed__1; static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__26; static lean_object* l_Lean_Elab_Term_elabPanic___closed__1; static lean_object* l_Lean_Elab_Term_expandShow___closed__4; +LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__11___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_expandUnreachable___boxed(lean_object*); uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_getRefPosition___at_Lean_Elab_Term_elabPanic___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_getRefPosition___at_Lean_Elab_Term_elabPanic___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandParen___closed__8; static lean_object* l___regBuiltin_Lean_Elab_Term_elabParen___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Term_expandSuffices_declRange___closed__1; static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Term_elabParen_declRange___closed__4; static lean_object* l_Lean_Elab_Term_elabSorry___closed__9; +LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Elab_Term_elabAnonymousCtor___spec__5___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabBorrowed___closed__1; static lean_object* l_Lean_Elab_Term_elabSubst___lambda__8___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -679,6 +729,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_mkPairs___boxed(lean_object*, lean_obj static lean_object* l___regBuiltin_Lean_Elab_Term_elabStateRefT_declRange___closed__3; LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabTrailingParserMacro___lambda__3___closed__1; +LEAN_EXPORT lean_object* l_Lean_getRefPos___at_Lean_Elab_Term_elabPanic___spec__2___rarg(lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_expandSuffices_declRange___closed__2; static lean_object* l_Lean_Elab_Term_expandParen___closed__4; static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__44; @@ -689,6 +740,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_elabTrailingParserMacro___clos static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__8; static lean_object* l_Lean_Elab_Term_elabSubst___lambda__4___closed__3; static lean_object* l_Lean_Elab_Term_expandParen___closed__9; +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_mkPairs(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___closed__5; static lean_object* l___regBuiltin_Lean_Elab_Term_elabStateRefT_declRange___closed__5; @@ -698,7 +750,7 @@ static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___closed__14; LEAN_EXPORT lean_object* l_Lean_Elab_Term_mkPairs_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandUnreachable___rarg___closed__1; static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__6; -LEAN_EXPORT lean_object* l_Lean_getRefPosition___at_Lean_Elab_Term_elabPanic___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_getRefPosition___at_Lean_Elab_Term_elabPanic___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabPanic___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_Term_expandSuffices(lean_object*, lean_object*, lean_object*); @@ -717,9 +769,11 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabTrailingParserMacro___lambda__2(le LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabSubst___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabSorry___closed__4; lean_object* l_Lean_Expr_getAppFn(lean_object*); +LEAN_EXPORT lean_object* l_Lean_exprDependsOn___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__27; static lean_object* l_Lean_Elab_Term_elabSubst___closed__8; static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__13; +lean_object* l_Lean_MetavarContext_getDecl(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabCoe_declRange___closed__7; static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___closed__7; static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___closed__16; @@ -729,16 +783,19 @@ static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__7; static lean_object* l_Lean_Elab_Term_expandAssert___closed__9; static lean_object* l___regBuiltin_Lean_Elab_Term_elabBorrowed___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_withLocalIdentFor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__4___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Term_expandSuffices_declRange___closed__3; static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__23; static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__11; static lean_object* l___regBuiltin_Lean_Elab_Term_expandSuffices___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Term_elabTrailingParserMacro___closed__2; static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabTParserMacroAux___closed__1; +static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__2; static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__47; static lean_object* l___regBuiltin_Lean_Elab_Term_expandUnreachable_declRange___closed__5; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_expandCDot_x3f___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabCDotFunctionAlias_x3f_expandCDotArg_x3f(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabSorry___closed__6; static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__13; LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabBorrowed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -765,6 +822,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_expandUnreachable_declRange___ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_expandDbgTrace(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabSubst_declRange___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_Lean_Expr_hasFVar(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabCoe_declRange(lean_object*); static lean_object* l_Lean_Elab_Term_elabTrailingParserMacro___lambda__3___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Term_expandUnreachable___closed__4; @@ -781,12 +839,9 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_expandShow_declRange(lean LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabStateRefT(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabNoindex_declRange(lean_object*); static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabTParserMacroAux___closed__4; -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabNoindex_declRange___closed__4; LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_hasCDot___spec__1(lean_object*, size_t, size_t); -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_expandHave_declRange___closed__1; -LEAN_EXPORT lean_object* l_Lean_getRefPosition___at_Lean_Elab_Term_elabPanic___spec__1___rarg(lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabSorry___closed__5; static lean_object* l_Lean_Elab_Term_expandShow___closed__14; static lean_object* l_Lean_Elab_Term_expandAssert___closed__1; @@ -798,9 +853,11 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_elabAnonymousCtor___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Term_elabAnonymousCtor_declRange___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__1___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_expandUnreachable___rarg___closed__4; +static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg___closed__2; static lean_object* l_Lean_Elab_Term_elabPanic___closed__17; static lean_object* l_Lean_Elab_Term_expandShow___closed__22; static lean_object* l___regBuiltin_Lean_Elab_Term_expandUnreachable___closed__2; +LEAN_EXPORT lean_object* l_Lean_getRefPos___at_Lean_Elab_Term_elabPanic___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__34; lean_object* l_Lean_Syntax_reprint(lean_object*); static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__41; @@ -817,7 +874,6 @@ static lean_object* l_Lean_Elab_Term_expandAssert___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabSubst___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_expandCDot_x3f(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__48; -static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__1; lean_object* l_Lean_Elab_getBetterRef(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_expandUnreachable___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabCoe(lean_object*); @@ -829,8 +885,8 @@ static lean_object* l_Lean_Elab_Term_elabSubst___closed__13; lean_object* l_Lean_Meta_getFVarLocalDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabSorry___closed__3; static lean_object* l_Lean_Elab_Term_expandAssert___closed__4; -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabSubst___lambda__4___closed__4; +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___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*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabStateRefT___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Term_elabParen_declRange___closed__1; static lean_object* l_Lean_Elab_Term_elabSubst___closed__1; @@ -1235,7 +1291,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabCoe_declRange___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(16u); +x_1 = lean_unsigned_to_nat(14u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1247,7 +1303,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabCoe_declRange___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(27u); +x_1 = lean_unsigned_to_nat(25u); x_2 = lean_unsigned_to_nat(75u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1275,7 +1331,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabCoe_declRange___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(16u); +x_1 = lean_unsigned_to_nat(14u); x_2 = lean_unsigned_to_nat(35u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1287,7 +1343,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabCoe_declRange___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(16u); +x_1 = lean_unsigned_to_nat(14u); x_2 = lean_unsigned_to_nat(42u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1333,7 +1389,46 @@ x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___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) { +static lean_object* _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_Elab_unsupportedSyntaxExceptionId; +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg___closed__1; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg___closed__2; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___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; +x_7 = lean_alloc_closure((void*)(l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg), 1, 0); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; @@ -1381,7 +1476,7 @@ return x_22; } } } -static lean_object* _init_l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___closed__1() { +static lean_object* _init_l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___closed__1() { _start: { lean_object* x_1; @@ -1389,16 +1484,16 @@ x_1 = lean_mk_string_from_bytes("'", 1); return x_1; } } -static lean_object* _init_l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___closed__2() { +static lean_object* _init_l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___closed__1; +x_1 = l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___closed__3() { +static lean_object* _init_l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___closed__3() { _start: { lean_object* x_1; @@ -1406,16 +1501,16 @@ x_1 = lean_mk_string_from_bytes("' is not a constructor", 22); return x_1; } } -static lean_object* _init_l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___closed__4() { +static lean_object* _init_l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___closed__3; +x_1 = l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___closed__3; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___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; @@ -1470,15 +1565,15 @@ x_18 = lean_box(0); x_19 = l_Lean_Expr_const___override(x_1, x_18); x_20 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_20, 0, x_19); -x_21 = l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___closed__2; +x_21 = l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___closed__2; x_22 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_22, 0, x_21); lean_ctor_set(x_22, 1, x_20); -x_23 = l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___closed__4; +x_23 = l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___closed__4; x_24 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_24, 0, x_22); lean_ctor_set(x_24, 1, x_23); -x_25 = l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___spec__2(x_24, x_2, x_3, x_4, x_5, x_6, x_7, x_17); +x_25 = l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___spec__3(x_24, x_2, x_3, x_4, x_5, x_6, x_7, x_17); return x_25; } } @@ -1508,7 +1603,7 @@ return x_29; } } } -static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__1() { +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__1() { _start: { lean_object* x_1; @@ -1516,7 +1611,7 @@ x_1 = lean_mk_string_from_bytes("Init.Util", 9); return x_1; } } -static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__2() { +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__2() { _start: { lean_object* x_1; @@ -1524,7 +1619,7 @@ x_1 = lean_mk_string_from_bytes("getElem!", 8); return x_1; } } -static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__3() { +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__3() { _start: { lean_object* x_1; @@ -1532,20 +1627,20 @@ x_1 = lean_mk_string_from_bytes("index out of bounds", 19); return x_1; } } -static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__4() { +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__1; -x_2 = l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__2; +x_1 = l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__1; +x_2 = l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__2; x_3 = lean_unsigned_to_nat(77u); x_4 = lean_unsigned_to_nat(36u); -x_5 = l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__3; +x_5 = l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); return x_6; } } -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___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_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { uint8_t x_15; @@ -1565,7 +1660,7 @@ x_20 = lean_nat_dec_lt(x_4, x_2); if (x_20 == 0) { lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_21 = l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__4; +x_21 = l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__4; x_22 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_21); lean_inc(x_10); x_23 = l_Lean_Meta_getFVarLocalDecl(x_22, x_10, x_11, x_12, x_13, x_14); @@ -1725,7 +1820,78 @@ return x_53; } } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___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_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Elab_Term_elabAnonymousCtor___spec__5___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; +x_11 = lean_apply_9(x_1, x_4, x_5, x_2, x_3, x_6, x_7, x_8, x_9, x_10); +return x_11; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Elab_Term_elabAnonymousCtor___spec__5___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; lean_object* x_11; +x_10 = lean_alloc_closure((void*)(l_Lean_Meta_forallTelescopeReducing___at_Lean_Elab_Term_elabAnonymousCtor___spec__5___rarg___lambda__1), 10, 3); +lean_closure_set(x_10, 0, x_2); +lean_closure_set(x_10, 1, x_3); +lean_closure_set(x_10, 2, x_4); +x_11 = l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingImp___rarg(x_1, x_10, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_11) == 0) +{ +uint8_t x_12; +x_12 = !lean_is_exclusive(x_11); +if (x_12 == 0) +{ +return x_11; +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_11, 0); +x_14 = lean_ctor_get(x_11, 1); +lean_inc(x_14); +lean_inc(x_13); +lean_dec(x_11); +x_15 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_15, 0, x_13); +lean_ctor_set(x_15, 1, x_14); +return x_15; +} +} +else +{ +uint8_t x_16; +x_16 = !lean_is_exclusive(x_11); +if (x_16 == 0) +{ +return x_11; +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_ctor_get(x_11, 0); +x_18 = lean_ctor_get(x_11, 1); +lean_inc(x_18); +lean_inc(x_17); +lean_dec(x_11); +x_19 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_19, 0, x_17); +lean_ctor_set(x_19, 1, x_18); +return x_19; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Elab_Term_elabAnonymousCtor___spec__5(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_forallTelescopeReducing___at_Lean_Elab_Term_elabAnonymousCtor___spec__5___rarg), 9, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___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) { _start: { lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; @@ -1784,7 +1950,7 @@ x_12 = lean_array_get_size(x_2); x_13 = lean_unsigned_to_nat(1u); x_14 = lean_unsigned_to_nat(0u); lean_inc(x_12); -x_15 = l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3(x_2, x_12, x_12, x_11, x_12, x_13, x_14, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_15 = l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4(x_2, x_12, x_12, x_11, x_12, x_13, x_14, x_4, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec(x_12); if (lean_obj_tag(x_15) == 0) { @@ -2121,7 +2287,7 @@ x_75 = l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__16; x_76 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_76, 0, x_74); lean_ctor_set(x_76, 1, x_75); -x_77 = l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___spec__4(x_76, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +x_77 = l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___spec__6(x_76, x_9, x_10, x_11, x_12, x_13, x_14, x_15); lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); @@ -2188,6 +2354,229 @@ return x_98; } } } +static lean_object* _init_l_Lean_Elab_Term_elabAnonymousCtor___lambda__4___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("' has #", 7); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_Term_elabAnonymousCtor___lambda__4___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_Term_elabAnonymousCtor___lambda__4___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Elab_Term_elabAnonymousCtor___lambda__4___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes(" explicit fields, but only #", 28); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_Term_elabAnonymousCtor___lambda__4___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_Term_elabAnonymousCtor___lambda__4___closed__3; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; +lean_dec(x_7); +lean_inc(x_8); +lean_inc(x_1); +x_15 = l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2(x_1, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_15) == 0) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_16 = lean_ctor_get(x_15, 0); +lean_inc(x_16); +x_17 = lean_ctor_get(x_15, 1); +lean_inc(x_17); +lean_dec(x_15); +x_18 = lean_ctor_get(x_16, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_18, 2); +lean_inc(x_19); +lean_dec(x_18); +x_20 = lean_alloc_closure((void*)(l_Lean_Elab_Term_elabAnonymousCtor___lambda__1___boxed), 10, 1); +lean_closure_set(x_20, 0, x_16); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +x_21 = l_Lean_Meta_forallTelescopeReducing___at_Lean_Elab_Term_elabAnonymousCtor___spec__5___rarg(x_19, x_20, x_8, x_9, x_10, x_11, x_12, x_13, x_17); +if (lean_obj_tag(x_21) == 0) +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; +x_22 = lean_ctor_get(x_21, 0); +lean_inc(x_22); +x_23 = lean_ctor_get(x_21, 1); +lean_inc(x_23); +lean_dec(x_21); +x_24 = l_Lean_Syntax_TSepArray_getElems___rarg(x_2); +lean_dec(x_2); +x_25 = lean_array_get_size(x_24); +x_26 = lean_nat_dec_lt(x_25, x_22); +if (x_26 == 0) +{ +lean_object* x_27; lean_object* x_28; +lean_dec(x_25); +x_27 = lean_box(0); +x_28 = l_Lean_Elab_Term_elabAnonymousCtor___lambda__3(x_3, x_4, x_24, x_22, x_5, x_6, x_1, x_27, x_8, x_9, x_10, x_11, x_12, x_13, x_23); +return x_28; +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_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; uint8_t x_47; +lean_dec(x_24); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_29 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_29, 0, x_1); +x_30 = l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__12; +x_31 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_31, 0, x_30); +lean_ctor_set(x_31, 1, x_29); +x_32 = l_Lean_Elab_Term_elabAnonymousCtor___lambda__4___closed__2; +x_33 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_33, 0, x_31); +lean_ctor_set(x_33, 1, x_32); +x_34 = l_Nat_repr(x_22); +x_35 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_35, 0, x_34); +x_36 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_36, 0, x_35); +x_37 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_37, 0, x_33); +lean_ctor_set(x_37, 1, x_36); +x_38 = l_Lean_Elab_Term_elabAnonymousCtor___lambda__4___closed__4; +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_Nat_repr(x_25); +x_41 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_41, 0, x_40); +x_42 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_42, 0, x_41); +x_43 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_43, 0, x_39); +lean_ctor_set(x_43, 1, x_42); +x_44 = l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__16; +x_45 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_45, 0, x_43); +lean_ctor_set(x_45, 1, x_44); +x_46 = l_Lean_throwError___at_Lean_Elab_Term_synthesizeInstMVarCore___spec__3(x_45, x_8, x_9, x_10, x_11, x_12, x_13, x_23); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +x_47 = !lean_is_exclusive(x_46); +if (x_47 == 0) +{ +return x_46; +} +else +{ +lean_object* x_48; lean_object* x_49; lean_object* x_50; +x_48 = lean_ctor_get(x_46, 0); +x_49 = lean_ctor_get(x_46, 1); +lean_inc(x_49); +lean_inc(x_48); +lean_dec(x_46); +x_50 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_50, 0, x_48); +lean_ctor_set(x_50, 1, x_49); +return x_50; +} +} +} +else +{ +uint8_t x_51; +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_51 = !lean_is_exclusive(x_21); +if (x_51 == 0) +{ +return x_21; +} +else +{ +lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_52 = lean_ctor_get(x_21, 0); +x_53 = lean_ctor_get(x_21, 1); +lean_inc(x_53); +lean_inc(x_52); +lean_dec(x_21); +x_54 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_54, 0, x_52); +lean_ctor_set(x_54, 1, x_53); +return x_54; +} +} +} +else +{ +uint8_t x_55; +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_55 = !lean_is_exclusive(x_15); +if (x_55 == 0) +{ +return x_15; +} +else +{ +lean_object* x_56; lean_object* x_57; lean_object* x_58; +x_56 = lean_ctor_get(x_15, 0); +x_57 = lean_ctor_get(x_15, 1); +lean_inc(x_57); +lean_inc(x_56); +lean_dec(x_15); +x_58 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_58, 0, x_56); +lean_ctor_set(x_58, 1, x_57); +return x_58; +} +} +} +} static lean_object* _init_l_Lean_Elab_Term_elabAnonymousCtor___closed__1() { _start: { @@ -2306,7 +2695,7 @@ static lean_object* _init_l_Lean_Elab_Term_elabAnonymousCtor___closed__14() { _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("' has #", 7); +x_1 = lean_mk_string_from_bytes("invalid ⟨...⟩ notation, constructor for `", 45); return x_1; } } @@ -2323,7 +2712,7 @@ static lean_object* _init_l_Lean_Elab_Term_elabAnonymousCtor___closed__16() { _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes(" explicit fields, but only #", 28); +x_1 = lean_mk_string_from_bytes("` is marked as private", 22); return x_1; } } @@ -2354,7 +2743,7 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall___spec__1___rarg(x_9); +x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg(x_9); return x_12; } else @@ -2465,10 +2854,10 @@ lean_inc(x_39); lean_dec(x_38); x_40 = lean_ctor_get(x_39, 4); lean_inc(x_40); -lean_dec(x_39); if (lean_obj_tag(x_40) == 0) { lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; +lean_dec(x_39); lean_dec(x_15); lean_dec(x_2); lean_dec(x_1); @@ -2496,17 +2885,12 @@ x_47 = lean_ctor_get(x_40, 1); lean_inc(x_47); if (lean_obj_tag(x_47) == 0) { -lean_object* x_48; lean_object* x_49; +lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; uint8_t x_53; lean_dec(x_23); x_48 = lean_ctor_get(x_40, 0); lean_inc(x_48); lean_dec(x_40); -lean_inc(x_3); -lean_inc(x_48); -x_49 = l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1(x_48, x_3, x_4, x_5, x_6, x_7, x_8, x_29); -if (lean_obj_tag(x_49) == 0) -{ -lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_49 = lean_st_ref_get(x_8, x_29); x_50 = lean_ctor_get(x_49, 0); lean_inc(x_50); x_51 = lean_ctor_get(x_49, 1); @@ -2514,252 +2898,149 @@ lean_inc(x_51); lean_dec(x_49); x_52 = lean_ctor_get(x_50, 0); lean_inc(x_52); -x_53 = lean_ctor_get(x_52, 2); -lean_inc(x_53); -lean_dec(x_52); -x_54 = lean_alloc_closure((void*)(l_Lean_Elab_Term_elabAnonymousCtor___lambda__1___boxed), 10, 1); -lean_closure_set(x_54, 0, x_50); -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_55 = l_Lean_Meta_forallTelescopeReducing___at_Lean_Elab_Term_elabAppArgs_elabAsElim_x3f___spec__1___rarg(x_53, x_54, x_3, x_4, x_5, x_6, x_7, x_8, x_51); -if (lean_obj_tag(x_55) == 0) +lean_dec(x_50); +lean_inc(x_48); +x_53 = l_Lean_isPrivateNameFromImportedModule(x_52, x_48); +if (x_53 == 0) { -lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60; -x_56 = lean_ctor_get(x_55, 0); -lean_inc(x_56); -x_57 = lean_ctor_get(x_55, 1); -lean_inc(x_57); -lean_dec(x_55); -x_58 = l_Lean_Syntax_TSepArray_getElems___rarg(x_15); -lean_dec(x_15); -x_59 = lean_array_get_size(x_58); -x_60 = lean_nat_dec_lt(x_59, x_56); -if (x_60 == 0) -{ -lean_object* x_61; lean_object* x_62; lean_object* x_63; -lean_dec(x_59); -x_61 = l_Lean_Elab_Term_elabAnonymousCtor___closed__3; -x_62 = lean_box(0); -x_63 = l_Lean_Elab_Term_elabAnonymousCtor___lambda__3(x_2, x_1, x_58, x_56, x_10, x_61, x_48, x_62, x_3, x_4, x_5, x_6, x_7, x_8, x_57); -return x_63; +lean_object* x_54; lean_object* x_55; lean_object* x_56; +lean_dec(x_39); +x_54 = l_Lean_Elab_Term_elabAnonymousCtor___closed__3; +x_55 = lean_box(0); +x_56 = l_Lean_Elab_Term_elabAnonymousCtor___lambda__4(x_48, x_15, x_2, x_1, x_10, x_54, x_55, x_3, x_4, x_5, x_6, x_7, x_8, x_51); +return x_56; } else { -lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; uint8_t x_82; -lean_dec(x_58); +lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; uint8_t x_65; +lean_dec(x_48); +lean_dec(x_15); lean_dec(x_2); lean_dec(x_1); -x_64 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_64, 0, x_48); -x_65 = l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__12; -x_66 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_66, 0, x_65); -lean_ctor_set(x_66, 1, x_64); -x_67 = l_Lean_Elab_Term_elabAnonymousCtor___closed__15; -x_68 = lean_alloc_ctor(10, 2, 0); +x_57 = lean_ctor_get(x_39, 0); +lean_inc(x_57); +lean_dec(x_39); +x_58 = lean_ctor_get(x_57, 0); +lean_inc(x_58); +lean_dec(x_57); +x_59 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_59, 0, x_58); +x_60 = l_Lean_Elab_Term_elabAnonymousCtor___closed__15; +x_61 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_61, 0, x_60); +lean_ctor_set(x_61, 1, x_59); +x_62 = l_Lean_Elab_Term_elabAnonymousCtor___closed__17; +x_63 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_63, 0, x_61); +lean_ctor_set(x_63, 1, x_62); +x_64 = l_Lean_throwError___at_Lean_Elab_Term_synthesizeInstMVarCore___spec__3(x_63, x_3, x_4, x_5, x_6, x_7, x_8, x_51); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +x_65 = !lean_is_exclusive(x_64); +if (x_65 == 0) +{ +return x_64; +} +else +{ +lean_object* x_66; lean_object* x_67; lean_object* x_68; +x_66 = lean_ctor_get(x_64, 0); +x_67 = lean_ctor_get(x_64, 1); +lean_inc(x_67); +lean_inc(x_66); +lean_dec(x_64); +x_68 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_68, 0, x_66); lean_ctor_set(x_68, 1, x_67); -x_69 = l_Nat_repr(x_56); -x_70 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_70, 0, x_69); -x_71 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_71, 0, x_70); -x_72 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_72, 0, x_68); -lean_ctor_set(x_72, 1, x_71); -x_73 = l_Lean_Elab_Term_elabAnonymousCtor___closed__17; -x_74 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_74, 0, x_72); -lean_ctor_set(x_74, 1, x_73); -x_75 = l_Nat_repr(x_59); -x_76 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_76, 0, x_75); -x_77 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_77, 0, x_76); -x_78 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_78, 0, x_74); -lean_ctor_set(x_78, 1, x_77); -x_79 = l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__16; -x_80 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_80, 0, x_78); -lean_ctor_set(x_80, 1, x_79); -x_81 = l_Lean_throwError___at_Lean_Elab_Term_synthesizeInstMVarCore___spec__3(x_80, x_3, x_4, x_5, x_6, x_7, x_8, x_57); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -x_82 = !lean_is_exclusive(x_81); -if (x_82 == 0) -{ -return x_81; -} -else -{ -lean_object* x_83; lean_object* x_84; lean_object* x_85; -x_83 = lean_ctor_get(x_81, 0); -x_84 = lean_ctor_get(x_81, 1); -lean_inc(x_84); -lean_inc(x_83); -lean_dec(x_81); -x_85 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_85, 0, x_83); -lean_ctor_set(x_85, 1, x_84); -return x_85; +return x_68; } } } else { -uint8_t x_86; -lean_dec(x_48); -lean_dec(x_15); -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_86 = !lean_is_exclusive(x_55); -if (x_86 == 0) -{ -return x_55; -} -else -{ -lean_object* x_87; lean_object* x_88; lean_object* x_89; -x_87 = lean_ctor_get(x_55, 0); -x_88 = lean_ctor_get(x_55, 1); -lean_inc(x_88); -lean_inc(x_87); -lean_dec(x_55); -x_89 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_89, 0, x_87); -lean_ctor_set(x_89, 1, x_88); -return x_89; -} -} -} -else -{ -uint8_t x_90; -lean_dec(x_48); -lean_dec(x_15); -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_90 = !lean_is_exclusive(x_49); -if (x_90 == 0) -{ -return x_49; -} -else -{ -lean_object* x_91; lean_object* x_92; lean_object* x_93; -x_91 = lean_ctor_get(x_49, 0); -x_92 = lean_ctor_get(x_49, 1); -lean_inc(x_92); -lean_inc(x_91); -lean_dec(x_49); -x_93 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_93, 0, x_91); -lean_ctor_set(x_93, 1, x_92); -return x_93; -} -} -} -else -{ -lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; +lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_dec(x_47); lean_dec(x_40); +lean_dec(x_39); lean_dec(x_15); lean_dec(x_2); lean_dec(x_1); -x_94 = l_Lean_indentExpr(x_23); -x_95 = l_Lean_Elab_Term_elabAnonymousCtor___closed__13; -x_96 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_96, 0, x_95); -lean_ctor_set(x_96, 1, x_94); -x_97 = l_Lean_Elab_Term_elabAnonymousCtor___closed__11; -x_98 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_98, 0, x_96); -lean_ctor_set(x_98, 1, x_97); -x_99 = l_Lean_throwError___at___private_Lean_Elab_Term_0__Lean_Elab_Term_synthesizeInst___spec__1(x_98, x_3, x_4, x_5, x_6, x_7, x_8, x_29); +x_69 = l_Lean_indentExpr(x_23); +x_70 = l_Lean_Elab_Term_elabAnonymousCtor___closed__13; +x_71 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_71, 0, x_70); +lean_ctor_set(x_71, 1, x_69); +x_72 = l_Lean_Elab_Term_elabAnonymousCtor___closed__11; +x_73 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_73, 0, x_71); +lean_ctor_set(x_73, 1, x_72); +x_74 = l_Lean_throwError___at___private_Lean_Elab_Term_0__Lean_Elab_Term_synthesizeInst___spec__1(x_73, x_3, x_4, x_5, x_6, x_7, x_8, x_29); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -return x_99; +return x_74; } } } else { -lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; +lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_dec(x_38); lean_dec(x_15); lean_dec(x_2); lean_dec(x_1); -x_100 = l_Lean_indentExpr(x_23); -x_101 = l_Lean_Elab_Term_elabAnonymousCtor___closed__9; -x_102 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_102, 0, x_101); -lean_ctor_set(x_102, 1, x_100); -x_103 = l_Lean_Elab_Term_elabAnonymousCtor___closed__11; -x_104 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_104, 0, x_102); -lean_ctor_set(x_104, 1, x_103); -x_105 = l_Lean_throwError___at___private_Lean_Elab_Term_0__Lean_Elab_Term_synthesizeInst___spec__1(x_104, x_3, x_4, x_5, x_6, x_7, x_8, x_29); +x_75 = l_Lean_indentExpr(x_23); +x_76 = l_Lean_Elab_Term_elabAnonymousCtor___closed__9; +x_77 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_77, 0, x_76); +lean_ctor_set(x_77, 1, x_75); +x_78 = l_Lean_Elab_Term_elabAnonymousCtor___closed__11; +x_79 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_79, 0, x_77); +lean_ctor_set(x_79, 1, x_78); +x_80 = l_Lean_throwError___at___private_Lean_Elab_Term_0__Lean_Elab_Term_synthesizeInst___spec__1(x_79, x_3, x_4, x_5, x_6, x_7, x_8, x_29); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -return x_105; +return x_80; } } } else { -lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; +lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_dec(x_25); lean_dec(x_15); lean_dec(x_2); lean_dec(x_1); -x_106 = l_Lean_indentExpr(x_23); -x_107 = l_Lean_Elab_Term_elabAnonymousCtor___closed__9; -x_108 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_108, 0, x_107); -lean_ctor_set(x_108, 1, x_106); -x_109 = l_Lean_Elab_Term_elabAnonymousCtor___closed__11; -x_110 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_110, 0, x_108); -lean_ctor_set(x_110, 1, x_109); -x_111 = l_Lean_throwError___at___private_Lean_Elab_Term_0__Lean_Elab_Term_synthesizeInst___spec__1(x_110, x_3, x_4, x_5, x_6, x_7, x_8, x_24); +x_81 = l_Lean_indentExpr(x_23); +x_82 = l_Lean_Elab_Term_elabAnonymousCtor___closed__9; +x_83 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_83, 0, x_82); +lean_ctor_set(x_83, 1, x_81); +x_84 = l_Lean_Elab_Term_elabAnonymousCtor___closed__11; +x_85 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_85, 0, x_83); +lean_ctor_set(x_85, 1, x_84); +x_86 = l_Lean_throwError___at___private_Lean_Elab_Term_0__Lean_Elab_Term_synthesizeInst___spec__1(x_85, x_3, x_4, x_5, x_6, x_7, x_8, x_24); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -return x_111; +return x_86; } } else { -uint8_t x_112; +uint8_t x_87; lean_dec(x_15); lean_dec(x_8); lean_dec(x_7); @@ -2769,30 +3050,30 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_112 = !lean_is_exclusive(x_22); -if (x_112 == 0) +x_87 = !lean_is_exclusive(x_22); +if (x_87 == 0) { return x_22; } else { -lean_object* x_113; lean_object* x_114; lean_object* x_115; -x_113 = lean_ctor_get(x_22, 0); -x_114 = lean_ctor_get(x_22, 1); -lean_inc(x_114); -lean_inc(x_113); +lean_object* x_88; lean_object* x_89; lean_object* x_90; +x_88 = lean_ctor_get(x_22, 0); +x_89 = lean_ctor_get(x_22, 1); +lean_inc(x_89); +lean_inc(x_88); lean_dec(x_22); -x_115 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_115, 0, x_113); -lean_ctor_set(x_115, 1, x_114); -return x_115; +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_116; +uint8_t x_91; lean_dec(x_15); lean_dec(x_8); lean_dec(x_7); @@ -2802,33 +3083,47 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_116 = !lean_is_exclusive(x_16); -if (x_116 == 0) +x_91 = !lean_is_exclusive(x_16); +if (x_91 == 0) { return x_16; } else { -lean_object* x_117; lean_object* x_118; lean_object* x_119; -x_117 = lean_ctor_get(x_16, 0); -x_118 = lean_ctor_get(x_16, 1); -lean_inc(x_118); -lean_inc(x_117); +lean_object* x_92; lean_object* x_93; lean_object* x_94; +x_92 = lean_ctor_get(x_16, 0); +x_93 = lean_ctor_get(x_16, 1); +lean_inc(x_93); +lean_inc(x_92); lean_dec(x_16); -x_119 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_119, 0, x_117); -lean_ctor_set(x_119, 1, x_118); -return x_119; +x_94 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_94, 0, x_92); +lean_ctor_set(x_94, 1, x_93); +return x_94; } } } } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___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_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___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_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___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_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -2837,11 +3132,11 @@ lean_dec(x_3); return x_9; } } -LEAN_EXPORT lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___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_EXPORT lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; -x_9 = l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -2850,11 +3145,11 @@ lean_dec(x_3); return x_9; } } -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { lean_object* x_15; -x_15 = l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___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, x_13, x_14); +x_15 = l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); @@ -2867,11 +3162,11 @@ lean_dec(x_1); return x_15; } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___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_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___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) { _start: { lean_object* x_9; -x_9 = l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___spec__6(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); @@ -2937,7 +3232,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabAnonymousCtor_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(29u); +x_1 = lean_unsigned_to_nat(27u); x_2 = lean_unsigned_to_nat(33u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2977,7 +3272,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabAnonymousCtor_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(29u); +x_1 = lean_unsigned_to_nat(27u); x_2 = lean_unsigned_to_nat(37u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2989,7 +3284,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabAnonymousCtor_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(29u); +x_1 = lean_unsigned_to_nat(27u); x_2 = lean_unsigned_to_nat(54u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3071,7 +3366,7 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall___spec__1___rarg(x_9); +x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg(x_9); return x_12; } else @@ -9320,47 +9615,76 @@ x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_getRefPosition___at_Lean_Elab_Term_elabPanic___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Lean_getRefPos___at_Lean_Elab_Term_elabPanic___spec__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { -lean_object* x_4; lean_object* x_5; uint8_t x_6; -x_4 = lean_ctor_get(x_1, 1); -x_5 = l_Lean_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_mergeFailures___spec__4___rarg(x_1, x_2, x_3); -x_6 = !lean_is_exclusive(x_5); -if (x_6 == 0) +lean_object* x_4; uint8_t x_5; lean_object* x_6; +x_4 = lean_ctor_get(x_1, 5); +x_5 = 0; +x_6 = l_Lean_Syntax_getPos_x3f(x_4, x_5); +if (lean_obj_tag(x_6) == 0) { lean_object* x_7; lean_object* x_8; -x_7 = lean_ctor_get(x_5, 0); -x_8 = l_Lean_FileMap_toPosition(x_4, x_7); -lean_dec(x_7); -lean_ctor_set(x_5, 0, x_8); -return x_5; +x_7 = lean_unsigned_to_nat(0u); +x_8 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_3); +return x_8; } else { -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_9 = lean_ctor_get(x_5, 0); -x_10 = lean_ctor_get(x_5, 1); -lean_inc(x_10); +lean_object* x_9; lean_object* x_10; +x_9 = lean_ctor_get(x_6, 0); lean_inc(x_9); -lean_dec(x_5); -x_11 = l_Lean_FileMap_toPosition(x_4, x_9); -lean_dec(x_9); -x_12 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_12, 0, x_11); -lean_ctor_set(x_12, 1, x_10); -return x_12; +lean_dec(x_6); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_9); +lean_ctor_set(x_10, 1, x_3); +return x_10; } } } -LEAN_EXPORT lean_object* l_Lean_getRefPosition___at_Lean_Elab_Term_elabPanic___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_getRefPos___at_Lean_Elab_Term_elabPanic___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; -x_5 = lean_alloc_closure((void*)(l_Lean_getRefPosition___at_Lean_Elab_Term_elabPanic___spec__1___rarg___boxed), 3, 0); +x_5 = lean_alloc_closure((void*)(l_Lean_getRefPos___at_Lean_Elab_Term_elabPanic___spec__2___rarg___boxed), 3, 0); return x_5; } } +LEAN_EXPORT lean_object* l_Lean_getRefPosition___at_Lean_Elab_Term_elabPanic___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; lean_object* x_9; uint8_t x_10; +x_8 = lean_ctor_get(x_5, 1); +x_9 = l_Lean_getRefPos___at_Lean_Elab_Term_elabPanic___spec__2___rarg(x_5, x_6, x_7); +x_10 = !lean_is_exclusive(x_9); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; +x_11 = lean_ctor_get(x_9, 0); +x_12 = l_Lean_FileMap_toPosition(x_8, x_11); +lean_dec(x_11); +lean_ctor_set(x_9, 0, x_12); +return x_9; +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_13 = lean_ctor_get(x_9, 0); +x_14 = lean_ctor_get(x_9, 1); +lean_inc(x_14); +lean_inc(x_13); +lean_dec(x_9); +x_15 = l_Lean_FileMap_toPosition(x_8, x_13); +lean_dec(x_13); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_15); +lean_ctor_set(x_16, 1, x_14); +return x_16; +} +} +} static lean_object* _init_l_Lean_Elab_Term_elabPanic___closed__1() { _start: { @@ -9571,7 +9895,7 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall___spec__1___rarg(x_9); +x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg(x_9); return x_12; } else @@ -9579,7 +9903,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; lean_object* x_22; lean_object* x_23; x_13 = lean_unsigned_to_nat(1u); x_14 = l_Lean_Syntax_getArg(x_1, x_13); -x_15 = l_Lean_getRefPosition___at_Lean_Elab_Term_elabPanic___spec__1___rarg(x_7, x_8, x_9); +x_15 = l_Lean_getRefPosition___at_Lean_Elab_Term_elabPanic___spec__1(x_3, x_4, x_5, x_6, x_7, x_8, x_9); x_16 = lean_ctor_get(x_15, 0); lean_inc(x_16); x_17 = lean_ctor_get(x_15, 1); @@ -9751,21 +10075,21 @@ return x_105; } } } -LEAN_EXPORT lean_object* l_Lean_getRefPosition___at_Lean_Elab_Term_elabPanic___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Lean_getRefPos___at_Lean_Elab_Term_elabPanic___spec__2___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; -x_4 = l_Lean_getRefPosition___at_Lean_Elab_Term_elabPanic___spec__1___rarg(x_1, x_2, x_3); +x_4 = l_Lean_getRefPos___at_Lean_Elab_Term_elabPanic___spec__2___rarg(x_1, x_2, x_3); lean_dec(x_2); lean_dec(x_1); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_getRefPosition___at_Lean_Elab_Term_elabPanic___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_getRefPos___at_Lean_Elab_Term_elabPanic___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; -x_5 = l_Lean_getRefPosition___at_Lean_Elab_Term_elabPanic___spec__1(x_1, x_2, x_3, x_4); +x_5 = l_Lean_getRefPos___at_Lean_Elab_Term_elabPanic___spec__2(x_1, x_2, x_3, x_4); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); @@ -9773,6 +10097,20 @@ lean_dec(x_1); return x_5; } } +LEAN_EXPORT lean_object* l_Lean_getRefPosition___at_Lean_Elab_Term_elabPanic___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; +x_8 = l_Lean_getRefPosition___at_Lean_Elab_Term_elabPanic___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_8; +} +} static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabPanic___closed__1() { _start: { @@ -12488,7 +12826,7 @@ lean_inc(x_35); x_36 = lean_ctor_get(x_34, 1); lean_inc(x_36); lean_dec(x_34); -x_37 = l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__4; +x_37 = l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__4; x_38 = l_panic___at_Lean_Elab_Term_mkPairs_loop___spec__1(x_37); x_11 = x_38; x_12 = x_35; @@ -14161,31 +14499,11 @@ lean_ctor_set(x_11, 1, x_8); return x_11; } } -static lean_object* _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__5___rarg___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = l_Lean_Elab_unsupportedSyntaxExceptionId; -return x_1; -} -} -static lean_object* _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__5___rarg___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__5___rarg___closed__1; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__5___rarg(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__5___rarg___closed__2; +x_2 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg___closed__2; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); @@ -17087,7 +17405,7 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall___spec__1___rarg(x_9); +x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg(x_9); return x_12; } else @@ -17109,7 +17427,7 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_17 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall___spec__1___rarg(x_9); +x_17 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg(x_9); return x_17; } else @@ -17132,7 +17450,7 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_22 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall___spec__1___rarg(x_9); +x_22 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg(x_9); return x_22; } else @@ -17154,7 +17472,7 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_26 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall___spec__1___rarg(x_9); +x_26 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg(x_9); return x_26; } else @@ -17416,6 +17734,1763 @@ x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); return x_4; } } +LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_2) == 5) +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; +x_4 = lean_ctor_get(x_2, 0); +lean_inc(x_4); +x_5 = lean_ctor_get(x_2, 1); +lean_inc(x_5); +lean_dec(x_2); +x_6 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__4(x_1, x_4, x_3); +x_7 = lean_ctor_get(x_6, 0); +lean_inc(x_7); +x_8 = lean_unbox(x_7); +if (x_8 == 0) +{ +lean_object* x_9; lean_object* x_10; +lean_dec(x_7); +x_9 = lean_ctor_get(x_6, 1); +lean_inc(x_9); +lean_dec(x_6); +x_10 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__2(x_1, x_5, x_9); +return x_10; +} +else +{ +uint8_t x_11; +lean_dec(x_5); +x_11 = !lean_is_exclusive(x_6); +if (x_11 == 0) +{ +lean_object* x_12; +x_12 = lean_ctor_get(x_6, 0); +lean_dec(x_12); +return x_6; +} +else +{ +lean_object* x_13; lean_object* x_14; +x_13 = lean_ctor_get(x_6, 1); +lean_inc(x_13); +lean_dec(x_6); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_7); +lean_ctor_set(x_14, 1, x_13); +return x_14; +} +} +} +else +{ +lean_object* x_15; +x_15 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__2(x_1, x_2, x_3); +return x_15; +} +} +} +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__7(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) { +_start: +{ +uint8_t x_5; +x_5 = lean_usize_dec_eq(x_3, x_4); +if (x_5 == 0) +{ +lean_object* x_6; uint8_t x_7; +x_6 = lean_array_uget(x_2, x_3); +x_7 = l_Std_PersistentArray_anyMAux___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__6(x_1, x_6); +if (x_7 == 0) +{ +size_t x_8; size_t x_9; +x_8 = 1; +x_9 = lean_usize_add(x_3, x_8); +x_3 = x_9; +goto _start; +} +else +{ +uint8_t x_11; +x_11 = 1; +return x_11; +} +} +else +{ +uint8_t x_12; +x_12 = 0; +return x_12; +} +} +} +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__8(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) { +_start: +{ +uint8_t x_5; +x_5 = lean_usize_dec_eq(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) +{ +size_t x_7; size_t x_8; +x_7 = 1; +x_8 = lean_usize_add(x_3, x_7); +x_3 = x_8; +goto _start; +} +else +{ +lean_object* x_10; lean_object* x_11; uint8_t x_12; +x_10 = lean_ctor_get(x_6, 0); +lean_inc(x_10); +lean_dec(x_6); +x_11 = l_Lean_LocalDecl_fvarId(x_10); +lean_dec(x_10); +x_12 = lean_name_eq(x_1, x_11); +lean_dec(x_11); +if (x_12 == 0) +{ +size_t x_13; size_t x_14; +x_13 = 1; +x_14 = lean_usize_add(x_3, x_13); +x_3 = x_14; +goto _start; +} +else +{ +uint8_t x_16; +x_16 = 1; +return x_16; +} +} +} +else +{ +uint8_t x_17; +x_17 = 0; +return x_17; +} +} +} +LEAN_EXPORT uint8_t l_Std_PersistentArray_anyMAux___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__6(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; +x_3 = lean_ctor_get(x_2, 0); +lean_inc(x_3); +lean_dec(x_2); +x_4 = lean_array_get_size(x_3); +x_5 = lean_unsigned_to_nat(0u); +x_6 = lean_nat_dec_lt(x_5, x_4); +if (x_6 == 0) +{ +uint8_t x_7; +lean_dec(x_4); +lean_dec(x_3); +x_7 = 0; +return x_7; +} +else +{ +uint8_t x_8; +x_8 = lean_nat_dec_le(x_4, x_4); +if (x_8 == 0) +{ +uint8_t x_9; +lean_dec(x_4); +lean_dec(x_3); +x_9 = 0; +return x_9; +} +else +{ +size_t x_10; size_t x_11; uint8_t x_12; +x_10 = 0; +x_11 = lean_usize_of_nat(x_4); +lean_dec(x_4); +x_12 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__7(x_1, x_3, x_10, x_11); +lean_dec(x_3); +return x_12; +} +} +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; +x_13 = lean_ctor_get(x_2, 0); +lean_inc(x_13); +lean_dec(x_2); +x_14 = lean_array_get_size(x_13); +x_15 = lean_unsigned_to_nat(0u); +x_16 = lean_nat_dec_lt(x_15, x_14); +if (x_16 == 0) +{ +uint8_t x_17; +lean_dec(x_14); +lean_dec(x_13); +x_17 = 0; +return x_17; +} +else +{ +uint8_t x_18; +x_18 = lean_nat_dec_le(x_14, x_14); +if (x_18 == 0) +{ +uint8_t x_19; +lean_dec(x_14); +lean_dec(x_13); +x_19 = 0; +return x_19; +} +else +{ +size_t x_20; size_t x_21; uint8_t x_22; +x_20 = 0; +x_21 = lean_usize_of_nat(x_14); +lean_dec(x_14); +x_22 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__8(x_1, x_13, x_20, x_21); +lean_dec(x_13); +return x_22; +} +} +} +} +} +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__9(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) { +_start: +{ +uint8_t x_5; +x_5 = lean_usize_dec_eq(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) +{ +size_t x_7; size_t x_8; +x_7 = 1; +x_8 = lean_usize_add(x_3, x_7); +x_3 = x_8; +goto _start; +} +else +{ +lean_object* x_10; lean_object* x_11; uint8_t x_12; +x_10 = lean_ctor_get(x_6, 0); +lean_inc(x_10); +lean_dec(x_6); +x_11 = l_Lean_LocalDecl_fvarId(x_10); +lean_dec(x_10); +x_12 = lean_name_eq(x_1, x_11); +lean_dec(x_11); +if (x_12 == 0) +{ +size_t x_13; size_t x_14; +x_13 = 1; +x_14 = lean_usize_add(x_3, x_13); +x_3 = x_14; +goto _start; +} +else +{ +uint8_t x_16; +x_16 = 1; +return x_16; +} +} +} +else +{ +uint8_t x_17; +x_17 = 0; +return x_17; +} +} +} +LEAN_EXPORT uint8_t l_Std_PersistentArray_anyM___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__5(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; uint8_t x_4; +x_3 = lean_ctor_get(x_2, 0); +lean_inc(x_3); +x_4 = l_Std_PersistentArray_anyMAux___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__6(x_1, x_3); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; +x_5 = lean_ctor_get(x_2, 1); +lean_inc(x_5); +lean_dec(x_2); +x_6 = lean_array_get_size(x_5); +x_7 = lean_unsigned_to_nat(0u); +x_8 = lean_nat_dec_lt(x_7, x_6); +if (x_8 == 0) +{ +uint8_t x_9; +lean_dec(x_6); +lean_dec(x_5); +x_9 = 0; +return x_9; +} +else +{ +uint8_t x_10; +x_10 = lean_nat_dec_le(x_6, x_6); +if (x_10 == 0) +{ +uint8_t x_11; +lean_dec(x_6); +lean_dec(x_5); +x_11 = 0; +return x_11; +} +else +{ +size_t x_12; size_t x_13; uint8_t x_14; +x_12 = 0; +x_13 = lean_usize_of_nat(x_6); +lean_dec(x_6); +x_14 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__9(x_1, x_5, x_12, x_13); +lean_dec(x_5); +return x_14; +} +} +} +else +{ +lean_dec(x_2); +return x_4; +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +switch (lean_obj_tag(x_2)) { +case 1: +{ +lean_object* x_4; uint8_t x_5; lean_object* x_6; lean_object* x_7; +x_4 = lean_ctor_get(x_2, 0); +lean_inc(x_4); +lean_dec(x_2); +x_5 = lean_name_eq(x_1, x_4); +lean_dec(x_4); +x_6 = lean_box(x_5); +x_7 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_7, 0, x_6); +lean_ctor_set(x_7, 1, x_3); +return x_7; +} +case 2: +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_8 = lean_ctor_get(x_2, 0); +lean_inc(x_8); +lean_dec(x_2); +lean_inc(x_8); +x_9 = l_Lean_getExprMVarAssignment_x3f___at___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___spec__1(x_8, x_3); +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +if (lean_obj_tag(x_10) == 0) +{ +uint8_t x_11; +x_11 = !lean_is_exclusive(x_9); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; lean_object* x_19; +x_12 = lean_ctor_get(x_9, 1); +x_13 = lean_ctor_get(x_9, 0); +lean_dec(x_13); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +x_15 = l_Lean_MetavarContext_getDecl(x_14, x_8); +x_16 = lean_ctor_get(x_15, 1); +lean_inc(x_16); +lean_dec(x_15); +x_17 = lean_ctor_get(x_16, 1); +lean_inc(x_17); +lean_dec(x_16); +x_18 = l_Std_PersistentArray_anyM___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__5(x_1, x_17); +x_19 = lean_box(x_18); +lean_ctor_set(x_9, 0, x_19); +return x_9; +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; lean_object* x_26; lean_object* x_27; +x_20 = lean_ctor_get(x_9, 1); +lean_inc(x_20); +lean_dec(x_9); +x_21 = lean_ctor_get(x_20, 1); +lean_inc(x_21); +x_22 = l_Lean_MetavarContext_getDecl(x_21, x_8); +x_23 = lean_ctor_get(x_22, 1); +lean_inc(x_23); +lean_dec(x_22); +x_24 = lean_ctor_get(x_23, 1); +lean_inc(x_24); +lean_dec(x_23); +x_25 = l_Std_PersistentArray_anyM___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__5(x_1, x_24); +x_26 = lean_box(x_25); +x_27 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_27, 0, x_26); +lean_ctor_set(x_27, 1, x_20); +return x_27; +} +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +lean_dec(x_8); +x_28 = lean_ctor_get(x_9, 1); +lean_inc(x_28); +lean_dec(x_9); +x_29 = lean_ctor_get(x_10, 0); +lean_inc(x_29); +lean_dec(x_10); +x_30 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__2(x_1, x_29, x_28); +return x_30; +} +} +case 5: +{ +lean_object* x_31; uint8_t x_32; +x_31 = l_Lean_Expr_getAppFn(x_2); +x_32 = l_Lean_Expr_isMVar(x_31); +if (x_32 == 0) +{ +lean_object* x_33; +lean_dec(x_31); +x_33 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__4(x_1, x_2, x_3); +return x_33; +} +else +{ +lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; +lean_inc(x_2); +x_34 = l_Lean_instantiateMVars___at___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___spec__7(x_2, x_3); +x_35 = lean_ctor_get(x_34, 0); +lean_inc(x_35); +x_36 = lean_ctor_get(x_34, 1); +lean_inc(x_36); +lean_dec(x_34); +x_37 = l_Lean_Expr_getAppFn(x_35); +x_38 = lean_expr_eqv(x_37, x_31); +lean_dec(x_31); +lean_dec(x_37); +if (x_38 == 0) +{ +lean_dec(x_2); +x_2 = x_35; +x_3 = x_36; +goto _start; +} +else +{ +lean_object* x_40; +lean_dec(x_35); +x_40 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__4(x_1, x_2, x_36); +return x_40; +} +} +} +case 6: +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; +x_41 = lean_ctor_get(x_2, 1); +lean_inc(x_41); +x_42 = lean_ctor_get(x_2, 2); +lean_inc(x_42); +lean_dec(x_2); +x_43 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__2(x_1, x_41, x_3); +x_44 = lean_ctor_get(x_43, 0); +lean_inc(x_44); +x_45 = lean_unbox(x_44); +if (x_45 == 0) +{ +lean_object* x_46; lean_object* x_47; +lean_dec(x_44); +x_46 = lean_ctor_get(x_43, 1); +lean_inc(x_46); +lean_dec(x_43); +x_47 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__2(x_1, x_42, x_46); +return x_47; +} +else +{ +uint8_t x_48; +lean_dec(x_42); +x_48 = !lean_is_exclusive(x_43); +if (x_48 == 0) +{ +lean_object* x_49; +x_49 = lean_ctor_get(x_43, 0); +lean_dec(x_49); +return x_43; +} +else +{ +lean_object* x_50; lean_object* x_51; +x_50 = lean_ctor_get(x_43, 1); +lean_inc(x_50); +lean_dec(x_43); +x_51 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_51, 0, x_44); +lean_ctor_set(x_51, 1, x_50); +return x_51; +} +} +} +case 7: +{ +lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; +x_52 = lean_ctor_get(x_2, 1); +lean_inc(x_52); +x_53 = lean_ctor_get(x_2, 2); +lean_inc(x_53); +lean_dec(x_2); +x_54 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__2(x_1, x_52, x_3); +x_55 = lean_ctor_get(x_54, 0); +lean_inc(x_55); +x_56 = lean_unbox(x_55); +if (x_56 == 0) +{ +lean_object* x_57; lean_object* x_58; +lean_dec(x_55); +x_57 = lean_ctor_get(x_54, 1); +lean_inc(x_57); +lean_dec(x_54); +x_58 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__2(x_1, x_53, x_57); +return x_58; +} +else +{ +uint8_t x_59; +lean_dec(x_53); +x_59 = !lean_is_exclusive(x_54); +if (x_59 == 0) +{ +lean_object* x_60; +x_60 = lean_ctor_get(x_54, 0); +lean_dec(x_60); +return x_54; +} +else +{ +lean_object* x_61; lean_object* x_62; +x_61 = lean_ctor_get(x_54, 1); +lean_inc(x_61); +lean_dec(x_54); +x_62 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_62, 0, x_55); +lean_ctor_set(x_62, 1, x_61); +return x_62; +} +} +} +case 8: +{ +lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; uint8_t x_68; +x_63 = lean_ctor_get(x_2, 1); +lean_inc(x_63); +x_64 = lean_ctor_get(x_2, 2); +lean_inc(x_64); +x_65 = lean_ctor_get(x_2, 3); +lean_inc(x_65); +lean_dec(x_2); +x_66 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__2(x_1, x_63, x_3); +x_67 = lean_ctor_get(x_66, 0); +lean_inc(x_67); +x_68 = lean_unbox(x_67); +if (x_68 == 0) +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; uint8_t x_72; +lean_dec(x_67); +x_69 = lean_ctor_get(x_66, 1); +lean_inc(x_69); +lean_dec(x_66); +x_70 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__2(x_1, x_64, x_69); +x_71 = lean_ctor_get(x_70, 0); +lean_inc(x_71); +x_72 = lean_unbox(x_71); +if (x_72 == 0) +{ +lean_object* x_73; lean_object* x_74; +lean_dec(x_71); +x_73 = lean_ctor_get(x_70, 1); +lean_inc(x_73); +lean_dec(x_70); +x_74 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__2(x_1, x_65, x_73); +return x_74; +} +else +{ +uint8_t x_75; +lean_dec(x_65); +x_75 = !lean_is_exclusive(x_70); +if (x_75 == 0) +{ +lean_object* x_76; +x_76 = lean_ctor_get(x_70, 0); +lean_dec(x_76); +return x_70; +} +else +{ +lean_object* x_77; lean_object* x_78; +x_77 = lean_ctor_get(x_70, 1); +lean_inc(x_77); +lean_dec(x_70); +x_78 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_78, 0, x_71); +lean_ctor_set(x_78, 1, x_77); +return x_78; +} +} +} +else +{ +uint8_t x_79; +lean_dec(x_65); +lean_dec(x_64); +x_79 = !lean_is_exclusive(x_66); +if (x_79 == 0) +{ +lean_object* x_80; +x_80 = lean_ctor_get(x_66, 0); +lean_dec(x_80); +return x_66; +} +else +{ +lean_object* x_81; lean_object* x_82; +x_81 = lean_ctor_get(x_66, 1); +lean_inc(x_81); +lean_dec(x_66); +x_82 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_82, 0, x_67); +lean_ctor_set(x_82, 1, x_81); +return x_82; +} +} +} +case 10: +{ +lean_object* x_83; lean_object* x_84; +x_83 = lean_ctor_get(x_2, 1); +lean_inc(x_83); +lean_dec(x_2); +x_84 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__2(x_1, x_83, x_3); +return x_84; +} +case 11: +{ +lean_object* x_85; lean_object* x_86; +x_85 = lean_ctor_get(x_2, 2); +lean_inc(x_85); +lean_dec(x_2); +x_86 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__2(x_1, x_85, x_3); +return x_86; +} +default: +{ +uint8_t x_87; lean_object* x_88; lean_object* x_89; +lean_dec(x_2); +x_87 = 0; +x_88 = lean_box(x_87); +x_89 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_89, 0, x_88); +lean_ctor_set(x_89, 1, x_3); +return x_89; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; lean_object* x_5; uint8_t x_6; +lean_inc(x_2); +x_4 = l___private_Lean_MetavarContext_0__Lean_DependsOn_shouldVisit(x_2, x_3); +x_5 = lean_ctor_get(x_4, 0); +lean_inc(x_5); +x_6 = lean_unbox(x_5); +lean_dec(x_5); +if (x_6 == 0) +{ +uint8_t x_7; +lean_dec(x_2); +x_7 = !lean_is_exclusive(x_4); +if (x_7 == 0) +{ +lean_object* x_8; uint8_t x_9; lean_object* x_10; +x_8 = lean_ctor_get(x_4, 0); +lean_dec(x_8); +x_9 = 0; +x_10 = lean_box(x_9); +lean_ctor_set(x_4, 0, x_10); +return x_4; +} +else +{ +lean_object* x_11; uint8_t x_12; lean_object* x_13; lean_object* x_14; +x_11 = lean_ctor_get(x_4, 1); +lean_inc(x_11); +lean_dec(x_4); +x_12 = 0; +x_13 = lean_box(x_12); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_13); +lean_ctor_set(x_14, 1, x_11); +return x_14; +} +} +else +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_ctor_get(x_4, 1); +lean_inc(x_15); +lean_dec(x_4); +x_16 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__3(x_1, x_2, x_15); +return x_16; +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__12(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_2) == 5) +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; +x_4 = lean_ctor_get(x_2, 0); +lean_inc(x_4); +x_5 = lean_ctor_get(x_2, 1); +lean_inc(x_5); +lean_dec(x_2); +x_6 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__12(x_1, x_4, x_3); +x_7 = lean_ctor_get(x_6, 0); +lean_inc(x_7); +x_8 = lean_unbox(x_7); +if (x_8 == 0) +{ +lean_object* x_9; lean_object* x_10; +lean_dec(x_7); +x_9 = lean_ctor_get(x_6, 1); +lean_inc(x_9); +lean_dec(x_6); +x_10 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__10(x_1, x_5, x_9); +return x_10; +} +else +{ +uint8_t x_11; +lean_dec(x_5); +x_11 = !lean_is_exclusive(x_6); +if (x_11 == 0) +{ +lean_object* x_12; +x_12 = lean_ctor_get(x_6, 0); +lean_dec(x_12); +return x_6; +} +else +{ +lean_object* x_13; lean_object* x_14; +x_13 = lean_ctor_get(x_6, 1); +lean_inc(x_13); +lean_dec(x_6); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_7); +lean_ctor_set(x_14, 1, x_13); +return x_14; +} +} +} +else +{ +lean_object* x_15; +x_15 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__10(x_1, x_2, x_3); +return x_15; +} +} +} +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__15(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) { +_start: +{ +uint8_t x_5; +x_5 = lean_usize_dec_eq(x_3, x_4); +if (x_5 == 0) +{ +lean_object* x_6; uint8_t x_7; +x_6 = lean_array_uget(x_2, x_3); +x_7 = l_Std_PersistentArray_anyMAux___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__14(x_1, x_6); +if (x_7 == 0) +{ +size_t x_8; size_t x_9; +x_8 = 1; +x_9 = lean_usize_add(x_3, x_8); +x_3 = x_9; +goto _start; +} +else +{ +uint8_t x_11; +x_11 = 1; +return x_11; +} +} +else +{ +uint8_t x_12; +x_12 = 0; +return x_12; +} +} +} +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__16(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) { +_start: +{ +uint8_t x_5; +x_5 = lean_usize_dec_eq(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) +{ +size_t x_7; size_t x_8; +x_7 = 1; +x_8 = lean_usize_add(x_3, x_7); +x_3 = x_8; +goto _start; +} +else +{ +lean_object* x_10; lean_object* x_11; uint8_t x_12; +x_10 = lean_ctor_get(x_6, 0); +lean_inc(x_10); +lean_dec(x_6); +x_11 = l_Lean_LocalDecl_fvarId(x_10); +lean_dec(x_10); +x_12 = lean_name_eq(x_1, x_11); +lean_dec(x_11); +if (x_12 == 0) +{ +size_t x_13; size_t x_14; +x_13 = 1; +x_14 = lean_usize_add(x_3, x_13); +x_3 = x_14; +goto _start; +} +else +{ +uint8_t x_16; +x_16 = 1; +return x_16; +} +} +} +else +{ +uint8_t x_17; +x_17 = 0; +return x_17; +} +} +} +LEAN_EXPORT uint8_t l_Std_PersistentArray_anyMAux___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__14(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; +x_3 = lean_ctor_get(x_2, 0); +lean_inc(x_3); +lean_dec(x_2); +x_4 = lean_array_get_size(x_3); +x_5 = lean_unsigned_to_nat(0u); +x_6 = lean_nat_dec_lt(x_5, x_4); +if (x_6 == 0) +{ +uint8_t x_7; +lean_dec(x_4); +lean_dec(x_3); +x_7 = 0; +return x_7; +} +else +{ +uint8_t x_8; +x_8 = lean_nat_dec_le(x_4, x_4); +if (x_8 == 0) +{ +uint8_t x_9; +lean_dec(x_4); +lean_dec(x_3); +x_9 = 0; +return x_9; +} +else +{ +size_t x_10; size_t x_11; uint8_t x_12; +x_10 = 0; +x_11 = lean_usize_of_nat(x_4); +lean_dec(x_4); +x_12 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__15(x_1, x_3, x_10, x_11); +lean_dec(x_3); +return x_12; +} +} +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; +x_13 = lean_ctor_get(x_2, 0); +lean_inc(x_13); +lean_dec(x_2); +x_14 = lean_array_get_size(x_13); +x_15 = lean_unsigned_to_nat(0u); +x_16 = lean_nat_dec_lt(x_15, x_14); +if (x_16 == 0) +{ +uint8_t x_17; +lean_dec(x_14); +lean_dec(x_13); +x_17 = 0; +return x_17; +} +else +{ +uint8_t x_18; +x_18 = lean_nat_dec_le(x_14, x_14); +if (x_18 == 0) +{ +uint8_t x_19; +lean_dec(x_14); +lean_dec(x_13); +x_19 = 0; +return x_19; +} +else +{ +size_t x_20; size_t x_21; uint8_t x_22; +x_20 = 0; +x_21 = lean_usize_of_nat(x_14); +lean_dec(x_14); +x_22 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__16(x_1, x_13, x_20, x_21); +lean_dec(x_13); +return x_22; +} +} +} +} +} +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__17(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) { +_start: +{ +uint8_t x_5; +x_5 = lean_usize_dec_eq(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) +{ +size_t x_7; size_t x_8; +x_7 = 1; +x_8 = lean_usize_add(x_3, x_7); +x_3 = x_8; +goto _start; +} +else +{ +lean_object* x_10; lean_object* x_11; uint8_t x_12; +x_10 = lean_ctor_get(x_6, 0); +lean_inc(x_10); +lean_dec(x_6); +x_11 = l_Lean_LocalDecl_fvarId(x_10); +lean_dec(x_10); +x_12 = lean_name_eq(x_1, x_11); +lean_dec(x_11); +if (x_12 == 0) +{ +size_t x_13; size_t x_14; +x_13 = 1; +x_14 = lean_usize_add(x_3, x_13); +x_3 = x_14; +goto _start; +} +else +{ +uint8_t x_16; +x_16 = 1; +return x_16; +} +} +} +else +{ +uint8_t x_17; +x_17 = 0; +return x_17; +} +} +} +LEAN_EXPORT uint8_t l_Std_PersistentArray_anyM___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__13(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; uint8_t x_4; +x_3 = lean_ctor_get(x_2, 0); +lean_inc(x_3); +x_4 = l_Std_PersistentArray_anyMAux___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__14(x_1, x_3); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; +x_5 = lean_ctor_get(x_2, 1); +lean_inc(x_5); +lean_dec(x_2); +x_6 = lean_array_get_size(x_5); +x_7 = lean_unsigned_to_nat(0u); +x_8 = lean_nat_dec_lt(x_7, x_6); +if (x_8 == 0) +{ +uint8_t x_9; +lean_dec(x_6); +lean_dec(x_5); +x_9 = 0; +return x_9; +} +else +{ +uint8_t x_10; +x_10 = lean_nat_dec_le(x_6, x_6); +if (x_10 == 0) +{ +uint8_t x_11; +lean_dec(x_6); +lean_dec(x_5); +x_11 = 0; +return x_11; +} +else +{ +size_t x_12; size_t x_13; uint8_t x_14; +x_12 = 0; +x_13 = lean_usize_of_nat(x_6); +lean_dec(x_6); +x_14 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__17(x_1, x_5, x_12, x_13); +lean_dec(x_5); +return x_14; +} +} +} +else +{ +lean_dec(x_2); +return x_4; +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__11(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +switch (lean_obj_tag(x_2)) { +case 1: +{ +lean_object* x_4; uint8_t x_5; lean_object* x_6; lean_object* x_7; +x_4 = lean_ctor_get(x_2, 0); +lean_inc(x_4); +lean_dec(x_2); +x_5 = lean_name_eq(x_1, x_4); +lean_dec(x_4); +x_6 = lean_box(x_5); +x_7 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_7, 0, x_6); +lean_ctor_set(x_7, 1, x_3); +return x_7; +} +case 2: +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_8 = lean_ctor_get(x_2, 0); +lean_inc(x_8); +lean_dec(x_2); +lean_inc(x_8); +x_9 = l_Lean_getExprMVarAssignment_x3f___at___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___spec__1(x_8, x_3); +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +if (lean_obj_tag(x_10) == 0) +{ +uint8_t x_11; +x_11 = !lean_is_exclusive(x_9); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; lean_object* x_19; +x_12 = lean_ctor_get(x_9, 1); +x_13 = lean_ctor_get(x_9, 0); +lean_dec(x_13); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +x_15 = l_Lean_MetavarContext_getDecl(x_14, x_8); +x_16 = lean_ctor_get(x_15, 1); +lean_inc(x_16); +lean_dec(x_15); +x_17 = lean_ctor_get(x_16, 1); +lean_inc(x_17); +lean_dec(x_16); +x_18 = l_Std_PersistentArray_anyM___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__13(x_1, x_17); +x_19 = lean_box(x_18); +lean_ctor_set(x_9, 0, x_19); +return x_9; +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; lean_object* x_26; lean_object* x_27; +x_20 = lean_ctor_get(x_9, 1); +lean_inc(x_20); +lean_dec(x_9); +x_21 = lean_ctor_get(x_20, 1); +lean_inc(x_21); +x_22 = l_Lean_MetavarContext_getDecl(x_21, x_8); +x_23 = lean_ctor_get(x_22, 1); +lean_inc(x_23); +lean_dec(x_22); +x_24 = lean_ctor_get(x_23, 1); +lean_inc(x_24); +lean_dec(x_23); +x_25 = l_Std_PersistentArray_anyM___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__13(x_1, x_24); +x_26 = lean_box(x_25); +x_27 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_27, 0, x_26); +lean_ctor_set(x_27, 1, x_20); +return x_27; +} +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +lean_dec(x_8); +x_28 = lean_ctor_get(x_9, 1); +lean_inc(x_28); +lean_dec(x_9); +x_29 = lean_ctor_get(x_10, 0); +lean_inc(x_29); +lean_dec(x_10); +x_30 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__10(x_1, x_29, x_28); +return x_30; +} +} +case 5: +{ +lean_object* x_31; uint8_t x_32; +x_31 = l_Lean_Expr_getAppFn(x_2); +x_32 = l_Lean_Expr_isMVar(x_31); +if (x_32 == 0) +{ +lean_object* x_33; +lean_dec(x_31); +x_33 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__12(x_1, x_2, x_3); +return x_33; +} +else +{ +lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; +lean_inc(x_2); +x_34 = l_Lean_instantiateMVars___at___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___spec__7(x_2, x_3); +x_35 = lean_ctor_get(x_34, 0); +lean_inc(x_35); +x_36 = lean_ctor_get(x_34, 1); +lean_inc(x_36); +lean_dec(x_34); +x_37 = l_Lean_Expr_getAppFn(x_35); +x_38 = lean_expr_eqv(x_37, x_31); +lean_dec(x_31); +lean_dec(x_37); +if (x_38 == 0) +{ +lean_dec(x_2); +x_2 = x_35; +x_3 = x_36; +goto _start; +} +else +{ +lean_object* x_40; +lean_dec(x_35); +x_40 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__12(x_1, x_2, x_36); +return x_40; +} +} +} +case 6: +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; +x_41 = lean_ctor_get(x_2, 1); +lean_inc(x_41); +x_42 = lean_ctor_get(x_2, 2); +lean_inc(x_42); +lean_dec(x_2); +x_43 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__10(x_1, x_41, x_3); +x_44 = lean_ctor_get(x_43, 0); +lean_inc(x_44); +x_45 = lean_unbox(x_44); +if (x_45 == 0) +{ +lean_object* x_46; lean_object* x_47; +lean_dec(x_44); +x_46 = lean_ctor_get(x_43, 1); +lean_inc(x_46); +lean_dec(x_43); +x_47 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__10(x_1, x_42, x_46); +return x_47; +} +else +{ +uint8_t x_48; +lean_dec(x_42); +x_48 = !lean_is_exclusive(x_43); +if (x_48 == 0) +{ +lean_object* x_49; +x_49 = lean_ctor_get(x_43, 0); +lean_dec(x_49); +return x_43; +} +else +{ +lean_object* x_50; lean_object* x_51; +x_50 = lean_ctor_get(x_43, 1); +lean_inc(x_50); +lean_dec(x_43); +x_51 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_51, 0, x_44); +lean_ctor_set(x_51, 1, x_50); +return x_51; +} +} +} +case 7: +{ +lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; +x_52 = lean_ctor_get(x_2, 1); +lean_inc(x_52); +x_53 = lean_ctor_get(x_2, 2); +lean_inc(x_53); +lean_dec(x_2); +x_54 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__10(x_1, x_52, x_3); +x_55 = lean_ctor_get(x_54, 0); +lean_inc(x_55); +x_56 = lean_unbox(x_55); +if (x_56 == 0) +{ +lean_object* x_57; lean_object* x_58; +lean_dec(x_55); +x_57 = lean_ctor_get(x_54, 1); +lean_inc(x_57); +lean_dec(x_54); +x_58 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__10(x_1, x_53, x_57); +return x_58; +} +else +{ +uint8_t x_59; +lean_dec(x_53); +x_59 = !lean_is_exclusive(x_54); +if (x_59 == 0) +{ +lean_object* x_60; +x_60 = lean_ctor_get(x_54, 0); +lean_dec(x_60); +return x_54; +} +else +{ +lean_object* x_61; lean_object* x_62; +x_61 = lean_ctor_get(x_54, 1); +lean_inc(x_61); +lean_dec(x_54); +x_62 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_62, 0, x_55); +lean_ctor_set(x_62, 1, x_61); +return x_62; +} +} +} +case 8: +{ +lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; uint8_t x_68; +x_63 = lean_ctor_get(x_2, 1); +lean_inc(x_63); +x_64 = lean_ctor_get(x_2, 2); +lean_inc(x_64); +x_65 = lean_ctor_get(x_2, 3); +lean_inc(x_65); +lean_dec(x_2); +x_66 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__10(x_1, x_63, x_3); +x_67 = lean_ctor_get(x_66, 0); +lean_inc(x_67); +x_68 = lean_unbox(x_67); +if (x_68 == 0) +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; uint8_t x_72; +lean_dec(x_67); +x_69 = lean_ctor_get(x_66, 1); +lean_inc(x_69); +lean_dec(x_66); +x_70 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__10(x_1, x_64, x_69); +x_71 = lean_ctor_get(x_70, 0); +lean_inc(x_71); +x_72 = lean_unbox(x_71); +if (x_72 == 0) +{ +lean_object* x_73; lean_object* x_74; +lean_dec(x_71); +x_73 = lean_ctor_get(x_70, 1); +lean_inc(x_73); +lean_dec(x_70); +x_74 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__10(x_1, x_65, x_73); +return x_74; +} +else +{ +uint8_t x_75; +lean_dec(x_65); +x_75 = !lean_is_exclusive(x_70); +if (x_75 == 0) +{ +lean_object* x_76; +x_76 = lean_ctor_get(x_70, 0); +lean_dec(x_76); +return x_70; +} +else +{ +lean_object* x_77; lean_object* x_78; +x_77 = lean_ctor_get(x_70, 1); +lean_inc(x_77); +lean_dec(x_70); +x_78 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_78, 0, x_71); +lean_ctor_set(x_78, 1, x_77); +return x_78; +} +} +} +else +{ +uint8_t x_79; +lean_dec(x_65); +lean_dec(x_64); +x_79 = !lean_is_exclusive(x_66); +if (x_79 == 0) +{ +lean_object* x_80; +x_80 = lean_ctor_get(x_66, 0); +lean_dec(x_80); +return x_66; +} +else +{ +lean_object* x_81; lean_object* x_82; +x_81 = lean_ctor_get(x_66, 1); +lean_inc(x_81); +lean_dec(x_66); +x_82 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_82, 0, x_67); +lean_ctor_set(x_82, 1, x_81); +return x_82; +} +} +} +case 10: +{ +lean_object* x_83; lean_object* x_84; +x_83 = lean_ctor_get(x_2, 1); +lean_inc(x_83); +lean_dec(x_2); +x_84 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__10(x_1, x_83, x_3); +return x_84; +} +case 11: +{ +lean_object* x_85; lean_object* x_86; +x_85 = lean_ctor_get(x_2, 2); +lean_inc(x_85); +lean_dec(x_2); +x_86 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__10(x_1, x_85, x_3); +return x_86; +} +default: +{ +uint8_t x_87; lean_object* x_88; lean_object* x_89; +lean_dec(x_2); +x_87 = 0; +x_88 = lean_box(x_87); +x_89 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_89, 0, x_88); +lean_ctor_set(x_89, 1, x_3); +return x_89; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__10(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; lean_object* x_5; uint8_t x_6; +lean_inc(x_2); +x_4 = l___private_Lean_MetavarContext_0__Lean_DependsOn_shouldVisit(x_2, x_3); +x_5 = lean_ctor_get(x_4, 0); +lean_inc(x_5); +x_6 = lean_unbox(x_5); +lean_dec(x_5); +if (x_6 == 0) +{ +uint8_t x_7; +lean_dec(x_2); +x_7 = !lean_is_exclusive(x_4); +if (x_7 == 0) +{ +lean_object* x_8; uint8_t x_9; lean_object* x_10; +x_8 = lean_ctor_get(x_4, 0); +lean_dec(x_8); +x_9 = 0; +x_10 = lean_box(x_9); +lean_ctor_set(x_4, 0, x_10); +return x_4; +} +else +{ +lean_object* x_11; uint8_t x_12; lean_object* x_13; lean_object* x_14; +x_11 = lean_ctor_get(x_4, 1); +lean_inc(x_11); +lean_dec(x_4); +x_12 = 0; +x_13 = lean_box(x_12); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_13); +lean_ctor_set(x_14, 1, x_11); +return x_14; +} +} +else +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_ctor_get(x_4, 1); +lean_inc(x_15); +lean_dec(x_4); +x_16 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__11(x_1, x_2, x_15); +return x_16; +} +} +} +static lean_object* _init_l_Lean_exprDependsOn___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__1___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(8u); +x_2 = l_Std_mkHashSetImp___rarg(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_exprDependsOn___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; +x_8 = lean_st_ref_get(x_6, x_7); +x_9 = lean_ctor_get(x_8, 1); +lean_inc(x_9); +lean_dec(x_8); +x_10 = lean_st_ref_get(x_4, x_9); +x_11 = lean_ctor_get(x_10, 0); +lean_inc(x_11); +x_12 = lean_ctor_get(x_10, 1); +lean_inc(x_12); +lean_dec(x_10); +x_13 = lean_ctor_get(x_11, 0); +lean_inc(x_13); +lean_dec(x_11); +x_14 = l_Lean_exprDependsOn___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__1___closed__1; +lean_inc(x_13); +x_15 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_13); +x_16 = l_Lean_Expr_hasFVar(x_1); +if (x_16 == 0) +{ +uint8_t x_17; +x_17 = l_Lean_Expr_hasMVar(x_1); +if (x_17 == 0) +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; +lean_dec(x_15); +lean_dec(x_1); +x_18 = lean_st_ref_get(x_6, x_12); +x_19 = lean_ctor_get(x_18, 1); +lean_inc(x_19); +lean_dec(x_18); +x_20 = lean_st_ref_take(x_4, x_19); +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = !lean_is_exclusive(x_21); +if (x_23 == 0) +{ +lean_object* x_24; lean_object* x_25; uint8_t x_26; +x_24 = lean_ctor_get(x_21, 0); +lean_dec(x_24); +lean_ctor_set(x_21, 0, x_13); +x_25 = lean_st_ref_set(x_4, x_21, x_22); +x_26 = !lean_is_exclusive(x_25); +if (x_26 == 0) +{ +lean_object* x_27; uint8_t x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_25, 0); +lean_dec(x_27); +x_28 = 0; +x_29 = lean_box(x_28); +lean_ctor_set(x_25, 0, x_29); +return x_25; +} +else +{ +lean_object* x_30; uint8_t x_31; lean_object* x_32; lean_object* x_33; +x_30 = lean_ctor_get(x_25, 1); +lean_inc(x_30); +lean_dec(x_25); +x_31 = 0; +x_32 = lean_box(x_31); +x_33 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_33, 0, x_32); +lean_ctor_set(x_33, 1, x_30); +return x_33; +} +} +else +{ +lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43; +x_34 = lean_ctor_get(x_21, 1); +x_35 = lean_ctor_get(x_21, 2); +x_36 = lean_ctor_get(x_21, 3); +lean_inc(x_36); +lean_inc(x_35); +lean_inc(x_34); +lean_dec(x_21); +x_37 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_37, 0, x_13); +lean_ctor_set(x_37, 1, x_34); +lean_ctor_set(x_37, 2, x_35); +lean_ctor_set(x_37, 3, x_36); +x_38 = lean_st_ref_set(x_4, x_37, x_22); +x_39 = lean_ctor_get(x_38, 1); +lean_inc(x_39); +if (lean_is_exclusive(x_38)) { + lean_ctor_release(x_38, 0); + lean_ctor_release(x_38, 1); + x_40 = x_38; +} else { + lean_dec_ref(x_38); + x_40 = lean_box(0); +} +x_41 = 0; +x_42 = lean_box(x_41); +if (lean_is_scalar(x_40)) { + x_43 = lean_alloc_ctor(0, 2, 0); +} else { + x_43 = x_40; +} +lean_ctor_set(x_43, 0, x_42); +lean_ctor_set(x_43, 1, x_39); +return x_43; +} +} +else +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; uint8_t x_53; +lean_dec(x_13); +x_44 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__2(x_2, x_1, x_15); +x_45 = lean_ctor_get(x_44, 1); +lean_inc(x_45); +x_46 = lean_ctor_get(x_44, 0); +lean_inc(x_46); +lean_dec(x_44); +x_47 = lean_ctor_get(x_45, 1); +lean_inc(x_47); +lean_dec(x_45); +x_48 = lean_st_ref_get(x_6, x_12); +x_49 = lean_ctor_get(x_48, 1); +lean_inc(x_49); +lean_dec(x_48); +x_50 = lean_st_ref_take(x_4, x_49); +x_51 = lean_ctor_get(x_50, 0); +lean_inc(x_51); +x_52 = lean_ctor_get(x_50, 1); +lean_inc(x_52); +lean_dec(x_50); +x_53 = !lean_is_exclusive(x_51); +if (x_53 == 0) +{ +lean_object* x_54; lean_object* x_55; uint8_t x_56; +x_54 = lean_ctor_get(x_51, 0); +lean_dec(x_54); +lean_ctor_set(x_51, 0, x_47); +x_55 = lean_st_ref_set(x_4, x_51, x_52); +x_56 = !lean_is_exclusive(x_55); +if (x_56 == 0) +{ +lean_object* x_57; +x_57 = lean_ctor_get(x_55, 0); +lean_dec(x_57); +lean_ctor_set(x_55, 0, x_46); +return x_55; +} +else +{ +lean_object* x_58; lean_object* x_59; +x_58 = lean_ctor_get(x_55, 1); +lean_inc(x_58); +lean_dec(x_55); +x_59 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_59, 0, x_46); +lean_ctor_set(x_59, 1, x_58); +return x_59; +} +} +else +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_60 = lean_ctor_get(x_51, 1); +x_61 = lean_ctor_get(x_51, 2); +x_62 = lean_ctor_get(x_51, 3); +lean_inc(x_62); +lean_inc(x_61); +lean_inc(x_60); +lean_dec(x_51); +x_63 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_63, 0, x_47); +lean_ctor_set(x_63, 1, x_60); +lean_ctor_set(x_63, 2, x_61); +lean_ctor_set(x_63, 3, x_62); +x_64 = lean_st_ref_set(x_4, x_63, x_52); +x_65 = lean_ctor_get(x_64, 1); +lean_inc(x_65); +if (lean_is_exclusive(x_64)) { + lean_ctor_release(x_64, 0); + lean_ctor_release(x_64, 1); + x_66 = x_64; +} else { + lean_dec_ref(x_64); + x_66 = lean_box(0); +} +if (lean_is_scalar(x_66)) { + x_67 = lean_alloc_ctor(0, 2, 0); +} else { + x_67 = x_66; +} +lean_ctor_set(x_67, 0, x_46); +lean_ctor_set(x_67, 1, x_65); +return x_67; +} +} +} +else +{ +lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; uint8_t x_77; +lean_dec(x_13); +x_68 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__10(x_2, x_1, x_15); +x_69 = lean_ctor_get(x_68, 1); +lean_inc(x_69); +x_70 = lean_ctor_get(x_68, 0); +lean_inc(x_70); +lean_dec(x_68); +x_71 = lean_ctor_get(x_69, 1); +lean_inc(x_71); +lean_dec(x_69); +x_72 = lean_st_ref_get(x_6, x_12); +x_73 = lean_ctor_get(x_72, 1); +lean_inc(x_73); +lean_dec(x_72); +x_74 = lean_st_ref_take(x_4, x_73); +x_75 = lean_ctor_get(x_74, 0); +lean_inc(x_75); +x_76 = lean_ctor_get(x_74, 1); +lean_inc(x_76); +lean_dec(x_74); +x_77 = !lean_is_exclusive(x_75); +if (x_77 == 0) +{ +lean_object* x_78; lean_object* x_79; uint8_t x_80; +x_78 = lean_ctor_get(x_75, 0); +lean_dec(x_78); +lean_ctor_set(x_75, 0, x_71); +x_79 = lean_st_ref_set(x_4, x_75, x_76); +x_80 = !lean_is_exclusive(x_79); +if (x_80 == 0) +{ +lean_object* x_81; +x_81 = lean_ctor_get(x_79, 0); +lean_dec(x_81); +lean_ctor_set(x_79, 0, x_70); +return x_79; +} +else +{ +lean_object* x_82; lean_object* x_83; +x_82 = lean_ctor_get(x_79, 1); +lean_inc(x_82); +lean_dec(x_79); +x_83 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_83, 0, x_70); +lean_ctor_set(x_83, 1, x_82); +return x_83; +} +} +else +{ +lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; +x_84 = lean_ctor_get(x_75, 1); +x_85 = lean_ctor_get(x_75, 2); +x_86 = lean_ctor_get(x_75, 3); +lean_inc(x_86); +lean_inc(x_85); +lean_inc(x_84); +lean_dec(x_75); +x_87 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_87, 0, x_71); +lean_ctor_set(x_87, 1, x_84); +lean_ctor_set(x_87, 2, x_85); +lean_ctor_set(x_87, 3, x_86); +x_88 = lean_st_ref_set(x_4, x_87, x_76); +x_89 = lean_ctor_get(x_88, 1); +lean_inc(x_89); +if (lean_is_exclusive(x_88)) { + lean_ctor_release(x_88, 0); + lean_ctor_release(x_88, 1); + x_90 = x_88; +} else { + lean_dec_ref(x_88); + x_90 = lean_box(0); +} +if (lean_is_scalar(x_90)) { + x_91 = lean_alloc_ctor(0, 2, 0); +} else { + x_91 = x_90; +} +lean_ctor_set(x_91, 0, x_70); +lean_ctor_set(x_91, 1, x_89); +return x_91; +} +} +} +} LEAN_EXPORT lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate(lean_object* x_1, 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: { @@ -17437,7 +19512,7 @@ else { lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; x_12 = l_Lean_Expr_fvarId_x21(x_1); -x_13 = l_Lean_exprDependsOn___at___private_Lean_Meta_CongrTheorems_0__Lean_Meta_mkCast_go___spec__1(x_2, x_12, x_3, x_4, x_5, x_6, x_7); +x_13 = l_Lean_exprDependsOn___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__1(x_2, x_12, x_3, x_4, x_5, x_6, x_7); lean_dec(x_12); x_14 = lean_ctor_get(x_13, 0); lean_inc(x_14); @@ -17502,6 +19577,203 @@ return x_31; } } } +LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__4(x_1, x_2, x_3); +lean_dec(x_1); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__7___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_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__7(x_1, x_2, x_5, x_6); +lean_dec(x_2); +lean_dec(x_1); +x_8 = lean_box(x_7); +return x_8; +} +} +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__8___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_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__8(x_1, x_2, x_5, x_6); +lean_dec(x_2); +lean_dec(x_1); +x_8 = lean_box(x_7); +return x_8; +} +} +LEAN_EXPORT lean_object* l_Std_PersistentArray_anyMAux___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__6___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_Std_PersistentArray_anyMAux___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__6(x_1, x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__9___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_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__9(x_1, x_2, x_5, x_6); +lean_dec(x_2); +lean_dec(x_1); +x_8 = lean_box(x_7); +return x_8; +} +} +LEAN_EXPORT lean_object* l_Std_PersistentArray_anyM___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__5___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_Std_PersistentArray_anyM___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__5(x_1, x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__3(x_1, x_2, x_3); +lean_dec(x_1); +return x_4; +} +} +LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__2(x_1, x_2, x_3); +lean_dec(x_1); +return x_4; +} +} +LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__12___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__12(x_1, x_2, x_3); +lean_dec(x_1); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__15___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_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__15(x_1, x_2, x_5, x_6); +lean_dec(x_2); +lean_dec(x_1); +x_8 = lean_box(x_7); +return x_8; +} +} +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__16___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_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__16(x_1, x_2, x_5, x_6); +lean_dec(x_2); +lean_dec(x_1); +x_8 = lean_box(x_7); +return x_8; +} +} +LEAN_EXPORT lean_object* l_Std_PersistentArray_anyMAux___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__14___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_Std_PersistentArray_anyMAux___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__14(x_1, x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__17___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_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__17(x_1, x_2, x_5, x_6); +lean_dec(x_2); +lean_dec(x_1); +x_8 = lean_box(x_7); +return x_8; +} +} +LEAN_EXPORT lean_object* l_Std_PersistentArray_anyM___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__13___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_Std_PersistentArray_anyM___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__13(x_1, x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__11___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__11(x_1, x_2, x_3); +lean_dec(x_1); +return x_4; +} +} +LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__10(x_1, x_2, x_3); +lean_dec(x_1); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Lean_exprDependsOn___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; +x_8 = l_Lean_exprDependsOn___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_8; +} +} LEAN_EXPORT lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___boxed(lean_object* x_1, 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: { @@ -19400,7 +21672,7 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_15 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall___spec__1___rarg(x_12); +x_15 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg(x_12); return x_15; } else @@ -19426,7 +21698,7 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_22 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall___spec__1___rarg(x_12); +x_22 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg(x_12); return x_22; } else @@ -21165,11 +23437,9 @@ return x_4; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Init_Data_ToString(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Compiler_BorrowedAnnotation(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_KAbstract(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Transform(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_App(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Meta_MatchUtil(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_SyntheticMVars(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Elab_BuiltinNotation(uint8_t builtin, lean_object* w) { @@ -21179,19 +23449,13 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Init_Data_ToString(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Compiler_BorrowedAnnotation(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_Meta_KAbstract(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_Transform(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Elab_App(builtin, lean_io_mk_world()); +res = initialize_Lean_Meta_MatchUtil(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_Elab_SyntheticMVars(builtin, lean_io_mk_world()); @@ -21245,22 +23509,26 @@ lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_elabCoe_declRange___closed__7 res = l___regBuiltin_Lean_Elab_Term_elabCoe_declRange(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___closed__1 = _init_l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___closed__1(); -lean_mark_persistent(l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___closed__1); -l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___closed__2 = _init_l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___closed__2(); -lean_mark_persistent(l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___closed__2); -l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___closed__3 = _init_l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___closed__3(); -lean_mark_persistent(l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___closed__3); -l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___closed__4 = _init_l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___closed__4(); -lean_mark_persistent(l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___closed__4); -l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__1 = _init_l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__1(); -lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__1); -l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__2 = _init_l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__2(); -lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__2); -l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__3 = _init_l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__3(); -lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__3); -l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__4 = _init_l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__4(); -lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__3___closed__4); +l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg___closed__1 = _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg___closed__1(); +lean_mark_persistent(l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg___closed__1); +l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg___closed__2 = _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg___closed__2(); +lean_mark_persistent(l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg___closed__2); +l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___closed__1 = _init_l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___closed__1(); +lean_mark_persistent(l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___closed__1); +l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___closed__2 = _init_l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___closed__2(); +lean_mark_persistent(l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___closed__2); +l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___closed__3 = _init_l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___closed__3(); +lean_mark_persistent(l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___closed__3); +l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___closed__4 = _init_l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___closed__4(); +lean_mark_persistent(l_Lean_getConstInfoCtor___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___closed__4); +l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__1 = _init_l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__1(); +lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__1); +l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__2 = _init_l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__2(); +lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__2); +l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__3 = _init_l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__3(); +lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__3); +l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__4 = _init_l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__4(); +lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAnonymousCtor___spec__4___closed__4); l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__1 = _init_l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__1(); lean_mark_persistent(l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__1); l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__2 = _init_l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__2(); @@ -21293,6 +23561,14 @@ l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__15 = _init_l_Lean_Elab_ lean_mark_persistent(l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__15); l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__16 = _init_l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__16(); lean_mark_persistent(l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__16); +l_Lean_Elab_Term_elabAnonymousCtor___lambda__4___closed__1 = _init_l_Lean_Elab_Term_elabAnonymousCtor___lambda__4___closed__1(); +lean_mark_persistent(l_Lean_Elab_Term_elabAnonymousCtor___lambda__4___closed__1); +l_Lean_Elab_Term_elabAnonymousCtor___lambda__4___closed__2 = _init_l_Lean_Elab_Term_elabAnonymousCtor___lambda__4___closed__2(); +lean_mark_persistent(l_Lean_Elab_Term_elabAnonymousCtor___lambda__4___closed__2); +l_Lean_Elab_Term_elabAnonymousCtor___lambda__4___closed__3 = _init_l_Lean_Elab_Term_elabAnonymousCtor___lambda__4___closed__3(); +lean_mark_persistent(l_Lean_Elab_Term_elabAnonymousCtor___lambda__4___closed__3); +l_Lean_Elab_Term_elabAnonymousCtor___lambda__4___closed__4 = _init_l_Lean_Elab_Term_elabAnonymousCtor___lambda__4___closed__4(); +lean_mark_persistent(l_Lean_Elab_Term_elabAnonymousCtor___lambda__4___closed__4); l_Lean_Elab_Term_elabAnonymousCtor___closed__1 = _init_l_Lean_Elab_Term_elabAnonymousCtor___closed__1(); lean_mark_persistent(l_Lean_Elab_Term_elabAnonymousCtor___closed__1); l_Lean_Elab_Term_elabAnonymousCtor___closed__2 = _init_l_Lean_Elab_Term_elabAnonymousCtor___closed__2(); @@ -22085,10 +24361,6 @@ l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__ lean_mark_persistent(l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__4___closed__1); l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__4___closed__2 = _init_l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__4___closed__2(); lean_mark_persistent(l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__4___closed__2); -l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__5___rarg___closed__1 = _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__5___rarg___closed__1(); -lean_mark_persistent(l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__5___rarg___closed__1); -l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__5___rarg___closed__2 = _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__5___rarg___closed__2(); -lean_mark_persistent(l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__5___rarg___closed__2); l_Lean_Elab_Term_elabCDotFunctionAlias_x3f___closed__1 = _init_l_Lean_Elab_Term_elabCDotFunctionAlias_x3f___closed__1(); lean_mark_persistent(l_Lean_Elab_Term_elabCDotFunctionAlias_x3f___closed__1); l_Lean_Elab_Term_elabCDotFunctionAlias_x3f___closed__2 = _init_l_Lean_Elab_Term_elabCDotFunctionAlias_x3f___closed__2(); @@ -22179,6 +24451,8 @@ lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_elabParen_declRange___closed_ res = l___regBuiltin_Lean_Elab_Term_elabParen_declRange(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +l_Lean_exprDependsOn___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__1___closed__1 = _init_l_Lean_exprDependsOn___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__1___closed__1(); +lean_mark_persistent(l_Lean_exprDependsOn___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_isSubstCandidate___spec__1___closed__1); l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_withLocalIdentFor___closed__1 = _init_l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_withLocalIdentFor___closed__1(); lean_mark_persistent(l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_withLocalIdentFor___closed__1); l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_withLocalIdentFor___closed__2 = _init_l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_withLocalIdentFor___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/BuiltinTerm.c b/stage0/stdlib/Lean/Elab/BuiltinTerm.c index 398d8518b5..a3701b36c0 100644 --- a/stage0/stdlib/Lean/Elab/BuiltinTerm.c +++ b/stage0/stdlib/Lean/Elab/BuiltinTerm.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.BuiltinTerm -// Imports: Init Lean.Elab.Term Lean.Elab.Eval +// Imports: Init Lean.Elab.Open Lean.Elab.SetOption Lean.Elab.Eval #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -27,6 +27,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_elabStrLit___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Term_elabByTactic_declRange___closed__6; static lean_object* l___private_Lean_Elab_Open_0__Lean_Elab_OpenDecl_resolveNameUsingNamespacesCore___at_Lean_Elab_Term_elabOpen___spec__24___lambda__1___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabTypeOf___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1___rarg(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabEnsureTypeOf___closed__2; LEAN_EXPORT lean_object* l_Lean_MVarId_isDelayedAssigned___at_Lean_Elab_Term_elabSyntheticHole___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabScientificLit(lean_object*); @@ -34,7 +35,6 @@ static lean_object* l_Lean_Elab_Term_elabDeclName___lambda__1___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Term_elabTypeStx___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_throwIllFormedSyntax___at_Lean_Elab_Term_elabStrLit___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabLetMVar___closed__5; -lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall___spec__1___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_popScope___at_Lean_Elab_Term_elabOpen___spec__37(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabDeclName___lambda__1___closed__2; static lean_object* l_Lean_Elab_nestedExceptionToMessageData___at_Lean_Elab_Term_elabOpen___spec__27___closed__3; @@ -51,7 +51,6 @@ lean_object* lean_erase_macro_scopes(lean_object*); static lean_object* l___private_Lean_Elab_BuiltinTerm_0__Lean_Elab_Term_getMVarFromUserName___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Term_elabProp___closed__14; LEAN_EXPORT lean_object* l___private_Lean_Elab_BuiltinTerm_0__Lean_Elab_Term_getMVarFromUserName___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_withLCtx___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_FunBinders_elabFunBinderViews___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabWaitIfTypeMVar_declRange___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Term_elabWaitIfContainsMVar_declRange___closed__6; @@ -94,6 +93,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabWithAnnotateTerm___lambda__1___box lean_object* l_List_mapTRAux___at_Lean_resolveGlobalConstCore___spec__2(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabBadCDot_declRange___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Term_elabProp_declRange___closed__6; +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabCharLit___closed__3; lean_object* l_Lean_Level_succ___override(lean_object*); static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Term_elabDoubleQuotedName___spec__2___closed__1; @@ -306,6 +306,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Open_0__Lean_Elab_OpenDecl_addOpe static lean_object* l___regBuiltin_Lean_Elab_Term_elabTypeStx___closed__5; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabQuotedName_declRange(lean_object*); lean_object* l_Lean_Elab_Term_evalTerm___rarg(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_withLCtx___at_Lean_Elab_Term_elabSyntheticHole___spec__4(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabWaitIfTypeMVar(lean_object*); static lean_object* l___private_Lean_Elab_BuiltinTerm_0__Lean_Elab_Term_mkSilentAnnotationIfHole___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabWaitIfTypeContainsMVar___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -562,6 +563,7 @@ lean_object* l_Lean_throwError___at___private_Lean_Elab_Term_0__Lean_Elab_Term_e lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Term_resolveName___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabSetOption_setOption___at_Lean_Elab_Term_elabSetOption___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabPipeCompletion_declRange___closed__2; +LEAN_EXPORT lean_object* l_Lean_Meta_withLCtx___at_Lean_Elab_Term_elabSyntheticHole___spec__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabNoImplicitLambda___closed__3; static lean_object* l_Lean_Elab_Term_elabOpen___closed__2; static lean_object* l___private_Lean_Elab_BuiltinTerm_0__Lean_Elab_Term_evalFilePathUnsafe___closed__5; @@ -571,8 +573,8 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabEnsureTypeOf(lean_obj LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabEnsureTypeOf___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabWithDeclName___closed__1; static lean_object* l_Lean_Elab_Term_elabWaitIfContainsMVar___closed__1; +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabStrLit_declRange(lean_object*); -static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabOpen___spec__4___rarg___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_BuiltinTerm_0__Lean_Elab_Term_getMVarFromUserName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Term_elabDoubleQuotedName___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabSort_declRange___closed__7; @@ -776,7 +778,6 @@ static lean_object* l_Lean_Elab_elabSetOption_setOption___at_Lean_Elab_Term_elab lean_object* l_IO_FS_readFile(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabProp_declRange___closed__7; LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Term_elabDoubleQuotedName___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabOpen___spec__4___rarg___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Term_elabTypeStx_declRange___closed__7; extern lean_object* l_Lean_Elab_unsupportedSyntaxExceptionId; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabOpen___spec__19(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -809,6 +810,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabIncludeStr(lean_object*, lean_obje lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Open_0__Lean_Elab_OpenDecl_resolveNameUsingNamespacesCore___spec__2(size_t, size_t, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabOpen_declRange___closed__5; static lean_object* l___regBuiltin_Lean_Elab_Term_elabCharLit_declRange___closed__2; +lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalContextImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabDeclName___closed__5; lean_object* l_Lean_MetavarContext_getDecl(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabWaitIfContainsMVar_declRange___closed__5; @@ -881,6 +883,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabBadCDot___rarg___boxed(lean_object static lean_object* l_Lean_Elab_OpenDecl_elabOpenDecl___at_Lean_Elab_Term_elabOpen___spec__3___closed__5; static lean_object* l___regBuiltin_Lean_Elab_Term_elabSyntheticHole___closed__4; lean_object* l_Lean_ScopedEnvExtension_activateScoped___rarg(lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1___rarg___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Term_elabSetOption___closed__3; LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Term_elabOpen___spec__14___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_Elab_Term_mkTermInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -900,6 +903,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabRawNatLit___boxed(lean_object*, le lean_object* l_Lean_mkApp3(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabTypeOf___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Term_elabNoImplicitLambda___closed__1; +static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1___rarg___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Term_elabOpen_declRange___closed__4; static lean_object* l_Lean_Elab_Term_elabSyntheticHole___closed__7; static lean_object* l___regBuiltin_Lean_Elab_Term_elabLetMVar_declRange___closed__4; @@ -1125,7 +1129,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabProp_declRange___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(12u); +x_1 = lean_unsigned_to_nat(13u); x_2 = lean_unsigned_to_nat(26u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1137,7 +1141,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabProp_declRange___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(13u); +x_1 = lean_unsigned_to_nat(14u); x_2 = lean_unsigned_to_nat(25u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1165,7 +1169,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabProp_declRange___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(12u); +x_1 = lean_unsigned_to_nat(13u); x_2 = lean_unsigned_to_nat(30u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1177,7 +1181,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabProp_declRange___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(12u); +x_1 = lean_unsigned_to_nat(13u); x_2 = lean_unsigned_to_nat(38u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1397,7 +1401,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabSort_declRange___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(21u); +x_1 = lean_unsigned_to_nat(22u); x_2 = lean_unsigned_to_nat(26u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1409,7 +1413,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabSort_declRange___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(22u); +x_1 = lean_unsigned_to_nat(23u); x_2 = lean_unsigned_to_nat(39u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1437,7 +1441,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabSort_declRange___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(21u); +x_1 = lean_unsigned_to_nat(22u); x_2 = lean_unsigned_to_nat(30u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1449,7 +1453,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabSort_declRange___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(21u); +x_1 = lean_unsigned_to_nat(22u); x_2 = lean_unsigned_to_nat(38u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1632,7 +1636,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabTypeStx_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(24u); +x_1 = lean_unsigned_to_nat(25u); x_2 = lean_unsigned_to_nat(26u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1644,7 +1648,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabTypeStx_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(25u); +x_1 = lean_unsigned_to_nat(26u); x_2 = lean_unsigned_to_nat(53u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1672,7 +1676,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabTypeStx_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(24u); +x_1 = lean_unsigned_to_nat(25u); x_2 = lean_unsigned_to_nat(30u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1684,7 +1688,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabTypeStx_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(24u); +x_1 = lean_unsigned_to_nat(25u); x_2 = lean_unsigned_to_nat(41u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1997,7 +2001,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabPipeCompletion_declR _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(33u); +x_1 = lean_unsigned_to_nat(34u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2009,7 +2013,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabPipeCompletion_declR _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(37u); +x_1 = lean_unsigned_to_nat(38u); x_2 = lean_unsigned_to_nat(78u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2037,7 +2041,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabPipeCompletion_declR _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(33u); +x_1 = lean_unsigned_to_nat(34u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2049,7 +2053,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabPipeCompletion_declR _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(33u); +x_1 = lean_unsigned_to_nat(34u); x_2 = lean_unsigned_to_nat(58u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2264,7 +2268,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabCompletion_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(39u); +x_1 = lean_unsigned_to_nat(40u); x_2 = lean_unsigned_to_nat(32u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2276,7 +2280,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabCompletion_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(54u); +x_1 = lean_unsigned_to_nat(55u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2304,7 +2308,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabCompletion_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(39u); +x_1 = lean_unsigned_to_nat(40u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2316,7 +2320,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabCompletion_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(39u); +x_1 = lean_unsigned_to_nat(40u); x_2 = lean_unsigned_to_nat(50u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2474,7 +2478,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabHole_declRange___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(56u); +x_1 = lean_unsigned_to_nat(57u); x_2 = lean_unsigned_to_nat(26u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2486,7 +2490,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabHole_declRange___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(59u); +x_1 = lean_unsigned_to_nat(60u); x_2 = lean_unsigned_to_nat(11u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2514,7 +2518,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabHole_declRange___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(56u); +x_1 = lean_unsigned_to_nat(57u); x_2 = lean_unsigned_to_nat(30u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2526,7 +2530,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabHole_declRange___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(56u); +x_1 = lean_unsigned_to_nat(57u); x_2 = lean_unsigned_to_nat(38u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3443,6 +3447,66 @@ return x_184; } } } +LEAN_EXPORT lean_object* l_Lean_Meta_withLCtx___at_Lean_Elab_Term_elabSyntheticHole___spec__4___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; lean_object* x_12; +x_11 = lean_apply_2(x_3, x_4, x_5); +x_12 = l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalContextImp___rarg(x_1, x_2, x_11, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_12) == 0) +{ +uint8_t x_13; +x_13 = !lean_is_exclusive(x_12); +if (x_13 == 0) +{ +return x_12; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_14 = lean_ctor_get(x_12, 0); +x_15 = lean_ctor_get(x_12, 1); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_12); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_14); +lean_ctor_set(x_16, 1, x_15); +return x_16; +} +} +else +{ +uint8_t x_17; +x_17 = !lean_is_exclusive(x_12); +if (x_17 == 0) +{ +return x_12; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_12, 0); +x_19 = lean_ctor_get(x_12, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_12); +x_20 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_20, 0, x_18); +lean_ctor_set(x_20, 1, x_19); +return x_20; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_withLCtx___at_Lean_Elab_Term_elabSyntheticHole___spec__4(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_withLCtx___at_Lean_Elab_Term_elabSyntheticHole___spec__4___rarg), 10, 0); +return x_2; +} +} static lean_object* _init_l_Lean_Elab_Term_elabSyntheticHole___closed__1() { _start: { @@ -3784,7 +3848,7 @@ lean_ctor_set(x_79, 0, x_77); lean_ctor_set(x_79, 1, x_78); x_80 = lean_alloc_closure((void*)(l_Lean_throwError___at___private_Lean_Elab_Term_0__Lean_Elab_Term_synthesizeInst___spec__1___boxed), 8, 1); lean_closure_set(x_80, 0, x_79); -x_81 = l_Lean_Meta_withLCtx___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_FunBinders_elabFunBinderViews___spec__3___rarg(x_37, x_74, x_80, x_3, x_4, x_5, x_6, x_7, x_8, x_73); +x_81 = l_Lean_Meta_withLCtx___at_Lean_Elab_Term_elabSyntheticHole___spec__4___rarg(x_37, x_74, x_80, x_3, x_4, x_5, x_6, x_7, x_8, x_73); return x_81; } else @@ -4012,7 +4076,7 @@ lean_ctor_set(x_130, 0, x_128); lean_ctor_set(x_130, 1, x_129); x_131 = lean_alloc_closure((void*)(l_Lean_throwError___at___private_Lean_Elab_Term_0__Lean_Elab_Term_synthesizeInst___spec__1___boxed), 8, 1); lean_closure_set(x_131, 0, x_130); -x_132 = l_Lean_Meta_withLCtx___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_FunBinders_elabFunBinderViews___spec__3___rarg(x_89, x_125, x_131, x_3, x_4, x_5, x_6, x_7, x_8, x_124); +x_132 = l_Lean_Meta_withLCtx___at_Lean_Elab_Term_elabSyntheticHole___spec__4___rarg(x_89, x_125, x_131, x_3, x_4, x_5, x_6, x_7, x_8, x_124); return x_132; } else @@ -4305,7 +4369,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabSyntheticHole_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(61u); +x_1 = lean_unsigned_to_nat(62u); x_2 = lean_unsigned_to_nat(35u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4316,12 +4380,13 @@ return x_3; static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabSyntheticHole_declRange___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = lean_unsigned_to_nat(97u); -x_2 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_2, 0, x_1); -lean_ctor_set(x_2, 1, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_unsigned_to_nat(98u); +x_2 = lean_unsigned_to_nat(97u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; } } static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabSyntheticHole_declRange___closed__3() { @@ -4344,7 +4409,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabSyntheticHole_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(61u); +x_1 = lean_unsigned_to_nat(62u); x_2 = lean_unsigned_to_nat(39u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4356,7 +4421,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabSyntheticHole_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(61u); +x_1 = lean_unsigned_to_nat(62u); x_2 = lean_unsigned_to_nat(56u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4402,6 +4467,45 @@ x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); return x_4; } } +static lean_object* _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1___rarg___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_Elab_unsupportedSyntaxExceptionId; +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1___rarg___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1___rarg___closed__1; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1___rarg(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1___rarg___closed__2; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___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; +x_7 = lean_alloc_closure((void*)(l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1___rarg), 1, 0); +return x_7; +} +} static lean_object* _init_l_Lean_Elab_Term_elabLetMVar___closed__1() { _start: { @@ -4472,7 +4576,7 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall___spec__1___rarg(x_9); +x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1___rarg(x_9); return x_12; } else @@ -4695,6 +4799,20 @@ return x_68; } } } +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___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_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_7; +} +} static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabLetMVar___closed__1() { _start: { @@ -4737,7 +4855,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabLetMVar_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(99u); +x_1 = lean_unsigned_to_nat(100u); x_2 = lean_unsigned_to_nat(29u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4749,7 +4867,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabLetMVar_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(110u); +x_1 = lean_unsigned_to_nat(111u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4777,7 +4895,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabLetMVar_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(99u); +x_1 = lean_unsigned_to_nat(100u); x_2 = lean_unsigned_to_nat(33u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4789,7 +4907,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabLetMVar_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(99u); +x_1 = lean_unsigned_to_nat(100u); x_2 = lean_unsigned_to_nat(44u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4967,7 +5085,7 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall___spec__1___rarg(x_9); +x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1___rarg(x_9); return x_12; } else @@ -5154,7 +5272,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabWaitIfTypeMVar_declR _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(118u); +x_1 = lean_unsigned_to_nat(119u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5166,7 +5284,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabWaitIfTypeMVar_declR _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(123u); +x_1 = lean_unsigned_to_nat(124u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5194,7 +5312,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabWaitIfTypeMVar_declR _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(118u); +x_1 = lean_unsigned_to_nat(119u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5206,7 +5324,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabWaitIfTypeMVar_declR _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(118u); +x_1 = lean_unsigned_to_nat(119u); x_2 = lean_unsigned_to_nat(58u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5297,7 +5415,7 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall___spec__1___rarg(x_9); +x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1___rarg(x_9); return x_12; } else @@ -5508,7 +5626,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabWaitIfTypeContainsMV _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(125u); +x_1 = lean_unsigned_to_nat(126u); x_2 = lean_unsigned_to_nat(44u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5520,7 +5638,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabWaitIfTypeContainsMV _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(131u); +x_1 = lean_unsigned_to_nat(132u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5548,7 +5666,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabWaitIfTypeContainsMV _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(125u); +x_1 = lean_unsigned_to_nat(126u); x_2 = lean_unsigned_to_nat(48u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5560,7 +5678,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabWaitIfTypeContainsMV _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(125u); +x_1 = lean_unsigned_to_nat(126u); x_2 = lean_unsigned_to_nat(74u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5642,7 +5760,7 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall___spec__1___rarg(x_9); +x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1___rarg(x_9); return x_12; } else @@ -5794,7 +5912,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabWaitIfContainsMVar_d _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(133u); +x_1 = lean_unsigned_to_nat(134u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5806,7 +5924,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabWaitIfContainsMVar_d _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(139u); +x_1 = lean_unsigned_to_nat(140u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5834,7 +5952,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabWaitIfContainsMVar_d _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(133u); +x_1 = lean_unsigned_to_nat(134u); x_2 = lean_unsigned_to_nat(44u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5846,7 +5964,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabWaitIfContainsMVar_d _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(133u); +x_1 = lean_unsigned_to_nat(134u); x_2 = lean_unsigned_to_nat(66u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6115,7 +6233,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabByTactic_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(148u); +x_1 = lean_unsigned_to_nat(149u); x_2 = lean_unsigned_to_nat(28u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6127,7 +6245,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabByTactic_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(153u); +x_1 = lean_unsigned_to_nat(154u); x_2 = lean_unsigned_to_nat(75u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6155,7 +6273,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabByTactic_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(148u); +x_1 = lean_unsigned_to_nat(149u); x_2 = lean_unsigned_to_nat(32u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6167,7 +6285,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabByTactic_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(148u); +x_1 = lean_unsigned_to_nat(149u); x_2 = lean_unsigned_to_nat(44u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6326,7 +6444,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabNoImplicitLambda_dec _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(155u); +x_1 = lean_unsigned_to_nat(156u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6338,7 +6456,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabNoImplicitLambda_dec _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(156u); +x_1 = lean_unsigned_to_nat(157u); x_2 = lean_unsigned_to_nat(66u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6366,7 +6484,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabNoImplicitLambda_dec _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(155u); +x_1 = lean_unsigned_to_nat(156u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6378,7 +6496,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabNoImplicitLambda_dec _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(155u); +x_1 = lean_unsigned_to_nat(156u); x_2 = lean_unsigned_to_nat(60u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6541,7 +6659,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabBadCDot_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(158u); +x_1 = lean_unsigned_to_nat(159u); x_2 = lean_unsigned_to_nat(24u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6553,7 +6671,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabBadCDot_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(159u); +x_1 = lean_unsigned_to_nat(160u); x_2 = lean_unsigned_to_nat(104u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6581,7 +6699,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabBadCDot_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(158u); +x_1 = lean_unsigned_to_nat(159u); x_2 = lean_unsigned_to_nat(28u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6593,7 +6711,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabBadCDot_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(158u); +x_1 = lean_unsigned_to_nat(159u); x_2 = lean_unsigned_to_nat(39u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6781,7 +6899,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabStrLit_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(161u); +x_1 = lean_unsigned_to_nat(162u); x_2 = lean_unsigned_to_nat(23u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6793,7 +6911,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabStrLit_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(164u); +x_1 = lean_unsigned_to_nat(165u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6821,7 +6939,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabStrLit_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(161u); +x_1 = lean_unsigned_to_nat(162u); x_2 = lean_unsigned_to_nat(27u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6833,7 +6951,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabStrLit_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(161u); +x_1 = lean_unsigned_to_nat(162u); x_2 = lean_unsigned_to_nat(37u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -7411,7 +7529,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabNumLit_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(173u); +x_1 = lean_unsigned_to_nat(174u); x_2 = lean_unsigned_to_nat(23u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -7423,7 +7541,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabNumLit_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(182u); +x_1 = lean_unsigned_to_nat(183u); x_2 = lean_unsigned_to_nat(10u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -7451,7 +7569,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabNumLit_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(173u); +x_1 = lean_unsigned_to_nat(174u); x_2 = lean_unsigned_to_nat(27u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -7463,7 +7581,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabNumLit_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(173u); +x_1 = lean_unsigned_to_nat(174u); x_2 = lean_unsigned_to_nat(37u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -7613,7 +7731,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabRawNatLit_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(184u); +x_1 = lean_unsigned_to_nat(185u); x_2 = lean_unsigned_to_nat(29u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -7625,7 +7743,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabRawNatLit_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(187u); +x_1 = lean_unsigned_to_nat(188u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -7653,7 +7771,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabRawNatLit_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(184u); +x_1 = lean_unsigned_to_nat(185u); x_2 = lean_unsigned_to_nat(33u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -7665,7 +7783,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabRawNatLit_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(184u); +x_1 = lean_unsigned_to_nat(185u); x_2 = lean_unsigned_to_nat(46u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8147,7 +8265,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabScientificLit_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(190u); +x_1 = lean_unsigned_to_nat(191u); x_2 = lean_unsigned_to_nat(0u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8159,7 +8277,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabScientificLit_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(199u); +x_1 = lean_unsigned_to_nat(200u); x_2 = lean_unsigned_to_nat(12u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8187,7 +8305,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabScientificLit_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(190u); +x_1 = lean_unsigned_to_nat(191u); x_2 = lean_unsigned_to_nat(4u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8199,7 +8317,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabScientificLit_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(190u); +x_1 = lean_unsigned_to_nat(191u); x_2 = lean_unsigned_to_nat(21u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8389,7 +8507,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabCharLit_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(201u); +x_1 = lean_unsigned_to_nat(202u); x_2 = lean_unsigned_to_nat(24u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8401,7 +8519,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabCharLit_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(204u); +x_1 = lean_unsigned_to_nat(205u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8429,7 +8547,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabCharLit_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(201u); +x_1 = lean_unsigned_to_nat(202u); x_2 = lean_unsigned_to_nat(28u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8441,7 +8559,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabCharLit_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(201u); +x_1 = lean_unsigned_to_nat(202u); x_2 = lean_unsigned_to_nat(39u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8591,7 +8709,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabQuotedName_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(206u); +x_1 = lean_unsigned_to_nat(207u); x_2 = lean_unsigned_to_nat(30u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8603,7 +8721,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabQuotedName_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(209u); +x_1 = lean_unsigned_to_nat(210u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8631,7 +8749,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabQuotedName_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(206u); +x_1 = lean_unsigned_to_nat(207u); x_2 = lean_unsigned_to_nat(34u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8643,7 +8761,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabQuotedName_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(206u); +x_1 = lean_unsigned_to_nat(207u); x_2 = lean_unsigned_to_nat(48u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -9724,7 +9842,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabDoubleQuotedName_dec _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(211u); +x_1 = lean_unsigned_to_nat(212u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -9736,7 +9854,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabDoubleQuotedName_dec _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(212u); +x_1 = lean_unsigned_to_nat(213u); x_2 = lean_unsigned_to_nat(63u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -9764,7 +9882,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabDoubleQuotedName_dec _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(211u); +x_1 = lean_unsigned_to_nat(212u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -9776,7 +9894,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabDoubleQuotedName_dec _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(211u); +x_1 = lean_unsigned_to_nat(212u); x_2 = lean_unsigned_to_nat(60u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10071,7 +10189,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabDeclName_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(214u); +x_1 = lean_unsigned_to_nat(215u); x_2 = lean_unsigned_to_nat(28u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10083,7 +10201,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabDeclName_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(217u); +x_1 = lean_unsigned_to_nat(218u); x_2 = lean_unsigned_to_nat(32u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10111,7 +10229,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabDeclName_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(214u); +x_1 = lean_unsigned_to_nat(215u); x_2 = lean_unsigned_to_nat(32u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10123,7 +10241,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabDeclName_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(214u); +x_1 = lean_unsigned_to_nat(215u); x_2 = lean_unsigned_to_nat(44u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10277,7 +10395,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabWithDeclName_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(219u); +x_1 = lean_unsigned_to_nat(220u); x_2 = lean_unsigned_to_nat(44u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10289,7 +10407,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabWithDeclName_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(223u); +x_1 = lean_unsigned_to_nat(224u); x_2 = lean_unsigned_to_nat(73u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10317,7 +10435,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabWithDeclName_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(219u); +x_1 = lean_unsigned_to_nat(220u); x_2 = lean_unsigned_to_nat(48u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10329,7 +10447,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabWithDeclName_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(219u); +x_1 = lean_unsigned_to_nat(220u); x_2 = lean_unsigned_to_nat(64u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10497,7 +10615,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabTypeOf_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(225u); +x_1 = lean_unsigned_to_nat(226u); x_2 = lean_unsigned_to_nat(26u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10509,7 +10627,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabTypeOf_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(226u); +x_1 = lean_unsigned_to_nat(227u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10537,7 +10655,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabTypeOf_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(225u); +x_1 = lean_unsigned_to_nat(226u); x_2 = lean_unsigned_to_nat(30u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10549,7 +10667,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabTypeOf_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(225u); +x_1 = lean_unsigned_to_nat(226u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11104,7 +11222,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabEnsureTypeOf_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(256u); +x_1 = lean_unsigned_to_nat(257u); x_2 = lean_unsigned_to_nat(32u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11116,7 +11234,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabEnsureTypeOf_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(263u); +x_1 = lean_unsigned_to_nat(264u); x_2 = lean_unsigned_to_nat(97u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11144,7 +11262,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabEnsureTypeOf_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(256u); +x_1 = lean_unsigned_to_nat(257u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11156,7 +11274,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabEnsureTypeOf_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(256u); +x_1 = lean_unsigned_to_nat(257u); x_2 = lean_unsigned_to_nat(52u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11321,7 +11439,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabEnsureExpectedType_d _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(265u); +x_1 = lean_unsigned_to_nat(266u); x_2 = lean_unsigned_to_nat(38u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11333,7 +11451,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabEnsureExpectedType_d _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(268u); +x_1 = lean_unsigned_to_nat(269u); x_2 = lean_unsigned_to_nat(82u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11361,7 +11479,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabEnsureExpectedType_d _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(265u); +x_1 = lean_unsigned_to_nat(266u); x_2 = lean_unsigned_to_nat(42u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11373,7 +11491,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabEnsureExpectedType_d _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(265u); +x_1 = lean_unsigned_to_nat(266u); x_2 = lean_unsigned_to_nat(64u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11789,31 +11907,11 @@ return x_22; } } } -static lean_object* _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabOpen___spec__4___rarg___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = l_Lean_Elab_unsupportedSyntaxExceptionId; -return x_1; -} -} -static lean_object* _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabOpen___spec__4___rarg___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabOpen___spec__4___rarg___closed__1; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabOpen___spec__4___rarg(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabOpen___spec__4___rarg___closed__2; +x_2 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1___rarg___closed__2; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); @@ -16517,7 +16615,7 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall___spec__1___rarg(x_9); +x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1___rarg(x_9); return x_12; } else @@ -17210,7 +17308,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabOpen_declRange___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(270u); +x_1 = lean_unsigned_to_nat(271u); x_2 = lean_unsigned_to_nat(26u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -17222,7 +17320,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabOpen_declRange___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(278u); +x_1 = lean_unsigned_to_nat(279u); x_2 = lean_unsigned_to_nat(12u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -17250,7 +17348,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabOpen_declRange___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(270u); +x_1 = lean_unsigned_to_nat(271u); x_2 = lean_unsigned_to_nat(30u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -17262,7 +17360,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabOpen_declRange___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(270u); +x_1 = lean_unsigned_to_nat(271u); x_2 = lean_unsigned_to_nat(38u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -17890,7 +17988,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabSetOption_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(280u); +x_1 = lean_unsigned_to_nat(281u); x_2 = lean_unsigned_to_nat(32u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -17902,7 +18000,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabSetOption_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(283u); +x_1 = lean_unsigned_to_nat(284u); x_2 = lean_unsigned_to_nat(33u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -17930,7 +18028,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabSetOption_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(280u); +x_1 = lean_unsigned_to_nat(281u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -17942,7 +18040,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabSetOption_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(280u); +x_1 = lean_unsigned_to_nat(281u); x_2 = lean_unsigned_to_nat(49u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18035,7 +18133,7 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall___spec__1___rarg(x_9); +x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1___rarg(x_9); return x_12; } else @@ -18120,7 +18218,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabWithAnnotateTerm_dec _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(285u); +x_1 = lean_unsigned_to_nat(286u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18132,7 +18230,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabWithAnnotateTerm_dec _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(289u); +x_1 = lean_unsigned_to_nat(290u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18160,7 +18258,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabWithAnnotateTerm_dec _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(285u); +x_1 = lean_unsigned_to_nat(286u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18172,7 +18270,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabWithAnnotateTerm_dec _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(285u); +x_1 = lean_unsigned_to_nat(286u); x_2 = lean_unsigned_to_nat(60u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18326,7 +18424,7 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall___spec__1___rarg(x_9); +x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1___rarg(x_9); return x_12; } else @@ -18553,7 +18651,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabIncludeStr_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(297u); +x_1 = lean_unsigned_to_nat(298u); x_2 = lean_unsigned_to_nat(30u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18565,7 +18663,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabIncludeStr_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(306u); +x_1 = lean_unsigned_to_nat(307u); x_2 = lean_unsigned_to_nat(34u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18593,7 +18691,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabIncludeStr_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(297u); +x_1 = lean_unsigned_to_nat(298u); x_2 = lean_unsigned_to_nat(34u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18605,7 +18703,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabIncludeStr_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(297u); +x_1 = lean_unsigned_to_nat(298u); x_2 = lean_unsigned_to_nat(48u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18652,7 +18750,8 @@ return x_4; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_Term(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Elab_Open(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Elab_SetOption(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Eval(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Elab_BuiltinTerm(uint8_t builtin, lean_object* w) { @@ -18662,7 +18761,10 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Elab_Term(builtin, lean_io_mk_world()); +res = initialize_Lean_Elab_Open(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Elab_SetOption(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_Elab_Eval(builtin, lean_io_mk_world()); @@ -18922,6 +19024,10 @@ lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_elabSyntheticHole_declRange__ res = l___regBuiltin_Lean_Elab_Term_elabSyntheticHole_declRange(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1___rarg___closed__1 = _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1___rarg___closed__1(); +lean_mark_persistent(l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1___rarg___closed__1); +l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1___rarg___closed__2 = _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1___rarg___closed__2(); +lean_mark_persistent(l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabLetMVar___spec__1___rarg___closed__2); l_Lean_Elab_Term_elabLetMVar___closed__1 = _init_l_Lean_Elab_Term_elabLetMVar___closed__1(); lean_mark_persistent(l_Lean_Elab_Term_elabLetMVar___closed__1); l_Lean_Elab_Term_elabLetMVar___closed__2 = _init_l_Lean_Elab_Term_elabLetMVar___closed__2(); @@ -19618,10 +19724,6 @@ l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabOpen___spec__2___closed__12 = _ lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabOpen___spec__2___closed__12); l_Lean_pushScope___at_Lean_Elab_Term_elabOpen___spec__1___closed__1 = _init_l_Lean_pushScope___at_Lean_Elab_Term_elabOpen___spec__1___closed__1(); lean_mark_persistent(l_Lean_pushScope___at_Lean_Elab_Term_elabOpen___spec__1___closed__1); -l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabOpen___spec__4___rarg___closed__1 = _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabOpen___spec__4___rarg___closed__1(); -lean_mark_persistent(l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabOpen___spec__4___rarg___closed__1); -l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabOpen___spec__4___rarg___closed__2 = _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabOpen___spec__4___rarg___closed__2(); -lean_mark_persistent(l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabOpen___spec__4___rarg___closed__2); l_Lean_resolveNamespaceCore___at_Lean_Elab_Term_elabOpen___spec__9___closed__1 = _init_l_Lean_resolveNamespaceCore___at_Lean_Elab_Term_elabOpen___spec__9___closed__1(); lean_mark_persistent(l_Lean_resolveNamespaceCore___at_Lean_Elab_Term_elabOpen___spec__9___closed__1); l_Lean_resolveUniqueNamespace___at_Lean_Elab_Term_elabOpen___spec__5___closed__1 = _init_l_Lean_resolveUniqueNamespace___at_Lean_Elab_Term_elabOpen___spec__5___closed__1(); diff --git a/stage0/stdlib/Lean/Elab/Calc.c b/stage0/stdlib/Lean/Elab/Calc.c index 7c295a4311..a4102dfe84 100644 --- a/stage0/stdlib/Lean/Elab/Calc.c +++ b/stage0/stdlib/Lean/Elab/Calc.c @@ -34,10 +34,12 @@ lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Meta_getParamNames___ static lean_object* l_Lean_Elab_Term_mkCalcTrans___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabCalcSteps___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_mkCalcTrans___closed__1; +lean_object* l_Lean_throwError___at_Lean_Meta_decLevel___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_appFn_x21(lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabCalcSteps___spec__2___closed__5; +lean_object* l_Lean_throwError___at___private_Lean_Meta_InferType_0__Lean_Meta_inferProjType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabCalc___closed__3; lean_object* l_Lean_Expr_appArg_x21(lean_object*); static lean_object* l_Lean_Elab_Term_elabCalcSteps___closed__1; @@ -107,7 +109,6 @@ static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabCalcSteps__ size_t lean_usize_of_nat(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabCalc___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabCalc___closed__1; -lean_object* l_Lean_throwError___at_Lean_Meta_mkSimpCongrTheorem___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabCalc_declRange(lean_object*); extern lean_object* l_Lean_Elab_Term_termElabAttribute; static lean_object* l_Lean_Elab_Term_mkCalcTrans___closed__12; @@ -155,7 +156,6 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_elabCalc___closed__10; static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabCalcSteps___spec__2___closed__10; lean_object* l_Lean_indentExpr(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabCalcSteps___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwError___at___private_Lean_Meta_RecursorInfo_0__Lean_Meta_getMotiveLevel___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_mkCalcTrans___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_instInhabitedMetaM___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_mkCalcTrans(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -314,7 +314,7 @@ x_21 = l___private_Lean_Elab_Calc_0__Lean_Elab_Term_getRelUniv___lambda__1___clo 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___private_Lean_Meta_RecursorInfo_0__Lean_Meta_getMotiveLevel___spec__1(x_22, x_4, x_5, x_6, x_7, x_17); +x_23 = l_Lean_throwError___at_Lean_Meta_decLevel___spec__1(x_22, x_4, x_5, x_6, x_7, x_17); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -961,7 +961,7 @@ x_125 = l___private_Lean_Elab_Calc_0__Lean_Elab_Term_getRelUniv___lambda__1___cl x_126 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_126, 0, x_124); lean_ctor_set(x_126, 1, x_125); -x_127 = l_Lean_throwError___at_Lean_Meta_mkSimpCongrTheorem___spec__6(x_126, x_5, x_6, x_7, x_8, x_121); +x_127 = l_Lean_throwError___at___private_Lean_Meta_InferType_0__Lean_Meta_inferProjType___spec__1(x_126, x_5, x_6, x_7, x_8, x_121); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -1689,7 +1689,7 @@ x_278 = l___private_Lean_Elab_Calc_0__Lean_Elab_Term_getRelUniv___lambda__1___cl x_279 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_279, 0, x_277); lean_ctor_set(x_279, 1, x_278); -x_280 = l_Lean_throwError___at_Lean_Meta_mkSimpCongrTheorem___spec__6(x_279, x_5, x_6, x_7, x_8, x_274); +x_280 = l_Lean_throwError___at___private_Lean_Meta_InferType_0__Lean_Meta_inferProjType___spec__1(x_279, x_5, x_6, x_7, x_8, x_274); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); diff --git a/stage0/stdlib/Lean/Elab/Command.c b/stage0/stdlib/Lean/Elab/Command.c index 1002816012..796a18fc23 100644 --- a/stage0/stdlib/Lean/Elab/Command.c +++ b/stage0/stdlib/Lean/Elab/Command.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.Command -// Imports: Init Lean.Log Lean.Parser.Command Lean.ResolveName Lean.Meta.Reduce Lean.Elab.Term Lean.Elab.Tactic.Cache Lean.Elab.Binders Lean.Elab.SyntheticMVars Lean.Elab.DeclModifiers Lean.Elab.InfoTree Lean.Elab.SetOption +// Imports: Init Lean.Elab.Binders Lean.Elab.SyntheticMVars #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -21038,7 +21038,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_Command_modifyScope___closed__1; x_2 = l_Lean_Elab_Command_modifyScope___closed__2; -x_3 = lean_unsigned_to_nat(465u); +x_3 = lean_unsigned_to_nat(456u); x_4 = lean_unsigned_to_nat(16u); x_5 = l_Lean_Elab_Command_modifyScope___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -25084,17 +25084,8 @@ return x_11; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Log(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Parser_Command(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_ResolveName(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Reduce(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_Term(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_Tactic_Cache(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Binders(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_SyntheticMVars(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_DeclModifiers(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_InfoTree(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_SetOption(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Elab_Command(uint8_t builtin, lean_object* w) { lean_object * res; @@ -25103,39 +25094,12 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Log(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Parser_Command(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_ResolveName(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Meta_Reduce(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Elab_Term(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Elab_Tactic_Cache(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Elab_Binders(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_Elab_SyntheticMVars(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Elab_DeclModifiers(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Elab_InfoTree(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Elab_SetOption(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); l_Lean_Elab_Command_Scope_opts___default = _init_l_Lean_Elab_Command_Scope_opts___default(); lean_mark_persistent(l_Lean_Elab_Command_Scope_opts___default); l_Lean_Elab_Command_Scope_currNamespace___default = _init_l_Lean_Elab_Command_Scope_currNamespace___default(); diff --git a/stage0/stdlib/Lean/Elab/ComputedFields.c b/stage0/stdlib/Lean/Elab/ComputedFields.c index b432f9e046..31098b21b6 100644 --- a/stage0/stdlib/Lean/Elab/ComputedFields.c +++ b/stage0/stdlib/Lean/Elab/ComputedFields.c @@ -15,7 +15,6 @@ extern "C" { #endif lean_object* l_List_reverse___rarg(lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_ComputedFields_overrideCasesOn___spec__8___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___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_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Elab_ComputedFields_overrideCasesOn___spec__7___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_ComputedFields_overrideCasesOn___lambda__3___closed__3; static lean_object* l_Lean_Elab_ComputedFields_initFn____x40_Lean_Elab_ComputedFields___hyg_6____closed__12; @@ -69,6 +68,7 @@ LEAN_EXPORT lean_object* l_Lean_getConstInfoDefn___at_Lean_Elab_ComputedFields_o lean_object* lean_array_uset(lean_object*, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at_Lean_Elab_ComputedFields_overrideCasesOn___spec__6___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_compileDecls___at_Lean_Elab_ComputedFields_setComputedFields___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__3; static lean_object* l_Lean_Elab_ComputedFields_initFn____x40_Lean_Elab_ComputedFields___hyg_6____closed__11; lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_ComputedFields_overrideComputedFields___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*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -113,7 +113,6 @@ LEAN_EXPORT lean_object* l_Lean_throwKernelException___at_Lean_Elab_ComputedFiel extern lean_object* l_Lean_Compiler_implementedByAttr; lean_object* l_Lean_Meta_mkAppOptM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_levelZero; -static lean_object* l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__3; lean_object* lean_nat_add(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_ComputedFields_overrideCasesOn___spec__8(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_ComputedFields_validateComputedFields___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -122,7 +121,6 @@ static lean_object* l_Lean_Elab_ComputedFields_initFn____x40_Lean_Elab_ComputedF LEAN_EXPORT lean_object* l_Lean_addDecl___at_Lean_Elab_ComputedFields_overrideConstructors___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_WF_eqnInfoExt; lean_object* l_Array_zip___rarg(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___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*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_ComputedFields_mkComputedFieldOverrides___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_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_ComputedFields_overrideComputedFields___spec__2___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_ComputedFields_isScalarField___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -138,14 +136,11 @@ LEAN_EXPORT lean_object* l_Lean_logAt___at_Lean_Elab_ComputedFields_overrideCons LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_ComputedFields_validateComputedFields___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_EXPORT lean_object* l_List_forIn_loop___at_Lean_Elab_ComputedFields_overrideConstructors___spec__11___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_ComputedFields_overrideCasesOn___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecls_loop___at_Lean_Elab_ComputedFields_mkComputedFieldOverrides___spec__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); uint8_t l_Lean_Option_get___at_Lean_getSanitizeNames___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_ComputedFields_getComputedFieldValue(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_isExtern(lean_object*, lean_object*); -static lean_object* l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__1; lean_object* lean_st_ref_take(lean_object*, lean_object*); static lean_object* l_Lean_Elab_ComputedFields_getComputedFieldValue___closed__3; lean_object* lean_nat_sub(lean_object*, lean_object*); @@ -179,6 +174,7 @@ lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(lean_object*, l static lean_object* l_Lean_Elab_ComputedFields_initFn____x40_Lean_Elab_ComputedFields___hyg_6____closed__1; LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_ComputedFields_overrideCasesOn___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_setEnv___at_Lean_Elab_ComputedFields_mkImplType___spec__6___closed__10; +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___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*); extern lean_object* l_Lean_Expr_instHashableExpr; lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_ComputedFields_validateComputedFields___spec__3___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -276,6 +272,7 @@ lean_object* l_Array_ofSubarray___rarg(lean_object*); lean_object* l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_ComputedFields_initFn____x40_Lean_Elab_ComputedFields___hyg_6____closed__6; LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescope___at_Lean_Elab_ComputedFields_mkImplType___spec__1(lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___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_EXPORT lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_ComputedFields_isScalarField___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_setEnv___at_Lean_Elab_ComputedFields_mkImplType___spec__6(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*); @@ -305,6 +302,7 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_ComputedFields_ lean_object* l_Lean_Syntax_getTailPos_x3f(lean_object*, uint8_t); extern lean_object* l_Lean_Expr_instBEqExpr; LEAN_EXPORT lean_object* l_Lean_logAt___at_Lean_Elab_ComputedFields_setComputedFields___spec__2(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__2; lean_object* l_Lean_registerTagAttribute(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_ComputedFields_mkUnsafeCastTo___closed__3; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_ComputedFields_overrideCasesOn___spec__8___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*); @@ -335,8 +333,10 @@ uint8_t l_Lean_Expr_occurs(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_setImplementedBy___at_Lean_Elab_ComputedFields_overrideCasesOn___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_instantiateLevelParamsCore_visit___at_Lean_Expr_instantiateLevelParams___spec__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_setEnv___at_Lean_Elab_ComputedFields_overrideConstructors___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__1; LEAN_EXPORT lean_object* l_Lean_throwKernelException___at_Lean_Elab_ComputedFields_mkImplType___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_ComputedFields_overrideCasesOn___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_setImplementedBy___at_Lean_Elab_ComputedFields_overrideCasesOn___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_indentExpr(lean_object*); static lean_object* l_Lean_Elab_ComputedFields_getComputedFieldValue___closed__1; @@ -902,7 +902,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Meta_whnfEasyCases___at_Lean_Elab_ComputedFields_getComputedFieldValue___spec__2___closed__1; x_2 = l_Lean_Meta_whnfEasyCases___at_Lean_Elab_ComputedFields_getComputedFieldValue___spec__2___closed__2; -x_3 = lean_unsigned_to_nat(309u); +x_3 = lean_unsigned_to_nat(305u); x_4 = lean_unsigned_to_nat(22u); x_5 = l_Lean_Meta_whnfEasyCases___at_Lean_Elab_ComputedFields_getComputedFieldValue___spec__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -3383,7 +3383,7 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Meta_forallTelescope___at_Lean_Elab_Comp return x_2; } } -static lean_object* _init_l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__1() { +static lean_object* _init_l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__1() { _start: { lean_object* x_1; @@ -3391,17 +3391,17 @@ x_1 = lean_mk_string_from_bytes("_impl", 5); return x_1; } } -static lean_object* _init_l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__2() { +static lean_object* _init_l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__1; +x_2 = l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__3() { +static lean_object* _init_l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__3() { _start: { lean_object* x_1; lean_object* x_2; @@ -3410,11 +3410,11 @@ x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___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* x_13) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___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* x_13) { _start: { lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_14 = l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__2; +x_14 = l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__2; x_15 = l_Lean_Name_append(x_1, x_14); x_16 = l_Lean_Expr_const___override(x_15, x_2); x_17 = lean_unsigned_to_nat(0u); @@ -3514,7 +3514,7 @@ lean_dec(x_5); x_48 = lean_ctor_get(x_25, 1); lean_inc(x_48); lean_dec(x_25); -x_49 = l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__3; +x_49 = l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__3; x_50 = l_Array_append___rarg(x_4, x_49); x_51 = l_Array_append___rarg(x_50, x_6); x_52 = 0; @@ -3610,12 +3610,96 @@ return x_72; } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___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_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___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: { if (lean_obj_tag(x_5) == 0) { -lean_object* x_12; lean_object* x_13; +lean_object* x_13; lean_object* x_14; +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_13 = l_List_reverse___rarg(x_6); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_13); +lean_ctor_set(x_14, 1, x_12); +return x_14; +} +else +{ +uint8_t x_15; +x_15 = !lean_is_exclusive(x_5); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_16 = lean_ctor_get(x_5, 0); +x_17 = lean_ctor_get(x_5, 1); +lean_inc(x_1); +lean_inc(x_16); +x_18 = l_Lean_Expr_const___override(x_16, x_1); +lean_inc(x_2); +x_19 = l_Lean_mkAppN(x_18, x_2); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +x_20 = lean_infer_type(x_19, x_8, x_9, x_10, x_11, x_12); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_1); +lean_inc(x_4); +x_23 = lean_alloc_closure((void*)(l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___boxed), 13, 5); +lean_closure_set(x_23, 0, x_4); +lean_closure_set(x_23, 1, x_1); +lean_closure_set(x_23, 2, x_16); +lean_closure_set(x_23, 3, x_2); +lean_closure_set(x_23, 4, x_3); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_24 = l_Lean_Meta_forallTelescope___at_Lean_Elab_ComputedFields_mkImplType___spec__1___rarg(x_21, x_23, x_7, x_8, x_9, x_10, x_11, x_22); +if (lean_obj_tag(x_24) == 0) +{ +lean_object* x_25; lean_object* x_26; +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); +lean_ctor_set(x_5, 1, x_6); +lean_ctor_set(x_5, 0, x_25); +{ +lean_object* _tmp_4 = x_17; +lean_object* _tmp_5 = x_5; +lean_object* _tmp_11 = x_26; +x_5 = _tmp_4; +x_6 = _tmp_5; +x_12 = _tmp_11; +} +goto _start; +} +else +{ +uint8_t x_28; +lean_free_object(x_5); +lean_dec(x_17); +lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -3625,111 +3709,55 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_12 = lean_box(0); -x_13 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_13, 0, x_12); -lean_ctor_set(x_13, 1, x_11); -return x_13; -} -else +x_28 = !lean_is_exclusive(x_24); +if (x_28 == 0) { -uint8_t x_14; -x_14 = !lean_is_exclusive(x_5); -if (x_14 == 0) -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_15 = lean_ctor_get(x_5, 0); -x_16 = lean_ctor_get(x_5, 1); -lean_inc(x_1); -lean_inc(x_15); -x_17 = l_Lean_Expr_const___override(x_15, x_1); -lean_inc(x_2); -x_18 = l_Lean_mkAppN(x_17, x_2); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_19 = lean_infer_type(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; -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); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -lean_inc(x_4); -x_22 = lean_alloc_closure((void*)(l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___boxed), 13, 5); -lean_closure_set(x_22, 0, x_4); -lean_closure_set(x_22, 1, x_1); -lean_closure_set(x_22, 2, x_15); -lean_closure_set(x_22, 3, x_2); -lean_closure_set(x_22, 4, x_3); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -x_23 = l_Lean_Meta_forallTelescope___at_Lean_Elab_ComputedFields_mkImplType___spec__1___rarg(x_20, x_22, x_6, x_7, x_8, x_9, x_10, x_21); -if (lean_obj_tag(x_23) == 0) -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_23, 0); -lean_inc(x_24); -x_25 = lean_ctor_get(x_23, 1); -lean_inc(x_25); -lean_dec(x_23); -x_26 = l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2(x_1, x_2, x_3, x_4, x_16, x_6, x_7, x_8, x_9, x_10, x_25); -if (lean_obj_tag(x_26) == 0) -{ -uint8_t x_27; -x_27 = !lean_is_exclusive(x_26); -if (x_27 == 0) -{ -lean_object* x_28; -x_28 = lean_ctor_get(x_26, 0); -lean_ctor_set(x_5, 1, x_28); -lean_ctor_set(x_5, 0, x_24); -lean_ctor_set(x_26, 0, x_5); -return x_26; +return x_24; } else { lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_26, 0); -x_30 = lean_ctor_get(x_26, 1); +x_29 = lean_ctor_get(x_24, 0); +x_30 = lean_ctor_get(x_24, 1); lean_inc(x_30); lean_inc(x_29); -lean_dec(x_26); -lean_ctor_set(x_5, 1, x_29); -lean_ctor_set(x_5, 0, x_24); -x_31 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_31, 0, x_5); +lean_dec(x_24); +x_31 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_31, 0, x_29); lean_ctor_set(x_31, 1, x_30); return x_31; } } +} else { uint8_t x_32; -lean_dec(x_24); lean_free_object(x_5); -x_32 = !lean_is_exclusive(x_26); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_32 = !lean_is_exclusive(x_20); if (x_32 == 0) { -return x_26; +return x_20; } else { lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_33 = lean_ctor_get(x_26, 0); -x_34 = lean_ctor_get(x_26, 1); +x_33 = lean_ctor_get(x_20, 0); +x_34 = lean_ctor_get(x_20, 1); lean_inc(x_34); lean_inc(x_33); -lean_dec(x_26); +lean_dec(x_20); x_35 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_35, 0, x_33); lean_ctor_set(x_35, 1, x_34); @@ -3739,217 +3767,67 @@ return x_35; } else { -uint8_t x_36; -lean_free_object(x_5); -lean_dec(x_16); -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_36 = !lean_is_exclusive(x_23); -if (x_36 == 0) -{ -return x_23; -} -else -{ -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_23, 0); -x_38 = lean_ctor_get(x_23, 1); -lean_inc(x_38); +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_36 = lean_ctor_get(x_5, 0); +x_37 = lean_ctor_get(x_5, 1); lean_inc(x_37); -lean_dec(x_23); -x_39 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_39, 0, x_37); -lean_ctor_set(x_39, 1, x_38); -return x_39; -} -} -} -else -{ -uint8_t x_40; -lean_free_object(x_5); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_40 = !lean_is_exclusive(x_19); -if (x_40 == 0) -{ -return x_19; -} -else -{ -lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_41 = lean_ctor_get(x_19, 0); -x_42 = lean_ctor_get(x_19, 1); -lean_inc(x_42); -lean_inc(x_41); -lean_dec(x_19); -x_43 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_43, 0, x_41); -lean_ctor_set(x_43, 1, x_42); -return x_43; -} -} -} -else -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_44 = lean_ctor_get(x_5, 0); -x_45 = lean_ctor_get(x_5, 1); -lean_inc(x_45); -lean_inc(x_44); +lean_inc(x_36); lean_dec(x_5); lean_inc(x_1); -lean_inc(x_44); -x_46 = l_Lean_Expr_const___override(x_44, x_1); +lean_inc(x_36); +x_38 = l_Lean_Expr_const___override(x_36, x_1); lean_inc(x_2); -x_47 = l_Lean_mkAppN(x_46, x_2); +x_39 = l_Lean_mkAppN(x_38, x_2); +lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -lean_inc(x_7); -x_48 = lean_infer_type(x_47, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_48) == 0) +x_40 = lean_infer_type(x_39, x_8, x_9, x_10, x_11, x_12); +if (lean_obj_tag(x_40) == 0) { -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; -x_49 = lean_ctor_get(x_48, 0); -lean_inc(x_49); -x_50 = lean_ctor_get(x_48, 1); -lean_inc(x_50); -lean_dec(x_48); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_41 = lean_ctor_get(x_40, 0); +lean_inc(x_41); +x_42 = lean_ctor_get(x_40, 1); +lean_inc(x_42); +lean_dec(x_40); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); lean_inc(x_4); -x_51 = lean_alloc_closure((void*)(l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___boxed), 13, 5); -lean_closure_set(x_51, 0, x_4); -lean_closure_set(x_51, 1, x_1); -lean_closure_set(x_51, 2, x_44); -lean_closure_set(x_51, 3, x_2); -lean_closure_set(x_51, 4, x_3); +x_43 = lean_alloc_closure((void*)(l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___boxed), 13, 5); +lean_closure_set(x_43, 0, x_4); +lean_closure_set(x_43, 1, x_1); +lean_closure_set(x_43, 2, x_36); +lean_closure_set(x_43, 3, x_2); +lean_closure_set(x_43, 4, x_3); +lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); -lean_inc(x_6); -x_52 = l_Lean_Meta_forallTelescope___at_Lean_Elab_ComputedFields_mkImplType___spec__1___rarg(x_49, x_51, x_6, x_7, x_8, x_9, x_10, x_50); -if (lean_obj_tag(x_52) == 0) +x_44 = l_Lean_Meta_forallTelescope___at_Lean_Elab_ComputedFields_mkImplType___spec__1___rarg(x_41, x_43, x_7, x_8, x_9, x_10, x_11, x_42); +if (lean_obj_tag(x_44) == 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); -x_55 = l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2(x_1, x_2, x_3, x_4, x_45, x_6, x_7, x_8, x_9, x_10, x_54); -if (lean_obj_tag(x_55) == 0) -{ -lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_56 = lean_ctor_get(x_55, 0); -lean_inc(x_56); -x_57 = lean_ctor_get(x_55, 1); -lean_inc(x_57); -if (lean_is_exclusive(x_55)) { - lean_ctor_release(x_55, 0); - lean_ctor_release(x_55, 1); - x_58 = x_55; -} else { - lean_dec_ref(x_55); - x_58 = lean_box(0); -} -x_59 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_59, 0, x_53); -lean_ctor_set(x_59, 1, x_56); -if (lean_is_scalar(x_58)) { - x_60 = lean_alloc_ctor(0, 2, 0); -} else { - x_60 = x_58; -} -lean_ctor_set(x_60, 0, x_59); -lean_ctor_set(x_60, 1, x_57); -return x_60; -} -else -{ -lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; -lean_dec(x_53); -x_61 = lean_ctor_get(x_55, 0); -lean_inc(x_61); -x_62 = lean_ctor_get(x_55, 1); -lean_inc(x_62); -if (lean_is_exclusive(x_55)) { - lean_ctor_release(x_55, 0); - lean_ctor_release(x_55, 1); - x_63 = x_55; -} else { - lean_dec_ref(x_55); - x_63 = lean_box(0); -} -if (lean_is_scalar(x_63)) { - x_64 = lean_alloc_ctor(1, 2, 0); -} else { - x_64 = x_63; -} -lean_ctor_set(x_64, 0, x_61); -lean_ctor_set(x_64, 1, x_62); -return x_64; -} -} -else -{ -lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; -lean_dec(x_45); -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_ctor_get(x_52, 0); -lean_inc(x_65); -x_66 = lean_ctor_get(x_52, 1); -lean_inc(x_66); -if (lean_is_exclusive(x_52)) { - lean_ctor_release(x_52, 0); - lean_ctor_release(x_52, 1); - x_67 = x_52; -} else { - lean_dec_ref(x_52); - x_67 = lean_box(0); -} -if (lean_is_scalar(x_67)) { - x_68 = lean_alloc_ctor(1, 2, 0); -} else { - x_68 = x_67; -} -lean_ctor_set(x_68, 0, x_65); -lean_ctor_set(x_68, 1, x_66); -return x_68; -} -} -else -{ -lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; -lean_dec(x_45); +lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_45 = lean_ctor_get(x_44, 0); +lean_inc(x_45); +x_46 = lean_ctor_get(x_44, 1); +lean_inc(x_46); lean_dec(x_44); +x_47 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_47, 0, x_45); +lean_ctor_set(x_47, 1, x_6); +x_5 = x_37; +x_6 = x_47; +x_12 = x_46; +goto _start; +} +else +{ +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; +lean_dec(x_37); +lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -3959,26 +3837,63 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_69 = lean_ctor_get(x_48, 0); -lean_inc(x_69); -x_70 = lean_ctor_get(x_48, 1); -lean_inc(x_70); -if (lean_is_exclusive(x_48)) { - lean_ctor_release(x_48, 0); - lean_ctor_release(x_48, 1); - x_71 = x_48; +x_49 = lean_ctor_get(x_44, 0); +lean_inc(x_49); +x_50 = lean_ctor_get(x_44, 1); +lean_inc(x_50); +if (lean_is_exclusive(x_44)) { + lean_ctor_release(x_44, 0); + lean_ctor_release(x_44, 1); + x_51 = x_44; } else { - lean_dec_ref(x_48); - x_71 = lean_box(0); + lean_dec_ref(x_44); + x_51 = lean_box(0); } -if (lean_is_scalar(x_71)) { - x_72 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_51)) { + x_52 = lean_alloc_ctor(1, 2, 0); } else { - x_72 = x_71; + x_52 = x_51; } -lean_ctor_set(x_72, 0, x_69); -lean_ctor_set(x_72, 1, x_70); -return x_72; +lean_ctor_set(x_52, 0, x_49); +lean_ctor_set(x_52, 1, x_50); +return x_52; +} +} +else +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; +lean_dec(x_37); +lean_dec(x_36); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_53 = lean_ctor_get(x_40, 0); +lean_inc(x_53); +x_54 = lean_ctor_get(x_40, 1); +lean_inc(x_54); +if (lean_is_exclusive(x_40)) { + lean_ctor_release(x_40, 0); + lean_ctor_release(x_40, 1); + x_55 = x_40; +} else { + lean_dec_ref(x_40); + x_55 = lean_box(0); +} +if (lean_is_scalar(x_55)) { + x_56 = lean_alloc_ctor(1, 2, 0); +} else { + x_56 = x_55; +} +lean_ctor_set(x_56, 0, x_53); +lean_ctor_set(x_56, 1, x_54); +return x_56; } } } @@ -5423,7 +5338,7 @@ return x_23; LEAN_EXPORT lean_object* l_Lean_Elab_ComputedFields_mkImplType(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; uint8_t x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; x_7 = lean_ctor_get(x_1, 0); lean_inc(x_7); x_8 = lean_ctor_get(x_7, 0); @@ -5447,38 +5362,38 @@ lean_inc(x_16); x_17 = lean_ctor_get(x_8, 2); lean_inc(x_17); lean_dec(x_8); +x_18 = lean_box(0); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); lean_inc(x_15); -x_18 = l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2(x_9, x_10, x_11, x_15, x_13, x_1, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_18) == 0) +x_19 = l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2(x_9, x_10, x_11, x_15, x_13, x_18, x_1, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_19) == 0) { -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_20 = lean_ctor_get(x_19, 0); lean_inc(x_20); -lean_dec(x_18); -x_21 = l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__2; -x_22 = l_Lean_Name_append(x_15, x_21); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__2; +x_23 = l_Lean_Name_append(x_15, x_22); lean_dec(x_15); -x_23 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_23, 0, x_22); -lean_ctor_set(x_23, 1, x_17); -lean_ctor_set(x_23, 2, x_19); -x_24 = lean_box(0); +x_24 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_24, 0, x_23); +lean_ctor_set(x_24, 1, x_17); +lean_ctor_set(x_24, 2, x_20); x_25 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_25, 0, x_23); -lean_ctor_set(x_25, 1, x_24); +lean_ctor_set(x_25, 0, x_24); +lean_ctor_set(x_25, 1, x_18); x_26 = lean_alloc_ctor(6, 3, 1); lean_ctor_set(x_26, 0, x_16); lean_ctor_set(x_26, 1, x_12); lean_ctor_set(x_26, 2, x_25); lean_ctor_set_uint8(x_26, sizeof(void*)*3, x_14); -x_27 = l_Lean_addDecl___at_Lean_Elab_ComputedFields_mkImplType___spec__3(x_26, x_1, x_2, x_3, x_4, x_5, x_20); +x_27 = l_Lean_addDecl___at_Lean_Elab_ComputedFields_mkImplType___spec__3(x_26, x_1, x_2, x_3, x_4, x_5, x_21); return x_27; } else @@ -5493,19 +5408,19 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_28 = !lean_is_exclusive(x_18); +x_28 = !lean_is_exclusive(x_19); if (x_28 == 0) { -return x_18; +return x_19; } else { lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_18, 0); -x_30 = lean_ctor_get(x_18, 1); +x_29 = lean_ctor_get(x_19, 0); +x_30 = lean_ctor_get(x_19, 1); lean_inc(x_30); lean_inc(x_29); -lean_dec(x_18); +lean_dec(x_19); x_31 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_31, 0, x_29); lean_ctor_set(x_31, 1, x_30); @@ -5514,11 +5429,11 @@ return x_31; } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { lean_object* x_14; -x_14 = l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +x_14 = l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); @@ -6287,7 +6202,7 @@ lean_inc(x_26); x_27 = lean_ctor_get(x_17, 1); lean_inc(x_27); lean_dec(x_17); -x_28 = l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__3; +x_28 = l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__3; x_29 = l_Array_append___rarg(x_28, x_5); x_30 = 0; x_31 = 1; @@ -7039,7 +6954,7 @@ lean_inc(x_18); x_19 = lean_ctor_get(x_17, 1); lean_inc(x_19); lean_dec(x_17); -x_20 = l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__2; +x_20 = l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__2; x_21 = l_Lean_Name_append(x_14, x_20); lean_dec(x_14); lean_inc(x_4); @@ -9193,7 +9108,7 @@ lean_inc(x_17); x_18 = lean_ctor_get(x_16, 1); lean_inc(x_18); lean_dec(x_16); -x_19 = l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__2; +x_19 = l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__2; x_20 = l_Lean_Name_append(x_2, x_19); x_21 = l_Lean_Expr_const___override(x_20, x_3); x_22 = l_Array_append___rarg(x_4, x_9); @@ -9597,7 +9512,7 @@ lean_dec(x_6); x_32 = lean_ctor_get(x_17, 1); lean_inc(x_32); lean_dec(x_17); -x_33 = l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__3; +x_33 = l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__3; x_34 = l_List_forIn_loop___at_Lean_Elab_ComputedFields_overrideConstructors___spec__11___lambda__1(x_2, x_3, x_4, x_1, x_7, x_8, x_15, x_5, x_33, x_9, x_10, x_11, x_12, x_13, x_32); return x_34; } @@ -11511,7 +11426,7 @@ lean_inc(x_16); x_17 = lean_ctor_get(x_8, 1); lean_inc(x_17); lean_dec(x_8); -x_18 = l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__2; +x_18 = l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__2; x_19 = l_Lean_Name_append(x_16, x_18); lean_dec(x_16); lean_inc(x_9); @@ -11936,7 +11851,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecls___at_Lean_Elab_ComputedField _start: { lean_object* x_9; lean_object* x_10; -x_9 = l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__3; +x_9 = l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__3; x_10 = l_Lean_Meta_withLocalDecls_loop___at_Lean_Elab_ComputedFields_mkComputedFieldOverrides___spec__5___rarg(x_2, x_3, x_1, x_9, x_4, x_5, x_6, x_7, x_8); return x_10; } @@ -13815,7 +13730,7 @@ lean_object* x_17; lean_object* x_18; lean_object* x_19; x_17 = lean_ctor_get(x_16, 1); lean_inc(x_17); lean_dec(x_16); -x_18 = l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__3; +x_18 = l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__3; x_19 = l_Array_forInUnsafe_loop___at_Lean_Elab_ComputedFields_setComputedFields___spec__9(x_9, x_1, x_8, x_9, x_18, x_2, x_3, x_4, x_5, x_17); lean_dec(x_1); if (lean_obj_tag(x_19) == 0) @@ -14140,12 +14055,12 @@ l_Array_forInUnsafe_loop___at_Lean_Elab_ComputedFields_validateComputedFields___ lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_ComputedFields_validateComputedFields___spec__3___closed__1); l_Array_forInUnsafe_loop___at_Lean_Elab_ComputedFields_validateComputedFields___spec__3___closed__2 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_ComputedFields_validateComputedFields___spec__3___closed__2(); lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_ComputedFields_validateComputedFields___spec__3___closed__2); -l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__1 = _init_l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__1(); -lean_mark_persistent(l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__1); -l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__2 = _init_l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__2(); -lean_mark_persistent(l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__2); -l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__3 = _init_l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__3(); -lean_mark_persistent(l_List_mapM___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__3); +l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__1 = _init_l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__1(); +lean_mark_persistent(l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__1); +l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__2 = _init_l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__2(); +lean_mark_persistent(l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__2); +l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__3 = _init_l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__3(); +lean_mark_persistent(l_List_mapM_loop___at_Lean_Elab_ComputedFields_mkImplType___spec__2___lambda__1___closed__3); l_Lean_setEnv___at_Lean_Elab_ComputedFields_mkImplType___spec__6___closed__1 = _init_l_Lean_setEnv___at_Lean_Elab_ComputedFields_mkImplType___spec__6___closed__1(); lean_mark_persistent(l_Lean_setEnv___at_Lean_Elab_ComputedFields_mkImplType___spec__6___closed__1); l_Lean_setEnv___at_Lean_Elab_ComputedFields_mkImplType___spec__6___closed__2 = _init_l_Lean_setEnv___at_Lean_Elab_ComputedFields_mkImplType___spec__6___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/DeclModifiers.c b/stage0/stdlib/Lean/Elab/DeclModifiers.c index 8178df27c5..95369aeb55 100644 --- a/stage0/stdlib/Lean/Elab/DeclModifiers.c +++ b/stage0/stdlib/Lean/Elab/DeclModifiers.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.DeclModifiers -// Imports: Init Lean.Modifiers Lean.DocString Lean.Structure Lean.Elab.Attributes Lean.Elab.Exception Lean.Elab.DeclUtil +// Imports: Init Lean.Structure Lean.Elab.Attributes #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -4138,12 +4138,8 @@ return x_6; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Modifiers(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_DocString(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Structure(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Attributes(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_Exception(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_DeclUtil(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Elab_DeclModifiers(uint8_t builtin, lean_object* w) { lean_object * res; @@ -4152,24 +4148,12 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Modifiers(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_DocString(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Structure(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_Elab_Attributes(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Elab_Exception(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Elab_DeclUtil(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); l_Lean_Elab_checkNotAlreadyDeclared___rarg___lambda__1___closed__1 = _init_l_Lean_Elab_checkNotAlreadyDeclared___rarg___lambda__1___closed__1(); lean_mark_persistent(l_Lean_Elab_checkNotAlreadyDeclared___rarg___lambda__1___closed__1); l_Lean_Elab_checkNotAlreadyDeclared___rarg___lambda__1___closed__2 = _init_l_Lean_Elab_checkNotAlreadyDeclared___rarg___lambda__1___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/Declaration.c b/stage0/stdlib/Lean/Elab/Declaration.c index 4d50af528d..c034e5ff92 100644 --- a/stage0/stdlib/Lean/Elab/Declaration.c +++ b/stage0/stdlib/Lean/Elab/Declaration.c @@ -313,6 +313,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Command_expandMutualPreamble_d static lean_object* l___regBuiltin_Lean_Elab_Command_elabMutual_declRange___closed__6; static lean_object* l___regBuiltin_Lean_Elab_Command_elabAttr___closed__1; uint8_t l_Lean_Elab_Command_isDefLike(lean_object*); +lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___spec__17(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedSyntax; static lean_object* l_Lean_Elab_Command_elabClassInductive___closed__3; static lean_object* l_Lean_Elab_Command_expandInitialize___lambda__1___closed__25; @@ -437,7 +438,6 @@ static lean_object* l_Lean_Elab_Command_getTerminationHints___closed__5; lean_object* l_ReaderT_pure___at_Lean_Elab_liftMacroM___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabAxiom___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabAttr___spec__1___closed__3; -lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_ensureAtomicBinderName___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_expandMutualElement___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabDeclaration___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Declaration_0__Lean_Elab_Command_expandDeclNamespace_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -2396,7 +2396,7 @@ x_47 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_47, 0, x_46); x_48 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_48, 0, x_47); -x_49 = l_Lean_throwErrorAt___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_ensureAtomicBinderName___spec__1(x_7, x_48, x_10, x_11, x_12, x_13, x_14, x_15, x_41); +x_49 = l_Lean_throwErrorAt___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___spec__17(x_7, x_48, x_10, x_11, x_12, x_13, x_14, x_15, x_41); lean_dec(x_15); lean_dec(x_13); lean_dec(x_12); diff --git a/stage0/stdlib/Lean/Elab/DefView.c b/stage0/stdlib/Lean/Elab/DefView.c index a3a5e73235..abd0d11a4e 100644 --- a/stage0/stdlib/Lean/Elab/DefView.c +++ b/stage0/stdlib/Lean/Elab/DefView.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.DefView -// Imports: Init Lean.Parser.Command Lean.Util.CollectLevelParams Lean.Util.FoldConsts Lean.Meta.ForEachExpr Lean.Meta.CollectFVars Lean.Elab.Command Lean.Elab.SyntheticMVars Lean.Elab.Binders Lean.Elab.DeclUtil +// Imports: Init Lean.Meta.ForEachExpr Lean.Elab.Command Lean.Elab.DeclUtil #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -6583,14 +6583,8 @@ return x_4; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Parser_Command(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Util_CollectLevelParams(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Util_FoldConsts(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_ForEachExpr(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_CollectFVars(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Command(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_SyntheticMVars(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_Binders(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_DeclUtil(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Elab_DefView(uint8_t builtin, lean_object* w) { @@ -6600,30 +6594,12 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Parser_Command(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Util_CollectLevelParams(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Util_FoldConsts(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Meta_ForEachExpr(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_CollectFVars(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Elab_Command(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Elab_SyntheticMVars(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Elab_Binders(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Elab_DeclUtil(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Elab/Deriving/BEq.c b/stage0/stdlib/Lean/Elab/Deriving/BEq.c index 1cf2e6273c..46d4142b13 100644 --- a/stage0/stdlib/Lean/Elab/Deriving/BEq.c +++ b/stage0/stdlib/Lean/Elab/Deriving/BEq.c @@ -15,7 +15,6 @@ extern "C" { #endif lean_object* l_List_reverse___rarg(lean_object*); lean_object* l_Lean_getConstInfo___at_Lean_Elab_Term_mkConst___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__17(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_BEq_mkMatch_mkElseAlt___closed__4; uint8_t l_Lean_Expr_hasAnyFVar_visit___at_Lean_Expr_containsFVar___spec__1(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_BEq_mkMatch___closed__2; @@ -116,7 +115,6 @@ LEAN_EXPORT lean_object* l_Lean_isInductive___at_Lean_Elab_Deriving_BEq_mkBEqIns lean_object* l_Lean_Expr_fvarId_x21(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_BEq_mkMatch(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_BEq_mkAuxFunction___lambda__1___closed__1; -lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(size_t, size_t, lean_object*); lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); static lean_object* l___private_Lean_Elab_Deriving_BEq_0__Lean_Elab_Deriving_BEq_mkBEqEnumFun___closed__14; static lean_object* l_Lean_Elab_Deriving_BEq_mkMatch_mkElseAlt___closed__5; @@ -187,6 +185,7 @@ static lean_object* l___private_Lean_Elab_Deriving_BEq_0__Lean_Elab_Deriving_BEq static lean_object* l_Lean_Elab_Deriving_BEq_mkMatch_mkElseAlt___closed__16; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_BEq_mkMatch_mkAlts___spec__4___closed__4; uint8_t lean_nat_dec_le(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_BEq_mkMatch___spec__1___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Deriving_BEq_mkBEqInstanceHandler___spec__4(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_BEq_mkMatch_mkAlts___spec__4___closed__3; static lean_object* l_Lean_Elab_Deriving_BEq_mkMatch___closed__5; @@ -257,7 +256,9 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_BEq_mkBEqInstanceHandler(lean_obje static lean_object* l___private_Lean_Elab_Deriving_BEq_0__Lean_Elab_Deriving_BEq_mkBEqInstanceCmds___closed__7; LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_BEq_mkAuxFunction(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_BEq_mkMatch_mkElseAlt___spec__1___closed__1; +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_BEq_mkMatch___spec__1(size_t, size_t, lean_object*); static lean_object* l___private_Lean_Elab_Deriving_BEq_0__Lean_Elab_Deriving_BEq_mkBEqEnumFun___closed__11; +lean_object* l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__19(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_BEq_mkAuxFunction___lambda__1___closed__8; static lean_object* l_Lean_Elab_Deriving_BEq_mkMatch_mkElseAlt___closed__12; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_BEq_mkMatch_mkAlts___spec__5___lambda__1___closed__6; @@ -2783,6 +2784,30 @@ x_6 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_BEq_mkMatch_mkAlts___spec__ return x_6; } } +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_BEq_mkMatch___spec__1(size_t x_1, size_t x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; +x_4 = lean_usize_dec_lt(x_2, x_1); +if (x_4 == 0) +{ +return x_3; +} +else +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; size_t x_8; size_t x_9; lean_object* x_10; +x_5 = lean_array_uget(x_3, x_2); +x_6 = lean_unsigned_to_nat(0u); +x_7 = lean_array_uset(x_3, x_2, x_6); +x_8 = 1; +x_9 = lean_usize_add(x_2, x_8); +x_10 = lean_array_uset(x_7, x_2, x_5); +x_2 = x_9; +x_3 = x_10; +goto _start; +} +} +} static lean_object* _init_l_Lean_Elab_Deriving_BEq_mkMatch___closed__1() { _start: { @@ -2889,7 +2914,7 @@ x_28 = lean_array_get_size(x_12); x_29 = lean_usize_of_nat(x_28); lean_dec(x_28); x_30 = 0; -x_31 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(x_29, x_30, x_12); +x_31 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_BEq_mkMatch___spec__1(x_29, x_30, x_12); x_32 = l_Lean_Elab_Deriving_BEq_mkMatch_mkElseAlt___closed__17; x_33 = l_Lean_mkSepArray(x_31, x_32); lean_dec(x_31); @@ -2956,7 +2981,7 @@ x_59 = lean_array_get_size(x_12); x_60 = lean_usize_of_nat(x_59); lean_dec(x_59); x_61 = 0; -x_62 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(x_60, x_61, x_12); +x_62 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_BEq_mkMatch___spec__1(x_60, x_61, x_12); x_63 = l_Lean_Elab_Deriving_BEq_mkMatch_mkElseAlt___closed__17; x_64 = l_Lean_mkSepArray(x_62, x_63); lean_dec(x_62); @@ -3031,6 +3056,18 @@ return x_88; } } } +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_BEq_mkMatch___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; +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_Elab_Deriving_BEq_mkMatch___spec__1(x_4, x_5, x_3); +return x_6; +} +} static lean_object* _init_l_Lean_Elab_Deriving_BEq_mkAuxFunction___lambda__1___closed__1() { _start: { @@ -6219,7 +6256,7 @@ x_9 = lean_ctor_get(x_1, 1); lean_inc(x_9); lean_dec(x_1); lean_inc(x_2); -x_17 = l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__17(x_8, x_2, x_3, x_4); +x_17 = l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__19(x_8, x_2, x_3, x_4); if (lean_obj_tag(x_17) == 0) { lean_object* x_18; @@ -6310,7 +6347,7 @@ _start: { lean_object* x_5; lean_inc(x_2); -x_5 = l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__17(x_1, x_2, x_3, x_4); +x_5 = l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__19(x_1, x_2, x_3, x_4); if (lean_obj_tag(x_5) == 0) { lean_object* x_6; diff --git a/stage0/stdlib/Lean/Elab/Deriving/Basic.c b/stage0/stdlib/Lean/Elab/Deriving/Basic.c index aa7af464ab..95321a825c 100644 --- a/stage0/stdlib/Lean/Elab/Deriving/Basic.c +++ b/stage0/stdlib/Lean/Elab/Deriving/Basic.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.Deriving.Basic -// Imports: Init Lean.Elab.Command Lean.Elab.MutualDef +// Imports: Init Lean.Elab.Command #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -13,43 +13,61 @@ #ifdef __cplusplus extern "C" { #endif +lean_object* l_List_reverse___rarg(lean_object*); +lean_object* l_Lean_getConstInfo___at_Lean_Elab_Term_mkConst___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_initializing(lean_object*); -LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__17(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_2362____closed__2; +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Term_processDefDeriving___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_derivingHandlersRef; +LEAN_EXPORT lean_object* l___private_Lean_Elab_Deriving_Basic_0__Lean_Elab_Term_mkInst_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_add(size_t, size_t); static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_elabDeriving___spec__10___closed__1; lean_object* l_Lean_registerTraceClass(lean_object*, uint8_t, lean_object*); +LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Elab_defaultHandler___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_applyDerivingHandlers___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_defaultHandler___closed__4; lean_object* l_Lean_stringToMessageData(lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_elabDeriving___spec__16(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_elabDeriving_declRange___closed__3; lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); +static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21___closed__2; +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_elabDeriving___spec__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_addDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_filterTRAux___at_Lean_resolveGlobalConstCore___spec__1(lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_liftTermElabM___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_uget(lean_object*, size_t); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_getOptDerivingClasses___spec__1(lean_object*); -static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_elabDeriving___spec__1___rarg___closed__2; +lean_object* l_Lean_Expr_bindingDomain_x21(lean_object*); lean_object* l_List_mapTRAux___at_Lean_resolveGlobalConstCore___spec__2(lean_object*, lean_object*); extern lean_object* l_Std_Format_defWidth; +lean_object* l_Lean_Meta_mkConstWithFreshMVarLevels(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_elabDeriving_declRange___closed__7; static lean_object* l_Lean_Elab_applyDerivingHandlers___closed__1; extern lean_object* l_Lean_Elab_Command_commandElabAttribute; lean_object* l_List_filterMap___at_Lean_resolveGlobalConst___spec__1(lean_object*); +extern lean_object* l_Lean_maxRecDepthErrorMessage; lean_object* lean_array_uset(lean_object*, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_registerDerivingHandler(lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_elabDeriving_declRange___closed__4; lean_object* lean_environment_find(lean_object*, lean_object*); static lean_object* l_Lean_Elab_defaultHandler___closed__5; +LEAN_EXPORT lean_object* l_Lean_Elab_Term_MkInstResult_outParams___default; lean_object* lean_st_ref_get(lean_object*, lean_object*); -static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_1780____closed__3; +lean_object* l_Lean_throwError___at_Lean_Elab_Term_mkAuxName___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___closed__1; static lean_object* l_Lean_Elab_defaultHandler___closed__3; +LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Expr_appFn_x21(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_applyDerivingHandlers___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_Elab_registerDerivingHandlerWithArgs___spec__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_sequenceMap_loop___at_Lean_Elab_elabDeriving___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_elabDeriving_declRange___closed__1; static lean_object* l___regBuiltin_Lean_Elab_elabDeriving___closed__3; LEAN_EXPORT lean_object* l_Array_sequenceMap_loop___at_Lean_Elab_elabDeriving___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_expr_instantiate1(lean_object*, lean_object*); lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); @@ -58,22 +76,25 @@ lean_object* l_Lean_MessageData_ofList(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_getOptDerivingClasses(lean_object*); static lean_object* l_Lean_Elab_elabDeriving___lambda__2___closed__1; static lean_object* l___regBuiltin_Lean_Elab_elabDeriving_declRange___closed__2; -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_elabDeriving___closed__6; -static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__2; LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_elabDeriving___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_registerDerivingHandlerWithArgs(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_usize_dec_lt(size_t, size_t); +lean_object* l_liftExcept___at_Lean_Elab_liftMacroM___spec__1(lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___closed__2; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_getOptDerivingClasses___spec__1___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_getOptDerivingClasses___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Elab_elabDeriving___spec__18(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabDeriving___closed__7; static lean_object* l_Lean_Elab_defaultHandler___closed__6; lean_object* lean_nat_add(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__17___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__1; +LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__19___boxed(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_LocalContext_empty; +LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_mapTRAux___at_Lean_resolveGlobalConstNoOverload___spec__1(lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabDeriving___closed__3; LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_elabDeriving___spec__13(lean_object*, lean_object*, lean_object*, lean_object*); @@ -81,37 +102,44 @@ static lean_object* l_Lean_Elab_elabDeriving___lambda__2___closed__2; lean_object* l_Lean_ConstantInfo_levelParams(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_elabDeriving___spec__14(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabDeriving___closed__5; +static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_2362____closed__3; static lean_object* l___regBuiltin_Lean_Elab_elabDeriving___closed__5; lean_object* lean_array_fget(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_applyDerivingHandlers(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_elabDeriving___spec__19___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__4; +static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_2362____closed__1; uint8_t l_Lean_Syntax_matchesNull(lean_object*, lean_object*); static lean_object* l_List_forIn_loop___at_Lean_Elab_applyDerivingHandlers___spec__1___closed__2; +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_elabDeriving___spec__22___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_forM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_getOptDerivingClasses___spec__1___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_elabDeriving___spec__5___boxed(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_elabDeriving___spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_expandMacroImpl_x3f(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabDeriving___closed__2; lean_object* l_Lean_throwError___at_Lean_Elab_Command_expandDeclId___spec__12(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_sequenceMap_loop___at_Lean_Elab_elabDeriving___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); -static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_1780____closed__2; LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Elab_applyDerivingHandlers___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_elabDeriving___spec__8___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_elabDeriving___spec__1(lean_object*, lean_object*); +static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21___closed__3; +LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_registerDerivingHandler___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_registerDerivingHandler___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_1780_(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_25_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_607_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_2362_(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_elabDeriving_declRange___closed__5; +LEAN_EXPORT lean_object* l_Lean_addAndCompile___at_Lean_Elab_Term_processDefDeriving___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_defaultHandler___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t lean_is_out_param(lean_object*); lean_object* l_Lean_replaceRef(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Elab_elabDeriving___spec__16(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ResolveName_resolveNamespace(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_sequenceMap___at_Lean_Elab_elabDeriving___spec__2(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_elabDeriving___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_sequenceMap___at_Lean_Elab_elabDeriving___spec__6(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_elabDeriving___spec__20___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_defaultHandler___closed__2; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_elabDeriving___spec__4___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabDeriving___closed__1; @@ -123,109 +151,2409 @@ static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_elabDeriving___spec LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_elabDeriving_declRange(lean_object*); lean_object* lean_st_mk_ref(lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabDeriving___closed__8; -lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_mkInstanceName___spec__15(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_format_pretty(lean_object*, lean_object*); static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_elabDeriving___spec__14___closed__2; -static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_elabDeriving___spec__1___rarg___closed__1; static lean_object* l_Lean_Elab_elabDeriving___closed__4; +lean_object* l_Lean_Meta_isExprDefEqGuarded(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_addInstance(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_forIn_loop___at_Lean_Elab_applyDerivingHandlers___spec__1___closed__1; +LEAN_EXPORT lean_object* l___private_Lean_Elab_Deriving_Basic_0__Lean_Elab_Term_mkInst_x3f_go_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addBuiltinDeclarationRanges(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_defaultHandler___closed__1; lean_object* l_Lean_addMessageContextPartial___at_Lean_Elab_Command_instAddMessageContextCommandElabM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_to_list(lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabDeriving___closed__9; -static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_1780____closed__1; +uint8_t l_Lean_Environment_contains(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_elabDeriving___spec__17(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabDeriving___closed__6; lean_object* l_panic___at___private_Init_Prelude_0__Lean_assembleParts___spec__1(lean_object*); lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_elabDeriving___spec__12___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_compileDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__3; LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_elabDeriving___spec__10(lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_Lean_Expr_isForall(lean_object*); +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Elab_elabDeriving___spec__18___boxed(lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_of_nat(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_DerivingClassView_applyHandlers(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_elabDeriving___spec__8___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_MkInstResult_outParams___default___closed__1; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_getOptDerivingClasses___spec__1___rarg___lambda__1(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabDeriving___lambda__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_sequenceMap___at_Lean_Elab_elabDeriving___spec__6___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabDeriving___lambda__1___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Name_getString_x21(lean_object*); +lean_object* l_Lean_Meta_synthInstance(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Deriving_Basic_0__Lean_Elab_Term_mkInst_x3f_go_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_name_append_after(lean_object*, lean_object*); lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabDeriving___lambda__3(lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_elabDeriving___spec__18(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_getOptDerivingClasses___rarg___lambda__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Deriving_Basic_0__Lean_Elab_tryApplyDefHandler___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_environment_main_module(lean_object*); lean_object* l_Lean_Elab_logException___at_Lean_Elab_Command_runLinters___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_addMacroStack___at_Lean_Elab_Command_instAddErrorMessageContextCommandElabM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_elabDeriving___spec__15(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_getOptDerivingClasses___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); -lean_object* l_List_mapTRAux___at_Lean_Elab_Term_CollectPatternVars_collect_processExplicitArg___spec__2(lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArgs(lean_object*); LEAN_EXPORT lean_object* l_Array_sequenceMap___at_Lean_Elab_elabDeriving___spec__2___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_elabDeriving___spec__5(size_t, size_t, lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Command_expandDeclId___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_elabDeriving___spec__20(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_elabDeriving___spec__12___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_sequenceMap_loop___at_Lean_Elab_elabDeriving___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_defaultHandler(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_elabDeriving___spec__18___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_Term_processDefDeriving(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Deriving_Basic_0__Lean_Elab_Term_mkInst_x3f_go_x3f___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_ReaderT_pure___at_Lean_Elab_liftMacroM___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_processDefDeriving(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(lean_object*, lean_object*); -static lean_object* l_Lean_Elab_elabDeriving___closed__12; static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_elabDeriving___spec__14___closed__4; +LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__2; lean_object* l_Lean_Elab_Command_getRef(lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_elabDeriving_declRange___closed__6; -LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Elab_elabDeriving___spec__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabDeriving___lambda__2(lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___lambda__1(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_Expr_app___override(lean_object*, lean_object*); uint8_t l_Lean_Syntax_isNone(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_elabDeriving___spec__17___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_elabDeriving(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarImpl(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_getOptDerivingClasses___spec__1___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_elabDeriving___spec__1___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_Elab_registerDerivingHandlerWithArgs___spec__1(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Deriving_Basic_0__Lean_Elab_Term_mkInst_x3f_go_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_elabDeriving___closed__4; static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_elabDeriving___spec__9___closed__2; lean_object* l_Lean_throwError___at___private_Lean_Elab_Command_0__Lean_Elab_Command_elabCommandUsing___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabDeriving___closed__11; +static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__1; static lean_object* l_Lean_Elab_getOptDerivingClasses___rarg___closed__2; extern lean_object* l_Lean_Elab_unsupportedSyntaxExceptionId; static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_elabDeriving___spec__9___closed__1; static lean_object* l_Lean_Elab_elabDeriving___closed__10; +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_elabDeriving(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_elabDeriving___spec__15(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_whnfD(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); +lean_object* lean_name_append_before(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_elabDeriving___spec__23(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_elabDeriving___spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_elabDeriving___spec__14___closed__3; +LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Term_processDefDeriving___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_registerDerivingHandlerWithArgs___lambda__1___closed__1; -static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__3; uint8_t l_List_isEmpty___rarg(lean_object*); lean_object* l_Lean_Elab_Command_getScope___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_elabDeriving___spec__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__4; lean_object* l_List_toString___at_Lean_resolveGlobalConstNoOverloadCore___spec__2(lean_object*); static lean_object* l_Lean_Elab_registerDerivingHandlerWithArgs___closed__2; static lean_object* l___regBuiltin_Lean_Elab_elabDeriving___closed__1; LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_elabDeriving___spec__12(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_elabDeriving___spec__10___closed__3; +lean_object* l_Lean_Expr_bindingBody_x21(lean_object*); +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__19(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_getOptDerivingClasses___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); -lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Linter_MissingDocs_handleIn___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_processDefDeriving___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_Deriving_Basic_0__Lean_Elab_tryApplyDefHandler(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_formatStxAux(lean_object*, uint8_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_elabDeriving___spec__1___rarg(lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg(lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Syntax_SepArray_getElems___spec__1(lean_object*, size_t, size_t, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_elabDeriving___spec__19(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_elabDeriving___spec__22(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_elabDeriving___spec__14___closed__1; static lean_object* l_Lean_Elab_getOptDerivingClasses___rarg___closed__1; +static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21___closed__1; static lean_object* l___regBuiltin_Lean_Elab_elabDeriving___closed__2; +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_elabDeriving___spec__23___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_registerDerivingHandlerWithArgs___closed__1; +lean_object* l_Lean_Meta_check(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_elabDeriving___spec__9(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_registerDerivingHandlerWithArgs___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_mkUnusedBaseName(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_getBetterRef(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_getOptDerivingClasses___spec__1___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t lean_string_dec_eq(lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__1; uint8_t lean_nat_dec_lt(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_elabDeriving___spec__14___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_25_(lean_object* x_1) { +static lean_object* _init_l_Lean_Elab_Term_MkInstResult_outParams___default___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(0u); +x_2 = lean_mk_empty_array_with_capacity(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Elab_Term_MkInstResult_outParams___default() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_Elab_Term_MkInstResult_outParams___default___closed__1; +return x_1; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_Deriving_Basic_0__Lean_Elab_Term_mkInst_x3f_go_x3f___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_10 = l_Lean_Expr_app___override(x_1, x_2); +x_11 = l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2(x_10, x_5, x_6, x_7, x_8, x_9); +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_11, 1); +lean_inc(x_13); +lean_dec(x_11); +x_14 = lean_box(0); +lean_inc(x_12); +x_15 = l_Lean_Meta_synthInstance(x_12, x_14, x_5, x_6, x_7, x_8, x_13); +if (lean_obj_tag(x_15) == 0) +{ +uint8_t x_16; +x_16 = !lean_is_exclusive(x_15); +if (x_16 == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_ctor_get(x_15, 0); +x_18 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_18, 0, x_17); +lean_ctor_set(x_18, 1, x_12); +lean_ctor_set(x_18, 2, x_3); +x_19 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_19, 0, x_18); +lean_ctor_set(x_15, 0, x_19); +return x_15; +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_20 = lean_ctor_get(x_15, 0); +x_21 = lean_ctor_get(x_15, 1); +lean_inc(x_21); +lean_inc(x_20); +lean_dec(x_15); +x_22 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_22, 0, x_20); +lean_ctor_set(x_22, 1, x_12); +lean_ctor_set(x_22, 2, x_3); +x_23 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_23, 0, x_22); +x_24 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_24, 0, x_23); +lean_ctor_set(x_24, 1, x_21); +return x_24; +} +} +else +{ +uint8_t x_25; +lean_dec(x_12); +lean_dec(x_3); +x_25 = !lean_is_exclusive(x_15); +if (x_25 == 0) +{ +return x_15; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_15, 0); +x_27 = lean_ctor_get(x_15, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_15); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_Deriving_Basic_0__Lean_Elab_Term_mkInst_x3f_go_x3f___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; uint8_t x_12; +lean_dec(x_5); +x_11 = l_Lean_Expr_bindingDomain_x21(x_1); +lean_inc(x_11); +x_12 = lean_is_out_param(x_11); +if (x_12 == 0) +{ +lean_object* x_13; +lean_dec(x_1); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_2); +x_13 = lean_infer_type(x_2, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_13) == 0) +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_16 = l_Lean_Meta_isExprDefEqGuarded(x_14, x_11, x_6, x_7, x_8, x_9, x_15); +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_unbox(x_17); +lean_dec(x_17); +if (x_18 == 0) +{ +uint8_t x_19; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_19 = !lean_is_exclusive(x_16); +if (x_19 == 0) +{ +lean_object* x_20; lean_object* x_21; +x_20 = lean_ctor_get(x_16, 0); +lean_dec(x_20); +x_21 = lean_box(0); +lean_ctor_set(x_16, 0, x_21); +return x_16; +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_16, 1); +lean_inc(x_22); +lean_dec(x_16); +x_23 = lean_box(0); +x_24 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_24, 0, x_23); +lean_ctor_set(x_24, 1, x_22); +return x_24; +} +} +else +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_16, 1); +lean_inc(x_25); +lean_dec(x_16); +x_26 = lean_box(0); +x_27 = l___private_Lean_Elab_Deriving_Basic_0__Lean_Elab_Term_mkInst_x3f_go_x3f___lambda__1(x_3, x_2, x_4, x_26, x_6, x_7, x_8, x_9, x_25); +return x_27; +} +} +else +{ +uint8_t x_28; +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_28 = !lean_is_exclusive(x_13); +if (x_28 == 0) +{ +return x_13; +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_13, 0); +x_30 = lean_ctor_get(x_13, 1); +lean_inc(x_30); +lean_inc(x_29); +lean_dec(x_13); +x_31 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_31, 0, x_29); +lean_ctor_set(x_31, 1, x_30); +return x_31; +} +} +} +else +{ +lean_object* x_32; uint8_t x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_32 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_32, 0, x_11); +x_33 = 0; +x_34 = lean_box(0); +lean_inc(x_6); +x_35 = l___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarImpl(x_32, x_33, x_34, x_6, x_7, x_8, x_9, x_10); +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +x_37 = lean_ctor_get(x_35, 1); +lean_inc(x_37); +lean_dec(x_35); +lean_inc(x_36); +x_38 = l_Lean_Expr_app___override(x_3, x_36); +x_39 = l_Lean_Expr_bindingBody_x21(x_1); +lean_dec(x_1); +x_40 = lean_expr_instantiate1(x_39, x_36); +lean_dec(x_39); +x_41 = lean_array_push(x_4, x_36); +x_42 = l___private_Lean_Elab_Deriving_Basic_0__Lean_Elab_Term_mkInst_x3f_go_x3f(x_2, x_38, x_40, x_41, x_6, x_7, x_8, x_9, x_37); +return x_42; +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_Deriving_Basic_0__Lean_Elab_Term_mkInst_x3f_go_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +x_10 = l_Lean_Meta_whnfD(x_3, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_10) == 0) +{ +uint8_t x_11; +x_11 = !lean_is_exclusive(x_10); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; uint8_t x_14; +x_12 = lean_ctor_get(x_10, 0); +x_13 = lean_ctor_get(x_10, 1); +x_14 = l_Lean_Expr_isForall(x_12); +if (x_14 == 0) +{ +lean_object* x_15; +lean_dec(x_12); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_15 = lean_box(0); +lean_ctor_set(x_10, 0, x_15); +return x_10; +} +else +{ +lean_object* x_16; lean_object* x_17; +lean_free_object(x_10); +x_16 = lean_box(0); +x_17 = l___private_Lean_Elab_Deriving_Basic_0__Lean_Elab_Term_mkInst_x3f_go_x3f___lambda__2(x_12, x_1, x_2, x_4, x_16, x_5, x_6, x_7, x_8, x_13); +return x_17; +} +} +else +{ +lean_object* x_18; lean_object* x_19; uint8_t x_20; +x_18 = lean_ctor_get(x_10, 0); +x_19 = lean_ctor_get(x_10, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_10); +x_20 = l_Lean_Expr_isForall(x_18); +if (x_20 == 0) +{ +lean_object* x_21; lean_object* x_22; +lean_dec(x_18); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_21 = lean_box(0); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_21); +lean_ctor_set(x_22, 1, x_19); +return x_22; +} +else +{ +lean_object* x_23; lean_object* x_24; +x_23 = lean_box(0); +x_24 = l___private_Lean_Elab_Deriving_Basic_0__Lean_Elab_Term_mkInst_x3f_go_x3f___lambda__2(x_18, x_1, x_2, x_4, x_23, x_5, x_6, x_7, x_8, x_19); +return x_24; +} +} +} +else +{ +uint8_t x_25; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_25 = !lean_is_exclusive(x_10); +if (x_25 == 0) +{ +return x_10; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_10, 0); +x_27 = lean_ctor_get(x_10, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_10); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_Deriving_Basic_0__Lean_Elab_Term_mkInst_x3f_go_x3f___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; +x_10 = l___private_Lean_Elab_Deriving_Basic_0__Lean_Elab_Term_mkInst_x3f_go_x3f___lambda__1(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; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_Deriving_Basic_0__Lean_Elab_Term_mkInst_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_8 = l_Lean_Meta_mkConstWithFreshMVarLevels(x_1, 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; +x_9 = lean_ctor_get(x_8, 0); +lean_inc(x_9); +x_10 = lean_ctor_get(x_8, 1); +lean_inc(x_10); +lean_dec(x_8); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_9); +x_11 = lean_infer_type(x_9, x_3, x_4, x_5, x_6, x_10); +if (lean_obj_tag(x_11) == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_11, 1); +lean_inc(x_13); +lean_dec(x_11); +x_14 = l_Lean_Elab_Term_MkInstResult_outParams___default___closed__1; +x_15 = l___private_Lean_Elab_Deriving_Basic_0__Lean_Elab_Term_mkInst_x3f_go_x3f(x_2, x_9, x_12, x_14, x_3, x_4, x_5, x_6, x_13); +return x_15; +} +else +{ +uint8_t x_16; +lean_dec(x_9); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_16 = !lean_is_exclusive(x_11); +if (x_16 == 0) +{ +return x_11; +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_ctor_get(x_11, 0); +x_18 = lean_ctor_get(x_11, 1); +lean_inc(x_18); +lean_inc(x_17); +lean_dec(x_11); +x_19 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_19, 0, x_17); +lean_ctor_set(x_19, 1, x_18); +return x_19; +} +} +} +else +{ +uint8_t x_20; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_20 = !lean_is_exclusive(x_8); +if (x_20 == 0) +{ +return x_8; +} +else +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_8, 0); +x_22 = lean_ctor_get(x_8, 1); +lean_inc(x_22); +lean_inc(x_21); +lean_dec(x_8); +x_23 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_23, 0, x_21); +lean_ctor_set(x_23, 1, x_22); +return x_23; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Term_processDefDeriving___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: +{ +uint8_t x_10; +x_10 = !lean_is_exclusive(x_7); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_11 = lean_ctor_get(x_7, 5); +x_12 = l_Lean_replaceRef(x_1, x_11); +lean_dec(x_11); +lean_ctor_set(x_7, 5, x_12); +x_13 = l_Lean_throwError___at_Lean_Elab_Term_mkAuxName___spec__1(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_7); +return x_13; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_14 = lean_ctor_get(x_7, 0); +x_15 = lean_ctor_get(x_7, 1); +x_16 = lean_ctor_get(x_7, 2); +x_17 = lean_ctor_get(x_7, 3); +x_18 = lean_ctor_get(x_7, 4); +x_19 = lean_ctor_get(x_7, 5); +x_20 = lean_ctor_get(x_7, 6); +x_21 = lean_ctor_get(x_7, 7); +x_22 = lean_ctor_get(x_7, 8); +x_23 = lean_ctor_get(x_7, 9); +x_24 = lean_ctor_get(x_7, 10); +lean_inc(x_24); +lean_inc(x_23); +lean_inc(x_22); +lean_inc(x_21); +lean_inc(x_20); +lean_inc(x_19); +lean_inc(x_18); +lean_inc(x_17); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_7); +x_25 = l_Lean_replaceRef(x_1, x_19); +lean_dec(x_19); +x_26 = lean_alloc_ctor(0, 11, 0); +lean_ctor_set(x_26, 0, x_14); +lean_ctor_set(x_26, 1, x_15); +lean_ctor_set(x_26, 2, x_16); +lean_ctor_set(x_26, 3, x_17); +lean_ctor_set(x_26, 4, x_18); +lean_ctor_set(x_26, 5, x_25); +lean_ctor_set(x_26, 6, x_20); +lean_ctor_set(x_26, 7, x_21); +lean_ctor_set(x_26, 8, x_22); +lean_ctor_set(x_26, 9, x_23); +lean_ctor_set(x_26, 10, x_24); +x_27 = l_Lean_throwError___at_Lean_Elab_Term_mkAuxName___spec__1(x_2, x_3, x_4, x_5, x_6, x_26, x_8, x_9); +lean_dec(x_26); +return x_27; +} +} +} +static lean_object* _init_l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_maxRecDepthErrorMessage; +x_2 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___closed__1; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_9 = l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___closed__2; +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_1); +lean_ctor_set(x_10, 1, x_9); +x_11 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_11, 0, x_10); +lean_ctor_set(x_11, 1, x_8); +return x_11; +} +} +static lean_object* _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_Elab_unsupportedSyntaxExceptionId; +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__1; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__2; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___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) { +_start: +{ +lean_object* x_7; +x_7 = lean_alloc_closure((void*)(l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg), 1, 0); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; lean_object* x_6; +x_5 = l_Lean_Elab_expandMacroImpl_x3f(x_1, x_2, x_3, x_4); +x_6 = lean_ctor_get(x_5, 0); +lean_inc(x_6); +if (lean_obj_tag(x_6) == 0) +{ +uint8_t x_7; +x_7 = !lean_is_exclusive(x_5); +if (x_7 == 0) +{ +lean_object* x_8; lean_object* x_9; +x_8 = lean_ctor_get(x_5, 0); +lean_dec(x_8); +x_9 = lean_box(0); +lean_ctor_set(x_5, 0, x_9); +return x_5; +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_10 = lean_ctor_get(x_5, 1); +lean_inc(x_10); +lean_dec(x_5); +x_11 = lean_box(0); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_10); +return x_12; +} +} +else +{ +uint8_t x_13; +x_13 = !lean_is_exclusive(x_6); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; +x_14 = lean_ctor_get(x_6, 0); +x_15 = lean_ctor_get(x_14, 1); +lean_inc(x_15); +lean_dec(x_14); +if (lean_obj_tag(x_15) == 0) +{ +lean_object* x_16; uint8_t x_17; +lean_free_object(x_6); +x_16 = lean_ctor_get(x_5, 1); +lean_inc(x_16); +lean_dec(x_5); +x_17 = !lean_is_exclusive(x_15); +if (x_17 == 0) +{ +lean_object* x_18; +x_18 = l_liftExcept___at_Lean_Elab_liftMacroM___spec__1(x_15, x_3, x_16); +lean_dec(x_15); +return x_18; +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_15, 0); +lean_inc(x_19); +lean_dec(x_15); +x_20 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_20, 0, x_19); +x_21 = l_liftExcept___at_Lean_Elab_liftMacroM___spec__1(x_20, x_3, x_16); +lean_dec(x_20); +return x_21; +} +} +else +{ +lean_object* x_22; uint8_t x_23; +x_22 = lean_ctor_get(x_5, 1); +lean_inc(x_22); +lean_dec(x_5); +x_23 = !lean_is_exclusive(x_15); +if (x_23 == 0) +{ +lean_object* x_24; lean_object* x_25; +x_24 = lean_ctor_get(x_15, 0); +lean_ctor_set(x_6, 0, x_24); +lean_ctor_set(x_15, 0, x_6); +x_25 = l_liftExcept___at_Lean_Elab_liftMacroM___spec__1(x_15, x_3, x_22); +lean_dec(x_15); +return x_25; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_15, 0); +lean_inc(x_26); +lean_dec(x_15); +lean_ctor_set(x_6, 0, x_26); +x_27 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_27, 0, x_6); +x_28 = l_liftExcept___at_Lean_Elab_liftMacroM___spec__1(x_27, x_3, x_22); +lean_dec(x_27); +return x_28; +} +} +} +else +{ +lean_object* x_29; lean_object* x_30; +x_29 = lean_ctor_get(x_6, 0); +lean_inc(x_29); +lean_dec(x_6); +x_30 = lean_ctor_get(x_29, 1); +lean_inc(x_30); +lean_dec(x_29); +if (lean_obj_tag(x_30) == 0) +{ +lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_31 = lean_ctor_get(x_5, 1); +lean_inc(x_31); +lean_dec(x_5); +x_32 = lean_ctor_get(x_30, 0); +lean_inc(x_32); +if (lean_is_exclusive(x_30)) { + lean_ctor_release(x_30, 0); + x_33 = x_30; +} else { + lean_dec_ref(x_30); + x_33 = lean_box(0); +} +if (lean_is_scalar(x_33)) { + x_34 = lean_alloc_ctor(0, 1, 0); +} else { + x_34 = x_33; +} +lean_ctor_set(x_34, 0, x_32); +x_35 = l_liftExcept___at_Lean_Elab_liftMacroM___spec__1(x_34, x_3, x_31); +lean_dec(x_34); +return x_35; +} +else +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_36 = lean_ctor_get(x_5, 1); +lean_inc(x_36); +lean_dec(x_5); +x_37 = lean_ctor_get(x_30, 0); +lean_inc(x_37); +if (lean_is_exclusive(x_30)) { + lean_ctor_release(x_30, 0); + x_38 = x_30; +} else { + lean_dec_ref(x_30); + x_38 = lean_box(0); +} +x_39 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_39, 0, x_37); +if (lean_is_scalar(x_38)) { + x_40 = lean_alloc_ctor(1, 1, 0); +} else { + x_40 = x_38; +} +lean_ctor_set(x_40, 0, x_39); +x_41 = l_liftExcept___at_Lean_Elab_liftMacroM___spec__1(x_40, x_3, x_36); +lean_dec(x_40); +return x_41; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +uint8_t x_5; lean_object* x_6; lean_object* x_7; +x_5 = l_Lean_Environment_contains(x_1, x_2); +x_6 = lean_box(x_5); +x_7 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_7, 0, x_6); +lean_ctor_set(x_7, 1, x_4); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___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) { +_start: +{ +lean_object* x_7; lean_object* x_8; +x_7 = l_Lean_ResolveName_resolveNamespace(x_1, x_2, x_3, x_4); +x_8 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_6); +return x_8; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___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) { +_start: +{ +lean_object* x_7; lean_object* x_8; +x_7 = l_Lean_ResolveName_resolveGlobalName(x_1, x_2, x_3, x_4); +x_8 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_6); +return x_8; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_9 = lean_st_ref_get(x_7, x_8); +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_9, 1); +lean_inc(x_11); +lean_dec(x_9); +x_12 = lean_ctor_get(x_10, 0); +lean_inc(x_12); +lean_dec(x_10); +x_13 = lean_ctor_get(x_6, 3); +lean_inc(x_13); +x_14 = lean_ctor_get(x_6, 4); +lean_inc(x_14); +x_15 = lean_ctor_get(x_6, 5); +lean_inc(x_15); +x_16 = lean_ctor_get(x_6, 6); +lean_inc(x_16); +x_17 = lean_ctor_get(x_6, 7); +lean_inc(x_17); +x_18 = lean_ctor_get(x_6, 10); +lean_inc(x_18); +lean_inc(x_12); +x_19 = lean_alloc_closure((void*)(l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__1___boxed), 4, 1); +lean_closure_set(x_19, 0, x_12); +lean_inc(x_16); +x_20 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Elab_liftMacroM___spec__2___rarg___boxed), 3, 1); +lean_closure_set(x_20, 0, x_16); +lean_inc(x_12); +x_21 = lean_alloc_closure((void*)(l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__2___boxed), 4, 1); +lean_closure_set(x_21, 0, x_12); +lean_inc(x_17); +lean_inc(x_16); +lean_inc(x_12); +x_22 = lean_alloc_closure((void*)(l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__3___boxed), 6, 3); +lean_closure_set(x_22, 0, x_12); +lean_closure_set(x_22, 1, x_16); +lean_closure_set(x_22, 2, x_17); +lean_inc(x_12); +x_23 = lean_alloc_closure((void*)(l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__4___boxed), 6, 3); +lean_closure_set(x_23, 0, x_12); +lean_closure_set(x_23, 1, x_16); +lean_closure_set(x_23, 2, x_17); +x_24 = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(x_24, 0, x_19); +lean_ctor_set(x_24, 1, x_20); +lean_ctor_set(x_24, 2, x_21); +lean_ctor_set(x_24, 3, x_22); +lean_ctor_set(x_24, 4, x_23); +x_25 = lean_st_ref_get(x_7, x_11); +x_26 = lean_ctor_get(x_25, 0); +lean_inc(x_26); +x_27 = lean_ctor_get(x_25, 1); +lean_inc(x_27); +lean_dec(x_25); +x_28 = lean_ctor_get(x_26, 1); +lean_inc(x_28); +lean_dec(x_26); +x_29 = lean_environment_main_module(x_12); +x_30 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_30, 0, x_24); +lean_ctor_set(x_30, 1, x_29); +lean_ctor_set(x_30, 2, x_18); +lean_ctor_set(x_30, 3, x_13); +lean_ctor_set(x_30, 4, x_14); +lean_ctor_set(x_30, 5, x_15); +x_31 = lean_box(0); +x_32 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_32, 0, x_28); +lean_ctor_set(x_32, 1, x_31); +x_33 = lean_apply_2(x_1, x_30, x_32); +if (lean_obj_tag(x_33) == 0) +{ +lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; uint8_t x_40; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +x_35 = lean_ctor_get(x_33, 1); +lean_inc(x_35); +lean_dec(x_33); +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +x_37 = lean_st_ref_take(x_7, x_27); +x_38 = lean_ctor_get(x_37, 0); +lean_inc(x_38); +x_39 = lean_ctor_get(x_37, 1); +lean_inc(x_39); +lean_dec(x_37); +x_40 = !lean_is_exclusive(x_38); +if (x_40 == 0) +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; +x_41 = lean_ctor_get(x_38, 1); +lean_dec(x_41); +lean_ctor_set(x_38, 1, x_36); +x_42 = lean_st_ref_set(x_7, x_38, x_39); +x_43 = lean_ctor_get(x_42, 1); +lean_inc(x_43); +lean_dec(x_42); +x_44 = lean_ctor_get(x_35, 1); +lean_inc(x_44); +lean_dec(x_35); +x_45 = l_List_reverse___rarg(x_44); +x_46 = l_List_forM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__2(x_45, x_2, x_3, x_4, x_5, x_6, x_7, x_43); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_47 = !lean_is_exclusive(x_46); +if (x_47 == 0) +{ +lean_object* x_48; +x_48 = lean_ctor_get(x_46, 0); +lean_dec(x_48); +lean_ctor_set(x_46, 0, x_34); +return x_46; +} +else +{ +lean_object* x_49; lean_object* x_50; +x_49 = lean_ctor_get(x_46, 1); +lean_inc(x_49); +lean_dec(x_46); +x_50 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_50, 0, x_34); +lean_ctor_set(x_50, 1, x_49); +return x_50; +} +} +else +{ +lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; +x_51 = lean_ctor_get(x_38, 0); +x_52 = lean_ctor_get(x_38, 2); +x_53 = lean_ctor_get(x_38, 3); +x_54 = lean_ctor_get(x_38, 4); +x_55 = lean_ctor_get(x_38, 5); +x_56 = lean_ctor_get(x_38, 6); +lean_inc(x_56); +lean_inc(x_55); +lean_inc(x_54); +lean_inc(x_53); +lean_inc(x_52); +lean_inc(x_51); +lean_dec(x_38); +x_57 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_57, 0, x_51); +lean_ctor_set(x_57, 1, x_36); +lean_ctor_set(x_57, 2, x_52); +lean_ctor_set(x_57, 3, x_53); +lean_ctor_set(x_57, 4, x_54); +lean_ctor_set(x_57, 5, x_55); +lean_ctor_set(x_57, 6, x_56); +x_58 = lean_st_ref_set(x_7, x_57, x_39); +x_59 = lean_ctor_get(x_58, 1); +lean_inc(x_59); +lean_dec(x_58); +x_60 = lean_ctor_get(x_35, 1); +lean_inc(x_60); +lean_dec(x_35); +x_61 = l_List_reverse___rarg(x_60); +x_62 = l_List_forM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__2(x_61, x_2, x_3, x_4, x_5, x_6, x_7, x_59); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_63 = lean_ctor_get(x_62, 1); +lean_inc(x_63); +if (lean_is_exclusive(x_62)) { + lean_ctor_release(x_62, 0); + lean_ctor_release(x_62, 1); + x_64 = x_62; +} else { + lean_dec_ref(x_62); + x_64 = lean_box(0); +} +if (lean_is_scalar(x_64)) { + x_65 = lean_alloc_ctor(0, 2, 0); +} else { + x_65 = x_64; +} +lean_ctor_set(x_65, 0, x_34); +lean_ctor_set(x_65, 1, x_63); +return x_65; +} +} +else +{ +lean_object* x_66; +x_66 = lean_ctor_get(x_33, 0); +lean_inc(x_66); +lean_dec(x_33); +if (lean_obj_tag(x_66) == 0) +{ +lean_object* x_67; lean_object* x_68; lean_object* x_69; uint8_t x_70; +x_67 = lean_ctor_get(x_66, 0); +lean_inc(x_67); +x_68 = lean_ctor_get(x_66, 1); +lean_inc(x_68); +lean_dec(x_66); +x_69 = l_Lean_maxRecDepthErrorMessage; +x_70 = lean_string_dec_eq(x_68, x_69); +if (x_70 == 0) +{ +lean_object* x_71; lean_object* x_72; lean_object* x_73; +x_71 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_71, 0, x_68); +x_72 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_72, 0, x_71); +x_73 = l_Lean_throwErrorAt___at_Lean_Elab_Term_processDefDeriving___spec__2(x_67, x_72, x_2, x_3, x_4, x_5, x_6, x_7, x_27); +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_67); +return x_73; +} +else +{ +lean_object* x_74; +lean_dec(x_68); +x_74 = l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3(x_67, x_2, x_3, x_4, x_5, x_6, x_7, x_27); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_74; +} +} +else +{ +lean_object* x_75; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_75 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg(x_27); +return x_75; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_addAndCompile___at_Lean_Elab_Term_processDefDeriving___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) { +_start: +{ +lean_object* x_9; +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_1); +x_9 = l_Lean_addDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_9) == 0) +{ +lean_object* x_10; lean_object* x_11; +x_10 = lean_ctor_get(x_9, 1); +lean_inc(x_10); +lean_dec(x_9); +x_11 = l_Lean_compileDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_10); +return x_11; +} +else +{ +uint8_t x_12; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_12 = !lean_is_exclusive(x_9); +if (x_12 == 0) +{ +return x_9; +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_9, 0); +x_14 = lean_ctor_get(x_9, 1); +lean_inc(x_14); +lean_inc(x_13); +lean_dec(x_9); +x_15 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_15, 0, x_13); +lean_ctor_set(x_15, 1, x_14); +return x_15; +} +} +} +} +static lean_object* _init_l_Lean_Elab_Term_processDefDeriving___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("inst", 4); +return x_1; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_Term_processDefDeriving(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_inc(x_3); +lean_inc(x_2); +x_10 = l_Lean_getConstInfo___at_Lean_Elab_Term_mkConst___spec__1(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_10) == 0) +{ +lean_object* x_11; +x_11 = lean_ctor_get(x_10, 0); +lean_inc(x_11); +if (lean_obj_tag(x_11) == 1) +{ +lean_object* x_12; lean_object* x_13; uint8_t x_14; +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +lean_dec(x_11); +x_13 = lean_ctor_get(x_10, 1); +lean_inc(x_13); +lean_dec(x_10); +x_14 = !lean_is_exclusive(x_12); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_15 = lean_ctor_get(x_12, 0); +x_16 = lean_ctor_get(x_12, 1); +x_17 = lean_ctor_get(x_12, 2); +x_18 = lean_ctor_get(x_12, 3); +lean_dec(x_18); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_1); +x_19 = l___private_Lean_Elab_Deriving_Basic_0__Lean_Elab_Term_mkInst_x3f(x_1, x_16, x_5, x_6, x_7, x_8, x_13); +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_20; +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +if (lean_obj_tag(x_20) == 0) +{ +uint8_t x_21; +lean_free_object(x_12); +lean_dec(x_17); +lean_dec(x_15); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_21 = !lean_is_exclusive(x_19); +if (x_21 == 0) +{ +lean_object* x_22; uint8_t x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_19, 0); +lean_dec(x_22); +x_23 = 0; +x_24 = lean_box(x_23); +lean_ctor_set(x_19, 0, x_24); +return x_19; +} +else +{ +lean_object* x_25; uint8_t x_26; lean_object* x_27; lean_object* x_28; +x_25 = lean_ctor_get(x_19, 1); +lean_inc(x_25); +lean_dec(x_19); +x_26 = 0; +x_27 = lean_box(x_26); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_25); +return x_28; +} +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33; +x_29 = lean_ctor_get(x_19, 1); +lean_inc(x_29); +lean_dec(x_19); +x_30 = lean_ctor_get(x_20, 0); +lean_inc(x_30); +lean_dec(x_20); +x_31 = lean_ctor_get(x_30, 1); +lean_inc(x_31); +x_32 = l_Lean_Expr_appFn_x21(x_31); +lean_dec(x_31); +x_33 = !lean_is_exclusive(x_15); +if (x_33 == 0) +{ +lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_34 = lean_ctor_get(x_15, 1); +x_35 = lean_ctor_get(x_15, 2); +lean_dec(x_35); +x_36 = lean_ctor_get(x_15, 0); +lean_dec(x_36); +x_37 = lean_box(0); +lean_inc(x_34); +x_38 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_34, x_37); +lean_inc(x_2); +x_39 = l_Lean_Expr_const___override(x_2, x_38); +x_40 = l_Lean_Expr_app___override(x_32, x_39); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_40); +x_41 = l_Lean_Meta_check(x_40, x_5, x_6, x_7, x_8, x_29); +if (lean_obj_tag(x_41) == 0) +{ +lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_42 = lean_ctor_get(x_41, 1); +lean_inc(x_42); +lean_dec(x_41); +x_43 = l_Lean_Elab_Term_processDefDeriving___closed__1; +x_44 = lean_name_append_before(x_2, x_43); +x_45 = l_Lean_Name_getString_x21(x_1); +x_46 = lean_name_append_after(x_44, x_45); +x_47 = lean_alloc_closure((void*)(l_Lean_Elab_mkUnusedBaseName), 3, 1); +lean_closure_set(x_47, 0, x_46); +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_48 = l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1(x_47, x_3, x_4, x_5, x_6, x_7, x_8, x_42); +if (lean_obj_tag(x_48) == 0) +{ +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_49 = lean_ctor_get(x_48, 0); +lean_inc(x_49); +x_50 = lean_ctor_get(x_48, 1); +lean_inc(x_50); +lean_dec(x_48); +x_51 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_40, x_3, x_4, x_5, x_6, x_7, x_8, x_50); +x_52 = lean_ctor_get(x_51, 0); +lean_inc(x_52); +x_53 = lean_ctor_get(x_51, 1); +lean_inc(x_53); +lean_dec(x_51); +x_54 = lean_ctor_get(x_30, 0); +lean_inc(x_54); +lean_dec(x_30); +x_55 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_54, x_3, x_4, x_5, x_6, x_7, x_8, x_53); +x_56 = lean_ctor_get(x_55, 0); +lean_inc(x_56); +x_57 = lean_ctor_get(x_55, 1); +lean_inc(x_57); +lean_dec(x_55); +lean_inc(x_49); +lean_ctor_set(x_15, 2, x_52); +lean_ctor_set(x_15, 0, x_49); +lean_inc(x_49); +x_58 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_58, 0, x_49); +lean_ctor_set(x_58, 1, x_37); +lean_ctor_set(x_12, 3, x_58); +lean_ctor_set(x_12, 1, x_56); +x_59 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_59, 0, x_12); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +x_60 = l_Lean_addAndCompile___at_Lean_Elab_Term_processDefDeriving___spec__5(x_59, x_3, x_4, x_5, x_6, x_7, x_8, x_57); +if (lean_obj_tag(x_60) == 0) +{ +lean_object* x_61; uint8_t x_62; lean_object* x_63; lean_object* x_64; +x_61 = lean_ctor_get(x_60, 1); +lean_inc(x_61); +lean_dec(x_60); +x_62 = 0; +x_63 = lean_unsigned_to_nat(1000u); +x_64 = l_Lean_Meta_addInstance(x_49, x_62, x_63, x_5, x_6, x_7, x_8, x_61); +if (lean_obj_tag(x_64) == 0) +{ +uint8_t x_65; +x_65 = !lean_is_exclusive(x_64); +if (x_65 == 0) +{ +lean_object* x_66; uint8_t x_67; lean_object* x_68; +x_66 = lean_ctor_get(x_64, 0); +lean_dec(x_66); +x_67 = 1; +x_68 = lean_box(x_67); +lean_ctor_set(x_64, 0, x_68); +return x_64; +} +else +{ +lean_object* x_69; uint8_t x_70; lean_object* x_71; lean_object* x_72; +x_69 = lean_ctor_get(x_64, 1); +lean_inc(x_69); +lean_dec(x_64); +x_70 = 1; +x_71 = lean_box(x_70); +x_72 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_72, 0, x_71); +lean_ctor_set(x_72, 1, x_69); +return x_72; +} +} +else +{ +uint8_t x_73; +x_73 = !lean_is_exclusive(x_64); +if (x_73 == 0) +{ +lean_object* x_74; uint8_t x_75; lean_object* x_76; +x_74 = lean_ctor_get(x_64, 0); +lean_dec(x_74); +x_75 = 0; +x_76 = lean_box(x_75); +lean_ctor_set_tag(x_64, 0); +lean_ctor_set(x_64, 0, x_76); +return x_64; +} +else +{ +lean_object* x_77; uint8_t x_78; lean_object* x_79; lean_object* x_80; +x_77 = lean_ctor_get(x_64, 1); +lean_inc(x_77); +lean_dec(x_64); +x_78 = 0; +x_79 = lean_box(x_78); +x_80 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_80, 0, x_79); +lean_ctor_set(x_80, 1, x_77); +return x_80; +} +} +} +else +{ +uint8_t x_81; +lean_dec(x_49); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_81 = !lean_is_exclusive(x_60); +if (x_81 == 0) +{ +lean_object* x_82; uint8_t x_83; lean_object* x_84; +x_82 = lean_ctor_get(x_60, 0); +lean_dec(x_82); +x_83 = 0; +x_84 = lean_box(x_83); +lean_ctor_set_tag(x_60, 0); +lean_ctor_set(x_60, 0, x_84); +return x_60; +} +else +{ +lean_object* x_85; uint8_t x_86; lean_object* x_87; lean_object* x_88; +x_85 = lean_ctor_get(x_60, 1); +lean_inc(x_85); +lean_dec(x_60); +x_86 = 0; +x_87 = lean_box(x_86); +x_88 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_88, 0, x_87); +lean_ctor_set(x_88, 1, x_85); +return x_88; +} +} +} +else +{ +uint8_t x_89; +lean_dec(x_40); +lean_free_object(x_15); +lean_dec(x_34); +lean_dec(x_30); +lean_free_object(x_12); +lean_dec(x_17); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_89 = !lean_is_exclusive(x_48); +if (x_89 == 0) +{ +lean_object* x_90; uint8_t x_91; lean_object* x_92; +x_90 = lean_ctor_get(x_48, 0); +lean_dec(x_90); +x_91 = 0; +x_92 = lean_box(x_91); +lean_ctor_set_tag(x_48, 0); +lean_ctor_set(x_48, 0, x_92); +return x_48; +} +else +{ +lean_object* x_93; uint8_t x_94; lean_object* x_95; lean_object* x_96; +x_93 = lean_ctor_get(x_48, 1); +lean_inc(x_93); +lean_dec(x_48); +x_94 = 0; +x_95 = lean_box(x_94); +x_96 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_96, 0, x_95); +lean_ctor_set(x_96, 1, x_93); +return x_96; +} +} +} +else +{ +uint8_t x_97; +lean_dec(x_40); +lean_free_object(x_15); +lean_dec(x_34); +lean_dec(x_30); +lean_free_object(x_12); +lean_dec(x_17); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_97 = !lean_is_exclusive(x_41); +if (x_97 == 0) +{ +lean_object* x_98; uint8_t x_99; lean_object* x_100; +x_98 = lean_ctor_get(x_41, 0); +lean_dec(x_98); +x_99 = 0; +x_100 = lean_box(x_99); +lean_ctor_set_tag(x_41, 0); +lean_ctor_set(x_41, 0, x_100); +return x_41; +} +else +{ +lean_object* x_101; uint8_t x_102; lean_object* x_103; lean_object* x_104; +x_101 = lean_ctor_get(x_41, 1); +lean_inc(x_101); +lean_dec(x_41); +x_102 = 0; +x_103 = lean_box(x_102); +x_104 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_104, 0, x_103); +lean_ctor_set(x_104, 1, x_101); +return x_104; +} +} +} +else +{ +lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; +x_105 = lean_ctor_get(x_15, 1); +lean_inc(x_105); +lean_dec(x_15); +x_106 = lean_box(0); +lean_inc(x_105); +x_107 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_105, x_106); +lean_inc(x_2); +x_108 = l_Lean_Expr_const___override(x_2, x_107); +x_109 = l_Lean_Expr_app___override(x_32, x_108); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_109); +x_110 = l_Lean_Meta_check(x_109, x_5, x_6, x_7, x_8, x_29); +if (lean_obj_tag(x_110) == 0) +{ +lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; +x_111 = lean_ctor_get(x_110, 1); +lean_inc(x_111); +lean_dec(x_110); +x_112 = l_Lean_Elab_Term_processDefDeriving___closed__1; +x_113 = lean_name_append_before(x_2, x_112); +x_114 = l_Lean_Name_getString_x21(x_1); +x_115 = lean_name_append_after(x_113, x_114); +x_116 = lean_alloc_closure((void*)(l_Lean_Elab_mkUnusedBaseName), 3, 1); +lean_closure_set(x_116, 0, x_115); +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_117 = l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1(x_116, x_3, x_4, x_5, x_6, x_7, x_8, x_111); +if (lean_obj_tag(x_117) == 0) +{ +lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; +x_118 = lean_ctor_get(x_117, 0); +lean_inc(x_118); +x_119 = lean_ctor_get(x_117, 1); +lean_inc(x_119); +lean_dec(x_117); +x_120 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_109, x_3, x_4, x_5, x_6, x_7, x_8, x_119); +x_121 = lean_ctor_get(x_120, 0); +lean_inc(x_121); +x_122 = lean_ctor_get(x_120, 1); +lean_inc(x_122); +lean_dec(x_120); +x_123 = lean_ctor_get(x_30, 0); +lean_inc(x_123); +lean_dec(x_30); +x_124 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_123, x_3, x_4, x_5, x_6, x_7, x_8, x_122); +x_125 = lean_ctor_get(x_124, 0); +lean_inc(x_125); +x_126 = lean_ctor_get(x_124, 1); +lean_inc(x_126); +lean_dec(x_124); +lean_inc(x_118); +x_127 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_127, 0, x_118); +lean_ctor_set(x_127, 1, x_105); +lean_ctor_set(x_127, 2, x_121); +lean_inc(x_118); +x_128 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_128, 0, x_118); +lean_ctor_set(x_128, 1, x_106); +lean_ctor_set(x_12, 3, x_128); +lean_ctor_set(x_12, 1, x_125); +lean_ctor_set(x_12, 0, x_127); +x_129 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_129, 0, x_12); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +x_130 = l_Lean_addAndCompile___at_Lean_Elab_Term_processDefDeriving___spec__5(x_129, x_3, x_4, x_5, x_6, x_7, x_8, x_126); +if (lean_obj_tag(x_130) == 0) +{ +lean_object* x_131; uint8_t x_132; lean_object* x_133; lean_object* x_134; +x_131 = lean_ctor_get(x_130, 1); +lean_inc(x_131); +lean_dec(x_130); +x_132 = 0; +x_133 = lean_unsigned_to_nat(1000u); +x_134 = l_Lean_Meta_addInstance(x_118, x_132, x_133, x_5, x_6, x_7, x_8, x_131); +if (lean_obj_tag(x_134) == 0) +{ +lean_object* x_135; lean_object* x_136; uint8_t x_137; lean_object* x_138; lean_object* x_139; +x_135 = lean_ctor_get(x_134, 1); +lean_inc(x_135); +if (lean_is_exclusive(x_134)) { + lean_ctor_release(x_134, 0); + lean_ctor_release(x_134, 1); + x_136 = x_134; +} else { + lean_dec_ref(x_134); + x_136 = lean_box(0); +} +x_137 = 1; +x_138 = lean_box(x_137); +if (lean_is_scalar(x_136)) { + x_139 = lean_alloc_ctor(0, 2, 0); +} else { + x_139 = x_136; +} +lean_ctor_set(x_139, 0, x_138); +lean_ctor_set(x_139, 1, x_135); +return x_139; +} +else +{ +lean_object* x_140; lean_object* x_141; uint8_t x_142; lean_object* x_143; lean_object* x_144; +x_140 = lean_ctor_get(x_134, 1); +lean_inc(x_140); +if (lean_is_exclusive(x_134)) { + lean_ctor_release(x_134, 0); + lean_ctor_release(x_134, 1); + x_141 = x_134; +} else { + lean_dec_ref(x_134); + x_141 = lean_box(0); +} +x_142 = 0; +x_143 = lean_box(x_142); +if (lean_is_scalar(x_141)) { + x_144 = lean_alloc_ctor(0, 2, 0); +} else { + x_144 = x_141; + lean_ctor_set_tag(x_144, 0); +} +lean_ctor_set(x_144, 0, x_143); +lean_ctor_set(x_144, 1, x_140); +return x_144; +} +} +else +{ +lean_object* x_145; lean_object* x_146; uint8_t x_147; lean_object* x_148; lean_object* x_149; +lean_dec(x_118); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_145 = lean_ctor_get(x_130, 1); +lean_inc(x_145); +if (lean_is_exclusive(x_130)) { + lean_ctor_release(x_130, 0); + lean_ctor_release(x_130, 1); + x_146 = x_130; +} else { + lean_dec_ref(x_130); + x_146 = lean_box(0); +} +x_147 = 0; +x_148 = lean_box(x_147); +if (lean_is_scalar(x_146)) { + x_149 = lean_alloc_ctor(0, 2, 0); +} else { + x_149 = x_146; + lean_ctor_set_tag(x_149, 0); +} +lean_ctor_set(x_149, 0, x_148); +lean_ctor_set(x_149, 1, x_145); +return x_149; +} +} +else +{ +lean_object* x_150; lean_object* x_151; uint8_t x_152; lean_object* x_153; lean_object* x_154; +lean_dec(x_109); +lean_dec(x_105); +lean_dec(x_30); +lean_free_object(x_12); +lean_dec(x_17); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_150 = lean_ctor_get(x_117, 1); +lean_inc(x_150); +if (lean_is_exclusive(x_117)) { + lean_ctor_release(x_117, 0); + lean_ctor_release(x_117, 1); + x_151 = x_117; +} else { + lean_dec_ref(x_117); + x_151 = lean_box(0); +} +x_152 = 0; +x_153 = lean_box(x_152); +if (lean_is_scalar(x_151)) { + x_154 = lean_alloc_ctor(0, 2, 0); +} else { + x_154 = x_151; + lean_ctor_set_tag(x_154, 0); +} +lean_ctor_set(x_154, 0, x_153); +lean_ctor_set(x_154, 1, x_150); +return x_154; +} +} +else +{ +lean_object* x_155; lean_object* x_156; uint8_t x_157; lean_object* x_158; lean_object* x_159; +lean_dec(x_109); +lean_dec(x_105); +lean_dec(x_30); +lean_free_object(x_12); +lean_dec(x_17); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_155 = lean_ctor_get(x_110, 1); +lean_inc(x_155); +if (lean_is_exclusive(x_110)) { + lean_ctor_release(x_110, 0); + lean_ctor_release(x_110, 1); + x_156 = x_110; +} else { + lean_dec_ref(x_110); + x_156 = lean_box(0); +} +x_157 = 0; +x_158 = lean_box(x_157); +if (lean_is_scalar(x_156)) { + x_159 = lean_alloc_ctor(0, 2, 0); +} else { + x_159 = x_156; + lean_ctor_set_tag(x_159, 0); +} +lean_ctor_set(x_159, 0, x_158); +lean_ctor_set(x_159, 1, x_155); +return x_159; +} +} +} +} +else +{ +uint8_t x_160; +lean_free_object(x_12); +lean_dec(x_17); +lean_dec(x_15); +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_160 = !lean_is_exclusive(x_19); +if (x_160 == 0) +{ +lean_object* x_161; uint8_t x_162; lean_object* x_163; +x_161 = lean_ctor_get(x_19, 0); +lean_dec(x_161); +x_162 = 0; +x_163 = lean_box(x_162); +lean_ctor_set_tag(x_19, 0); +lean_ctor_set(x_19, 0, x_163); +return x_19; +} +else +{ +lean_object* x_164; uint8_t x_165; lean_object* x_166; lean_object* x_167; +x_164 = lean_ctor_get(x_19, 1); +lean_inc(x_164); +lean_dec(x_19); +x_165 = 0; +x_166 = lean_box(x_165); +x_167 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_167, 0, x_166); +lean_ctor_set(x_167, 1, x_164); +return x_167; +} +} +} +else +{ +lean_object* x_168; lean_object* x_169; lean_object* x_170; uint8_t x_171; lean_object* x_172; +x_168 = lean_ctor_get(x_12, 0); +x_169 = lean_ctor_get(x_12, 1); +x_170 = lean_ctor_get(x_12, 2); +x_171 = lean_ctor_get_uint8(x_12, sizeof(void*)*4); +lean_inc(x_170); +lean_inc(x_169); +lean_inc(x_168); +lean_dec(x_12); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_1); +x_172 = l___private_Lean_Elab_Deriving_Basic_0__Lean_Elab_Term_mkInst_x3f(x_1, x_169, x_5, x_6, x_7, x_8, x_13); +if (lean_obj_tag(x_172) == 0) +{ +lean_object* x_173; +x_173 = lean_ctor_get(x_172, 0); +lean_inc(x_173); +if (lean_obj_tag(x_173) == 0) +{ +lean_object* x_174; lean_object* x_175; uint8_t x_176; lean_object* x_177; lean_object* x_178; +lean_dec(x_170); +lean_dec(x_168); +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_174 = lean_ctor_get(x_172, 1); +lean_inc(x_174); +if (lean_is_exclusive(x_172)) { + lean_ctor_release(x_172, 0); + lean_ctor_release(x_172, 1); + x_175 = x_172; +} else { + lean_dec_ref(x_172); + x_175 = lean_box(0); +} +x_176 = 0; +x_177 = lean_box(x_176); +if (lean_is_scalar(x_175)) { + x_178 = lean_alloc_ctor(0, 2, 0); +} else { + x_178 = x_175; +} +lean_ctor_set(x_178, 0, x_177); +lean_ctor_set(x_178, 1, x_174); +return x_178; +} +else +{ +lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; +x_179 = lean_ctor_get(x_172, 1); +lean_inc(x_179); +lean_dec(x_172); +x_180 = lean_ctor_get(x_173, 0); +lean_inc(x_180); +lean_dec(x_173); +x_181 = lean_ctor_get(x_180, 1); +lean_inc(x_181); +x_182 = l_Lean_Expr_appFn_x21(x_181); +lean_dec(x_181); +x_183 = lean_ctor_get(x_168, 1); +lean_inc(x_183); +if (lean_is_exclusive(x_168)) { + lean_ctor_release(x_168, 0); + lean_ctor_release(x_168, 1); + lean_ctor_release(x_168, 2); + x_184 = x_168; +} else { + lean_dec_ref(x_168); + x_184 = lean_box(0); +} +x_185 = lean_box(0); +lean_inc(x_183); +x_186 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_183, x_185); +lean_inc(x_2); +x_187 = l_Lean_Expr_const___override(x_2, x_186); +x_188 = l_Lean_Expr_app___override(x_182, x_187); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_188); +x_189 = l_Lean_Meta_check(x_188, x_5, x_6, x_7, x_8, x_179); +if (lean_obj_tag(x_189) == 0) +{ +lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; +x_190 = lean_ctor_get(x_189, 1); +lean_inc(x_190); +lean_dec(x_189); +x_191 = l_Lean_Elab_Term_processDefDeriving___closed__1; +x_192 = lean_name_append_before(x_2, x_191); +x_193 = l_Lean_Name_getString_x21(x_1); +x_194 = lean_name_append_after(x_192, x_193); +x_195 = lean_alloc_closure((void*)(l_Lean_Elab_mkUnusedBaseName), 3, 1); +lean_closure_set(x_195, 0, x_194); +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_196 = l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1(x_195, x_3, x_4, x_5, x_6, x_7, x_8, x_190); +if (lean_obj_tag(x_196) == 0) +{ +lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; +x_197 = lean_ctor_get(x_196, 0); +lean_inc(x_197); +x_198 = lean_ctor_get(x_196, 1); +lean_inc(x_198); +lean_dec(x_196); +x_199 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_188, x_3, x_4, x_5, x_6, x_7, x_8, x_198); +x_200 = lean_ctor_get(x_199, 0); +lean_inc(x_200); +x_201 = lean_ctor_get(x_199, 1); +lean_inc(x_201); +lean_dec(x_199); +x_202 = lean_ctor_get(x_180, 0); +lean_inc(x_202); +lean_dec(x_180); +x_203 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_202, x_3, x_4, x_5, x_6, x_7, x_8, x_201); +x_204 = lean_ctor_get(x_203, 0); +lean_inc(x_204); +x_205 = lean_ctor_get(x_203, 1); +lean_inc(x_205); +lean_dec(x_203); +lean_inc(x_197); +if (lean_is_scalar(x_184)) { + x_206 = lean_alloc_ctor(0, 3, 0); +} else { + x_206 = x_184; +} +lean_ctor_set(x_206, 0, x_197); +lean_ctor_set(x_206, 1, x_183); +lean_ctor_set(x_206, 2, x_200); +lean_inc(x_197); +x_207 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_207, 0, x_197); +lean_ctor_set(x_207, 1, x_185); +x_208 = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(x_208, 0, x_206); +lean_ctor_set(x_208, 1, x_204); +lean_ctor_set(x_208, 2, x_170); +lean_ctor_set(x_208, 3, x_207); +lean_ctor_set_uint8(x_208, sizeof(void*)*4, x_171); +x_209 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_209, 0, x_208); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +x_210 = l_Lean_addAndCompile___at_Lean_Elab_Term_processDefDeriving___spec__5(x_209, x_3, x_4, x_5, x_6, x_7, x_8, x_205); +if (lean_obj_tag(x_210) == 0) +{ +lean_object* x_211; uint8_t x_212; lean_object* x_213; lean_object* x_214; +x_211 = lean_ctor_get(x_210, 1); +lean_inc(x_211); +lean_dec(x_210); +x_212 = 0; +x_213 = lean_unsigned_to_nat(1000u); +x_214 = l_Lean_Meta_addInstance(x_197, x_212, x_213, x_5, x_6, x_7, x_8, x_211); +if (lean_obj_tag(x_214) == 0) +{ +lean_object* x_215; lean_object* x_216; uint8_t x_217; lean_object* x_218; lean_object* x_219; +x_215 = lean_ctor_get(x_214, 1); +lean_inc(x_215); +if (lean_is_exclusive(x_214)) { + lean_ctor_release(x_214, 0); + lean_ctor_release(x_214, 1); + x_216 = x_214; +} else { + lean_dec_ref(x_214); + x_216 = lean_box(0); +} +x_217 = 1; +x_218 = lean_box(x_217); +if (lean_is_scalar(x_216)) { + x_219 = lean_alloc_ctor(0, 2, 0); +} else { + x_219 = x_216; +} +lean_ctor_set(x_219, 0, x_218); +lean_ctor_set(x_219, 1, x_215); +return x_219; +} +else +{ +lean_object* x_220; lean_object* x_221; uint8_t x_222; lean_object* x_223; lean_object* x_224; +x_220 = lean_ctor_get(x_214, 1); +lean_inc(x_220); +if (lean_is_exclusive(x_214)) { + lean_ctor_release(x_214, 0); + lean_ctor_release(x_214, 1); + x_221 = x_214; +} else { + lean_dec_ref(x_214); + x_221 = lean_box(0); +} +x_222 = 0; +x_223 = lean_box(x_222); +if (lean_is_scalar(x_221)) { + x_224 = lean_alloc_ctor(0, 2, 0); +} else { + x_224 = x_221; + lean_ctor_set_tag(x_224, 0); +} +lean_ctor_set(x_224, 0, x_223); +lean_ctor_set(x_224, 1, x_220); +return x_224; +} +} +else +{ +lean_object* x_225; lean_object* x_226; uint8_t x_227; lean_object* x_228; lean_object* x_229; +lean_dec(x_197); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_225 = lean_ctor_get(x_210, 1); +lean_inc(x_225); +if (lean_is_exclusive(x_210)) { + lean_ctor_release(x_210, 0); + lean_ctor_release(x_210, 1); + x_226 = x_210; +} else { + lean_dec_ref(x_210); + x_226 = lean_box(0); +} +x_227 = 0; +x_228 = lean_box(x_227); +if (lean_is_scalar(x_226)) { + x_229 = lean_alloc_ctor(0, 2, 0); +} else { + x_229 = x_226; + lean_ctor_set_tag(x_229, 0); +} +lean_ctor_set(x_229, 0, x_228); +lean_ctor_set(x_229, 1, x_225); +return x_229; +} +} +else +{ +lean_object* x_230; lean_object* x_231; uint8_t x_232; lean_object* x_233; lean_object* x_234; +lean_dec(x_188); +lean_dec(x_184); +lean_dec(x_183); +lean_dec(x_180); +lean_dec(x_170); +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_230 = lean_ctor_get(x_196, 1); +lean_inc(x_230); +if (lean_is_exclusive(x_196)) { + lean_ctor_release(x_196, 0); + lean_ctor_release(x_196, 1); + x_231 = x_196; +} else { + lean_dec_ref(x_196); + x_231 = lean_box(0); +} +x_232 = 0; +x_233 = lean_box(x_232); +if (lean_is_scalar(x_231)) { + x_234 = lean_alloc_ctor(0, 2, 0); +} else { + x_234 = x_231; + lean_ctor_set_tag(x_234, 0); +} +lean_ctor_set(x_234, 0, x_233); +lean_ctor_set(x_234, 1, x_230); +return x_234; +} +} +else +{ +lean_object* x_235; lean_object* x_236; uint8_t x_237; lean_object* x_238; lean_object* x_239; +lean_dec(x_188); +lean_dec(x_184); +lean_dec(x_183); +lean_dec(x_180); +lean_dec(x_170); +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_235 = lean_ctor_get(x_189, 1); +lean_inc(x_235); +if (lean_is_exclusive(x_189)) { + lean_ctor_release(x_189, 0); + lean_ctor_release(x_189, 1); + x_236 = x_189; +} else { + lean_dec_ref(x_189); + x_236 = lean_box(0); +} +x_237 = 0; +x_238 = lean_box(x_237); +if (lean_is_scalar(x_236)) { + x_239 = lean_alloc_ctor(0, 2, 0); +} else { + x_239 = x_236; + lean_ctor_set_tag(x_239, 0); +} +lean_ctor_set(x_239, 0, x_238); +lean_ctor_set(x_239, 1, x_235); +return x_239; +} +} +} +else +{ +lean_object* x_240; lean_object* x_241; uint8_t x_242; lean_object* x_243; lean_object* x_244; +lean_dec(x_170); +lean_dec(x_168); +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_240 = lean_ctor_get(x_172, 1); +lean_inc(x_240); +if (lean_is_exclusive(x_172)) { + lean_ctor_release(x_172, 0); + lean_ctor_release(x_172, 1); + x_241 = x_172; +} else { + lean_dec_ref(x_172); + x_241 = lean_box(0); +} +x_242 = 0; +x_243 = lean_box(x_242); +if (lean_is_scalar(x_241)) { + x_244 = lean_alloc_ctor(0, 2, 0); +} else { + x_244 = x_241; + lean_ctor_set_tag(x_244, 0); +} +lean_ctor_set(x_244, 0, x_243); +lean_ctor_set(x_244, 1, x_240); +return x_244; +} +} +} +else +{ +uint8_t x_245; +lean_dec(x_11); +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_245 = !lean_is_exclusive(x_10); +if (x_245 == 0) +{ +lean_object* x_246; uint8_t x_247; lean_object* x_248; +x_246 = lean_ctor_get(x_10, 0); +lean_dec(x_246); +x_247 = 0; +x_248 = lean_box(x_247); +lean_ctor_set(x_10, 0, x_248); +return x_10; +} +else +{ +lean_object* x_249; uint8_t x_250; lean_object* x_251; lean_object* x_252; +x_249 = lean_ctor_get(x_10, 1); +lean_inc(x_249); +lean_dec(x_10); +x_250 = 0; +x_251 = lean_box(x_250); +x_252 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_252, 0, x_251); +lean_ctor_set(x_252, 1, x_249); +return x_252; +} +} +} +else +{ +uint8_t x_253; +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_253 = !lean_is_exclusive(x_10); +if (x_253 == 0) +{ +lean_object* x_254; uint8_t x_255; lean_object* x_256; +x_254 = lean_ctor_get(x_10, 0); +lean_dec(x_254); +x_255 = 0; +x_256 = lean_box(x_255); +lean_ctor_set_tag(x_10, 0); +lean_ctor_set(x_10, 0, x_256); +return x_10; +} +else +{ +lean_object* x_257; uint8_t x_258; lean_object* x_259; lean_object* x_260; +x_257 = lean_ctor_get(x_10, 1); +lean_inc(x_257); +lean_dec(x_10); +x_258 = 0; +x_259 = lean_box(x_258); +x_260 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_260, 0, x_259); +lean_ctor_set(x_260, 1, x_257); +return x_260; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Term_processDefDeriving___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; +x_10 = l_Lean_throwErrorAt___at_Lean_Elab_Term_processDefDeriving___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___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_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__1(x_1, x_2, x_3, x_4); +lean_dec(x_3); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__2(x_1, x_2, x_3, x_4); +lean_dec(x_3); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___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) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +lean_dec(x_2); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___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) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__4(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_607_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; @@ -485,6 +2813,56 @@ lean_dec(x_3); return x_7; } } +LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Elab_defaultHandler___spec__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_3; +x_3 = l_List_reverse___rarg(x_2); +return x_3; +} +else +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_1); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; +x_5 = lean_ctor_get(x_1, 0); +x_6 = lean_ctor_get(x_1, 1); +x_7 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_7, 0, x_5); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_7); +{ +lean_object* _tmp_0 = x_6; +lean_object* _tmp_1 = x_1; +x_1 = _tmp_0; +x_2 = _tmp_1; +} +goto _start; +} +else +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_9 = lean_ctor_get(x_1, 0); +x_10 = lean_ctor_get(x_1, 1); +lean_inc(x_10); +lean_inc(x_9); +lean_dec(x_1); +x_11 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_11, 0, x_9); +x_12 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_2); +x_1 = x_10; +x_2 = x_12; +goto _start; +} +} +} +} static lean_object* _init_l_Lean_Elab_defaultHandler___closed__1() { _start: { @@ -552,7 +2930,7 @@ lean_ctor_set(x_10, 0, x_8); lean_ctor_set(x_10, 1, x_9); x_11 = lean_array_to_list(lean_box(0), x_2); x_12 = lean_box(0); -x_13 = l_List_mapTRAux___at_Lean_Elab_Term_CollectPatternVars_collect_processExplicitArg___spec__2(x_11, x_12); +x_13 = l_List_mapTRAux___at_Lean_Elab_defaultHandler___spec__1(x_11, x_12); x_14 = l_Lean_MessageData_ofList(x_13); lean_dec(x_13); x_15 = lean_alloc_ctor(10, 2, 0); @@ -879,31 +3257,11 @@ lean_dec(x_4); return x_6; } } -static lean_object* _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_elabDeriving___spec__1___rarg___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = l_Lean_Elab_unsupportedSyntaxExceptionId; -return x_1; -} -} -static lean_object* _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_elabDeriving___spec__1___rarg___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_elabDeriving___spec__1___rarg___closed__1; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_elabDeriving___spec__1___rarg(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_elabDeriving___spec__1___rarg___closed__2; +x_2 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__2; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); @@ -1474,6 +3832,117 @@ return x_27; } } } +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_elabDeriving___spec__16(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; +x_5 = l_Lean_Elab_Command_getRef(x_2, x_3, x_4); +x_6 = lean_ctor_get(x_5, 0); +lean_inc(x_6); +x_7 = lean_ctor_get(x_5, 1); +lean_inc(x_7); +lean_dec(x_5); +x_8 = lean_ctor_get(x_2, 4); +lean_inc(x_8); +lean_inc(x_8); +x_9 = l_Lean_Elab_getBetterRef(x_6, x_8); +lean_dec(x_6); +x_10 = l_Lean_addMessageContextPartial___at_Lean_Elab_Command_instAddMessageContextCommandElabM___spec__1(x_1, x_2, x_3, x_7); +x_11 = lean_ctor_get(x_10, 0); +lean_inc(x_11); +x_12 = lean_ctor_get(x_10, 1); +lean_inc(x_12); +lean_dec(x_10); +x_13 = l_Lean_Elab_addMacroStack___at_Lean_Elab_Command_instAddErrorMessageContextCommandElabM___spec__1(x_11, x_8, x_2, x_3, x_12); +lean_dec(x_2); +lean_dec(x_8); +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_ctor_get(x_13, 0); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_9); +lean_ctor_set(x_16, 1, x_15); +lean_ctor_set_tag(x_13, 1); +lean_ctor_set(x_13, 0, x_16); +return x_13; +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_13, 0); +x_18 = lean_ctor_get(x_13, 1); +lean_inc(x_18); +lean_inc(x_17); +lean_dec(x_13); +x_19 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_19, 0, x_9); +lean_ctor_set(x_19, 1, x_17); +x_20 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_20, 0, x_19); +lean_ctor_set(x_20, 1, x_18); +return x_20; +} +} +} +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_elabDeriving___spec__15(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; uint8_t x_10; +x_6 = l_Lean_Elab_Command_getRef(x_3, x_4, x_5); +x_7 = lean_ctor_get(x_6, 0); +lean_inc(x_7); +x_8 = lean_ctor_get(x_6, 1); +lean_inc(x_8); +lean_dec(x_6); +x_9 = l_Lean_replaceRef(x_1, x_7); +lean_dec(x_7); +lean_dec(x_1); +x_10 = !lean_is_exclusive(x_3); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; +x_11 = lean_ctor_get(x_3, 6); +lean_dec(x_11); +lean_ctor_set(x_3, 6, x_9); +x_12 = l_Lean_throwError___at_Lean_Elab_elabDeriving___spec__16(x_2, x_3, x_4, x_8); +lean_dec(x_4); +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; lean_object* x_20; lean_object* x_21; +x_13 = lean_ctor_get(x_3, 0); +x_14 = lean_ctor_get(x_3, 1); +x_15 = lean_ctor_get(x_3, 2); +x_16 = lean_ctor_get(x_3, 3); +x_17 = lean_ctor_get(x_3, 4); +x_18 = lean_ctor_get(x_3, 5); +x_19 = lean_ctor_get(x_3, 7); +lean_inc(x_19); +lean_inc(x_18); +lean_inc(x_17); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_dec(x_3); +x_20 = lean_alloc_ctor(0, 8, 0); +lean_ctor_set(x_20, 0, x_13); +lean_ctor_set(x_20, 1, x_14); +lean_ctor_set(x_20, 2, x_15); +lean_ctor_set(x_20, 3, x_16); +lean_ctor_set(x_20, 4, x_17); +lean_ctor_set(x_20, 5, x_18); +lean_ctor_set(x_20, 6, x_9); +lean_ctor_set(x_20, 7, x_19); +x_21 = l_Lean_throwError___at_Lean_Elab_elabDeriving___spec__16(x_2, x_20, x_4, x_8); +lean_dec(x_4); +return x_21; +} +} +} static lean_object* _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_elabDeriving___spec__9___closed__1() { _start: { @@ -1532,7 +4001,7 @@ x_24 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_24, 0, x_23); x_25 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_25, 0, x_24); -x_26 = l_Lean_throwErrorAt___at_Lean_Elab_Command_mkInstanceName___spec__15(x_1, x_25, x_2, x_3, x_7); +x_26 = l_Lean_throwErrorAt___at_Lean_Elab_elabDeriving___spec__15(x_1, x_25, x_2, x_3, x_7); return x_26; } else @@ -1603,7 +4072,7 @@ x_51 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_51, 0, x_50); x_52 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_52, 0, x_51); -x_53 = l_Lean_throwErrorAt___at_Lean_Elab_Command_mkInstanceName___spec__15(x_1, x_52, x_2, x_3, x_34); +x_53 = l_Lean_throwErrorAt___at_Lean_Elab_elabDeriving___spec__15(x_1, x_52, x_2, x_3, x_34); return x_53; } } @@ -1635,7 +4104,7 @@ return x_57; } } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_elabDeriving___spec__18(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_elabDeriving___spec__20(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; @@ -1689,7 +4158,7 @@ return x_20; } } } -LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__17(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__19(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; uint8_t x_6; @@ -1721,7 +4190,7 @@ x_16 = l_Lean_throwUnknownConstant___at_Lean_Elab_elabDeriving___spec__14___clos x_17 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_17, 0, x_15); lean_ctor_set(x_17, 1, x_16); -x_18 = l_Lean_throwError___at_Lean_Elab_elabDeriving___spec__18(x_17, x_2, x_3, x_8); +x_18 = l_Lean_throwError___at_Lean_Elab_elabDeriving___spec__20(x_17, x_2, x_3, x_8); return x_18; } else @@ -1764,7 +4233,7 @@ x_29 = l_Lean_throwUnknownConstant___at_Lean_Elab_elabDeriving___spec__14___clos x_30 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_30, 0, x_28); lean_ctor_set(x_30, 1, x_29); -x_31 = l_Lean_throwError___at_Lean_Elab_elabDeriving___spec__18(x_30, x_2, x_3, x_21); +x_31 = l_Lean_throwError___at_Lean_Elab_elabDeriving___spec__20(x_30, x_2, x_3, x_21); return x_31; } else @@ -1783,12 +4252,12 @@ return x_33; } } } -LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Elab_elabDeriving___spec__16(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Elab_elabDeriving___spec__18(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; lean_inc(x_1); -x_5 = l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__17(x_1, x_2, x_3, x_4); +x_5 = l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__19(x_1, x_2, x_3, x_4); if (lean_obj_tag(x_5) == 0) { uint8_t x_6; @@ -1849,12 +4318,305 @@ return x_22; } } } -LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_elabDeriving___spec__15(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_elabDeriving___spec__22(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; +x_5 = lean_st_ref_get(x_3, x_4); +x_6 = lean_ctor_get(x_5, 0); +lean_inc(x_6); +x_7 = lean_ctor_get(x_6, 7); +lean_inc(x_7); +lean_dec(x_6); +x_8 = lean_ctor_get_uint8(x_7, sizeof(void*)*2); +lean_dec(x_7); +if (x_8 == 0) +{ +uint8_t x_9; +lean_dec(x_1); +x_9 = !lean_is_exclusive(x_5); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; +x_10 = lean_ctor_get(x_5, 0); +lean_dec(x_10); +x_11 = lean_box(0); +lean_ctor_set(x_5, 0, x_11); +return x_5; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_5, 1); +lean_inc(x_12); +lean_dec(x_5); +x_13 = lean_box(0); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_13); +lean_ctor_set(x_14, 1, x_12); +return x_14; +} +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; +x_15 = lean_ctor_get(x_5, 1); +lean_inc(x_15); +lean_dec(x_5); +x_16 = lean_st_ref_take(x_3, x_15); +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_17, 7); +lean_inc(x_18); +x_19 = lean_ctor_get(x_16, 1); +lean_inc(x_19); +lean_dec(x_16); +x_20 = !lean_is_exclusive(x_17); +if (x_20 == 0) +{ +lean_object* x_21; uint8_t x_22; +x_21 = lean_ctor_get(x_17, 7); +lean_dec(x_21); +x_22 = !lean_is_exclusive(x_18); +if (x_22 == 0) +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; +x_23 = lean_ctor_get(x_18, 1); +x_24 = l_Std_PersistentArray_push___rarg(x_23, x_1); +lean_ctor_set(x_18, 1, x_24); +x_25 = lean_st_ref_set(x_3, x_17, x_19); +x_26 = !lean_is_exclusive(x_25); +if (x_26 == 0) +{ +lean_object* x_27; lean_object* x_28; +x_27 = lean_ctor_get(x_25, 0); +lean_dec(x_27); +x_28 = lean_box(0); +lean_ctor_set(x_25, 0, x_28); +return x_25; +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_25, 1); +lean_inc(x_29); +lean_dec(x_25); +x_30 = lean_box(0); +x_31 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_31, 0, x_30); +lean_ctor_set(x_31, 1, x_29); +return x_31; +} +} +else +{ +uint8_t x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_32 = lean_ctor_get_uint8(x_18, sizeof(void*)*2); +x_33 = lean_ctor_get(x_18, 0); +x_34 = lean_ctor_get(x_18, 1); +lean_inc(x_34); +lean_inc(x_33); +lean_dec(x_18); +x_35 = l_Std_PersistentArray_push___rarg(x_34, x_1); +x_36 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_36, 0, x_33); +lean_ctor_set(x_36, 1, x_35); +lean_ctor_set_uint8(x_36, sizeof(void*)*2, x_32); +lean_ctor_set(x_17, 7, x_36); +x_37 = lean_st_ref_set(x_3, x_17, x_19); +x_38 = lean_ctor_get(x_37, 1); +lean_inc(x_38); +if (lean_is_exclusive(x_37)) { + lean_ctor_release(x_37, 0); + lean_ctor_release(x_37, 1); + x_39 = x_37; +} else { + lean_dec_ref(x_37); + x_39 = lean_box(0); +} +x_40 = lean_box(0); +if (lean_is_scalar(x_39)) { + x_41 = lean_alloc_ctor(0, 2, 0); +} else { + x_41 = x_39; +} +lean_ctor_set(x_41, 0, x_40); +lean_ctor_set(x_41, 1, x_38); +return x_41; +} +} +else +{ +lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; uint8_t x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; +x_42 = lean_ctor_get(x_17, 0); +x_43 = lean_ctor_get(x_17, 1); +x_44 = lean_ctor_get(x_17, 2); +x_45 = lean_ctor_get(x_17, 3); +x_46 = lean_ctor_get(x_17, 4); +x_47 = lean_ctor_get(x_17, 5); +x_48 = lean_ctor_get(x_17, 6); +x_49 = lean_ctor_get(x_17, 8); +lean_inc(x_49); +lean_inc(x_48); +lean_inc(x_47); +lean_inc(x_46); +lean_inc(x_45); +lean_inc(x_44); +lean_inc(x_43); +lean_inc(x_42); +lean_dec(x_17); +x_50 = lean_ctor_get_uint8(x_18, sizeof(void*)*2); +x_51 = lean_ctor_get(x_18, 0); +lean_inc(x_51); +x_52 = lean_ctor_get(x_18, 1); +lean_inc(x_52); +if (lean_is_exclusive(x_18)) { + lean_ctor_release(x_18, 0); + lean_ctor_release(x_18, 1); + x_53 = x_18; +} else { + lean_dec_ref(x_18); + x_53 = lean_box(0); +} +x_54 = l_Std_PersistentArray_push___rarg(x_52, x_1); +if (lean_is_scalar(x_53)) { + x_55 = lean_alloc_ctor(0, 2, 1); +} else { + x_55 = x_53; +} +lean_ctor_set(x_55, 0, x_51); +lean_ctor_set(x_55, 1, x_54); +lean_ctor_set_uint8(x_55, sizeof(void*)*2, x_50); +x_56 = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(x_56, 0, x_42); +lean_ctor_set(x_56, 1, x_43); +lean_ctor_set(x_56, 2, x_44); +lean_ctor_set(x_56, 3, x_45); +lean_ctor_set(x_56, 4, x_46); +lean_ctor_set(x_56, 5, x_47); +lean_ctor_set(x_56, 6, x_48); +lean_ctor_set(x_56, 7, x_55); +lean_ctor_set(x_56, 8, x_49); +x_57 = lean_st_ref_set(x_3, x_56, x_19); +x_58 = lean_ctor_get(x_57, 1); +lean_inc(x_58); +if (lean_is_exclusive(x_57)) { + lean_ctor_release(x_57, 0); + lean_ctor_release(x_57, 1); + x_59 = x_57; +} else { + lean_dec_ref(x_57); + x_59 = lean_box(0); +} +x_60 = lean_box(0); +if (lean_is_scalar(x_59)) { + x_61 = lean_alloc_ctor(0, 2, 0); +} else { + x_61 = x_59; +} +lean_ctor_set(x_61, 0, x_60); +lean_ctor_set(x_61, 1, x_58); +return x_61; +} +} +} +} +static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(32u); +x_2 = lean_mk_empty_array_with_capacity(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21___closed__1; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21___closed__3() { +_start: +{ +size_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = 5; +x_2 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21___closed__2; +x_3 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21___closed__1; +x_4 = lean_unsigned_to_nat(0u); +x_5 = lean_alloc_ctor(0, 4, sizeof(size_t)*1); +lean_ctor_set(x_5, 0, x_2); +lean_ctor_set(x_5, 1, x_3); +lean_ctor_set(x_5, 2, x_4); +lean_ctor_set(x_5, 3, x_4); +lean_ctor_set_usize(x_5, 4, x_1); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; +x_5 = lean_st_ref_get(x_3, x_4); +x_6 = lean_ctor_get(x_5, 0); +lean_inc(x_6); +x_7 = lean_ctor_get(x_6, 7); +lean_inc(x_7); +lean_dec(x_6); +x_8 = lean_ctor_get_uint8(x_7, sizeof(void*)*2); +lean_dec(x_7); +if (x_8 == 0) +{ +uint8_t x_9; +lean_dec(x_1); +x_9 = !lean_is_exclusive(x_5); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; +x_10 = lean_ctor_get(x_5, 0); +lean_dec(x_10); +x_11 = lean_box(0); +lean_ctor_set(x_5, 0, x_11); +return x_5; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_5, 1); +lean_inc(x_12); +lean_dec(x_5); +x_13 = lean_box(0); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_13); +lean_ctor_set(x_14, 1, x_12); +return x_14; +} +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_15 = lean_ctor_get(x_5, 1); +lean_inc(x_15); +lean_dec(x_5); +x_16 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21___closed__3; +x_17 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_17, 0, x_1); +lean_ctor_set(x_17, 1, x_16); +x_18 = l_Lean_Elab_pushInfoTree___at_Lean_Elab_elabDeriving___spec__22(x_17, x_2, x_3, x_15); +return x_18; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_elabDeriving___spec__17(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; lean_inc(x_4); -x_7 = l_Lean_mkConstWithLevelParams___at_Lean_Elab_elabDeriving___spec__16(x_2, x_4, x_5, x_6); +x_7 = l_Lean_mkConstWithLevelParams___at_Lean_Elab_elabDeriving___spec__18(x_2, x_4, x_5, x_6); if (lean_obj_tag(x_7) == 0) { lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; @@ -1877,7 +4639,7 @@ lean_ctor_set(x_14, 3, x_8); lean_ctor_set_uint8(x_14, sizeof(void*)*4, x_13); x_15 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_15, 0, x_14); -x_16 = l_Lean_Elab_pushInfoLeaf___at_Lean_Linter_MissingDocs_handleIn___spec__3(x_15, x_4, x_5, x_9); +x_16 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21(x_15, x_4, x_5, x_9); lean_dec(x_4); return x_16; } @@ -1977,7 +4739,7 @@ x_17 = lean_ctor_get(x_9, 1); lean_inc(x_17); lean_dec(x_9); lean_inc(x_7); -x_18 = l_Lean_Elab_addConstInfo___at_Lean_Elab_elabDeriving___spec__15(x_1, x_7, x_2, x_3, x_4, x_17); +x_18 = l_Lean_Elab_addConstInfo___at_Lean_Elab_elabDeriving___spec__17(x_1, x_7, x_2, x_3, x_4, x_17); lean_dec(x_4); if (lean_obj_tag(x_18) == 0) { @@ -2056,7 +4818,7 @@ return x_30; } } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_elabDeriving___spec__19(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_elabDeriving___spec__23(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { uint8_t x_7; @@ -2125,7 +4887,7 @@ return x_23; } } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___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_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___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; @@ -2133,7 +4895,7 @@ x_8 = l_Lean_Elab_applyDerivingHandlers(x_1, x_2, x_3, x_5, x_6, x_7); return x_8; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__1() { +static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__1() { _start: { lean_object* x_1; @@ -2141,7 +4903,7 @@ x_1 = lean_mk_string_from_bytes("Init.Util", 9); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__2() { +static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__2() { _start: { lean_object* x_1; @@ -2149,7 +4911,7 @@ x_1 = lean_mk_string_from_bytes("getElem!", 8); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__3() { +static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__3() { _start: { lean_object* x_1; @@ -2157,20 +4919,20 @@ x_1 = lean_mk_string_from_bytes("index out of bounds", 19); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__4() { +static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__1; -x_2 = l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__2; +x_1 = l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__1; +x_2 = l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__2; x_3 = lean_unsigned_to_nat(77u); x_4 = lean_unsigned_to_nat(36u); -x_5 = l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__3; +x_5 = l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); return x_6; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20(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_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24(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) { _start: { uint8_t x_9; @@ -2368,7 +5130,7 @@ lean_dec(x_45); if (x_76 == 0) { lean_object* x_77; lean_object* x_78; lean_object* x_79; -x_77 = l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__4; +x_77 = l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__4; x_78 = l_panic___at___private_Init_Prelude_0__Lean_assembleParts___spec__1(x_77); lean_inc(x_74); lean_inc(x_43); @@ -2801,7 +5563,7 @@ lean_dec(x_143); if (x_174 == 0) { lean_object* x_175; lean_object* x_176; lean_object* x_177; -x_175 = l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__4; +x_175 = l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__4; x_176 = l_panic___at___private_Init_Prelude_0__Lean_assembleParts___spec__1(x_175); lean_inc(x_172); lean_inc(x_141); @@ -3287,18 +6049,9 @@ return x_3; static lean_object* _init_l_Lean_Elab_elabDeriving___closed__9() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = lean_unsigned_to_nat(0u); -x_2 = lean_mk_empty_array_with_capacity(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Elab_elabDeriving___closed__10() { -_start: -{ uint8_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = 1; -x_2 = l_Lean_Elab_elabDeriving___closed__9; +x_2 = l_Lean_Elab_Term_MkInstResult_outParams___default___closed__1; x_3 = lean_box(x_1); x_4 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_4, 0, x_3); @@ -3306,7 +6059,7 @@ lean_ctor_set(x_4, 1, x_2); return x_4; } } -static lean_object* _init_l_Lean_Elab_elabDeriving___closed__11() { +static lean_object* _init_l_Lean_Elab_elabDeriving___closed__10() { _start: { lean_object* x_1; @@ -3314,7 +6067,7 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Elab_elabDeriving___lambda__2), 1, 0); return x_1; } } -static lean_object* _init_l_Lean_Elab_elabDeriving___closed__12() { +static lean_object* _init_l_Lean_Elab_elabDeriving___closed__11() { _start: { lean_object* x_1; @@ -3353,7 +6106,7 @@ if (x_13 == 0) lean_object* x_67; lean_dec(x_11); lean_dec(x_10); -x_67 = l_Lean_Elab_elabDeriving___closed__9; +x_67 = l_Lean_Elab_Term_MkInstResult_outParams___default___closed__1; x_14 = x_67; goto block_66; } @@ -3366,7 +6119,7 @@ if (x_68 == 0) lean_object* x_69; lean_dec(x_11); lean_dec(x_10); -x_69 = l_Lean_Elab_elabDeriving___closed__9; +x_69 = l_Lean_Elab_Term_MkInstResult_outParams___default___closed__1; x_14 = x_69; goto block_66; } @@ -3376,7 +6129,7 @@ size_t x_70; size_t x_71; lean_object* x_72; lean_object* x_73; lean_object* x_7 x_70 = 0; x_71 = lean_usize_of_nat(x_11); lean_dec(x_11); -x_72 = l_Lean_Elab_elabDeriving___closed__10; +x_72 = l_Lean_Elab_elabDeriving___closed__9; x_73 = l_Array_foldlMUnsafe_fold___at_Lean_Syntax_SepArray_getElems___spec__1(x_10, x_70, x_71, x_72); lean_dec(x_10); x_74 = lean_ctor_get(x_73, 1); @@ -3389,7 +6142,7 @@ goto block_66; block_66: { lean_object* x_15; lean_object* x_16; -x_15 = l_Lean_Elab_elabDeriving___closed__11; +x_15 = l_Lean_Elab_elabDeriving___closed__10; x_16 = l_Array_sequenceMap___at_Lean_Elab_elabDeriving___spec__2(x_14, x_15); lean_dec(x_14); if (lean_obj_tag(x_16) == 0) @@ -3426,7 +6179,7 @@ if (x_28 == 0) lean_object* x_59; lean_dec(x_27); lean_dec(x_26); -x_59 = l_Lean_Elab_elabDeriving___closed__9; +x_59 = l_Lean_Elab_Term_MkInstResult_outParams___default___closed__1; x_29 = x_59; goto block_58; } @@ -3439,7 +6192,7 @@ if (x_60 == 0) lean_object* x_61; lean_dec(x_27); lean_dec(x_26); -x_61 = l_Lean_Elab_elabDeriving___closed__9; +x_61 = l_Lean_Elab_Term_MkInstResult_outParams___default___closed__1; x_29 = x_61; goto block_58; } @@ -3448,7 +6201,7 @@ else size_t x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; x_62 = lean_usize_of_nat(x_27); lean_dec(x_27); -x_63 = l_Lean_Elab_elabDeriving___closed__10; +x_63 = l_Lean_Elab_elabDeriving___closed__9; x_64 = l_Array_foldlMUnsafe_fold___at_Lean_Syntax_SepArray_getElems___spec__1(x_26, x_21, x_62, x_63); lean_dec(x_26); x_65 = lean_ctor_get(x_64, 1); @@ -3461,7 +6214,7 @@ goto block_58; block_58: { lean_object* x_30; lean_object* x_31; -x_30 = l_Lean_Elab_elabDeriving___closed__12; +x_30 = l_Lean_Elab_elabDeriving___closed__11; x_31 = l_Array_sequenceMap___at_Lean_Elab_elabDeriving___spec__6(x_29, x_30); lean_dec(x_29); if (lean_obj_tag(x_31) == 0) @@ -3485,7 +6238,7 @@ x_35 = lean_usize_of_nat(x_34); lean_dec(x_34); lean_inc(x_3); lean_inc(x_2); -x_36 = l_Array_mapMUnsafe_map___at_Lean_Elab_elabDeriving___spec__19(x_35, x_21, x_33, x_2, x_3, x_4); +x_36 = l_Array_mapMUnsafe_map___at_Lean_Elab_elabDeriving___spec__23(x_35, x_21, x_33, x_2, x_3, x_4); 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; size_t x_42; lean_object* x_43; @@ -3499,7 +6252,7 @@ x_40 = l_Array_toSubarray___rarg(x_22, x_12, x_39); x_41 = lean_array_get_size(x_23); x_42 = lean_usize_of_nat(x_41); lean_dec(x_41); -x_43 = l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20(x_37, x_23, x_42, x_21, x_40, x_2, x_3, x_38); +x_43 = l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24(x_37, x_23, x_42, x_21, x_40, x_2, x_3, x_38); lean_dec(x_23); if (lean_obj_tag(x_43) == 0) { @@ -3693,38 +6446,67 @@ lean_dec(x_3); return x_7; } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_elabDeriving___spec__18___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_elabDeriving___spec__16___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; -x_5 = l_Lean_throwError___at_Lean_Elab_elabDeriving___spec__18(x_1, x_2, x_3, x_4); +x_5 = l_Lean_throwError___at_Lean_Elab_elabDeriving___spec__16(x_1, x_2, x_3, x_4); lean_dec(x_3); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__17___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_elabDeriving___spec__20___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; -x_5 = l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__17(x_1, x_2, x_3, x_4); +x_5 = l_Lean_throwError___at_Lean_Elab_elabDeriving___spec__20(x_1, x_2, x_3, x_4); lean_dec(x_3); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Elab_elabDeriving___spec__16___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__19___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; -x_5 = l_Lean_mkConstWithLevelParams___at_Lean_Elab_elabDeriving___spec__16(x_1, x_2, x_3, x_4); +x_5 = l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__19(x_1, x_2, x_3, x_4); lean_dec(x_3); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_elabDeriving___spec__15___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Elab_elabDeriving___spec__18___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_mkConstWithLevelParams___at_Lean_Elab_elabDeriving___spec__18(x_1, x_2, x_3, x_4); +lean_dec(x_3); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_elabDeriving___spec__22___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_Elab_pushInfoTree___at_Lean_Elab_elabDeriving___spec__22(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_elabDeriving___spec__17___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; -x_7 = l_Lean_Elab_addConstInfo___at_Lean_Elab_elabDeriving___spec__15(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_Elab_addConstInfo___at_Lean_Elab_elabDeriving___spec__17(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_5); return x_7; } @@ -3740,7 +6522,7 @@ lean_dec(x_2); return x_6; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_elabDeriving___spec__19___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_elabDeriving___spec__23___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { size_t x_7; size_t x_8; lean_object* x_9; @@ -3748,20 +6530,20 @@ x_7 = lean_unbox_usize(x_1); lean_dec(x_1); x_8 = lean_unbox_usize(x_2); lean_dec(x_2); -x_9 = l_Array_mapMUnsafe_map___at_Lean_Elab_elabDeriving___spec__19(x_7, x_8, x_3, x_4, x_5, x_6); +x_9 = l_Array_mapMUnsafe_map___at_Lean_Elab_elabDeriving___spec__23(x_7, x_8, x_3, x_4, x_5, x_6); return x_9; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___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_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___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_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); lean_dec(x_4); return x_8; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___boxed(lean_object* x_1, lean_object* x_2, 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; @@ -3769,7 +6551,7 @@ x_9 = lean_unbox_usize(x_3); lean_dec(x_3); x_10 = lean_unbox_usize(x_4); lean_dec(x_4); -x_11 = l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20(x_1, x_2, x_9, x_10, x_5, x_6, x_7, x_8); +x_11 = l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24(x_1, x_2, x_9, x_10, x_5, x_6, x_7, x_8); lean_dec(x_2); return x_11; } @@ -3851,7 +6633,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_elabDeriving_declRange___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(49u); +x_1 = lean_unsigned_to_nat(100u); x_2 = lean_unsigned_to_nat(33u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3863,7 +6645,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_elabDeriving_declRange___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(62u); +x_1 = lean_unsigned_to_nat(113u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3891,7 +6673,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_elabDeriving_declRange___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(49u); +x_1 = lean_unsigned_to_nat(100u); x_2 = lean_unsigned_to_nat(37u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3902,12 +6684,13 @@ return x_3; static lean_object* _init_l___regBuiltin_Lean_Elab_elabDeriving_declRange___closed__5() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = lean_unsigned_to_nat(49u); -x_2 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_2, 0, x_1); -lean_ctor_set(x_2, 1, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_unsigned_to_nat(100u); +x_2 = lean_unsigned_to_nat(49u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; } } static lean_object* _init_l___regBuiltin_Lean_Elab_elabDeriving_declRange___closed__6() { @@ -4342,7 +7125,7 @@ lean_dec(x_1); x_10 = lean_ctor_get(x_9, 1); lean_inc(x_10); lean_dec(x_9); -x_11 = l_Lean_Elab_elabDeriving___closed__9; +x_11 = l_Lean_Elab_Term_MkInstResult_outParams___default___closed__1; x_12 = lean_apply_2(x_10, lean_box(0), x_11); return x_12; } @@ -4369,7 +7152,7 @@ lean_dec(x_1); x_18 = lean_ctor_get(x_17, 1); lean_inc(x_18); lean_dec(x_17); -x_19 = l_Lean_Elab_elabDeriving___closed__9; +x_19 = l_Lean_Elab_Term_MkInstResult_outParams___default___closed__1; x_20 = lean_apply_2(x_18, lean_box(0), x_19); return x_20; } @@ -4388,7 +7171,7 @@ if (x_25 == 0) lean_object* x_50; lean_dec(x_24); lean_dec(x_23); -x_50 = l_Lean_Elab_elabDeriving___closed__9; +x_50 = l_Lean_Elab_Term_MkInstResult_outParams___default___closed__1; x_26 = x_50; goto block_49; } @@ -4401,7 +7184,7 @@ if (x_51 == 0) lean_object* x_52; lean_dec(x_24); lean_dec(x_23); -x_52 = l_Lean_Elab_elabDeriving___closed__9; +x_52 = l_Lean_Elab_Term_MkInstResult_outParams___default___closed__1; x_26 = x_52; goto block_49; } @@ -4411,7 +7194,7 @@ size_t x_53; size_t x_54; lean_object* x_55; lean_object* x_56; lean_object* x_5 x_53 = 0; x_54 = lean_usize_of_nat(x_24); lean_dec(x_24); -x_55 = l_Lean_Elab_elabDeriving___closed__10; +x_55 = l_Lean_Elab_elabDeriving___closed__9; x_56 = l_Array_foldlMUnsafe_fold___at_Lean_Syntax_SepArray_getElems___spec__1(x_23, x_53, x_54, x_55); lean_dec(x_23); x_57 = lean_ctor_get(x_56, 1); @@ -4424,7 +7207,7 @@ goto block_49; block_49: { lean_object* x_27; lean_object* x_28; -x_27 = l_Lean_Elab_elabDeriving___closed__11; +x_27 = l_Lean_Elab_elabDeriving___closed__10; x_28 = l_Array_sequenceMap___at_Lean_Elab_elabDeriving___spec__2(x_26, x_27); lean_dec(x_26); if (lean_obj_tag(x_28) == 0) @@ -4440,7 +7223,7 @@ lean_dec(x_1); x_30 = lean_ctor_get(x_29, 1); lean_inc(x_30); lean_dec(x_29); -x_31 = l_Lean_Elab_elabDeriving___closed__9; +x_31 = l_Lean_Elab_Term_MkInstResult_outParams___default___closed__1; x_32 = lean_apply_2(x_30, lean_box(0), x_31); return x_32; } @@ -4461,7 +7244,7 @@ x_39 = lean_array_get_size(x_37); x_40 = l_Array_toSubarray___rarg(x_37, x_13, x_39); x_41 = lean_ctor_get(x_1, 1); lean_inc(x_41); -x_42 = l_Lean_Elab_elabDeriving___closed__9; +x_42 = l_Lean_Elab_Term_MkInstResult_outParams___default___closed__1; x_43 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_43, 0, x_40); lean_ctor_set(x_43, 1, x_42); @@ -4584,7 +7367,7 @@ return x_24; } } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_1780____closed__1() { +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_2362____closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -4594,7 +7377,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_1780____closed__2() { +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_2362____closed__2() { _start: { lean_object* x_1; @@ -4602,21 +7385,21 @@ x_1 = lean_mk_string_from_bytes("Deriving", 8); return x_1; } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_1780____closed__3() { +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_2362____closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_1780____closed__1; -x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_1780____closed__2; +x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_2362____closed__1; +x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_2362____closed__2; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_1780_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_2362_(lean_object* x_1) { _start: { lean_object* x_2; uint8_t x_3; lean_object* x_4; -x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_1780____closed__3; +x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_2362____closed__3; x_3 = 0; x_4 = l_Lean_registerTraceClass(x_2, x_3, x_1); return x_4; @@ -4624,7 +7407,6 @@ return x_4; } lean_object* initialize_Init(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Command(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_MutualDef(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Elab_Deriving_Basic(uint8_t builtin, lean_object* w) { lean_object * res; @@ -4636,10 +7418,21 @@ lean_dec_ref(res); res = initialize_Lean_Elab_Command(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Elab_MutualDef(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -if (builtin) {res = l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_25_(lean_io_mk_world()); +l_Lean_Elab_Term_MkInstResult_outParams___default___closed__1 = _init_l_Lean_Elab_Term_MkInstResult_outParams___default___closed__1(); +lean_mark_persistent(l_Lean_Elab_Term_MkInstResult_outParams___default___closed__1); +l_Lean_Elab_Term_MkInstResult_outParams___default = _init_l_Lean_Elab_Term_MkInstResult_outParams___default(); +lean_mark_persistent(l_Lean_Elab_Term_MkInstResult_outParams___default); +l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___closed__1 = _init_l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___closed__1(); +lean_mark_persistent(l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___closed__1); +l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___closed__2 = _init_l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___closed__2(); +lean_mark_persistent(l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___closed__2); +l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__1 = _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__1(); +lean_mark_persistent(l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__1); +l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__2 = _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__2(); +lean_mark_persistent(l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__2); +l_Lean_Elab_Term_processDefDeriving___closed__1 = _init_l_Lean_Elab_Term_processDefDeriving___closed__1(); +lean_mark_persistent(l_Lean_Elab_Term_processDefDeriving___closed__1); +if (builtin) {res = l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_607_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; l_Lean_Elab_derivingHandlersRef = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_Elab_derivingHandlersRef); @@ -4668,10 +7461,6 @@ l_List_forIn_loop___at_Lean_Elab_applyDerivingHandlers___spec__1___closed__2 = _ lean_mark_persistent(l_List_forIn_loop___at_Lean_Elab_applyDerivingHandlers___spec__1___closed__2); l_Lean_Elab_applyDerivingHandlers___closed__1 = _init_l_Lean_Elab_applyDerivingHandlers___closed__1(); lean_mark_persistent(l_Lean_Elab_applyDerivingHandlers___closed__1); -l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_elabDeriving___spec__1___rarg___closed__1 = _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_elabDeriving___spec__1___rarg___closed__1(); -lean_mark_persistent(l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_elabDeriving___spec__1___rarg___closed__1); -l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_elabDeriving___spec__1___rarg___closed__2 = _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_elabDeriving___spec__1___rarg___closed__2(); -lean_mark_persistent(l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_elabDeriving___spec__1___rarg___closed__2); l_Lean_throwUnknownConstant___at_Lean_Elab_elabDeriving___spec__14___closed__1 = _init_l_Lean_throwUnknownConstant___at_Lean_Elab_elabDeriving___spec__14___closed__1(); lean_mark_persistent(l_Lean_throwUnknownConstant___at_Lean_Elab_elabDeriving___spec__14___closed__1); l_Lean_throwUnknownConstant___at_Lean_Elab_elabDeriving___spec__14___closed__2 = _init_l_Lean_throwUnknownConstant___at_Lean_Elab_elabDeriving___spec__14___closed__2(); @@ -4690,14 +7479,20 @@ l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_elabDeriving___spec__9___clos lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_elabDeriving___spec__9___closed__1); l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_elabDeriving___spec__9___closed__2 = _init_l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_elabDeriving___spec__9___closed__2(); lean_mark_persistent(l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_elabDeriving___spec__9___closed__2); -l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__1 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__1(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__1); -l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__2 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__2(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__2); -l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__3 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__3(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__3); -l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__4 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__4(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__20___closed__4); +l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21___closed__1 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21___closed__1(); +lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21___closed__1); +l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21___closed__2 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21___closed__2(); +lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21___closed__2); +l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21___closed__3 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21___closed__3(); +lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21___closed__3); +l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__1 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__1(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__1); +l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__2 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__2(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__2); +l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__3 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__3(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__3); +l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__4 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__4(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_elabDeriving___spec__24___closed__4); l_Lean_Elab_elabDeriving___lambda__2___closed__1 = _init_l_Lean_Elab_elabDeriving___lambda__2___closed__1(); lean_mark_persistent(l_Lean_Elab_elabDeriving___lambda__2___closed__1); l_Lean_Elab_elabDeriving___lambda__2___closed__2 = _init_l_Lean_Elab_elabDeriving___lambda__2___closed__2(); @@ -4724,8 +7519,6 @@ l_Lean_Elab_elabDeriving___closed__10 = _init_l_Lean_Elab_elabDeriving___closed_ lean_mark_persistent(l_Lean_Elab_elabDeriving___closed__10); l_Lean_Elab_elabDeriving___closed__11 = _init_l_Lean_Elab_elabDeriving___closed__11(); lean_mark_persistent(l_Lean_Elab_elabDeriving___closed__11); -l_Lean_Elab_elabDeriving___closed__12 = _init_l_Lean_Elab_elabDeriving___closed__12(); -lean_mark_persistent(l_Lean_Elab_elabDeriving___closed__12); l___regBuiltin_Lean_Elab_elabDeriving___closed__1 = _init_l___regBuiltin_Lean_Elab_elabDeriving___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Elab_elabDeriving___closed__1); l___regBuiltin_Lean_Elab_elabDeriving___closed__2 = _init_l___regBuiltin_Lean_Elab_elabDeriving___closed__2(); @@ -4762,13 +7555,13 @@ l_Lean_Elab_getOptDerivingClasses___rarg___closed__1 = _init_l_Lean_Elab_getOptD lean_mark_persistent(l_Lean_Elab_getOptDerivingClasses___rarg___closed__1); l_Lean_Elab_getOptDerivingClasses___rarg___closed__2 = _init_l_Lean_Elab_getOptDerivingClasses___rarg___closed__2(); lean_mark_persistent(l_Lean_Elab_getOptDerivingClasses___rarg___closed__2); -l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_1780____closed__1 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_1780____closed__1(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_1780____closed__1); -l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_1780____closed__2 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_1780____closed__2(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_1780____closed__2); -l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_1780____closed__3 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_1780____closed__3(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_1780____closed__3); -res = l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_1780_(lean_io_mk_world()); +l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_2362____closed__1 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_2362____closed__1(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_2362____closed__1); +l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_2362____closed__2 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_2362____closed__2(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_2362____closed__2); +l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_2362____closed__3 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_2362____closed__3(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_2362____closed__3); +res = l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_Basic___hyg_2362_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Elab/Deriving/DecEq.c b/stage0/stdlib/Lean/Elab/Deriving/DecEq.c index 18c1092624..8750322c30 100644 --- a/stage0/stdlib/Lean/Elab/Deriving/DecEq.c +++ b/stage0/stdlib/Lean/Elab/Deriving/DecEq.c @@ -15,7 +15,7 @@ extern "C" { #endif lean_object* l_List_reverse___rarg(lean_object*); lean_object* l_Lean_getConstInfo___at_Lean_Elab_Term_mkConst___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__17(lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_Lean_isRecCore(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkEnumOfNatThm___closed__1; static lean_object* l_Lean_Elab_Deriving_DecEq_mkAuxFunction___closed__2; @@ -28,12 +28,12 @@ static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__25; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__22; static lean_object* l_Lean_Elab_Deriving_DecEq_mkEnumOfNat_mkDecTree___closed__4; lean_object* l_Lean_registerTraceClass(lean_object*, uint8_t, lean_object*); +static lean_object* l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__4; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__37; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__55; lean_object* l_Lean_stringToMessageData(lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__62; static lean_object* l_Lean_Elab_Deriving_DecEq_mkEnumOfNatThm___closed__3; -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* lean_mk_empty_array_with_capacity(lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__54; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__6___lambda__1___closed__3; @@ -47,6 +47,7 @@ static lean_object* l_Lean_Elab_Deriving_DecEq_mkAuxFunction___closed__1; lean_object* l_Lean_Elab_Command_liftTermElabM___rarg(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__7; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__58; +lean_object* l_Lean_throwError___at_Lean_Meta_setInlineAttribute___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__50; lean_object* lean_array_uget(lean_object*, size_t); static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__17; @@ -60,9 +61,11 @@ static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__3 static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__3; LEAN_EXPORT lean_object* l_List_allM___at_Lean_Elab_Deriving_DecEq_mkDecEqInstanceHandler___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__6___lambda__1___closed__6; +lean_object* l_Lean_SourceInfo_fromRef(lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__48; static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqCmds___closed__3; static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__46; +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_DecEq_mkMatch___spec__1___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__12; static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__29; lean_object* lean_array_uset(lean_object*, size_t, lean_object*); @@ -74,13 +77,15 @@ static lean_object* l_Lean_Elab_Deriving_DecEq_mkEnumOfNatThm___closed__8; static lean_object* l_Lean_Elab_Deriving_DecEq_mkAuxFunction___closed__4; static lean_object* l_Lean_Elab_Deriving_DecEq_mkEnumOfNat_mkDecTree___closed__6; static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__52; +LEAN_EXPORT lean_object* l_Lean_log___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch___closed__1; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__2; static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__3; +lean_object* l_Lean_getConstInfo___at_Lean_Meta_mkConstWithFreshMVarLevels___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__18; +uint8_t l_Lean_isCasesOnRecursor(lean_object*, lean_object*); lean_object* l_Lean_Meta_compatibleCtors(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkAuxFunction___closed__23; -lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Command_mkDefViewOfInstance___spec__11(lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch___closed__2; @@ -124,6 +129,8 @@ lean_object* lean_string_utf8_byte_size(lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__5; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__30; lean_object* l_Lean_addTrace___at_Lean_Elab_Command_elabCommand___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwKernelException___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l___private_Lean_Message_0__Lean_beqMessageSeverity____x40_Lean_Message___hyg_101_(uint8_t, uint8_t); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__18; LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkEnumOfNatThm___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_usize_dec_lt(size_t, size_t); @@ -134,19 +141,23 @@ LEAN_EXPORT lean_object* l_Lean_isEnumType___at_Lean_Elab_Deriving_DecEq_mkDecEq static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__42; static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__42; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__53; +LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___lambda__1___boxed(lean_object*, lean_object*); extern lean_object* l_Lean_levelZero; lean_object* lean_nat_add(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_initFn____x40_Lean_Elab_Deriving_DecEq___hyg_5375____closed__1; +static lean_object* l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__2; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__1___closed__11; static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__20; +LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__14___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_DecEq_mkEnumOfNat_mkDecTree___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__49; static lean_object* l_Lean_Elab_Deriving_DecEq_mkEnumOfNat_mkDecTree___closed__1; static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__16; static lean_object* l_Lean_Elab_Deriving_DecEq_mkAuxFunction___closed__6; LEAN_EXPORT lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_addAndCompile___at_Lean_Meta_evalExprCore___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__24; +lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Deriving_mkDiscrs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__3___closed__4; @@ -161,8 +172,11 @@ static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__43; static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__32; LEAN_EXPORT lean_object* l_Lean_isEnumType___at_Lean_Elab_Deriving_DecEq_mkDecEqInstanceHandler___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__3___closed__9; +static lean_object* l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__1; +LEAN_EXPORT lean_object* l_Lean_getConstInfoInduct___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__1___boxed(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*); +uint8_t l_Lean_Option_get___at_Lean_getSanitizeNames___spec__1(lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__3___closed__6; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__23; @@ -170,9 +184,11 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lamb static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__50; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__6___lambda__1___closed__7; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__5___closed__1; +lean_object* lean_st_ref_take(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__55; static lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__1___closed__3; lean_object* l_Lean_Elab_Deriving_mkInstanceCmds(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Elab_Deriving_DecEq_mkDecEqCmds___spec__1(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__49; @@ -182,6 +198,7 @@ static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__1 static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__6___lambda__1___closed__10; lean_object* l_Lean_mkRawNatLit(lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqCmds___closed__7; +lean_object* l_Lean_KernelException_toMessageData(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__3___closed__8; LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___closed__4; @@ -191,6 +208,8 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_DecEq_mkEnumOfNat___lambda__1(lean static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__25; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__5___closed__2; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__1___closed__9; +lean_object* l_Lean_replaceRef(lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___lambda__1(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkLambdaFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkAuxFunction___closed__14; @@ -198,10 +217,12 @@ lean_object* l_Lean_Expr_fvarId_x21(lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__1___closed__17; static lean_object* l_Lean_Elab_Deriving_DecEq_mkEnumOfNat_mkDecTree___closed__2; LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___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_PrettyPrinter_Delaborator_delabAppMatch___spec__9(size_t, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Lean_getConstInfoInduct___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqCmds(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__11; +static lean_object* l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__4___closed__3; +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__13; static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__10; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__41; @@ -214,6 +235,7 @@ static lean_object* l_Lean_Elab_Deriving_DecEq_mkAuxFunction___closed__13; lean_object* l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_instAddErrorMessageContextTermElabM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___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*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__1___closed__27; +uint8_t l_Array_contains___at_Lean_findField_x3f___spec__1(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__1___closed__10; static lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__1___closed__4; static lean_object* l_Lean_Elab_Deriving_DecEq_mkAuxFunction___closed__5; @@ -222,6 +244,7 @@ static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__1 static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__38; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__21; LEAN_EXPORT lean_object* l_List_allM___at_Lean_Elab_Deriving_DecEq_mkDecEqInstanceHandler___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_compileDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addMessageContextPartial___at_Lean_Elab_Command_instAddMessageContextCommandElabM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__34; lean_object* lean_array_to_list(lean_object*, lean_object*); @@ -229,6 +252,7 @@ static lean_object* l_Lean_Elab_Deriving_DecEq_mkAuxFunction___closed__18; static lean_object* l_Lean_Elab_Deriving_DecEq_mkEnumOfNat_mkDecTree___closed__8; static lean_object* l_Lean_Elab_Deriving_DecEq_mkAuxFunction___closed__15; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__1___closed__20; +LEAN_EXPORT lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Deriving_DecEq_mkDecEqEnum___spec__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkArrow(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkEnumOfNat___lambda__1___closed__2; @@ -237,16 +261,18 @@ static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_DecEq_mkEnumOfNatThm___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*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkAuxFunction___closed__7; lean_object* l_panic___at___private_Init_Prelude_0__Lean_assembleParts___spec__1(lean_object*); +lean_object* l_Lean_FileMap_toPosition(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkEnumOfNatThm___closed__10; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__31; lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__1___closed__13; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__35; -LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_DecEq_mkEnumOfNat___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Deriving_DecEq_mkDecEqEnum___spec__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___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_mkSepArray(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__1___closed__23; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__3___closed__12; +uint8_t l_Lean_MessageData_hasSyntheticSorry(lean_object*); lean_object* l_Lean_Elab_Command_elabCommand(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkEnumOfNat___lambda__1___closed__1; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Deriving_DecEq_mkDecEq___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); @@ -255,16 +281,20 @@ lean_object* l_panic___at_Lean_Elab_Deriving_mkLocalInstanceLetDecls___spec__1(l static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__1___closed__6; LEAN_EXPORT lean_object* l_Lean_getConstInfoInduct___at_Lean_Elab_Deriving_DecEq_mkDecEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Core_transform___at_Lean_Core_betaReduce___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Declaration_foldExprM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__45; static lean_object* l_Lean_Elab_Deriving_DecEq_mkAuxFunction___closed__10; static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__11; static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqCmds___closed__10; +LEAN_EXPORT lean_object* l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__4___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Deriving_mkContext(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__5___closed__8; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__8___boxed(lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_warningAsError; size_t lean_usize_of_nat(lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__29; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch___closed__3; +lean_object* l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__36; LEAN_EXPORT lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -272,6 +302,8 @@ static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__1 static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__51; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__46; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__3___closed__1; +LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_logAt___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__8(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkAuxFunction___closed__16; lean_object* l_Lean_Elab_Deriving_mkHeader(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -281,10 +313,15 @@ static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__26; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__52; static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__51; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__20; +lean_object* l_Lean_Syntax_getPos_x3f(lean_object*, uint8_t); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_logWarning___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_redLength___rarg(lean_object*); +lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqHeader(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); +static lean_object* l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__4___closed__1; +static lean_object* l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__3; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__5___closed__5; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__57; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__4; @@ -298,6 +335,7 @@ uint8_t lean_nat_dec_le(lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_getCurrMacroScope(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkEnumOfNatThm___closed__7; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__19; +LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__59; static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__31; LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -306,11 +344,14 @@ static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__3 static lean_object* l_Lean_Elab_Deriving_DecEq_mkAuxFunction___closed__22; LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___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*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__1___closed__25; +LEAN_EXPORT lean_object* l_Lean_throwKernelException___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__61; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__32; static lean_object* l_Lean_Elab_Deriving_DecEq_mkEnumOfNatThm___lambda__1___closed__1; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__10; +uint8_t lean_is_aux_recursor(lean_object*, lean_object*); +lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_SynthInstance_removeUnusedArguments_x3f___spec__2___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_DecEq_initFn____x40_Lean_Elab_Deriving_DecEq___hyg_5375_(lean_object*); lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__3___closed__14; @@ -318,6 +359,7 @@ static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2 lean_object* l_Lean_Elab_Command_getMainModule___rarg(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__39; lean_object* l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__4___closed__2; lean_object* l_Lean_mkApp4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___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*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__3___closed__13; @@ -329,6 +371,8 @@ lean_object* l_Lean_Elab_Command_getRef(lean_object*, lean_object*, lean_object* static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__5___closed__7; static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__2; lean_object* l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_traceAtCmdPos___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__13(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___lambda__2___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*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__27; @@ -343,6 +387,7 @@ lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_obje static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch___closed__6; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__1___closed__3; static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__47; +LEAN_EXPORT lean_object* l___private_Lean_MonadEnv_0__Lean_checkUnsupported___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___closed__5; static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__60; LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_DecEq_mkAuxFunction(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -350,14 +395,15 @@ static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAl static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__17; static lean_object* l_Lean_Elab_Deriving_DecEq_mkAuxFunction___closed__17; static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__58; -lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_GeneralizeTelescope_generalizeTelescopeAux___spec__1___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__1___closed__7; +lean_object* l_Lean_Syntax_getTailPos_x3f(lean_object*, uint8_t); static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__6___lambda__1___closed__9; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__8; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__5___closed__3; lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Elab_Deriving_mkInductArgNames___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_getConstInfoInduct___at_Lean_Elab_Deriving_DecEq_mkDecEq___spec__1___closed__2; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__1___closed__18; +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__36; LEAN_EXPORT lean_object* l_Lean_getConstInfoInduct___at_Lean_Elab_Deriving_DecEq_mkDecEq___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -380,9 +426,12 @@ static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2 static lean_object* l_Lean_Elab_Deriving_DecEq_mkAuxFunction___closed__12; static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__23; static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__41; +LEAN_EXPORT lean_object* l_Lean_log___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__7(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Command_elabCommand___spec__19(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Environment_compileDecl(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkEnumOfNatThm___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__6___closed__3; +uint8_t l_Std_PersistentArray_anyM___at_Lean_MessageLog_hasErrors___spec__1(lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__1___closed__24; LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqInstanceHandler(lean_object*, lean_object*, lean_object*, lean_object*); @@ -391,6 +440,10 @@ static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__21; lean_object* l_Lean_Core_betaReduce___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_List_isEmpty___rarg(lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqCmds___closed__9; +LEAN_EXPORT lean_object* l_Lean_logAt___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_logAt___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__8___closed__1; +uint8_t l_Lean_Declaration_foldExprM___at_Lean_Declaration_hasSorry___spec__1(lean_object*, uint8_t); +LEAN_EXPORT lean_object* l_Lean_addAndCompile___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkAuxFunction___closed__11; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__1___closed__16; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__54; @@ -401,7 +454,11 @@ static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___closed__7 lean_object* l_Lean_mkAppB(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__14; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch___closed__5; +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_DecEq_mkMatch___spec__1(size_t, size_t, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__6; +lean_object* l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__19(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Declaration_foldExprM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__28; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__6___lambda__1___closed__4; static lean_object* l_Lean_Elab_Deriving_DecEq_mkEnumOfNatThm___closed__6; @@ -411,6 +468,7 @@ static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__3 static lean_object* l_Lean_Elab_Deriving_DecEq_mkEnumOfNat___closed__1; static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__19; static lean_object* l_Lean_Elab_Deriving_DecEq_mkAuxFunction___closed__20; +extern lean_object* l___private_Lean_MonadEnv_0__Lean_supportedRecursors; static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqCmds___closed__1; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__6___lambda__1___closed__11; static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__33; @@ -426,6 +484,7 @@ lean_object* l_Lean_Elab_getBetterRef(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__6___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__34; +lean_object* lean_add_decl(lean_object*, lean_object*); static lean_object* _init_l_Lean_Elab_Deriving_DecEq_mkDecEqHeader___closed__1() { _start: { @@ -5076,6 +5135,30 @@ x_6 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec return x_6; } } +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_DecEq_mkMatch___spec__1(size_t x_1, size_t x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; +x_4 = lean_usize_dec_lt(x_2, x_1); +if (x_4 == 0) +{ +return x_3; +} +else +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; size_t x_8; size_t x_9; lean_object* x_10; +x_5 = lean_array_uget(x_3, x_2); +x_6 = lean_unsigned_to_nat(0u); +x_7 = lean_array_uset(x_3, x_2, x_6); +x_8 = 1; +x_9 = lean_usize_add(x_2, x_8); +x_10 = lean_array_uset(x_7, x_2, x_5); +x_2 = x_9; +x_3 = x_10; +goto _start; +} +} +} static lean_object* _init_l_Lean_Elab_Deriving_DecEq_mkMatch___closed__1() { _start: { @@ -5182,7 +5265,7 @@ x_28 = lean_array_get_size(x_12); x_29 = lean_usize_of_nat(x_28); lean_dec(x_28); x_30 = 0; -x_31 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(x_29, x_30, x_12); +x_31 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_DecEq_mkMatch___spec__1(x_29, x_30, x_12); x_32 = l_List_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__6___lambda__1___closed__10; x_33 = l_Lean_mkSepArray(x_31, x_32); lean_dec(x_31); @@ -5249,7 +5332,7 @@ x_59 = lean_array_get_size(x_12); x_60 = lean_usize_of_nat(x_59); lean_dec(x_59); x_61 = 0; -x_62 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(x_60, x_61, x_12); +x_62 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_DecEq_mkMatch___spec__1(x_60, x_61, x_12); x_63 = l_List_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__6___lambda__1___closed__10; x_64 = l_Lean_mkSepArray(x_62, x_63); lean_dec(x_62); @@ -5324,6 +5407,18 @@ return x_88; } } } +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_DecEq_mkMatch___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; +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_Elab_Deriving_DecEq_mkMatch___spec__1(x_4, x_5, x_3); +return x_6; +} +} static lean_object* _init_l_Lean_Elab_Deriving_DecEq_mkAuxFunction___closed__1() { _start: { @@ -6651,7 +6746,7 @@ _start: lean_object* x_5; lean_inc(x_2); lean_inc(x_1); -x_5 = l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__17(x_1, x_2, x_3, x_4); +x_5 = l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__19(x_1, x_2, x_3, x_4); if (lean_obj_tag(x_5) == 0) { lean_object* x_6; @@ -7285,6 +7380,2404 @@ lean_dec(x_2); return x_7; } } +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___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; +x_7 = lean_ctor_get(x_4, 5); +x_8 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); +x_9 = !lean_is_exclusive(x_8); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; +x_10 = lean_ctor_get(x_8, 0); +lean_inc(x_7); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_7); +lean_ctor_set(x_11, 1, x_10); +lean_ctor_set_tag(x_8, 1); +lean_ctor_set(x_8, 0, x_11); +return x_8; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_12 = lean_ctor_get(x_8, 0); +x_13 = lean_ctor_get(x_8, 1); +lean_inc(x_13); +lean_inc(x_12); +lean_dec(x_8); +lean_inc(x_7); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_7); +lean_ctor_set(x_14, 1, x_12); +x_15 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_13); +return x_15; +} +} +} +LEAN_EXPORT lean_object* l_Lean_getConstInfoInduct___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___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_inc(x_1); +x_7 = l_Lean_getConstInfo___at_Lean_Meta_mkConstWithFreshMVarLevels___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; +x_8 = lean_ctor_get(x_7, 0); +lean_inc(x_8); +if (lean_obj_tag(x_8) == 5) +{ +uint8_t x_9; +lean_dec(x_1); +x_9 = !lean_is_exclusive(x_7); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; +x_10 = lean_ctor_get(x_7, 0); +lean_dec(x_10); +x_11 = lean_ctor_get(x_8, 0); +lean_inc(x_11); +lean_dec(x_8); +lean_ctor_set(x_7, 0, x_11); +return x_7; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_7, 1); +lean_inc(x_12); +lean_dec(x_7); +x_13 = lean_ctor_get(x_8, 0); +lean_inc(x_13); +lean_dec(x_8); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_13); +lean_ctor_set(x_14, 1, x_12); +return x_14; +} +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +lean_dec(x_8); +x_15 = lean_ctor_get(x_7, 1); +lean_inc(x_15); +lean_dec(x_7); +x_16 = lean_box(0); +x_17 = l_Lean_Expr_const___override(x_1, x_16); +x_18 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_18, 0, x_17); +x_19 = l_Lean_getConstInfoCtor___at_Lean_Elab_Deriving_DecEq_mkMatch_mkAlts___spec__1___closed__2; +x_20 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_20, 0, x_19); +lean_ctor_set(x_20, 1, x_18); +x_21 = l_Lean_getConstInfoInduct___at_Lean_Elab_Deriving_DecEq_mkDecEq___spec__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_Elab_Deriving_DecEq_mkEnumOfNat___spec__2(x_22, x_2, x_3, x_4, x_5, x_15); +return x_23; +} +} +else +{ +uint8_t x_24; +lean_dec(x_1); +x_24 = !lean_is_exclusive(x_7); +if (x_24 == 0) +{ +return x_7; +} +else +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_7, 0); +x_26 = lean_ctor_get(x_7, 1); +lean_inc(x_26); +lean_inc(x_25); +lean_dec(x_7); +x_27 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_27, 0, x_25); +lean_ctor_set(x_27, 1, x_26); +return x_27; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_throwKernelException___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___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) { +_start: +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; +x_7 = lean_ctor_get(x_4, 2); +lean_inc(x_7); +x_8 = l_Lean_KernelException_toMessageData(x_1, x_7); +x_9 = l_Lean_throwError___at_Lean_Meta_setInlineAttribute___spec__1(x_8, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_4); +return x_9; +} +} +static lean_object* _init_l_Lean_logAt___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__8___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_warningAsError; +return x_1; +} +} +LEAN_EXPORT lean_object* l_Lean_logAt___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__8(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; uint8_t x_267; uint8_t x_268; +x_267 = 2; +x_268 = l___private_Lean_Message_0__Lean_beqMessageSeverity____x40_Lean_Message___hyg_101_(x_3, x_267); +if (x_268 == 0) +{ +lean_object* x_269; +x_269 = lean_box(0); +x_9 = x_269; +goto block_266; +} +else +{ +uint8_t x_270; +lean_inc(x_2); +x_270 = l_Lean_MessageData_hasSyntheticSorry(x_2); +if (x_270 == 0) +{ +lean_object* x_271; +x_271 = lean_box(0); +x_9 = x_271; +goto block_266; +} +else +{ +lean_object* x_272; lean_object* x_273; +lean_dec(x_2); +x_272 = lean_box(0); +x_273 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_273, 0, x_272); +lean_ctor_set(x_273, 1, x_8); +return x_273; +} +} +block_266: +{ +uint8_t x_10; lean_object* x_260; uint8_t x_261; uint8_t x_262; +lean_dec(x_9); +x_260 = lean_ctor_get(x_6, 2); +x_261 = 1; +x_262 = l___private_Lean_Message_0__Lean_beqMessageSeverity____x40_Lean_Message___hyg_101_(x_3, x_261); +if (x_262 == 0) +{ +x_10 = x_3; +goto block_259; +} +else +{ +lean_object* x_263; uint8_t x_264; +x_263 = l_Lean_logAt___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__8___closed__1; +x_264 = l_Lean_Option_get___at_Lean_getSanitizeNames___spec__1(x_260, x_263); +if (x_264 == 0) +{ +x_10 = x_3; +goto block_259; +} +else +{ +uint8_t x_265; +x_265 = 2; +x_10 = x_265; +goto block_259; +} +} +block_259: +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; +x_11 = lean_ctor_get(x_6, 0); +x_12 = lean_ctor_get(x_6, 1); +x_13 = lean_ctor_get(x_6, 5); +x_14 = lean_ctor_get(x_6, 6); +x_15 = lean_ctor_get(x_6, 7); +x_16 = l_Lean_replaceRef(x_1, x_13); +x_17 = 0; +x_18 = l_Lean_Syntax_getPos_x3f(x_16, x_17); +x_19 = l_Lean_Syntax_getTailPos_x3f(x_16, x_17); +if (lean_obj_tag(x_18) == 0) +{ +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33; +x_20 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_2, x_4, x_5, x_6, x_7, x_8); +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = lean_unsigned_to_nat(0u); +x_24 = l_Lean_FileMap_toPosition(x_12, x_23); +lean_inc(x_24); +x_25 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_25, 0, x_24); +lean_inc(x_15); +lean_inc(x_14); +x_26 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_26, 0, x_14); +lean_ctor_set(x_26, 1, x_15); +x_27 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_27, 0, x_26); +lean_ctor_set(x_27, 1, x_21); +x_28 = l_Lean_Elab_Deriving_DecEq_mkDecEqCmds___closed__9; +lean_inc(x_11); +x_29 = lean_alloc_ctor(0, 5, 1); +lean_ctor_set(x_29, 0, x_11); +lean_ctor_set(x_29, 1, x_24); +lean_ctor_set(x_29, 2, x_25); +lean_ctor_set(x_29, 3, x_28); +lean_ctor_set(x_29, 4, x_27); +lean_ctor_set_uint8(x_29, sizeof(void*)*5, x_10); +x_30 = lean_st_ref_take(x_7, x_22); +x_31 = lean_ctor_get(x_30, 0); +lean_inc(x_31); +x_32 = lean_ctor_get(x_30, 1); +lean_inc(x_32); +lean_dec(x_30); +x_33 = !lean_is_exclusive(x_31); +if (x_33 == 0) +{ +lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; +x_34 = lean_ctor_get(x_31, 5); +x_35 = l_Std_PersistentArray_push___rarg(x_34, x_29); +lean_ctor_set(x_31, 5, x_35); +x_36 = lean_st_ref_set(x_7, x_31, x_32); +x_37 = !lean_is_exclusive(x_36); +if (x_37 == 0) +{ +lean_object* x_38; lean_object* x_39; +x_38 = lean_ctor_get(x_36, 0); +lean_dec(x_38); +x_39 = lean_box(0); +lean_ctor_set(x_36, 0, x_39); +return x_36; +} +else +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_40 = lean_ctor_get(x_36, 1); +lean_inc(x_40); +lean_dec(x_36); +x_41 = lean_box(0); +x_42 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_42, 0, x_41); +lean_ctor_set(x_42, 1, x_40); +return x_42; +} +} +else +{ +lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; +x_43 = lean_ctor_get(x_31, 0); +x_44 = lean_ctor_get(x_31, 1); +x_45 = lean_ctor_get(x_31, 2); +x_46 = lean_ctor_get(x_31, 3); +x_47 = lean_ctor_get(x_31, 4); +x_48 = lean_ctor_get(x_31, 5); +x_49 = lean_ctor_get(x_31, 6); +lean_inc(x_49); +lean_inc(x_48); +lean_inc(x_47); +lean_inc(x_46); +lean_inc(x_45); +lean_inc(x_44); +lean_inc(x_43); +lean_dec(x_31); +x_50 = l_Std_PersistentArray_push___rarg(x_48, x_29); +x_51 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_51, 0, x_43); +lean_ctor_set(x_51, 1, x_44); +lean_ctor_set(x_51, 2, x_45); +lean_ctor_set(x_51, 3, x_46); +lean_ctor_set(x_51, 4, x_47); +lean_ctor_set(x_51, 5, x_50); +lean_ctor_set(x_51, 6, x_49); +x_52 = lean_st_ref_set(x_7, x_51, x_32); +x_53 = lean_ctor_get(x_52, 1); +lean_inc(x_53); +if (lean_is_exclusive(x_52)) { + lean_ctor_release(x_52, 0); + lean_ctor_release(x_52, 1); + x_54 = x_52; +} else { + lean_dec_ref(x_52); + x_54 = lean_box(0); +} +x_55 = lean_box(0); +if (lean_is_scalar(x_54)) { + x_56 = lean_alloc_ctor(0, 2, 0); +} else { + x_56 = x_54; +} +lean_ctor_set(x_56, 0, x_55); +lean_ctor_set(x_56, 1, x_53); +return x_56; +} +} +else +{ +uint8_t x_57; +x_57 = !lean_is_exclusive(x_19); +if (x_57 == 0) +{ +lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; uint8_t x_72; +x_58 = lean_ctor_get(x_19, 0); +x_59 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_2, x_4, x_5, x_6, x_7, x_8); +x_60 = lean_ctor_get(x_59, 0); +lean_inc(x_60); +x_61 = lean_ctor_get(x_59, 1); +lean_inc(x_61); +lean_dec(x_59); +x_62 = lean_unsigned_to_nat(0u); +x_63 = l_Lean_FileMap_toPosition(x_12, x_62); +x_64 = l_Lean_FileMap_toPosition(x_12, x_58); +lean_dec(x_58); +lean_ctor_set(x_19, 0, x_64); +lean_inc(x_15); +lean_inc(x_14); +x_65 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_65, 0, x_14); +lean_ctor_set(x_65, 1, x_15); +x_66 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_66, 0, x_65); +lean_ctor_set(x_66, 1, x_60); +x_67 = l_Lean_Elab_Deriving_DecEq_mkDecEqCmds___closed__9; +lean_inc(x_11); +x_68 = lean_alloc_ctor(0, 5, 1); +lean_ctor_set(x_68, 0, x_11); +lean_ctor_set(x_68, 1, x_63); +lean_ctor_set(x_68, 2, x_19); +lean_ctor_set(x_68, 3, x_67); +lean_ctor_set(x_68, 4, x_66); +lean_ctor_set_uint8(x_68, sizeof(void*)*5, x_10); +x_69 = lean_st_ref_take(x_7, x_61); +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 = !lean_is_exclusive(x_70); +if (x_72 == 0) +{ +lean_object* x_73; lean_object* x_74; lean_object* x_75; uint8_t x_76; +x_73 = lean_ctor_get(x_70, 5); +x_74 = l_Std_PersistentArray_push___rarg(x_73, x_68); +lean_ctor_set(x_70, 5, x_74); +x_75 = lean_st_ref_set(x_7, x_70, x_71); +x_76 = !lean_is_exclusive(x_75); +if (x_76 == 0) +{ +lean_object* x_77; lean_object* x_78; +x_77 = lean_ctor_get(x_75, 0); +lean_dec(x_77); +x_78 = lean_box(0); +lean_ctor_set(x_75, 0, x_78); +return x_75; +} +else +{ +lean_object* x_79; lean_object* x_80; lean_object* x_81; +x_79 = lean_ctor_get(x_75, 1); +lean_inc(x_79); +lean_dec(x_75); +x_80 = lean_box(0); +x_81 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_81, 0, x_80); +lean_ctor_set(x_81, 1, x_79); +return x_81; +} +} +else +{ +lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; +x_82 = lean_ctor_get(x_70, 0); +x_83 = lean_ctor_get(x_70, 1); +x_84 = lean_ctor_get(x_70, 2); +x_85 = lean_ctor_get(x_70, 3); +x_86 = lean_ctor_get(x_70, 4); +x_87 = lean_ctor_get(x_70, 5); +x_88 = lean_ctor_get(x_70, 6); +lean_inc(x_88); +lean_inc(x_87); +lean_inc(x_86); +lean_inc(x_85); +lean_inc(x_84); +lean_inc(x_83); +lean_inc(x_82); +lean_dec(x_70); +x_89 = l_Std_PersistentArray_push___rarg(x_87, x_68); +x_90 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_90, 0, x_82); +lean_ctor_set(x_90, 1, x_83); +lean_ctor_set(x_90, 2, x_84); +lean_ctor_set(x_90, 3, x_85); +lean_ctor_set(x_90, 4, x_86); +lean_ctor_set(x_90, 5, x_89); +lean_ctor_set(x_90, 6, x_88); +x_91 = lean_st_ref_set(x_7, x_90, x_71); +x_92 = lean_ctor_get(x_91, 1); +lean_inc(x_92); +if (lean_is_exclusive(x_91)) { + lean_ctor_release(x_91, 0); + lean_ctor_release(x_91, 1); + x_93 = x_91; +} else { + lean_dec_ref(x_91); + x_93 = lean_box(0); +} +x_94 = lean_box(0); +if (lean_is_scalar(x_93)) { + x_95 = lean_alloc_ctor(0, 2, 0); +} else { + x_95 = x_93; +} +lean_ctor_set(x_95, 0, x_94); +lean_ctor_set(x_95, 1, x_92); +return x_95; +} +} +else +{ +lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; +x_96 = lean_ctor_get(x_19, 0); +lean_inc(x_96); +lean_dec(x_19); +x_97 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_2, x_4, x_5, x_6, x_7, x_8); +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_unsigned_to_nat(0u); +x_101 = l_Lean_FileMap_toPosition(x_12, x_100); +x_102 = l_Lean_FileMap_toPosition(x_12, x_96); +lean_dec(x_96); +x_103 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_103, 0, x_102); +lean_inc(x_15); +lean_inc(x_14); +x_104 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_104, 0, x_14); +lean_ctor_set(x_104, 1, x_15); +x_105 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_105, 0, x_104); +lean_ctor_set(x_105, 1, x_98); +x_106 = l_Lean_Elab_Deriving_DecEq_mkDecEqCmds___closed__9; +lean_inc(x_11); +x_107 = lean_alloc_ctor(0, 5, 1); +lean_ctor_set(x_107, 0, x_11); +lean_ctor_set(x_107, 1, x_101); +lean_ctor_set(x_107, 2, x_103); +lean_ctor_set(x_107, 3, x_106); +lean_ctor_set(x_107, 4, x_105); +lean_ctor_set_uint8(x_107, sizeof(void*)*5, x_10); +x_108 = lean_st_ref_take(x_7, x_99); +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_ctor_get(x_109, 0); +lean_inc(x_111); +x_112 = lean_ctor_get(x_109, 1); +lean_inc(x_112); +x_113 = lean_ctor_get(x_109, 2); +lean_inc(x_113); +x_114 = lean_ctor_get(x_109, 3); +lean_inc(x_114); +x_115 = lean_ctor_get(x_109, 4); +lean_inc(x_115); +x_116 = lean_ctor_get(x_109, 5); +lean_inc(x_116); +x_117 = lean_ctor_get(x_109, 6); +lean_inc(x_117); +if (lean_is_exclusive(x_109)) { + lean_ctor_release(x_109, 0); + lean_ctor_release(x_109, 1); + lean_ctor_release(x_109, 2); + lean_ctor_release(x_109, 3); + lean_ctor_release(x_109, 4); + lean_ctor_release(x_109, 5); + lean_ctor_release(x_109, 6); + x_118 = x_109; +} else { + lean_dec_ref(x_109); + x_118 = lean_box(0); +} +x_119 = l_Std_PersistentArray_push___rarg(x_116, x_107); +if (lean_is_scalar(x_118)) { + x_120 = lean_alloc_ctor(0, 7, 0); +} else { + x_120 = x_118; +} +lean_ctor_set(x_120, 0, x_111); +lean_ctor_set(x_120, 1, x_112); +lean_ctor_set(x_120, 2, x_113); +lean_ctor_set(x_120, 3, x_114); +lean_ctor_set(x_120, 4, x_115); +lean_ctor_set(x_120, 5, x_119); +lean_ctor_set(x_120, 6, x_117); +x_121 = lean_st_ref_set(x_7, x_120, x_110); +x_122 = lean_ctor_get(x_121, 1); +lean_inc(x_122); +if (lean_is_exclusive(x_121)) { + lean_ctor_release(x_121, 0); + lean_ctor_release(x_121, 1); + x_123 = x_121; +} else { + lean_dec_ref(x_121); + x_123 = lean_box(0); +} +x_124 = lean_box(0); +if (lean_is_scalar(x_123)) { + x_125 = lean_alloc_ctor(0, 2, 0); +} else { + x_125 = x_123; +} +lean_ctor_set(x_125, 0, x_124); +lean_ctor_set(x_125, 1, x_122); +return x_125; +} +} +} +else +{ +if (lean_obj_tag(x_19) == 0) +{ +uint8_t x_126; +x_126 = !lean_is_exclusive(x_18); +if (x_126 == 0) +{ +lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; uint8_t x_139; +x_127 = lean_ctor_get(x_18, 0); +x_128 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_2, x_4, x_5, x_6, x_7, x_8); +x_129 = lean_ctor_get(x_128, 0); +lean_inc(x_129); +x_130 = lean_ctor_get(x_128, 1); +lean_inc(x_130); +lean_dec(x_128); +x_131 = l_Lean_FileMap_toPosition(x_12, x_127); +lean_dec(x_127); +lean_inc(x_131); +lean_ctor_set(x_18, 0, x_131); +lean_inc(x_15); +lean_inc(x_14); +x_132 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_132, 0, x_14); +lean_ctor_set(x_132, 1, x_15); +x_133 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_133, 0, x_132); +lean_ctor_set(x_133, 1, x_129); +x_134 = l_Lean_Elab_Deriving_DecEq_mkDecEqCmds___closed__9; +lean_inc(x_11); +x_135 = lean_alloc_ctor(0, 5, 1); +lean_ctor_set(x_135, 0, x_11); +lean_ctor_set(x_135, 1, x_131); +lean_ctor_set(x_135, 2, x_18); +lean_ctor_set(x_135, 3, x_134); +lean_ctor_set(x_135, 4, x_133); +lean_ctor_set_uint8(x_135, sizeof(void*)*5, x_10); +x_136 = lean_st_ref_take(x_7, x_130); +x_137 = lean_ctor_get(x_136, 0); +lean_inc(x_137); +x_138 = lean_ctor_get(x_136, 1); +lean_inc(x_138); +lean_dec(x_136); +x_139 = !lean_is_exclusive(x_137); +if (x_139 == 0) +{ +lean_object* x_140; lean_object* x_141; lean_object* x_142; uint8_t x_143; +x_140 = lean_ctor_get(x_137, 5); +x_141 = l_Std_PersistentArray_push___rarg(x_140, x_135); +lean_ctor_set(x_137, 5, x_141); +x_142 = lean_st_ref_set(x_7, x_137, x_138); +x_143 = !lean_is_exclusive(x_142); +if (x_143 == 0) +{ +lean_object* x_144; lean_object* x_145; +x_144 = lean_ctor_get(x_142, 0); +lean_dec(x_144); +x_145 = lean_box(0); +lean_ctor_set(x_142, 0, x_145); +return x_142; +} +else +{ +lean_object* x_146; lean_object* x_147; lean_object* x_148; +x_146 = lean_ctor_get(x_142, 1); +lean_inc(x_146); +lean_dec(x_142); +x_147 = lean_box(0); +x_148 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_148, 0, x_147); +lean_ctor_set(x_148, 1, x_146); +return x_148; +} +} +else +{ +lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; +x_149 = lean_ctor_get(x_137, 0); +x_150 = lean_ctor_get(x_137, 1); +x_151 = lean_ctor_get(x_137, 2); +x_152 = lean_ctor_get(x_137, 3); +x_153 = lean_ctor_get(x_137, 4); +x_154 = lean_ctor_get(x_137, 5); +x_155 = lean_ctor_get(x_137, 6); +lean_inc(x_155); +lean_inc(x_154); +lean_inc(x_153); +lean_inc(x_152); +lean_inc(x_151); +lean_inc(x_150); +lean_inc(x_149); +lean_dec(x_137); +x_156 = l_Std_PersistentArray_push___rarg(x_154, x_135); +x_157 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_157, 0, x_149); +lean_ctor_set(x_157, 1, x_150); +lean_ctor_set(x_157, 2, x_151); +lean_ctor_set(x_157, 3, x_152); +lean_ctor_set(x_157, 4, x_153); +lean_ctor_set(x_157, 5, x_156); +lean_ctor_set(x_157, 6, x_155); +x_158 = lean_st_ref_set(x_7, x_157, x_138); +x_159 = lean_ctor_get(x_158, 1); +lean_inc(x_159); +if (lean_is_exclusive(x_158)) { + lean_ctor_release(x_158, 0); + lean_ctor_release(x_158, 1); + x_160 = x_158; +} else { + lean_dec_ref(x_158); + x_160 = lean_box(0); +} +x_161 = lean_box(0); +if (lean_is_scalar(x_160)) { + x_162 = lean_alloc_ctor(0, 2, 0); +} else { + x_162 = x_160; +} +lean_ctor_set(x_162, 0, x_161); +lean_ctor_set(x_162, 1, x_159); +return x_162; +} +} +else +{ +lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; +x_163 = lean_ctor_get(x_18, 0); +lean_inc(x_163); +lean_dec(x_18); +x_164 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_2, x_4, x_5, x_6, x_7, x_8); +x_165 = lean_ctor_get(x_164, 0); +lean_inc(x_165); +x_166 = lean_ctor_get(x_164, 1); +lean_inc(x_166); +lean_dec(x_164); +x_167 = l_Lean_FileMap_toPosition(x_12, x_163); +lean_dec(x_163); +lean_inc(x_167); +x_168 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_168, 0, x_167); +lean_inc(x_15); +lean_inc(x_14); +x_169 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_169, 0, x_14); +lean_ctor_set(x_169, 1, x_15); +x_170 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_170, 0, x_169); +lean_ctor_set(x_170, 1, x_165); +x_171 = l_Lean_Elab_Deriving_DecEq_mkDecEqCmds___closed__9; +lean_inc(x_11); +x_172 = lean_alloc_ctor(0, 5, 1); +lean_ctor_set(x_172, 0, x_11); +lean_ctor_set(x_172, 1, x_167); +lean_ctor_set(x_172, 2, x_168); +lean_ctor_set(x_172, 3, x_171); +lean_ctor_set(x_172, 4, x_170); +lean_ctor_set_uint8(x_172, sizeof(void*)*5, x_10); +x_173 = lean_st_ref_take(x_7, x_166); +x_174 = lean_ctor_get(x_173, 0); +lean_inc(x_174); +x_175 = lean_ctor_get(x_173, 1); +lean_inc(x_175); +lean_dec(x_173); +x_176 = lean_ctor_get(x_174, 0); +lean_inc(x_176); +x_177 = lean_ctor_get(x_174, 1); +lean_inc(x_177); +x_178 = lean_ctor_get(x_174, 2); +lean_inc(x_178); +x_179 = lean_ctor_get(x_174, 3); +lean_inc(x_179); +x_180 = lean_ctor_get(x_174, 4); +lean_inc(x_180); +x_181 = lean_ctor_get(x_174, 5); +lean_inc(x_181); +x_182 = lean_ctor_get(x_174, 6); +lean_inc(x_182); +if (lean_is_exclusive(x_174)) { + lean_ctor_release(x_174, 0); + lean_ctor_release(x_174, 1); + lean_ctor_release(x_174, 2); + lean_ctor_release(x_174, 3); + lean_ctor_release(x_174, 4); + lean_ctor_release(x_174, 5); + lean_ctor_release(x_174, 6); + x_183 = x_174; +} else { + lean_dec_ref(x_174); + x_183 = lean_box(0); +} +x_184 = l_Std_PersistentArray_push___rarg(x_181, x_172); +if (lean_is_scalar(x_183)) { + x_185 = lean_alloc_ctor(0, 7, 0); +} else { + x_185 = x_183; +} +lean_ctor_set(x_185, 0, x_176); +lean_ctor_set(x_185, 1, x_177); +lean_ctor_set(x_185, 2, x_178); +lean_ctor_set(x_185, 3, x_179); +lean_ctor_set(x_185, 4, x_180); +lean_ctor_set(x_185, 5, x_184); +lean_ctor_set(x_185, 6, x_182); +x_186 = lean_st_ref_set(x_7, x_185, x_175); +x_187 = lean_ctor_get(x_186, 1); +lean_inc(x_187); +if (lean_is_exclusive(x_186)) { + lean_ctor_release(x_186, 0); + lean_ctor_release(x_186, 1); + x_188 = x_186; +} else { + lean_dec_ref(x_186); + x_188 = lean_box(0); +} +x_189 = lean_box(0); +if (lean_is_scalar(x_188)) { + x_190 = lean_alloc_ctor(0, 2, 0); +} else { + x_190 = x_188; +} +lean_ctor_set(x_190, 0, x_189); +lean_ctor_set(x_190, 1, x_187); +return x_190; +} +} +else +{ +lean_object* x_191; uint8_t x_192; +x_191 = lean_ctor_get(x_18, 0); +lean_inc(x_191); +lean_dec(x_18); +x_192 = !lean_is_exclusive(x_19); +if (x_192 == 0) +{ +lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; uint8_t x_206; +x_193 = lean_ctor_get(x_19, 0); +x_194 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_2, x_4, x_5, x_6, x_7, x_8); +x_195 = lean_ctor_get(x_194, 0); +lean_inc(x_195); +x_196 = lean_ctor_get(x_194, 1); +lean_inc(x_196); +lean_dec(x_194); +x_197 = l_Lean_FileMap_toPosition(x_12, x_191); +lean_dec(x_191); +x_198 = l_Lean_FileMap_toPosition(x_12, x_193); +lean_dec(x_193); +lean_ctor_set(x_19, 0, x_198); +lean_inc(x_15); +lean_inc(x_14); +x_199 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_199, 0, x_14); +lean_ctor_set(x_199, 1, x_15); +x_200 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_200, 0, x_199); +lean_ctor_set(x_200, 1, x_195); +x_201 = l_Lean_Elab_Deriving_DecEq_mkDecEqCmds___closed__9; +lean_inc(x_11); +x_202 = lean_alloc_ctor(0, 5, 1); +lean_ctor_set(x_202, 0, x_11); +lean_ctor_set(x_202, 1, x_197); +lean_ctor_set(x_202, 2, x_19); +lean_ctor_set(x_202, 3, x_201); +lean_ctor_set(x_202, 4, x_200); +lean_ctor_set_uint8(x_202, sizeof(void*)*5, x_10); +x_203 = lean_st_ref_take(x_7, x_196); +x_204 = lean_ctor_get(x_203, 0); +lean_inc(x_204); +x_205 = lean_ctor_get(x_203, 1); +lean_inc(x_205); +lean_dec(x_203); +x_206 = !lean_is_exclusive(x_204); +if (x_206 == 0) +{ +lean_object* x_207; lean_object* x_208; lean_object* x_209; uint8_t x_210; +x_207 = lean_ctor_get(x_204, 5); +x_208 = l_Std_PersistentArray_push___rarg(x_207, x_202); +lean_ctor_set(x_204, 5, x_208); +x_209 = lean_st_ref_set(x_7, x_204, x_205); +x_210 = !lean_is_exclusive(x_209); +if (x_210 == 0) +{ +lean_object* x_211; lean_object* x_212; +x_211 = lean_ctor_get(x_209, 0); +lean_dec(x_211); +x_212 = lean_box(0); +lean_ctor_set(x_209, 0, x_212); +return x_209; +} +else +{ +lean_object* x_213; lean_object* x_214; lean_object* x_215; +x_213 = lean_ctor_get(x_209, 1); +lean_inc(x_213); +lean_dec(x_209); +x_214 = lean_box(0); +x_215 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_215, 0, x_214); +lean_ctor_set(x_215, 1, x_213); +return x_215; +} +} +else +{ +lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; +x_216 = lean_ctor_get(x_204, 0); +x_217 = lean_ctor_get(x_204, 1); +x_218 = lean_ctor_get(x_204, 2); +x_219 = lean_ctor_get(x_204, 3); +x_220 = lean_ctor_get(x_204, 4); +x_221 = lean_ctor_get(x_204, 5); +x_222 = lean_ctor_get(x_204, 6); +lean_inc(x_222); +lean_inc(x_221); +lean_inc(x_220); +lean_inc(x_219); +lean_inc(x_218); +lean_inc(x_217); +lean_inc(x_216); +lean_dec(x_204); +x_223 = l_Std_PersistentArray_push___rarg(x_221, x_202); +x_224 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_224, 0, x_216); +lean_ctor_set(x_224, 1, x_217); +lean_ctor_set(x_224, 2, x_218); +lean_ctor_set(x_224, 3, x_219); +lean_ctor_set(x_224, 4, x_220); +lean_ctor_set(x_224, 5, x_223); +lean_ctor_set(x_224, 6, x_222); +x_225 = lean_st_ref_set(x_7, x_224, x_205); +x_226 = lean_ctor_get(x_225, 1); +lean_inc(x_226); +if (lean_is_exclusive(x_225)) { + lean_ctor_release(x_225, 0); + lean_ctor_release(x_225, 1); + x_227 = x_225; +} else { + lean_dec_ref(x_225); + x_227 = lean_box(0); +} +x_228 = lean_box(0); +if (lean_is_scalar(x_227)) { + x_229 = lean_alloc_ctor(0, 2, 0); +} else { + x_229 = x_227; +} +lean_ctor_set(x_229, 0, x_228); +lean_ctor_set(x_229, 1, x_226); +return x_229; +} +} +else +{ +lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; +x_230 = lean_ctor_get(x_19, 0); +lean_inc(x_230); +lean_dec(x_19); +x_231 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_2, x_4, x_5, x_6, x_7, x_8); +x_232 = lean_ctor_get(x_231, 0); +lean_inc(x_232); +x_233 = lean_ctor_get(x_231, 1); +lean_inc(x_233); +lean_dec(x_231); +x_234 = l_Lean_FileMap_toPosition(x_12, x_191); +lean_dec(x_191); +x_235 = l_Lean_FileMap_toPosition(x_12, x_230); +lean_dec(x_230); +x_236 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_236, 0, x_235); +lean_inc(x_15); +lean_inc(x_14); +x_237 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_237, 0, x_14); +lean_ctor_set(x_237, 1, x_15); +x_238 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_238, 0, x_237); +lean_ctor_set(x_238, 1, x_232); +x_239 = l_Lean_Elab_Deriving_DecEq_mkDecEqCmds___closed__9; +lean_inc(x_11); +x_240 = lean_alloc_ctor(0, 5, 1); +lean_ctor_set(x_240, 0, x_11); +lean_ctor_set(x_240, 1, x_234); +lean_ctor_set(x_240, 2, x_236); +lean_ctor_set(x_240, 3, x_239); +lean_ctor_set(x_240, 4, x_238); +lean_ctor_set_uint8(x_240, sizeof(void*)*5, x_10); +x_241 = lean_st_ref_take(x_7, x_233); +x_242 = lean_ctor_get(x_241, 0); +lean_inc(x_242); +x_243 = lean_ctor_get(x_241, 1); +lean_inc(x_243); +lean_dec(x_241); +x_244 = lean_ctor_get(x_242, 0); +lean_inc(x_244); +x_245 = lean_ctor_get(x_242, 1); +lean_inc(x_245); +x_246 = lean_ctor_get(x_242, 2); +lean_inc(x_246); +x_247 = lean_ctor_get(x_242, 3); +lean_inc(x_247); +x_248 = lean_ctor_get(x_242, 4); +lean_inc(x_248); +x_249 = lean_ctor_get(x_242, 5); +lean_inc(x_249); +x_250 = lean_ctor_get(x_242, 6); +lean_inc(x_250); +if (lean_is_exclusive(x_242)) { + lean_ctor_release(x_242, 0); + lean_ctor_release(x_242, 1); + lean_ctor_release(x_242, 2); + lean_ctor_release(x_242, 3); + lean_ctor_release(x_242, 4); + lean_ctor_release(x_242, 5); + lean_ctor_release(x_242, 6); + x_251 = x_242; +} else { + lean_dec_ref(x_242); + x_251 = lean_box(0); +} +x_252 = l_Std_PersistentArray_push___rarg(x_249, x_240); +if (lean_is_scalar(x_251)) { + x_253 = lean_alloc_ctor(0, 7, 0); +} else { + x_253 = x_251; +} +lean_ctor_set(x_253, 0, x_244); +lean_ctor_set(x_253, 1, x_245); +lean_ctor_set(x_253, 2, x_246); +lean_ctor_set(x_253, 3, x_247); +lean_ctor_set(x_253, 4, x_248); +lean_ctor_set(x_253, 5, x_252); +lean_ctor_set(x_253, 6, x_250); +x_254 = lean_st_ref_set(x_7, x_253, x_243); +x_255 = lean_ctor_get(x_254, 1); +lean_inc(x_255); +if (lean_is_exclusive(x_254)) { + lean_ctor_release(x_254, 0); + lean_ctor_release(x_254, 1); + x_256 = x_254; +} else { + lean_dec_ref(x_254); + x_256 = lean_box(0); +} +x_257 = lean_box(0); +if (lean_is_scalar(x_256)) { + x_258 = lean_alloc_ctor(0, 2, 0); +} else { + x_258 = x_256; +} +lean_ctor_set(x_258, 0, x_257); +lean_ctor_set(x_258, 1, x_255); +return x_258; +} +} +} +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_log___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__7(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; lean_object* x_9; +x_8 = lean_ctor_get(x_5, 5); +lean_inc(x_8); +x_9 = l_Lean_logAt___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__8(x_8, x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_8); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Lean_logWarning___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___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) { +_start: +{ +lean_object* x_7; lean_object* x_8; uint8_t x_9; +x_7 = lean_ctor_get(x_4, 2); +lean_inc(x_7); +x_8 = l_Lean_logAt___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__8___closed__1; +x_9 = l_Lean_Option_get___at_Lean_getSanitizeNames___spec__1(x_7, x_8); +lean_dec(x_7); +if (x_9 == 0) +{ +uint8_t x_10; lean_object* x_11; +x_10 = 1; +x_11 = l_Lean_log___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__7(x_1, x_10, x_2, x_3, x_4, x_5, x_6); +return x_11; +} +else +{ +uint8_t x_12; lean_object* x_13; +x_12 = 2; +x_13 = l_Lean_log___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__7(x_1, x_12, x_2, x_3, x_4, x_5, x_6); +return x_13; +} +} +} +LEAN_EXPORT lean_object* l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___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) { +_start: +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +lean_dec(x_2); +x_8 = lean_st_ref_get(x_6, x_7); +x_9 = lean_ctor_get(x_8, 0); +lean_inc(x_9); +x_10 = lean_ctor_get(x_8, 1); +lean_inc(x_10); +lean_dec(x_8); +x_11 = lean_ctor_get(x_9, 0); +lean_inc(x_11); +lean_dec(x_9); +x_12 = lean_add_decl(x_11, x_1); +lean_dec(x_1); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; lean_object* x_14; +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +lean_dec(x_12); +x_14 = l_Lean_throwKernelException___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__5(x_13, x_3, x_4, x_5, x_6, x_10); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +return x_14; +} +else +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_ctor_get(x_12, 0); +lean_inc(x_15); +lean_dec(x_12); +x_16 = l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__2(x_15, x_3, x_4, x_5, x_6, x_10); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_16; +} +} +} +static lean_object* _init_l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__4___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("declaration uses 'sorry'", 24); +return x_1; +} +} +static lean_object* _init_l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__4___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__4___closed__1; +x_2 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__4___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__4___closed__2; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___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) { +_start: +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11; +x_7 = lean_st_ref_get(x_5, x_6); +x_8 = lean_ctor_get(x_7, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_7, 1); +lean_inc(x_9); +lean_dec(x_7); +x_10 = lean_ctor_get(x_8, 5); +lean_inc(x_10); +lean_dec(x_8); +x_11 = l_Std_PersistentArray_anyM___at_Lean_MessageLog_hasErrors___spec__1(x_10); +if (x_11 == 0) +{ +uint8_t x_12; uint8_t x_13; +x_12 = 0; +lean_inc(x_1); +x_13 = l_Lean_Declaration_foldExprM___at_Lean_Declaration_hasSorry___spec__1(x_1, x_12); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; +x_14 = lean_box(0); +x_15 = l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__4___lambda__1(x_1, x_14, x_2, x_3, x_4, x_5, x_9); +return x_15; +} +else +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_16 = l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__4___closed__3; +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_17 = l_Lean_logWarning___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__6(x_16, x_2, x_3, x_4, x_5, x_9); +x_18 = lean_ctor_get(x_17, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_17, 1); +lean_inc(x_19); +lean_dec(x_17); +x_20 = l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__4___lambda__1(x_1, x_18, x_2, x_3, x_4, x_5, x_19); +return x_20; +} +} +else +{ +lean_object* x_21; lean_object* x_22; +x_21 = lean_box(0); +x_22 = l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__4___lambda__1(x_1, x_21, x_2, x_3, x_4, x_5, x_9); +return x_22; +} +} +} +LEAN_EXPORT uint8_t l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___lambda__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 4) +{ +lean_object* x_3; uint8_t x_4; +x_3 = lean_ctor_get(x_2, 0); +lean_inc(x_3); +lean_dec(x_2); +lean_inc(x_3); +lean_inc(x_1); +x_4 = lean_is_aux_recursor(x_1, x_3); +if (x_4 == 0) +{ +uint8_t x_5; +lean_inc(x_3); +x_5 = l_Lean_isRecCore(x_1, x_3); +if (x_5 == 0) +{ +uint8_t x_6; +lean_dec(x_3); +x_6 = 0; +return x_6; +} +else +{ +lean_object* x_7; uint8_t x_8; +x_7 = l___private_Lean_MonadEnv_0__Lean_supportedRecursors; +x_8 = l_Array_contains___at_Lean_findField_x3f___spec__1(x_7, x_3); +lean_dec(x_3); +if (x_8 == 0) +{ +uint8_t x_9; +x_9 = 1; +return x_9; +} +else +{ +uint8_t x_10; +x_10 = 0; +return x_10; +} +} +} +else +{ +uint8_t x_11; +lean_inc(x_3); +lean_inc(x_1); +x_11 = l_Lean_isCasesOnRecursor(x_1, x_3); +if (x_11 == 0) +{ +lean_object* x_12; uint8_t x_13; +lean_dec(x_1); +x_12 = l___private_Lean_MonadEnv_0__Lean_supportedRecursors; +x_13 = l_Array_contains___at_Lean_findField_x3f___spec__1(x_12, x_3); +lean_dec(x_3); +if (x_13 == 0) +{ +uint8_t x_14; +x_14 = 1; +return x_14; +} +else +{ +uint8_t x_15; +x_15 = 0; +return x_15; +} +} +else +{ +uint8_t x_16; +lean_inc(x_3); +x_16 = l_Lean_isRecCore(x_1, x_3); +if (x_16 == 0) +{ +uint8_t x_17; +lean_dec(x_3); +x_17 = 0; +return x_17; +} +else +{ +lean_object* x_18; uint8_t x_19; +x_18 = l___private_Lean_MonadEnv_0__Lean_supportedRecursors; +x_19 = l_Array_contains___at_Lean_findField_x3f___spec__1(x_18, x_3); +lean_dec(x_3); +if (x_19 == 0) +{ +uint8_t x_20; +x_20 = 1; +return x_20; +} +else +{ +uint8_t x_21; +x_21 = 0; +return x_21; +} +} +} +} +} +else +{ +uint8_t x_22; +lean_dec(x_2); +lean_dec(x_1); +x_22 = 0; +return x_22; +} +} +} +static lean_object* _init_l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("code generator does not support recursor '", 42); +return x_1; +} +} +static lean_object* _init_l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("' yet, consider using 'match ... with' and/or structural recursion", 66); +return x_1; +} +} +static lean_object* _init_l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__3; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +if (lean_obj_tag(x_3) == 0) +{ +lean_object* x_9; +lean_dec(x_1); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_2); +lean_ctor_set(x_9, 1, x_8); +return x_9; +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +lean_dec(x_2); +x_10 = lean_ctor_get(x_3, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_3, 1); +lean_inc(x_11); +lean_dec(x_3); +x_33 = lean_ctor_get(x_10, 0); +lean_inc(x_33); +x_34 = lean_ctor_get(x_33, 2); +lean_inc(x_34); +lean_dec(x_33); +lean_inc(x_1); +x_35 = lean_alloc_closure((void*)(l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___lambda__1___boxed), 2, 1); +lean_closure_set(x_35, 0, x_1); +x_36 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_35, x_34); +if (lean_obj_tag(x_36) == 0) +{ +x_12 = x_8; +goto block_32; +} +else +{ +lean_object* x_37; +x_37 = lean_ctor_get(x_36, 0); +lean_inc(x_37); +lean_dec(x_36); +if (lean_obj_tag(x_37) == 4) +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_1); +x_38 = lean_ctor_get(x_37, 0); +lean_inc(x_38); +lean_dec(x_37); +x_39 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_39, 0, x_38); +x_40 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__2; +x_41 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_41, 0, x_40); +lean_ctor_set(x_41, 1, x_39); +x_42 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__4; +x_43 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_43, 0, x_41); +lean_ctor_set(x_43, 1, x_42); +x_44 = l_Lean_throwError___at_Lean_Meta_setInlineAttribute___spec__1(x_43, x_4, x_5, x_6, x_7, x_8); +x_45 = !lean_is_exclusive(x_44); +if (x_45 == 0) +{ +return x_44; +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_44, 0); +x_47 = lean_ctor_get(x_44, 1); +lean_inc(x_47); +lean_inc(x_46); +lean_dec(x_44); +x_48 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_47); +return x_48; +} +} +else +{ +lean_dec(x_37); +x_12 = x_8; +goto block_32; +} +} +block_32: +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_10, 1); +lean_inc(x_13); +lean_dec(x_10); +lean_inc(x_1); +x_14 = lean_alloc_closure((void*)(l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___lambda__1___boxed), 2, 1); +lean_closure_set(x_14, 0, x_1); +x_15 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_14, x_13); +if (lean_obj_tag(x_15) == 0) +{ +lean_object* x_16; +x_16 = lean_box(0); +x_2 = x_16; +x_3 = x_11; +x_8 = x_12; +goto _start; +} +else +{ +lean_object* x_18; +x_18 = lean_ctor_get(x_15, 0); +lean_inc(x_18); +lean_dec(x_15); +if (lean_obj_tag(x_18) == 4) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; +lean_dec(x_11); +lean_dec(x_1); +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +lean_dec(x_18); +x_20 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_20, 0, x_19); +x_21 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__2; +x_22 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_22, 0, x_21); +lean_ctor_set(x_22, 1, x_20); +x_23 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__4; +x_24 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +x_25 = l_Lean_throwError___at_Lean_Meta_setInlineAttribute___spec__1(x_24, x_4, x_5, x_6, x_7, x_12); +x_26 = !lean_is_exclusive(x_25); +if (x_26 == 0) +{ +return x_25; +} +else +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_25, 0); +x_28 = lean_ctor_get(x_25, 1); +lean_inc(x_28); +lean_inc(x_27); +lean_dec(x_25); +x_29 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_29, 0, x_27); +lean_ctor_set(x_29, 1, x_28); +return x_29; +} +} +else +{ +lean_object* x_30; +lean_dec(x_18); +x_30 = lean_box(0); +x_2 = x_30; +x_3 = x_11; +x_8 = x_12; +goto _start; +} +} +} +} +} +} +LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__13(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +if (lean_obj_tag(x_3) == 0) +{ +lean_object* x_9; +lean_dec(x_1); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_2); +lean_ctor_set(x_9, 1, x_8); +return x_9; +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +lean_dec(x_2); +x_10 = lean_ctor_get(x_3, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_3, 1); +lean_inc(x_11); +lean_dec(x_3); +x_12 = lean_ctor_get(x_10, 1); +lean_inc(x_12); +lean_dec(x_10); +lean_inc(x_1); +x_13 = lean_alloc_closure((void*)(l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___lambda__1___boxed), 2, 1); +lean_closure_set(x_13, 0, x_1); +x_14 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_13, x_12); +if (lean_obj_tag(x_14) == 0) +{ +lean_object* x_15; +x_15 = lean_box(0); +x_2 = x_15; +x_3 = x_11; +goto _start; +} +else +{ +lean_object* x_17; +x_17 = lean_ctor_get(x_14, 0); +lean_inc(x_17); +lean_dec(x_14); +if (lean_obj_tag(x_17) == 4) +{ +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; uint8_t x_25; +lean_dec(x_11); +lean_dec(x_1); +x_18 = lean_ctor_get(x_17, 0); +lean_inc(x_18); +lean_dec(x_17); +x_19 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_19, 0, x_18); +x_20 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__2; +x_21 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_21, 0, x_20); +lean_ctor_set(x_21, 1, x_19); +x_22 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__4; +x_23 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_23, 0, x_21); +lean_ctor_set(x_23, 1, x_22); +x_24 = l_Lean_throwError___at_Lean_Meta_setInlineAttribute___spec__1(x_23, x_4, x_5, x_6, x_7, x_8); +x_25 = !lean_is_exclusive(x_24); +if (x_25 == 0) +{ +return x_24; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_24, 0); +x_27 = lean_ctor_get(x_24, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_24); +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_17); +x_29 = lean_box(0); +x_2 = x_29; +x_3 = x_11; +goto _start; +} +} +} +} +} +LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__14(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +if (lean_obj_tag(x_3) == 0) +{ +lean_object* x_9; +lean_dec(x_1); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_2); +lean_ctor_set(x_9, 1, x_8); +return x_9; +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_21; lean_object* x_22; lean_object* x_23; +lean_dec(x_2); +x_10 = lean_ctor_get(x_3, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_3, 1); +lean_inc(x_11); +lean_dec(x_3); +x_21 = lean_ctor_get(x_10, 1); +lean_inc(x_21); +lean_inc(x_1); +x_22 = lean_alloc_closure((void*)(l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___lambda__1___boxed), 2, 1); +lean_closure_set(x_22, 0, x_1); +x_23 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_22, x_21); +if (lean_obj_tag(x_23) == 0) +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_10, 2); +lean_inc(x_24); +lean_dec(x_10); +x_25 = lean_box(0); +lean_inc(x_1); +x_26 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__13(x_1, x_25, x_24, x_4, x_5, x_6, x_7, x_8); +x_12 = x_26; +goto block_20; +} +else +{ +lean_object* x_27; +x_27 = lean_ctor_get(x_23, 0); +lean_inc(x_27); +lean_dec(x_23); +if (lean_obj_tag(x_27) == 4) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; +lean_dec(x_10); +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +lean_dec(x_27); +x_29 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_29, 0, x_28); +x_30 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___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); +x_32 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__4; +x_33 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_33, 0, x_31); +lean_ctor_set(x_33, 1, x_32); +x_34 = l_Lean_throwError___at_Lean_Meta_setInlineAttribute___spec__1(x_33, x_4, x_5, x_6, x_7, x_8); +x_35 = !lean_is_exclusive(x_34); +if (x_35 == 0) +{ +x_12 = x_34; +goto block_20; +} +else +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_36 = lean_ctor_get(x_34, 0); +x_37 = lean_ctor_get(x_34, 1); +lean_inc(x_37); +lean_inc(x_36); +lean_dec(x_34); +x_38 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_38, 0, x_36); +lean_ctor_set(x_38, 1, x_37); +x_12 = x_38; +goto block_20; +} +} +else +{ +lean_object* x_39; lean_object* x_40; lean_object* x_41; +lean_dec(x_27); +x_39 = lean_ctor_get(x_10, 2); +lean_inc(x_39); +lean_dec(x_10); +x_40 = lean_box(0); +lean_inc(x_1); +x_41 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__13(x_1, x_40, x_39, x_4, x_5, x_6, x_7, x_8); +x_12 = x_41; +goto block_20; +} +} +block_20: +{ +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; lean_object* x_14; +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_2 = x_13; +x_3 = x_11; +x_8 = x_14; +goto _start; +} +else +{ +uint8_t x_16; +lean_dec(x_11); +lean_dec(x_1); +x_16 = !lean_is_exclusive(x_12); +if (x_16 == 0) +{ +return x_12; +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_ctor_get(x_12, 0); +x_18 = lean_ctor_get(x_12, 1); +lean_inc(x_18); +lean_inc(x_17); +lean_dec(x_12); +x_19 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_19, 0, x_17); +lean_ctor_set(x_19, 1, x_18); +return x_19; +} +} +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Declaration_foldExprM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___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) { +_start: +{ +switch (lean_obj_tag(x_2)) { +case 0: +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +lean_dec(x_3); +x_9 = lean_ctor_get(x_2, 0); +lean_inc(x_9); +lean_dec(x_2); +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +lean_dec(x_9); +x_11 = lean_ctor_get(x_10, 2); +lean_inc(x_11); +lean_dec(x_10); +x_12 = lean_alloc_closure((void*)(l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___lambda__1___boxed), 2, 1); +lean_closure_set(x_12, 0, x_1); +x_13 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_12, x_11); +if (lean_obj_tag(x_13) == 0) +{ +lean_object* x_14; lean_object* x_15; +x_14 = lean_box(0); +x_15 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_8); +return x_15; +} +else +{ +lean_object* x_16; +x_16 = lean_ctor_get(x_13, 0); +lean_inc(x_16); +lean_dec(x_13); +if (lean_obj_tag(x_16) == 4) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +lean_dec(x_16); +x_18 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_18, 0, x_17); +x_19 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__2; +x_20 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_20, 0, x_19); +lean_ctor_set(x_20, 1, x_18); +x_21 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__4; +x_22 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_22, 0, x_20); +lean_ctor_set(x_22, 1, x_21); +x_23 = l_Lean_throwError___at_Lean_Meta_setInlineAttribute___spec__1(x_22, x_4, x_5, x_6, x_7, x_8); +return x_23; +} +else +{ +lean_object* x_24; lean_object* x_25; +lean_dec(x_16); +x_24 = lean_box(0); +x_25 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_25, 0, x_24); +lean_ctor_set(x_25, 1, x_8); +return x_25; +} +} +} +case 1: +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_46; lean_object* x_47; +lean_dec(x_3); +x_26 = lean_ctor_get(x_2, 0); +lean_inc(x_26); +lean_dec(x_2); +x_27 = lean_ctor_get(x_26, 0); +lean_inc(x_27); +x_28 = lean_ctor_get(x_26, 1); +lean_inc(x_28); +lean_dec(x_26); +x_29 = lean_ctor_get(x_27, 2); +lean_inc(x_29); +lean_dec(x_27); +lean_inc(x_1); +x_46 = lean_alloc_closure((void*)(l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___lambda__1___boxed), 2, 1); +lean_closure_set(x_46, 0, x_1); +x_47 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_46, x_29); +if (lean_obj_tag(x_47) == 0) +{ +x_30 = x_8; +goto block_45; +} +else +{ +lean_object* x_48; +x_48 = lean_ctor_get(x_47, 0); +lean_inc(x_48); +lean_dec(x_47); +if (lean_obj_tag(x_48) == 4) +{ +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; +lean_dec(x_28); +lean_dec(x_1); +x_49 = lean_ctor_get(x_48, 0); +lean_inc(x_49); +lean_dec(x_48); +x_50 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_50, 0, x_49); +x_51 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__2; +x_52 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_52, 0, x_51); +lean_ctor_set(x_52, 1, x_50); +x_53 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__4; +x_54 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_54, 0, x_52); +lean_ctor_set(x_54, 1, x_53); +x_55 = l_Lean_throwError___at_Lean_Meta_setInlineAttribute___spec__1(x_54, x_4, x_5, x_6, x_7, x_8); +x_56 = !lean_is_exclusive(x_55); +if (x_56 == 0) +{ +return x_55; +} +else +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_55, 0); +x_58 = lean_ctor_get(x_55, 1); +lean_inc(x_58); +lean_inc(x_57); +lean_dec(x_55); +x_59 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_59, 0, x_57); +lean_ctor_set(x_59, 1, x_58); +return x_59; +} +} +else +{ +lean_dec(x_48); +x_30 = x_8; +goto block_45; +} +} +block_45: +{ +lean_object* x_31; lean_object* x_32; +x_31 = lean_alloc_closure((void*)(l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___lambda__1___boxed), 2, 1); +lean_closure_set(x_31, 0, x_1); +x_32 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_31, x_28); +if (lean_obj_tag(x_32) == 0) +{ +lean_object* x_33; lean_object* x_34; +x_33 = lean_box(0); +x_34 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_34, 0, x_33); +lean_ctor_set(x_34, 1, x_30); +return x_34; +} +else +{ +lean_object* x_35; +x_35 = lean_ctor_get(x_32, 0); +lean_inc(x_35); +lean_dec(x_32); +if (lean_obj_tag(x_35) == 4) +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +lean_dec(x_35); +x_37 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_37, 0, x_36); +x_38 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__2; +x_39 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_39, 0, x_38); +lean_ctor_set(x_39, 1, x_37); +x_40 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__4; +x_41 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_41, 0, x_39); +lean_ctor_set(x_41, 1, x_40); +x_42 = l_Lean_throwError___at_Lean_Meta_setInlineAttribute___spec__1(x_41, x_4, x_5, x_6, x_7, x_30); +return x_42; +} +else +{ +lean_object* x_43; lean_object* x_44; +lean_dec(x_35); +x_43 = lean_box(0); +x_44 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_44, 0, x_43); +lean_ctor_set(x_44, 1, x_30); +return x_44; +} +} +} +} +case 2: +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_80; lean_object* x_81; +lean_dec(x_3); +x_60 = lean_ctor_get(x_2, 0); +lean_inc(x_60); +lean_dec(x_2); +x_61 = lean_ctor_get(x_60, 0); +lean_inc(x_61); +x_62 = lean_ctor_get(x_60, 1); +lean_inc(x_62); +lean_dec(x_60); +x_63 = lean_ctor_get(x_61, 2); +lean_inc(x_63); +lean_dec(x_61); +lean_inc(x_1); +x_80 = lean_alloc_closure((void*)(l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___lambda__1___boxed), 2, 1); +lean_closure_set(x_80, 0, x_1); +x_81 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_80, x_63); +if (lean_obj_tag(x_81) == 0) +{ +x_64 = x_8; +goto block_79; +} +else +{ +lean_object* x_82; +x_82 = lean_ctor_get(x_81, 0); +lean_inc(x_82); +lean_dec(x_81); +if (lean_obj_tag(x_82) == 4) +{ +lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; uint8_t x_90; +lean_dec(x_62); +lean_dec(x_1); +x_83 = lean_ctor_get(x_82, 0); +lean_inc(x_83); +lean_dec(x_82); +x_84 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_84, 0, x_83); +x_85 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__2; +x_86 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_86, 0, x_85); +lean_ctor_set(x_86, 1, x_84); +x_87 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__4; +x_88 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_88, 0, x_86); +lean_ctor_set(x_88, 1, x_87); +x_89 = l_Lean_throwError___at_Lean_Meta_setInlineAttribute___spec__1(x_88, x_4, x_5, x_6, x_7, x_8); +x_90 = !lean_is_exclusive(x_89); +if (x_90 == 0) +{ +return x_89; +} +else +{ +lean_object* x_91; lean_object* x_92; lean_object* x_93; +x_91 = lean_ctor_get(x_89, 0); +x_92 = lean_ctor_get(x_89, 1); +lean_inc(x_92); +lean_inc(x_91); +lean_dec(x_89); +x_93 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_93, 0, x_91); +lean_ctor_set(x_93, 1, x_92); +return x_93; +} +} +else +{ +lean_dec(x_82); +x_64 = x_8; +goto block_79; +} +} +block_79: +{ +lean_object* x_65; lean_object* x_66; +x_65 = lean_alloc_closure((void*)(l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___lambda__1___boxed), 2, 1); +lean_closure_set(x_65, 0, x_1); +x_66 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_65, x_62); +if (lean_obj_tag(x_66) == 0) +{ +lean_object* x_67; lean_object* x_68; +x_67 = lean_box(0); +x_68 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_68, 0, x_67); +lean_ctor_set(x_68, 1, x_64); +return x_68; +} +else +{ +lean_object* x_69; +x_69 = lean_ctor_get(x_66, 0); +lean_inc(x_69); +lean_dec(x_66); +if (lean_obj_tag(x_69) == 4) +{ +lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; +x_70 = lean_ctor_get(x_69, 0); +lean_inc(x_70); +lean_dec(x_69); +x_71 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_71, 0, x_70); +x_72 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__2; +x_73 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_73, 0, x_72); +lean_ctor_set(x_73, 1, x_71); +x_74 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__4; +x_75 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_75, 0, x_73); +lean_ctor_set(x_75, 1, x_74); +x_76 = l_Lean_throwError___at_Lean_Meta_setInlineAttribute___spec__1(x_75, x_4, x_5, x_6, x_7, x_64); +return x_76; +} +else +{ +lean_object* x_77; lean_object* x_78; +lean_dec(x_69); +x_77 = lean_box(0); +x_78 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_78, 0, x_77); +lean_ctor_set(x_78, 1, x_64); +return x_78; +} +} +} +} +case 3: +{ +lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_114; lean_object* x_115; +lean_dec(x_3); +x_94 = lean_ctor_get(x_2, 0); +lean_inc(x_94); +lean_dec(x_2); +x_95 = lean_ctor_get(x_94, 0); +lean_inc(x_95); +x_96 = lean_ctor_get(x_94, 1); +lean_inc(x_96); +lean_dec(x_94); +x_97 = lean_ctor_get(x_95, 2); +lean_inc(x_97); +lean_dec(x_95); +lean_inc(x_1); +x_114 = lean_alloc_closure((void*)(l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___lambda__1___boxed), 2, 1); +lean_closure_set(x_114, 0, x_1); +x_115 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_114, x_97); +if (lean_obj_tag(x_115) == 0) +{ +x_98 = x_8; +goto block_113; +} +else +{ +lean_object* x_116; +x_116 = lean_ctor_get(x_115, 0); +lean_inc(x_116); +lean_dec(x_115); +if (lean_obj_tag(x_116) == 4) +{ +lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; uint8_t x_124; +lean_dec(x_96); +lean_dec(x_1); +x_117 = lean_ctor_get(x_116, 0); +lean_inc(x_117); +lean_dec(x_116); +x_118 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_118, 0, x_117); +x_119 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__2; +x_120 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_120, 0, x_119); +lean_ctor_set(x_120, 1, x_118); +x_121 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__4; +x_122 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_122, 0, x_120); +lean_ctor_set(x_122, 1, x_121); +x_123 = l_Lean_throwError___at_Lean_Meta_setInlineAttribute___spec__1(x_122, x_4, x_5, x_6, x_7, x_8); +x_124 = !lean_is_exclusive(x_123); +if (x_124 == 0) +{ +return x_123; +} +else +{ +lean_object* x_125; lean_object* x_126; lean_object* x_127; +x_125 = lean_ctor_get(x_123, 0); +x_126 = lean_ctor_get(x_123, 1); +lean_inc(x_126); +lean_inc(x_125); +lean_dec(x_123); +x_127 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_127, 0, x_125); +lean_ctor_set(x_127, 1, x_126); +return x_127; +} +} +else +{ +lean_dec(x_116); +x_98 = x_8; +goto block_113; +} +} +block_113: +{ +lean_object* x_99; lean_object* x_100; +x_99 = lean_alloc_closure((void*)(l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___lambda__1___boxed), 2, 1); +lean_closure_set(x_99, 0, x_1); +x_100 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_99, x_96); +if (lean_obj_tag(x_100) == 0) +{ +lean_object* x_101; lean_object* x_102; +x_101 = lean_box(0); +x_102 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_102, 0, x_101); +lean_ctor_set(x_102, 1, x_98); +return x_102; +} +else +{ +lean_object* x_103; +x_103 = lean_ctor_get(x_100, 0); +lean_inc(x_103); +lean_dec(x_100); +if (lean_obj_tag(x_103) == 4) +{ +lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; +x_104 = lean_ctor_get(x_103, 0); +lean_inc(x_104); +lean_dec(x_103); +x_105 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_105, 0, x_104); +x_106 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__2; +x_107 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_107, 0, x_106); +lean_ctor_set(x_107, 1, x_105); +x_108 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__4; +x_109 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_109, 0, x_107); +lean_ctor_set(x_109, 1, x_108); +x_110 = l_Lean_throwError___at_Lean_Meta_setInlineAttribute___spec__1(x_109, x_4, x_5, x_6, x_7, x_98); +return x_110; +} +else +{ +lean_object* x_111; lean_object* x_112; +lean_dec(x_103); +x_111 = lean_box(0); +x_112 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_112, 0, x_111); +lean_ctor_set(x_112, 1, x_98); +return x_112; +} +} +} +} +case 4: +{ +lean_object* x_128; +lean_dec(x_1); +x_128 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_128, 0, x_3); +lean_ctor_set(x_128, 1, x_8); +return x_128; +} +case 5: +{ +lean_object* x_129; lean_object* x_130; +x_129 = lean_ctor_get(x_2, 0); +lean_inc(x_129); +lean_dec(x_2); +x_130 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12(x_1, x_3, x_129, x_4, x_5, x_6, x_7, x_8); +return x_130; +} +default: +{ +lean_object* x_131; lean_object* x_132; +x_131 = lean_ctor_get(x_2, 2); +lean_inc(x_131); +lean_dec(x_2); +x_132 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__14(x_1, x_3, x_131, x_4, x_5, x_6, x_7, x_8); +return x_132; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_MonadEnv_0__Lean_checkUnsupported___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__10(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_7 = lean_st_ref_get(x_5, x_6); +x_8 = lean_ctor_get(x_7, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_7, 1); +lean_inc(x_9); +lean_dec(x_7); +x_10 = lean_ctor_get(x_8, 0); +lean_inc(x_10); +lean_dec(x_8); +x_11 = lean_box(0); +x_12 = l_Lean_Declaration_foldExprM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__11(x_10, x_1, x_11, x_2, x_3, x_4, x_5, x_9); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_12; +} +} +LEAN_EXPORT lean_object* l_Lean_compileDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_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; +x_7 = lean_st_ref_get(x_5, x_6); +x_8 = lean_ctor_get(x_7, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_7, 1); +lean_inc(x_9); +lean_dec(x_7); +x_10 = lean_ctor_get(x_8, 0); +lean_inc(x_10); +lean_dec(x_8); +x_11 = lean_ctor_get(x_4, 2); +lean_inc(x_11); +lean_inc(x_1); +x_12 = l_Lean_Environment_compileDecl(x_10, x_11, x_1); +lean_dec(x_11); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +lean_dec(x_12); +if (lean_obj_tag(x_13) == 11) +{ +lean_object* x_14; lean_object* x_15; +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +lean_dec(x_13); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_15 = l___private_Lean_MonadEnv_0__Lean_checkUnsupported___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__10(x_1, x_2, x_3, x_4, x_5, x_9); +if (lean_obj_tag(x_15) == 0) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_16 = lean_ctor_get(x_15, 1); +lean_inc(x_16); +lean_dec(x_15); +x_17 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_17, 0, x_14); +x_18 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_18, 0, x_17); +x_19 = l_Lean_throwError___at_Lean_Meta_setInlineAttribute___spec__1(x_18, x_2, x_3, x_4, x_5, x_16); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_19; +} +else +{ +uint8_t x_20; +lean_dec(x_14); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_20 = !lean_is_exclusive(x_15); +if (x_20 == 0) +{ +return x_15; +} +else +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_15, 0); +x_22 = lean_ctor_get(x_15, 1); +lean_inc(x_22); +lean_inc(x_21); +lean_dec(x_15); +x_23 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_23, 0, x_21); +lean_ctor_set(x_23, 1, x_22); +return x_23; +} +} +} +else +{ +lean_object* x_24; +lean_dec(x_1); +x_24 = l_Lean_throwKernelException___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__5(x_13, x_2, x_3, x_4, x_5, x_9); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +return x_24; +} +} +else +{ +lean_object* x_25; lean_object* x_26; +lean_dec(x_1); +x_25 = lean_ctor_get(x_12, 0); +lean_inc(x_25); +lean_dec(x_12); +x_26 = l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__2(x_25, x_2, x_3, x_4, x_5, x_9); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_26; +} +} +} +LEAN_EXPORT lean_object* l_Lean_addAndCompile___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___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_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_1); +x_7 = l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__4(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; +x_8 = lean_ctor_get(x_7, 1); +lean_inc(x_8); +lean_dec(x_7); +x_9 = l_Lean_compileDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__9(x_1, x_2, x_3, x_4, x_5, x_8); +return x_9; +} +else +{ +uint8_t x_10; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_10 = !lean_is_exclusive(x_7); +if (x_10 == 0) +{ +return x_7; +} +else +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_11 = lean_ctor_get(x_7, 0); +x_12 = lean_ctor_get(x_7, 1); +lean_inc(x_12); +lean_inc(x_11); +lean_dec(x_7); +x_13 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_13, 0, x_11); +lean_ctor_set(x_13, 1, x_12); +return x_13; +} +} +} +} static lean_object* _init_l_Lean_Elab_Deriving_DecEq_mkEnumOfNat___lambda__1___closed__1() { _start: { @@ -7330,6 +9823,7 @@ x_19 = lean_unsigned_to_nat(0u); lean_inc(x_3); x_20 = l_Lean_Elab_Deriving_DecEq_mkEnumOfNat_mkDecTree(x_3, x_2, x_6, x_15, x_19, x_18); lean_dec(x_18); +lean_dec(x_2); x_21 = 0; x_22 = 1; x_23 = 1; @@ -7369,7 +9863,7 @@ lean_ctor_set(x_36, 3, x_33); lean_ctor_set_uint8(x_36, sizeof(void*)*4, x_35); x_37 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_37, 0, x_36); -x_38 = l_Lean_addAndCompile___at_Lean_Meta_evalExprCore___spec__1(x_37, x_7, x_8, x_9, x_10, x_29); +x_38 = l_Lean_addAndCompile___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__3(x_37, x_7, x_8, x_9, x_10, x_29); return x_38; } else @@ -7419,7 +9913,7 @@ _start: { lean_object* x_7; lean_inc(x_1); -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); +x_7 = l_Lean_getConstInfoInduct___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___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; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; lean_object* x_20; @@ -7439,7 +9933,7 @@ x_14 = lean_mk_empty_array_with_capacity(x_13); lean_dec(x_13); x_15 = l_List_toArrayAux___rarg(x_12, x_14); x_16 = l_Lean_Elab_Deriving_DecEq_mkEnumOfNat___closed__1; -x_17 = lean_alloc_closure((void*)(l_Lean_Elab_Deriving_DecEq_mkEnumOfNat___lambda__1___boxed), 11, 5); +x_17 = lean_alloc_closure((void*)(l_Lean_Elab_Deriving_DecEq_mkEnumOfNat___lambda__1), 11, 5); lean_closure_set(x_17, 0, x_10); lean_closure_set(x_17, 1, x_15); lean_closure_set(x_17, 2, x_11); @@ -7447,7 +9941,7 @@ lean_closure_set(x_17, 3, x_16); lean_closure_set(x_17, 4, x_1); x_18 = l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__2___closed__47; x_19 = 0; -x_20 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_GeneralizeTelescope_generalizeTelescopeAux___spec__1___rarg(x_18, x_19, x_16, x_17, x_2, x_3, x_4, x_5, x_9); +x_20 = l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_SynthInstance_removeUnusedArguments_x3f___spec__2___rarg(x_18, x_19, x_16, x_17, x_2, x_3, x_4, x_5, x_9); return x_20; } else @@ -7479,13 +9973,121 @@ return x_24; } } } -LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_DecEq_mkEnumOfNat___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_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___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_12; -x_12 = l_Lean_Elab_Deriving_DecEq_mkEnumOfNat___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_object* x_7; +x_7 = l_Lean_throwError___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___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); lean_dec(x_2); -return x_12; +return x_7; +} +} +LEAN_EXPORT lean_object* l_Lean_getConstInfoInduct___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___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_getConstInfoInduct___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___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); +lean_dec(x_2); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Lean_throwKernelException___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___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) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_throwKernelException___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__5(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Lean_logAt___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +uint8_t x_9; lean_object* x_10; +x_9 = lean_unbox(x_3); +lean_dec(x_3); +x_10 = l_Lean_logAt___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__8(x_1, x_2, x_9, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Lean_log___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___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) { +_start: +{ +uint8_t x_8; lean_object* x_9; +x_8 = lean_unbox(x_2); +lean_dec(x_2); +x_9 = l_Lean_log___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__7(x_1, x_8, x_3, x_4, x_5, x_6, x_7); +return x_9; +} +} +LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___lambda__1___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___lambda__1(x_1, x_2); +x_4 = lean_box(x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +return x_9; +} +} +LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__13___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__13(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +return x_9; +} +} +LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__14___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__14(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Lean_Declaration_foldExprM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__11___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_Lean_Declaration_foldExprM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__11(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +return x_9; } } LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_DecEq_mkEnumOfNatThm___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) { @@ -7607,7 +10209,7 @@ lean_ctor_set(x_44, 1, x_35); lean_ctor_set(x_44, 2, x_43); x_45 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_45, 0, x_44); -x_46 = l_Lean_addAndCompile___at_Lean_Meta_evalExprCore___spec__1(x_45, x_9, x_10, x_11, x_12, x_39); +x_46 = l_Lean_addAndCompile___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__3(x_45, x_9, x_10, x_11, x_12, x_39); return x_46; } else @@ -7805,7 +10407,7 @@ _start: { lean_object* x_7; lean_inc(x_1); -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); +x_7 = l_Lean_getConstInfoInduct___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___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; 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; uint8_t x_25; lean_object* x_26; @@ -7844,7 +10446,7 @@ lean_closure_set(x_23, 5, x_21); lean_closure_set(x_23, 6, x_22); x_24 = l_Lean_Elab_Deriving_DecEq_mkEnumOfNatThm___closed__10; x_25 = 0; -x_26 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_GeneralizeTelescope_generalizeTelescopeAux___spec__1___rarg(x_24, x_25, x_17, x_23, x_2, x_3, x_4, x_5, x_9); +x_26 = l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_SynthInstance_removeUnusedArguments_x3f___spec__2___rarg(x_24, x_25, x_17, x_23, x_2, x_3, x_4, x_5, x_9); return x_26; } else @@ -7888,6 +10490,36 @@ lean_dec(x_5); return x_10; } } +LEAN_EXPORT lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Deriving_DecEq_mkDecEqEnum___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; uint8_t x_5; +x_4 = l_Lean_Elab_Command_getRef(x_1, x_2, x_3); +x_5 = !lean_is_exclusive(x_4); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; +x_6 = lean_ctor_get(x_4, 0); +x_7 = l_Lean_SourceInfo_fromRef(x_6); +lean_ctor_set(x_4, 0, x_7); +return x_4; +} +else +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_8 = lean_ctor_get(x_4, 0); +x_9 = lean_ctor_get(x_4, 1); +lean_inc(x_9); +lean_inc(x_8); +lean_dec(x_4); +x_10 = l_Lean_SourceInfo_fromRef(x_8); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_10); +lean_ctor_set(x_11, 1, x_9); +return x_11; +} +} +} LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___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: { @@ -8553,7 +11185,7 @@ x_14 = l_Lean_Elab_Deriving_DecEq_mkEnumOfNatThm___lambda__1___closed__1; lean_inc(x_1); x_15 = l_Lean_Name_str___override(x_1, x_14); x_16 = lean_mk_syntax_ident(x_15); -x_17 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Command_mkDefViewOfInstance___spec__11(x_2, x_3, x_10); +x_17 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Deriving_DecEq_mkDecEqEnum___spec__1(x_2, x_3, x_10); x_18 = lean_ctor_get(x_17, 0); lean_inc(x_18); x_19 = lean_ctor_get(x_17, 1); @@ -9455,6 +12087,16 @@ return x_388; } } } +LEAN_EXPORT lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Deriving_DecEq_mkDecEqEnum___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Deriving_DecEq_mkDecEqEnum___spec__1(x_1, x_2, x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_4; +} +} LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___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: { @@ -9507,7 +12149,7 @@ x_9 = lean_ctor_get(x_1, 1); lean_inc(x_9); lean_dec(x_1); lean_inc(x_2); -x_17 = l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__17(x_8, x_2, x_3, x_4); +x_17 = l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__19(x_8, x_2, x_3, x_4); if (lean_obj_tag(x_17) == 0) { lean_object* x_18; @@ -9598,7 +12240,7 @@ _start: { lean_object* x_5; lean_inc(x_2); -x_5 = l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__17(x_1, x_2, x_3, x_4); +x_5 = l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__19(x_1, x_2, x_3, x_4); if (lean_obj_tag(x_5) == 0) { lean_object* x_6; @@ -10718,6 +13360,22 @@ l_Lean_Elab_Deriving_DecEq_mkEnumOfNat_mkDecTree___closed__7 = _init_l_Lean_Elab lean_mark_persistent(l_Lean_Elab_Deriving_DecEq_mkEnumOfNat_mkDecTree___closed__7); l_Lean_Elab_Deriving_DecEq_mkEnumOfNat_mkDecTree___closed__8 = _init_l_Lean_Elab_Deriving_DecEq_mkEnumOfNat_mkDecTree___closed__8(); lean_mark_persistent(l_Lean_Elab_Deriving_DecEq_mkEnumOfNat_mkDecTree___closed__8); +l_Lean_logAt___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__8___closed__1 = _init_l_Lean_logAt___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__8___closed__1(); +lean_mark_persistent(l_Lean_logAt___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__8___closed__1); +l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__4___closed__1 = _init_l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__4___closed__1(); +lean_mark_persistent(l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__4___closed__1); +l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__4___closed__2 = _init_l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__4___closed__2(); +lean_mark_persistent(l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__4___closed__2); +l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__4___closed__3 = _init_l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__4___closed__3(); +lean_mark_persistent(l_Lean_addDecl___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__4___closed__3); +l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__1 = _init_l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__1(); +lean_mark_persistent(l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__1); +l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__2 = _init_l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__2(); +lean_mark_persistent(l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__2); +l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__3 = _init_l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__3(); +lean_mark_persistent(l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__3); +l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__4 = _init_l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__4(); +lean_mark_persistent(l_List_foldlM___at_Lean_Elab_Deriving_DecEq_mkEnumOfNat___spec__12___closed__4); l_Lean_Elab_Deriving_DecEq_mkEnumOfNat___lambda__1___closed__1 = _init_l_Lean_Elab_Deriving_DecEq_mkEnumOfNat___lambda__1___closed__1(); lean_mark_persistent(l_Lean_Elab_Deriving_DecEq_mkEnumOfNat___lambda__1___closed__1); l_Lean_Elab_Deriving_DecEq_mkEnumOfNat___lambda__1___closed__2 = _init_l_Lean_Elab_Deriving_DecEq_mkEnumOfNat___lambda__1___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/Deriving/FromToJson.c b/stage0/stdlib/Lean/Elab/Deriving/FromToJson.c index 71a27059c4..9744466cca 100644 --- a/stage0/stdlib/Lean/Elab/Deriving/FromToJson.c +++ b/stage0/stdlib/Lean/Elab/Deriving/FromToJson.c @@ -14,7 +14,6 @@ extern "C" { #endif lean_object* l_Lean_getConstInfo___at_Lean_Elab_Term_mkConst___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__17(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___lambda__2___closed__6; static lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___spec__1___closed__3; size_t lean_usize_add(size_t, size_t); @@ -23,7 +22,6 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJs static lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__4___closed__12; static lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__13; lean_object* l_Lean_stringToMessageData(lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__8; static lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__3___closed__20; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__7___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); @@ -128,10 +126,10 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJs static lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__3; static lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___lambda__2___closed__7; LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__3; lean_object* l_Array_zip___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapIdxM_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___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*); static lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__4___closed__17; +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapIdxM_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__3___closed__16; static lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__4___closed__9; static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__4___closed__1; @@ -144,7 +142,6 @@ lean_object* l_Lean_Elab_Deriving_mkDiscrs(lean_object*, lean_object*, lean_obje static lean_object* l_Lean_getConstInfoInduct___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__1___closed__1; static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__4___closed__4; lean_object* l_Array_mapMUnsafe_map___at___aux__Init__NotationExtra______macroRules__term_x25_x5b___x7c___x5d__1___spec__3(size_t, size_t, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__5; LEAN_EXPORT lean_object* l_Lean_getConstInfoInduct___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___spec__3___closed__9; uint8_t l_Lean_Name_hasMacroScopes(lean_object*); @@ -164,9 +161,10 @@ uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__7___lambda__1___closed__13; static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__7___lambda__1___closed__41; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__2; +static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__9; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___spec__3___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___spec__4(size_t, size_t, lean_object*); lean_object* l___private_Init_Meta_0__Lean_getEscapedNameParts_x3f(lean_object*, lean_object*); +static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__8; static lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___lambda__2___closed__5; static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__7___lambda__1___closed__6; static lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___lambda__3___closed__3; @@ -186,12 +184,11 @@ static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mk lean_object* l_Lean_getStructureFieldsFlattened(lean_object*, lean_object*, uint8_t); static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__7___lambda__1___closed__34; static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___spec__5___lambda__1___closed__8; -static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__1; static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___spec__5___lambda__1___closed__1; static lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__4___closed__14; static lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___lambda__3___closed__10; LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___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_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_toString(lean_object*, uint8_t); lean_object* l_Lean_Elab_Deriving_mkLet(lean_object*, 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*); @@ -203,8 +200,8 @@ LEAN_EXPORT uint8_t l_Array_qsort_sort___at_Lean_Elab_Deriving_FromToJson_mkFrom static lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__4___closed__15; static lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__4___closed__18; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___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*); +static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__2; static lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__3___closed__26; -lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(size_t, size_t, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__7___lambda__1___closed__2; static lean_object* l_Array_mapIdxM_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__3___closed__5; lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); @@ -214,17 +211,16 @@ static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mk static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___spec__5___lambda__1___closed__11; static lean_object* l_Array_mapIdxM_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__3___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___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*, lean_object*); static lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__4___closed__5; static lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___lambda__2___closed__1; static lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___spec__1___closed__2; -static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__9; static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__7___lambda__1___closed__11; lean_object* l_Nat_repr(lean_object*); LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___spec__1___boxed(lean_object**); static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___spec__5___lambda__1___closed__9; static lean_object* l_Array_mapIdxM_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__3___closed__7; static lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__5; -static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__4; static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___spec__5___lambda__1___closed__4; static lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___lambda__3___closed__16; LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_FromToJson_initFn____x40_Lean_Elab_Deriving_FromToJson___hyg_6756_(lean_object*); @@ -281,6 +277,7 @@ static lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___la static lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__3___closed__2; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___spec__4___lambda__1___closed__1; static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___spec__6___closed__1; +static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__6; static lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__3___closed__4; static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__7___lambda__2___closed__12; static lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___spec__1___closed__2; @@ -289,8 +286,8 @@ static lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__6(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__7___lambda__1___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__6; static lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__3___closed__8; +static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__4; static lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___spec__1___closed__4; lean_object* l_Lean_Syntax_mkNumLit(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__3___closed__9; @@ -299,6 +296,7 @@ lean_object* l_Lean_Elab_Deriving_mkHeader(lean_object*, lean_object*, lean_obje LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___spec__3___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___spec__4___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapIdxM_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__3___closed__18; +static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__1; static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__7___lambda__1___closed__18; static lean_object* l_Array_qsort_sort___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__8___closed__1; static lean_object* l_Array_mapIdxM_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__3___closed__15; @@ -330,6 +328,7 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJs LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___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_Name_append(lean_object*, lean_object*); +static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__5; static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__4___closed__2; static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__7___lambda__1___closed__1; static lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__10; @@ -343,13 +342,14 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___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*); static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___spec__5___lambda__1___closed__12; +static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__3; static lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__3___closed__19; LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__7___lambda__1___closed__17; static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__7___lambda__1___closed__27; static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__7___lambda__1___closed__4; static lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__4___closed__8; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6(size_t, size_t, lean_object*); static lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__3___closed__28; lean_object* l_Lean_Elab_Command_getRef(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___lambda__1___closed__2; @@ -391,13 +391,13 @@ static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mk static lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__3___closed__29; lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Elab_Deriving_mkInductArgNames___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___spec__5___lambda__1___closed__15; +static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__7; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___spec__3___closed__2; static lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___lambda__3___closed__19; static lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__3___closed__22; static lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___lambda__3___closed__12; static lean_object* l_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___lambda__2___closed__11; lean_object* lean_mk_syntax_ident(lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__7; static lean_object* l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__4___closed__16; static lean_object* l_Array_mapIdxM_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__3___closed__2; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -419,6 +419,7 @@ static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mk static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__7___lambda__1___closed__30; static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__7___lambda__1___closed__10; static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__7___lambda__1___closed__32; +lean_object* l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__19(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___spec__5___lambda__1___closed__14; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapIdxM_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__3___closed__19; @@ -1914,7 +1915,7 @@ _start: lean_object* x_5; lean_inc(x_2); lean_inc(x_1); -x_5 = l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__17(x_1, x_2, x_3, x_4); +x_5 = l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__19(x_1, x_2, x_3, x_4); if (lean_obj_tag(x_5) == 0) { lean_object* x_6; @@ -2342,7 +2343,6 @@ lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean x_59 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___spec__4___closed__4; x_60 = l_panic___at___private_Init_Prelude_0__Lean_assembleParts___spec__1(x_59); x_61 = l_Lean_Name_getString_x21(x_60); -lean_dec(x_60); x_62 = lean_box(2); x_63 = l_Lean_Syntax_mkStrLit(x_61, x_62); lean_dec(x_61); @@ -2374,7 +2374,6 @@ else lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; x_73 = lean_array_fget(x_6, x_9); x_74 = l_Lean_Name_getString_x21(x_73); -lean_dec(x_73); x_75 = lean_box(2); x_76 = l_Lean_Syntax_mkStrLit(x_74, x_75); lean_dec(x_74); @@ -2638,7 +2637,6 @@ lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean x_59 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___spec__4___closed__4; x_60 = l_panic___at___private_Init_Prelude_0__Lean_assembleParts___spec__1(x_59); x_61 = l_Lean_Name_getString_x21(x_60); -lean_dec(x_60); x_62 = lean_box(2); x_63 = l_Lean_Syntax_mkStrLit(x_61, x_62); lean_dec(x_61); @@ -2670,7 +2668,6 @@ else lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; x_73 = lean_array_fget(x_5, x_9); x_74 = l_Lean_Name_getString_x21(x_73); -lean_dec(x_73); x_75 = lean_box(2); x_76 = l_Lean_Syntax_mkStrLit(x_74, x_75); lean_dec(x_74); @@ -2826,7 +2823,31 @@ return x_147; } } } -static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__1() { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6(size_t x_1, size_t x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; +x_4 = lean_usize_dec_lt(x_2, x_1); +if (x_4 == 0) +{ +return x_3; +} +else +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; size_t x_8; size_t x_9; lean_object* x_10; +x_5 = lean_array_uget(x_3, x_2); +x_6 = lean_unsigned_to_nat(0u); +x_7 = lean_array_uset(x_3, x_2, x_6); +x_8 = 1; +x_9 = lean_usize_add(x_2, x_8); +x_10 = lean_array_uset(x_7, x_2, x_5); +x_2 = x_9; +x_3 = x_10; +goto _start; +} +} +} +static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__1() { _start: { lean_object* x_1; @@ -2834,17 +2855,17 @@ x_1 = lean_mk_string_from_bytes("term[_]", 7); return x_1; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__2() { +static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__2() { _start: { 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_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__1; +x_2 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__3() { +static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__3() { _start: { lean_object* x_1; @@ -2852,7 +2873,7 @@ x_1 = lean_mk_string_from_bytes("[", 1); return x_1; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__4() { +static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__4() { _start: { lean_object* x_1; @@ -2860,7 +2881,7 @@ x_1 = lean_mk_string_from_bytes("]", 1); return x_1; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__5() { +static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__5() { _start: { lean_object* x_1; @@ -2868,22 +2889,22 @@ x_1 = lean_mk_string_from_bytes("opt", 3); return x_1; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__6() { +static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__6() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__5; +x_1 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__5; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__7() { +static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__5; +x_1 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__5; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__6; +x_3 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__6; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -2891,17 +2912,17 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__8() { +static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__8() { _start: { 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_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__5; +x_2 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__5; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__9() { +static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__9() { _start: { lean_object* x_1; @@ -2909,7 +2930,7 @@ x_1 = lean_mk_string_from_bytes("Json", 4); return x_1; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { uint8_t x_14; @@ -2962,7 +2983,7 @@ x_37 = lean_ctor_get(x_35, 0); lean_inc(x_37); lean_dec(x_35); x_38 = lean_environment_main_module(x_37); -x_39 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__3; +x_39 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__3; lean_inc(x_31); x_40 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_40, 0, x_31); @@ -3024,7 +3045,7 @@ lean_ctor_set(x_72, 0, x_31); lean_ctor_set(x_72, 1, x_71); x_73 = l_Array_mapIdxM_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__4___closed__5; x_74 = lean_array_push(x_73, x_48); -x_75 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__4; +x_75 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__4; lean_inc(x_31); x_76 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_76, 0, x_31); @@ -3104,7 +3125,7 @@ lean_ctor_set(x_99, 1, x_83); lean_ctor_set(x_99, 2, x_98); x_100 = lean_array_push(x_77, x_99); x_101 = lean_array_push(x_100, x_76); -x_102 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__2; +x_102 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__2; x_103 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_103, 0, x_31); lean_ctor_set(x_103, 1, x_102); @@ -3146,12 +3167,12 @@ x_120 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstan x_121 = l_Lean_Name_str___override(x_119, x_120); x_122 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___spec__5___lambda__1___closed__2; x_123 = l_Lean_Name_str___override(x_121, x_122); -x_124 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__8; +x_124 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__8; x_125 = l_Lean_addMacroScope(x_117, x_124, x_112); -x_126 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__9; +x_126 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__9; lean_inc(x_1); x_127 = l_Lean_Name_str___override(x_1, x_126); -x_128 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__5; +x_128 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__5; x_129 = l_Lean_Name_str___override(x_127, x_128); x_130 = lean_box(0); lean_inc(x_129); @@ -3166,7 +3187,7 @@ lean_ctor_set(x_133, 1, x_130); x_134 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_134, 0, x_131); lean_ctor_set(x_134, 1, x_133); -x_135 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__7; +x_135 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__7; lean_inc(x_110); x_136 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_136, 0, x_110); @@ -3319,7 +3340,7 @@ _start: { 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_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__9; +x_2 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__9; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } @@ -3428,7 +3449,7 @@ x_40 = l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___clo lean_inc(x_28); lean_inc(x_33); x_41 = l_Lean_addMacroScope(x_33, x_40, x_28); -x_42 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__9; +x_42 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__9; x_43 = l_Lean_Name_str___override(x_2, x_42); x_44 = l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__1; lean_inc(x_43); @@ -3453,7 +3474,7 @@ lean_ctor_set(x_52, 0, x_26); lean_ctor_set(x_52, 1, x_51); lean_ctor_set(x_52, 2, x_41); lean_ctor_set(x_52, 3, x_50); -x_53 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__3; +x_53 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__3; lean_inc(x_26); x_54 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_54, 0, x_26); @@ -3467,7 +3488,11 @@ x_58 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_58, 0, x_26); lean_ctor_set(x_58, 1, x_57); x_59 = lean_ctor_get(x_5, 0); +lean_inc(x_59); +lean_dec(x_5); x_60 = lean_ctor_get(x_59, 0); +lean_inc(x_60); +lean_dec(x_59); x_61 = l_Lean_Name_getString_x21(x_60); x_62 = lean_box(2); x_63 = l_Lean_Syntax_mkStrLit(x_61, x_62); @@ -3522,7 +3547,7 @@ x_88 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_88, 0, x_26); lean_ctor_set(x_88, 1, x_87); lean_ctor_set(x_88, 2, x_86); -x_89 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__4; +x_89 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__4; lean_inc(x_26); x_90 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_90, 0, x_26); @@ -3602,7 +3627,7 @@ lean_ctor_set(x_121, 2, x_120); x_122 = lean_array_push(x_91, x_54); x_123 = lean_array_push(x_122, x_121); x_124 = lean_array_push(x_123, x_90); -x_125 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__2; +x_125 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__2; lean_inc(x_26); x_126 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_126, 0, x_26); @@ -3647,7 +3672,7 @@ x_142 = l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___cl lean_inc(x_28); lean_inc(x_135); x_143 = l_Lean_addMacroScope(x_135, x_142, x_28); -x_144 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__9; +x_144 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__9; x_145 = l_Lean_Name_str___override(x_2, x_144); x_146 = l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__1; lean_inc(x_145); @@ -3672,7 +3697,7 @@ lean_ctor_set(x_154, 0, x_26); lean_ctor_set(x_154, 1, x_153); lean_ctor_set(x_154, 2, x_143); lean_ctor_set(x_154, 3, x_152); -x_155 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__3; +x_155 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__3; lean_inc(x_26); x_156 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_156, 0, x_26); @@ -3686,7 +3711,11 @@ x_160 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_160, 0, x_26); lean_ctor_set(x_160, 1, x_159); x_161 = lean_ctor_get(x_5, 0); +lean_inc(x_161); +lean_dec(x_5); x_162 = lean_ctor_get(x_161, 0); +lean_inc(x_162); +lean_dec(x_161); x_163 = l_Lean_Name_getString_x21(x_162); x_164 = lean_box(2); x_165 = l_Lean_Syntax_mkStrLit(x_163, x_164); @@ -3741,7 +3770,7 @@ x_190 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_190, 0, x_26); lean_ctor_set(x_190, 1, x_189); lean_ctor_set(x_190, 2, x_188); -x_191 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__4; +x_191 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__4; lean_inc(x_26); x_192 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_192, 0, x_26); @@ -3821,7 +3850,7 @@ lean_ctor_set(x_223, 2, x_222); x_224 = lean_array_push(x_193, x_156); x_225 = lean_array_push(x_224, x_223); x_226 = lean_array_push(x_225, x_192); -x_227 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__2; +x_227 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__2; lean_inc(x_26); x_228 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_228, 0, x_26); @@ -3889,7 +3918,7 @@ lean_inc(x_252); x_254 = l_Lean_Name_str___override(x_252, x_253); x_255 = l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__4; x_256 = l_Lean_addMacroScope(x_248, x_255, x_243); -x_257 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__9; +x_257 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__9; x_258 = l_Lean_Name_str___override(x_2, x_257); x_259 = l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__1; x_260 = l_Lean_Name_str___override(x_258, x_259); @@ -3913,7 +3942,7 @@ lean_ctor_set(x_267, 0, x_241); lean_ctor_set(x_267, 1, x_266); lean_ctor_set(x_267, 2, x_256); lean_ctor_set(x_267, 3, x_265); -x_268 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__3; +x_268 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__3; lean_inc(x_241); x_269 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_269, 0, x_241); @@ -3927,7 +3956,11 @@ x_273 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_273, 0, x_241); lean_ctor_set(x_273, 1, x_272); x_274 = lean_ctor_get(x_5, 0); +lean_inc(x_274); +lean_dec(x_5); x_275 = lean_ctor_get(x_274, 0); +lean_inc(x_275); +lean_dec(x_274); x_276 = l_Lean_Name_getString_x21(x_275); x_277 = lean_box(2); x_278 = l_Lean_Syntax_mkStrLit(x_276, x_277); @@ -3955,7 +3988,7 @@ x_292 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_292, 0, x_241); lean_ctor_set(x_292, 1, x_291); lean_ctor_set(x_292, 2, x_290); -x_293 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__4; +x_293 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__4; lean_inc(x_241); x_294 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_294, 0, x_241); @@ -3966,7 +3999,7 @@ lean_inc(x_296); x_297 = lean_array_push(x_296, x_292); lean_inc(x_294); x_298 = lean_array_push(x_297, x_294); -x_299 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__2; +x_299 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__2; lean_inc(x_241); x_300 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_300, 0, x_241); @@ -4077,7 +4110,7 @@ lean_inc(x_340); x_342 = l_Lean_Name_str___override(x_340, x_341); x_343 = l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__4; x_344 = l_Lean_addMacroScope(x_336, x_343, x_243); -x_345 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__9; +x_345 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__9; x_346 = l_Lean_Name_str___override(x_2, x_345); x_347 = l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__1; x_348 = l_Lean_Name_str___override(x_346, x_347); @@ -4101,7 +4134,7 @@ lean_ctor_set(x_355, 0, x_241); lean_ctor_set(x_355, 1, x_354); lean_ctor_set(x_355, 2, x_344); lean_ctor_set(x_355, 3, x_353); -x_356 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__3; +x_356 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__3; lean_inc(x_241); x_357 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_357, 0, x_241); @@ -4115,7 +4148,11 @@ x_361 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_361, 0, x_241); lean_ctor_set(x_361, 1, x_360); x_362 = lean_ctor_get(x_5, 0); +lean_inc(x_362); +lean_dec(x_5); x_363 = lean_ctor_get(x_362, 0); +lean_inc(x_363); +lean_dec(x_362); x_364 = l_Lean_Name_getString_x21(x_363); x_365 = lean_box(2); x_366 = l_Lean_Syntax_mkStrLit(x_364, x_365); @@ -4143,7 +4180,7 @@ x_380 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_380, 0, x_241); lean_ctor_set(x_380, 1, x_379); lean_ctor_set(x_380, 2, x_378); -x_381 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__4; +x_381 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__4; lean_inc(x_241); x_382 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_382, 0, x_241); @@ -4154,7 +4191,7 @@ lean_inc(x_384); x_385 = lean_array_push(x_384, x_380); lean_inc(x_382); x_386 = lean_array_push(x_385, x_382); -x_387 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__2; +x_387 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__2; lean_inc(x_241); x_388 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_388, 0, x_241); @@ -4423,7 +4460,7 @@ lean_inc(x_443); x_445 = l_Lean_Name_str___override(x_443, x_444); x_446 = l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__4; x_447 = l_Lean_addMacroScope(x_439, x_446, x_434); -x_448 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__9; +x_448 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__9; x_449 = l_Lean_Name_str___override(x_2, x_448); x_450 = l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__1; x_451 = l_Lean_Name_str___override(x_449, x_450); @@ -4447,7 +4484,7 @@ lean_ctor_set(x_458, 0, x_432); lean_ctor_set(x_458, 1, x_457); lean_ctor_set(x_458, 2, x_447); lean_ctor_set(x_458, 3, x_456); -x_459 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__3; +x_459 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__3; lean_inc(x_432); x_460 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_460, 0, x_432); @@ -4461,7 +4498,11 @@ x_464 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_464, 0, x_432); lean_ctor_set(x_464, 1, x_463); x_465 = lean_ctor_get(x_5, 0); +lean_inc(x_465); +lean_dec(x_5); x_466 = lean_ctor_get(x_465, 0); +lean_inc(x_466); +lean_dec(x_465); x_467 = l_Lean_Name_getString_x21(x_466); x_468 = lean_box(2); x_469 = l_Lean_Syntax_mkStrLit(x_467, x_468); @@ -4522,7 +4563,7 @@ x_495 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_495, 0, x_432); lean_ctor_set(x_495, 1, x_476); lean_ctor_set(x_495, 2, x_494); -x_496 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__4; +x_496 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__4; lean_inc(x_432); x_497 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_497, 0, x_432); @@ -4530,7 +4571,7 @@ lean_ctor_set(x_497, 1, x_496); x_498 = lean_array_push(x_489, x_460); x_499 = lean_array_push(x_498, x_495); x_500 = lean_array_push(x_499, x_497); -x_501 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__2; +x_501 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__2; lean_inc(x_432); x_502 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_502, 0, x_432); @@ -4573,7 +4614,7 @@ lean_inc(x_515); x_517 = l_Lean_Name_str___override(x_515, x_516); x_518 = l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__4; x_519 = l_Lean_addMacroScope(x_511, x_518, x_434); -x_520 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__9; +x_520 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__9; x_521 = l_Lean_Name_str___override(x_2, x_520); x_522 = l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__1; x_523 = l_Lean_Name_str___override(x_521, x_522); @@ -4597,7 +4638,7 @@ lean_ctor_set(x_530, 0, x_432); lean_ctor_set(x_530, 1, x_529); lean_ctor_set(x_530, 2, x_519); lean_ctor_set(x_530, 3, x_528); -x_531 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__3; +x_531 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__3; lean_inc(x_432); x_532 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_532, 0, x_432); @@ -4611,7 +4652,11 @@ x_536 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_536, 0, x_432); lean_ctor_set(x_536, 1, x_535); x_537 = lean_ctor_get(x_5, 0); +lean_inc(x_537); +lean_dec(x_5); x_538 = lean_ctor_get(x_537, 0); +lean_inc(x_538); +lean_dec(x_537); x_539 = l_Lean_Name_getString_x21(x_538); x_540 = lean_box(2); x_541 = l_Lean_Syntax_mkStrLit(x_539, x_540); @@ -4672,7 +4717,7 @@ x_567 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_567, 0, x_432); lean_ctor_set(x_567, 1, x_548); lean_ctor_set(x_567, 2, x_566); -x_568 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__4; +x_568 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__4; lean_inc(x_432); x_569 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_569, 0, x_432); @@ -4680,7 +4725,7 @@ lean_ctor_set(x_569, 1, x_568); x_570 = lean_array_push(x_561, x_532); x_571 = lean_array_push(x_570, x_567); x_572 = lean_array_push(x_571, x_569); -x_573 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__2; +x_573 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__2; lean_inc(x_432); x_574 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_574, 0, x_432); @@ -4753,7 +4798,7 @@ lean_inc(x_656); x_658 = l_Lean_Name_str___override(x_656, x_657); x_659 = l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__4; x_660 = l_Lean_addMacroScope(x_652, x_659, x_647); -x_661 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__9; +x_661 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__9; x_662 = l_Lean_Name_str___override(x_2, x_661); x_663 = l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__1; x_664 = l_Lean_Name_str___override(x_662, x_663); @@ -4777,7 +4822,7 @@ lean_ctor_set(x_671, 0, x_645); lean_ctor_set(x_671, 1, x_670); lean_ctor_set(x_671, 2, x_660); lean_ctor_set(x_671, 3, x_669); -x_672 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__3; +x_672 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__3; lean_inc(x_645); x_673 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_673, 0, x_645); @@ -4791,7 +4836,11 @@ x_677 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_677, 0, x_645); lean_ctor_set(x_677, 1, x_676); x_678 = lean_ctor_get(x_5, 0); +lean_inc(x_678); +lean_dec(x_5); x_679 = lean_ctor_get(x_678, 0); +lean_inc(x_679); +lean_dec(x_678); x_680 = l_Lean_Name_getString_x21(x_679); x_681 = lean_box(2); x_682 = l_Lean_Syntax_mkStrLit(x_680, x_681); @@ -4819,7 +4868,7 @@ x_696 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_696, 0, x_645); lean_ctor_set(x_696, 1, x_695); lean_ctor_set(x_696, 2, x_694); -x_697 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__4; +x_697 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__4; lean_inc(x_645); x_698 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_698, 0, x_645); @@ -4830,7 +4879,7 @@ lean_inc(x_700); x_701 = lean_array_push(x_700, x_696); lean_inc(x_698); x_702 = lean_array_push(x_701, x_698); -x_703 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__2; +x_703 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__2; lean_inc(x_645); x_704 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_704, 0, x_645); @@ -4940,7 +4989,7 @@ lean_inc(x_743); x_745 = l_Lean_Name_str___override(x_743, x_744); x_746 = l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__4; x_747 = l_Lean_addMacroScope(x_739, x_746, x_647); -x_748 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__9; +x_748 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__9; x_749 = l_Lean_Name_str___override(x_2, x_748); x_750 = l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__1; x_751 = l_Lean_Name_str___override(x_749, x_750); @@ -4964,7 +5013,7 @@ lean_ctor_set(x_758, 0, x_645); lean_ctor_set(x_758, 1, x_757); lean_ctor_set(x_758, 2, x_747); lean_ctor_set(x_758, 3, x_756); -x_759 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__3; +x_759 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__3; lean_inc(x_645); x_760 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_760, 0, x_645); @@ -4978,7 +5027,11 @@ x_764 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_764, 0, x_645); lean_ctor_set(x_764, 1, x_763); x_765 = lean_ctor_get(x_5, 0); +lean_inc(x_765); +lean_dec(x_5); x_766 = lean_ctor_get(x_765, 0); +lean_inc(x_766); +lean_dec(x_765); x_767 = l_Lean_Name_getString_x21(x_766); x_768 = lean_box(2); x_769 = l_Lean_Syntax_mkStrLit(x_767, x_768); @@ -5006,7 +5059,7 @@ x_783 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_783, 0, x_645); lean_ctor_set(x_783, 1, x_782); lean_ctor_set(x_783, 2, x_781); -x_784 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__4; +x_784 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__4; lean_inc(x_645); x_785 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_785, 0, x_645); @@ -5017,7 +5070,7 @@ lean_inc(x_787); x_788 = lean_array_push(x_787, x_783); lean_inc(x_785); x_789 = lean_array_push(x_788, x_785); -x_790 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__2; +x_790 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__2; lean_inc(x_645); x_791 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_791, 0, x_645); @@ -5161,7 +5214,11 @@ lean_ctor_set(x_847, 1, x_846); lean_ctor_set(x_847, 2, x_840); lean_ctor_set(x_847, 3, x_845); x_848 = lean_ctor_get(x_5, 0); +lean_inc(x_848); +lean_dec(x_5); x_849 = lean_ctor_get(x_848, 0); +lean_inc(x_849); +lean_dec(x_848); x_850 = l_Lean_Name_getString_x21(x_849); x_851 = lean_box(2); x_852 = l_Lean_Syntax_mkStrLit(x_850, x_851); @@ -5221,7 +5278,11 @@ lean_ctor_set(x_879, 1, x_878); lean_ctor_set(x_879, 2, x_872); lean_ctor_set(x_879, 3, x_877); x_880 = lean_ctor_get(x_5, 0); +lean_inc(x_880); +lean_dec(x_5); x_881 = lean_ctor_get(x_880, 0); +lean_inc(x_881); +lean_dec(x_880); x_882 = l_Lean_Name_getString_x21(x_881); x_883 = lean_box(2); x_884 = l_Lean_Syntax_mkStrLit(x_882, x_883); @@ -5537,7 +5598,7 @@ static lean_object* _init_l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandle _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__9; +x_1 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__9; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } @@ -5546,7 +5607,7 @@ static lean_object* _init_l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandle _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__9; +x_1 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__9; x_2 = lean_unsigned_to_nat(0u); x_3 = l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__3___closed__26; x_4 = lean_alloc_ctor(0, 3, 0); @@ -5561,7 +5622,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___spec__3___closed__2; -x_2 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__9; +x_2 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__9; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } @@ -5813,7 +5874,7 @@ x_48 = lean_array_get_size(x_31); x_49 = lean_usize_of_nat(x_48); lean_dec(x_48); x_50 = 0; -x_51 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(x_49, x_50, x_31); +x_51 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6(x_49, x_50, x_31); x_52 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___spec__5___lambda__1___closed__14; x_53 = l_Lean_mkSepArray(x_51, x_52); lean_dec(x_51); @@ -6643,7 +6704,7 @@ lean_dec(x_26); x_28 = 0; x_29 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___spec__3___closed__2; lean_inc(x_7); -x_30 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6(x_29, x_15, x_18, x_27, x_28, x_25, x_3, x_4, x_5, x_6, x_7, x_8, x_22); +x_30 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7(x_29, x_15, x_18, x_27, x_28, x_25, x_3, x_4, x_5, x_6, x_7, x_8, x_22); x_31 = lean_ctor_get(x_30, 0); lean_inc(x_31); x_32 = lean_ctor_get(x_30, 1); @@ -6804,7 +6865,7 @@ lean_ctor_set(x_102, 0, x_34); lean_ctor_set(x_102, 1, x_100); lean_ctor_set(x_102, 2, x_99); lean_ctor_set(x_102, 3, x_101); -x_103 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__3; +x_103 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__3; lean_inc(x_34); x_104 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_104, 0, x_34); @@ -6818,7 +6879,7 @@ x_108 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_108, 0, x_34); lean_ctor_set(x_108, 1, x_42); lean_ctor_set(x_108, 2, x_107); -x_109 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__4; +x_109 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__4; lean_inc(x_34); x_110 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_110, 0, x_34); @@ -6827,7 +6888,7 @@ x_111 = l_Array_mapIdxM_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceH x_112 = lean_array_push(x_111, x_104); x_113 = lean_array_push(x_112, x_108); x_114 = lean_array_push(x_113, x_110); -x_115 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__2; +x_115 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__2; lean_inc(x_34); x_116 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_116, 0, x_34); @@ -7801,7 +7862,19 @@ lean_dec(x_1); return x_19; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___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; +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_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6(x_4, x_5, x_3); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___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, lean_object* x_12, lean_object* x_13) { _start: { size_t x_14; size_t x_15; lean_object* x_16; @@ -7809,7 +7882,7 @@ x_14 = lean_unbox_usize(x_4); lean_dec(x_4); x_15 = lean_unbox_usize(x_5); lean_dec(x_5); -x_16 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6(x_1, x_2, x_3, x_14, x_15, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +x_16 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7(x_1, x_2, x_3, x_14, x_15, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); lean_dec(x_12); lean_dec(x_10); lean_dec(x_9); @@ -7830,7 +7903,6 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_5); lean_dec(x_1); return x_15; } @@ -8368,7 +8440,7 @@ x_46 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_46, 0, x_26); lean_ctor_set(x_46, 1, x_44); lean_ctor_set(x_46, 2, x_45); -x_47 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__3; +x_47 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__3; lean_inc(x_26); x_48 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_48, 0, x_26); @@ -8377,7 +8449,7 @@ lean_inc(x_6); x_49 = l_Nat_repr(x_6); x_50 = lean_box(2); x_51 = l_Lean_Syntax_mkNumLit(x_49, x_50); -x_52 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__4; +x_52 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__4; lean_inc(x_26); x_53 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_53, 0, x_26); @@ -8474,7 +8546,7 @@ x_97 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_97, 0, x_82); lean_ctor_set(x_97, 1, x_95); lean_ctor_set(x_97, 2, x_96); -x_98 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__3; +x_98 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__3; lean_inc(x_82); x_99 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_99, 0, x_82); @@ -8483,7 +8555,7 @@ lean_inc(x_6); x_100 = l_Nat_repr(x_6); x_101 = lean_box(2); x_102 = l_Lean_Syntax_mkNumLit(x_100, x_101); -x_103 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__4; +x_103 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__4; lean_inc(x_82); x_104 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_104, 0, x_82); @@ -9249,6 +9321,7 @@ lean_ctor_set(x_35, 0, x_16); lean_ctor_set(x_35, 1, x_34); lean_ctor_set(x_35, 2, x_33); lean_ctor_set(x_35, 3, x_24); +lean_inc(x_1); x_36 = l_Lean_Name_getString_x21(x_1); x_37 = lean_box(2); x_38 = l_Lean_Syntax_mkStrLit(x_36, x_37); @@ -9534,6 +9607,7 @@ lean_ctor_set(x_164, 0, x_16); lean_ctor_set(x_164, 1, x_163); lean_ctor_set(x_164, 2, x_162); lean_ctor_set(x_164, 3, x_153); +lean_inc(x_1); x_165 = l_Lean_Name_getString_x21(x_1); x_166 = lean_box(2); x_167 = l_Lean_Syntax_mkStrLit(x_165, x_166); @@ -10109,7 +10183,7 @@ x_78 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_78, 0, x_50); lean_ctor_set(x_78, 1, x_77); lean_ctor_set(x_78, 2, x_76); -x_79 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__4; +x_79 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__4; lean_inc(x_50); x_80 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_80, 0, x_50); @@ -11806,7 +11880,7 @@ x_233 = l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___cl lean_inc(x_180); lean_inc(x_185); x_234 = l_Lean_addMacroScope(x_185, x_233, x_180); -x_235 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__9; +x_235 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__9; x_236 = l_Lean_Name_str___override(x_13, x_235); lean_inc(x_12); lean_inc(x_236); @@ -12174,7 +12248,7 @@ x_94 = l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___clo lean_inc(x_34); lean_inc(x_39); x_95 = l_Lean_addMacroScope(x_39, x_94, x_34); -x_96 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__9; +x_96 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__9; x_97 = l_Lean_Name_str___override(x_13, x_96); lean_inc(x_12); lean_inc(x_97); @@ -14781,24 +14855,24 @@ l_Array_mapIdxM_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler__ lean_mark_persistent(l_Array_mapIdxM_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__4___closed__4); l_Array_mapIdxM_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__4___closed__5 = _init_l_Array_mapIdxM_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__4___closed__5(); lean_mark_persistent(l_Array_mapIdxM_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__4___closed__5); -l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__1 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__1(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__1); -l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__2 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__2(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__2); -l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__3 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__3(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__3); -l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__4 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__4(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__4); -l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__5 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__5(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__5); -l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__6 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__6(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__6); -l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__7 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__7(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__7); -l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__8 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__8(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__8); -l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__9 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__9(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__6___closed__9); +l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__1 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__1(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__1); +l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__2 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__2(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__2); +l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__3 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__3(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__3); +l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__4 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__4(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__4); +l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__5 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__5(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__5); +l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__6 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__6(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__6); +l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__7 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__7(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__7); +l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__8 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__8(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__8); +l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__9 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__9(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__7___closed__9); l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__1 = _init_l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__1(); lean_mark_persistent(l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__1); l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__2 = _init_l_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___lambda__1___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/Deriving/Hashable.c b/stage0/stdlib/Lean/Elab/Deriving/Hashable.c index f45428a494..c16c971d99 100644 --- a/stage0/stdlib/Lean/Elab/Deriving/Hashable.c +++ b/stage0/stdlib/Lean/Elab/Deriving/Hashable.c @@ -97,10 +97,10 @@ static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Hashable_mkMa static lean_object* l_Lean_Elab_Deriving_Hashable_mkAuxFunction___closed__29; static lean_object* l___private_Lean_Elab_Deriving_Hashable_0__Lean_Elab_Deriving_Hashable_mkHashableInstanceCmds___closed__7; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Hashable_mkMatch_mkAlts___spec__4___closed__6; -lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_isInductive___at_Lean_Elab_Deriving_Hashable_mkHashableHandler___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Hashable_mkMatch_mkAlts___spec__4___closed__23; lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_Hashable_mkMatch___spec__1___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Hashable_mkMatch_mkAlts___spec__4___closed__14; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Hashable_mkMatch_mkAlts___spec__4___closed__28; lean_object* l_Nat_repr(lean_object*); @@ -187,6 +187,7 @@ lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_obje static lean_object* l_Lean_Elab_Deriving_Hashable_mkAuxFunction___closed__31; static lean_object* l_Lean_Elab_Deriving_Hashable_mkHashFuncs___closed__1; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Hashable_mkMatch_mkAlts___spec__4___closed__17; +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_Hashable_mkMatch___spec__1(size_t, size_t, lean_object*); lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Elab_Deriving_mkInductArgNames___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_Deriving_Hashable_0__Lean_Elab_Deriving_Hashable_mkHashableInstanceCmds___spec__1(lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Hashable_mkMatch_mkAlts___spec__3___closed__2; @@ -2699,6 +2700,30 @@ x_6 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_Hashable_mkMatch_mkAlts___s return x_6; } } +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_Hashable_mkMatch___spec__1(size_t x_1, size_t x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; +x_4 = lean_usize_dec_lt(x_2, x_1); +if (x_4 == 0) +{ +return x_3; +} +else +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; size_t x_8; size_t x_9; lean_object* x_10; +x_5 = lean_array_uget(x_3, x_2); +x_6 = lean_unsigned_to_nat(0u); +x_7 = lean_array_uset(x_3, x_2, x_6); +x_8 = 1; +x_9 = lean_usize_add(x_2, x_8); +x_10 = lean_array_uset(x_7, x_2, x_5); +x_2 = x_9; +x_3 = x_10; +goto _start; +} +} +} static lean_object* _init_l_Lean_Elab_Deriving_Hashable_mkMatch___closed__1() { _start: { @@ -2805,7 +2830,7 @@ x_28 = lean_array_get_size(x_12); x_29 = lean_usize_of_nat(x_28); lean_dec(x_28); x_30 = 0; -x_31 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(x_29, x_30, x_12); +x_31 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_Hashable_mkMatch___spec__1(x_29, x_30, x_12); x_32 = l_List_forIn_loop___at_Lean_Elab_Deriving_Hashable_mkMatch_mkAlts___spec__5___lambda__1___closed__11; x_33 = l_Lean_mkSepArray(x_31, x_32); lean_dec(x_31); @@ -2872,7 +2897,7 @@ x_59 = lean_array_get_size(x_12); x_60 = lean_usize_of_nat(x_59); lean_dec(x_59); x_61 = 0; -x_62 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(x_60, x_61, x_12); +x_62 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_Hashable_mkMatch___spec__1(x_60, x_61, x_12); x_63 = l_List_forIn_loop___at_Lean_Elab_Deriving_Hashable_mkMatch_mkAlts___spec__5___lambda__1___closed__11; x_64 = l_Lean_mkSepArray(x_62, x_63); lean_dec(x_62); @@ -2947,6 +2972,18 @@ return x_88; } } } +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_Hashable_mkMatch___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; +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_Elab_Deriving_Hashable_mkMatch___spec__1(x_4, x_5, x_3); +return x_6; +} +} static lean_object* _init_l_Lean_Elab_Deriving_Hashable_mkAuxFunction___closed__1() { _start: { diff --git a/stage0/stdlib/Lean/Elab/Deriving/Inhabited.c b/stage0/stdlib/Lean/Elab/Deriving/Inhabited.c index df77b947f3..00369ce8ef 100644 --- a/stage0/stdlib/Lean/Elab/Deriving/Inhabited.c +++ b/stage0/stdlib/Lean/Elab/Deriving/Inhabited.c @@ -16,7 +16,6 @@ extern "C" { lean_object* l_List_reverse___rarg(lean_object*); lean_object* l_Lean_getConstInfo___at_Lean_Elab_Term_mkConst___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_mkInstanceCmdWith___spec__6___closed__21; -lean_object* l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__17(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_mkInstanceCmdWith(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_mkInstanceCmd_x3f___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_mkInstanceCmd_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -31,6 +30,7 @@ static lean_object* l___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInha static lean_object* l___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_mkInstanceCmdWith___closed__10; lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); +lean_object* l_Std_HashMapImp_find_x3f___at_Lean_ForEachExpr_visit___spec__1(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_mkInstanceCmdWith___closed__20; LEAN_EXPORT lean_object* l_List_forIn_loop___at___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstance___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_addLocalInstancesForParamsAux___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*); @@ -98,7 +98,6 @@ LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Derivin LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_mkInstanceCmd_x3f___spec__1___boxed(lean_object**); static lean_object* l___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_mkInstanceCmdWith___closed__31; LEAN_EXPORT lean_object* l_Lean_ForEachExpr_visit___at___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_collectUsedLocalsInsts___spec__4___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_HashMap_insert___at_Lean_Meta_forEachExpr_x27_visit___spec__12(lean_object*, lean_object*, lean_object*); lean_object* l_Std_RBNode_setBlack___rarg(lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_ins___at___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_collectUsedLocalsInsts___spec__3(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_mkInstanceCmdWith___closed__11; @@ -273,11 +272,12 @@ static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Deriving_Inh LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_mkInstanceCmd_x3f___spec__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstance___closed__4; LEAN_EXPORT lean_object* l_List_forIn_loop___at___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstance___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__19(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_HashMap_insert___at_Lean_ForEachExpr_visit___spec__3(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_mkInstanceCmdWith___closed__6; LEAN_EXPORT lean_object* l_Std_RBNode_findCore___at___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_mkInstanceCmdWith___spec__5___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_mkInhabitedInstanceHandler___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_ForEachExpr_visit___at___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_collectUsedLocalsInsts___spec__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Meta_forEachExpr_x27_visit___spec__1(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_mkInstanceCmdWith___closed__25; LEAN_EXPORT lean_object* l_Lean_getConstInfoCtor___at___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_mkInstanceCmdWith___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_getConstInfoInduct___at___private_Lean_Elab_Deriving_Inhabited_0__Lean_Elab_mkInhabitedInstanceUsing_mkInstanceCmdWith___spec__1___closed__4; @@ -5726,7 +5726,7 @@ lean_object* x_28; lean_object* x_29; lean_object* x_30; x_28 = lean_ctor_get(x_26, 0); x_29 = lean_ctor_get(x_26, 1); lean_inc(x_2); -x_30 = l_Std_HashMapImp_find_x3f___at_Lean_Meta_forEachExpr_x27_visit___spec__1(x_28, x_2); +x_30 = l_Std_HashMapImp_find_x3f___at_Lean_ForEachExpr_visit___spec__1(x_28, x_2); if (lean_obj_tag(x_30) == 0) { lean_object* x_31; @@ -6283,7 +6283,7 @@ lean_inc(x_133); lean_inc(x_132); lean_dec(x_26); lean_inc(x_2); -x_134 = l_Std_HashMapImp_find_x3f___at_Lean_Meta_forEachExpr_x27_visit___spec__1(x_132, x_2); +x_134 = l_Std_HashMapImp_find_x3f___at_Lean_ForEachExpr_visit___spec__1(x_132, x_2); if (lean_obj_tag(x_134) == 0) { lean_object* x_135; @@ -6895,7 +6895,7 @@ x_10 = lean_ctor_get(x_8, 1); lean_inc(x_10); lean_dec(x_8); lean_inc(x_6); -x_11 = l_Std_HashMap_insert___at_Lean_Meta_forEachExpr_x27_visit___spec__12(x_9, x_2, x_6); +x_11 = l_Std_HashMap_insert___at_Lean_ForEachExpr_visit___spec__3(x_9, x_2, x_6); x_12 = lean_st_ref_set(x_3, x_11, x_10); if (lean_obj_tag(x_12) == 0) { @@ -11400,7 +11400,7 @@ _start: lean_object* x_5; lean_inc(x_2); lean_inc(x_1); -x_5 = l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__17(x_1, x_2, x_3, x_4); +x_5 = l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__19(x_1, x_2, x_3, x_4); if (lean_obj_tag(x_5) == 0) { lean_object* x_6; diff --git a/stage0/stdlib/Lean/Elab/Deriving/Ord.c b/stage0/stdlib/Lean/Elab/Deriving/Ord.c index 2e405df42c..2da8b8a0ae 100644 --- a/stage0/stdlib/Lean/Elab/Deriving/Ord.c +++ b/stage0/stdlib/Lean/Elab/Deriving/Ord.c @@ -111,6 +111,7 @@ static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Ord_mkMatch_m static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Ord_mkMatch_mkAlts___spec__7___lambda__2___closed__2; lean_object* l_Lean_Elab_Deriving_mkInstanceCmds(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Ord_mkMatch_mkAlts___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_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_Ord_mkMatch___spec__1(size_t, size_t, lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Ord_mkMatch_mkAlts___spec__5___closed__4; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Ord_mkMatch_mkAlts___spec__3___closed__2; @@ -121,7 +122,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_Ord_mkOrdInstanceHandler(lean_obje static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Ord_mkMatch_mkAlts___spec__5___lambda__1___closed__48; lean_object* l_Lean_Expr_fvarId_x21(lean_object*); static lean_object* l_Lean_Elab_Deriving_Ord_mkAuxFunction___lambda__1___closed__28; -lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(size_t, size_t, lean_object*); static lean_object* l_Lean_Elab_Deriving_Ord_mkAuxFunction___lambda__1___closed__5; lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Ord_mkMatch_mkAlts___spec__5___lambda__1___closed__50; @@ -233,6 +233,7 @@ LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Ord_mkMatch_m lean_object* l_Lean_Core_betaReduce___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Ord_mkMatch_mkAlts___spec__7___lambda__2___closed__10; LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_Ord_mkMatch_mkAlts(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_Ord_mkMatch___spec__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_isProp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Ord_mkMatch_mkAlts___spec__5___lambda__1___closed__40; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Ord_mkMatch_mkAlts___spec__5___lambda__1___closed__9; @@ -3416,6 +3417,30 @@ lean_dec(x_4); return x_13; } } +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_Ord_mkMatch___spec__1(size_t x_1, size_t x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; +x_4 = lean_usize_dec_lt(x_2, x_1); +if (x_4 == 0) +{ +return x_3; +} +else +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; size_t x_8; size_t x_9; lean_object* x_10; +x_5 = lean_array_uget(x_3, x_2); +x_6 = lean_unsigned_to_nat(0u); +x_7 = lean_array_uset(x_3, x_2, x_6); +x_8 = 1; +x_9 = lean_usize_add(x_2, x_8); +x_10 = lean_array_uset(x_7, x_2, x_5); +x_2 = x_9; +x_3 = x_10; +goto _start; +} +} +} LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_Ord_mkMatch(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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: { @@ -3469,7 +3494,7 @@ x_27 = lean_array_get_size(x_11); x_28 = lean_usize_of_nat(x_27); lean_dec(x_27); x_29 = 0; -x_30 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(x_28, x_29, x_11); +x_30 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_Ord_mkMatch___spec__1(x_28, x_29, x_11); x_31 = l_List_forIn_loop___at_Lean_Elab_Deriving_Ord_mkMatch_mkAlts___spec__7___lambda__2___closed__11; x_32 = l_Lean_mkSepArray(x_30, x_31); lean_dec(x_30); @@ -3536,7 +3561,7 @@ x_58 = lean_array_get_size(x_11); x_59 = lean_usize_of_nat(x_58); lean_dec(x_58); x_60 = 0; -x_61 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(x_59, x_60, x_11); +x_61 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_Ord_mkMatch___spec__1(x_59, x_60, x_11); x_62 = l_List_forIn_loop___at_Lean_Elab_Deriving_Ord_mkMatch_mkAlts___spec__7___lambda__2___closed__11; x_63 = l_Lean_mkSepArray(x_61, x_62); lean_dec(x_61); @@ -3611,6 +3636,18 @@ return x_87; } } } +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_Ord_mkMatch___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; +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_Elab_Deriving_Ord_mkMatch___spec__1(x_4, x_5, x_3); +return x_6; +} +} static lean_object* _init_l_Lean_Elab_Deriving_Ord_mkAuxFunction___lambda__1___closed__1() { _start: { diff --git a/stage0/stdlib/Lean/Elab/Deriving/Repr.c b/stage0/stdlib/Lean/Elab/Deriving/Repr.c index 476df2ae6a..5a572f6a80 100644 --- a/stage0/stdlib/Lean/Elab/Deriving/Repr.c +++ b/stage0/stdlib/Lean/Elab/Deriving/Repr.c @@ -13,7 +13,6 @@ #ifdef __cplusplus extern "C" { #endif -static lean_object* l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__33; lean_object* l_List_reverse___rarg(lean_object*); lean_object* l_Lean_getConstInfo___at_Lean_Elab_Term_mkConst___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Deriving_Repr_0__Lean_Elab_Deriving_Repr_mkReprInstanceCmds___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -28,6 +27,7 @@ lean_object* l_Lean_registerTraceClass(lean_object*, uint8_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_Repr_mkReprInstanceHandler(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__5; +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_Repr_mkBodyForInduct___spec__1(size_t, size_t, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__14; @@ -36,6 +36,7 @@ static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyFo static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__1___closed__2; lean_object* l_Lean_Elab_Command_liftTermElabM___rarg(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_usize_dec_eq(size_t, size_t); +static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__25; lean_object* lean_array_uget(lean_object*, size_t); LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__54; @@ -46,13 +47,13 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Deriving_Repr_0__Lean_Elab_Derivi static lean_object* l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__21; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__20; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___closed__1; +static lean_object* l_Lean_Elab_Deriving_Repr_initFn____x40_Lean_Elab_Deriving_Repr___hyg_3833____closed__1; LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Deriving_Repr_mkReprInstanceHandler___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__1; lean_object* lean_array_uset(lean_object*, size_t, lean_object*); static lean_object* l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__17; lean_object* l_Lean_Elab_registerDerivingHandler(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__4; -static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__62; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___closed__4; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__33; static lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__1___closed__3; @@ -62,6 +63,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Deriving_Repr_0__Lean_Elab_Derivi lean_object* lean_environment_find(lean_object*, lean_object*); static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__46; lean_object* lean_st_ref_get(lean_object*, lean_object*); +static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__22; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__29; static lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__2___closed__11; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__52; @@ -81,11 +83,12 @@ static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForIndu static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__13; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__6; static lean_object* l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__9; +static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__23; static lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForInduct___closed__2; lean_object* lean_string_utf8_byte_size(lean_object*); LEAN_EXPORT lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_head_x21___rarg(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___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*); static lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__2___closed__12; static lean_object* l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__19; uint8_t lean_usize_dec_lt(size_t, size_t); @@ -100,7 +103,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_Repr_mkMutualBlock(lean_object*, l static lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForInduct___closed__1; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__30; LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForInduct(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForStruct___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_EXPORT lean_object* l_Lean_isInductive___at_Lean_Elab_Deriving_Repr_mkReprInstanceHandler___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___closed__6; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__2___closed__4; @@ -131,13 +134,13 @@ static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForIndu static lean_object* l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__28; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__8; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__17; -static lean_object* l_Lean_Elab_Deriving_Repr_initFn____x40_Lean_Elab_Deriving_Repr___hyg_3720____closed__1; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__22; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__17; lean_object* l_Lean_Elab_Deriving_mkInstanceCmds(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForStruct(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__29; lean_object* lean_nat_sub(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_Repr_mkBodyForInduct___spec__1___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__25; LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4; @@ -146,6 +149,7 @@ static lean_object* l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__14; static lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__1___closed__1; static lean_object* l_Lean_Elab_Deriving_Repr_mkMutualBlock___closed__3; static lean_object* l_Lean_Elab_Deriving_Repr_mkAuxFunction___lambda__1___closed__10; +static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__27; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__48; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__9; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__8; @@ -162,17 +166,17 @@ lean_object* l_Lean_Expr_fvarId_x21(lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__2; static lean_object* l_Lean_Elab_Deriving_Repr_mkAuxFunction___lambda__1___closed__4; static lean_object* l_Lean_Elab_Deriving_Repr_mkAuxFunction___lambda__1___closed__27; -lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(size_t, size_t, lean_object*); lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); static lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__2___closed__20; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__27; static lean_object* l_Lean_Elab_Deriving_Repr_mkAuxFunction___lambda__1___closed__17; -static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__57; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__40; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__4; +static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__21; LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__1; static lean_object* l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__23; +lean_object* l_Nat_repr(lean_object*); uint8_t l_Lean_LocalDecl_binderInfo(lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___boxed(lean_object**); LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__1___boxed(lean_object**); @@ -184,7 +188,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_Repr_mkBody(lean_object*, lean_obj static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__13; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__41; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__19; -static lean_object* l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__34; lean_object* l_Lean_getStructureFields(lean_object*, lean_object*); static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__50; lean_object* lean_array_to_list(lean_object*, lean_object*); @@ -194,7 +197,6 @@ static lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__1___clos lean_object* l_Lean_Syntax_mkStrLit(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__31; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__2___closed__6; -static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__61; static lean_object* l_Lean_Elab_Deriving_Repr_mkAuxFunction___lambda__1___closed__6; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___closed__7; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__2___closed__1; @@ -219,17 +221,17 @@ static lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__2___clos lean_object* l_Lean_Elab_Deriving_mkContext(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__2___closed__15; size_t lean_usize_of_nat(lean_object*); -static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__60; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__47; lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_Repr_mkAuxFunction___lambda__1___closed__13; static lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__2___closed__5; static lean_object* l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__10; -static lean_object* l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__32; LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__2___boxed(lean_object**); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__4(size_t, size_t, lean_object*); +lean_object* l_Lean_Syntax_mkNumLit(lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__2___closed__2; lean_object* l_Lean_Elab_Deriving_mkHeader(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__26; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__12; LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_Repr_mkAuxFunction(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -238,7 +240,6 @@ static lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__1___clos static lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__2___closed__14; lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__26; -static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__58; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__26; lean_object* lean_environment_main_module(lean_object*); static lean_object* l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__7; @@ -285,8 +286,8 @@ static lean_object* l_Lean_Elab_Deriving_Repr_mkAuxFunction___lambda__1___closed static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__24; LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___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_forallTelescopeReducing___at_Lean_Elab_Deriving_mkInductArgNames___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_string_length(lean_object*); static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__11; -static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__59; static lean_object* l___private_Lean_Elab_Deriving_Repr_0__Lean_Elab_Deriving_Repr_mkReprInstanceCmds___closed__5; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__31; static lean_object* l___private_Lean_Elab_Deriving_Repr_0__Lean_Elab_Deriving_Repr_mkReprInstanceCmds___closed__8; @@ -306,6 +307,7 @@ lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Command_elabCommand___spec static lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__2___closed__17; static lean_object* l___private_Lean_Elab_Deriving_Repr_0__Lean_Elab_Deriving_Repr_mkReprInstanceCmds___closed__3; static lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__2___closed__8; +static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__24; LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_Repr_mkAuxFunction___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_Repr_mkAuxFunction___lambda__1___closed__24; LEAN_EXPORT lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -317,6 +319,7 @@ static lean_object* l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__12; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__16; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__10; static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__49; +static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__20; static lean_object* l_Lean_Elab_Deriving_Repr_mkMutualBlock___closed__2; static lean_object* l_Lean_Elab_Deriving_Repr_mkAuxFunction___lambda__1___closed__16; LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___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*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -327,7 +330,6 @@ static lean_object* l_Lean_Elab_Deriving_Repr_mkAuxFunction___lambda__1___closed static lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__2___closed__4; static lean_object* l___private_Lean_Elab_Deriving_Repr_0__Lean_Elab_Deriving_Repr_mkReprInstanceCmds___closed__9; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__7; -static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__63; lean_object* l_Lean_Meta_isType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__7; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___closed__3; @@ -338,7 +340,7 @@ uint8_t l_Lean_isStructure(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__4___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_getBetterRef(lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_Repr_initFn____x40_Lean_Elab_Deriving_Repr___hyg_3720_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_Repr_initFn____x40_Lean_Elab_Deriving_Repr___hyg_3833_(lean_object*); static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__1() { _start: { @@ -499,45 +501,13 @@ return x_3; static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__18() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__8; -x_2 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__14; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__19() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__18; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__20() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__19; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__21() { -_start: -{ lean_object* x_1; lean_object* x_2; x_1 = lean_unsigned_to_nat(1u); x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__22() { +static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__19() { _start: { lean_object* x_1; @@ -545,7 +515,7 @@ x_1 = lean_mk_string_from_bytes(":", 1); return x_1; } } -static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__23() { +static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__20() { _start: { lean_object* x_1; @@ -553,22 +523,22 @@ x_1 = lean_mk_string_from_bytes("Nat", 3); return x_1; } } -static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__24() { +static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__21() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__23; +x_1 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__20; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__25() { +static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__22() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__23; +x_1 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__20; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__24; +x_3 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__21; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -576,13 +546,47 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__26() { +static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__23() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__20; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__24() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); x_2 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__23; -x_3 = l_Lean_Name_str___override(x_1, x_2); +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__25() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__23; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__26() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__25; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); return x_3; } } @@ -590,49 +594,15 @@ static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__27() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); +x_1 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__24; x_2 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__26; x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__28() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__26; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__29() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__28; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__30() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__27; -x_2 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__29; -x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__31() { +static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__28() { _start: { lean_object* x_1; lean_object* x_2; @@ -641,7 +611,7 @@ x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__32() { +static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__29() { _start: { lean_object* x_1; lean_object* x_2; @@ -650,7 +620,7 @@ x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__33() { +static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__30() { _start: { lean_object* x_1; @@ -658,7 +628,7 @@ x_1 = lean_mk_string_from_bytes(")", 1); return x_1; } } -static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__34() { +static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__31() { _start: { lean_object* x_1; lean_object* x_2; @@ -714,15 +684,15 @@ x_25 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__17; lean_inc(x_17); lean_inc(x_22); x_26 = l_Lean_addMacroScope(x_22, x_25, x_17); -x_27 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__16; -x_28 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__20; +x_27 = lean_box(0); +x_28 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__16; lean_inc(x_15); x_29 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_29, 0, x_15); -lean_ctor_set(x_29, 1, x_27); +lean_ctor_set(x_29, 1, x_28); lean_ctor_set(x_29, 2, x_26); -lean_ctor_set(x_29, 3, x_28); -x_30 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__21; +lean_ctor_set(x_29, 3, x_27); +x_30 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__18; x_31 = lean_array_push(x_30, x_29); x_32 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__13; lean_inc(x_15); @@ -730,22 +700,22 @@ x_33 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_33, 0, x_15); lean_ctor_set(x_33, 1, x_32); lean_ctor_set(x_33, 2, x_31); -x_34 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__22; +x_34 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__19; lean_inc(x_15); x_35 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_35, 0, x_15); lean_ctor_set(x_35, 1, x_34); -x_36 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__26; +x_36 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__23; x_37 = l_Lean_addMacroScope(x_22, x_36, x_17); -x_38 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__25; -x_39 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__30; +x_38 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__22; +x_39 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__27; lean_inc(x_15); x_40 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_40, 0, x_15); lean_ctor_set(x_40, 1, x_38); lean_ctor_set(x_40, 2, x_37); lean_ctor_set(x_40, 3, x_39); -x_41 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__31; +x_41 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__28; x_42 = lean_array_push(x_41, x_35); x_43 = lean_array_push(x_42, x_40); lean_inc(x_15); @@ -753,18 +723,18 @@ x_44 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_44, 0, x_15); lean_ctor_set(x_44, 1, x_32); lean_ctor_set(x_44, 2, x_43); -x_45 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__32; +x_45 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__29; lean_inc(x_15); x_46 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_46, 0, x_15); lean_ctor_set(x_46, 1, x_32); lean_ctor_set(x_46, 2, x_45); -x_47 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__33; +x_47 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__30; lean_inc(x_15); x_48 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_48, 0, x_15); lean_ctor_set(x_48, 1, x_47); -x_49 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__34; +x_49 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__31; x_50 = lean_array_push(x_49, x_24); x_51 = lean_array_push(x_50, x_33); x_52 = lean_array_push(x_51, x_44); @@ -828,15 +798,15 @@ x_72 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__17; lean_inc(x_17); lean_inc(x_69); x_73 = l_Lean_addMacroScope(x_69, x_72, x_17); -x_74 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__16; -x_75 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__20; +x_74 = lean_box(0); +x_75 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__16; lean_inc(x_15); x_76 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_76, 0, x_15); -lean_ctor_set(x_76, 1, x_74); +lean_ctor_set(x_76, 1, x_75); lean_ctor_set(x_76, 2, x_73); -lean_ctor_set(x_76, 3, x_75); -x_77 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__21; +lean_ctor_set(x_76, 3, x_74); +x_77 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__18; x_78 = lean_array_push(x_77, x_76); x_79 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__13; lean_inc(x_15); @@ -844,22 +814,22 @@ x_80 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_80, 0, x_15); lean_ctor_set(x_80, 1, x_79); lean_ctor_set(x_80, 2, x_78); -x_81 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__22; +x_81 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__19; lean_inc(x_15); x_82 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_82, 0, x_15); lean_ctor_set(x_82, 1, x_81); -x_83 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__26; +x_83 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__23; x_84 = l_Lean_addMacroScope(x_69, x_83, x_17); -x_85 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__25; -x_86 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__30; +x_85 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__22; +x_86 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__27; lean_inc(x_15); x_87 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_87, 0, x_15); lean_ctor_set(x_87, 1, x_85); lean_ctor_set(x_87, 2, x_84); lean_ctor_set(x_87, 3, x_86); -x_88 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__31; +x_88 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__28; x_89 = lean_array_push(x_88, x_82); x_90 = lean_array_push(x_89, x_87); lean_inc(x_15); @@ -867,18 +837,18 @@ x_91 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_91, 0, x_15); lean_ctor_set(x_91, 1, x_79); lean_ctor_set(x_91, 2, x_90); -x_92 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__32; +x_92 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__29; lean_inc(x_15); x_93 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_93, 0, x_15); lean_ctor_set(x_93, 1, x_79); lean_ctor_set(x_93, 2, x_92); -x_94 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__33; +x_94 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__30; lean_inc(x_15); x_95 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_95, 0, x_15); lean_ctor_set(x_95, 1, x_94); -x_96 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__34; +x_96 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__31; x_97 = lean_array_push(x_96, x_71); x_98 = lean_array_push(x_97, x_80); x_99 = lean_array_push(x_98, x_91); @@ -1128,21 +1098,38 @@ static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mk _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("term_++_", 8); +x_1 = lean_mk_string_from_bytes(" := ", 4); return x_1; } } static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__2() { _start: { +lean_object* x_1; lean_object* x_2; +x_1 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__1; +x_2 = lean_string_length(x_1); +return x_2; +} +} +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("term_++_", 8); +return x_1; +} +} +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__1; +x_2 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__3; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__3() { +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__5() { _start: { lean_object* x_1; @@ -1150,7 +1137,7 @@ x_1 = lean_mk_string_from_bytes("++", 2); return x_1; } } -static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4() { +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__6() { _start: { lean_object* x_1; lean_object* x_2; @@ -1159,7 +1146,7 @@ x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__5() { +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__7() { _start: { lean_object* x_1; @@ -1167,17 +1154,17 @@ x_1 = lean_mk_string_from_bytes("str", 3); return x_1; } } -static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__6() { +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__5; +x_2 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__7; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__7() { +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__9() { _start: { lean_object* x_1; @@ -1185,98 +1172,148 @@ x_1 = lean_mk_string_from_bytes("\" := \"", 6); return x_1; } } -static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__8() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("app", 3); -return x_1; -} -} -static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__9() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__8; -x_2 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__8; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; -} -} static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__10() { _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("repr", 4); -return x_1; -} -} -static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__11() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__10; -x_2 = lean_string_utf8_byte_size(x_1); -return x_2; -} -} -static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__12() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__10; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__13() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__12; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__14() { -_start: -{ -lean_object* x_1; x_1 = lean_mk_string_from_bytes("paren", 5); return x_1; } } -static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__15() { +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__8; -x_2 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__14; +x_2 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__10; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__12() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("app", 3); +return x_1; +} +} +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__13() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__8; +x_2 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__12; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__14() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("Format.group", 12); +return x_1; +} +} +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__15() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__14; +x_2 = lean_string_utf8_byte_size(x_1); +return x_2; +} +} static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__16() { _start: { lean_object* x_1; +x_1 = lean_mk_string_from_bytes("group", 5); +return x_1; +} +} +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__17() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("Format.nest", 11); +return x_1; +} +} +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__18() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__17; +x_2 = lean_string_utf8_byte_size(x_1); +return x_2; +} +} +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__19() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("nest", 4); +return x_1; +} +} +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__20() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("repr", 4); +return x_1; +} +} +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__21() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__20; +x_2 = lean_string_utf8_byte_size(x_1); +return x_2; +} +} +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__22() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__20; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__23() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__22; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__24() { +_start: +{ +lean_object* x_1; x_1 = lean_mk_string_from_bytes("proj", 4); return x_1; } } -static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__17() { +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__25() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__8; -x_2 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__16; +x_2 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__24; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__18() { +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__26() { _start: { lean_object* x_1; @@ -1284,7 +1321,7 @@ x_1 = lean_mk_string_from_bytes(".", 1); return x_1; } } -static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__19() { +static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__27() { _start: { lean_object* x_1; @@ -1292,101 +1329,53 @@ x_1 = lean_mk_string_from_bytes("\"_\"", 3); return x_1; } } -LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___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, uint8_t x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17) { +LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___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* 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) { _start: { -uint8_t x_18; lean_object* x_19; lean_object* x_231; +uint8_t x_20; lean_object* x_21; lean_object* x_337; +lean_inc(x_18); +lean_inc(x_17); lean_inc(x_16); lean_inc(x_15); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_7); -x_231 = l_Lean_Meta_isType(x_7, x_13, x_14, x_15, x_16, x_17); -if (lean_obj_tag(x_231) == 0) +lean_inc(x_10); +x_337 = l_Lean_Meta_isType(x_10, x_15, x_16, x_17, x_18, x_19); +if (lean_obj_tag(x_337) == 0) { -lean_object* x_232; uint8_t x_233; -x_232 = lean_ctor_get(x_231, 0); -lean_inc(x_232); -x_233 = lean_unbox(x_232); -if (x_233 == 0) +lean_object* x_338; uint8_t x_339; +x_338 = lean_ctor_get(x_337, 0); +lean_inc(x_338); +x_339 = lean_unbox(x_338); +if (x_339 == 0) { -lean_object* x_234; lean_object* x_235; -lean_dec(x_232); -x_234 = lean_ctor_get(x_231, 1); -lean_inc(x_234); -lean_dec(x_231); -lean_inc(x_16); -lean_inc(x_15); -x_235 = l_Lean_Meta_isProof(x_7, x_13, x_14, x_15, x_16, x_234); -if (lean_obj_tag(x_235) == 0) +lean_object* x_340; lean_object* x_341; +lean_dec(x_338); +x_340 = lean_ctor_get(x_337, 1); +lean_inc(x_340); +lean_dec(x_337); +lean_inc(x_18); +lean_inc(x_17); +x_341 = l_Lean_Meta_isProof(x_10, x_15, x_16, x_17, x_18, x_340); +if (lean_obj_tag(x_341) == 0) { -lean_object* x_236; lean_object* x_237; uint8_t x_238; -x_236 = lean_ctor_get(x_235, 0); -lean_inc(x_236); -x_237 = lean_ctor_get(x_235, 1); -lean_inc(x_237); -lean_dec(x_235); -x_238 = lean_unbox(x_236); -lean_dec(x_236); -x_18 = x_238; -x_19 = x_237; -goto block_230; +lean_object* x_342; lean_object* x_343; uint8_t x_344; +x_342 = lean_ctor_get(x_341, 0); +lean_inc(x_342); +x_343 = lean_ctor_get(x_341, 1); +lean_inc(x_343); +lean_dec(x_341); +x_344 = lean_unbox(x_342); +lean_dec(x_342); +x_20 = x_344; +x_21 = x_343; +goto block_336; } else { -uint8_t x_239; -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_239 = !lean_is_exclusive(x_235); -if (x_239 == 0) -{ -return x_235; -} -else -{ -lean_object* x_240; lean_object* x_241; lean_object* x_242; -x_240 = lean_ctor_get(x_235, 0); -x_241 = lean_ctor_get(x_235, 1); -lean_inc(x_241); -lean_inc(x_240); -lean_dec(x_235); -x_242 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_242, 0, x_240); -lean_ctor_set(x_242, 1, x_241); -return x_242; -} -} -} -else -{ -lean_object* x_243; uint8_t x_244; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_7); -x_243 = lean_ctor_get(x_231, 1); -lean_inc(x_243); -lean_dec(x_231); -x_244 = lean_unbox(x_232); -lean_dec(x_232); -x_18 = x_244; -x_19 = x_243; -goto block_230; -} -} -else -{ -uint8_t x_245; -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); +uint8_t x_345; +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_11); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -1394,508 +1383,845 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -lean_dec(x_1); -x_245 = !lean_is_exclusive(x_231); -if (x_245 == 0) +x_345 = !lean_is_exclusive(x_341); +if (x_345 == 0) { -return x_231; +return x_341; } else { -lean_object* x_246; lean_object* x_247; lean_object* x_248; -x_246 = lean_ctor_get(x_231, 0); -x_247 = lean_ctor_get(x_231, 1); -lean_inc(x_247); -lean_inc(x_246); -lean_dec(x_231); -x_248 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_248, 0, x_246); -lean_ctor_set(x_248, 1, x_247); -return x_248; +lean_object* x_346; lean_object* x_347; lean_object* x_348; +x_346 = lean_ctor_get(x_341, 0); +x_347 = lean_ctor_get(x_341, 1); +lean_inc(x_347); +lean_inc(x_346); +lean_dec(x_341); +x_348 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_348, 0, x_346); +lean_ctor_set(x_348, 1, x_347); +return x_348; } } -block_230: +} +else { -if (x_18 == 0) -{ -lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; -lean_inc(x_15); -x_20 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(x_15, x_16, x_19); -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); -lean_inc(x_22); -lean_dec(x_20); -x_23 = lean_ctor_get(x_15, 10); -lean_inc(x_23); -lean_dec(x_15); -x_24 = lean_st_ref_get(x_16, x_22); +lean_object* x_349; uint8_t x_350; lean_dec(x_16); -x_25 = !lean_is_exclusive(x_24); -if (x_25 == 0) +lean_dec(x_15); +lean_dec(x_10); +x_349 = lean_ctor_get(x_337, 1); +lean_inc(x_349); +lean_dec(x_337); +x_350 = lean_unbox(x_338); +lean_dec(x_338); +x_20 = x_350; +x_21 = x_349; +goto block_336; +} +} +else { -lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; -x_26 = lean_ctor_get(x_24, 0); -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -lean_dec(x_26); -x_28 = lean_environment_main_module(x_27); -x_29 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__3; -lean_inc(x_21); -x_30 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_30, 0, x_21); -lean_ctor_set(x_30, 1, x_29); -x_31 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4; -x_32 = lean_array_push(x_31, x_8); +uint8_t x_351; +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_351 = !lean_is_exclusive(x_337); +if (x_351 == 0) +{ +return x_337; +} +else +{ +lean_object* x_352; lean_object* x_353; lean_object* x_354; +x_352 = lean_ctor_get(x_337, 0); +x_353 = lean_ctor_get(x_337, 1); +lean_inc(x_353); +lean_inc(x_352); +lean_dec(x_337); +x_354 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_354, 0, x_352); +lean_ctor_set(x_354, 1, x_353); +return x_354; +} +} +block_336: +{ +if (x_20 == 0) +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33; +x_22 = lean_string_length(x_1); +x_23 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__2; +x_24 = lean_nat_add(x_22, x_23); +lean_dec(x_22); +x_25 = l_Nat_repr(x_24); +x_26 = lean_box(2); +x_27 = l_Lean_Syntax_mkNumLit(x_25, x_26); +lean_inc(x_17); +x_28 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(x_17, x_18, 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); -x_33 = lean_array_push(x_32, x_30); -x_34 = lean_array_push(x_33, x_1); -x_35 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__2; -lean_inc(x_21); -x_36 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_36, 0, x_21); -lean_ctor_set(x_36, 1, x_35); -lean_ctor_set(x_36, 2, x_34); -x_37 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__7; -lean_inc(x_21); +lean_dec(x_28); +x_31 = lean_ctor_get(x_17, 10); +lean_inc(x_31); +lean_dec(x_17); +x_32 = lean_st_ref_get(x_18, x_30); +lean_dec(x_18); +x_33 = !lean_is_exclusive(x_32); +if (x_33 == 0) +{ +lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; 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; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; +x_34 = lean_ctor_get(x_32, 0); +x_35 = lean_ctor_get(x_34, 0); +lean_inc(x_35); +lean_dec(x_34); +x_36 = lean_environment_main_module(x_35); +x_37 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__5; +lean_inc(x_29); x_38 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_38, 0, x_21); +lean_ctor_set(x_38, 0, x_29); lean_ctor_set(x_38, 1, x_37); -x_39 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__21; -x_40 = lean_array_push(x_39, x_38); -x_41 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__6; -lean_inc(x_21); -x_42 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_42, 0, x_21); -lean_ctor_set(x_42, 1, x_41); -lean_ctor_set(x_42, 2, x_40); -x_43 = lean_array_push(x_31, x_36); -lean_inc(x_30); -x_44 = lean_array_push(x_43, x_30); -x_45 = lean_array_push(x_44, x_42); -lean_inc(x_21); -x_46 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_46, 0, x_21); -lean_ctor_set(x_46, 1, x_35); -lean_ctor_set(x_46, 2, x_45); -x_47 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__10; -x_48 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__11; -x_49 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_49, 0, x_47); -lean_ctor_set(x_49, 1, x_2); -lean_ctor_set(x_49, 2, x_48); -x_50 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__12; -x_51 = l_Lean_addMacroScope(x_28, x_50, x_23); -x_52 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_52, 0, x_50); -lean_ctor_set(x_52, 1, x_3); -x_53 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__13; -x_54 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_54, 0, x_53); -lean_ctor_set(x_54, 1, x_4); -x_55 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_55, 0, x_52); -lean_ctor_set(x_55, 1, x_54); -lean_inc(x_21); -x_56 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_56, 0, x_21); -lean_ctor_set(x_56, 1, x_49); -lean_ctor_set(x_56, 2, x_51); -lean_ctor_set(x_56, 3, x_55); -x_57 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__11; -lean_inc(x_21); -x_58 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_58, 0, x_21); -lean_ctor_set(x_58, 1, x_57); -x_59 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__18; -lean_inc(x_21); -x_60 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_60, 0, x_21); -lean_ctor_set(x_60, 1, x_59); -x_61 = lean_mk_syntax_ident(x_5); -x_62 = lean_array_push(x_31, x_6); -x_63 = lean_array_push(x_62, x_60); -x_64 = lean_array_push(x_63, x_61); -x_65 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__17; -lean_inc(x_21); -x_66 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_66, 0, x_21); -lean_ctor_set(x_66, 1, x_65); -lean_ctor_set(x_66, 2, x_64); -x_67 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__13; -x_68 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__32; -lean_inc(x_21); -x_69 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_69, 0, x_21); -lean_ctor_set(x_69, 1, x_67); -lean_ctor_set(x_69, 2, x_68); -x_70 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__31; -x_71 = lean_array_push(x_70, x_66); -x_72 = lean_array_push(x_71, x_69); -lean_inc(x_21); -x_73 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_73, 0, x_21); -lean_ctor_set(x_73, 1, x_67); -lean_ctor_set(x_73, 2, x_72); -x_74 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__33; -lean_inc(x_21); -x_75 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_75, 0, x_21); -lean_ctor_set(x_75, 1, x_74); -x_76 = lean_array_push(x_31, x_58); -x_77 = lean_array_push(x_76, x_73); -x_78 = lean_array_push(x_77, x_75); -x_79 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__15; -lean_inc(x_21); -x_80 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_80, 0, x_21); -lean_ctor_set(x_80, 1, x_79); -lean_ctor_set(x_80, 2, x_78); -x_81 = lean_array_push(x_39, x_80); -lean_inc(x_21); -x_82 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_82, 0, x_21); -lean_ctor_set(x_82, 1, x_67); -lean_ctor_set(x_82, 2, x_81); -x_83 = lean_array_push(x_70, x_56); -x_84 = lean_array_push(x_83, x_82); -x_85 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__9; -lean_inc(x_21); -x_86 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_86, 0, x_21); -lean_ctor_set(x_86, 1, x_85); -lean_ctor_set(x_86, 2, x_84); -x_87 = lean_array_push(x_31, x_46); -x_88 = lean_array_push(x_87, x_30); -x_89 = lean_array_push(x_88, x_86); -x_90 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_90, 0, x_21); -lean_ctor_set(x_90, 1, x_35); -lean_ctor_set(x_90, 2, x_89); -x_91 = lean_box(x_9); -x_92 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_92, 0, x_90); +x_39 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__6; +x_40 = lean_array_push(x_39, x_11); +lean_inc(x_38); +x_41 = lean_array_push(x_40, x_38); +x_42 = lean_array_push(x_41, x_2); +x_43 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4; +lean_inc(x_29); +x_44 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_44, 0, x_29); +lean_ctor_set(x_44, 1, x_43); +lean_ctor_set(x_44, 2, x_42); +x_45 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__9; +lean_inc(x_29); +x_46 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_46, 0, x_29); +lean_ctor_set(x_46, 1, x_45); +x_47 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__18; +x_48 = lean_array_push(x_47, x_46); +x_49 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__8; +lean_inc(x_29); +x_50 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_50, 0, x_29); +lean_ctor_set(x_50, 1, x_49); +lean_ctor_set(x_50, 2, x_48); +x_51 = lean_array_push(x_39, x_44); +lean_inc(x_38); +x_52 = lean_array_push(x_51, x_38); +x_53 = lean_array_push(x_52, x_50); +lean_inc(x_29); +x_54 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_54, 0, x_29); +lean_ctor_set(x_54, 1, x_43); +lean_ctor_set(x_54, 2, x_53); +x_55 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__11; +lean_inc(x_29); +x_56 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_56, 0, x_29); +lean_ctor_set(x_56, 1, x_55); +x_57 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__14; +x_58 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__15; +lean_inc(x_3); +x_59 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_59, 0, x_57); +lean_ctor_set(x_59, 1, x_3); +lean_ctor_set(x_59, 2, x_58); +x_60 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__16; +lean_inc(x_4); +x_61 = l_Lean_Name_str___override(x_4, x_60); +lean_inc(x_31); +lean_inc(x_36); +x_62 = l_Lean_addMacroScope(x_36, x_61, x_31); +lean_inc(x_5); +x_63 = l_Lean_Name_str___override(x_5, x_60); +lean_inc(x_6); +lean_inc(x_63); +x_64 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_64, 0, x_63); +lean_ctor_set(x_64, 1, x_6); +x_65 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_65, 0, x_63); +lean_inc(x_7); +x_66 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_66, 0, x_65); +lean_ctor_set(x_66, 1, x_7); +x_67 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_67, 0, x_64); +lean_ctor_set(x_67, 1, x_66); +lean_inc(x_29); +x_68 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_68, 0, x_29); +lean_ctor_set(x_68, 1, x_59); +lean_ctor_set(x_68, 2, x_62); +lean_ctor_set(x_68, 3, x_67); +x_69 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__17; +x_70 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__18; +lean_inc(x_3); +x_71 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_3); +lean_ctor_set(x_71, 2, x_70); +x_72 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__19; +x_73 = l_Lean_Name_str___override(x_4, x_72); +lean_inc(x_31); +lean_inc(x_36); +x_74 = l_Lean_addMacroScope(x_36, x_73, x_31); +x_75 = l_Lean_Name_str___override(x_5, x_72); +lean_inc(x_6); +lean_inc(x_75); +x_76 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_76, 0, x_75); +lean_ctor_set(x_76, 1, x_6); +x_77 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_77, 0, x_75); +lean_inc(x_7); +x_78 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_78, 0, x_77); +lean_ctor_set(x_78, 1, x_7); +x_79 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_79, 0, x_76); +lean_ctor_set(x_79, 1, x_78); +lean_inc(x_29); +x_80 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_80, 0, x_29); +lean_ctor_set(x_80, 1, x_71); +lean_ctor_set(x_80, 2, x_74); +lean_ctor_set(x_80, 3, x_79); +x_81 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__20; +x_82 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__21; +x_83 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_83, 0, x_81); +lean_ctor_set(x_83, 1, x_3); +lean_ctor_set(x_83, 2, x_82); +x_84 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__22; +x_85 = l_Lean_addMacroScope(x_36, x_84, x_31); +x_86 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_86, 0, x_84); +lean_ctor_set(x_86, 1, x_6); +x_87 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__23; +x_88 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_88, 0, x_87); +lean_ctor_set(x_88, 1, x_7); +x_89 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_89, 0, x_86); +lean_ctor_set(x_89, 1, x_88); +lean_inc(x_29); +x_90 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_90, 0, x_29); +lean_ctor_set(x_90, 1, x_83); +lean_ctor_set(x_90, 2, x_85); +lean_ctor_set(x_90, 3, x_89); +x_91 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__26; +lean_inc(x_29); +x_92 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_92, 0, x_29); lean_ctor_set(x_92, 1, x_91); -x_93 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_93, 0, x_92); -lean_ctor_set(x_24, 0, x_93); -return x_24; -} -else -{ -lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; -x_94 = lean_ctor_get(x_24, 0); -x_95 = lean_ctor_get(x_24, 1); -lean_inc(x_95); -lean_inc(x_94); -lean_dec(x_24); -x_96 = lean_ctor_get(x_94, 0); -lean_inc(x_96); -lean_dec(x_94); -x_97 = lean_environment_main_module(x_96); -x_98 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__3; -lean_inc(x_21); -x_99 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_99, 0, x_21); -lean_ctor_set(x_99, 1, x_98); -x_100 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4; -x_101 = lean_array_push(x_100, x_8); -lean_inc(x_99); -x_102 = lean_array_push(x_101, x_99); -x_103 = lean_array_push(x_102, x_1); -x_104 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__2; -lean_inc(x_21); +x_93 = lean_mk_syntax_ident(x_8); +x_94 = lean_array_push(x_39, x_9); +x_95 = lean_array_push(x_94, x_92); +x_96 = lean_array_push(x_95, x_93); +x_97 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__25; +lean_inc(x_29); +x_98 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_98, 0, x_29); +lean_ctor_set(x_98, 1, x_97); +lean_ctor_set(x_98, 2, x_96); +x_99 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__13; +x_100 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__29; +lean_inc(x_29); +x_101 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_101, 0, x_29); +lean_ctor_set(x_101, 1, x_99); +lean_ctor_set(x_101, 2, x_100); +x_102 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__28; +x_103 = lean_array_push(x_102, x_98); +lean_inc(x_101); +x_104 = lean_array_push(x_103, x_101); +lean_inc(x_29); x_105 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_105, 0, x_21); -lean_ctor_set(x_105, 1, x_104); -lean_ctor_set(x_105, 2, x_103); -x_106 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__7; -lean_inc(x_21); +lean_ctor_set(x_105, 0, x_29); +lean_ctor_set(x_105, 1, x_99); +lean_ctor_set(x_105, 2, x_104); +x_106 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__30; +lean_inc(x_29); x_107 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_107, 0, x_21); +lean_ctor_set(x_107, 0, x_29); lean_ctor_set(x_107, 1, x_106); -x_108 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__21; -x_109 = lean_array_push(x_108, x_107); -x_110 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__6; -lean_inc(x_21); -x_111 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_111, 0, x_21); -lean_ctor_set(x_111, 1, x_110); -lean_ctor_set(x_111, 2, x_109); -x_112 = lean_array_push(x_100, x_105); -lean_inc(x_99); -x_113 = lean_array_push(x_112, x_99); -x_114 = lean_array_push(x_113, x_111); -lean_inc(x_21); -x_115 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_115, 0, x_21); -lean_ctor_set(x_115, 1, x_104); -lean_ctor_set(x_115, 2, x_114); -x_116 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__10; -x_117 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__11; -x_118 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_118, 0, x_116); -lean_ctor_set(x_118, 1, x_2); -lean_ctor_set(x_118, 2, x_117); -x_119 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__12; -x_120 = l_Lean_addMacroScope(x_97, x_119, x_23); -x_121 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_121, 0, x_119); -lean_ctor_set(x_121, 1, x_3); -x_122 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__13; -x_123 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_123, 0, x_122); -lean_ctor_set(x_123, 1, x_4); -x_124 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_124, 0, x_121); -lean_ctor_set(x_124, 1, x_123); -lean_inc(x_21); -x_125 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_125, 0, x_21); -lean_ctor_set(x_125, 1, x_118); -lean_ctor_set(x_125, 2, x_120); -lean_ctor_set(x_125, 3, x_124); -x_126 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__11; -lean_inc(x_21); -x_127 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_127, 0, x_21); -lean_ctor_set(x_127, 1, x_126); -x_128 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__18; -lean_inc(x_21); -x_129 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_129, 0, x_21); -lean_ctor_set(x_129, 1, x_128); -x_130 = lean_mk_syntax_ident(x_5); -x_131 = lean_array_push(x_100, x_6); -x_132 = lean_array_push(x_131, x_129); -x_133 = lean_array_push(x_132, x_130); -x_134 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__17; -lean_inc(x_21); -x_135 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_135, 0, x_21); -lean_ctor_set(x_135, 1, x_134); -lean_ctor_set(x_135, 2, x_133); -x_136 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__13; -x_137 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__32; -lean_inc(x_21); +x_108 = lean_array_push(x_39, x_56); +lean_inc(x_108); +x_109 = lean_array_push(x_108, x_105); +lean_inc(x_107); +x_110 = lean_array_push(x_109, x_107); +x_111 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__11; +lean_inc(x_29); +x_112 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_112, 0, x_29); +lean_ctor_set(x_112, 1, x_111); +lean_ctor_set(x_112, 2, x_110); +x_113 = lean_array_push(x_47, x_112); +lean_inc(x_29); +x_114 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_114, 0, x_29); +lean_ctor_set(x_114, 1, x_99); +lean_ctor_set(x_114, 2, x_113); +x_115 = lean_array_push(x_102, x_90); +x_116 = lean_array_push(x_115, x_114); +x_117 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__13; +lean_inc(x_29); +x_118 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_118, 0, x_29); +lean_ctor_set(x_118, 1, x_117); +lean_ctor_set(x_118, 2, x_116); +x_119 = lean_array_push(x_102, x_118); +lean_inc(x_101); +x_120 = lean_array_push(x_119, x_101); +lean_inc(x_29); +x_121 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_121, 0, x_29); +lean_ctor_set(x_121, 1, x_99); +lean_ctor_set(x_121, 2, x_120); +lean_inc(x_108); +x_122 = lean_array_push(x_108, x_121); +lean_inc(x_107); +x_123 = lean_array_push(x_122, x_107); +lean_inc(x_29); +x_124 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_124, 0, x_29); +lean_ctor_set(x_124, 1, x_111); +lean_ctor_set(x_124, 2, x_123); +x_125 = lean_array_push(x_102, x_27); +x_126 = lean_array_push(x_125, x_124); +lean_inc(x_29); +x_127 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_127, 0, x_29); +lean_ctor_set(x_127, 1, x_99); +lean_ctor_set(x_127, 2, x_126); +x_128 = lean_array_push(x_102, x_80); +x_129 = lean_array_push(x_128, x_127); +lean_inc(x_29); +x_130 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_130, 0, x_29); +lean_ctor_set(x_130, 1, x_117); +lean_ctor_set(x_130, 2, x_129); +x_131 = lean_array_push(x_102, x_130); +lean_inc(x_101); +x_132 = lean_array_push(x_131, x_101); +lean_inc(x_29); +x_133 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_133, 0, x_29); +lean_ctor_set(x_133, 1, x_99); +lean_ctor_set(x_133, 2, x_132); +lean_inc(x_108); +x_134 = lean_array_push(x_108, x_133); +lean_inc(x_107); +x_135 = lean_array_push(x_134, x_107); +lean_inc(x_29); +x_136 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_136, 0, x_29); +lean_ctor_set(x_136, 1, x_111); +lean_ctor_set(x_136, 2, x_135); +x_137 = lean_array_push(x_47, x_136); +lean_inc(x_29); x_138 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_138, 0, x_21); -lean_ctor_set(x_138, 1, x_136); +lean_ctor_set(x_138, 0, x_29); +lean_ctor_set(x_138, 1, x_99); lean_ctor_set(x_138, 2, x_137); -x_139 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__31; -x_140 = lean_array_push(x_139, x_135); -x_141 = lean_array_push(x_140, x_138); -lean_inc(x_21); -x_142 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_142, 0, x_21); -lean_ctor_set(x_142, 1, x_136); -lean_ctor_set(x_142, 2, x_141); -x_143 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__33; -lean_inc(x_21); -x_144 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_144, 0, x_21); -lean_ctor_set(x_144, 1, x_143); -x_145 = lean_array_push(x_100, x_127); -x_146 = lean_array_push(x_145, x_142); -x_147 = lean_array_push(x_146, x_144); -x_148 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__15; -lean_inc(x_21); -x_149 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_149, 0, x_21); -lean_ctor_set(x_149, 1, x_148); -lean_ctor_set(x_149, 2, x_147); -x_150 = lean_array_push(x_108, x_149); -lean_inc(x_21); +x_139 = lean_array_push(x_102, x_68); +x_140 = lean_array_push(x_139, x_138); +lean_inc(x_29); +x_141 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_141, 0, x_29); +lean_ctor_set(x_141, 1, x_117); +lean_ctor_set(x_141, 2, x_140); +x_142 = lean_array_push(x_102, x_141); +x_143 = lean_array_push(x_142, x_101); +lean_inc(x_29); +x_144 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_144, 0, x_29); +lean_ctor_set(x_144, 1, x_99); +lean_ctor_set(x_144, 2, x_143); +x_145 = lean_array_push(x_108, x_144); +x_146 = lean_array_push(x_145, x_107); +lean_inc(x_29); +x_147 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_147, 0, x_29); +lean_ctor_set(x_147, 1, x_111); +lean_ctor_set(x_147, 2, x_146); +x_148 = lean_array_push(x_39, x_54); +x_149 = lean_array_push(x_148, x_38); +x_150 = lean_array_push(x_149, x_147); x_151 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_151, 0, x_21); -lean_ctor_set(x_151, 1, x_136); +lean_ctor_set(x_151, 0, x_29); +lean_ctor_set(x_151, 1, x_43); lean_ctor_set(x_151, 2, x_150); -x_152 = lean_array_push(x_139, x_125); -x_153 = lean_array_push(x_152, x_151); -x_154 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__9; -lean_inc(x_21); -x_155 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_155, 0, x_21); -lean_ctor_set(x_155, 1, x_154); -lean_ctor_set(x_155, 2, x_153); -x_156 = lean_array_push(x_100, x_115); -x_157 = lean_array_push(x_156, x_99); -x_158 = lean_array_push(x_157, x_155); -x_159 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_159, 0, x_21); -lean_ctor_set(x_159, 1, x_104); -lean_ctor_set(x_159, 2, x_158); -x_160 = lean_box(x_9); -x_161 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_161, 0, x_159); -lean_ctor_set(x_161, 1, x_160); -x_162 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_162, 0, x_161); -x_163 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_163, 0, x_162); -lean_ctor_set(x_163, 1, x_95); -return x_163; +x_152 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_152, 0, x_151); +lean_ctor_set(x_32, 0, x_152); +return x_32; +} +else +{ +lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; +x_153 = lean_ctor_get(x_32, 0); +x_154 = lean_ctor_get(x_32, 1); +lean_inc(x_154); +lean_inc(x_153); +lean_dec(x_32); +x_155 = lean_ctor_get(x_153, 0); +lean_inc(x_155); +lean_dec(x_153); +x_156 = lean_environment_main_module(x_155); +x_157 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__5; +lean_inc(x_29); +x_158 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_158, 0, x_29); +lean_ctor_set(x_158, 1, x_157); +x_159 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__6; +x_160 = lean_array_push(x_159, x_11); +lean_inc(x_158); +x_161 = lean_array_push(x_160, x_158); +x_162 = lean_array_push(x_161, x_2); +x_163 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4; +lean_inc(x_29); +x_164 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_164, 0, x_29); +lean_ctor_set(x_164, 1, x_163); +lean_ctor_set(x_164, 2, x_162); +x_165 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__9; +lean_inc(x_29); +x_166 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_166, 0, x_29); +lean_ctor_set(x_166, 1, x_165); +x_167 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__18; +x_168 = lean_array_push(x_167, x_166); +x_169 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__8; +lean_inc(x_29); +x_170 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_170, 0, x_29); +lean_ctor_set(x_170, 1, x_169); +lean_ctor_set(x_170, 2, x_168); +x_171 = lean_array_push(x_159, x_164); +lean_inc(x_158); +x_172 = lean_array_push(x_171, x_158); +x_173 = lean_array_push(x_172, x_170); +lean_inc(x_29); +x_174 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_174, 0, x_29); +lean_ctor_set(x_174, 1, x_163); +lean_ctor_set(x_174, 2, x_173); +x_175 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__11; +lean_inc(x_29); +x_176 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_176, 0, x_29); +lean_ctor_set(x_176, 1, x_175); +x_177 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__14; +x_178 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__15; +lean_inc(x_3); +x_179 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_179, 0, x_177); +lean_ctor_set(x_179, 1, x_3); +lean_ctor_set(x_179, 2, x_178); +x_180 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__16; +lean_inc(x_4); +x_181 = l_Lean_Name_str___override(x_4, x_180); +lean_inc(x_31); +lean_inc(x_156); +x_182 = l_Lean_addMacroScope(x_156, x_181, x_31); +lean_inc(x_5); +x_183 = l_Lean_Name_str___override(x_5, x_180); +lean_inc(x_6); +lean_inc(x_183); +x_184 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_184, 0, x_183); +lean_ctor_set(x_184, 1, x_6); +x_185 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_185, 0, x_183); +lean_inc(x_7); +x_186 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_186, 0, x_185); +lean_ctor_set(x_186, 1, x_7); +x_187 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_187, 0, x_184); +lean_ctor_set(x_187, 1, x_186); +lean_inc(x_29); +x_188 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_188, 0, x_29); +lean_ctor_set(x_188, 1, x_179); +lean_ctor_set(x_188, 2, x_182); +lean_ctor_set(x_188, 3, x_187); +x_189 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__17; +x_190 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__18; +lean_inc(x_3); +x_191 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_191, 0, x_189); +lean_ctor_set(x_191, 1, x_3); +lean_ctor_set(x_191, 2, x_190); +x_192 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__19; +x_193 = l_Lean_Name_str___override(x_4, x_192); +lean_inc(x_31); +lean_inc(x_156); +x_194 = l_Lean_addMacroScope(x_156, x_193, x_31); +x_195 = l_Lean_Name_str___override(x_5, x_192); +lean_inc(x_6); +lean_inc(x_195); +x_196 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_196, 0, x_195); +lean_ctor_set(x_196, 1, x_6); +x_197 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_197, 0, x_195); +lean_inc(x_7); +x_198 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_198, 0, x_197); +lean_ctor_set(x_198, 1, x_7); +x_199 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_199, 0, x_196); +lean_ctor_set(x_199, 1, x_198); +lean_inc(x_29); +x_200 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_200, 0, x_29); +lean_ctor_set(x_200, 1, x_191); +lean_ctor_set(x_200, 2, x_194); +lean_ctor_set(x_200, 3, x_199); +x_201 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__20; +x_202 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__21; +x_203 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_203, 0, x_201); +lean_ctor_set(x_203, 1, x_3); +lean_ctor_set(x_203, 2, x_202); +x_204 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__22; +x_205 = l_Lean_addMacroScope(x_156, x_204, x_31); +x_206 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_206, 0, x_204); +lean_ctor_set(x_206, 1, x_6); +x_207 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__23; +x_208 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_208, 0, x_207); +lean_ctor_set(x_208, 1, x_7); +x_209 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_209, 0, x_206); +lean_ctor_set(x_209, 1, x_208); +lean_inc(x_29); +x_210 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_210, 0, x_29); +lean_ctor_set(x_210, 1, x_203); +lean_ctor_set(x_210, 2, x_205); +lean_ctor_set(x_210, 3, x_209); +x_211 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__26; +lean_inc(x_29); +x_212 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_212, 0, x_29); +lean_ctor_set(x_212, 1, x_211); +x_213 = lean_mk_syntax_ident(x_8); +x_214 = lean_array_push(x_159, x_9); +x_215 = lean_array_push(x_214, x_212); +x_216 = lean_array_push(x_215, x_213); +x_217 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__25; +lean_inc(x_29); +x_218 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_218, 0, x_29); +lean_ctor_set(x_218, 1, x_217); +lean_ctor_set(x_218, 2, x_216); +x_219 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__13; +x_220 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__29; +lean_inc(x_29); +x_221 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_221, 0, x_29); +lean_ctor_set(x_221, 1, x_219); +lean_ctor_set(x_221, 2, x_220); +x_222 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__28; +x_223 = lean_array_push(x_222, x_218); +lean_inc(x_221); +x_224 = lean_array_push(x_223, x_221); +lean_inc(x_29); +x_225 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_225, 0, x_29); +lean_ctor_set(x_225, 1, x_219); +lean_ctor_set(x_225, 2, x_224); +x_226 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__30; +lean_inc(x_29); +x_227 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_227, 0, x_29); +lean_ctor_set(x_227, 1, x_226); +x_228 = lean_array_push(x_159, x_176); +lean_inc(x_228); +x_229 = lean_array_push(x_228, x_225); +lean_inc(x_227); +x_230 = lean_array_push(x_229, x_227); +x_231 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__11; +lean_inc(x_29); +x_232 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_232, 0, x_29); +lean_ctor_set(x_232, 1, x_231); +lean_ctor_set(x_232, 2, x_230); +x_233 = lean_array_push(x_167, x_232); +lean_inc(x_29); +x_234 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_234, 0, x_29); +lean_ctor_set(x_234, 1, x_219); +lean_ctor_set(x_234, 2, x_233); +x_235 = lean_array_push(x_222, x_210); +x_236 = lean_array_push(x_235, x_234); +x_237 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__13; +lean_inc(x_29); +x_238 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_238, 0, x_29); +lean_ctor_set(x_238, 1, x_237); +lean_ctor_set(x_238, 2, x_236); +x_239 = lean_array_push(x_222, x_238); +lean_inc(x_221); +x_240 = lean_array_push(x_239, x_221); +lean_inc(x_29); +x_241 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_241, 0, x_29); +lean_ctor_set(x_241, 1, x_219); +lean_ctor_set(x_241, 2, x_240); +lean_inc(x_228); +x_242 = lean_array_push(x_228, x_241); +lean_inc(x_227); +x_243 = lean_array_push(x_242, x_227); +lean_inc(x_29); +x_244 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_244, 0, x_29); +lean_ctor_set(x_244, 1, x_231); +lean_ctor_set(x_244, 2, x_243); +x_245 = lean_array_push(x_222, x_27); +x_246 = lean_array_push(x_245, x_244); +lean_inc(x_29); +x_247 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_247, 0, x_29); +lean_ctor_set(x_247, 1, x_219); +lean_ctor_set(x_247, 2, x_246); +x_248 = lean_array_push(x_222, x_200); +x_249 = lean_array_push(x_248, x_247); +lean_inc(x_29); +x_250 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_250, 0, x_29); +lean_ctor_set(x_250, 1, x_237); +lean_ctor_set(x_250, 2, x_249); +x_251 = lean_array_push(x_222, x_250); +lean_inc(x_221); +x_252 = lean_array_push(x_251, x_221); +lean_inc(x_29); +x_253 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_253, 0, x_29); +lean_ctor_set(x_253, 1, x_219); +lean_ctor_set(x_253, 2, x_252); +lean_inc(x_228); +x_254 = lean_array_push(x_228, x_253); +lean_inc(x_227); +x_255 = lean_array_push(x_254, x_227); +lean_inc(x_29); +x_256 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_256, 0, x_29); +lean_ctor_set(x_256, 1, x_231); +lean_ctor_set(x_256, 2, x_255); +x_257 = lean_array_push(x_167, x_256); +lean_inc(x_29); +x_258 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_258, 0, x_29); +lean_ctor_set(x_258, 1, x_219); +lean_ctor_set(x_258, 2, x_257); +x_259 = lean_array_push(x_222, x_188); +x_260 = lean_array_push(x_259, x_258); +lean_inc(x_29); +x_261 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_261, 0, x_29); +lean_ctor_set(x_261, 1, x_237); +lean_ctor_set(x_261, 2, x_260); +x_262 = lean_array_push(x_222, x_261); +x_263 = lean_array_push(x_262, x_221); +lean_inc(x_29); +x_264 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_264, 0, x_29); +lean_ctor_set(x_264, 1, x_219); +lean_ctor_set(x_264, 2, x_263); +x_265 = lean_array_push(x_228, x_264); +x_266 = lean_array_push(x_265, x_227); +lean_inc(x_29); +x_267 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_267, 0, x_29); +lean_ctor_set(x_267, 1, x_231); +lean_ctor_set(x_267, 2, x_266); +x_268 = lean_array_push(x_159, x_174); +x_269 = lean_array_push(x_268, x_158); +x_270 = lean_array_push(x_269, x_267); +x_271 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_271, 0, x_29); +lean_ctor_set(x_271, 1, x_163); +lean_ctor_set(x_271, 2, x_270); +x_272 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_272, 0, x_271); +x_273 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_273, 0, x_272); +lean_ctor_set(x_273, 1, x_154); +return x_273; } } else { -lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; uint8_t x_168; +lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; uint8_t x_278; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); -x_164 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(x_15, x_16, x_19); -x_165 = lean_ctor_get(x_164, 0); -lean_inc(x_165); -x_166 = lean_ctor_get(x_164, 1); -lean_inc(x_166); -lean_dec(x_164); -x_167 = lean_st_ref_get(x_16, x_166); -lean_dec(x_16); -x_168 = !lean_is_exclusive(x_167); -if (x_168 == 0) +x_274 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(x_17, x_18, x_21); +x_275 = lean_ctor_get(x_274, 0); +lean_inc(x_275); +x_276 = lean_ctor_get(x_274, 1); +lean_inc(x_276); +lean_dec(x_274); +x_277 = lean_st_ref_get(x_18, x_276); +lean_dec(x_18); +x_278 = !lean_is_exclusive(x_277); +if (x_278 == 0) { -lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; -x_169 = lean_ctor_get(x_167, 0); -lean_dec(x_169); -x_170 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__3; -lean_inc(x_165); -x_171 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_171, 0, x_165); -lean_ctor_set(x_171, 1, x_170); -x_172 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4; -x_173 = lean_array_push(x_172, x_8); -lean_inc(x_171); -x_174 = lean_array_push(x_173, x_171); -x_175 = lean_array_push(x_174, x_1); -x_176 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__2; -lean_inc(x_165); -x_177 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_177, 0, x_165); -lean_ctor_set(x_177, 1, x_176); -lean_ctor_set(x_177, 2, x_175); -x_178 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__7; -lean_inc(x_165); -x_179 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_179, 0, x_165); -lean_ctor_set(x_179, 1, x_178); -x_180 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__21; -x_181 = lean_array_push(x_180, x_179); -x_182 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__6; -lean_inc(x_165); -x_183 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_183, 0, x_165); -lean_ctor_set(x_183, 1, x_182); -lean_ctor_set(x_183, 2, x_181); -x_184 = lean_array_push(x_172, x_177); -lean_inc(x_171); -x_185 = lean_array_push(x_184, x_171); -x_186 = lean_array_push(x_185, x_183); -lean_inc(x_165); -x_187 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_187, 0, x_165); -lean_ctor_set(x_187, 1, x_176); -lean_ctor_set(x_187, 2, x_186); -x_188 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__19; -lean_inc(x_165); -x_189 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_189, 0, x_165); -lean_ctor_set(x_189, 1, x_188); -x_190 = lean_array_push(x_180, x_189); -lean_inc(x_165); -x_191 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_191, 0, x_165); -lean_ctor_set(x_191, 1, x_182); -lean_ctor_set(x_191, 2, x_190); -x_192 = lean_array_push(x_172, x_187); -x_193 = lean_array_push(x_192, x_171); -x_194 = lean_array_push(x_193, x_191); -x_195 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_195, 0, x_165); -lean_ctor_set(x_195, 1, x_176); -lean_ctor_set(x_195, 2, x_194); -x_196 = lean_box(x_9); -x_197 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_197, 0, x_195); -lean_ctor_set(x_197, 1, x_196); -x_198 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_198, 0, x_197); -lean_ctor_set(x_167, 0, x_198); -return x_167; +lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; +x_279 = lean_ctor_get(x_277, 0); +lean_dec(x_279); +x_280 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__5; +lean_inc(x_275); +x_281 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_281, 0, x_275); +lean_ctor_set(x_281, 1, x_280); +x_282 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__6; +x_283 = lean_array_push(x_282, x_11); +lean_inc(x_281); +x_284 = lean_array_push(x_283, x_281); +x_285 = lean_array_push(x_284, x_2); +x_286 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4; +lean_inc(x_275); +x_287 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_287, 0, x_275); +lean_ctor_set(x_287, 1, x_286); +lean_ctor_set(x_287, 2, x_285); +x_288 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__9; +lean_inc(x_275); +x_289 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_289, 0, x_275); +lean_ctor_set(x_289, 1, x_288); +x_290 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__18; +x_291 = lean_array_push(x_290, x_289); +x_292 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__8; +lean_inc(x_275); +x_293 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_293, 0, x_275); +lean_ctor_set(x_293, 1, x_292); +lean_ctor_set(x_293, 2, x_291); +x_294 = lean_array_push(x_282, x_287); +lean_inc(x_281); +x_295 = lean_array_push(x_294, x_281); +x_296 = lean_array_push(x_295, x_293); +lean_inc(x_275); +x_297 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_297, 0, x_275); +lean_ctor_set(x_297, 1, x_286); +lean_ctor_set(x_297, 2, x_296); +x_298 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__27; +lean_inc(x_275); +x_299 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_299, 0, x_275); +lean_ctor_set(x_299, 1, x_298); +x_300 = lean_array_push(x_290, x_299); +lean_inc(x_275); +x_301 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_301, 0, x_275); +lean_ctor_set(x_301, 1, x_292); +lean_ctor_set(x_301, 2, x_300); +x_302 = lean_array_push(x_282, x_297); +x_303 = lean_array_push(x_302, x_281); +x_304 = lean_array_push(x_303, x_301); +x_305 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_305, 0, x_275); +lean_ctor_set(x_305, 1, x_286); +lean_ctor_set(x_305, 2, x_304); +x_306 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_306, 0, x_305); +lean_ctor_set(x_277, 0, x_306); +return x_277; } else { -lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; -x_199 = lean_ctor_get(x_167, 1); -lean_inc(x_199); -lean_dec(x_167); -x_200 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__3; -lean_inc(x_165); -x_201 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_201, 0, x_165); -lean_ctor_set(x_201, 1, x_200); -x_202 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4; -x_203 = lean_array_push(x_202, x_8); -lean_inc(x_201); -x_204 = lean_array_push(x_203, x_201); -x_205 = lean_array_push(x_204, x_1); -x_206 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__2; -lean_inc(x_165); -x_207 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_207, 0, x_165); -lean_ctor_set(x_207, 1, x_206); -lean_ctor_set(x_207, 2, x_205); -x_208 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__7; -lean_inc(x_165); -x_209 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_209, 0, x_165); -lean_ctor_set(x_209, 1, x_208); -x_210 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__21; -x_211 = lean_array_push(x_210, x_209); -x_212 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__6; -lean_inc(x_165); -x_213 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_213, 0, x_165); -lean_ctor_set(x_213, 1, x_212); -lean_ctor_set(x_213, 2, x_211); -x_214 = lean_array_push(x_202, x_207); -lean_inc(x_201); -x_215 = lean_array_push(x_214, x_201); -x_216 = lean_array_push(x_215, x_213); -lean_inc(x_165); -x_217 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_217, 0, x_165); -lean_ctor_set(x_217, 1, x_206); -lean_ctor_set(x_217, 2, x_216); -x_218 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__19; -lean_inc(x_165); -x_219 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_219, 0, x_165); -lean_ctor_set(x_219, 1, x_218); -x_220 = lean_array_push(x_210, x_219); -lean_inc(x_165); -x_221 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_221, 0, x_165); -lean_ctor_set(x_221, 1, x_212); -lean_ctor_set(x_221, 2, x_220); -x_222 = lean_array_push(x_202, x_217); -x_223 = lean_array_push(x_222, x_201); -x_224 = lean_array_push(x_223, x_221); -x_225 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_225, 0, x_165); -lean_ctor_set(x_225, 1, x_206); -lean_ctor_set(x_225, 2, x_224); -x_226 = lean_box(x_9); -x_227 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_227, 0, x_225); -lean_ctor_set(x_227, 1, x_226); -x_228 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_228, 0, x_227); -x_229 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_229, 0, x_228); -lean_ctor_set(x_229, 1, x_199); -return x_229; +lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; lean_object* x_324; lean_object* x_325; lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; lean_object* x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; +x_307 = lean_ctor_get(x_277, 1); +lean_inc(x_307); +lean_dec(x_277); +x_308 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__5; +lean_inc(x_275); +x_309 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_309, 0, x_275); +lean_ctor_set(x_309, 1, x_308); +x_310 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__6; +x_311 = lean_array_push(x_310, x_11); +lean_inc(x_309); +x_312 = lean_array_push(x_311, x_309); +x_313 = lean_array_push(x_312, x_2); +x_314 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4; +lean_inc(x_275); +x_315 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_315, 0, x_275); +lean_ctor_set(x_315, 1, x_314); +lean_ctor_set(x_315, 2, x_313); +x_316 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__9; +lean_inc(x_275); +x_317 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_317, 0, x_275); +lean_ctor_set(x_317, 1, x_316); +x_318 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__18; +x_319 = lean_array_push(x_318, x_317); +x_320 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__8; +lean_inc(x_275); +x_321 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_321, 0, x_275); +lean_ctor_set(x_321, 1, x_320); +lean_ctor_set(x_321, 2, x_319); +x_322 = lean_array_push(x_310, x_315); +lean_inc(x_309); +x_323 = lean_array_push(x_322, x_309); +x_324 = lean_array_push(x_323, x_321); +lean_inc(x_275); +x_325 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_325, 0, x_275); +lean_ctor_set(x_325, 1, x_314); +lean_ctor_set(x_325, 2, x_324); +x_326 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__27; +lean_inc(x_275); +x_327 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_327, 0, x_275); +lean_ctor_set(x_327, 1, x_326); +x_328 = lean_array_push(x_318, x_327); +lean_inc(x_275); +x_329 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_329, 0, x_275); +lean_ctor_set(x_329, 1, x_320); +lean_ctor_set(x_329, 2, x_328); +x_330 = lean_array_push(x_310, x_325); +x_331 = lean_array_push(x_330, x_309); +x_332 = lean_array_push(x_331, x_329); +x_333 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_333, 0, x_275); +lean_ctor_set(x_333, 1, x_314); +lean_ctor_set(x_333, 2, x_332); +x_334 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_334, 0, x_333); +x_335 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_335, 0, x_334); +lean_ctor_set(x_335, 1, x_307); +return x_335; } } } @@ -1983,176 +2309,82 @@ x_25 = lean_unsigned_to_nat(0u); x_26 = lean_nat_dec_eq(x_12, x_25); if (x_26 == 0) { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34; lean_object* x_35; +lean_object* x_27; lean_object* x_28; uint8_t x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; uint8_t x_33; lean_object* x_34; x_27 = lean_unsigned_to_nat(1u); x_28 = lean_nat_sub(x_12, x_27); lean_dec(x_12); -x_29 = lean_ctor_get(x_16, 0); -lean_inc(x_29); -x_30 = lean_ctor_get(x_16, 1); -lean_inc(x_30); -lean_dec(x_16); -x_31 = lean_nat_dec_lt(x_13, x_11); -x_32 = lean_nat_add(x_2, x_13); -x_33 = lean_array_get_size(x_4); -x_34 = lean_nat_dec_lt(x_32, x_33); -lean_dec(x_33); -if (x_31 == 0) -{ -lean_object* x_122; lean_object* x_123; -x_122 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___closed__8; -x_123 = l_panic___at___private_Init_Prelude_0__Lean_assembleParts___spec__1(x_122); -x_35 = x_123; -goto block_121; -} -else -{ -lean_object* x_124; -x_124 = lean_array_fget(x_1, x_13); -x_35 = x_124; -goto block_121; -} -block_121: -{ -uint8_t x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_36 = 1; -lean_inc(x_35); -x_37 = l_Lean_Name_toString(x_35, x_36); -x_38 = lean_box(2); -x_39 = l_Lean_Syntax_mkStrLit(x_37, x_38); -lean_dec(x_37); -if (x_34 == 0) +x_29 = lean_nat_dec_lt(x_13, x_11); +x_30 = lean_nat_add(x_2, x_13); +x_31 = lean_array_get_size(x_4); +x_32 = lean_nat_dec_lt(x_30, x_31); +lean_dec(x_31); +x_33 = lean_nat_dec_lt(x_2, x_13); +if (x_29 == 0) { lean_object* x_118; lean_object* x_119; -lean_dec(x_32); x_118 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___closed__8; -x_119 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_118); -x_40 = x_119; +x_119 = l_panic___at___private_Init_Prelude_0__Lean_assembleParts___spec__1(x_118); +x_34 = x_119; goto block_117; } else { lean_object* x_120; -x_120 = lean_array_fget(x_4, x_32); -lean_dec(x_32); -x_40 = x_120; +x_120 = lean_array_fget(x_1, x_13); +x_34 = x_120; goto block_117; } block_117: { -uint8_t x_41; -x_41 = lean_unbox(x_30); -if (x_41 == 0) +uint8_t x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_35 = 1; +lean_inc(x_34); +x_36 = l_Lean_Name_toString(x_34, x_35); +x_37 = lean_box(2); +x_38 = l_Lean_Syntax_mkStrLit(x_36, x_37); +if (x_32 == 0) { -lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; uint8_t x_82; lean_object* x_83; +lean_object* x_114; lean_object* x_115; +lean_dec(x_30); +x_114 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___closed__8; +x_115 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_114); +x_39 = x_115; +goto block_113; +} +else +{ +lean_object* x_116; +x_116 = lean_array_fget(x_4, x_30); +lean_dec(x_30); +x_39 = x_116; +goto block_113; +} +block_113: +{ +if (x_33 == 0) +{ +lean_object* x_40; lean_object* x_41; +x_40 = lean_box(0); +lean_inc(x_22); lean_inc(x_21); -x_42 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(x_21, x_22, x_23); -x_43 = lean_ctor_get(x_42, 0); -lean_inc(x_43); -x_44 = lean_ctor_get(x_42, 1); -lean_inc(x_44); -lean_dec(x_42); -x_45 = lean_ctor_get(x_21, 10); -lean_inc(x_45); -x_46 = lean_st_ref_get(x_22, x_44); -x_47 = lean_ctor_get(x_46, 0); -lean_inc(x_47); -x_48 = lean_ctor_get(x_46, 1); -lean_inc(x_48); -lean_dec(x_46); -x_49 = lean_ctor_get(x_47, 0); -lean_inc(x_49); -lean_dec(x_47); -x_50 = lean_environment_main_module(x_49); -x_51 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__3; -lean_inc(x_43); -x_52 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_52, 0, x_43); -lean_ctor_set(x_52, 1, x_51); -x_53 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___closed__1; -lean_inc(x_43); -x_54 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_54, 0, x_43); -lean_ctor_set(x_54, 1, x_53); -x_55 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__21; -x_56 = lean_array_push(x_55, x_54); -x_57 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__6; -lean_inc(x_43); -x_58 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_58, 0, x_43); -lean_ctor_set(x_58, 1, x_57); -lean_ctor_set(x_58, 2, x_56); -x_59 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4; -x_60 = lean_array_push(x_59, x_29); -lean_inc(x_52); -x_61 = lean_array_push(x_60, x_52); -x_62 = lean_array_push(x_61, x_58); -x_63 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__2; -lean_inc(x_43); -x_64 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_64, 0, x_43); -lean_ctor_set(x_64, 1, x_63); -lean_ctor_set(x_64, 2, x_62); -x_65 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___closed__2; -x_66 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___closed__3; -lean_inc(x_6); -x_67 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_67, 0, x_65); -lean_ctor_set(x_67, 1, x_6); -lean_ctor_set(x_67, 2, x_66); -x_68 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___closed__4; -lean_inc(x_7); -x_69 = l_Lean_Name_str___override(x_7, x_68); -x_70 = l_Lean_addMacroScope(x_50, x_69, x_45); +lean_inc(x_20); +lean_inc(x_19); +lean_inc(x_3); +lean_inc(x_10); +lean_inc(x_9); lean_inc(x_8); -x_71 = l_Lean_Name_str___override(x_8, x_68); -lean_inc(x_9); -lean_inc(x_71); -x_72 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_72, 0, x_71); -lean_ctor_set(x_72, 1, x_9); -x_73 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_73, 0, x_71); -lean_inc(x_10); -x_74 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_74, 0, x_73); -lean_ctor_set(x_74, 1, x_10); -x_75 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_75, 0, x_72); -lean_ctor_set(x_75, 1, x_74); -lean_inc(x_43); -x_76 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_76, 0, x_43); -lean_ctor_set(x_76, 1, x_67); -lean_ctor_set(x_76, 2, x_70); -lean_ctor_set(x_76, 3, x_75); -x_77 = lean_array_push(x_59, x_64); -x_78 = lean_array_push(x_77, x_52); -x_79 = lean_array_push(x_78, x_76); -x_80 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_80, 0, x_43); -lean_ctor_set(x_80, 1, x_63); -lean_ctor_set(x_80, 2, x_79); -x_81 = lean_box(0); -x_82 = lean_unbox(x_30); -lean_dec(x_30); -lean_inc(x_22); -lean_inc(x_21); -lean_inc(x_20); -lean_inc(x_19); -lean_inc(x_3); -lean_inc(x_10); -lean_inc(x_9); +lean_inc(x_7); lean_inc(x_6); -x_83 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1(x_39, x_6, x_9, x_10, x_35, x_3, x_40, x_80, x_82, x_81, x_17, x_18, x_19, x_20, x_21, x_22, x_48); -if (lean_obj_tag(x_83) == 0) +x_41 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1(x_36, x_38, x_6, x_7, x_8, x_9, x_10, x_34, x_3, x_39, x_16, x_40, x_17, x_18, x_19, x_20, x_21, x_22, x_23); +lean_dec(x_36); +if (lean_obj_tag(x_41) == 0) { -lean_object* x_84; -x_84 = lean_ctor_get(x_83, 0); -lean_inc(x_84); -if (lean_obj_tag(x_84) == 0) +lean_object* x_42; +x_42 = lean_ctor_get(x_41, 0); +lean_inc(x_42); +if (lean_obj_tag(x_42) == 0) { -uint8_t x_85; +uint8_t x_43; lean_dec(x_28); lean_dec(x_22); lean_dec(x_21); @@ -2165,54 +2397,54 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_3); -x_85 = !lean_is_exclusive(x_83); -if (x_85 == 0) +x_43 = !lean_is_exclusive(x_41); +if (x_43 == 0) { -lean_object* x_86; lean_object* x_87; -x_86 = lean_ctor_get(x_83, 0); -lean_dec(x_86); -x_87 = lean_ctor_get(x_84, 0); -lean_inc(x_87); -lean_dec(x_84); -lean_ctor_set(x_83, 0, x_87); -return x_83; +lean_object* x_44; lean_object* x_45; +x_44 = lean_ctor_get(x_41, 0); +lean_dec(x_44); +x_45 = lean_ctor_get(x_42, 0); +lean_inc(x_45); +lean_dec(x_42); +lean_ctor_set(x_41, 0, x_45); +return x_41; } else { -lean_object* x_88; lean_object* x_89; lean_object* x_90; -x_88 = lean_ctor_get(x_83, 1); -lean_inc(x_88); -lean_dec(x_83); -x_89 = lean_ctor_get(x_84, 0); -lean_inc(x_89); -lean_dec(x_84); -x_90 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_90, 0, x_89); -lean_ctor_set(x_90, 1, x_88); -return x_90; +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_41, 1); +lean_inc(x_46); +lean_dec(x_41); +x_47 = lean_ctor_get(x_42, 0); +lean_inc(x_47); +lean_dec(x_42); +x_48 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_48, 0, x_47); +lean_ctor_set(x_48, 1, x_46); +return x_48; } } else { -lean_object* x_91; lean_object* x_92; lean_object* x_93; -x_91 = lean_ctor_get(x_83, 1); -lean_inc(x_91); -lean_dec(x_83); -x_92 = lean_ctor_get(x_84, 0); -lean_inc(x_92); -lean_dec(x_84); -x_93 = lean_nat_add(x_13, x_15); +lean_object* x_49; lean_object* x_50; lean_object* x_51; +x_49 = lean_ctor_get(x_41, 1); +lean_inc(x_49); +lean_dec(x_41); +x_50 = lean_ctor_get(x_42, 0); +lean_inc(x_50); +lean_dec(x_42); +x_51 = lean_nat_add(x_13, x_15); lean_dec(x_13); x_12 = x_28; -x_13 = x_93; -x_16 = x_92; -x_23 = x_91; +x_13 = x_51; +x_16 = x_50; +x_23 = x_49; goto _start; } } else { -uint8_t x_95; +uint8_t x_53; lean_dec(x_28); lean_dec(x_22); lean_dec(x_21); @@ -2225,32 +2457,118 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_3); -x_95 = !lean_is_exclusive(x_83); -if (x_95 == 0) +x_53 = !lean_is_exclusive(x_41); +if (x_53 == 0) { -return x_83; +return x_41; } else { -lean_object* x_96; lean_object* x_97; lean_object* x_98; -x_96 = lean_ctor_get(x_83, 0); -x_97 = lean_ctor_get(x_83, 1); -lean_inc(x_97); -lean_inc(x_96); -lean_dec(x_83); -x_98 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_98, 0, x_96); -lean_ctor_set(x_98, 1, x_97); -return x_98; +lean_object* x_54; lean_object* x_55; lean_object* x_56; +x_54 = lean_ctor_get(x_41, 0); +x_55 = lean_ctor_get(x_41, 1); +lean_inc(x_55); +lean_inc(x_54); +lean_dec(x_41); +x_56 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_56, 0, x_54); +lean_ctor_set(x_56, 1, x_55); +return x_56; } } } else { -uint8_t x_99; lean_object* x_100; lean_object* x_101; -lean_dec(x_30); -x_99 = 0; -x_100 = lean_box(0); +lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; 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_inc(x_21); +x_57 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(x_21, x_22, x_23); +x_58 = lean_ctor_get(x_57, 0); +lean_inc(x_58); +x_59 = lean_ctor_get(x_57, 1); +lean_inc(x_59); +lean_dec(x_57); +x_60 = lean_ctor_get(x_21, 10); +lean_inc(x_60); +x_61 = lean_st_ref_get(x_22, x_59); +x_62 = lean_ctor_get(x_61, 0); +lean_inc(x_62); +x_63 = lean_ctor_get(x_61, 1); +lean_inc(x_63); +lean_dec(x_61); +x_64 = lean_ctor_get(x_62, 0); +lean_inc(x_64); +lean_dec(x_62); +x_65 = lean_environment_main_module(x_64); +x_66 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__5; +lean_inc(x_58); +x_67 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_67, 0, x_58); +lean_ctor_set(x_67, 1, x_66); +x_68 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___closed__1; +lean_inc(x_58); +x_69 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_69, 0, x_58); +lean_ctor_set(x_69, 1, x_68); +x_70 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__18; +x_71 = lean_array_push(x_70, x_69); +x_72 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__8; +lean_inc(x_58); +x_73 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_73, 0, x_58); +lean_ctor_set(x_73, 1, x_72); +lean_ctor_set(x_73, 2, x_71); +x_74 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__6; +x_75 = lean_array_push(x_74, x_16); +lean_inc(x_67); +x_76 = lean_array_push(x_75, x_67); +x_77 = lean_array_push(x_76, x_73); +x_78 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4; +lean_inc(x_58); +x_79 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_79, 0, x_58); +lean_ctor_set(x_79, 1, x_78); +lean_ctor_set(x_79, 2, x_77); +x_80 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___closed__2; +x_81 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___closed__3; +lean_inc(x_6); +x_82 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_82, 0, x_80); +lean_ctor_set(x_82, 1, x_6); +lean_ctor_set(x_82, 2, x_81); +x_83 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___closed__4; +lean_inc(x_7); +x_84 = l_Lean_Name_str___override(x_7, x_83); +x_85 = l_Lean_addMacroScope(x_65, x_84, x_60); +lean_inc(x_8); +x_86 = l_Lean_Name_str___override(x_8, x_83); +lean_inc(x_9); +lean_inc(x_86); +x_87 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_87, 0, x_86); +lean_ctor_set(x_87, 1, x_9); +x_88 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_88, 0, x_86); +lean_inc(x_10); +x_89 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_89, 0, x_88); +lean_ctor_set(x_89, 1, x_10); +x_90 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_90, 0, x_87); +lean_ctor_set(x_90, 1, x_89); +lean_inc(x_58); +x_91 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_91, 0, x_58); +lean_ctor_set(x_91, 1, x_82); +lean_ctor_set(x_91, 2, x_85); +lean_ctor_set(x_91, 3, x_90); +x_92 = lean_array_push(x_74, x_79); +x_93 = lean_array_push(x_92, x_67); +x_94 = lean_array_push(x_93, x_91); +x_95 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_95, 0, x_58); +lean_ctor_set(x_95, 1, x_78); +lean_ctor_set(x_95, 2, x_94); +x_96 = lean_box(0); lean_inc(x_22); lean_inc(x_21); lean_inc(x_20); @@ -2258,76 +2576,79 @@ lean_inc(x_19); lean_inc(x_3); lean_inc(x_10); lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); lean_inc(x_6); -x_101 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1(x_39, x_6, x_9, x_10, x_35, x_3, x_40, x_29, x_99, x_100, x_17, x_18, x_19, x_20, x_21, x_22, x_23); -if (lean_obj_tag(x_101) == 0) +x_97 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1(x_36, x_38, x_6, x_7, x_8, x_9, x_10, x_34, x_3, x_39, x_95, x_96, x_17, x_18, x_19, x_20, x_21, x_22, x_63); +lean_dec(x_36); +if (lean_obj_tag(x_97) == 0) { -lean_object* x_102; -x_102 = lean_ctor_get(x_101, 0); +lean_object* x_98; +x_98 = lean_ctor_get(x_97, 0); +lean_inc(x_98); +if (lean_obj_tag(x_98) == 0) +{ +uint8_t x_99; +lean_dec(x_28); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_13); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_3); +x_99 = !lean_is_exclusive(x_97); +if (x_99 == 0) +{ +lean_object* x_100; lean_object* x_101; +x_100 = lean_ctor_get(x_97, 0); +lean_dec(x_100); +x_101 = lean_ctor_get(x_98, 0); +lean_inc(x_101); +lean_dec(x_98); +lean_ctor_set(x_97, 0, x_101); +return x_97; +} +else +{ +lean_object* x_102; lean_object* x_103; lean_object* x_104; +x_102 = lean_ctor_get(x_97, 1); lean_inc(x_102); -if (lean_obj_tag(x_102) == 0) +lean_dec(x_97); +x_103 = lean_ctor_get(x_98, 0); +lean_inc(x_103); +lean_dec(x_98); +x_104 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_104, 0, x_103); +lean_ctor_set(x_104, 1, x_102); +return x_104; +} +} +else { -uint8_t x_103; -lean_dec(x_28); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_13); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_3); -x_103 = !lean_is_exclusive(x_101); -if (x_103 == 0) -{ -lean_object* x_104; lean_object* x_105; -x_104 = lean_ctor_get(x_101, 0); -lean_dec(x_104); -x_105 = lean_ctor_get(x_102, 0); +lean_object* x_105; lean_object* x_106; lean_object* x_107; +x_105 = lean_ctor_get(x_97, 1); lean_inc(x_105); -lean_dec(x_102); -lean_ctor_set(x_101, 0, x_105); -return x_101; -} -else -{ -lean_object* x_106; lean_object* x_107; lean_object* x_108; -x_106 = lean_ctor_get(x_101, 1); +lean_dec(x_97); +x_106 = lean_ctor_get(x_98, 0); lean_inc(x_106); -lean_dec(x_101); -x_107 = lean_ctor_get(x_102, 0); -lean_inc(x_107); -lean_dec(x_102); -x_108 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_108, 0, x_107); -lean_ctor_set(x_108, 1, x_106); -return x_108; -} -} -else -{ -lean_object* x_109; lean_object* x_110; lean_object* x_111; -x_109 = lean_ctor_get(x_101, 1); -lean_inc(x_109); -lean_dec(x_101); -x_110 = lean_ctor_get(x_102, 0); -lean_inc(x_110); -lean_dec(x_102); -x_111 = lean_nat_add(x_13, x_15); +lean_dec(x_98); +x_107 = lean_nat_add(x_13, x_15); lean_dec(x_13); x_12 = x_28; -x_13 = x_111; -x_16 = x_110; -x_23 = x_109; +x_13 = x_107; +x_16 = x_106; +x_23 = x_105; goto _start; } } else { -uint8_t x_113; +uint8_t x_109; lean_dec(x_28); lean_dec(x_22); lean_dec(x_21); @@ -2340,23 +2661,23 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_3); -x_113 = !lean_is_exclusive(x_101); -if (x_113 == 0) +x_109 = !lean_is_exclusive(x_97); +if (x_109 == 0) { -return x_101; +return x_97; } else { -lean_object* x_114; lean_object* x_115; lean_object* x_116; -x_114 = lean_ctor_get(x_101, 0); -x_115 = lean_ctor_get(x_101, 1); -lean_inc(x_115); -lean_inc(x_114); -lean_dec(x_101); -x_116 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_116, 0, x_114); -lean_ctor_set(x_116, 1, x_115); -return x_116; +lean_object* x_110; lean_object* x_111; lean_object* x_112; +x_110 = lean_ctor_get(x_97, 0); +x_111 = lean_ctor_get(x_97, 1); +lean_inc(x_111); +lean_inc(x_110); +lean_dec(x_97); +x_112 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_112, 0, x_110); +lean_ctor_set(x_112, 1, x_111); +return x_112; } } } @@ -2365,7 +2686,7 @@ return x_116; } else { -lean_object* x_125; +lean_object* x_121; lean_dec(x_22); lean_dec(x_21); lean_dec(x_20); @@ -2378,15 +2699,15 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_3); -x_125 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_125, 0, x_16); -lean_ctor_set(x_125, 1, x_23); -return x_125; +x_121 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_121, 0, x_16); +lean_ctor_set(x_121, 1, x_23); +return x_121; } } else { -lean_object* x_126; +lean_object* x_122; lean_dec(x_22); lean_dec(x_21); lean_dec(x_20); @@ -2399,10 +2720,10 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_3); -x_126 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_126, 0, x_16); -lean_ctor_set(x_126, 1, x_23); -return x_126; +x_122 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_122, 0, x_16); +lean_ctor_set(x_122, 1, x_23); +return x_122; } } } @@ -2461,235 +2782,228 @@ x_1 = lean_mk_string_from_bytes("\" }\"", 4); return x_1; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForStruct___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, uint8_t x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18) { +LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForStruct___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) { _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; -x_19 = lean_array_get_size(x_1); -x_20 = lean_box(x_10); -x_21 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_21, 0, x_9); -lean_ctor_set(x_21, 1, x_20); -x_22 = lean_unsigned_to_nat(0u); -x_23 = lean_unsigned_to_nat(1u); -lean_inc(x_17); +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_18 = lean_array_get_size(x_1); +x_19 = lean_unsigned_to_nat(0u); +x_20 = lean_unsigned_to_nat(1u); lean_inc(x_16); -lean_inc(x_19); +lean_inc(x_15); +lean_inc(x_18); lean_inc_n(x_8, 2); lean_inc(x_7); lean_inc(x_6); -x_24 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3(x_1, x_2, x_3, x_4, x_5, x_22, x_6, x_7, x_8, x_8, x_19, x_19, x_22, x_19, x_23, x_21, x_12, x_13, x_14, x_15, x_16, x_17, x_18); -lean_dec(x_19); -if (lean_obj_tag(x_24) == 0) +x_21 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3(x_1, x_2, x_3, x_4, x_5, x_19, x_6, x_7, x_8, x_8, x_18, x_18, x_19, x_18, x_20, x_9, x_11, x_12, x_13, x_14, x_15, x_16, x_17); +lean_dec(x_18); +if (lean_obj_tag(x_21) == 0) { -lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33; +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_22 = lean_ctor_get(x_21, 0); +lean_inc(x_22); +x_23 = lean_ctor_get(x_21, 1); +lean_inc(x_23); +lean_dec(x_21); +lean_inc(x_15); +x_24 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(x_15, x_16, x_23); x_25 = lean_ctor_get(x_24, 0); lean_inc(x_25); x_26 = lean_ctor_get(x_24, 1); lean_inc(x_26); lean_dec(x_24); -x_27 = lean_ctor_get(x_25, 0); +x_27 = lean_ctor_get(x_15, 10); lean_inc(x_27); -lean_dec(x_25); -lean_inc(x_16); -x_28 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(x_16, x_17, x_26); -x_29 = lean_ctor_get(x_28, 0); -lean_inc(x_29); -x_30 = lean_ctor_get(x_28, 1); -lean_inc(x_30); -lean_dec(x_28); -x_31 = lean_ctor_get(x_16, 10); +lean_dec(x_15); +x_28 = lean_st_ref_get(x_16, x_26); +lean_dec(x_16); +x_29 = !lean_is_exclusive(x_28); +if (x_29 == 0) +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; +x_30 = lean_ctor_get(x_28, 0); +x_31 = lean_ctor_get(x_30, 0); lean_inc(x_31); -lean_dec(x_16); -x_32 = lean_st_ref_get(x_17, x_30); -lean_dec(x_17); -x_33 = !lean_is_exclusive(x_32); -if (x_33 == 0) -{ -lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; -x_34 = lean_ctor_get(x_32, 0); -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -lean_dec(x_34); -x_36 = lean_environment_main_module(x_35); -x_37 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__1___closed__4; -x_38 = l_Lean_Name_str___override(x_6, x_37); -x_39 = l_Lean_addMacroScope(x_36, x_38, x_31); -x_40 = l_Lean_Name_str___override(x_7, x_37); +lean_dec(x_30); +x_32 = lean_environment_main_module(x_31); +x_33 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__1___closed__4; +x_34 = l_Lean_Name_str___override(x_6, x_33); +x_35 = l_Lean_addMacroScope(x_32, x_34, x_27); +x_36 = l_Lean_Name_str___override(x_7, x_33); lean_inc(x_8); -lean_inc(x_40); -x_41 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_41, 0, x_40); -lean_ctor_set(x_41, 1, x_8); -x_42 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_42, 0, x_40); -x_43 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_43, 0, x_42); -lean_ctor_set(x_43, 1, x_8); -x_44 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_44, 0, x_41); +lean_inc(x_36); +x_37 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_37, 0, x_36); +lean_ctor_set(x_37, 1, x_8); +x_38 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_38, 0, x_36); +x_39 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_39, 0, x_38); +lean_ctor_set(x_39, 1, x_8); +x_40 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_40, 0, x_37); +lean_ctor_set(x_40, 1, x_39); +x_41 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__1___closed__3; +lean_inc(x_25); +x_42 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_42, 0, x_25); +lean_ctor_set(x_42, 1, x_41); +lean_ctor_set(x_42, 2, x_35); +lean_ctor_set(x_42, 3, x_40); +x_43 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__1___closed__5; +lean_inc(x_25); +x_44 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_44, 0, x_25); lean_ctor_set(x_44, 1, x_43); -x_45 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__1___closed__3; -lean_inc(x_29); -x_46 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_46, 0, x_29); -lean_ctor_set(x_46, 1, x_45); -lean_ctor_set(x_46, 2, x_39); -lean_ctor_set(x_46, 3, x_44); -x_47 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__1___closed__5; -lean_inc(x_29); -x_48 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_48, 0, x_29); +x_45 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__18; +x_46 = lean_array_push(x_45, x_44); +x_47 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__8; +lean_inc(x_25); +x_48 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_48, 0, x_25); lean_ctor_set(x_48, 1, x_47); -x_49 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__21; -x_50 = lean_array_push(x_49, x_48); -x_51 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__6; -lean_inc(x_29); +lean_ctor_set(x_48, 2, x_46); +x_49 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__1___closed__6; +lean_inc(x_25); +x_50 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_50, 0, x_25); +lean_ctor_set(x_50, 1, x_49); +x_51 = lean_array_push(x_45, x_50); +lean_inc(x_25); x_52 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_52, 0, x_29); -lean_ctor_set(x_52, 1, x_51); -lean_ctor_set(x_52, 2, x_50); -x_53 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__1___closed__6; -lean_inc(x_29); -x_54 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_54, 0, x_29); -lean_ctor_set(x_54, 1, x_53); -x_55 = lean_array_push(x_49, x_54); -lean_inc(x_29); -x_56 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_56, 0, x_29); -lean_ctor_set(x_56, 1, x_51); -lean_ctor_set(x_56, 2, x_55); -x_57 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4; -x_58 = lean_array_push(x_57, x_52); -x_59 = lean_array_push(x_58, x_27); -x_60 = lean_array_push(x_59, x_56); -x_61 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__13; -lean_inc(x_29); -x_62 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_62, 0, x_29); -lean_ctor_set(x_62, 1, x_61); -lean_ctor_set(x_62, 2, x_60); -x_63 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__31; -x_64 = lean_array_push(x_63, x_46); -x_65 = lean_array_push(x_64, x_62); -x_66 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__9; -x_67 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_67, 0, x_29); -lean_ctor_set(x_67, 1, x_66); -lean_ctor_set(x_67, 2, x_65); -lean_ctor_set(x_32, 0, x_67); -return x_32; +lean_ctor_set(x_52, 0, x_25); +lean_ctor_set(x_52, 1, x_47); +lean_ctor_set(x_52, 2, x_51); +x_53 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__6; +x_54 = lean_array_push(x_53, x_48); +x_55 = lean_array_push(x_54, x_22); +x_56 = lean_array_push(x_55, x_52); +x_57 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__13; +lean_inc(x_25); +x_58 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_58, 0, x_25); +lean_ctor_set(x_58, 1, x_57); +lean_ctor_set(x_58, 2, x_56); +x_59 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__28; +x_60 = lean_array_push(x_59, x_42); +x_61 = lean_array_push(x_60, x_58); +x_62 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__13; +x_63 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_63, 0, x_25); +lean_ctor_set(x_63, 1, x_62); +lean_ctor_set(x_63, 2, x_61); +lean_ctor_set(x_28, 0, x_63); +return x_28; } else { -lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; -x_68 = lean_ctor_get(x_32, 0); -x_69 = lean_ctor_get(x_32, 1); -lean_inc(x_69); -lean_inc(x_68); -lean_dec(x_32); -x_70 = lean_ctor_get(x_68, 0); -lean_inc(x_70); -lean_dec(x_68); -x_71 = lean_environment_main_module(x_70); -x_72 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__1___closed__4; -x_73 = l_Lean_Name_str___override(x_6, x_72); -x_74 = l_Lean_addMacroScope(x_71, x_73, x_31); -x_75 = l_Lean_Name_str___override(x_7, x_72); +lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; +x_64 = lean_ctor_get(x_28, 0); +x_65 = lean_ctor_get(x_28, 1); +lean_inc(x_65); +lean_inc(x_64); +lean_dec(x_28); +x_66 = lean_ctor_get(x_64, 0); +lean_inc(x_66); +lean_dec(x_64); +x_67 = lean_environment_main_module(x_66); +x_68 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__1___closed__4; +x_69 = l_Lean_Name_str___override(x_6, x_68); +x_70 = l_Lean_addMacroScope(x_67, x_69, x_27); +x_71 = l_Lean_Name_str___override(x_7, x_68); lean_inc(x_8); -lean_inc(x_75); -x_76 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_76, 0, x_75); -lean_ctor_set(x_76, 1, x_8); -x_77 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_77, 0, x_75); -x_78 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_78, 0, x_77); -lean_ctor_set(x_78, 1, x_8); -x_79 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_79, 0, x_76); +lean_inc(x_71); +x_72 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_72, 0, x_71); +lean_ctor_set(x_72, 1, x_8); +x_73 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_73, 0, x_71); +x_74 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_74, 0, x_73); +lean_ctor_set(x_74, 1, x_8); +x_75 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_75, 0, x_72); +lean_ctor_set(x_75, 1, x_74); +x_76 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__1___closed__3; +lean_inc(x_25); +x_77 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_77, 0, x_25); +lean_ctor_set(x_77, 1, x_76); +lean_ctor_set(x_77, 2, x_70); +lean_ctor_set(x_77, 3, x_75); +x_78 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__1___closed__5; +lean_inc(x_25); +x_79 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_79, 0, x_25); lean_ctor_set(x_79, 1, x_78); -x_80 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__1___closed__3; -lean_inc(x_29); -x_81 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_81, 0, x_29); -lean_ctor_set(x_81, 1, x_80); -lean_ctor_set(x_81, 2, x_74); -lean_ctor_set(x_81, 3, x_79); -x_82 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__1___closed__5; -lean_inc(x_29); -x_83 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_83, 0, x_29); +x_80 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__18; +x_81 = lean_array_push(x_80, x_79); +x_82 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__8; +lean_inc(x_25); +x_83 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_83, 0, x_25); lean_ctor_set(x_83, 1, x_82); -x_84 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__21; -x_85 = lean_array_push(x_84, x_83); -x_86 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__6; -lean_inc(x_29); +lean_ctor_set(x_83, 2, x_81); +x_84 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__1___closed__6; +lean_inc(x_25); +x_85 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_85, 0, x_25); +lean_ctor_set(x_85, 1, x_84); +x_86 = lean_array_push(x_80, x_85); +lean_inc(x_25); x_87 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_87, 0, x_29); -lean_ctor_set(x_87, 1, x_86); -lean_ctor_set(x_87, 2, x_85); -x_88 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__1___closed__6; -lean_inc(x_29); -x_89 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_89, 0, x_29); -lean_ctor_set(x_89, 1, x_88); -x_90 = lean_array_push(x_84, x_89); -lean_inc(x_29); -x_91 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_91, 0, x_29); -lean_ctor_set(x_91, 1, x_86); -lean_ctor_set(x_91, 2, x_90); -x_92 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4; -x_93 = lean_array_push(x_92, x_87); -x_94 = lean_array_push(x_93, x_27); -x_95 = lean_array_push(x_94, x_91); -x_96 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__13; -lean_inc(x_29); -x_97 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_97, 0, x_29); -lean_ctor_set(x_97, 1, x_96); -lean_ctor_set(x_97, 2, x_95); -x_98 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__31; -x_99 = lean_array_push(x_98, x_81); -x_100 = lean_array_push(x_99, x_97); -x_101 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__9; -x_102 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_102, 0, x_29); -lean_ctor_set(x_102, 1, x_101); -lean_ctor_set(x_102, 2, x_100); -x_103 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_103, 0, x_102); -lean_ctor_set(x_103, 1, x_69); -return x_103; +lean_ctor_set(x_87, 0, x_25); +lean_ctor_set(x_87, 1, x_82); +lean_ctor_set(x_87, 2, x_86); +x_88 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__6; +x_89 = lean_array_push(x_88, x_83); +x_90 = lean_array_push(x_89, x_22); +x_91 = lean_array_push(x_90, x_87); +x_92 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__13; +lean_inc(x_25); +x_93 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_93, 0, x_25); +lean_ctor_set(x_93, 1, x_92); +lean_ctor_set(x_93, 2, x_91); +x_94 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__28; +x_95 = lean_array_push(x_94, x_77); +x_96 = lean_array_push(x_95, x_93); +x_97 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__13; +x_98 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_98, 0, x_25); +lean_ctor_set(x_98, 1, x_97); +lean_ctor_set(x_98, 2, x_96); +x_99 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_99, 0, x_98); +lean_ctor_set(x_99, 1, x_65); +return x_99; } } else { -uint8_t x_104; -lean_dec(x_17); +uint8_t x_100; lean_dec(x_16); +lean_dec(x_15); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -x_104 = !lean_is_exclusive(x_24); -if (x_104 == 0) +x_100 = !lean_is_exclusive(x_21); +if (x_100 == 0) { -return x_24; +return x_21; } else { -lean_object* x_105; lean_object* x_106; lean_object* x_107; -x_105 = lean_ctor_get(x_24, 0); -x_106 = lean_ctor_get(x_24, 1); -lean_inc(x_106); -lean_inc(x_105); -lean_dec(x_24); -x_107 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_107, 0, x_105); -lean_ctor_set(x_107, 1, x_106); -return x_107; +lean_object* x_101; lean_object* x_102; lean_object* x_103; +x_101 = lean_ctor_get(x_21, 0); +x_102 = lean_ctor_get(x_21, 1); +lean_inc(x_102); +lean_inc(x_101); +lean_dec(x_21); +x_103 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_103, 0, x_101); +lean_ctor_set(x_103, 1, x_102); +return x_103; } } } @@ -2966,16 +3280,15 @@ return x_37; } else { -lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43; +lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; x_38 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__2___closed__3; x_39 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__2___closed__8; x_40 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__2___closed__13; -x_41 = 1; -x_42 = lean_box(0); -x_43 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__1(x_1, x_2, x_3, x_4, x_38, x_39, x_40, x_22, x_27, x_41, x_42, x_6, x_7, x_8, x_9, x_10, x_11, x_19); +x_41 = lean_box(0); +x_42 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__1(x_1, x_2, x_3, x_4, x_38, x_39, x_40, x_22, x_27, x_41, x_6, x_7, x_8, x_9, x_10, x_11, x_19); lean_dec(x_7); lean_dec(x_6); -return x_43; +return x_42; } } } @@ -3129,16 +3442,17 @@ lean_object* x_14 = _args[13]; lean_object* x_15 = _args[14]; lean_object* x_16 = _args[15]; lean_object* x_17 = _args[16]; +lean_object* x_18 = _args[17]; +lean_object* x_19 = _args[18]; _start: { -uint8_t x_18; lean_object* x_19; -x_18 = lean_unbox(x_9); -lean_dec(x_9); -x_19 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_18, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17); +lean_object* x_20; +x_20 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___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); +lean_dec(x_14); +lean_dec(x_13); lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -return x_19; +lean_dec(x_1); +return x_20; } } LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___boxed(lean_object** _args) { @@ -3199,21 +3513,18 @@ lean_object* x_14 = _args[13]; lean_object* x_15 = _args[14]; lean_object* x_16 = _args[15]; lean_object* x_17 = _args[16]; -lean_object* x_18 = _args[17]; _start: { -uint8_t x_19; lean_object* x_20; -x_19 = lean_unbox(x_10); -lean_dec(x_10); -x_20 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_19, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18); -lean_dec(x_13); +lean_object* x_18; +x_18 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___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); lean_dec(x_12); lean_dec(x_11); +lean_dec(x_10); lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); lean_dec(x_1); -return x_20; +return x_18; } } LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForStruct___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) { @@ -3294,7 +3605,7 @@ lean_inc(x_19); x_24 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_24, 0, x_19); lean_ctor_set(x_24, 1, x_23); -x_25 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__21; +x_25 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__18; x_26 = lean_array_push(x_25, x_24); x_27 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__1___closed__2; x_28 = lean_alloc_ctor(1, 3, 0); @@ -3576,7 +3887,7 @@ x_67 = lean_ctor_get(x_65, 0); lean_inc(x_67); lean_dec(x_65); x_68 = lean_environment_main_module(x_67); -x_69 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__3; +x_69 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__5; lean_inc(x_61); x_70 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_70, 0, x_61); @@ -3616,12 +3927,12 @@ lean_ctor_set(x_82, 0, x_61); lean_ctor_set(x_82, 1, x_73); lean_ctor_set(x_82, 2, x_76); lean_ctor_set(x_82, 3, x_81); -x_83 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4; +x_83 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__6; x_84 = lean_array_push(x_83, x_39); lean_inc(x_70); x_85 = lean_array_push(x_84, x_70); x_86 = lean_array_push(x_85, x_82); -x_87 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__2; +x_87 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4; lean_inc(x_61); x_88 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_88, 0, x_61); @@ -3713,7 +4024,7 @@ x_117 = lean_ctor_get(x_115, 0); lean_inc(x_117); lean_dec(x_115); x_118 = lean_environment_main_module(x_117); -x_119 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__3; +x_119 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__5; lean_inc(x_111); x_120 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_120, 0, x_111); @@ -3751,12 +4062,12 @@ lean_ctor_set(x_132, 0, x_111); lean_ctor_set(x_132, 1, x_123); lean_ctor_set(x_132, 2, x_126); lean_ctor_set(x_132, 3, x_131); -x_133 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4; +x_133 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__6; x_134 = lean_array_push(x_133, x_39); lean_inc(x_120); x_135 = lean_array_push(x_134, x_120); x_136 = lean_array_push(x_135, x_132); -x_137 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__2; +x_137 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4; lean_inc(x_111); x_138 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_138, 0, x_111); @@ -4239,27 +4550,10 @@ return x_3; static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__29() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("Format.group", 12); -return x_1; -} -} -static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__30() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__29; -x_2 = lean_string_utf8_byte_size(x_1); -return x_2; -} -} -static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__31() { -_start: -{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__29; +x_1 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__14; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__30; +x_3 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__15; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -4267,31 +4561,57 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } +static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__30() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__2___closed__8; +x_2 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__16; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__31() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__2___closed__13; +x_2 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__16; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__32() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("group", 5); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__31; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; } } static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__33() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__2___closed__8; -x_2 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__32; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__31; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; } } static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__34() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__2___closed__13; -x_2 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__32; -x_3 = l_Lean_Name_str___override(x_1, x_2); +x_1 = lean_box(0); +x_2 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__33; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); return x_3; } } @@ -4299,72 +4619,21 @@ static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyF _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); +x_1 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__32; x_2 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__34; x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__36() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__34; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__37() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__36; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__38() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__35; -x_2 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__37; -x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__39() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("Format.nest", 11); -return x_1; -} -} -static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__40() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__39; -x_2 = lean_string_utf8_byte_size(x_1); -return x_2; -} -} -static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__41() { +static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__36() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__39; +x_1 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__17; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__40; +x_3 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__18; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -4372,30 +4641,86 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } +static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__37() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__2___closed__8; +x_2 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__19; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__38() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__2___closed__13; +x_2 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__19; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__39() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__38; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__40() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__38; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__41() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__40; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__42() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("nest", 4); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__39; +x_2 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__41; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; } } static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__43() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__2___closed__8; -x_2 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__42; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("termIfThenElse", 14); +return x_1; } } static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__44() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Deriving_Repr_mkBodyForStruct___lambda__2___closed__13; -x_2 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__42; +x_1 = lean_box(0); +x_2 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__43; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } @@ -4403,23 +4728,17 @@ return x_3; static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__45() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__44; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("if", 2); +return x_1; } } static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__46() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__44; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("term_>=_", 8); +return x_1; } } static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__47() { @@ -4428,89 +4747,19 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); x_2 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__46; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); +x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__48() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__45; -x_2 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__47; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__49() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("termIfThenElse", 14); -return x_1; -} -} -static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__50() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__49; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__51() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("if", 2); -return x_1; -} -} -static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__52() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("term_>=_", 8); -return x_1; -} -} -static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__53() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__52; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__54() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__19; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__55() { -_start: -{ lean_object* x_1; x_1 = lean_mk_string_from_bytes(">=", 2); return x_1; } } -static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__56() { +static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__49() { _start: { lean_object* x_1; @@ -4518,7 +4767,7 @@ x_1 = lean_mk_string_from_bytes("then", 4); return x_1; } } -static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__57() { +static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__50() { _start: { lean_object* x_1; @@ -4526,17 +4775,17 @@ x_1 = lean_mk_string_from_bytes("num", 3); return x_1; } } -static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__58() { +static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__51() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__57; +x_2 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__50; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__59() { +static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__52() { _start: { lean_object* x_1; @@ -4544,7 +4793,7 @@ x_1 = lean_mk_string_from_bytes("1", 1); return x_1; } } -static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__60() { +static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__53() { _start: { lean_object* x_1; @@ -4552,7 +4801,7 @@ x_1 = lean_mk_string_from_bytes("else", 4); return x_1; } } -static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__61() { +static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__54() { _start: { lean_object* x_1; @@ -4560,7 +4809,7 @@ x_1 = lean_mk_string_from_bytes("2", 1); return x_1; } } -static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__62() { +static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__55() { _start: { lean_object* x_1; lean_object* x_2; @@ -4569,7 +4818,7 @@ x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__63() { +static lean_object* _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__56() { _start: { lean_object* x_1; lean_object* x_2; @@ -4586,7 +4835,7 @@ x_15 = lean_ctor_get(x_1, 2); lean_inc(x_15); x_16 = lean_unsigned_to_nat(0u); x_17 = lean_unsigned_to_nat(1u); -x_18 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__32; +x_18 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__29; lean_inc(x_12); lean_inc(x_15); x_19 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__1(x_15, x_16, x_15, x_17, x_18, x_8, x_9, x_10, x_11, x_12, x_13, x_14); @@ -4635,7 +4884,7 @@ lean_ctor_set(x_41, 0, x_29); lean_ctor_set(x_41, 1, x_39); lean_ctor_set(x_41, 2, x_38); lean_ctor_set(x_41, 3, x_40); -x_42 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__21; +x_42 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__18; x_43 = lean_array_push(x_42, x_27); x_44 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__13; lean_inc(x_29); @@ -4643,10 +4892,10 @@ x_45 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_45, 0, x_29); lean_ctor_set(x_45, 1, x_44); lean_ctor_set(x_45, 2, x_43); -x_46 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__31; +x_46 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__28; x_47 = lean_array_push(x_46, x_41); x_48 = lean_array_push(x_47, x_45); -x_49 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__9; +x_49 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__13; x_50 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_50, 0, x_29); lean_ctor_set(x_50, 1, x_49); @@ -4739,7 +4988,7 @@ lean_dec(x_13); x_87 = !lean_is_exclusive(x_86); if (x_87 == 0) { -lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; size_t x_94; size_t x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; +lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; size_t x_94; size_t x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; x_88 = lean_ctor_get(x_86, 0); x_89 = lean_ctor_get(x_88, 0); lean_inc(x_89); @@ -4792,31 +5041,31 @@ lean_inc(x_84); x_111 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_111, 0, x_84); lean_ctor_set(x_111, 1, x_110); -x_112 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__33; +x_112 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__30; lean_inc(x_31); lean_inc(x_90); x_113 = l_Lean_addMacroScope(x_90, x_112, x_31); -x_114 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__31; -x_115 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__38; +x_114 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__29; +x_115 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__35; lean_inc(x_84); x_116 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_116, 0, x_84); lean_ctor_set(x_116, 1, x_114); lean_ctor_set(x_116, 2, x_113); lean_ctor_set(x_116, 3, x_115); -x_117 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__43; +x_117 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__37; lean_inc(x_31); lean_inc(x_90); x_118 = l_Lean_addMacroScope(x_90, x_117, x_31); -x_119 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__41; -x_120 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__48; +x_119 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__36; +x_120 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__42; lean_inc(x_84); x_121 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_121, 0, x_84); lean_ctor_set(x_121, 1, x_119); lean_ctor_set(x_121, 2, x_118); lean_ctor_set(x_121, 3, x_120); -x_122 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__51; +x_122 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__45; lean_inc(x_84); x_123 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_123, 0, x_84); @@ -4824,549 +5073,547 @@ lean_ctor_set(x_123, 1, x_122); x_124 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__17; x_125 = l_Lean_addMacroScope(x_90, x_124, x_31); x_126 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__16; -x_127 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__54; lean_inc(x_84); -x_128 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_128, 0, x_84); -lean_ctor_set(x_128, 1, x_126); -lean_ctor_set(x_128, 2, x_125); -lean_ctor_set(x_128, 3, x_127); -x_129 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__55; +x_127 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_127, 0, x_84); +lean_ctor_set(x_127, 1, x_126); +lean_ctor_set(x_127, 2, x_125); +lean_ctor_set(x_127, 3, x_22); +x_128 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__48; lean_inc(x_84); -x_130 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_130, 0, x_84); -lean_ctor_set(x_130, 1, x_129); -x_131 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__2___closed__7; +x_129 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_129, 0, x_84); +lean_ctor_set(x_129, 1, x_128); +x_130 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__2___closed__7; lean_inc(x_84); -x_132 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_132, 0, x_84); -lean_ctor_set(x_132, 1, x_131); -x_133 = lean_array_push(x_42, x_132); -x_134 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__2___closed__6; +x_131 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_131, 0, x_84); +lean_ctor_set(x_131, 1, x_130); +x_132 = lean_array_push(x_42, x_131); +x_133 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__2___closed__6; lean_inc(x_84); -x_135 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_135, 0, x_84); -lean_ctor_set(x_135, 1, x_134); -lean_ctor_set(x_135, 2, x_133); -x_136 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4; -lean_inc(x_128); -x_137 = lean_array_push(x_136, x_128); -x_138 = lean_array_push(x_137, x_130); -x_139 = lean_array_push(x_138, x_135); -x_140 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__53; +x_134 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_134, 0, x_84); +lean_ctor_set(x_134, 1, x_133); +lean_ctor_set(x_134, 2, x_132); +x_135 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__6; +lean_inc(x_127); +x_136 = lean_array_push(x_135, x_127); +x_137 = lean_array_push(x_136, x_129); +x_138 = lean_array_push(x_137, x_134); +x_139 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__47; lean_inc(x_84); -x_141 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_141, 0, x_84); -lean_ctor_set(x_141, 1, x_140); -lean_ctor_set(x_141, 2, x_139); -x_142 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__56; +x_140 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_140, 0, x_84); +lean_ctor_set(x_140, 1, x_139); +lean_ctor_set(x_140, 2, x_138); +x_141 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__49; lean_inc(x_84); -x_143 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_143, 0, x_84); -lean_ctor_set(x_143, 1, x_142); -x_144 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__59; +x_142 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_142, 0, x_84); +lean_ctor_set(x_142, 1, x_141); +x_143 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__52; lean_inc(x_84); -x_145 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_145, 0, x_84); -lean_ctor_set(x_145, 1, x_144); -x_146 = lean_array_push(x_42, x_145); -x_147 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__58; +x_144 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_144, 0, x_84); +lean_ctor_set(x_144, 1, x_143); +x_145 = lean_array_push(x_42, x_144); +x_146 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__51; lean_inc(x_84); -x_148 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_148, 0, x_84); -lean_ctor_set(x_148, 1, x_147); -lean_ctor_set(x_148, 2, x_146); -x_149 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__60; +x_147 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_147, 0, x_84); +lean_ctor_set(x_147, 1, x_146); +lean_ctor_set(x_147, 2, x_145); +x_148 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__53; lean_inc(x_84); -x_150 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_150, 0, x_84); -lean_ctor_set(x_150, 1, x_149); -x_151 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__61; +x_149 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_149, 0, x_84); +lean_ctor_set(x_149, 1, x_148); +x_150 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__54; lean_inc(x_84); -x_152 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_152, 0, x_84); -lean_ctor_set(x_152, 1, x_151); -x_153 = lean_array_push(x_42, x_152); +x_151 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_151, 0, x_84); +lean_ctor_set(x_151, 1, x_150); +x_152 = lean_array_push(x_42, x_151); lean_inc(x_84); -x_154 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_154, 0, x_84); -lean_ctor_set(x_154, 1, x_147); -lean_ctor_set(x_154, 2, x_153); -x_155 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__62; -x_156 = lean_array_push(x_155, x_123); -x_157 = lean_array_push(x_156, x_141); -x_158 = lean_array_push(x_157, x_143); -x_159 = lean_array_push(x_158, x_148); -x_160 = lean_array_push(x_159, x_150); -x_161 = lean_array_push(x_160, x_154); -x_162 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__50; +x_153 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_153, 0, x_84); +lean_ctor_set(x_153, 1, x_146); +lean_ctor_set(x_153, 2, x_152); +x_154 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__55; +x_155 = lean_array_push(x_154, x_123); +x_156 = lean_array_push(x_155, x_140); +x_157 = lean_array_push(x_156, x_142); +x_158 = lean_array_push(x_157, x_147); +x_159 = lean_array_push(x_158, x_149); +x_160 = lean_array_push(x_159, x_153); +x_161 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__44; +lean_inc(x_84); +x_162 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_162, 0, x_84); +lean_ctor_set(x_162, 1, x_161); +lean_ctor_set(x_162, 2, x_160); lean_inc(x_84); x_163 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_163, 0, x_84); -lean_ctor_set(x_163, 1, x_162); -lean_ctor_set(x_163, 2, x_161); +lean_ctor_set(x_163, 1, x_44); +lean_ctor_set(x_163, 2, x_18); +x_164 = lean_array_push(x_46, x_162); +lean_inc(x_163); +x_165 = lean_array_push(x_164, x_163); lean_inc(x_84); -x_164 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_164, 0, x_84); -lean_ctor_set(x_164, 1, x_44); -lean_ctor_set(x_164, 2, x_18); -x_165 = lean_array_push(x_46, x_163); -lean_inc(x_164); -x_166 = lean_array_push(x_165, x_164); +x_166 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_166, 0, x_84); +lean_ctor_set(x_166, 1, x_44); +lean_ctor_set(x_166, 2, x_165); +x_167 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__30; lean_inc(x_84); -x_167 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_167, 0, x_84); -lean_ctor_set(x_167, 1, x_44); -lean_ctor_set(x_167, 2, x_166); -x_168 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__33; -lean_inc(x_84); -x_169 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_169, 0, x_84); -lean_ctor_set(x_169, 1, x_168); -x_170 = lean_array_push(x_136, x_111); -lean_inc(x_170); -x_171 = lean_array_push(x_170, x_167); +x_168 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_168, 0, x_84); +lean_ctor_set(x_168, 1, x_167); +x_169 = lean_array_push(x_135, x_111); lean_inc(x_169); -x_172 = lean_array_push(x_171, x_169); -x_173 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__15; +x_170 = lean_array_push(x_169, x_166); +lean_inc(x_168); +x_171 = lean_array_push(x_170, x_168); +x_172 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__11; lean_inc(x_84); -x_174 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_174, 0, x_84); -lean_ctor_set(x_174, 1, x_173); -lean_ctor_set(x_174, 2, x_172); -x_175 = lean_array_push(x_46, x_64); -lean_inc(x_164); -x_176 = lean_array_push(x_175, x_164); +x_173 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_173, 0, x_84); +lean_ctor_set(x_173, 1, x_172); +lean_ctor_set(x_173, 2, x_171); +x_174 = lean_array_push(x_46, x_64); +lean_inc(x_163); +x_175 = lean_array_push(x_174, x_163); lean_inc(x_84); -x_177 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_177, 0, x_84); -lean_ctor_set(x_177, 1, x_44); -lean_ctor_set(x_177, 2, x_176); -lean_inc(x_170); -x_178 = lean_array_push(x_170, x_177); +x_176 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_176, 0, x_84); +lean_ctor_set(x_176, 1, x_44); +lean_ctor_set(x_176, 2, x_175); lean_inc(x_169); -x_179 = lean_array_push(x_178, x_169); +x_177 = lean_array_push(x_169, x_176); +lean_inc(x_168); +x_178 = lean_array_push(x_177, x_168); lean_inc(x_84); -x_180 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_180, 0, x_84); -lean_ctor_set(x_180, 1, x_173); -lean_ctor_set(x_180, 2, x_179); -x_181 = lean_array_push(x_46, x_174); -x_182 = lean_array_push(x_181, x_180); +x_179 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_179, 0, x_84); +lean_ctor_set(x_179, 1, x_172); +lean_ctor_set(x_179, 2, x_178); +x_180 = lean_array_push(x_46, x_173); +x_181 = lean_array_push(x_180, x_179); lean_inc(x_84); -x_183 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_183, 0, x_84); -lean_ctor_set(x_183, 1, x_44); -lean_ctor_set(x_183, 2, x_182); -x_184 = lean_array_push(x_46, x_121); -x_185 = lean_array_push(x_184, x_183); +x_182 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_182, 0, x_84); +lean_ctor_set(x_182, 1, x_44); +lean_ctor_set(x_182, 2, x_181); +x_183 = lean_array_push(x_46, x_121); +x_184 = lean_array_push(x_183, x_182); lean_inc(x_84); -x_186 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_186, 0, x_84); -lean_ctor_set(x_186, 1, x_49); -lean_ctor_set(x_186, 2, x_185); -x_187 = lean_array_push(x_46, x_186); -lean_inc(x_164); -x_188 = lean_array_push(x_187, x_164); +x_185 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_185, 0, x_84); +lean_ctor_set(x_185, 1, x_49); +lean_ctor_set(x_185, 2, x_184); +x_186 = lean_array_push(x_46, x_185); +lean_inc(x_163); +x_187 = lean_array_push(x_186, x_163); lean_inc(x_84); -x_189 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_189, 0, x_84); -lean_ctor_set(x_189, 1, x_44); -lean_ctor_set(x_189, 2, x_188); -lean_inc(x_170); -x_190 = lean_array_push(x_170, x_189); +x_188 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_188, 0, x_84); +lean_ctor_set(x_188, 1, x_44); +lean_ctor_set(x_188, 2, x_187); lean_inc(x_169); -x_191 = lean_array_push(x_190, x_169); +x_189 = lean_array_push(x_169, x_188); +lean_inc(x_168); +x_190 = lean_array_push(x_189, x_168); lean_inc(x_84); -x_192 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_192, 0, x_84); -lean_ctor_set(x_192, 1, x_173); -lean_ctor_set(x_192, 2, x_191); -x_193 = lean_array_push(x_42, x_192); +x_191 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_191, 0, x_84); +lean_ctor_set(x_191, 1, x_172); +lean_ctor_set(x_191, 2, x_190); +x_192 = lean_array_push(x_42, x_191); lean_inc(x_84); -x_194 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_194, 0, x_84); -lean_ctor_set(x_194, 1, x_44); -lean_ctor_set(x_194, 2, x_193); -x_195 = lean_array_push(x_46, x_116); -x_196 = lean_array_push(x_195, x_194); +x_193 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_193, 0, x_84); +lean_ctor_set(x_193, 1, x_44); +lean_ctor_set(x_193, 2, x_192); +x_194 = lean_array_push(x_46, x_116); +x_195 = lean_array_push(x_194, x_193); lean_inc(x_84); -x_197 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_197, 0, x_84); -lean_ctor_set(x_197, 1, x_49); -lean_ctor_set(x_197, 2, x_196); -x_198 = lean_array_push(x_46, x_197); -x_199 = lean_array_push(x_198, x_164); +x_196 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_196, 0, x_84); +lean_ctor_set(x_196, 1, x_49); +lean_ctor_set(x_196, 2, x_195); +x_197 = lean_array_push(x_46, x_196); +x_198 = lean_array_push(x_197, x_163); lean_inc(x_84); -x_200 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_200, 0, x_84); -lean_ctor_set(x_200, 1, x_44); -lean_ctor_set(x_200, 2, x_199); -x_201 = lean_array_push(x_170, x_200); -x_202 = lean_array_push(x_201, x_169); +x_199 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_199, 0, x_84); +lean_ctor_set(x_199, 1, x_44); +lean_ctor_set(x_199, 2, x_198); +x_200 = lean_array_push(x_169, x_199); +x_201 = lean_array_push(x_200, x_168); lean_inc(x_84); -x_203 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_203, 0, x_84); -lean_ctor_set(x_203, 1, x_173); -lean_ctor_set(x_203, 2, x_202); -x_204 = lean_array_push(x_46, x_203); -x_205 = lean_array_push(x_204, x_128); +x_202 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_202, 0, x_84); +lean_ctor_set(x_202, 1, x_172); +lean_ctor_set(x_202, 2, x_201); +x_203 = lean_array_push(x_46, x_202); +x_204 = lean_array_push(x_203, x_127); lean_inc(x_84); -x_206 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_206, 0, x_84); -lean_ctor_set(x_206, 1, x_44); -lean_ctor_set(x_206, 2, x_205); -x_207 = lean_array_push(x_46, x_109); -x_208 = lean_array_push(x_207, x_206); +x_205 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_205, 0, x_84); +lean_ctor_set(x_205, 1, x_44); +lean_ctor_set(x_205, 2, x_204); +x_206 = lean_array_push(x_46, x_109); +x_207 = lean_array_push(x_206, x_205); lean_inc(x_84); -x_209 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_209, 0, x_84); -lean_ctor_set(x_209, 1, x_49); -lean_ctor_set(x_209, 2, x_208); -x_210 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__63; -x_211 = lean_array_push(x_210, x_92); -x_212 = lean_array_push(x_211, x_102); -x_213 = lean_array_push(x_212, x_104); -x_214 = lean_array_push(x_213, x_209); -x_215 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__15; -x_216 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_216, 0, x_84); -lean_ctor_set(x_216, 1, x_215); -lean_ctor_set(x_216, 2, x_214); -lean_ctor_set(x_86, 0, x_216); +x_208 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_208, 0, x_84); +lean_ctor_set(x_208, 1, x_49); +lean_ctor_set(x_208, 2, x_207); +x_209 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__56; +x_210 = lean_array_push(x_209, x_92); +x_211 = lean_array_push(x_210, x_102); +x_212 = lean_array_push(x_211, x_104); +x_213 = lean_array_push(x_212, x_208); +x_214 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__15; +x_215 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_215, 0, x_84); +lean_ctor_set(x_215, 1, x_214); +lean_ctor_set(x_215, 2, x_213); +lean_ctor_set(x_86, 0, x_215); return x_86; } else { -lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; size_t x_224; size_t x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; lean_object* x_324; lean_object* x_325; lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; lean_object* x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; -x_217 = lean_ctor_get(x_86, 0); -x_218 = lean_ctor_get(x_86, 1); -lean_inc(x_218); +lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; size_t x_223; size_t x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; lean_object* x_324; lean_object* x_325; lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; lean_object* x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; +x_216 = lean_ctor_get(x_86, 0); +x_217 = lean_ctor_get(x_86, 1); lean_inc(x_217); +lean_inc(x_216); lean_dec(x_86); -x_219 = lean_ctor_get(x_217, 0); +x_218 = lean_ctor_get(x_216, 0); +lean_inc(x_218); +lean_dec(x_216); +x_219 = lean_environment_main_module(x_218); +x_220 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__16; +lean_inc(x_84); +x_221 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_221, 0, x_84); +lean_ctor_set(x_221, 1, x_220); +x_222 = lean_array_get_size(x_82); +x_223 = lean_usize_of_nat(x_222); +lean_dec(x_222); +x_224 = 0; +x_225 = l_Array_mapMUnsafe_map___at___aux__Init__NotationExtra______macroRules__term_x25_x5b___x7c___x5d__1___spec__3(x_223, x_224, x_82); +x_226 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__18; +x_227 = l_Lean_mkSepArray(x_225, x_226); +lean_dec(x_225); +x_228 = l_Array_append___rarg(x_18, x_227); +lean_inc(x_84); +x_229 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_229, 0, x_84); +lean_ctor_set(x_229, 1, x_44); +lean_ctor_set(x_229, 2, x_228); +x_230 = lean_array_push(x_42, x_229); +lean_inc(x_84); +x_231 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_231, 0, x_84); +lean_ctor_set(x_231, 1, x_44); +lean_ctor_set(x_231, 2, x_230); +x_232 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__19; +lean_inc(x_84); +x_233 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_233, 0, x_84); +lean_ctor_set(x_233, 1, x_232); +x_234 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__24; +lean_inc(x_31); lean_inc(x_219); -lean_dec(x_217); -x_220 = lean_environment_main_module(x_219); -x_221 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__16; +x_235 = l_Lean_addMacroScope(x_219, x_234, x_31); +x_236 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__22; +x_237 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__28; lean_inc(x_84); -x_222 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_222, 0, x_84); -lean_ctor_set(x_222, 1, x_221); -x_223 = lean_array_get_size(x_82); -x_224 = lean_usize_of_nat(x_223); -lean_dec(x_223); -x_225 = 0; -x_226 = l_Array_mapMUnsafe_map___at___aux__Init__NotationExtra______macroRules__term_x25_x5b___x7c___x5d__1___spec__3(x_224, x_225, x_82); -x_227 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__18; -x_228 = l_Lean_mkSepArray(x_226, x_227); -lean_dec(x_226); -x_229 = l_Array_append___rarg(x_18, x_228); +x_238 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_238, 0, x_84); +lean_ctor_set(x_238, 1, x_236); +lean_ctor_set(x_238, 2, x_235); +lean_ctor_set(x_238, 3, x_237); +x_239 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__11; lean_inc(x_84); -x_230 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_230, 0, x_84); -lean_ctor_set(x_230, 1, x_44); -lean_ctor_set(x_230, 2, x_229); -x_231 = lean_array_push(x_42, x_230); -lean_inc(x_84); -x_232 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_232, 0, x_84); -lean_ctor_set(x_232, 1, x_44); -lean_ctor_set(x_232, 2, x_231); -x_233 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__19; -lean_inc(x_84); -x_234 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_234, 0, x_84); -lean_ctor_set(x_234, 1, x_233); -x_235 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__24; +x_240 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_240, 0, x_84); +lean_ctor_set(x_240, 1, x_239); +x_241 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__30; lean_inc(x_31); -lean_inc(x_220); -x_236 = l_Lean_addMacroScope(x_220, x_235, x_31); -x_237 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__22; -x_238 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__28; +lean_inc(x_219); +x_242 = l_Lean_addMacroScope(x_219, x_241, x_31); +x_243 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__29; +x_244 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__35; lean_inc(x_84); -x_239 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_239, 0, x_84); -lean_ctor_set(x_239, 1, x_237); -lean_ctor_set(x_239, 2, x_236); -lean_ctor_set(x_239, 3, x_238); -x_240 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__11; -lean_inc(x_84); -x_241 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_241, 0, x_84); -lean_ctor_set(x_241, 1, x_240); -x_242 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__33; +x_245 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_245, 0, x_84); +lean_ctor_set(x_245, 1, x_243); +lean_ctor_set(x_245, 2, x_242); +lean_ctor_set(x_245, 3, x_244); +x_246 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__37; lean_inc(x_31); -lean_inc(x_220); -x_243 = l_Lean_addMacroScope(x_220, x_242, x_31); -x_244 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__31; -x_245 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__38; +lean_inc(x_219); +x_247 = l_Lean_addMacroScope(x_219, x_246, x_31); +x_248 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__36; +x_249 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__42; lean_inc(x_84); -x_246 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_246, 0, x_84); -lean_ctor_set(x_246, 1, x_244); -lean_ctor_set(x_246, 2, x_243); -lean_ctor_set(x_246, 3, x_245); -x_247 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__43; -lean_inc(x_31); -lean_inc(x_220); -x_248 = l_Lean_addMacroScope(x_220, x_247, x_31); -x_249 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__41; -x_250 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__48; +x_250 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_250, 0, x_84); +lean_ctor_set(x_250, 1, x_248); +lean_ctor_set(x_250, 2, x_247); +lean_ctor_set(x_250, 3, x_249); +x_251 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__45; lean_inc(x_84); -x_251 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_251, 0, x_84); -lean_ctor_set(x_251, 1, x_249); -lean_ctor_set(x_251, 2, x_248); -lean_ctor_set(x_251, 3, x_250); -x_252 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__51; +x_252 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_252, 0, x_84); +lean_ctor_set(x_252, 1, x_251); +x_253 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__17; +x_254 = l_Lean_addMacroScope(x_219, x_253, x_31); +x_255 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__16; lean_inc(x_84); -x_253 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_253, 0, x_84); -lean_ctor_set(x_253, 1, x_252); -x_254 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__17; -x_255 = l_Lean_addMacroScope(x_220, x_254, x_31); -x_256 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__16; -x_257 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__54; +x_256 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_256, 0, x_84); +lean_ctor_set(x_256, 1, x_255); +lean_ctor_set(x_256, 2, x_254); +lean_ctor_set(x_256, 3, x_22); +x_257 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__48; lean_inc(x_84); -x_258 = lean_alloc_ctor(3, 4, 0); +x_258 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_258, 0, x_84); -lean_ctor_set(x_258, 1, x_256); -lean_ctor_set(x_258, 2, x_255); -lean_ctor_set(x_258, 3, x_257); -x_259 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__55; +lean_ctor_set(x_258, 1, x_257); +x_259 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__2___closed__7; lean_inc(x_84); x_260 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_260, 0, x_84); lean_ctor_set(x_260, 1, x_259); -x_261 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__2___closed__7; +x_261 = lean_array_push(x_42, x_260); +x_262 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__2___closed__6; lean_inc(x_84); -x_262 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_262, 0, x_84); -lean_ctor_set(x_262, 1, x_261); -x_263 = lean_array_push(x_42, x_262); -x_264 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__2___closed__6; +x_263 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_263, 0, x_84); +lean_ctor_set(x_263, 1, x_262); +lean_ctor_set(x_263, 2, x_261); +x_264 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__6; +lean_inc(x_256); +x_265 = lean_array_push(x_264, x_256); +x_266 = lean_array_push(x_265, x_258); +x_267 = lean_array_push(x_266, x_263); +x_268 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__47; lean_inc(x_84); -x_265 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_265, 0, x_84); -lean_ctor_set(x_265, 1, x_264); -lean_ctor_set(x_265, 2, x_263); -x_266 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4; -lean_inc(x_258); -x_267 = lean_array_push(x_266, x_258); -x_268 = lean_array_push(x_267, x_260); -x_269 = lean_array_push(x_268, x_265); -x_270 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__53; +x_269 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_269, 0, x_84); +lean_ctor_set(x_269, 1, x_268); +lean_ctor_set(x_269, 2, x_267); +x_270 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__49; lean_inc(x_84); -x_271 = lean_alloc_ctor(1, 3, 0); +x_271 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_271, 0, x_84); lean_ctor_set(x_271, 1, x_270); -lean_ctor_set(x_271, 2, x_269); -x_272 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__56; +x_272 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__52; lean_inc(x_84); x_273 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_273, 0, x_84); lean_ctor_set(x_273, 1, x_272); -x_274 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__59; +x_274 = lean_array_push(x_42, x_273); +x_275 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__51; lean_inc(x_84); -x_275 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_275, 0, x_84); -lean_ctor_set(x_275, 1, x_274); -x_276 = lean_array_push(x_42, x_275); -x_277 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__58; +x_276 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_276, 0, x_84); +lean_ctor_set(x_276, 1, x_275); +lean_ctor_set(x_276, 2, x_274); +x_277 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__53; lean_inc(x_84); -x_278 = lean_alloc_ctor(1, 3, 0); +x_278 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_278, 0, x_84); lean_ctor_set(x_278, 1, x_277); -lean_ctor_set(x_278, 2, x_276); -x_279 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__60; +x_279 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__54; lean_inc(x_84); x_280 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_280, 0, x_84); lean_ctor_set(x_280, 1, x_279); -x_281 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__61; +x_281 = lean_array_push(x_42, x_280); lean_inc(x_84); -x_282 = lean_alloc_ctor(2, 2, 0); +x_282 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_282, 0, x_84); -lean_ctor_set(x_282, 1, x_281); -x_283 = lean_array_push(x_42, x_282); +lean_ctor_set(x_282, 1, x_275); +lean_ctor_set(x_282, 2, x_281); +x_283 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__55; +x_284 = lean_array_push(x_283, x_252); +x_285 = lean_array_push(x_284, x_269); +x_286 = lean_array_push(x_285, x_271); +x_287 = lean_array_push(x_286, x_276); +x_288 = lean_array_push(x_287, x_278); +x_289 = lean_array_push(x_288, x_282); +x_290 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__44; lean_inc(x_84); -x_284 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_284, 0, x_84); -lean_ctor_set(x_284, 1, x_277); -lean_ctor_set(x_284, 2, x_283); -x_285 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__62; -x_286 = lean_array_push(x_285, x_253); -x_287 = lean_array_push(x_286, x_271); -x_288 = lean_array_push(x_287, x_273); -x_289 = lean_array_push(x_288, x_278); -x_290 = lean_array_push(x_289, x_280); -x_291 = lean_array_push(x_290, x_284); -x_292 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__50; +x_291 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_291, 0, x_84); +lean_ctor_set(x_291, 1, x_290); +lean_ctor_set(x_291, 2, x_289); lean_inc(x_84); -x_293 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_293, 0, x_84); -lean_ctor_set(x_293, 1, x_292); -lean_ctor_set(x_293, 2, x_291); +x_292 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_292, 0, x_84); +lean_ctor_set(x_292, 1, x_44); +lean_ctor_set(x_292, 2, x_18); +x_293 = lean_array_push(x_46, x_291); +lean_inc(x_292); +x_294 = lean_array_push(x_293, x_292); lean_inc(x_84); -x_294 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_294, 0, x_84); -lean_ctor_set(x_294, 1, x_44); -lean_ctor_set(x_294, 2, x_18); -x_295 = lean_array_push(x_46, x_293); -lean_inc(x_294); -x_296 = lean_array_push(x_295, x_294); +x_295 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_295, 0, x_84); +lean_ctor_set(x_295, 1, x_44); +lean_ctor_set(x_295, 2, x_294); +x_296 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__30; lean_inc(x_84); -x_297 = lean_alloc_ctor(1, 3, 0); +x_297 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_297, 0, x_84); -lean_ctor_set(x_297, 1, x_44); -lean_ctor_set(x_297, 2, x_296); -x_298 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__33; +lean_ctor_set(x_297, 1, x_296); +x_298 = lean_array_push(x_264, x_240); +lean_inc(x_298); +x_299 = lean_array_push(x_298, x_295); +lean_inc(x_297); +x_300 = lean_array_push(x_299, x_297); +x_301 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__11; lean_inc(x_84); -x_299 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_299, 0, x_84); -lean_ctor_set(x_299, 1, x_298); -x_300 = lean_array_push(x_266, x_241); -lean_inc(x_300); -x_301 = lean_array_push(x_300, x_297); -lean_inc(x_299); -x_302 = lean_array_push(x_301, x_299); -x_303 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__15; +x_302 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_302, 0, x_84); +lean_ctor_set(x_302, 1, x_301); +lean_ctor_set(x_302, 2, x_300); +x_303 = lean_array_push(x_46, x_64); +lean_inc(x_292); +x_304 = lean_array_push(x_303, x_292); lean_inc(x_84); -x_304 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_304, 0, x_84); -lean_ctor_set(x_304, 1, x_303); -lean_ctor_set(x_304, 2, x_302); -x_305 = lean_array_push(x_46, x_64); -lean_inc(x_294); -x_306 = lean_array_push(x_305, x_294); +x_305 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_305, 0, x_84); +lean_ctor_set(x_305, 1, x_44); +lean_ctor_set(x_305, 2, x_304); +lean_inc(x_298); +x_306 = lean_array_push(x_298, x_305); +lean_inc(x_297); +x_307 = lean_array_push(x_306, x_297); lean_inc(x_84); -x_307 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_307, 0, x_84); -lean_ctor_set(x_307, 1, x_44); -lean_ctor_set(x_307, 2, x_306); -lean_inc(x_300); -x_308 = lean_array_push(x_300, x_307); -lean_inc(x_299); -x_309 = lean_array_push(x_308, x_299); +x_308 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_308, 0, x_84); +lean_ctor_set(x_308, 1, x_301); +lean_ctor_set(x_308, 2, x_307); +x_309 = lean_array_push(x_46, x_302); +x_310 = lean_array_push(x_309, x_308); lean_inc(x_84); -x_310 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_310, 0, x_84); -lean_ctor_set(x_310, 1, x_303); -lean_ctor_set(x_310, 2, x_309); -x_311 = lean_array_push(x_46, x_304); -x_312 = lean_array_push(x_311, x_310); +x_311 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_311, 0, x_84); +lean_ctor_set(x_311, 1, x_44); +lean_ctor_set(x_311, 2, x_310); +x_312 = lean_array_push(x_46, x_250); +x_313 = lean_array_push(x_312, x_311); lean_inc(x_84); -x_313 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_313, 0, x_84); -lean_ctor_set(x_313, 1, x_44); -lean_ctor_set(x_313, 2, x_312); -x_314 = lean_array_push(x_46, x_251); -x_315 = lean_array_push(x_314, x_313); +x_314 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_314, 0, x_84); +lean_ctor_set(x_314, 1, x_49); +lean_ctor_set(x_314, 2, x_313); +x_315 = lean_array_push(x_46, x_314); +lean_inc(x_292); +x_316 = lean_array_push(x_315, x_292); lean_inc(x_84); -x_316 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_316, 0, x_84); -lean_ctor_set(x_316, 1, x_49); -lean_ctor_set(x_316, 2, x_315); -x_317 = lean_array_push(x_46, x_316); -lean_inc(x_294); -x_318 = lean_array_push(x_317, x_294); +x_317 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_317, 0, x_84); +lean_ctor_set(x_317, 1, x_44); +lean_ctor_set(x_317, 2, x_316); +lean_inc(x_298); +x_318 = lean_array_push(x_298, x_317); +lean_inc(x_297); +x_319 = lean_array_push(x_318, x_297); lean_inc(x_84); -x_319 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_319, 0, x_84); -lean_ctor_set(x_319, 1, x_44); -lean_ctor_set(x_319, 2, x_318); -lean_inc(x_300); -x_320 = lean_array_push(x_300, x_319); -lean_inc(x_299); -x_321 = lean_array_push(x_320, x_299); +x_320 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_320, 0, x_84); +lean_ctor_set(x_320, 1, x_301); +lean_ctor_set(x_320, 2, x_319); +x_321 = lean_array_push(x_42, x_320); lean_inc(x_84); x_322 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_322, 0, x_84); -lean_ctor_set(x_322, 1, x_303); +lean_ctor_set(x_322, 1, x_44); lean_ctor_set(x_322, 2, x_321); -x_323 = lean_array_push(x_42, x_322); +x_323 = lean_array_push(x_46, x_245); +x_324 = lean_array_push(x_323, x_322); lean_inc(x_84); -x_324 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_324, 0, x_84); -lean_ctor_set(x_324, 1, x_44); -lean_ctor_set(x_324, 2, x_323); -x_325 = lean_array_push(x_46, x_246); -x_326 = lean_array_push(x_325, x_324); +x_325 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_325, 0, x_84); +lean_ctor_set(x_325, 1, x_49); +lean_ctor_set(x_325, 2, x_324); +x_326 = lean_array_push(x_46, x_325); +x_327 = lean_array_push(x_326, x_292); lean_inc(x_84); -x_327 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_327, 0, x_84); -lean_ctor_set(x_327, 1, x_49); -lean_ctor_set(x_327, 2, x_326); -x_328 = lean_array_push(x_46, x_327); -x_329 = lean_array_push(x_328, x_294); +x_328 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_328, 0, x_84); +lean_ctor_set(x_328, 1, x_44); +lean_ctor_set(x_328, 2, x_327); +x_329 = lean_array_push(x_298, x_328); +x_330 = lean_array_push(x_329, x_297); lean_inc(x_84); -x_330 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_330, 0, x_84); -lean_ctor_set(x_330, 1, x_44); -lean_ctor_set(x_330, 2, x_329); -x_331 = lean_array_push(x_300, x_330); -x_332 = lean_array_push(x_331, x_299); +x_331 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_331, 0, x_84); +lean_ctor_set(x_331, 1, x_301); +lean_ctor_set(x_331, 2, x_330); +x_332 = lean_array_push(x_46, x_331); +x_333 = lean_array_push(x_332, x_256); lean_inc(x_84); -x_333 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_333, 0, x_84); -lean_ctor_set(x_333, 1, x_303); -lean_ctor_set(x_333, 2, x_332); -x_334 = lean_array_push(x_46, x_333); -x_335 = lean_array_push(x_334, x_258); +x_334 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_334, 0, x_84); +lean_ctor_set(x_334, 1, x_44); +lean_ctor_set(x_334, 2, x_333); +x_335 = lean_array_push(x_46, x_238); +x_336 = lean_array_push(x_335, x_334); lean_inc(x_84); -x_336 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_336, 0, x_84); -lean_ctor_set(x_336, 1, x_44); -lean_ctor_set(x_336, 2, x_335); -x_337 = lean_array_push(x_46, x_239); -x_338 = lean_array_push(x_337, x_336); -lean_inc(x_84); -x_339 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_339, 0, x_84); -lean_ctor_set(x_339, 1, x_49); -lean_ctor_set(x_339, 2, x_338); -x_340 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__63; -x_341 = lean_array_push(x_340, x_222); -x_342 = lean_array_push(x_341, x_232); -x_343 = lean_array_push(x_342, x_234); -x_344 = lean_array_push(x_343, x_339); -x_345 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__15; -x_346 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_346, 0, x_84); -lean_ctor_set(x_346, 1, x_345); -lean_ctor_set(x_346, 2, x_344); -x_347 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_347, 0, x_346); -lean_ctor_set(x_347, 1, x_218); -return x_347; +x_337 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_337, 0, x_84); +lean_ctor_set(x_337, 1, x_49); +lean_ctor_set(x_337, 2, x_336); +x_338 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__56; +x_339 = lean_array_push(x_338, x_221); +x_340 = lean_array_push(x_339, x_231); +x_341 = lean_array_push(x_340, x_233); +x_342 = lean_array_push(x_341, x_337); +x_343 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__15; +x_344 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_344, 0, x_84); +lean_ctor_set(x_344, 1, x_343); +lean_ctor_set(x_344, 2, x_342); +x_345 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_345, 0, x_344); +lean_ctor_set(x_345, 1, x_217); +return x_345; } } else { -uint8_t x_348; +uint8_t x_346; lean_dec(x_31); lean_dec(x_20); lean_dec(x_13); lean_dec(x_12); lean_dec(x_5); -x_348 = !lean_is_exclusive(x_60); -if (x_348 == 0) +x_346 = !lean_is_exclusive(x_60); +if (x_346 == 0) { return x_60; } else { -lean_object* x_349; lean_object* x_350; lean_object* x_351; -x_349 = lean_ctor_get(x_60, 0); -x_350 = lean_ctor_get(x_60, 1); -lean_inc(x_350); -lean_inc(x_349); +lean_object* x_347; lean_object* x_348; lean_object* x_349; +x_347 = lean_ctor_get(x_60, 0); +x_348 = lean_ctor_get(x_60, 1); +lean_inc(x_348); +lean_inc(x_347); lean_dec(x_60); -x_351 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_351, 0, x_349); -lean_ctor_set(x_351, 1, x_350); -return x_351; +x_349 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_349, 0, x_347); +lean_ctor_set(x_349, 1, x_348); +return x_349; } } } @@ -5541,7 +5788,7 @@ _start: lean_object* x_10; lean_object* x_11; lean_object* x_12; x_10 = lean_ctor_get(x_1, 4); lean_inc(x_10); -x_11 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__32; +x_11 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__29; x_12 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3(x_1, x_2, x_10, x_11, x_3, x_4, x_5, x_6, x_7, x_8, x_9); if (lean_obj_tag(x_12) == 0) { @@ -5683,6 +5930,30 @@ x_6 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts return x_6; } } +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_Repr_mkBodyForInduct___spec__1(size_t x_1, size_t x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; +x_4 = lean_usize_dec_lt(x_2, x_1); +if (x_4 == 0) +{ +return x_3; +} +else +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; size_t x_8; size_t x_9; lean_object* x_10; +x_5 = lean_array_uget(x_3, x_2); +x_6 = lean_unsigned_to_nat(0u); +x_7 = lean_array_uset(x_3, x_2, x_6); +x_8 = 1; +x_9 = lean_usize_add(x_2, x_8); +x_10 = lean_array_uset(x_7, x_2, x_5); +x_2 = x_9; +x_3 = x_10; +goto _start; +} +} +} static lean_object* _init_l_Lean_Elab_Deriving_Repr_mkBodyForInduct___closed__1() { _start: { @@ -5770,7 +6041,7 @@ x_24 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_24, 0, x_18); lean_ctor_set(x_24, 1, x_23); x_25 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__13; -x_26 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__32; +x_26 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__29; lean_inc(x_18); x_27 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_27, 0, x_18); @@ -5780,7 +6051,7 @@ x_28 = lean_array_get_size(x_12); x_29 = lean_usize_of_nat(x_28); lean_dec(x_28); x_30 = 0; -x_31 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(x_29, x_30, x_12); +x_31 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_Repr_mkBodyForInduct___spec__1(x_29, x_30, x_12); x_32 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__18; x_33 = l_Lean_mkSepArray(x_31, x_32); lean_dec(x_31); @@ -5801,7 +6072,7 @@ x_39 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_39, 0, x_18); lean_ctor_set(x_39, 1, x_25); lean_ctor_set(x_39, 2, x_38); -x_40 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__21; +x_40 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__18; x_41 = lean_array_push(x_40, x_39); x_42 = l_Lean_Elab_Deriving_Repr_mkBodyForInduct___closed__5; lean_inc(x_18); @@ -5809,7 +6080,7 @@ x_43 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_43, 0, x_18); lean_ctor_set(x_43, 1, x_42); lean_ctor_set(x_43, 2, x_41); -x_44 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__62; +x_44 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__55; x_45 = lean_array_push(x_44, x_24); lean_inc(x_27); x_46 = lean_array_push(x_45, x_27); @@ -5837,7 +6108,7 @@ x_55 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_55, 0, x_18); lean_ctor_set(x_55, 1, x_54); x_56 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__13; -x_57 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__32; +x_57 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__29; lean_inc(x_18); x_58 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_58, 0, x_18); @@ -5847,7 +6118,7 @@ x_59 = lean_array_get_size(x_12); x_60 = lean_usize_of_nat(x_59); lean_dec(x_59); x_61 = 0; -x_62 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(x_60, x_61, x_12); +x_62 = l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_Repr_mkBodyForInduct___spec__1(x_60, x_61, x_12); x_63 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__18; x_64 = l_Lean_mkSepArray(x_62, x_63); lean_dec(x_62); @@ -5868,7 +6139,7 @@ x_70 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_70, 0, x_18); lean_ctor_set(x_70, 1, x_56); lean_ctor_set(x_70, 2, x_69); -x_71 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__21; +x_71 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__18; x_72 = lean_array_push(x_71, x_70); x_73 = l_Lean_Elab_Deriving_Repr_mkBodyForInduct___closed__5; lean_inc(x_18); @@ -5876,7 +6147,7 @@ x_74 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_74, 0, x_18); lean_ctor_set(x_74, 1, x_73); lean_ctor_set(x_74, 2, x_72); -x_75 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__62; +x_75 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__55; x_76 = lean_array_push(x_75, x_55); lean_inc(x_58); x_77 = lean_array_push(x_76, x_58); @@ -5922,6 +6193,18 @@ return x_88; } } } +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Deriving_Repr_mkBodyForInduct___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; +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_Elab_Deriving_Repr_mkBodyForInduct___spec__1(x_4, x_5, x_3); +return x_6; +} +} LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_Repr_mkBody(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, 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: { @@ -6255,7 +6538,7 @@ lean_inc(x_22); lean_dec(x_21); x_23 = lean_environment_main_module(x_22); x_24 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__13; -x_25 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__32; +x_25 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__29; lean_inc(x_16); x_26 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_26, 0, x_16); @@ -6266,7 +6549,7 @@ lean_inc(x_16); x_28 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_28, 0, x_16); lean_ctor_set(x_28, 1, x_27); -x_29 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__21; +x_29 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__18; x_30 = lean_array_push(x_29, x_28); x_31 = l_Lean_Elab_Deriving_Repr_mkAuxFunction___lambda__1___closed__8; lean_inc(x_16); @@ -6280,7 +6563,7 @@ x_34 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_34, 0, x_16); lean_ctor_set(x_34, 1, x_24); lean_ctor_set(x_34, 2, x_33); -x_35 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__62; +x_35 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__55; lean_inc(x_26); x_36 = lean_array_push(x_35, x_26); lean_inc(x_26); @@ -6304,7 +6587,7 @@ x_45 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_45, 0, x_16); lean_ctor_set(x_45, 1, x_44); x_46 = lean_mk_syntax_ident(x_3); -x_47 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__31; +x_47 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__28; x_48 = lean_array_push(x_47, x_46); lean_inc(x_26); x_49 = lean_array_push(x_48, x_26); @@ -6320,7 +6603,7 @@ x_53 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_53, 0, x_16); lean_ctor_set(x_53, 1, x_24); lean_ctor_set(x_53, 2, x_52); -x_54 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__22; +x_54 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__19; lean_inc(x_16); x_55 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_55, 0, x_16); @@ -6362,7 +6645,7 @@ lean_inc(x_16); x_72 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_72, 0, x_16); lean_ctor_set(x_72, 1, x_71); -x_73 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4; +x_73 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__6; x_74 = lean_array_push(x_73, x_72); x_75 = lean_array_push(x_74, x_4); lean_inc(x_26); @@ -6412,7 +6695,7 @@ lean_inc(x_95); lean_dec(x_93); x_96 = lean_environment_main_module(x_95); x_97 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__13; -x_98 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__32; +x_98 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__29; lean_inc(x_16); x_99 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_99, 0, x_16); @@ -6423,7 +6706,7 @@ lean_inc(x_16); x_101 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_101, 0, x_16); lean_ctor_set(x_101, 1, x_100); -x_102 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__21; +x_102 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__18; x_103 = lean_array_push(x_102, x_101); x_104 = l_Lean_Elab_Deriving_Repr_mkAuxFunction___lambda__1___closed__8; lean_inc(x_16); @@ -6437,7 +6720,7 @@ x_107 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_107, 0, x_16); lean_ctor_set(x_107, 1, x_97); lean_ctor_set(x_107, 2, x_106); -x_108 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__62; +x_108 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__55; lean_inc(x_99); x_109 = lean_array_push(x_108, x_99); lean_inc(x_99); @@ -6461,7 +6744,7 @@ x_118 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_118, 0, x_16); lean_ctor_set(x_118, 1, x_117); x_119 = lean_mk_syntax_ident(x_3); -x_120 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__31; +x_120 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__28; x_121 = lean_array_push(x_120, x_119); lean_inc(x_99); x_122 = lean_array_push(x_121, x_99); @@ -6477,7 +6760,7 @@ x_126 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_126, 0, x_16); lean_ctor_set(x_126, 1, x_97); lean_ctor_set(x_126, 2, x_125); -x_127 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__22; +x_127 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__19; lean_inc(x_16); x_128 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_128, 0, x_16); @@ -6519,7 +6802,7 @@ lean_inc(x_16); x_145 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_145, 0, x_16); lean_ctor_set(x_145, 1, x_144); -x_146 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4; +x_146 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__6; x_147 = lean_array_push(x_146, x_145); x_148 = lean_array_push(x_147, x_4); lean_inc(x_99); @@ -6586,7 +6869,7 @@ lean_inc(x_175); lean_dec(x_174); x_176 = lean_environment_main_module(x_175); x_177 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__13; -x_178 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__32; +x_178 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__29; lean_inc(x_169); x_179 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_179, 0, x_169); @@ -6597,7 +6880,7 @@ lean_inc(x_169); x_181 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_181, 0, x_169); lean_ctor_set(x_181, 1, x_180); -x_182 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__21; +x_182 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__18; x_183 = lean_array_push(x_182, x_181); x_184 = l_Lean_Elab_Deriving_Repr_mkAuxFunction___lambda__1___closed__8; lean_inc(x_169); @@ -6629,7 +6912,7 @@ x_194 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_194, 0, x_169); lean_ctor_set(x_194, 1, x_177); lean_ctor_set(x_194, 2, x_193); -x_195 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__62; +x_195 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__55; lean_inc(x_179); x_196 = lean_array_push(x_195, x_179); lean_inc(x_179); @@ -6652,7 +6935,7 @@ x_205 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_205, 0, x_169); lean_ctor_set(x_205, 1, x_204); x_206 = lean_mk_syntax_ident(x_3); -x_207 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__31; +x_207 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__28; x_208 = lean_array_push(x_207, x_206); lean_inc(x_179); x_209 = lean_array_push(x_208, x_179); @@ -6668,7 +6951,7 @@ x_213 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_213, 0, x_169); lean_ctor_set(x_213, 1, x_177); lean_ctor_set(x_213, 2, x_212); -x_214 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__22; +x_214 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__19; lean_inc(x_169); x_215 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_215, 0, x_169); @@ -6710,7 +6993,7 @@ lean_inc(x_169); x_232 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_232, 0, x_169); lean_ctor_set(x_232, 1, x_231); -x_233 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4; +x_233 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__6; x_234 = lean_array_push(x_233, x_232); x_235 = lean_array_push(x_234, x_4); lean_inc(x_179); @@ -6760,7 +7043,7 @@ lean_inc(x_255); lean_dec(x_253); x_256 = lean_environment_main_module(x_255); x_257 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__13; -x_258 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__32; +x_258 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__29; lean_inc(x_169); x_259 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_259, 0, x_169); @@ -6771,7 +7054,7 @@ lean_inc(x_169); x_261 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_261, 0, x_169); lean_ctor_set(x_261, 1, x_260); -x_262 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__21; +x_262 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__18; x_263 = lean_array_push(x_262, x_261); x_264 = l_Lean_Elab_Deriving_Repr_mkAuxFunction___lambda__1___closed__8; lean_inc(x_169); @@ -6803,7 +7086,7 @@ x_274 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_274, 0, x_169); lean_ctor_set(x_274, 1, x_257); lean_ctor_set(x_274, 2, x_273); -x_275 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__62; +x_275 = l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__55; lean_inc(x_259); x_276 = lean_array_push(x_275, x_259); lean_inc(x_259); @@ -6826,7 +7109,7 @@ x_285 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_285, 0, x_169); lean_ctor_set(x_285, 1, x_284); x_286 = lean_mk_syntax_ident(x_3); -x_287 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__31; +x_287 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__28; x_288 = lean_array_push(x_287, x_286); lean_inc(x_259); x_289 = lean_array_push(x_288, x_259); @@ -6842,7 +7125,7 @@ x_293 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_293, 0, x_169); lean_ctor_set(x_293, 1, x_257); lean_ctor_set(x_293, 2, x_292); -x_294 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__22; +x_294 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__19; lean_inc(x_169); x_295 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_295, 0, x_169); @@ -6884,7 +7167,7 @@ lean_inc(x_169); x_312 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_312, 0, x_169); lean_ctor_set(x_312, 1, x_311); -x_313 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__4; +x_313 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__6; x_314 = lean_array_push(x_313, x_312); x_315 = lean_array_push(x_314, x_4); lean_inc(x_259); @@ -7342,7 +7625,7 @@ x_10 = lean_array_get_size(x_9); lean_dec(x_9); x_11 = lean_unsigned_to_nat(0u); x_12 = lean_unsigned_to_nat(1u); -x_13 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__32; +x_13 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__29; lean_inc(x_7); lean_inc(x_6); lean_inc(x_10); @@ -7392,7 +7675,7 @@ x_30 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_30, 0, x_18); lean_ctor_set(x_30, 1, x_26); lean_ctor_set(x_30, 2, x_13); -x_31 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__34; +x_31 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__31; x_32 = lean_array_push(x_31, x_24); x_33 = lean_array_push(x_32, x_27); x_34 = lean_array_push(x_33, x_29); @@ -7435,7 +7718,7 @@ x_47 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_47, 0, x_18); lean_ctor_set(x_47, 1, x_43); lean_ctor_set(x_47, 2, x_13); -x_48 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__34; +x_48 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__31; x_49 = lean_array_push(x_48, x_41); x_50 = lean_array_push(x_49, x_44); x_51 = lean_array_push(x_50, x_46); @@ -7590,7 +7873,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l___private_Lean_Elab_Deriving_Repr_0__Lean_Elab_Deriving_Repr_mkReprInstanceCmds___closed__4; -x_2 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__10; +x_2 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__20; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } @@ -7655,7 +7938,7 @@ goto block_59; block_59: { lean_object* x_10; lean_object* x_11; -x_10 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__10; +x_10 = l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__20; lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); @@ -7705,7 +7988,7 @@ lean_inc(x_20); x_21 = lean_ctor_get(x_19, 1); lean_inc(x_21); lean_dec(x_19); -x_22 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__21; +x_22 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__18; x_23 = lean_array_push(x_22, x_15); x_24 = l_Array_append___rarg(x_23, x_20); x_25 = l___private_Lean_Elab_Deriving_Repr_0__Lean_Elab_Deriving_Repr_mkReprInstanceCmds___closed__5; @@ -8439,7 +8722,7 @@ lean_dec(x_1); return x_9; } } -static lean_object* _init_l_Lean_Elab_Deriving_Repr_initFn____x40_Lean_Elab_Deriving_Repr___hyg_3720____closed__1() { +static lean_object* _init_l_Lean_Elab_Deriving_Repr_initFn____x40_Lean_Elab_Deriving_Repr___hyg_3833____closed__1() { _start: { lean_object* x_1; @@ -8447,12 +8730,12 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Deriving_Repr_mkReprInstanceHandler return x_1; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_Repr_initFn____x40_Lean_Elab_Deriving_Repr___hyg_3720_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_Repr_initFn____x40_Lean_Elab_Deriving_Repr___hyg_3833_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; x_2 = l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__2; -x_3 = l_Lean_Elab_Deriving_Repr_initFn____x40_Lean_Elab_Deriving_Repr___hyg_3720____closed__1; +x_3 = l_Lean_Elab_Deriving_Repr_initFn____x40_Lean_Elab_Deriving_Repr___hyg_3833____closed__1; x_4 = l_Lean_Elab_registerDerivingHandler(x_2, x_3, x_1); if (lean_obj_tag(x_4) == 0) { @@ -8576,12 +8859,6 @@ l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__30 = _init_l_Lean_Elab_Deriving lean_mark_persistent(l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__30); l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__31 = _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__31(); lean_mark_persistent(l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__31); -l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__32 = _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__32(); -lean_mark_persistent(l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__32); -l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__33 = _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__33(); -lean_mark_persistent(l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__33); -l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__34 = _init_l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__34(); -lean_mark_persistent(l_Lean_Elab_Deriving_Repr_mkReprHeader___closed__34); l_Lean_getConstInfoCtor___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__1___closed__1 = _init_l_Lean_getConstInfoCtor___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__1___closed__1(); lean_mark_persistent(l_Lean_getConstInfoCtor___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__1___closed__1); l_Lean_getConstInfoCtor___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__1___closed__2 = _init_l_Lean_getConstInfoCtor___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__1___closed__2(); @@ -8628,6 +8905,22 @@ l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___ lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__18); l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__19 = _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__19(); lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__19); +l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__20 = _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__20(); +lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__20); +l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__21 = _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__21(); +lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__21); +l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__22 = _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__22(); +lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__22); +l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__23 = _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__23(); +lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__23); +l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__24 = _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__24(); +lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__24); +l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__25 = _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__25(); +lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__25); +l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__26 = _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__26(); +lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__26); +l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__27 = _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__27(); +lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___lambda__1___closed__27); l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___closed__1 = _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___closed__1(); lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___closed__1); l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___closed__2 = _init_l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForStruct___spec__3___closed__2(); @@ -8832,20 +9125,6 @@ l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3_ lean_mark_persistent(l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__55); l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__56 = _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__56(); lean_mark_persistent(l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__56); -l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__57 = _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__57(); -lean_mark_persistent(l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__57); -l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__58 = _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__58(); -lean_mark_persistent(l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__58); -l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__59 = _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__59(); -lean_mark_persistent(l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__59); -l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__60 = _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__60(); -lean_mark_persistent(l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__60); -l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__61 = _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__61(); -lean_mark_persistent(l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__61); -l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__62 = _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__62(); -lean_mark_persistent(l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__62); -l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__63 = _init_l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__63(); -lean_mark_persistent(l_List_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__3___lambda__1___closed__63); l_Lean_Elab_Deriving_Repr_mkBodyForInduct___closed__1 = _init_l_Lean_Elab_Deriving_Repr_mkBodyForInduct___closed__1(); lean_mark_persistent(l_Lean_Elab_Deriving_Repr_mkBodyForInduct___closed__1); l_Lean_Elab_Deriving_Repr_mkBodyForInduct___closed__2 = _init_l_Lean_Elab_Deriving_Repr_mkBodyForInduct___closed__2(); @@ -8936,9 +9215,9 @@ l___private_Lean_Elab_Deriving_Repr_0__Lean_Elab_Deriving_Repr_mkReprInstanceCmd lean_mark_persistent(l___private_Lean_Elab_Deriving_Repr_0__Lean_Elab_Deriving_Repr_mkReprInstanceCmds___closed__8); l___private_Lean_Elab_Deriving_Repr_0__Lean_Elab_Deriving_Repr_mkReprInstanceCmds___closed__9 = _init_l___private_Lean_Elab_Deriving_Repr_0__Lean_Elab_Deriving_Repr_mkReprInstanceCmds___closed__9(); lean_mark_persistent(l___private_Lean_Elab_Deriving_Repr_0__Lean_Elab_Deriving_Repr_mkReprInstanceCmds___closed__9); -l_Lean_Elab_Deriving_Repr_initFn____x40_Lean_Elab_Deriving_Repr___hyg_3720____closed__1 = _init_l_Lean_Elab_Deriving_Repr_initFn____x40_Lean_Elab_Deriving_Repr___hyg_3720____closed__1(); -lean_mark_persistent(l_Lean_Elab_Deriving_Repr_initFn____x40_Lean_Elab_Deriving_Repr___hyg_3720____closed__1); -res = l_Lean_Elab_Deriving_Repr_initFn____x40_Lean_Elab_Deriving_Repr___hyg_3720_(lean_io_mk_world()); +l_Lean_Elab_Deriving_Repr_initFn____x40_Lean_Elab_Deriving_Repr___hyg_3833____closed__1 = _init_l_Lean_Elab_Deriving_Repr_initFn____x40_Lean_Elab_Deriving_Repr___hyg_3833____closed__1(); +lean_mark_persistent(l_Lean_Elab_Deriving_Repr_initFn____x40_Lean_Elab_Deriving_Repr___hyg_3833____closed__1); +res = l_Lean_Elab_Deriving_Repr_initFn____x40_Lean_Elab_Deriving_Repr___hyg_3833_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Elab/Deriving/TypeName.c b/stage0/stdlib/Lean/Elab/Deriving/TypeName.c index 3af7ecbc69..2d261a3c2d 100644 --- a/stage0/stdlib/Lean/Elab/Deriving/TypeName.c +++ b/stage0/stdlib/Lean/Elab/Deriving/TypeName.c @@ -13,142 +13,175 @@ #ifdef __cplusplus extern "C" { #endif -lean_object* l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__17(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkCIdentFrom(lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__34; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__91; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__48; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__90; size_t lean_usize_add(size_t, size_t); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__78; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__12; lean_object* l_Lean_stringToMessageData(lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__84; lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__3; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__33; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__28; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__83; lean_object* lean_array_uget(lean_object*, size_t); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__5; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__29; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___closed__4; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__22; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__86; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__70; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__35; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__36; +lean_object* l_Lean_SourceInfo_fromRef(lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__69; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__19; lean_object* l_Lean_Elab_registerDerivingHandler(lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__14; -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___closed__3; lean_object* l_Lean_Elab_Command_withFreshMacroScope___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__44; -lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Command_mkDefViewOfInstance___spec__11(lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__6; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__80; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__25; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__65; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__39; +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__51; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__20; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__11; lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__43; lean_object* lean_string_append(lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__46; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__41; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__13; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__73; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__32; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__10; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__81; lean_object* lean_string_utf8_byte_size(lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__50; uint8_t lean_usize_dec_lt(size_t, size_t); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__21; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__38; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__39; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__35; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__70; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__64; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__89; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__60; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__47; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__72; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__88; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__23; -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__1; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__65; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__77; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__85; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___closed__1; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__56; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__16; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__66; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__49; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___closed__2; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__68; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__24; lean_object* l_Lean_ConstantInfo_levelParams(lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__8; +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__87; lean_object* l___private_Init_Meta_0__Lean_getEscapedNameParts_x3f(lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__2; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__74; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__27; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__9; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__4; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__61; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__83; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__57; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__17; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__36; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__45; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__40; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__67; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__69; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__82; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__92; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__79; +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__84; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__22; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__54; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__62; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__33; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__2___closed__1; +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__29; +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__91; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__46; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__78; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__52; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__86; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__25; static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_TypeName___hyg_903____closed__1; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__19; lean_object* l_Lean_Elab_Command_elabCommand(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__51; LEAN_EXPORT lean_object* l___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__11; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__55; size_t lean_usize_of_nat(lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__37; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__63; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__71; lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___closed__3; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__59; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__31; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__7; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__12; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__56; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__77; -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__42; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__30; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__76; lean_object* l_String_intercalate(lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__2___closed__1; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__5; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__15; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__53; lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__68; -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__75; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___closed__2; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__58; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__26; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__18; +LEAN_EXPORT lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1(lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__74; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__60; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__2; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__14; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__28; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__47; lean_object* l_Lean_Elab_Command_getCurrMacroScope(lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__66; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__89; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__41; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__1; lean_object* l_Lean_throwError___at_Lean_Elab_Command_expandDeclId___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_quoteNameMk(lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__90; -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__92; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__87; +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__9; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__8; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__17; lean_object* l_Lean_Elab_Command_getMainModule___rarg(lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__64; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__67; +lean_object* l_Lean_Elab_Command_getRef(lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__27; lean_object* l_Lean_Syntax_mkNameLit(lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__53; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__37; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___closed__1; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__73; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__43; -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__40; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__44; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__4; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__57; +LEAN_EXPORT lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_TypeName___hyg_903_(lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__81; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__42; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__79; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__85; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__10; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__32; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__20; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__49; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__52; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__62; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__54; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__45; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__80; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__6; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__48; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__50; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__13; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__88; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__34; uint8_t l_List_isEmpty___rarg(lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__7; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__16; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__55; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__71; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__24; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__30; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__18; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__76; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__63; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__15; -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__1() { +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__72; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__23; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__21; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__38; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__31; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__82; +lean_object* l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__19(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__61; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__59; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__26; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__75; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__58; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___closed__4; +LEAN_EXPORT lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; uint8_t x_5; +x_4 = l_Lean_Elab_Command_getRef(x_1, x_2, x_3); +x_5 = !lean_is_exclusive(x_4); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; +x_6 = lean_ctor_get(x_4, 0); +x_7 = l_Lean_SourceInfo_fromRef(x_6); +lean_ctor_set(x_4, 0, x_7); +return x_4; +} +else +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_8 = lean_ctor_get(x_4, 0); +x_9 = lean_ctor_get(x_4, 1); +lean_inc(x_9); +lean_inc(x_8); +lean_dec(x_4); +x_10 = l_Lean_SourceInfo_fromRef(x_8); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_10); +lean_ctor_set(x_11, 1, x_9); +return x_11; +} +} +} +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__1() { _start: { lean_object* x_1; @@ -156,17 +189,17 @@ x_1 = lean_mk_string_from_bytes("null", 4); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__2() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__1; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__3() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__3() { _start: { lean_object* x_1; @@ -174,17 +207,17 @@ x_1 = lean_mk_string_from_bytes("Lean", 4); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__4() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__3; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__3; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__5() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__5() { _start: { lean_object* x_1; @@ -192,17 +225,17 @@ x_1 = lean_mk_string_from_bytes("Parser", 6); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__6() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__4; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__5; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__4; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__5; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__7() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__7() { _start: { lean_object* x_1; @@ -210,17 +243,17 @@ x_1 = lean_mk_string_from_bytes("Command", 7); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__8() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__6; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__7; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__6; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__7; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__9() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__9() { _start: { lean_object* x_1; @@ -228,17 +261,17 @@ x_1 = lean_mk_string_from_bytes("declaration", 11); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__10() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__8; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__9; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__8; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__9; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__11() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__11() { _start: { lean_object* x_1; @@ -246,17 +279,17 @@ x_1 = lean_mk_string_from_bytes("declModifiers", 13); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__12() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__8; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__11; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__8; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__11; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__13() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__13() { _start: { lean_object* x_1; lean_object* x_2; @@ -265,7 +298,7 @@ x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__14() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__14() { _start: { lean_object* x_1; @@ -273,17 +306,17 @@ x_1 = lean_mk_string_from_bytes("unsafe", 6); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__15() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__15() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__8; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__14; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__8; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__14; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__16() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__16() { _start: { lean_object* x_1; lean_object* x_2; @@ -292,7 +325,7 @@ x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__17() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__17() { _start: { lean_object* x_1; lean_object* x_2; @@ -301,7 +334,7 @@ x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__18() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__18() { _start: { lean_object* x_1; @@ -309,17 +342,17 @@ x_1 = lean_mk_string_from_bytes("def", 3); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__19() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__19() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__8; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__18; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__8; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__18; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__20() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__20() { _start: { lean_object* x_1; @@ -327,17 +360,17 @@ x_1 = lean_mk_string_from_bytes("declId", 6); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__21() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__21() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__8; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__20; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__8; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__20; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__22() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__22() { _start: { lean_object* x_1; @@ -345,22 +378,22 @@ x_1 = lean_mk_string_from_bytes("instImpl", 8); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__23() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__23() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__22; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__22; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__24() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__24() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__22; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__22; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__23; +x_3 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__23; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -368,17 +401,17 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__25() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__25() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__22; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__22; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__26() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__26() { _start: { lean_object* x_1; lean_object* x_2; @@ -387,7 +420,7 @@ x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__27() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__27() { _start: { lean_object* x_1; @@ -395,17 +428,17 @@ x_1 = lean_mk_string_from_bytes("optDeclSig", 10); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__28() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__28() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__8; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__27; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__8; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__27; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__29() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__29() { _start: { lean_object* x_1; @@ -413,17 +446,17 @@ x_1 = lean_mk_string_from_bytes("Term", 4); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__30() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__30() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__6; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__29; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__6; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__29; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__31() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__31() { _start: { lean_object* x_1; @@ -431,17 +464,17 @@ x_1 = lean_mk_string_from_bytes("typeSpec", 8); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__32() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__32() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__30; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__31; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__30; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__31; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__33() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__33() { _start: { lean_object* x_1; @@ -449,7 +482,7 @@ x_1 = lean_mk_string_from_bytes(":", 1); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__34() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__34() { _start: { lean_object* x_1; @@ -457,17 +490,17 @@ x_1 = lean_mk_string_from_bytes("app", 3); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__35() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__35() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__30; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__34; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__30; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__34; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__36() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__36() { _start: { lean_object* x_1; @@ -475,22 +508,22 @@ x_1 = lean_mk_string_from_bytes("TypeName", 8); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__37() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__37() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__36; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__36; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__38() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__38() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__36; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__36; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__37; +x_3 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__37; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -498,63 +531,63 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__39() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__39() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__36; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__36; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__40() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__40() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__39; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__39; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__41() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__41() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__39; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__39; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__42() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__42() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__41; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__41; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__43() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__43() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__40; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__42; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__40; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__42; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__44() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__44() { _start: { lean_object* x_1; @@ -562,17 +595,17 @@ x_1 = lean_mk_string_from_bytes("explicit", 8); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__45() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__45() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__30; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__44; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__30; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__44; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__46() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__46() { _start: { lean_object* x_1; @@ -580,7 +613,7 @@ x_1 = lean_mk_string_from_bytes("@", 1); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__47() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__47() { _start: { lean_object* x_1; @@ -588,17 +621,17 @@ x_1 = lean_mk_string_from_bytes("declValSimple", 13); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__48() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__48() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__8; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__47; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__8; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__47; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__49() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__49() { _start: { lean_object* x_1; @@ -606,7 +639,7 @@ x_1 = lean_mk_string_from_bytes(":=", 2); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__50() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__50() { _start: { lean_object* x_1; @@ -614,17 +647,17 @@ x_1 = lean_mk_string_from_bytes("dotIdent", 8); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__51() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__51() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__30; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__50; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__30; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__50; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__52() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__52() { _start: { lean_object* x_1; @@ -632,7 +665,7 @@ x_1 = lean_mk_string_from_bytes(".", 1); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__53() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__53() { _start: { lean_object* x_1; @@ -640,22 +673,22 @@ x_1 = lean_mk_string_from_bytes("mk", 2); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__54() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__54() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__53; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__53; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__55() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__55() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__53; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__53; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__54; +x_3 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__54; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -663,17 +696,17 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__56() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__56() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__53; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__53; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__57() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__57() { _start: { lean_object* x_1; @@ -681,17 +714,17 @@ x_1 = lean_mk_string_from_bytes("hole", 4); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__58() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__58() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__30; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__57; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__30; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__57; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__59() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__59() { _start: { lean_object* x_1; @@ -699,7 +732,7 @@ x_1 = lean_mk_string_from_bytes("_", 1); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__60() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__60() { _start: { lean_object* x_1; lean_object* x_2; @@ -708,7 +741,7 @@ x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__61() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__61() { _start: { lean_object* x_1; lean_object* x_2; @@ -717,7 +750,7 @@ x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__62() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__62() { _start: { lean_object* x_1; @@ -725,17 +758,17 @@ x_1 = lean_mk_string_from_bytes("attributes", 10); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__63() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__63() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__30; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__62; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__30; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__62; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__64() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__64() { _start: { lean_object* x_1; @@ -743,7 +776,7 @@ x_1 = lean_mk_string_from_bytes("@[", 2); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__65() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__65() { _start: { lean_object* x_1; @@ -751,17 +784,17 @@ x_1 = lean_mk_string_from_bytes("attrInstance", 12); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__66() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__66() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__30; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__65; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__30; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__65; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__67() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__67() { _start: { lean_object* x_1; @@ -769,17 +802,17 @@ x_1 = lean_mk_string_from_bytes("attrKind", 8); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__68() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__68() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__30; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__67; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__30; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__67; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__69() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__69() { _start: { lean_object* x_1; @@ -787,17 +820,17 @@ x_1 = lean_mk_string_from_bytes("Attr", 4); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__70() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__70() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__6; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__69; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__6; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__69; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__71() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__71() { _start: { lean_object* x_1; @@ -805,17 +838,17 @@ x_1 = lean_mk_string_from_bytes("simple", 6); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__72() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__72() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__70; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__71; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__70; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__71; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__73() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__73() { _start: { lean_object* x_1; @@ -823,22 +856,22 @@ x_1 = lean_mk_string_from_bytes("implementedBy", 13); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__74() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__74() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__73; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__73; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__75() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__75() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__73; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__73; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__74; +x_3 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__74; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -846,17 +879,17 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__76() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__76() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__73; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__73; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__77() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__77() { _start: { lean_object* x_1; @@ -864,7 +897,7 @@ x_1 = lean_mk_string_from_bytes("]", 1); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__78() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__78() { _start: { lean_object* x_1; @@ -872,17 +905,17 @@ x_1 = lean_mk_string_from_bytes("opaque", 6); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__79() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__79() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__8; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__78; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__8; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__78; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__80() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__80() { _start: { lean_object* x_1; @@ -890,22 +923,22 @@ x_1 = lean_mk_string_from_bytes("inst", 4); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__81() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__81() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__80; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__80; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__82() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__82() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__80; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__80; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__81; +x_3 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__81; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -913,17 +946,17 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__83() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__83() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__80; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__80; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__84() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__84() { _start: { lean_object* x_1; @@ -931,17 +964,17 @@ x_1 = lean_mk_string_from_bytes("declSig", 7); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__85() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__85() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__8; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__84; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__8; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__84; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__86() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__86() { _start: { lean_object* x_1; lean_object* x_2; @@ -950,7 +983,7 @@ x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__87() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__87() { _start: { lean_object* x_1; @@ -958,17 +991,17 @@ x_1 = lean_mk_string_from_bytes("instance", 8); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__88() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__88() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__8; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__87; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__8; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__87; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__89() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__89() { _start: { lean_object* x_1; lean_object* x_2; @@ -977,7 +1010,7 @@ x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__90() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__90() { _start: { lean_object* x_1; @@ -985,17 +1018,17 @@ x_1 = lean_mk_string_from_bytes("quotedName", 10); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__91() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__91() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__30; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__90; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__30; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__90; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__92() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__92() { _start: { lean_object* x_1; @@ -1003,11 +1036,11 @@ x_1 = lean_mk_string_from_bytes("`", 1); return x_1; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; -x_5 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Command_mkDefViewOfInstance___spec__11(x_2, x_3, x_4); +x_5 = l_Lean_MonadRef_mkInfoFromRefPos___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1(x_2, x_3, x_4); x_6 = lean_ctor_get(x_5, 0); lean_inc(x_6); x_7 = lean_ctor_get(x_5, 1); @@ -1032,21 +1065,21 @@ if (lean_is_exclusive(x_11)) { lean_dec_ref(x_11); x_14 = lean_box(0); } -x_15 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__2; -x_16 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__13; +x_15 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__2; +x_16 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__13; lean_inc(x_6); x_17 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_17, 0, x_6); lean_ctor_set(x_17, 1, x_15); lean_ctor_set(x_17, 2, x_16); -x_18 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__14; +x_18 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__14; lean_inc(x_6); x_19 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_19, 0, x_6); lean_ctor_set(x_19, 1, x_18); -x_20 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__16; +x_20 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__16; x_21 = lean_array_push(x_20, x_19); -x_22 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__15; +x_22 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__15; lean_inc(x_6); x_23 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_23, 0, x_6); @@ -1058,7 +1091,7 @@ x_25 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_25, 0, x_6); lean_ctor_set(x_25, 1, x_15); lean_ctor_set(x_25, 2, x_24); -x_26 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__17; +x_26 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__17; lean_inc(x_17); x_27 = lean_array_push(x_26, x_17); lean_inc(x_17); @@ -1072,58 +1105,58 @@ lean_inc(x_30); x_31 = lean_array_push(x_30, x_25); lean_inc(x_17); x_32 = lean_array_push(x_31, x_17); -x_33 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__12; +x_33 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__12; lean_inc(x_6); x_34 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_34, 0, x_6); lean_ctor_set(x_34, 1, x_33); lean_ctor_set(x_34, 2, x_32); -x_35 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__18; +x_35 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__18; lean_inc(x_6); x_36 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_36, 0, x_6); lean_ctor_set(x_36, 1, x_35); -x_37 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__25; +x_37 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__25; lean_inc(x_9); lean_inc(x_12); x_38 = l_Lean_addMacroScope(x_12, x_37, x_9); x_39 = lean_box(0); -x_40 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__24; +x_40 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__24; lean_inc(x_6); x_41 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_41, 0, x_6); lean_ctor_set(x_41, 1, x_40); lean_ctor_set(x_41, 2, x_38); lean_ctor_set(x_41, 3, x_39); -x_42 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__26; +x_42 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__26; lean_inc(x_41); x_43 = lean_array_push(x_42, x_41); lean_inc(x_17); x_44 = lean_array_push(x_43, x_17); -x_45 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__21; +x_45 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__21; lean_inc(x_6); x_46 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_46, 0, x_6); lean_ctor_set(x_46, 1, x_45); lean_ctor_set(x_46, 2, x_44); -x_47 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__33; +x_47 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__33; lean_inc(x_6); x_48 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_48, 0, x_6); lean_ctor_set(x_48, 1, x_47); -x_49 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__39; +x_49 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__39; lean_inc(x_9); lean_inc(x_12); x_50 = l_Lean_addMacroScope(x_12, x_49, x_9); -x_51 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__38; -x_52 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__43; +x_51 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__38; +x_52 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__43; lean_inc(x_6); x_53 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_53, 0, x_6); lean_ctor_set(x_53, 1, x_51); lean_ctor_set(x_53, 2, x_50); lean_ctor_set(x_53, 3, x_52); -x_54 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__46; +x_54 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__46; lean_inc(x_6); x_55 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_55, 0, x_6); @@ -1133,7 +1166,7 @@ lean_inc(x_1); x_57 = l_Lean_mkCIdentFrom(x_56, x_1); x_58 = lean_array_push(x_42, x_55); x_59 = lean_array_push(x_58, x_57); -x_60 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__45; +x_60 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__45; lean_inc(x_6); x_61 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_61, 0, x_6); @@ -1147,7 +1180,7 @@ lean_ctor_set(x_63, 1, x_15); lean_ctor_set(x_63, 2, x_62); x_64 = lean_array_push(x_42, x_53); x_65 = lean_array_push(x_64, x_63); -x_66 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__35; +x_66 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__35; lean_inc(x_6); x_67 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_67, 0, x_6); @@ -1155,7 +1188,7 @@ lean_ctor_set(x_67, 1, x_66); lean_ctor_set(x_67, 2, x_65); x_68 = lean_array_push(x_42, x_48); x_69 = lean_array_push(x_68, x_67); -x_70 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__32; +x_70 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__32; lean_inc(x_6); x_71 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_71, 0, x_6); @@ -1172,27 +1205,27 @@ lean_inc(x_17); x_74 = lean_array_push(x_42, x_17); lean_inc(x_74); x_75 = lean_array_push(x_74, x_73); -x_76 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__28; +x_76 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__28; lean_inc(x_6); x_77 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_77, 0, x_6); lean_ctor_set(x_77, 1, x_76); lean_ctor_set(x_77, 2, x_75); -x_78 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__49; +x_78 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__49; lean_inc(x_6); x_79 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_79, 0, x_6); lean_ctor_set(x_79, 1, x_78); -x_80 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__52; +x_80 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__52; lean_inc(x_6); x_81 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_81, 0, x_6); lean_ctor_set(x_81, 1, x_80); -x_82 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__56; +x_82 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__56; lean_inc(x_9); lean_inc(x_12); x_83 = l_Lean_addMacroScope(x_12, x_82, x_9); -x_84 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__55; +x_84 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__55; lean_inc(x_6); x_85 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_85, 0, x_6); @@ -1201,19 +1234,19 @@ lean_ctor_set(x_85, 2, x_83); lean_ctor_set(x_85, 3, x_39); x_86 = lean_array_push(x_42, x_81); x_87 = lean_array_push(x_86, x_85); -x_88 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__51; +x_88 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__51; lean_inc(x_6); x_89 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_89, 0, x_6); lean_ctor_set(x_89, 1, x_88); lean_ctor_set(x_89, 2, x_87); -x_90 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__59; +x_90 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__59; lean_inc(x_6); x_91 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_91, 0, x_6); lean_ctor_set(x_91, 1, x_90); x_92 = lean_array_push(x_20, x_91); -x_93 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__58; +x_93 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__58; lean_inc(x_6); x_94 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_94, 0, x_6); @@ -1223,31 +1256,31 @@ lean_inc(x_1); x_95 = l___private_Init_Meta_0__Lean_getEscapedNameParts_x3f(x_39, x_1); x_96 = lean_array_push(x_42, x_94); x_97 = lean_array_push(x_42, x_89); -x_98 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__60; +x_98 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__60; x_99 = lean_array_push(x_98, x_79); -x_100 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__61; +x_100 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__61; x_101 = lean_array_push(x_100, x_36); x_102 = lean_array_push(x_101, x_46); x_103 = lean_array_push(x_102, x_77); x_104 = lean_array_push(x_42, x_34); -x_105 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__64; +x_105 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__64; lean_inc(x_6); x_106 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_106, 0, x_6); lean_ctor_set(x_106, 1, x_105); lean_inc(x_17); x_107 = lean_array_push(x_20, x_17); -x_108 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__68; +x_108 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__68; lean_inc(x_6); x_109 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_109, 0, x_6); lean_ctor_set(x_109, 1, x_108); lean_ctor_set(x_109, 2, x_107); -x_110 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__76; +x_110 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__76; lean_inc(x_9); lean_inc(x_12); x_111 = l_Lean_addMacroScope(x_12, x_110, x_9); -x_112 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__75; +x_112 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__75; lean_inc(x_6); x_113 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_113, 0, x_6); @@ -1262,7 +1295,7 @@ lean_ctor_set(x_115, 1, x_15); lean_ctor_set(x_115, 2, x_114); x_116 = lean_array_push(x_42, x_113); x_117 = lean_array_push(x_116, x_115); -x_118 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__72; +x_118 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__72; lean_inc(x_6); x_119 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_119, 0, x_6); @@ -1271,7 +1304,7 @@ lean_ctor_set(x_119, 2, x_117); lean_inc(x_109); x_120 = lean_array_push(x_42, x_109); x_121 = lean_array_push(x_120, x_119); -x_122 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__66; +x_122 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__66; lean_inc(x_6); x_123 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_123, 0, x_6); @@ -1283,7 +1316,7 @@ x_125 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_125, 0, x_6); lean_ctor_set(x_125, 1, x_15); lean_ctor_set(x_125, 2, x_124); -x_126 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__77; +x_126 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__77; lean_inc(x_6); x_127 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_127, 0, x_6); @@ -1291,7 +1324,7 @@ lean_ctor_set(x_127, 1, x_126); x_128 = lean_array_push(x_98, x_106); x_129 = lean_array_push(x_128, x_125); x_130 = lean_array_push(x_129, x_127); -x_131 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__63; +x_131 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__63; lean_inc(x_6); x_132 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_132, 0, x_6); @@ -1317,14 +1350,14 @@ x_140 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_140, 0, x_6); lean_ctor_set(x_140, 1, x_33); lean_ctor_set(x_140, 2, x_139); -x_141 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__78; +x_141 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__78; lean_inc(x_6); x_142 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_142, 0, x_6); lean_ctor_set(x_142, 1, x_141); -x_143 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__83; +x_143 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__83; x_144 = l_Lean_addMacroScope(x_12, x_143, x_9); -x_145 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__82; +x_145 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__82; lean_inc(x_6); x_146 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_146, 0, x_6); @@ -1341,20 +1374,20 @@ lean_ctor_set(x_149, 0, x_6); lean_ctor_set(x_149, 1, x_45); lean_ctor_set(x_149, 2, x_148); x_150 = lean_array_push(x_74, x_71); -x_151 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__85; +x_151 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__85; lean_inc(x_6); x_152 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_152, 0, x_6); lean_ctor_set(x_152, 1, x_151); lean_ctor_set(x_152, 2, x_150); -x_153 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__86; +x_153 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__86; x_154 = lean_array_push(x_153, x_142); x_155 = lean_array_push(x_154, x_149); lean_inc(x_152); x_156 = lean_array_push(x_155, x_152); lean_inc(x_17); x_157 = lean_array_push(x_156, x_17); -x_158 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__79; +x_158 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__79; lean_inc(x_6); x_159 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_159, 0, x_6); @@ -1362,7 +1395,7 @@ lean_ctor_set(x_159, 1, x_158); lean_ctor_set(x_159, 2, x_157); x_160 = lean_array_push(x_42, x_140); x_161 = lean_array_push(x_160, x_159); -x_162 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__10; +x_162 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__10; lean_inc(x_6); x_163 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_163, 0, x_6); @@ -1377,7 +1410,7 @@ x_166 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_166, 0, x_6); lean_ctor_set(x_166, 1, x_33); lean_ctor_set(x_166, 2, x_165); -x_167 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__87; +x_167 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__87; lean_inc(x_6); x_168 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_168, 0, x_6); @@ -1386,13 +1419,13 @@ lean_inc(x_99); x_169 = lean_array_push(x_99, x_146); lean_inc(x_17); x_170 = lean_array_push(x_169, x_17); -x_171 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__48; +x_171 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__48; lean_inc(x_6); x_172 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_172, 0, x_6); lean_ctor_set(x_172, 1, x_171); lean_ctor_set(x_172, 2, x_170); -x_173 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__89; +x_173 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__89; x_174 = lean_array_push(x_173, x_109); x_175 = lean_array_push(x_174, x_168); lean_inc(x_17); @@ -1405,7 +1438,7 @@ lean_inc(x_17); x_180 = lean_array_push(x_179, x_17); lean_inc(x_17); x_181 = lean_array_push(x_180, x_17); -x_182 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__88; +x_182 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__88; lean_inc(x_6); x_183 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_183, 0, x_6); @@ -1433,13 +1466,13 @@ x_210 = lean_ctor_get(x_95, 0); lean_inc(x_210); lean_dec(x_95); x_211 = l_String_intercalate(x_80, x_210); -x_212 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__92; +x_212 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__92; x_213 = lean_string_append(x_212, x_211); lean_dec(x_211); x_214 = lean_box(2); x_215 = l_Lean_Syntax_mkNameLit(x_213, x_214); x_216 = lean_array_push(x_20, x_215); -x_217 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__91; +x_217 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__91; x_218 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_218, 0, x_214); lean_ctor_set(x_218, 1, x_217); @@ -1476,7 +1509,7 @@ x_196 = lean_array_push(x_195, x_17); lean_inc(x_17); x_197 = lean_array_push(x_196, x_17); x_198 = lean_array_push(x_197, x_17); -x_199 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__19; +x_199 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__19; lean_inc(x_6); x_200 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_200, 0, x_6); @@ -1506,7 +1539,7 @@ return x_207; } } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__2___closed__1() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__2___closed__1() { _start: { lean_object* x_1; lean_object* x_2; @@ -1516,11 +1549,11 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___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_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; -x_6 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___boxed), 4, 1); +x_6 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___boxed), 4, 1); lean_closure_set(x_6, 0, x_1); lean_inc(x_4); lean_inc(x_3); @@ -1543,7 +1576,7 @@ if (x_11 == 0) lean_object* x_12; lean_object* x_13; x_12 = lean_ctor_get(x_10, 0); lean_dec(x_12); -x_13 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__2___closed__1; +x_13 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__2___closed__1; lean_ctor_set(x_10, 0, x_13); return x_10; } @@ -1553,7 +1586,7 @@ lean_object* x_14; lean_object* x_15; lean_object* x_16; x_14 = lean_ctor_get(x_10, 1); lean_inc(x_14); lean_dec(x_10); -x_15 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__2___closed__1; +x_15 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__2___closed__1; x_16 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_16, 0, x_15); lean_ctor_set(x_16, 1, x_14); @@ -1609,7 +1642,7 @@ return x_24; } } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___closed__1() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___closed__1() { _start: { lean_object* x_1; @@ -1617,16 +1650,16 @@ x_1 = lean_mk_string_from_bytes("", 0); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___closed__2() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___closed__1; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___closed__3() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___closed__3() { _start: { lean_object* x_1; @@ -1634,16 +1667,16 @@ x_1 = lean_mk_string_from_bytes(" has universe level parameters", 30); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___closed__4() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___closed__3; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___closed__3; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___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_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { uint8_t x_8; @@ -1665,7 +1698,7 @@ lean_dec(x_4); x_10 = lean_array_uget(x_1, x_3); lean_inc(x_5); lean_inc(x_10); -x_11 = l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__17(x_10, x_5, x_6, x_7); +x_11 = l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__19(x_10, x_5, x_6, x_7); if (lean_obj_tag(x_11) == 0) { lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; @@ -1685,11 +1718,11 @@ x_16 = lean_box(0); x_17 = l_Lean_Expr_const___override(x_10, x_16); x_18 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_18, 0, x_17); -x_19 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___closed__2; +x_19 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___closed__2; x_20 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_20, 0, x_19); lean_ctor_set(x_20, 1, x_18); -x_21 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___closed__4; +x_21 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___closed__4; x_22 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_22, 0, x_20); lean_ctor_set(x_22, 1, x_21); @@ -1720,7 +1753,7 @@ lean_object* x_28; lean_object* x_29; x_28 = lean_box(0); lean_inc(x_6); lean_inc(x_5); -x_29 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__2(x_10, x_28, x_5, x_6, x_13); +x_29 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__2(x_10, x_28, x_5, x_6, x_13); if (lean_obj_tag(x_29) == 0) { lean_object* x_30; @@ -1838,7 +1871,7 @@ x_6 = lean_usize_of_nat(x_5); lean_dec(x_5); x_7 = 0; x_8 = lean_box(0); -x_9 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1(x_1, x_6, x_7, x_8, x_2, x_3, x_4); +x_9 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2(x_1, x_6, x_7, x_8, x_2, x_3, x_4); if (lean_obj_tag(x_9) == 0) { uint8_t x_10; @@ -1891,26 +1924,36 @@ return x_21; } } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_Lean_MonadRef_mkInfoFromRefPos___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1(x_1, x_2, x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; -x_5 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1(x_1, x_2, x_3, x_4); +x_5 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1(x_1, x_2, x_3, x_4); lean_dec(x_3); lean_dec(x_2); return x_5; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; -x_6 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__2(x_1, x_2, x_3, x_4, x_5); +x_6 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__2(x_1, x_2, x_3, x_4, x_5); lean_dec(x_2); return x_6; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { size_t x_8; size_t x_9; lean_object* x_10; @@ -1918,7 +1961,7 @@ x_8 = lean_unbox_usize(x_2); lean_dec(x_2); x_9 = lean_unbox_usize(x_3); lean_dec(x_3); -x_10 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1(x_1, x_8, x_9, x_4, x_5, x_6, x_7); +x_10 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2(x_1, x_8, x_9, x_4, x_5, x_6, x_7); lean_dec(x_1); return x_10; } @@ -1944,7 +1987,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_TypeName__ _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__39; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__39; x_3 = l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_TypeName___hyg_903____closed__1; x_4 = l_Lean_Elab_registerDerivingHandler(x_2, x_3, x_1); return x_4; @@ -1963,200 +2006,200 @@ lean_dec_ref(res); res = initialize_Lean_Elab_Deriving_Basic(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__1(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__1); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__2(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__2); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__3 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__3(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__3); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__4 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__4(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__4); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__5 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__5(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__5); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__6 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__6(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__6); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__7 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__7(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__7); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__8 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__8(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__8); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__9 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__9(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__9); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__10 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__10(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__10); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__11 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__11(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__11); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__12 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__12(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__12); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__13 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__13(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__13); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__14 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__14(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__14); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__15 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__15(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__15); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__16 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__16(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__16); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__17 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__17(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__17); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__18 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__18(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__18); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__19 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__19(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__19); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__20 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__20(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__20); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__21 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__21(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__21); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__22 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__22(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__22); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__23 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__23(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__23); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__24 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__24(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__24); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__25 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__25(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__25); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__26 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__26(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__26); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__27 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__27(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__27); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__28 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__28(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__28); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__29 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__29(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__29); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__30 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__30(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__30); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__31 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__31(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__31); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__32 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__32(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__32); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__33 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__33(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__33); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__34 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__34(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__34); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__35 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__35(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__35); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__36 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__36(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__36); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__37 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__37(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__37); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__38 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__38(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__38); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__39 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__39(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__39); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__40 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__40(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__40); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__41 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__41(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__41); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__42 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__42(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__42); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__43 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__43(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__43); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__44 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__44(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__44); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__45 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__45(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__45); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__46 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__46(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__46); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__47 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__47(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__47); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__48 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__48(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__48); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__49 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__49(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__49); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__50 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__50(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__50); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__51 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__51(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__51); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__52 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__52(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__52); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__53 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__53(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__53); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__54 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__54(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__54); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__55 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__55(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__55); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__56 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__56(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__56); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__57 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__57(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__57); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__58 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__58(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__58); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__59 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__59(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__59); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__60 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__60(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__60); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__61 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__61(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__61); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__62 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__62(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__62); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__63 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__63(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__63); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__64 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__64(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__64); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__65 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__65(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__65); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__66 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__66(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__66); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__67 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__67(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__67); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__68 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__68(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__68); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__69 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__69(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__69); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__70 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__70(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__70); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__71 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__71(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__71); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__72 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__72(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__72); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__73 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__73(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__73); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__74 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__74(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__74); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__75 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__75(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__75); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__76 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__76(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__76); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__77 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__77(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__77); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__78 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__78(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__78); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__79 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__79(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__79); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__80 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__80(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__80); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__81 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__81(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__81); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__82 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__82(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__82); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__83 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__83(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__83); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__84 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__84(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__84); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__85 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__85(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__85); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__86 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__86(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__86); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__87 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__87(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__87); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__88 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__88(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__88); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__89 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__89(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__89); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__90 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__90(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__90); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__91 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__91(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__91); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__92 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__92(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__1___closed__92); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__2___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__2___closed__1(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___lambda__2___closed__1); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___closed__1(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___closed__1); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___closed__2(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___closed__2); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___closed__3 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___closed__3(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___closed__3); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___closed__4 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___closed__4(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__1___closed__4); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__1(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__1); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__2(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__2); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__3 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__3(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__3); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__4 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__4(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__4); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__5 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__5(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__5); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__6 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__6(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__6); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__7 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__7(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__7); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__8 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__8(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__8); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__9 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__9(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__9); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__10 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__10(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__10); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__11 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__11(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__11); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__12 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__12(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__12); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__13 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__13(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__13); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__14 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__14(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__14); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__15 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__15(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__15); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__16 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__16(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__16); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__17 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__17(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__17); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__18 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__18(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__18); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__19 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__19(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__19); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__20 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__20(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__20); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__21 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__21(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__21); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__22 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__22(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__22); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__23 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__23(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__23); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__24 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__24(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__24); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__25 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__25(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__25); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__26 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__26(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__26); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__27 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__27(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__27); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__28 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__28(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__28); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__29 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__29(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__29); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__30 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__30(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__30); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__31 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__31(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__31); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__32 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__32(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__32); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__33 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__33(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__33); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__34 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__34(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__34); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__35 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__35(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__35); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__36 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__36(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__36); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__37 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__37(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__37); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__38 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__38(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__38); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__39 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__39(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__39); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__40 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__40(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__40); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__41 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__41(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__41); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__42 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__42(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__42); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__43 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__43(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__43); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__44 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__44(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__44); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__45 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__45(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__45); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__46 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__46(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__46); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__47 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__47(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__47); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__48 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__48(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__48); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__49 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__49(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__49); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__50 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__50(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__50); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__51 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__51(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__51); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__52 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__52(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__52); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__53 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__53(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__53); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__54 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__54(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__54); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__55 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__55(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__55); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__56 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__56(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__56); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__57 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__57(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__57); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__58 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__58(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__58); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__59 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__59(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__59); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__60 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__60(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__60); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__61 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__61(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__61); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__62 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__62(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__62); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__63 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__63(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__63); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__64 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__64(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__64); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__65 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__65(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__65); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__66 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__66(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__66); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__67 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__67(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__67); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__68 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__68(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__68); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__69 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__69(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__69); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__70 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__70(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__70); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__71 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__71(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__71); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__72 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__72(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__72); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__73 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__73(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__73); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__74 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__74(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__74); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__75 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__75(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__75); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__76 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__76(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__76); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__77 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__77(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__77); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__78 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__78(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__78); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__79 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__79(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__79); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__80 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__80(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__80); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__81 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__81(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__81); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__82 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__82(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__82); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__83 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__83(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__83); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__84 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__84(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__84); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__85 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__85(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__85); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__86 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__86(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__86); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__87 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__87(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__87); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__88 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__88(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__88); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__89 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__89(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__89); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__90 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__90(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__90); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__91 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__91(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__91); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__92 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__92(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__1___closed__92); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__2___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__2___closed__1(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___lambda__2___closed__1); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___closed__1(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___closed__1); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___closed__2(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___closed__2); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___closed__3 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___closed__3(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___closed__3); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___closed__4 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___closed__4(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Deriving_TypeName_0__Lean_Elab_deriveTypeNameInstance___spec__2___closed__4); l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_TypeName___hyg_903____closed__1 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_TypeName___hyg_903____closed__1(); lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_TypeName___hyg_903____closed__1); res = l_Lean_Elab_initFn____x40_Lean_Elab_Deriving_TypeName___hyg_903_(lean_io_mk_world()); diff --git a/stage0/stdlib/Lean/Elab/Extra.c b/stage0/stdlib/Lean/Elab/Extra.c index 66634fc681..dd930a3e4d 100644 --- a/stage0/stdlib/Lean/Elab/Extra.c +++ b/stage0/stdlib/Lean/Elab/Extra.c @@ -19,7 +19,6 @@ static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr__ static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toTree_go___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go___lambda__3___boxed(lean_object**); static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRelNoProp___closed__3; -lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall___spec__1___rarg(lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withNewMCtxDepthImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_analyze_go___closed__4; LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_applyCoe_go(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -94,6 +93,7 @@ lean_object* l_Lean_Meta_mkOfNonempty(lean_object*, lean_object*, lean_object*, static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinOpLazy_declRange___closed__5; LEAN_EXPORT lean_object* l_Lean_Meta_withNewMCtxDepth___at_Lean_Elab_Term_BinOp_elabBinRelCore_toBoolIfNecessary___spec__1(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinOp_declRange___closed__2; +lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg(lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRel_declRange___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Term_BinOp_elabBinRelCore___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -237,7 +237,7 @@ static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr__ LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExprCore___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_toExpr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_analyze_go___spec__2(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Term_BinOp_initFn____x40_Lean_Elab_Extra___hyg_6514_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_BinOp_initFn____x40_Lean_Elab_Extra___hyg_6513_(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabForIn_x27___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Extra_0__Lean_Elab_Term_throwForInFailure___closed__2; static lean_object* l_Lean_isTracingEnabledFor___at___private_Lean_Elab_Extra_0__Lean_Elab_Term_BinOp_analyze_go___spec__3___closed__1; @@ -1292,7 +1292,7 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall___spec__1___rarg(x_9); +x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg(x_9); return x_12; } else @@ -2547,7 +2547,7 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall___spec__1___rarg(x_9); +x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabAnonymousCtor___spec__1___rarg(x_9); return x_12; } else @@ -12639,7 +12639,7 @@ lean_closure_set(x_25, 2, x_21); lean_closure_set(x_25, 3, x_24); lean_closure_set(x_25, 4, x_3); x_26 = 1; -x_27 = l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_withSynthesizeImp___rarg(x_25, x_26, x_26, x_4, x_5, x_6, x_7, x_8, x_9, x_20); +x_27 = l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_withSynthesizeImp___rarg(x_25, x_26, x_14, x_4, x_5, x_6, x_7, x_8, x_9, x_20); return x_27; } } @@ -12806,7 +12806,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRel_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(418u); +x_1 = lean_unsigned_to_nat(448u); x_2 = lean_unsigned_to_nat(26u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12818,7 +12818,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRel_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(418u); +x_1 = lean_unsigned_to_nat(448u); x_2 = lean_unsigned_to_nat(75u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12846,7 +12846,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRel_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(418u); +x_1 = lean_unsigned_to_nat(448u); x_2 = lean_unsigned_to_nat(30u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12858,7 +12858,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRel_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(418u); +x_1 = lean_unsigned_to_nat(448u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12973,7 +12973,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRelNoProp_d _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(420u); +x_1 = lean_unsigned_to_nat(450u); x_2 = lean_unsigned_to_nat(34u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12985,7 +12985,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRelNoProp_d _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(420u); +x_1 = lean_unsigned_to_nat(450u); x_2 = lean_unsigned_to_nat(88u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13013,7 +13013,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRelNoProp_d _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(420u); +x_1 = lean_unsigned_to_nat(450u); x_2 = lean_unsigned_to_nat(38u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13025,7 +13025,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabBinRelNoProp_d _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(420u); +x_1 = lean_unsigned_to_nat(450u); x_2 = lean_unsigned_to_nat(54u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13334,7 +13334,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabDefaultOrNonem _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(423u); +x_1 = lean_unsigned_to_nat(453u); x_2 = lean_unsigned_to_nat(0u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13346,7 +13346,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabDefaultOrNonem _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(438u); +x_1 = lean_unsigned_to_nat(468u); x_2 = lean_unsigned_to_nat(34u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13374,7 +13374,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabDefaultOrNonem _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(423u); +x_1 = lean_unsigned_to_nat(453u); x_2 = lean_unsigned_to_nat(4u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13386,7 +13386,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_BinOp_elabDefaultOrNonem _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(423u); +x_1 = lean_unsigned_to_nat(453u); x_2 = lean_unsigned_to_nat(25u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13432,7 +13432,7 @@ x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Term_BinOp_initFn____x40_Lean_Elab_Extra___hyg_6514_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_Term_BinOp_initFn____x40_Lean_Elab_Extra___hyg_6513_(lean_object* x_1) { _start: { lean_object* x_2; uint8_t x_3; lean_object* x_4; @@ -13961,7 +13961,7 @@ lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_BinOp_elabDefaultOrNonempty_d res = l___regBuiltin_Lean_Elab_Term_BinOp_elabDefaultOrNonempty_declRange(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = l_Lean_Elab_Term_BinOp_initFn____x40_Lean_Elab_Extra___hyg_6514_(lean_io_mk_world()); +res = l_Lean_Elab_Term_BinOp_initFn____x40_Lean_Elab_Extra___hyg_6513_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Elab/Inductive.c b/stage0/stdlib/Lean/Elab/Inductive.c index d57c89c8b0..4fa4c32874 100644 --- a/stage0/stdlib/Lean/Elab/Inductive.c +++ b/stage0/stdlib/Lean/Elab/Inductive.c @@ -18,19 +18,16 @@ LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Inducti static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResultType___lambda__1___closed__4; lean_object* l_Lean_Elab_ContextInfo_save___at_Lean_Elab_Term_withoutModifyingElabMetaStateWithInfo___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___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_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_withCtorRef___spec__2___rarg___lambda__2(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*); lean_object* lean_array_set(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_KVMap_setBool(lean_object*, lean_object*, uint8_t); lean_object* lean_mk_brec_on(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__5; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_computeFixedIndexBitMask_go___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___closed__7; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___spec__14(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_add(size_t, size_t); uint8_t l_Lean_Level_isNeverZero(lean_object*); -lean_object* l_Std_HashMap_insert___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkPatternRefMap_go___spec__2(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__4___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkTypeFor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -46,6 +43,7 @@ lean_object* l_Lean_stringToMessageData(lean_object*); static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_6434____closed__6; static lean_object* l_Lean_Elab_Command_checkValidCtorModifier___rarg___closed__1; static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__4___closed__2; +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_resetMaskAt___boxed(lean_object*, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType___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*); @@ -76,7 +74,6 @@ uint8_t lean_usize_dec_eq(size_t, size_t); lean_object* lean_array_uget(lean_object*, size_t); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType___closed__7; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___closed__1; -static lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__1; static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___lambda__4___closed__5; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___spec__7(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_checkParamOccs___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -87,7 +84,6 @@ LEAN_EXPORT lean_object* l_List_forIn_loop___at___private_Lean_Elab_Inductive_0_ LEAN_EXPORT lean_object* l_Lean_Elab_Command_mkResultUniverse(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_instInhabitedElabHeaderResult; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_withCtorRef___rarg___lambda__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Level_succ___override(lean_object*); @@ -96,18 +92,17 @@ LEAN_EXPORT lean_object* l_Lean_assignLevelMVar___at_Lean_Elab_Command_accLevelA lean_object* l_Lean_SourceInfo_fromRef(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_instInhabitedInductiveView; lean_object* l_Lean_Meta_removeUnused(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_throwUnexpectedInductiveType___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkResultingUniverses___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___lambda__3___closed__1; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___lambda__2___closed__3; -static lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__2; lean_object* lean_array_uset(lean_object*, size_t, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_computeFixedIndexBitMask_go___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Meta_getParamNames___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResultType___spec__1(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUniverses___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__13___boxed(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_reorderCtorArgs___spec__4___lambda__1(lean_object*, lean_object*); lean_object* l_Array_extract___rarg(lean_object*, lean_object*, lean_object*); @@ -130,7 +125,6 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Induc LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withInductiveLocalDecls___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_6434____closed__4; LEAN_EXPORT lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkResultingUniverses___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_withCtorRef(lean_object*, lean_object*); @@ -148,10 +142,8 @@ lean_object* l_Lean_Meta_mkInjectiveTheorems(lean_object*, lean_object*, lean_ob lean_object* lean_st_ref_get(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_checkParamOccs___closed__1; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkResultingUniverses_check___lambda__1___closed__1; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_checkValidCtorModifier___rarg___lambda__3___closed__1; static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___lambda__4___closed__6; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyDerivingHandlers(lean_object*, lean_object*, lean_object*, lean_object*); @@ -164,7 +156,6 @@ lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleA static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___lambda__4___closed__3; static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkResultingUniverses_check___lambda__1___closed__4; LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUsed___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkResultingUniverses_check___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_checkParamOccs___spec__1___closed__3; @@ -184,7 +175,6 @@ static lean_object* l_Lean_Elab_Command_instInhabitedCtorView___closed__3; lean_object* lean_array_get_size(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_throwUnexpectedInductiveType___spec__1(lean_object*); LEAN_EXPORT uint8_t l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__1(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUsed___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_accLevelAtCtor___closed__1; static lean_object* l_Lean_localDeclDependsOnPred___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_reorderCtorArgs___spec__2___closed__1; @@ -198,8 +188,8 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_el lean_object* l_Lean_Elab_Term_applyAttributesAt(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_withCtorRef___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkValidCtorModifier___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_bootstrap_inductiveCheckResultingUniverse; LEAN_EXPORT lean_object* l_Lean_assignLevelMVar___at_Lean_Elab_Command_shouldInferResultUniverse___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___lambda__1___closed__22; @@ -219,6 +209,7 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_withCto LEAN_EXPORT lean_object* l_Lean_Elab_Command_shouldInferResultUniverse(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getArity___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___closed__3; +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafe(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUniverses_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_withCtorRef___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkResultingUniverses_check___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -248,7 +239,6 @@ LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_Inductive_0__Lean_ uint8_t lean_usize_dec_lt(size_t, size_t); static lean_object* l_Lean_Elab_Command_accLevelAtCtor___closed__9; static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkNumParams___closed__3; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___lambda__1___closed__12; static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___closed__5; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_withCtorRef___spec__1___rarg___lambda__1(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*); @@ -287,7 +277,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_up static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse___lambda__1___closed__1; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___lambda__2___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabInductiveViews___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___lambda__1___closed__15; lean_object* l_Lean_mkAppN(lean_object*, lean_object*); lean_object* l_Lean_simpLevelIMax_x27(lean_object*, lean_object*, lean_object*); @@ -296,10 +285,12 @@ static lean_object* l_List_mapTRAux___at___private_Lean_Elab_Inductive_0__Lean_E LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkTypeFor___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkResultingUniverse___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkValidCtorModifier___rarg(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkNumParams___closed__4; LEAN_EXPORT lean_object* l_Array_contains___at_Lean_Elab_Command_accLevel_go___spec__1___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___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_EXPORT lean_object* l_panic___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkLevelNames___spec__2(lean_object*); static lean_object* l_Lean_Elab_Command_instInhabitedElabHeaderResult___closed__3; static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType___closed__3; @@ -323,8 +314,10 @@ lean_object* l_List_mapTRAux___at_Lean_MessageData_instCoeListExprMessageData___ LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withInductiveLocalDecls_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkSizeOfInstances(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static size_t l_Lean_Elab_Command_instInhabitedElabHeaderResult___closed__5; +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__1___boxed(lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___lambda__1___closed__14; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___lambda__1___closed__28; +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_mapMAux___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_withCtorRef___spec__1___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_EXPORT lean_object* l_Lean_Elab_Command_withCtorRef___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); @@ -349,7 +342,6 @@ LEAN_EXPORT lean_object* l___private_Init_Data_Option_Basic_0__beqOption____x40_ lean_object* l_Lean_Elab_Term_levelMVarToParam(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_accLevelAtCtor___lambda__2___closed__4; -lean_object* l_Lean_Option_register___at_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Options___hyg_6____spec__1(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Syntax_matchesNull(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkBInductionOn___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___lambda__1___closed__18; @@ -370,6 +362,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mk static lean_object* l_Lean_Elab_Command_accLevelAtCtor___closed__5; lean_object* l_Lean_Meta_transform___at_Lean_Meta_zetaReduce___spec__1(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__1(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___lambda__3___closed__2; lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_accLevelAtCtor___lambda__2___closed__2; @@ -402,6 +395,7 @@ lean_object* l_Lean_Expr_fvarId_x21(lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_reorderCtorArgs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_collectFVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Meta_reduce_visit___spec__1(lean_object*, lean_object*); lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); lean_object* l_Std_mkHashMapImp___rarg(lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___closed__5; @@ -423,7 +417,6 @@ lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Binders_0__Lean_Elab_T lean_object* l_Nat_repr(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyDerivingHandlers___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_removeUnused___closed__1; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_removeUnused___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkBelow___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___lambda__1___closed__24; @@ -493,12 +486,10 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_re LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___lambda__1(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_reorderCtorArgs___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___spec__3(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___lambda__1___closed__13; static lean_object* l_Lean_Elab_Command_checkValidCtorModifier___rarg___lambda__1___closed__2; LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_reorderCtorArgs___spec__1(lean_object*, lean_object*, size_t, size_t); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___lambda__1___closed__21; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withInductiveLocalDecls___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_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUniverses_go___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkResultingUniverses___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*); @@ -531,32 +522,34 @@ static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyCo LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_shouldInferResultUniverse___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___lambda__3___closed__2; uint8_t l_Lean_Expr_isForall(lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeader___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResultType___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_isTypeFormerType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_accLevelAtCtor___closed__8; +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_of_nat(lean_object*); LEAN_EXPORT lean_object* l_Lean_instantiateLevelMVars___at_Lean_Elab_Command_accLevelAtCtor___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabInductiveViews___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_computeFixedIndexBitMask_go___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_NameSet_empty; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___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*); static lean_object* l_Lean_Elab_Command_instInhabitedInductiveView___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Command_shouldInferResultUniverse___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___lambda__3___closed__3; lean_object* l_instBEqProd___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__4(lean_object*, size_t, size_t); -lean_object* l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_applyRefMap___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkNumParams___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withInductiveLocalDecls___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_feraseIdx___rarg(lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Meta_mkSimpCongrTheorem___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___closed__2; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___lambda__2___closed__5; static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType___closed__4; @@ -582,8 +575,8 @@ static lean_object* l_Lean_Elab_Command_accLevelAtCtor___lambda__2___closed__6; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectLevelParamsInInductive(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType___closed__8; +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_shouldInferResultUniverse___closed__1; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_accLevelAtCtor___closed__7; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_withCtorRef___spec__1___rarg___lambda__4(lean_object*, lean_object*); @@ -593,6 +586,7 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Inducti LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_find_x3f___at_Lean_getLevelMVarAssignment_x3f___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkBelow___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_HashMap_insert___at_Lean_Meta_reduce_visit___spec__10(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_isInductiveFamily___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_ptr_addr(lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType___lambda__3___closed__1; @@ -606,8 +600,6 @@ lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_computeFixedIndexBitMask_go___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_mkRecOn___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__1___closed__8; -lean_object* l_Array_indexOfAux___at___private_Lean_Elab_PreDefinition_Structural_FindRecArg_0__Lean_Elab_Structural_getIndexMinPos___spec__1(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabInductiveViews___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwKernelException___at_Lean_Elab_Term_declareTacticSyntax___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__8___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*); @@ -615,9 +607,11 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Induc LEAN_EXPORT lean_object* l_Lean_Elab_Command_withCtorRef___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUniverses_go___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_withCtorRef___spec__1___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___closed__2; +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam_levelMVarToParam_x27___lambda__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_withoutSavingRecAppSyntax___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_reorderCtorArgs___spec__4___lambda__2(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabInductiveViews___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceArrowBinderNames___boxed(lean_object*, lean_object*); @@ -630,9 +624,9 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mk static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkParamsAndResultType___lambda__1___closed__3; LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUniverses_go___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withNewBinderInfos___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withExplicitToImplicit___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isMVar(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_withSaveInfoContext___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkIndFVar2Const___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam_levelMVarToParam_x27___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType___lambda__3___closed__2; @@ -664,9 +658,11 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive__ LEAN_EXPORT lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_6434_(lean_object*); LEAN_EXPORT lean_object* l_Lean_mkIBelow___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_resetMaskAt(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_contains___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__11___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_reorderCtorArgs___spec__4___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_instantiateForallAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__5___closed__2; @@ -681,7 +677,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_el LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___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*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkUnsafe___spec__1___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT uint8_t l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___spec__9(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__8___lambda__1(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_reorderCtorArgs___spec__4___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -696,13 +691,14 @@ lean_object* l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1_ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkResultingUniverses_check___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Meta_addPPExplicitToExposeDiff_visit___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_instInhabitedElabHeaderResult___closed__2; +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___lambda__1___closed__25; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__1___boxed(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___lambda__4___closed__2; lean_object* l_Lean_Elab_Command_getMainModule___rarg(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__5___closed__1; lean_object* l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_removeUnused(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_reorderCtorArgs___spec__4___lambda__4___closed__1; uint8_t l_Lean_Level_isMVar(lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__1; @@ -731,9 +727,9 @@ static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkPa lean_object* l_Lean_Elab_Term_elabType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabInductiveViews___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam_levelMVarToParam_x27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isFVar(lean_object*); +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__2; uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_Level_max___override(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_instInhabitedElabHeaderResult___closed__1; @@ -741,7 +737,6 @@ LEAN_EXPORT lean_object* l_Std_PersistentArray_mapMAux___at___private_Lean_Elab_ LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__7___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__8___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__9(lean_object*, lean_object*); lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___closed__6; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_reorderCtorArgs___spec__4___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUniverses_go___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkLevelNames___spec__1___closed__1; @@ -754,10 +749,12 @@ static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkRe LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUniverses_go___spec__2(lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__4___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_computeFixedIndexBitMask_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__5(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_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_isDomainDefEq___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withExplicitToImplicit___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_accLevelAtCtor___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___lambda__1___closed__10; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -779,7 +776,6 @@ static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_ lean_object* l_Lean_Elab_Term_collectUnassignedMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_withCtorRef___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___lambda__2___closed__3; lean_object* lean_mk_array(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__4___boxed(lean_object**); @@ -795,11 +791,14 @@ static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCto extern lean_object* l_Lean_Expr_instBEqExpr; LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkIndFVar2Const___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___closed__8; +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withNewBinderInfos___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withExplicitToImplicit___spec__2(lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Level_isZero(lean_object*); lean_object* l_Lean_Elab_Term_elabBinders___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___rarg___closed__1; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__10(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___rarg___closed__2; @@ -810,7 +809,9 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Command_withCtorRef___at___private_Lean_Ela LEAN_EXPORT lean_object* l_Lean_Elab_Command_withCtorRef___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkResultingUniverses_check___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Level_occurs(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkBRecOn___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkResultingUniverses_check(lean_object*, lean_object*, lean_object*, lean_object*, lean_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_Option_register___at_Lean_Elab_initFn____x40_Lean_Elab_AutoBound___hyg_7____spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_ReaderT_pure___at_Lean_Elab_Term_addTermInfo___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_NameSet_contains(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_addAutoBoundImplicits(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -825,7 +826,6 @@ static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxCo LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__12(uint8_t, lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_accLevelAtCtor___lambda__2___closed__7; LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_computeFixedIndexBitMask_go___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -835,24 +835,21 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_withCto LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUniverses_go___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_checkParamOccs___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_checkParamOccs___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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getArity(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___rarg(lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___lambda__1___closed__17; LEAN_EXPORT lean_object* l_Lean_Elab_Command_accLevel(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___closed__2; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkResultingUniverses_check___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkValidCtorModifier(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkValidCtorModifier___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__5___lambda__3(uint8_t, uint8_t, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_checkParamOccs___spec__1___closed__1; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___spec__13(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___lambda__1___closed__27; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_accLevelAtCtor___closed__6; lean_object* lean_mk_rec_on(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -886,15 +883,16 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_el static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___lambda__4___closed__1; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___spec__12(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkHeader(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkValidInductiveModifier(lean_object*); static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___lambda__4___closed__4; static lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__6___closed__3; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_applyComputedFields___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___lambda__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_indexOfAux___at___private_Lean_Meta_FunInfo_0__Lean_Meta_collectDeps_visit___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Term_synthesizeInstMVarCore___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_6434____closed__3; +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_instInhabitedCtorView___closed__1; size_t lean_usize_of_nat(lean_object*); lean_object* lean_mk_binduction_on(lean_object*, lean_object*); @@ -913,6 +911,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_el LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUniverses_go___spec__6___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabHeaderAux___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_isType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectUsed___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Array_contains___at_Lean_Meta_setMVarUserNamesAt___spec__1(lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkLevelNames___spec__1___closed__2; @@ -5762,7 +5761,7 @@ _start: { lean_object* x_3; lean_object* x_4; x_3 = lean_unsigned_to_nat(0u); -x_4 = l_Array_indexOfAux___at___private_Lean_Elab_PreDefinition_Structural_FindRecArg_0__Lean_Elab_Structural_getIndexMinPos___spec__1(x_1, x_2, x_3); +x_4 = l_Array_indexOfAux___at___private_Lean_Meta_FunInfo_0__Lean_Meta_collectDeps_visit___spec__1(x_1, x_2, x_3); if (lean_obj_tag(x_4) == 0) { return x_1; @@ -8281,7 +8280,7 @@ return x_17; } } } -LEAN_EXPORT uint8_t l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__1(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT uint8_t l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__1(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; uint8_t x_5; @@ -8318,7 +8317,7 @@ return x_11; } } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___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; @@ -8333,7 +8332,7 @@ lean_ctor_set(x_13, 1, x_10); return x_13; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { lean_object* x_15; uint8_t x_16; uint8_t x_17; uint8_t x_18; lean_object* x_19; @@ -8387,7 +8386,7 @@ x_31 = lean_ctor_get(x_28, 1); lean_inc(x_31); lean_dec(x_28); x_32 = lean_box(0); -x_33 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__2(x_6, x_26, x_32, x_8, x_9, x_10, x_11, x_12, x_13, x_31); +x_33 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__2(x_6, x_26, x_32, x_8, x_9, x_10, x_11, x_12, x_13, x_31); lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); @@ -8430,7 +8429,7 @@ lean_inc(x_45); x_46 = lean_ctor_get(x_44, 1); lean_inc(x_46); lean_dec(x_44); -x_47 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__2(x_6, x_26, x_45, x_8, x_9, x_10, x_11, x_12, x_13, x_46); +x_47 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__2(x_6, x_26, x_45, x_8, x_9, x_10, x_11, x_12, x_13, x_46); lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); @@ -8538,7 +8537,7 @@ return x_59; } } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__1() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__1() { _start: { lean_object* x_1; @@ -8546,16 +8545,16 @@ x_1 = lean_mk_string_from_bytes("extraCtorParams: ", 17); return x_1; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__2() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__1; +x_1 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { uint8_t x_12; lean_object* x_13; @@ -8588,7 +8587,7 @@ x_17 = lean_ctor_get(x_15, 1); lean_inc(x_17); lean_dec(x_15); lean_inc(x_16); -x_18 = lean_alloc_closure((void*)(l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__1___boxed), 2, 1); +x_18 = lean_alloc_closure((void*)(l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__1___boxed), 2, 1); lean_closure_set(x_18, 0, x_16); lean_inc(x_4); x_19 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_17); @@ -8617,7 +8616,7 @@ x_30 = lean_ctor_get(x_27, 1); lean_inc(x_30); lean_dec(x_27); x_31 = lean_box(0); -x_32 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__3(x_24, x_16, x_4, x_2, x_26, x_3, x_31, x_5, x_6, x_7, x_8, x_9, x_10, x_30); +x_32 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__3(x_24, x_16, x_4, x_2, x_26, x_3, x_31, x_5, x_6, x_7, x_8, x_9, x_10, x_30); return x_32; } else @@ -8632,7 +8631,7 @@ x_35 = lean_box(0); x_36 = l_List_mapTRAux___at_Lean_MessageData_instCoeListExprMessageData___spec__1(x_34, x_35); x_37 = l_Lean_MessageData_ofList(x_36); lean_dec(x_36); -x_38 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__2; +x_38 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__2; x_39 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_39, 0, x_38); lean_ctor_set(x_39, 1, x_37); @@ -8646,7 +8645,7 @@ lean_inc(x_43); x_44 = lean_ctor_get(x_42, 1); lean_inc(x_44); lean_dec(x_42); -x_45 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__3(x_24, x_16, x_4, x_2, x_26, x_3, x_43, x_5, x_6, x_7, x_8, x_9, x_10, x_44); +x_45 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__3(x_24, x_16, x_4, x_2, x_26, x_3, x_43, x_5, x_6, x_7, x_8, x_9, x_10, x_44); return x_45; } } @@ -8716,7 +8715,7 @@ return x_53; } } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, uint8_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, uint8_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { lean_object* x_14; lean_object* x_15; uint8_t x_16; @@ -8724,7 +8723,7 @@ x_14 = lean_ctor_get(x_1, 0); lean_inc(x_14); lean_inc(x_1); lean_inc(x_2); -x_15 = lean_alloc_closure((void*)(l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4), 11, 3); +x_15 = lean_alloc_closure((void*)(l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4), 11, 3); lean_closure_set(x_15, 0, x_6); lean_closure_set(x_15, 1, x_2); lean_closure_set(x_15, 2, x_1); @@ -8786,12 +8785,86 @@ return x_33; } } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { if (lean_obj_tag(x_5) == 0) { -lean_object* x_13; lean_object* x_14; +lean_object* x_14; lean_object* x_15; +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_14 = l_List_reverse___rarg(x_6); +x_15 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_13); +return x_15; +} +else +{ +uint8_t x_16; +x_16 = !lean_is_exclusive(x_5); +if (x_16 == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_17 = lean_ctor_get(x_5, 0); +x_18 = lean_ctor_get(x_5, 1); +x_19 = lean_ctor_get(x_17, 3); +lean_inc(x_19); +x_20 = l_Lean_Syntax_getArgs(x_19); +lean_dec(x_19); +x_21 = lean_box(x_4); +lean_inc(x_2); +lean_inc(x_1); +lean_inc(x_3); +x_22 = lean_alloc_closure((void*)(l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__5___boxed), 13, 5); +lean_closure_set(x_22, 0, x_17); +lean_closure_set(x_22, 1, x_3); +lean_closure_set(x_22, 2, x_1); +lean_closure_set(x_22, 3, x_2); +lean_closure_set(x_22, 4, x_21); +x_23 = lean_alloc_closure((void*)(l_Lean_Elab_Term_elabBinders___rarg), 9, 2); +lean_closure_set(x_23, 0, x_20); +lean_closure_set(x_23, 1, x_22); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_24 = l_Lean_Elab_Term_withAutoBoundImplicit___rarg(x_23, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_24) == 0) +{ +lean_object* x_25; lean_object* x_26; +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); +lean_ctor_set(x_5, 1, x_6); +lean_ctor_set(x_5, 0, x_25); +{ +lean_object* _tmp_4 = x_18; +lean_object* _tmp_5 = x_5; +lean_object* _tmp_12 = x_26; +x_5 = _tmp_4; +x_6 = _tmp_5; +x_13 = _tmp_12; +} +goto _start; +} +else +{ +uint8_t x_28; +lean_free_object(x_5); +lean_dec(x_18); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -8801,240 +8874,79 @@ lean_dec(x_6); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_13 = lean_box(0); -x_14 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_14, 0, x_13); -lean_ctor_set(x_14, 1, x_12); -return x_14; -} -else +x_28 = !lean_is_exclusive(x_24); +if (x_28 == 0) { -uint8_t x_15; -x_15 = !lean_is_exclusive(x_5); -if (x_15 == 0) -{ -lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_16 = lean_ctor_get(x_5, 0); -x_17 = lean_ctor_get(x_5, 1); -x_18 = lean_ctor_get(x_16, 3); -lean_inc(x_18); -x_19 = l_Lean_Syntax_getArgs(x_18); -lean_dec(x_18); -x_20 = lean_box(x_4); -lean_inc(x_2); -lean_inc(x_1); -lean_inc(x_3); -x_21 = lean_alloc_closure((void*)(l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__5___boxed), 13, 5); -lean_closure_set(x_21, 0, x_16); -lean_closure_set(x_21, 1, x_3); -lean_closure_set(x_21, 2, x_1); -lean_closure_set(x_21, 3, x_2); -lean_closure_set(x_21, 4, x_20); -x_22 = lean_alloc_closure((void*)(l_Lean_Elab_Term_elabBinders___rarg), 9, 2); -lean_closure_set(x_22, 0, x_19); -lean_closure_set(x_22, 1, x_21); -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_23 = l_Lean_Elab_Term_withAutoBoundImplicit___rarg(x_22, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_23) == 0) -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_23, 0); -lean_inc(x_24); -x_25 = lean_ctor_get(x_23, 1); -lean_inc(x_25); -lean_dec(x_23); -x_26 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2(x_1, x_2, x_3, x_4, x_17, x_6, x_7, x_8, x_9, x_10, x_11, x_25); -if (lean_obj_tag(x_26) == 0) -{ -uint8_t x_27; -x_27 = !lean_is_exclusive(x_26); -if (x_27 == 0) -{ -lean_object* x_28; -x_28 = lean_ctor_get(x_26, 0); -lean_ctor_set(x_5, 1, x_28); -lean_ctor_set(x_5, 0, x_24); -lean_ctor_set(x_26, 0, x_5); -return x_26; +return x_24; } else { lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_26, 0); -x_30 = lean_ctor_get(x_26, 1); +x_29 = lean_ctor_get(x_24, 0); +x_30 = lean_ctor_get(x_24, 1); lean_inc(x_30); lean_inc(x_29); -lean_dec(x_26); -lean_ctor_set(x_5, 1, x_29); -lean_ctor_set(x_5, 0, x_24); -x_31 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_31, 0, x_5); +lean_dec(x_24); +x_31 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_31, 0, x_29); lean_ctor_set(x_31, 1, x_30); return x_31; } } -else -{ -uint8_t x_32; -lean_dec(x_24); -lean_free_object(x_5); -x_32 = !lean_is_exclusive(x_26); -if (x_32 == 0) -{ -return x_26; } else { -lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_33 = lean_ctor_get(x_26, 0); -x_34 = lean_ctor_get(x_26, 1); -lean_inc(x_34); +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_5, 0); +x_33 = lean_ctor_get(x_5, 1); lean_inc(x_33); -lean_dec(x_26); -x_35 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_35, 0, x_33); -lean_ctor_set(x_35, 1, x_34); -return x_35; -} -} -} -else -{ -uint8_t x_36; -lean_free_object(x_5); -lean_dec(x_17); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_36 = !lean_is_exclusive(x_23); -if (x_36 == 0) -{ -return x_23; -} -else -{ -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_23, 0); -x_38 = lean_ctor_get(x_23, 1); -lean_inc(x_38); -lean_inc(x_37); -lean_dec(x_23); -x_39 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_39, 0, x_37); -lean_ctor_set(x_39, 1, x_38); -return x_39; -} -} -} -else -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_40 = lean_ctor_get(x_5, 0); -x_41 = lean_ctor_get(x_5, 1); -lean_inc(x_41); -lean_inc(x_40); +lean_inc(x_32); lean_dec(x_5); -x_42 = lean_ctor_get(x_40, 3); -lean_inc(x_42); -x_43 = l_Lean_Syntax_getArgs(x_42); -lean_dec(x_42); -x_44 = lean_box(x_4); +x_34 = lean_ctor_get(x_32, 3); +lean_inc(x_34); +x_35 = l_Lean_Syntax_getArgs(x_34); +lean_dec(x_34); +x_36 = lean_box(x_4); lean_inc(x_2); lean_inc(x_1); lean_inc(x_3); -x_45 = lean_alloc_closure((void*)(l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__5___boxed), 13, 5); -lean_closure_set(x_45, 0, x_40); -lean_closure_set(x_45, 1, x_3); -lean_closure_set(x_45, 2, x_1); -lean_closure_set(x_45, 3, x_2); -lean_closure_set(x_45, 4, x_44); -x_46 = lean_alloc_closure((void*)(l_Lean_Elab_Term_elabBinders___rarg), 9, 2); -lean_closure_set(x_46, 0, x_43); -lean_closure_set(x_46, 1, x_45); +x_37 = lean_alloc_closure((void*)(l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__5___boxed), 13, 5); +lean_closure_set(x_37, 0, x_32); +lean_closure_set(x_37, 1, x_3); +lean_closure_set(x_37, 2, x_1); +lean_closure_set(x_37, 3, x_2); +lean_closure_set(x_37, 4, x_36); +x_38 = lean_alloc_closure((void*)(l_Lean_Elab_Term_elabBinders___rarg), 9, 2); +lean_closure_set(x_38, 0, x_35); +lean_closure_set(x_38, 1, x_37); +lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); -lean_inc(x_6); -x_47 = l_Lean_Elab_Term_withAutoBoundImplicit___rarg(x_46, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -if (lean_obj_tag(x_47) == 0) +x_39 = l_Lean_Elab_Term_withAutoBoundImplicit___rarg(x_38, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_39) == 0) { -lean_object* x_48; lean_object* x_49; lean_object* x_50; -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_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2(x_1, x_2, x_3, x_4, x_41, x_6, x_7, x_8, x_9, x_10, x_11, x_49); -if (lean_obj_tag(x_50) == 0) -{ -lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_51 = lean_ctor_get(x_50, 0); -lean_inc(x_51); -x_52 = lean_ctor_get(x_50, 1); -lean_inc(x_52); -if (lean_is_exclusive(x_50)) { - lean_ctor_release(x_50, 0); - lean_ctor_release(x_50, 1); - x_53 = x_50; -} else { - lean_dec_ref(x_50); - x_53 = lean_box(0); -} -x_54 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_54, 0, x_48); -lean_ctor_set(x_54, 1, x_51); -if (lean_is_scalar(x_53)) { - x_55 = lean_alloc_ctor(0, 2, 0); -} else { - x_55 = x_53; -} -lean_ctor_set(x_55, 0, x_54); -lean_ctor_set(x_55, 1, x_52); -return x_55; +lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_40 = lean_ctor_get(x_39, 0); +lean_inc(x_40); +x_41 = lean_ctor_get(x_39, 1); +lean_inc(x_41); +lean_dec(x_39); +x_42 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_42, 0, x_40); +lean_ctor_set(x_42, 1, x_6); +x_5 = x_33; +x_6 = x_42; +x_13 = x_41; +goto _start; } else { -lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; -lean_dec(x_48); -x_56 = lean_ctor_get(x_50, 0); -lean_inc(x_56); -x_57 = lean_ctor_get(x_50, 1); -lean_inc(x_57); -if (lean_is_exclusive(x_50)) { - lean_ctor_release(x_50, 0); - lean_ctor_release(x_50, 1); - x_58 = x_50; -} else { - lean_dec_ref(x_50); - x_58 = lean_box(0); -} -if (lean_is_scalar(x_58)) { - x_59 = lean_alloc_ctor(1, 2, 0); -} else { - x_59 = x_58; -} -lean_ctor_set(x_59, 0, x_56); -lean_ctor_set(x_59, 1, x_57); -return x_59; -} -} -else -{ -lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; -lean_dec(x_41); +lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; +lean_dec(x_33); +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -9044,26 +8956,26 @@ lean_dec(x_6); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_60 = lean_ctor_get(x_47, 0); -lean_inc(x_60); -x_61 = lean_ctor_get(x_47, 1); -lean_inc(x_61); -if (lean_is_exclusive(x_47)) { - lean_ctor_release(x_47, 0); - lean_ctor_release(x_47, 1); - x_62 = x_47; +x_44 = lean_ctor_get(x_39, 0); +lean_inc(x_44); +x_45 = lean_ctor_get(x_39, 1); +lean_inc(x_45); +if (lean_is_exclusive(x_39)) { + lean_ctor_release(x_39, 0); + lean_ctor_release(x_39, 1); + x_46 = x_39; } else { - lean_dec_ref(x_47); - x_62 = lean_box(0); + lean_dec_ref(x_39); + x_46 = lean_box(0); } -if (lean_is_scalar(x_62)) { - x_63 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_46)) { + x_47 = lean_alloc_ctor(1, 2, 0); } else { - x_63 = x_62; + x_47 = x_46; } -lean_ctor_set(x_63, 0, x_60); -lean_ctor_set(x_63, 1, x_61); -return x_63; +lean_ctor_set(x_47, 0, x_44); +lean_ctor_set(x_47, 1, x_45); +return x_47; } } } @@ -9098,7 +9010,7 @@ lean_inc(x_2); x_18 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_isInductiveFamily(x_14, x_2, x_5, x_6, x_7, x_8, x_9, x_10, x_11); if (lean_obj_tag(x_18) == 0) { -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; lean_object* x_24; +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; x_19 = lean_ctor_get(x_18, 0); lean_inc(x_19); x_20 = lean_ctor_get(x_18, 1); @@ -9108,14 +9020,15 @@ x_21 = lean_ctor_get(x_12, 8); lean_inc(x_21); lean_dec(x_12); x_22 = lean_array_to_list(lean_box(0), x_21); -x_23 = lean_unbox(x_19); +x_23 = lean_box(0); +x_24 = lean_unbox(x_19); lean_dec(x_19); -x_24 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2(x_1, x_2, x_3, x_23, x_22, x_5, x_6, x_7, x_8, x_9, x_10, x_20); -return x_24; +x_25 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2(x_1, x_2, x_3, x_24, x_22, x_23, x_5, x_6, x_7, x_8, x_9, x_10, x_20); +return x_25; } else { -uint8_t x_25; +uint8_t x_26; lean_dec(x_9); lean_dec(x_12); lean_dec(x_10); @@ -9126,40 +9039,41 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_25 = !lean_is_exclusive(x_18); -if (x_25 == 0) +x_26 = !lean_is_exclusive(x_18); +if (x_26 == 0) { return x_18; } else { -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_18, 0); -x_27 = lean_ctor_get(x_18, 1); +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_18, 0); +x_28 = lean_ctor_get(x_18, 1); +lean_inc(x_28); lean_inc(x_27); -lean_inc(x_26); lean_dec(x_18); -x_28 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -return x_28; +x_29 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_29, 0, x_27); +lean_ctor_set(x_29, 1, x_28); +return x_29; } } } else { -lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_29 = lean_ctor_get(x_9, 0); -x_30 = lean_ctor_get(x_9, 1); -x_31 = lean_ctor_get(x_9, 2); -x_32 = lean_ctor_get(x_9, 3); -x_33 = lean_ctor_get(x_9, 4); -x_34 = lean_ctor_get(x_9, 5); -x_35 = lean_ctor_get(x_9, 6); -x_36 = lean_ctor_get(x_9, 7); -x_37 = lean_ctor_get(x_9, 8); -x_38 = lean_ctor_get(x_9, 9); -x_39 = lean_ctor_get(x_9, 10); +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; +x_30 = lean_ctor_get(x_9, 0); +x_31 = lean_ctor_get(x_9, 1); +x_32 = lean_ctor_get(x_9, 2); +x_33 = lean_ctor_get(x_9, 3); +x_34 = lean_ctor_get(x_9, 4); +x_35 = lean_ctor_get(x_9, 5); +x_36 = lean_ctor_get(x_9, 6); +x_37 = lean_ctor_get(x_9, 7); +x_38 = lean_ctor_get(x_9, 8); +x_39 = lean_ctor_get(x_9, 9); +x_40 = lean_ctor_get(x_9, 10); +lean_inc(x_40); lean_inc(x_39); lean_inc(x_38); lean_inc(x_37); @@ -9170,52 +9084,52 @@ lean_inc(x_33); lean_inc(x_32); lean_inc(x_31); lean_inc(x_30); -lean_inc(x_29); lean_dec(x_9); -x_40 = l_Lean_replaceRef(x_13, x_34); -lean_dec(x_34); +x_41 = l_Lean_replaceRef(x_13, x_35); +lean_dec(x_35); lean_dec(x_13); -x_41 = lean_alloc_ctor(0, 11, 0); -lean_ctor_set(x_41, 0, x_29); -lean_ctor_set(x_41, 1, x_30); -lean_ctor_set(x_41, 2, x_31); -lean_ctor_set(x_41, 3, x_32); -lean_ctor_set(x_41, 4, x_33); -lean_ctor_set(x_41, 5, x_40); -lean_ctor_set(x_41, 6, x_35); -lean_ctor_set(x_41, 7, x_36); -lean_ctor_set(x_41, 8, x_37); -lean_ctor_set(x_41, 9, x_38); -lean_ctor_set(x_41, 10, x_39); +x_42 = lean_alloc_ctor(0, 11, 0); +lean_ctor_set(x_42, 0, x_30); +lean_ctor_set(x_42, 1, x_31); +lean_ctor_set(x_42, 2, x_32); +lean_ctor_set(x_42, 3, x_33); +lean_ctor_set(x_42, 4, x_34); +lean_ctor_set(x_42, 5, x_41); +lean_ctor_set(x_42, 6, x_36); +lean_ctor_set(x_42, 7, x_37); +lean_ctor_set(x_42, 8, x_38); +lean_ctor_set(x_42, 9, x_39); +lean_ctor_set(x_42, 10, x_40); lean_inc(x_10); -lean_inc(x_41); +lean_inc(x_42); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_2); -x_42 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_isInductiveFamily(x_14, x_2, x_5, x_6, x_7, x_8, x_41, x_10, x_11); -if (lean_obj_tag(x_42) == 0) +x_43 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_isInductiveFamily(x_14, x_2, x_5, x_6, x_7, x_8, x_42, x_10, x_11); +if (lean_obj_tag(x_43) == 0) { -lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; lean_object* x_48; -x_43 = lean_ctor_get(x_42, 0); -lean_inc(x_43); -x_44 = lean_ctor_get(x_42, 1); +lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; uint8_t x_49; lean_object* x_50; +x_44 = lean_ctor_get(x_43, 0); lean_inc(x_44); -lean_dec(x_42); -x_45 = lean_ctor_get(x_12, 8); +x_45 = lean_ctor_get(x_43, 1); lean_inc(x_45); -lean_dec(x_12); -x_46 = lean_array_to_list(lean_box(0), x_45); -x_47 = lean_unbox(x_43); lean_dec(x_43); -x_48 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2(x_1, x_2, x_3, x_47, x_46, x_5, x_6, x_7, x_8, x_41, x_10, x_44); -return x_48; +x_46 = lean_ctor_get(x_12, 8); +lean_inc(x_46); +lean_dec(x_12); +x_47 = lean_array_to_list(lean_box(0), x_46); +x_48 = lean_box(0); +x_49 = lean_unbox(x_44); +lean_dec(x_44); +x_50 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2(x_1, x_2, x_3, x_49, x_47, x_48, x_5, x_6, x_7, x_8, x_42, x_10, x_45); +return x_50; } else { -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; -lean_dec(x_41); +lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; +lean_dec(x_42); lean_dec(x_12); lean_dec(x_10); lean_dec(x_8); @@ -9225,26 +9139,26 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_49 = lean_ctor_get(x_42, 0); -lean_inc(x_49); -x_50 = lean_ctor_get(x_42, 1); -lean_inc(x_50); -if (lean_is_exclusive(x_42)) { - lean_ctor_release(x_42, 0); - lean_ctor_release(x_42, 1); - x_51 = x_42; +x_51 = lean_ctor_get(x_43, 0); +lean_inc(x_51); +x_52 = lean_ctor_get(x_43, 1); +lean_inc(x_52); +if (lean_is_exclusive(x_43)) { + lean_ctor_release(x_43, 0); + lean_ctor_release(x_43, 1); + x_53 = x_43; } else { - lean_dec_ref(x_42); - x_51 = lean_box(0); + lean_dec_ref(x_43); + x_53 = lean_box(0); } -if (lean_is_scalar(x_51)) { - x_52 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_53)) { + x_54 = lean_alloc_ctor(1, 2, 0); } else { - x_52 = x_51; + x_54 = x_53; } -lean_ctor_set(x_52, 0, x_49); -lean_ctor_set(x_52, 1, x_50); -return x_52; +lean_ctor_set(x_54, 0, x_51); +lean_ctor_set(x_54, 1, x_52); +return x_54; } } } @@ -9264,22 +9178,22 @@ x_8 = lean_box(x_7); return x_8; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__1___boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__1___boxed(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; lean_object* x_4; -x_3 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__1(x_1, x_2); +x_3 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__1(x_1, x_2); lean_dec(x_2); lean_dec(x_1); x_4 = lean_box(x_3); return x_4; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { lean_object* x_11; -x_11 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_11 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -9291,24 +9205,24 @@ lean_dec(x_1); return x_11; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { uint8_t x_14; lean_object* x_15; x_14 = lean_unbox(x_5); lean_dec(x_5); -x_15 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__5(x_1, x_2, x_3, x_4, x_14, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +x_15 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__5(x_1, x_2, x_3, x_4, x_14, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); return x_15; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { -uint8_t x_13; lean_object* x_14; -x_13 = lean_unbox(x_4); +uint8_t x_14; lean_object* x_15; +x_14 = lean_unbox(x_4); lean_dec(x_4); -x_14 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2(x_1, x_2, x_3, x_13, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -return x_14; +x_15 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2(x_1, x_2, x_3, x_14, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +return x_15; } } LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse___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) { @@ -10547,364 +10461,281 @@ lean_dec(x_3); return x_10; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___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_2) == 0) { -lean_object* x_10; lean_object* x_11; +lean_object* x_11; lean_object* x_12; lean_dec(x_1); -x_10 = lean_box(0); -x_11 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_11, 0, x_10); -lean_ctor_set(x_11, 1, x_9); -return x_11; +x_11 = l_List_reverse___rarg(x_3); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_10); +return x_12; } else { -uint8_t x_12; -x_12 = !lean_is_exclusive(x_2); -if (x_12 == 0) +uint8_t x_13; +x_13 = !lean_is_exclusive(x_2); +if (x_13 == 0) { -lean_object* x_13; uint8_t x_14; -x_13 = lean_ctor_get(x_2, 0); -x_14 = !lean_is_exclusive(x_13); -if (x_14 == 0) +lean_object* x_14; uint8_t x_15; +x_14 = lean_ctor_get(x_2, 0); +x_15 = !lean_is_exclusive(x_14); +if (x_15 == 0) { -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; -x_15 = lean_ctor_get(x_2, 1); -x_16 = lean_ctor_get(x_13, 1); +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_16 = lean_ctor_get(x_2, 1); +x_17 = lean_ctor_get(x_14, 1); lean_inc(x_1); -x_17 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam_levelMVarToParam_x27(x_1, x_16, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -x_18 = lean_ctor_get(x_17, 0); -lean_inc(x_18); -x_19 = lean_ctor_get(x_17, 1); -lean_inc(x_19); -lean_dec(x_17); -lean_ctor_set(x_13, 1, x_18); -x_20 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__1(x_1, x_15, x_3, x_4, x_5, x_6, x_7, x_8, x_19); -x_21 = !lean_is_exclusive(x_20); -if (x_21 == 0) -{ -lean_object* x_22; -x_22 = lean_ctor_get(x_20, 0); -lean_ctor_set(x_2, 1, x_22); -lean_ctor_set(x_20, 0, x_2); -return x_20; -} -else -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_20, 0); -x_24 = lean_ctor_get(x_20, 1); -lean_inc(x_24); -lean_inc(x_23); -lean_dec(x_20); -lean_ctor_set(x_2, 1, x_23); -x_25 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_25, 0, x_2); -lean_ctor_set(x_25, 1, x_24); -return x_25; -} -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_26 = lean_ctor_get(x_2, 1); -x_27 = lean_ctor_get(x_13, 0); -x_28 = lean_ctor_get(x_13, 1); -lean_inc(x_28); -lean_inc(x_27); -lean_dec(x_13); -lean_inc(x_1); -x_29 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam_levelMVarToParam_x27(x_1, x_28, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -x_30 = lean_ctor_get(x_29, 0); -lean_inc(x_30); -x_31 = lean_ctor_get(x_29, 1); -lean_inc(x_31); -lean_dec(x_29); -x_32 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_32, 0, x_27); -lean_ctor_set(x_32, 1, x_30); -x_33 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__1(x_1, x_26, x_3, x_4, x_5, x_6, x_7, x_8, x_31); -x_34 = lean_ctor_get(x_33, 0); -lean_inc(x_34); -x_35 = lean_ctor_get(x_33, 1); -lean_inc(x_35); -if (lean_is_exclusive(x_33)) { - lean_ctor_release(x_33, 0); - lean_ctor_release(x_33, 1); - x_36 = x_33; -} else { - lean_dec_ref(x_33); - x_36 = lean_box(0); -} -lean_ctor_set(x_2, 1, x_34); -lean_ctor_set(x_2, 0, x_32); -if (lean_is_scalar(x_36)) { - x_37 = lean_alloc_ctor(0, 2, 0); -} else { - x_37 = x_36; -} -lean_ctor_set(x_37, 0, x_2); -lean_ctor_set(x_37, 1, x_35); -return x_37; -} -} -else -{ -lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; -x_38 = lean_ctor_get(x_2, 0); -x_39 = lean_ctor_get(x_2, 1); -lean_inc(x_39); -lean_inc(x_38); -lean_dec(x_2); -x_40 = lean_ctor_get(x_38, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_38, 1); -lean_inc(x_41); -if (lean_is_exclusive(x_38)) { - lean_ctor_release(x_38, 0); - lean_ctor_release(x_38, 1); - x_42 = x_38; -} else { - lean_dec_ref(x_38); - x_42 = lean_box(0); -} -lean_inc(x_1); -x_43 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam_levelMVarToParam_x27(x_1, x_41, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -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); -if (lean_is_scalar(x_42)) { - x_46 = lean_alloc_ctor(0, 2, 0); -} else { - x_46 = x_42; -} -lean_ctor_set(x_46, 0, x_40); -lean_ctor_set(x_46, 1, x_44); -x_47 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__1(x_1, x_39, x_3, x_4, x_5, x_6, x_7, x_8, 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); -if (lean_is_exclusive(x_47)) { - lean_ctor_release(x_47, 0); - lean_ctor_release(x_47, 1); - x_50 = x_47; -} else { - lean_dec_ref(x_47); - x_50 = lean_box(0); -} -x_51 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_51, 0, x_46); -lean_ctor_set(x_51, 1, x_48); -if (lean_is_scalar(x_50)) { - x_52 = lean_alloc_ctor(0, 2, 0); -} else { - x_52 = x_50; -} -lean_ctor_set(x_52, 0, x_51); -lean_ctor_set(x_52, 1, x_49); -return x_52; -} -} -} -} -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___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) == 0) -{ -lean_object* x_10; lean_object* x_11; -lean_dec(x_1); -x_10 = lean_box(0); -x_11 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_11, 0, x_10); -lean_ctor_set(x_11, 1, x_9); -return x_11; -} -else -{ -uint8_t x_12; -x_12 = !lean_is_exclusive(x_2); -if (x_12 == 0) -{ -lean_object* x_13; uint8_t x_14; -x_13 = lean_ctor_get(x_2, 0); -x_14 = !lean_is_exclusive(x_13); -if (x_14 == 0) -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; -x_15 = lean_ctor_get(x_2, 1); -x_16 = lean_ctor_get(x_13, 1); -x_17 = lean_ctor_get(x_13, 2); -lean_inc(x_1); -x_18 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam_levelMVarToParam_x27(x_1, x_16, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_18 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam_levelMVarToParam_x27(x_1, x_17, x_4, x_5, x_6, x_7, x_8, x_9, x_10); x_19 = lean_ctor_get(x_18, 0); lean_inc(x_19); x_20 = lean_ctor_get(x_18, 1); lean_inc(x_20); lean_dec(x_18); -lean_inc(x_1); -x_21 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__1(x_1, x_17, x_3, x_4, x_5, x_6, x_7, x_8, x_20); -x_22 = lean_ctor_get(x_21, 0); -lean_inc(x_22); -x_23 = lean_ctor_get(x_21, 1); +lean_ctor_set(x_14, 1, x_19); +lean_ctor_set(x_2, 1, x_3); +{ +lean_object* _tmp_1 = x_16; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_9 = x_20; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_10 = _tmp_9; +} +goto _start; +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_22 = lean_ctor_get(x_2, 1); +x_23 = lean_ctor_get(x_14, 0); +x_24 = lean_ctor_get(x_14, 1); +lean_inc(x_24); lean_inc(x_23); -lean_dec(x_21); -lean_ctor_set(x_13, 2, x_22); -lean_ctor_set(x_13, 1, x_19); -x_24 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__2(x_1, x_15, x_3, x_4, x_5, x_6, x_7, x_8, x_23); -x_25 = !lean_is_exclusive(x_24); -if (x_25 == 0) -{ -lean_object* x_26; -x_26 = lean_ctor_get(x_24, 0); -lean_ctor_set(x_2, 1, x_26); -lean_ctor_set(x_24, 0, x_2); -return x_24; -} -else -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_27 = lean_ctor_get(x_24, 0); -x_28 = lean_ctor_get(x_24, 1); -lean_inc(x_28); +lean_dec(x_14); +lean_inc(x_1); +x_25 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam_levelMVarToParam_x27(x_1, x_24, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_26 = lean_ctor_get(x_25, 0); +lean_inc(x_26); +x_27 = lean_ctor_get(x_25, 1); lean_inc(x_27); -lean_dec(x_24); -lean_ctor_set(x_2, 1, x_27); -x_29 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_29, 0, x_2); -lean_ctor_set(x_29, 1, x_28); -return x_29; +lean_dec(x_25); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_23); +lean_ctor_set(x_28, 1, x_26); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_28); +{ +lean_object* _tmp_1 = x_22; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_9 = x_27; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_10 = _tmp_9; +} +goto _start; } } else { -lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; 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_30 = lean_ctor_get(x_2, 1); -x_31 = lean_ctor_get(x_13, 0); -x_32 = lean_ctor_get(x_13, 1); -x_33 = lean_ctor_get(x_13, 2); -lean_inc(x_33); -lean_inc(x_32); +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_30 = lean_ctor_get(x_2, 0); +x_31 = lean_ctor_get(x_2, 1); lean_inc(x_31); -lean_dec(x_13); +lean_inc(x_30); +lean_dec(x_2); +x_32 = lean_ctor_get(x_30, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_30, 1); +lean_inc(x_33); +if (lean_is_exclusive(x_30)) { + lean_ctor_release(x_30, 0); + lean_ctor_release(x_30, 1); + x_34 = x_30; +} else { + lean_dec_ref(x_30); + x_34 = lean_box(0); +} lean_inc(x_1); -x_34 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam_levelMVarToParam_x27(x_1, x_32, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -x_36 = lean_ctor_get(x_34, 1); +x_35 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam_levelMVarToParam_x27(x_1, x_33, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_36 = lean_ctor_get(x_35, 0); lean_inc(x_36); -lean_dec(x_34); +x_37 = lean_ctor_get(x_35, 1); +lean_inc(x_37); +lean_dec(x_35); +if (lean_is_scalar(x_34)) { + x_38 = lean_alloc_ctor(0, 2, 0); +} else { + x_38 = x_34; +} +lean_ctor_set(x_38, 0, x_32); +lean_ctor_set(x_38, 1, x_36); +x_39 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_39, 0, x_38); +lean_ctor_set(x_39, 1, x_3); +x_2 = x_31; +x_3 = x_39; +x_10 = x_37; +goto _start; +} +} +} +} +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_11; lean_object* x_12; +lean_dec(x_1); +x_11 = l_List_reverse___rarg(x_3); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_10); +return x_12; +} +else +{ +uint8_t x_13; +x_13 = !lean_is_exclusive(x_2); +if (x_13 == 0) +{ +lean_object* x_14; uint8_t x_15; +x_14 = lean_ctor_get(x_2, 0); +x_15 = !lean_is_exclusive(x_14); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_16 = lean_ctor_get(x_2, 1); +x_17 = lean_ctor_get(x_14, 1); +x_18 = lean_ctor_get(x_14, 2); lean_inc(x_1); -x_37 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__1(x_1, x_33, x_3, x_4, x_5, x_6, x_7, x_8, x_36); -x_38 = lean_ctor_get(x_37, 0); -lean_inc(x_38); -x_39 = lean_ctor_get(x_37, 1); -lean_inc(x_39); -lean_dec(x_37); -x_40 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_40, 0, x_31); -lean_ctor_set(x_40, 1, x_35); -lean_ctor_set(x_40, 2, x_38); -x_41 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__2(x_1, x_30, x_3, x_4, x_5, x_6, x_7, x_8, x_39); -x_42 = lean_ctor_get(x_41, 0); -lean_inc(x_42); -x_43 = lean_ctor_get(x_41, 1); -lean_inc(x_43); -if (lean_is_exclusive(x_41)) { - lean_ctor_release(x_41, 0); - lean_ctor_release(x_41, 1); - x_44 = x_41; -} else { - lean_dec_ref(x_41); - x_44 = lean_box(0); +x_19 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam_levelMVarToParam_x27(x_1, x_17, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = lean_box(0); +lean_inc(x_1); +x_23 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__1(x_1, x_18, x_22, x_4, x_5, x_6, x_7, x_8, x_9, x_21); +x_24 = lean_ctor_get(x_23, 0); +lean_inc(x_24); +x_25 = lean_ctor_get(x_23, 1); +lean_inc(x_25); +lean_dec(x_23); +lean_ctor_set(x_14, 2, x_24); +lean_ctor_set(x_14, 1, x_20); +lean_ctor_set(x_2, 1, x_3); +{ +lean_object* _tmp_1 = x_16; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_9 = x_25; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_10 = _tmp_9; } -lean_ctor_set(x_2, 1, x_42); -lean_ctor_set(x_2, 0, x_40); -if (lean_is_scalar(x_44)) { - x_45 = lean_alloc_ctor(0, 2, 0); -} else { - x_45 = x_44; +goto _start; } -lean_ctor_set(x_45, 0, x_2); -lean_ctor_set(x_45, 1, x_43); -return x_45; +else +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_27 = lean_ctor_get(x_2, 1); +x_28 = lean_ctor_get(x_14, 0); +x_29 = lean_ctor_get(x_14, 1); +x_30 = lean_ctor_get(x_14, 2); +lean_inc(x_30); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_14); +lean_inc(x_1); +x_31 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam_levelMVarToParam_x27(x_1, x_29, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +lean_dec(x_31); +x_34 = lean_box(0); +lean_inc(x_1); +x_35 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__1(x_1, x_30, x_34, x_4, x_5, x_6, x_7, x_8, x_9, x_33); +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +x_37 = lean_ctor_get(x_35, 1); +lean_inc(x_37); +lean_dec(x_35); +x_38 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_38, 0, x_28); +lean_ctor_set(x_38, 1, x_32); +lean_ctor_set(x_38, 2, x_36); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_38); +{ +lean_object* _tmp_1 = x_27; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_9 = x_37; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_10 = _tmp_9; +} +goto _start; } } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; -x_46 = lean_ctor_get(x_2, 0); -x_47 = lean_ctor_get(x_2, 1); -lean_inc(x_47); -lean_inc(x_46); +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_40 = lean_ctor_get(x_2, 0); +x_41 = lean_ctor_get(x_2, 1); +lean_inc(x_41); +lean_inc(x_40); lean_dec(x_2); -x_48 = lean_ctor_get(x_46, 0); +x_42 = lean_ctor_get(x_40, 0); +lean_inc(x_42); +x_43 = lean_ctor_get(x_40, 1); +lean_inc(x_43); +x_44 = lean_ctor_get(x_40, 2); +lean_inc(x_44); +if (lean_is_exclusive(x_40)) { + lean_ctor_release(x_40, 0); + lean_ctor_release(x_40, 1); + lean_ctor_release(x_40, 2); + x_45 = x_40; +} else { + lean_dec_ref(x_40); + x_45 = lean_box(0); +} +lean_inc(x_1); +x_46 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam_levelMVarToParam_x27(x_1, x_43, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_47 = lean_ctor_get(x_46, 0); +lean_inc(x_47); +x_48 = lean_ctor_get(x_46, 1); lean_inc(x_48); -x_49 = lean_ctor_get(x_46, 1); -lean_inc(x_49); -x_50 = lean_ctor_get(x_46, 2); -lean_inc(x_50); -if (lean_is_exclusive(x_46)) { - lean_ctor_release(x_46, 0); - lean_ctor_release(x_46, 1); - lean_ctor_release(x_46, 2); - x_51 = x_46; -} else { - lean_dec_ref(x_46); - x_51 = lean_box(0); -} +lean_dec(x_46); +x_49 = lean_box(0); lean_inc(x_1); -x_52 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam_levelMVarToParam_x27(x_1, x_49, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -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_1); -x_55 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__1(x_1, x_50, x_3, x_4, x_5, x_6, x_7, x_8, x_54); -x_56 = lean_ctor_get(x_55, 0); -lean_inc(x_56); -x_57 = lean_ctor_get(x_55, 1); -lean_inc(x_57); -lean_dec(x_55); -if (lean_is_scalar(x_51)) { - x_58 = lean_alloc_ctor(0, 3, 0); +x_50 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__1(x_1, x_44, x_49, x_4, x_5, x_6, x_7, x_8, x_9, x_48); +x_51 = lean_ctor_get(x_50, 0); +lean_inc(x_51); +x_52 = lean_ctor_get(x_50, 1); +lean_inc(x_52); +lean_dec(x_50); +if (lean_is_scalar(x_45)) { + x_53 = lean_alloc_ctor(0, 3, 0); } else { - x_58 = x_51; + x_53 = x_45; } -lean_ctor_set(x_58, 0, x_48); -lean_ctor_set(x_58, 1, x_53); -lean_ctor_set(x_58, 2, x_56); -x_59 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__2(x_1, x_47, x_3, x_4, x_5, x_6, x_7, x_8, x_57); -x_60 = lean_ctor_get(x_59, 0); -lean_inc(x_60); -x_61 = lean_ctor_get(x_59, 1); -lean_inc(x_61); -if (lean_is_exclusive(x_59)) { - lean_ctor_release(x_59, 0); - lean_ctor_release(x_59, 1); - x_62 = x_59; -} else { - lean_dec_ref(x_59); - x_62 = lean_box(0); -} -x_63 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_63, 0, x_58); -lean_ctor_set(x_63, 1, x_60); -if (lean_is_scalar(x_62)) { - x_64 = lean_alloc_ctor(0, 2, 0); -} else { - x_64 = x_62; -} -lean_ctor_set(x_64, 0, x_63); -lean_ctor_set(x_64, 1, x_61); -return x_64; +lean_ctor_set(x_53, 0, x_42); +lean_ctor_set(x_53, 1, x_47); +lean_ctor_set(x_53, 2, x_51); +x_54 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_54, 0, x_53); +lean_ctor_set(x_54, 1, x_3); +x_2 = x_41; +x_3 = x_54; +x_10 = x_52; +goto _start; } } } @@ -10912,51 +10743,44 @@ return x_64; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__2(x_2, x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -return x_10; -} -} -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -lean_object* x_10; -x_10 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_object* x_10; lean_object* x_11; +x_10 = lean_box(0); +x_11 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__2(x_2, x_1, x_10, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -return x_10; +return x_11; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___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_10; -x_10 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_object* x_11; +x_11 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_3); -return x_10; +return x_11; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { -lean_object* x_10; -x_10 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_object* x_11; +x_11 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_3); -return x_10; +return x_11; } } LEAN_EXPORT lean_object* l_Lean_Elab_Command_mkResultUniverse(lean_object* x_1, lean_object* x_2) { @@ -14425,353 +14249,270 @@ lean_dec(x_1); return x_13; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___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: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_9; lean_object* x_10; -x_9 = lean_box(0); -x_10 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_10, 0, x_9); -lean_ctor_set(x_10, 1, x_8); -return x_10; +lean_object* x_10; lean_object* x_11; +x_10 = l_List_reverse___rarg(x_2); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_10); +lean_ctor_set(x_11, 1, x_9); +return x_11; } else { -uint8_t x_11; -x_11 = !lean_is_exclusive(x_1); -if (x_11 == 0) +uint8_t x_12; +x_12 = !lean_is_exclusive(x_1); +if (x_12 == 0) { -lean_object* x_12; uint8_t x_13; -x_12 = lean_ctor_get(x_1, 0); -x_13 = !lean_is_exclusive(x_12); -if (x_13 == 0) +lean_object* x_13; uint8_t x_14; +x_13 = lean_ctor_get(x_1, 0); +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) { -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; -x_14 = lean_ctor_get(x_1, 1); -x_15 = lean_ctor_get(x_12, 1); -x_16 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_15, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -lean_ctor_set(x_12, 1, x_17); -x_19 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_14, x_2, x_3, x_4, x_5, x_6, x_7, x_18); -x_20 = !lean_is_exclusive(x_19); -if (x_20 == 0) -{ -lean_object* x_21; -x_21 = lean_ctor_get(x_19, 0); -lean_ctor_set(x_1, 1, x_21); -lean_ctor_set(x_19, 0, x_1); -return x_19; -} -else -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_19, 0); -x_23 = lean_ctor_get(x_19, 1); -lean_inc(x_23); -lean_inc(x_22); -lean_dec(x_19); -lean_ctor_set(x_1, 1, x_22); -x_24 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_24, 0, x_1); -lean_ctor_set(x_24, 1, x_23); -return x_24; -} -} -else -{ -lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_25 = lean_ctor_get(x_1, 1); -x_26 = lean_ctor_get(x_12, 0); -x_27 = lean_ctor_get(x_12, 1); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_12); -x_28 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_27, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -x_29 = lean_ctor_get(x_28, 0); -lean_inc(x_29); -x_30 = lean_ctor_get(x_28, 1); -lean_inc(x_30); -lean_dec(x_28); -x_31 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_31, 0, x_26); -lean_ctor_set(x_31, 1, x_29); -x_32 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_25, x_2, x_3, x_4, x_5, x_6, x_7, 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); -if (lean_is_exclusive(x_32)) { - lean_ctor_release(x_32, 0); - lean_ctor_release(x_32, 1); - x_35 = x_32; -} else { - lean_dec_ref(x_32); - x_35 = lean_box(0); -} -lean_ctor_set(x_1, 1, x_33); -lean_ctor_set(x_1, 0, x_31); -if (lean_is_scalar(x_35)) { - x_36 = lean_alloc_ctor(0, 2, 0); -} else { - x_36 = x_35; -} -lean_ctor_set(x_36, 0, x_1); -lean_ctor_set(x_36, 1, x_34); -return x_36; -} -} -else -{ -lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_37 = lean_ctor_get(x_1, 0); -x_38 = lean_ctor_get(x_1, 1); -lean_inc(x_38); -lean_inc(x_37); -lean_dec(x_1); -x_39 = lean_ctor_get(x_37, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_37, 1); -lean_inc(x_40); -if (lean_is_exclusive(x_37)) { - lean_ctor_release(x_37, 0); - lean_ctor_release(x_37, 1); - x_41 = x_37; -} else { - lean_dec_ref(x_37); - x_41 = lean_box(0); -} -x_42 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_40, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -x_43 = lean_ctor_get(x_42, 0); -lean_inc(x_43); -x_44 = lean_ctor_get(x_42, 1); -lean_inc(x_44); -lean_dec(x_42); -if (lean_is_scalar(x_41)) { - x_45 = lean_alloc_ctor(0, 2, 0); -} else { - x_45 = x_41; -} -lean_ctor_set(x_45, 0, x_39); -lean_ctor_set(x_45, 1, x_43); -x_46 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_38, x_2, x_3, x_4, x_5, x_6, x_7, x_44); -x_47 = lean_ctor_get(x_46, 0); -lean_inc(x_47); -x_48 = lean_ctor_get(x_46, 1); -lean_inc(x_48); -if (lean_is_exclusive(x_46)) { - lean_ctor_release(x_46, 0); - lean_ctor_release(x_46, 1); - x_49 = x_46; -} else { - lean_dec_ref(x_46); - x_49 = lean_box(0); -} -x_50 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_50, 0, x_45); -lean_ctor_set(x_50, 1, x_47); -if (lean_is_scalar(x_49)) { - x_51 = lean_alloc_ctor(0, 2, 0); -} else { - x_51 = x_49; -} -lean_ctor_set(x_51, 0, x_50); -lean_ctor_set(x_51, 1, x_48); -return x_51; -} -} -} -} -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___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: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_9; lean_object* x_10; -x_9 = lean_box(0); -x_10 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_10, 0, x_9); -lean_ctor_set(x_10, 1, x_8); -return x_10; -} -else -{ -uint8_t x_11; -x_11 = !lean_is_exclusive(x_1); -if (x_11 == 0) -{ -lean_object* x_12; uint8_t x_13; -x_12 = lean_ctor_get(x_1, 0); -x_13 = !lean_is_exclusive(x_12); -if (x_13 == 0) -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; -x_14 = lean_ctor_get(x_1, 1); -x_15 = lean_ctor_get(x_12, 1); -x_16 = lean_ctor_get(x_12, 2); -x_17 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_15, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_15 = lean_ctor_get(x_1, 1); +x_16 = lean_ctor_get(x_13, 1); +x_17 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_16, x_3, x_4, x_5, x_6, x_7, x_8, x_9); x_18 = lean_ctor_get(x_17, 0); lean_inc(x_18); x_19 = lean_ctor_get(x_17, 1); lean_inc(x_19); lean_dec(x_17); -x_20 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_16, x_2, x_3, x_4, x_5, x_6, x_7, x_19); -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); +lean_ctor_set(x_13, 1, x_18); +lean_ctor_set(x_1, 1, x_2); +{ +lean_object* _tmp_0 = x_15; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_8 = x_19; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_9 = _tmp_8; +} +goto _start; +} +else +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_21 = lean_ctor_get(x_1, 1); +x_22 = lean_ctor_get(x_13, 0); +x_23 = lean_ctor_get(x_13, 1); +lean_inc(x_23); lean_inc(x_22); -lean_dec(x_20); -lean_ctor_set(x_12, 2, x_21); -lean_ctor_set(x_12, 1, x_18); -x_23 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2(x_14, x_2, x_3, x_4, x_5, x_6, x_7, x_22); -x_24 = !lean_is_exclusive(x_23); -if (x_24 == 0) -{ -lean_object* x_25; -x_25 = lean_ctor_get(x_23, 0); -lean_ctor_set(x_1, 1, x_25); -lean_ctor_set(x_23, 0, x_1); -return x_23; -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_23, 0); -x_27 = lean_ctor_get(x_23, 1); -lean_inc(x_27); +lean_dec(x_13); +x_24 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_23, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_24, 1); lean_inc(x_26); -lean_dec(x_23); -lean_ctor_set(x_1, 1, x_26); -x_28 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_28, 0, x_1); -lean_ctor_set(x_28, 1, x_27); -return x_28; +lean_dec(x_24); +x_27 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_27, 0, x_22); +lean_ctor_set(x_27, 1, x_25); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_27); +{ +lean_object* _tmp_0 = x_21; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_8 = x_26; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_9 = _tmp_8; +} +goto _start; } } else { -lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; -x_29 = lean_ctor_get(x_1, 1); -x_30 = lean_ctor_get(x_12, 0); -x_31 = lean_ctor_get(x_12, 1); -x_32 = lean_ctor_get(x_12, 2); -lean_inc(x_32); -lean_inc(x_31); +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; +x_29 = lean_ctor_get(x_1, 0); +x_30 = lean_ctor_get(x_1, 1); lean_inc(x_30); -lean_dec(x_12); -x_33 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_31, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -x_34 = lean_ctor_get(x_33, 0); -lean_inc(x_34); -x_35 = lean_ctor_get(x_33, 1); +lean_inc(x_29); +lean_dec(x_1); +x_31 = lean_ctor_get(x_29, 0); +lean_inc(x_31); +x_32 = lean_ctor_get(x_29, 1); +lean_inc(x_32); +if (lean_is_exclusive(x_29)) { + lean_ctor_release(x_29, 0); + lean_ctor_release(x_29, 1); + x_33 = x_29; +} else { + lean_dec_ref(x_29); + x_33 = lean_box(0); +} +x_34 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_32, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_35 = lean_ctor_get(x_34, 0); lean_inc(x_35); -lean_dec(x_33); -x_36 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_32, x_2, x_3, x_4, x_5, x_6, x_7, 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 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_39, 0, x_30); -lean_ctor_set(x_39, 1, x_34); -lean_ctor_set(x_39, 2, x_37); -x_40 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2(x_29, x_2, x_3, x_4, x_5, x_6, x_7, x_38); -x_41 = lean_ctor_get(x_40, 0); -lean_inc(x_41); -x_42 = lean_ctor_get(x_40, 1); -lean_inc(x_42); -if (lean_is_exclusive(x_40)) { - lean_ctor_release(x_40, 0); - lean_ctor_release(x_40, 1); - x_43 = x_40; +x_36 = lean_ctor_get(x_34, 1); +lean_inc(x_36); +lean_dec(x_34); +if (lean_is_scalar(x_33)) { + x_37 = lean_alloc_ctor(0, 2, 0); } else { - lean_dec_ref(x_40); - x_43 = lean_box(0); + x_37 = x_33; } -lean_ctor_set(x_1, 1, x_41); -lean_ctor_set(x_1, 0, x_39); -if (lean_is_scalar(x_43)) { - x_44 = lean_alloc_ctor(0, 2, 0); -} else { - x_44 = x_43; +lean_ctor_set(x_37, 0, x_31); +lean_ctor_set(x_37, 1, x_35); +x_38 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_38, 0, x_37); +lean_ctor_set(x_38, 1, x_2); +x_1 = x_30; +x_2 = x_38; +x_9 = x_36; +goto _start; } -lean_ctor_set(x_44, 0, x_1); -lean_ctor_set(x_44, 1, x_42); -return x_44; +} +} +} +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___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_1) == 0) +{ +lean_object* x_10; lean_object* x_11; +x_10 = l_List_reverse___rarg(x_2); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_10); +lean_ctor_set(x_11, 1, x_9); +return x_11; +} +else +{ +uint8_t x_12; +x_12 = !lean_is_exclusive(x_1); +if (x_12 == 0) +{ +lean_object* x_13; uint8_t x_14; +x_13 = lean_ctor_get(x_1, 0); +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_15 = lean_ctor_get(x_1, 1); +x_16 = lean_ctor_get(x_13, 1); +x_17 = lean_ctor_get(x_13, 2); +x_18 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_16, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +x_21 = lean_box(0); +x_22 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_17, x_21, x_3, x_4, x_5, x_6, x_7, x_8, x_20); +x_23 = lean_ctor_get(x_22, 0); +lean_inc(x_23); +x_24 = lean_ctor_get(x_22, 1); +lean_inc(x_24); +lean_dec(x_22); +lean_ctor_set(x_13, 2, x_23); +lean_ctor_set(x_13, 1, x_19); +lean_ctor_set(x_1, 1, x_2); +{ +lean_object* _tmp_0 = x_15; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_8 = x_24; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_9 = _tmp_8; +} +goto _start; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_26 = lean_ctor_get(x_1, 1); +x_27 = lean_ctor_get(x_13, 0); +x_28 = lean_ctor_get(x_13, 1); +x_29 = lean_ctor_get(x_13, 2); +lean_inc(x_29); +lean_inc(x_28); +lean_inc(x_27); +lean_dec(x_13); +x_30 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_28, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_31 = lean_ctor_get(x_30, 0); +lean_inc(x_31); +x_32 = lean_ctor_get(x_30, 1); +lean_inc(x_32); +lean_dec(x_30); +x_33 = lean_box(0); +x_34 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_29, x_33, x_3, x_4, x_5, x_6, x_7, x_8, x_32); +x_35 = lean_ctor_get(x_34, 0); +lean_inc(x_35); +x_36 = lean_ctor_get(x_34, 1); +lean_inc(x_36); +lean_dec(x_34); +x_37 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_37, 0, x_27); +lean_ctor_set(x_37, 1, x_31); +lean_ctor_set(x_37, 2, x_35); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_37); +{ +lean_object* _tmp_0 = x_26; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_8 = x_36; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_9 = _tmp_8; +} +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; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; -x_45 = lean_ctor_get(x_1, 0); -x_46 = lean_ctor_get(x_1, 1); -lean_inc(x_46); -lean_inc(x_45); +lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_39 = lean_ctor_get(x_1, 0); +x_40 = lean_ctor_get(x_1, 1); +lean_inc(x_40); +lean_inc(x_39); lean_dec(x_1); -x_47 = lean_ctor_get(x_45, 0); +x_41 = lean_ctor_get(x_39, 0); +lean_inc(x_41); +x_42 = lean_ctor_get(x_39, 1); +lean_inc(x_42); +x_43 = lean_ctor_get(x_39, 2); +lean_inc(x_43); +if (lean_is_exclusive(x_39)) { + lean_ctor_release(x_39, 0); + lean_ctor_release(x_39, 1); + lean_ctor_release(x_39, 2); + x_44 = x_39; +} else { + lean_dec_ref(x_39); + x_44 = lean_box(0); +} +x_45 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_42, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_46 = lean_ctor_get(x_45, 0); +lean_inc(x_46); +x_47 = lean_ctor_get(x_45, 1); lean_inc(x_47); -x_48 = lean_ctor_get(x_45, 1); -lean_inc(x_48); -x_49 = lean_ctor_get(x_45, 2); -lean_inc(x_49); -if (lean_is_exclusive(x_45)) { - lean_ctor_release(x_45, 0); - lean_ctor_release(x_45, 1); - lean_ctor_release(x_45, 2); - x_50 = x_45; +lean_dec(x_45); +x_48 = lean_box(0); +x_49 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_43, x_48, x_3, x_4, x_5, x_6, x_7, x_8, x_47); +x_50 = lean_ctor_get(x_49, 0); +lean_inc(x_50); +x_51 = lean_ctor_get(x_49, 1); +lean_inc(x_51); +lean_dec(x_49); +if (lean_is_scalar(x_44)) { + x_52 = lean_alloc_ctor(0, 3, 0); } else { - lean_dec_ref(x_45); - x_50 = lean_box(0); + x_52 = x_44; } -x_51 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_48, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -x_52 = lean_ctor_get(x_51, 0); -lean_inc(x_52); -x_53 = lean_ctor_get(x_51, 1); -lean_inc(x_53); -lean_dec(x_51); -x_54 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_49, x_2, x_3, x_4, x_5, x_6, x_7, x_53); -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); -if (lean_is_scalar(x_50)) { - x_57 = lean_alloc_ctor(0, 3, 0); -} else { - x_57 = x_50; -} -lean_ctor_set(x_57, 0, x_47); -lean_ctor_set(x_57, 1, x_52); -lean_ctor_set(x_57, 2, x_55); -x_58 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2(x_46, x_2, x_3, x_4, x_5, x_6, x_7, x_56); -x_59 = lean_ctor_get(x_58, 0); -lean_inc(x_59); -x_60 = lean_ctor_get(x_58, 1); -lean_inc(x_60); -if (lean_is_exclusive(x_58)) { - lean_ctor_release(x_58, 0); - lean_ctor_release(x_58, 1); - x_61 = x_58; -} else { - lean_dec_ref(x_58); - x_61 = lean_box(0); -} -x_62 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_62, 0, x_57); -lean_ctor_set(x_62, 1, x_59); -if (lean_is_scalar(x_61)) { - x_63 = lean_alloc_ctor(0, 2, 0); -} else { - x_63 = x_61; -} -lean_ctor_set(x_63, 0, x_62); -lean_ctor_set(x_63, 1, x_60); -return x_63; +lean_ctor_set(x_52, 0, x_41); +lean_ctor_set(x_52, 1, x_46); +lean_ctor_set(x_52, 2, x_50); +x_53 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_53, 0, x_52); +lean_ctor_set(x_53, 1, x_2); +x_1 = x_40; +x_2 = x_53; +x_9 = x_51; +goto _start; } } } @@ -14779,16 +14520,19 @@ return x_63; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___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_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; x_13 = l_Lean_Elab_Command_mkResultUniverse(x_1, x_2); +lean_dec(x_2); x_14 = l_Lean_Level_mvarId_x21(x_3); x_15 = l_Lean_assignLevelMVar___at_Lean_Elab_Command_shouldInferResultUniverse___spec__2(x_14, x_13, x_6, x_7, x_8, x_9, x_10, x_11, x_12); x_16 = lean_ctor_get(x_15, 1); lean_inc(x_16); lean_dec(x_15); -x_17 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2(x_4, x_6, x_7, x_8, x_9, x_10, x_11, x_16); -lean_dec(x_8); -return x_17; +x_17 = lean_box(0); +x_18 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2(x_4, x_17, x_6, x_7, x_8, x_9, x_10, x_11, x_16); +lean_dec(x_9); +lean_dec(x_6); +return x_18; } } static lean_object* _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___lambda__2___closed__1() { @@ -14882,10 +14626,8 @@ x_22 = lean_box(0); x_23 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___lambda__1(x_15, x_3, x_2, x_5, x_22, x_7, x_8, x_9, x_10, x_11, x_12, x_21); lean_dec(x_12); lean_dec(x_11); -lean_dec(x_10); +lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_3); return x_23; } else @@ -14940,11 +14682,9 @@ lean_dec(x_43); x_46 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___lambda__1(x_15, x_3, x_2, x_5, x_44, x_7, x_8, x_9, x_10, x_11, x_12, x_45); lean_dec(x_12); lean_dec(x_11); -lean_dec(x_10); +lean_dec(x_9); lean_dec(x_8); -lean_dec(x_7); lean_dec(x_44); -lean_dec(x_3); return x_46; } } @@ -15106,32 +14846,32 @@ return x_33; } } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -lean_object* x_9; -x_9 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_object* x_10; +x_10 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); -return x_9; +return x_10; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -lean_object* x_9; -x_9 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_object* x_10; +x_10 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); -return x_9; +return x_10; } } LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { @@ -15141,11 +14881,9 @@ lean_object* x_13; x_13 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___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); +lean_dec(x_8); lean_dec(x_7); -lean_dec(x_6); lean_dec(x_5); -lean_dec(x_2); return x_13; } } @@ -15214,7 +14952,7 @@ _start: lean_object* x_2; lean_object* x_3; lean_object* x_4; x_2 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_6434____closed__4; x_3 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_6434____closed__6; -x_4 = l_Lean_Option_register___at_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Options___hyg_6____spec__1(x_2, x_3, x_1); +x_4 = l_Lean_Option_register___at_Lean_Elab_initFn____x40_Lean_Elab_AutoBound___hyg_7____spec__1(x_2, x_3, x_1); return x_4; } } @@ -17391,12 +17129,80 @@ lean_dec(x_1); return x_11; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___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_2) == 0) { -lean_object* x_10; lean_object* x_11; +lean_object* x_11; lean_object* x_12; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_11 = l_List_reverse___rarg(x_3); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_10); +return x_12; +} +else +{ +uint8_t x_13; +x_13 = !lean_is_exclusive(x_2); +if (x_13 == 0) +{ +lean_object* x_14; uint8_t x_15; +x_14 = lean_ctor_get(x_2, 0); +x_15 = !lean_is_exclusive(x_14); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_16 = lean_ctor_get(x_2, 1); +x_17 = lean_ctor_get(x_14, 0); +x_18 = lean_ctor_get(x_14, 1); +lean_inc(x_1); +x_19 = lean_alloc_closure((void*)(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkTypeFor___lambda__1___boxed), 9, 2); +lean_closure_set(x_19, 0, x_1); +lean_closure_set(x_19, 1, x_18); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_1); +x_20 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withExplicitToImplicit___rarg(x_1, x_19, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; lean_object* x_22; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +lean_ctor_set(x_14, 1, x_21); +lean_ctor_set(x_2, 1, x_3); +{ +lean_object* _tmp_1 = x_16; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_9 = x_22; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_10 = _tmp_9; +} +goto _start; +} +else +{ +uint8_t x_24; +lean_free_object(x_14); +lean_dec(x_17); +lean_free_object(x_2); +lean_dec(x_16); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -17404,227 +17210,77 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_10 = lean_box(0); -x_11 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_11, 0, x_10); -lean_ctor_set(x_11, 1, x_9); -return x_11; -} -else +x_24 = !lean_is_exclusive(x_20); +if (x_24 == 0) { -uint8_t x_12; -x_12 = !lean_is_exclusive(x_2); -if (x_12 == 0) -{ -lean_object* x_13; uint8_t x_14; -x_13 = lean_ctor_get(x_2, 0); -x_14 = !lean_is_exclusive(x_13); -if (x_14 == 0) -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_15 = lean_ctor_get(x_2, 1); -x_16 = lean_ctor_get(x_13, 0); -x_17 = lean_ctor_get(x_13, 1); -lean_inc(x_1); -x_18 = lean_alloc_closure((void*)(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkTypeFor___lambda__1___boxed), 9, 2); -lean_closure_set(x_18, 0, x_1); -lean_closure_set(x_18, 1, 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); -lean_inc(x_1); -x_19 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withExplicitToImplicit___rarg(x_1, x_18, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_19) == 0) -{ -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_ctor_get(x_19, 0); -lean_inc(x_20); -x_21 = lean_ctor_get(x_19, 1); -lean_inc(x_21); -lean_dec(x_19); -lean_ctor_set(x_13, 1, x_20); -x_22 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___spec__1(x_1, x_15, x_3, x_4, x_5, x_6, x_7, x_8, x_21); -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; -x_24 = lean_ctor_get(x_22, 0); -lean_ctor_set(x_2, 1, x_24); -lean_ctor_set(x_22, 0, x_2); -return x_22; +return x_20; } else { lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = lean_ctor_get(x_22, 0); -x_26 = lean_ctor_get(x_22, 1); +x_25 = lean_ctor_get(x_20, 0); +x_26 = lean_ctor_get(x_20, 1); lean_inc(x_26); lean_inc(x_25); -lean_dec(x_22); -lean_ctor_set(x_2, 1, x_25); -x_27 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_27, 0, x_2); +lean_dec(x_20); +x_27 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_27, 0, x_25); lean_ctor_set(x_27, 1, x_26); return x_27; } } -else -{ -uint8_t x_28; -lean_dec(x_13); -lean_free_object(x_2); -x_28 = !lean_is_exclusive(x_22); -if (x_28 == 0) -{ -return x_22; } else { -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_22, 0); -x_30 = lean_ctor_get(x_22, 1); +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_28 = lean_ctor_get(x_2, 1); +x_29 = lean_ctor_get(x_14, 0); +x_30 = lean_ctor_get(x_14, 1); lean_inc(x_30); lean_inc(x_29); -lean_dec(x_22); -x_31 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_31, 0, x_29); -lean_ctor_set(x_31, 1, x_30); -return x_31; -} -} -} -else -{ -uint8_t x_32; -lean_free_object(x_13); -lean_dec(x_16); -lean_free_object(x_2); -lean_dec(x_15); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_32 = !lean_is_exclusive(x_19); -if (x_32 == 0) -{ -return x_19; -} -else -{ -lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_33 = lean_ctor_get(x_19, 0); -x_34 = lean_ctor_get(x_19, 1); -lean_inc(x_34); -lean_inc(x_33); -lean_dec(x_19); -x_35 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_35, 0, x_33); -lean_ctor_set(x_35, 1, x_34); -return x_35; -} -} -} -else -{ -lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_36 = lean_ctor_get(x_2, 1); -x_37 = lean_ctor_get(x_13, 0); -x_38 = lean_ctor_get(x_13, 1); -lean_inc(x_38); -lean_inc(x_37); -lean_dec(x_13); +lean_dec(x_14); lean_inc(x_1); -x_39 = lean_alloc_closure((void*)(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkTypeFor___lambda__1___boxed), 9, 2); -lean_closure_set(x_39, 0, x_1); -lean_closure_set(x_39, 1, x_38); +x_31 = lean_alloc_closure((void*)(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkTypeFor___lambda__1___boxed), 9, 2); +lean_closure_set(x_31, 0, x_1); +lean_closure_set(x_31, 1, x_30); +lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); lean_inc(x_1); -x_40 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withExplicitToImplicit___rarg(x_1, x_39, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_40) == 0) +x_32 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withExplicitToImplicit___rarg(x_1, x_31, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_32) == 0) { -lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; -x_41 = lean_ctor_get(x_40, 0); -lean_inc(x_41); -x_42 = lean_ctor_get(x_40, 1); -lean_inc(x_42); -lean_dec(x_40); -x_43 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_43, 0, x_37); -lean_ctor_set(x_43, 1, x_41); -x_44 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___spec__1(x_1, x_36, x_3, x_4, x_5, x_6, x_7, x_8, x_42); -if (lean_obj_tag(x_44) == 0) +lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_33 = lean_ctor_get(x_32, 0); +lean_inc(x_33); +x_34 = lean_ctor_get(x_32, 1); +lean_inc(x_34); +lean_dec(x_32); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_29); +lean_ctor_set(x_35, 1, x_33); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_35); { -lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_45 = lean_ctor_get(x_44, 0); -lean_inc(x_45); -x_46 = lean_ctor_get(x_44, 1); -lean_inc(x_46); -if (lean_is_exclusive(x_44)) { - lean_ctor_release(x_44, 0); - lean_ctor_release(x_44, 1); - x_47 = x_44; -} else { - lean_dec_ref(x_44); - x_47 = lean_box(0); +lean_object* _tmp_1 = x_28; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_9 = x_34; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_10 = _tmp_9; } -lean_ctor_set(x_2, 1, x_45); -lean_ctor_set(x_2, 0, x_43); -if (lean_is_scalar(x_47)) { - x_48 = lean_alloc_ctor(0, 2, 0); -} else { - x_48 = x_47; -} -lean_ctor_set(x_48, 0, x_2); -lean_ctor_set(x_48, 1, x_46); -return x_48; +goto _start; } else { -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; -lean_dec(x_43); +lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; +lean_dec(x_29); lean_free_object(x_2); -x_49 = lean_ctor_get(x_44, 0); -lean_inc(x_49); -x_50 = lean_ctor_get(x_44, 1); -lean_inc(x_50); -if (lean_is_exclusive(x_44)) { - lean_ctor_release(x_44, 0); - lean_ctor_release(x_44, 1); - x_51 = x_44; -} else { - lean_dec_ref(x_44); - x_51 = lean_box(0); -} -if (lean_is_scalar(x_51)) { - x_52 = lean_alloc_ctor(1, 2, 0); -} else { - x_52 = x_51; -} -lean_ctor_set(x_52, 0, x_49); -lean_ctor_set(x_52, 1, x_50); -return x_52; -} -} -else -{ -lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; -lean_dec(x_37); -lean_free_object(x_2); -lean_dec(x_36); +lean_dec(x_28); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -17632,16 +17288,108 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_53 = lean_ctor_get(x_40, 0); -lean_inc(x_53); -x_54 = lean_ctor_get(x_40, 1); -lean_inc(x_54); -if (lean_is_exclusive(x_40)) { - lean_ctor_release(x_40, 0); - lean_ctor_release(x_40, 1); - x_55 = x_40; +x_37 = lean_ctor_get(x_32, 0); +lean_inc(x_37); +x_38 = lean_ctor_get(x_32, 1); +lean_inc(x_38); +if (lean_is_exclusive(x_32)) { + lean_ctor_release(x_32, 0); + lean_ctor_release(x_32, 1); + x_39 = x_32; } else { - lean_dec_ref(x_40); + lean_dec_ref(x_32); + x_39 = lean_box(0); +} +if (lean_is_scalar(x_39)) { + x_40 = lean_alloc_ctor(1, 2, 0); +} else { + x_40 = x_39; +} +lean_ctor_set(x_40, 0, x_37); +lean_ctor_set(x_40, 1, x_38); +return x_40; +} +} +} +else +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_41 = lean_ctor_get(x_2, 0); +x_42 = lean_ctor_get(x_2, 1); +lean_inc(x_42); +lean_inc(x_41); +lean_dec(x_2); +x_43 = lean_ctor_get(x_41, 0); +lean_inc(x_43); +x_44 = lean_ctor_get(x_41, 1); +lean_inc(x_44); +if (lean_is_exclusive(x_41)) { + lean_ctor_release(x_41, 0); + lean_ctor_release(x_41, 1); + x_45 = x_41; +} else { + lean_dec_ref(x_41); + x_45 = lean_box(0); +} +lean_inc(x_1); +x_46 = lean_alloc_closure((void*)(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkTypeFor___lambda__1___boxed), 9, 2); +lean_closure_set(x_46, 0, x_1); +lean_closure_set(x_46, 1, x_44); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_1); +x_47 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withExplicitToImplicit___rarg(x_1, x_46, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_47) == 0) +{ +lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; +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); +if (lean_is_scalar(x_45)) { + x_50 = lean_alloc_ctor(0, 2, 0); +} else { + x_50 = x_45; +} +lean_ctor_set(x_50, 0, x_43); +lean_ctor_set(x_50, 1, x_48); +x_51 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_51, 0, x_50); +lean_ctor_set(x_51, 1, x_3); +x_2 = x_42; +x_3 = x_51; +x_10 = x_49; +goto _start; +} +else +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; +lean_dec(x_45); +lean_dec(x_43); +lean_dec(x_42); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_53 = lean_ctor_get(x_47, 0); +lean_inc(x_53); +x_54 = lean_ctor_get(x_47, 1); +lean_inc(x_54); +if (lean_is_exclusive(x_47)) { + lean_ctor_release(x_47, 0); + lean_ctor_release(x_47, 1); + x_55 = x_47; +} else { + lean_dec_ref(x_47); x_55 = lean_box(0); } if (lean_is_scalar(x_55)) { @@ -17655,439 +17403,95 @@ return x_56; } } } -else -{ -lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; -x_57 = lean_ctor_get(x_2, 0); -x_58 = lean_ctor_get(x_2, 1); -lean_inc(x_58); -lean_inc(x_57); -lean_dec(x_2); -x_59 = lean_ctor_get(x_57, 0); -lean_inc(x_59); -x_60 = lean_ctor_get(x_57, 1); -lean_inc(x_60); -if (lean_is_exclusive(x_57)) { - lean_ctor_release(x_57, 0); - lean_ctor_release(x_57, 1); - x_61 = x_57; -} else { - lean_dec_ref(x_57); - x_61 = lean_box(0); -} -lean_inc(x_1); -x_62 = lean_alloc_closure((void*)(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkTypeFor___lambda__1___boxed), 9, 2); -lean_closure_set(x_62, 0, x_1); -lean_closure_set(x_62, 1, x_60); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_1); -x_63 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_withExplicitToImplicit___rarg(x_1, x_62, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_63) == 0) -{ -lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; -x_64 = lean_ctor_get(x_63, 0); -lean_inc(x_64); -x_65 = lean_ctor_get(x_63, 1); -lean_inc(x_65); -lean_dec(x_63); -if (lean_is_scalar(x_61)) { - x_66 = lean_alloc_ctor(0, 2, 0); -} else { - x_66 = x_61; -} -lean_ctor_set(x_66, 0, x_59); -lean_ctor_set(x_66, 1, x_64); -x_67 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___spec__1(x_1, x_58, x_3, x_4, x_5, x_6, x_7, x_8, x_65); -if (lean_obj_tag(x_67) == 0) -{ -lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; -x_68 = lean_ctor_get(x_67, 0); -lean_inc(x_68); -x_69 = lean_ctor_get(x_67, 1); -lean_inc(x_69); -if (lean_is_exclusive(x_67)) { - lean_ctor_release(x_67, 0); - lean_ctor_release(x_67, 1); - x_70 = x_67; -} else { - lean_dec_ref(x_67); - x_70 = lean_box(0); -} -x_71 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_71, 0, x_66); -lean_ctor_set(x_71, 1, x_68); -if (lean_is_scalar(x_70)) { - x_72 = lean_alloc_ctor(0, 2, 0); -} else { - x_72 = x_70; -} -lean_ctor_set(x_72, 0, x_71); -lean_ctor_set(x_72, 1, x_69); -return x_72; -} -else -{ -lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; -lean_dec(x_66); -x_73 = lean_ctor_get(x_67, 0); -lean_inc(x_73); -x_74 = lean_ctor_get(x_67, 1); -lean_inc(x_74); -if (lean_is_exclusive(x_67)) { - lean_ctor_release(x_67, 0); - lean_ctor_release(x_67, 1); - x_75 = x_67; -} else { - lean_dec_ref(x_67); - x_75 = lean_box(0); -} -if (lean_is_scalar(x_75)) { - x_76 = lean_alloc_ctor(1, 2, 0); -} else { - x_76 = x_75; -} -lean_ctor_set(x_76, 0, x_73); -lean_ctor_set(x_76, 1, x_74); -return x_76; } } -else -{ -lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; -lean_dec(x_61); -lean_dec(x_59); -lean_dec(x_58); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_77 = lean_ctor_get(x_63, 0); -lean_inc(x_77); -x_78 = lean_ctor_get(x_63, 1); -lean_inc(x_78); -if (lean_is_exclusive(x_63)) { - lean_ctor_release(x_63, 0); - lean_ctor_release(x_63, 1); - x_79 = x_63; -} else { - lean_dec_ref(x_63); - x_79 = lean_box(0); -} -if (lean_is_scalar(x_79)) { - x_80 = lean_alloc_ctor(1, 2, 0); -} else { - x_80 = x_79; -} -lean_ctor_set(x_80, 0, x_77); -lean_ctor_set(x_80, 1, x_78); -return x_80; -} -} -} -} -} -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { if (lean_obj_tag(x_2) == 0) { -lean_object* x_10; lean_object* x_11; +lean_object* x_11; lean_object* x_12; +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_3); lean_dec(x_1); -x_10 = lean_box(0); -x_11 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_11, 0, x_10); -lean_ctor_set(x_11, 1, x_9); -return x_11; +x_11 = l_List_reverse___rarg(x_3); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_10); +return x_12; } else { -uint8_t x_12; -x_12 = !lean_is_exclusive(x_2); -if (x_12 == 0) +uint8_t x_13; +x_13 = !lean_is_exclusive(x_2); +if (x_13 == 0) { -lean_object* x_13; uint8_t x_14; -x_13 = lean_ctor_get(x_2, 0); -x_14 = !lean_is_exclusive(x_13); -if (x_14 == 0) +lean_object* x_14; uint8_t x_15; +x_14 = lean_ctor_get(x_2, 0); +x_15 = !lean_is_exclusive(x_14); +if (x_15 == 0) { -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; uint8_t x_20; uint8_t x_21; lean_object* x_22; -x_15 = lean_ctor_get(x_2, 1); -x_16 = lean_ctor_get(x_13, 0); -x_17 = lean_ctor_get(x_13, 1); -x_18 = lean_ctor_get(x_13, 2); -x_19 = 0; -x_20 = 1; +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; uint8_t x_21; uint8_t x_22; lean_object* x_23; +x_16 = lean_ctor_get(x_2, 1); +x_17 = lean_ctor_get(x_14, 0); +x_18 = lean_ctor_get(x_14, 1); +x_19 = lean_ctor_get(x_14, 2); +x_20 = 0; x_21 = 1; +x_22 = 1; lean_inc(x_1); -x_22 = l_Lean_Meta_mkForallFVars(x_1, x_17, x_19, x_20, x_21, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_22) == 0) +x_23 = l_Lean_Meta_mkForallFVars(x_1, x_18, x_20, x_21, x_22, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_23) == 0) { -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_24 = lean_ctor_get(x_23, 0); lean_inc(x_24); -lean_dec(x_22); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_1); -x_25 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___spec__1(x_1, x_18, x_3, x_4, x_5, x_6, x_7, x_8, x_24); -if (lean_obj_tag(x_25) == 0) -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_25, 0); -lean_inc(x_26); -x_27 = lean_ctor_get(x_25, 1); -lean_inc(x_27); -lean_dec(x_25); -lean_ctor_set(x_13, 2, x_26); -lean_ctor_set(x_13, 1, x_23); -x_28 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___spec__2(x_1, x_15, x_3, x_4, x_5, x_6, x_7, x_8, x_27); -if (lean_obj_tag(x_28) == 0) -{ -uint8_t x_29; -x_29 = !lean_is_exclusive(x_28); -if (x_29 == 0) -{ -lean_object* x_30; -x_30 = lean_ctor_get(x_28, 0); -lean_ctor_set(x_2, 1, x_30); -lean_ctor_set(x_28, 0, x_2); -return x_28; -} -else -{ -lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_31 = lean_ctor_get(x_28, 0); -x_32 = lean_ctor_get(x_28, 1); -lean_inc(x_32); -lean_inc(x_31); -lean_dec(x_28); -lean_ctor_set(x_2, 1, x_31); -x_33 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_33, 0, x_2); -lean_ctor_set(x_33, 1, x_32); -return x_33; -} -} -else -{ -uint8_t x_34; -lean_dec(x_13); -lean_free_object(x_2); -x_34 = !lean_is_exclusive(x_28); -if (x_34 == 0) -{ -return x_28; -} -else -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_35 = lean_ctor_get(x_28, 0); -x_36 = lean_ctor_get(x_28, 1); -lean_inc(x_36); -lean_inc(x_35); -lean_dec(x_28); -x_37 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_37, 0, x_35); -lean_ctor_set(x_37, 1, x_36); -return x_37; -} -} -} -else -{ -uint8_t x_38; +x_25 = lean_ctor_get(x_23, 1); +lean_inc(x_25); lean_dec(x_23); -lean_free_object(x_13); -lean_dec(x_16); -lean_free_object(x_2); -lean_dec(x_15); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_38 = !lean_is_exclusive(x_25); -if (x_38 == 0) -{ -return x_25; -} -else -{ -lean_object* x_39; lean_object* x_40; lean_object* x_41; -x_39 = lean_ctor_get(x_25, 0); -x_40 = lean_ctor_get(x_25, 1); -lean_inc(x_40); -lean_inc(x_39); -lean_dec(x_25); -x_41 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_41, 0, x_39); -lean_ctor_set(x_41, 1, x_40); -return x_41; -} -} -} -else -{ -uint8_t x_42; -lean_free_object(x_13); -lean_dec(x_18); -lean_dec(x_16); -lean_free_object(x_2); -lean_dec(x_15); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_42 = !lean_is_exclusive(x_22); -if (x_42 == 0) -{ -return x_22; -} -else -{ -lean_object* x_43; lean_object* x_44; lean_object* x_45; -x_43 = lean_ctor_get(x_22, 0); -x_44 = lean_ctor_get(x_22, 1); -lean_inc(x_44); -lean_inc(x_43); -lean_dec(x_22); -x_45 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_45, 0, x_43); -lean_ctor_set(x_45, 1, x_44); -return x_45; -} -} -} -else -{ -lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; uint8_t x_50; uint8_t x_51; uint8_t x_52; lean_object* x_53; -x_46 = lean_ctor_get(x_2, 1); -x_47 = lean_ctor_get(x_13, 0); -x_48 = lean_ctor_get(x_13, 1); -x_49 = lean_ctor_get(x_13, 2); -lean_inc(x_49); -lean_inc(x_48); -lean_inc(x_47); -lean_dec(x_13); -x_50 = 0; -x_51 = 1; -x_52 = 1; -lean_inc(x_1); -x_53 = l_Lean_Meta_mkForallFVars(x_1, x_48, x_50, x_51, x_52, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_53) == 0) -{ -lean_object* x_54; lean_object* x_55; lean_object* x_56; -x_54 = lean_ctor_get(x_53, 0); -lean_inc(x_54); -x_55 = lean_ctor_get(x_53, 1); -lean_inc(x_55); -lean_dec(x_53); +x_26 = lean_box(0); +lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); lean_inc(x_1); -x_56 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___spec__1(x_1, x_49, x_3, x_4, x_5, x_6, x_7, x_8, x_55); -if (lean_obj_tag(x_56) == 0) +x_27 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___spec__1(x_1, x_19, x_26, x_4, x_5, x_6, x_7, x_8, x_9, x_25); +if (lean_obj_tag(x_27) == 0) { -lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_57 = lean_ctor_get(x_56, 0); -lean_inc(x_57); -x_58 = lean_ctor_get(x_56, 1); -lean_inc(x_58); -lean_dec(x_56); -x_59 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_59, 0, x_47); -lean_ctor_set(x_59, 1, x_54); -lean_ctor_set(x_59, 2, x_57); -x_60 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___spec__2(x_1, x_46, x_3, x_4, x_5, x_6, x_7, x_8, x_58); -if (lean_obj_tag(x_60) == 0) +lean_object* x_28; lean_object* x_29; +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +lean_ctor_set(x_14, 2, x_28); +lean_ctor_set(x_14, 1, x_24); +lean_ctor_set(x_2, 1, x_3); { -lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; -x_61 = lean_ctor_get(x_60, 0); -lean_inc(x_61); -x_62 = lean_ctor_get(x_60, 1); -lean_inc(x_62); -if (lean_is_exclusive(x_60)) { - lean_ctor_release(x_60, 0); - lean_ctor_release(x_60, 1); - x_63 = x_60; -} else { - lean_dec_ref(x_60); - x_63 = lean_box(0); +lean_object* _tmp_1 = x_16; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_9 = x_29; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_10 = _tmp_9; } -lean_ctor_set(x_2, 1, x_61); -lean_ctor_set(x_2, 0, x_59); -if (lean_is_scalar(x_63)) { - x_64 = lean_alloc_ctor(0, 2, 0); -} else { - x_64 = x_63; -} -lean_ctor_set(x_64, 0, x_2); -lean_ctor_set(x_64, 1, x_62); -return x_64; +goto _start; } else { -lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; -lean_dec(x_59); +uint8_t x_31; +lean_dec(x_24); +lean_free_object(x_14); +lean_dec(x_17); lean_free_object(x_2); -x_65 = lean_ctor_get(x_60, 0); -lean_inc(x_65); -x_66 = lean_ctor_get(x_60, 1); -lean_inc(x_66); -if (lean_is_exclusive(x_60)) { - lean_ctor_release(x_60, 0); - lean_ctor_release(x_60, 1); - x_67 = x_60; -} else { - lean_dec_ref(x_60); - x_67 = lean_box(0); -} -if (lean_is_scalar(x_67)) { - x_68 = lean_alloc_ctor(1, 2, 0); -} else { - x_68 = x_67; -} -lean_ctor_set(x_68, 0, x_65); -lean_ctor_set(x_68, 1, x_66); -return x_68; -} -} -else -{ -lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; -lean_dec(x_54); -lean_dec(x_47); -lean_free_object(x_2); -lean_dec(x_46); +lean_dec(x_16); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -18095,186 +17499,271 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_69 = lean_ctor_get(x_56, 0); -lean_inc(x_69); -x_70 = lean_ctor_get(x_56, 1); -lean_inc(x_70); -if (lean_is_exclusive(x_56)) { - lean_ctor_release(x_56, 0); - lean_ctor_release(x_56, 1); - x_71 = x_56; -} else { - lean_dec_ref(x_56); - x_71 = lean_box(0); +x_31 = !lean_is_exclusive(x_27); +if (x_31 == 0) +{ +return x_27; } -if (lean_is_scalar(x_71)) { - x_72 = lean_alloc_ctor(1, 2, 0); -} else { - x_72 = x_71; +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_27, 0); +x_33 = lean_ctor_get(x_27, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_27); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; } -lean_ctor_set(x_72, 0, x_69); -lean_ctor_set(x_72, 1, x_70); -return x_72; } } else { +uint8_t x_35; +lean_free_object(x_14); +lean_dec(x_19); +lean_dec(x_17); +lean_free_object(x_2); +lean_dec(x_16); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_35 = !lean_is_exclusive(x_23); +if (x_35 == 0) +{ +return x_23; +} +else +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_36 = lean_ctor_get(x_23, 0); +x_37 = lean_ctor_get(x_23, 1); +lean_inc(x_37); +lean_inc(x_36); +lean_dec(x_23); +x_38 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_38, 0, x_36); +lean_ctor_set(x_38, 1, x_37); +return x_38; +} +} +} +else +{ +lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43; uint8_t x_44; uint8_t x_45; lean_object* x_46; +x_39 = lean_ctor_get(x_2, 1); +x_40 = lean_ctor_get(x_14, 0); +x_41 = lean_ctor_get(x_14, 1); +x_42 = lean_ctor_get(x_14, 2); +lean_inc(x_42); +lean_inc(x_41); +lean_inc(x_40); +lean_dec(x_14); +x_43 = 0; +x_44 = 1; +x_45 = 1; +lean_inc(x_1); +x_46 = l_Lean_Meta_mkForallFVars(x_1, x_41, x_43, x_44, x_45, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_46) == 0) +{ +lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; +x_47 = lean_ctor_get(x_46, 0); +lean_inc(x_47); +x_48 = lean_ctor_get(x_46, 1); +lean_inc(x_48); +lean_dec(x_46); +x_49 = lean_box(0); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_1); +x_50 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___spec__1(x_1, x_42, x_49, x_4, x_5, x_6, x_7, x_8, x_9, x_48); +if (lean_obj_tag(x_50) == 0) +{ +lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_51 = lean_ctor_get(x_50, 0); +lean_inc(x_51); +x_52 = lean_ctor_get(x_50, 1); +lean_inc(x_52); +lean_dec(x_50); +x_53 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_53, 0, x_40); +lean_ctor_set(x_53, 1, x_47); +lean_ctor_set(x_53, 2, x_51); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_53); +{ +lean_object* _tmp_1 = x_39; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_9 = x_52; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_10 = _tmp_9; +} +goto _start; +} +else +{ +lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; +lean_dec(x_47); +lean_dec(x_40); +lean_free_object(x_2); +lean_dec(x_39); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_55 = lean_ctor_get(x_50, 0); +lean_inc(x_55); +x_56 = lean_ctor_get(x_50, 1); +lean_inc(x_56); +if (lean_is_exclusive(x_50)) { + lean_ctor_release(x_50, 0); + lean_ctor_release(x_50, 1); + x_57 = x_50; +} else { + lean_dec_ref(x_50); + x_57 = lean_box(0); +} +if (lean_is_scalar(x_57)) { + x_58 = lean_alloc_ctor(1, 2, 0); +} else { + x_58 = x_57; +} +lean_ctor_set(x_58, 0, x_55); +lean_ctor_set(x_58, 1, x_56); +return x_58; +} +} +else +{ +lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; +lean_dec(x_42); +lean_dec(x_40); +lean_free_object(x_2); +lean_dec(x_39); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_59 = lean_ctor_get(x_46, 0); +lean_inc(x_59); +x_60 = lean_ctor_get(x_46, 1); +lean_inc(x_60); +if (lean_is_exclusive(x_46)) { + lean_ctor_release(x_46, 0); + lean_ctor_release(x_46, 1); + x_61 = x_46; +} else { + lean_dec_ref(x_46); + x_61 = lean_box(0); +} +if (lean_is_scalar(x_61)) { + x_62 = lean_alloc_ctor(1, 2, 0); +} else { + x_62 = x_61; +} +lean_ctor_set(x_62, 0, x_59); +lean_ctor_set(x_62, 1, x_60); +return x_62; +} +} +} +else +{ +lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; uint8_t x_69; uint8_t x_70; uint8_t x_71; lean_object* x_72; +x_63 = lean_ctor_get(x_2, 0); +x_64 = lean_ctor_get(x_2, 1); +lean_inc(x_64); +lean_inc(x_63); +lean_dec(x_2); +x_65 = lean_ctor_get(x_63, 0); +lean_inc(x_65); +x_66 = lean_ctor_get(x_63, 1); +lean_inc(x_66); +x_67 = lean_ctor_get(x_63, 2); +lean_inc(x_67); +if (lean_is_exclusive(x_63)) { + lean_ctor_release(x_63, 0); + lean_ctor_release(x_63, 1); + lean_ctor_release(x_63, 2); + x_68 = x_63; +} else { + lean_dec_ref(x_63); + x_68 = lean_box(0); +} +x_69 = 0; +x_70 = 1; +x_71 = 1; +lean_inc(x_1); +x_72 = l_Lean_Meta_mkForallFVars(x_1, x_66, x_69, x_70, x_71, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_72) == 0) +{ lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; -lean_dec(x_49); -lean_dec(x_47); -lean_free_object(x_2); -lean_dec(x_46); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_73 = lean_ctor_get(x_53, 0); +x_73 = lean_ctor_get(x_72, 0); lean_inc(x_73); -x_74 = lean_ctor_get(x_53, 1); +x_74 = lean_ctor_get(x_72, 1); lean_inc(x_74); -if (lean_is_exclusive(x_53)) { - lean_ctor_release(x_53, 0); - lean_ctor_release(x_53, 1); - x_75 = x_53; -} else { - lean_dec_ref(x_53); - x_75 = lean_box(0); -} -if (lean_is_scalar(x_75)) { - x_76 = lean_alloc_ctor(1, 2, 0); -} else { - x_76 = x_75; -} -lean_ctor_set(x_76, 0, x_73); -lean_ctor_set(x_76, 1, x_74); -return x_76; -} -} -} -else -{ -lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; uint8_t x_83; uint8_t x_84; uint8_t x_85; lean_object* x_86; -x_77 = lean_ctor_get(x_2, 0); -x_78 = lean_ctor_get(x_2, 1); -lean_inc(x_78); -lean_inc(x_77); -lean_dec(x_2); -x_79 = lean_ctor_get(x_77, 0); -lean_inc(x_79); -x_80 = lean_ctor_get(x_77, 1); -lean_inc(x_80); -x_81 = lean_ctor_get(x_77, 2); -lean_inc(x_81); -if (lean_is_exclusive(x_77)) { - lean_ctor_release(x_77, 0); - lean_ctor_release(x_77, 1); - lean_ctor_release(x_77, 2); - x_82 = x_77; -} else { - lean_dec_ref(x_77); - x_82 = lean_box(0); -} -x_83 = 0; -x_84 = 1; -x_85 = 1; -lean_inc(x_1); -x_86 = l_Lean_Meta_mkForallFVars(x_1, x_80, x_83, x_84, x_85, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_86) == 0) -{ -lean_object* x_87; lean_object* x_88; lean_object* x_89; -x_87 = lean_ctor_get(x_86, 0); -lean_inc(x_87); -x_88 = lean_ctor_get(x_86, 1); -lean_inc(x_88); -lean_dec(x_86); +lean_dec(x_72); +x_75 = lean_box(0); +lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); lean_inc(x_1); -x_89 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___spec__1(x_1, x_81, x_3, x_4, x_5, x_6, x_7, x_8, x_88); -if (lean_obj_tag(x_89) == 0) +x_76 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___spec__1(x_1, x_67, x_75, x_4, x_5, x_6, x_7, x_8, x_9, x_74); +if (lean_obj_tag(x_76) == 0) { -lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; -x_90 = lean_ctor_get(x_89, 0); -lean_inc(x_90); -x_91 = lean_ctor_get(x_89, 1); -lean_inc(x_91); -lean_dec(x_89); -if (lean_is_scalar(x_82)) { - x_92 = lean_alloc_ctor(0, 3, 0); +lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; +x_77 = lean_ctor_get(x_76, 0); +lean_inc(x_77); +x_78 = lean_ctor_get(x_76, 1); +lean_inc(x_78); +lean_dec(x_76); +if (lean_is_scalar(x_68)) { + x_79 = lean_alloc_ctor(0, 3, 0); } else { - x_92 = x_82; + x_79 = x_68; } -lean_ctor_set(x_92, 0, x_79); -lean_ctor_set(x_92, 1, x_87); -lean_ctor_set(x_92, 2, x_90); -x_93 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___spec__2(x_1, x_78, x_3, x_4, x_5, x_6, x_7, x_8, x_91); -if (lean_obj_tag(x_93) == 0) -{ -lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; -x_94 = lean_ctor_get(x_93, 0); -lean_inc(x_94); -x_95 = lean_ctor_get(x_93, 1); -lean_inc(x_95); -if (lean_is_exclusive(x_93)) { - lean_ctor_release(x_93, 0); - lean_ctor_release(x_93, 1); - x_96 = x_93; -} else { - lean_dec_ref(x_93); - x_96 = lean_box(0); -} -x_97 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_97, 0, x_92); -lean_ctor_set(x_97, 1, x_94); -if (lean_is_scalar(x_96)) { - x_98 = lean_alloc_ctor(0, 2, 0); -} else { - x_98 = x_96; -} -lean_ctor_set(x_98, 0, x_97); -lean_ctor_set(x_98, 1, x_95); -return x_98; +lean_ctor_set(x_79, 0, x_65); +lean_ctor_set(x_79, 1, x_73); +lean_ctor_set(x_79, 2, x_77); +x_80 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_80, 0, x_79); +lean_ctor_set(x_80, 1, x_3); +x_2 = x_64; +x_3 = x_80; +x_10 = x_78; +goto _start; } else { -lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; -lean_dec(x_92); -x_99 = lean_ctor_get(x_93, 0); -lean_inc(x_99); -x_100 = lean_ctor_get(x_93, 1); -lean_inc(x_100); -if (lean_is_exclusive(x_93)) { - lean_ctor_release(x_93, 0); - lean_ctor_release(x_93, 1); - x_101 = x_93; -} else { - lean_dec_ref(x_93); - x_101 = lean_box(0); -} -if (lean_is_scalar(x_101)) { - x_102 = lean_alloc_ctor(1, 2, 0); -} else { - x_102 = x_101; -} -lean_ctor_set(x_102, 0, x_99); -lean_ctor_set(x_102, 1, x_100); -return x_102; -} -} -else -{ -lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; -lean_dec(x_87); -lean_dec(x_82); -lean_dec(x_79); -lean_dec(x_78); +lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; +lean_dec(x_73); +lean_dec(x_68); +lean_dec(x_65); +lean_dec(x_64); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -18282,35 +17771,36 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_103 = lean_ctor_get(x_89, 0); -lean_inc(x_103); -x_104 = lean_ctor_get(x_89, 1); -lean_inc(x_104); -if (lean_is_exclusive(x_89)) { - lean_ctor_release(x_89, 0); - lean_ctor_release(x_89, 1); - x_105 = x_89; +x_82 = lean_ctor_get(x_76, 0); +lean_inc(x_82); +x_83 = lean_ctor_get(x_76, 1); +lean_inc(x_83); +if (lean_is_exclusive(x_76)) { + lean_ctor_release(x_76, 0); + lean_ctor_release(x_76, 1); + x_84 = x_76; } else { - lean_dec_ref(x_89); - x_105 = lean_box(0); + lean_dec_ref(x_76); + x_84 = lean_box(0); } -if (lean_is_scalar(x_105)) { - x_106 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_84)) { + x_85 = lean_alloc_ctor(1, 2, 0); } else { - x_106 = x_105; + x_85 = x_84; } -lean_ctor_set(x_106, 0, x_103); -lean_ctor_set(x_106, 1, x_104); -return x_106; +lean_ctor_set(x_85, 0, x_82); +lean_ctor_set(x_85, 1, x_83); +return x_85; } } else { -lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; -lean_dec(x_82); -lean_dec(x_81); -lean_dec(x_79); -lean_dec(x_78); +lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; +lean_dec(x_68); +lean_dec(x_67); +lean_dec(x_65); +lean_dec(x_64); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -18318,26 +17808,26 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_107 = lean_ctor_get(x_86, 0); -lean_inc(x_107); -x_108 = lean_ctor_get(x_86, 1); -lean_inc(x_108); -if (lean_is_exclusive(x_86)) { - lean_ctor_release(x_86, 0); - lean_ctor_release(x_86, 1); - x_109 = x_86; +x_86 = lean_ctor_get(x_72, 0); +lean_inc(x_86); +x_87 = lean_ctor_get(x_72, 1); +lean_inc(x_87); +if (lean_is_exclusive(x_72)) { + lean_ctor_release(x_72, 0); + lean_ctor_release(x_72, 1); + x_88 = x_72; } else { - lean_dec_ref(x_86); - x_109 = lean_box(0); + lean_dec_ref(x_72); + x_88 = lean_box(0); } -if (lean_is_scalar(x_109)) { - x_110 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_88)) { + x_89 = lean_alloc_ctor(1, 2, 0); } else { - x_110 = x_109; + x_89 = x_88; } -lean_ctor_set(x_110, 0, x_107); -lean_ctor_set(x_110, 1, x_108); -return x_110; +lean_ctor_set(x_89, 0, x_86); +lean_ctor_set(x_89, 1, x_87); +return x_89; } } } @@ -18346,9 +17836,10 @@ return x_110; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -return x_10; +lean_object* x_10; lean_object* x_11; +x_10 = lean_box(0); +x_11 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___spec__2(x_1, x_2, x_10, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +return x_11; } } LEAN_EXPORT lean_object* l_List_forIn_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_collectLevelParamsInInductive___spec__1(lean_object* x_1, lean_object* x_2) { @@ -18463,7 +17954,7 @@ if (x_17 == 0) { lean_object* x_22; lean_object* x_23; lean_object* x_24; x_22 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_18); -x_23 = l_Std_HashMap_insert___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkPatternRefMap_go___spec__2(x_9, x_22, x_21); +x_23 = l_Std_HashMap_insert___at_Lean_Meta_reduce_visit___spec__10(x_9, x_22, x_21); x_24 = lean_nat_add(x_6, x_8); lean_dec(x_6); x_5 = x_14; @@ -18475,7 +17966,7 @@ else { lean_object* x_26; lean_object* x_27; lean_object* x_28; x_26 = lean_array_fget(x_2, x_6); -x_27 = l_Std_HashMap_insert___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkPatternRefMap_go___spec__2(x_9, x_26, x_21); +x_27 = l_Std_HashMap_insert___at_Lean_Meta_reduce_visit___spec__10(x_9, x_26, x_21); x_28 = lean_nat_add(x_6, x_8); lean_dec(x_6); x_5 = x_14; @@ -18498,7 +17989,7 @@ if (x_17 == 0) lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; x_33 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_checkNumParams___closed__4; x_34 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_33); -x_35 = l_Std_HashMap_insert___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkPatternRefMap_go___spec__2(x_9, x_34, x_32); +x_35 = l_Std_HashMap_insert___at_Lean_Meta_reduce_visit___spec__10(x_9, x_34, x_32); x_36 = lean_nat_add(x_6, x_8); lean_dec(x_6); x_5 = x_14; @@ -18510,7 +18001,7 @@ else { lean_object* x_38; lean_object* x_39; lean_object* x_40; x_38 = lean_array_fget(x_2, x_6); -x_39 = l_Std_HashMap_insert___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkPatternRefMap_go___spec__2(x_9, x_38, x_32); +x_39 = l_Std_HashMap_insert___at_Lean_Meta_reduce_visit___spec__10(x_9, x_38, x_32); x_40 = lean_nat_add(x_6, x_8); lean_dec(x_6); x_5 = x_14; @@ -18585,7 +18076,7 @@ lean_dec(x_1); return x_4; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { uint8_t x_5; @@ -18603,7 +18094,7 @@ return x_6; else { lean_object* x_7; -x_7 = l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_applyRefMap___spec__1(x_1, x_4); +x_7 = l_Std_HashMapImp_find_x3f___at_Lean_Meta_reduce_visit___spec__1(x_1, x_4); if (lean_obj_tag(x_7) == 0) { lean_object* x_8; @@ -18643,12 +18134,12 @@ return x_18; } } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; lean_object* x_13; uint8_t x_14; uint8_t x_15; uint8_t x_16; lean_object* x_17; lean_inc(x_3); -x_12 = lean_alloc_closure((void*)(l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__1), 4, 3); +x_12 = lean_alloc_closure((void*)(l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__1), 4, 3); lean_closure_set(x_12, 0, x_1); lean_closure_set(x_12, 1, x_3); lean_closure_set(x_12, 2, x_2); @@ -18692,12 +18183,85 @@ return x_24; } } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { if (lean_obj_tag(x_4) == 0) { -lean_object* x_12; lean_object* x_13; +lean_object* x_13; lean_object* x_14; +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_13 = l_List_reverse___rarg(x_5); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_13); +lean_ctor_set(x_14, 1, x_12); +return x_14; +} +else +{ +uint8_t x_15; +x_15 = !lean_is_exclusive(x_4); +if (x_15 == 0) +{ +lean_object* x_16; uint8_t x_17; +x_16 = lean_ctor_get(x_4, 0); +x_17 = !lean_is_exclusive(x_16); +if (x_17 == 0) +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_18 = lean_ctor_get(x_4, 1); +x_19 = lean_ctor_get(x_16, 0); +x_20 = lean_ctor_get(x_16, 1); +lean_inc(x_2); +x_21 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_21, 0, x_2); +lean_inc(x_1); +lean_inc(x_3); +x_22 = lean_alloc_closure((void*)(l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__2___boxed), 11, 2); +lean_closure_set(x_22, 0, x_3); +lean_closure_set(x_22, 1, x_1); +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_23 = l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_addAutoBoundImplicits_x27___spec__2___rarg(x_20, x_21, x_22, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +if (lean_obj_tag(x_23) == 0) +{ +lean_object* x_24; lean_object* x_25; +x_24 = lean_ctor_get(x_23, 0); +lean_inc(x_24); +x_25 = lean_ctor_get(x_23, 1); +lean_inc(x_25); +lean_dec(x_23); +lean_ctor_set(x_16, 1, x_24); +lean_ctor_set(x_4, 1, x_5); +{ +lean_object* _tmp_3 = x_18; +lean_object* _tmp_4 = x_4; +lean_object* _tmp_11 = x_25; +x_4 = _tmp_3; +x_5 = _tmp_4; +x_12 = _tmp_11; +} +goto _start; +} +else +{ +uint8_t x_27; +lean_free_object(x_16); +lean_dec(x_19); +lean_free_object(x_4); +lean_dec(x_18); +lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -18707,111 +18271,80 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_12 = lean_box(0); -x_13 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_13, 0, x_12); -lean_ctor_set(x_13, 1, x_11); -return x_13; -} -else +x_27 = !lean_is_exclusive(x_23); +if (x_27 == 0) { -uint8_t x_14; -x_14 = !lean_is_exclusive(x_4); -if (x_14 == 0) -{ -lean_object* x_15; uint8_t x_16; -x_15 = lean_ctor_get(x_4, 0); -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_17 = lean_ctor_get(x_4, 1); -x_18 = lean_ctor_get(x_15, 0); -x_19 = lean_ctor_get(x_15, 1); -lean_inc(x_2); -x_20 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_20, 0, x_2); -lean_inc(x_1); -lean_inc(x_3); -x_21 = lean_alloc_closure((void*)(l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__2___boxed), 11, 2); -lean_closure_set(x_21, 0, x_3); -lean_closure_set(x_21, 1, x_1); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -x_22 = l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_addAutoBoundImplicits_x27___spec__2___rarg(x_19, x_20, x_21, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_22) == 0) -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -lean_ctor_set(x_15, 1, x_23); -x_25 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_17, x_5, x_6, x_7, x_8, x_9, x_10, x_24); -if (lean_obj_tag(x_25) == 0) -{ -uint8_t x_26; -x_26 = !lean_is_exclusive(x_25); -if (x_26 == 0) -{ -lean_object* x_27; -x_27 = lean_ctor_get(x_25, 0); -lean_ctor_set(x_4, 1, x_27); -lean_ctor_set(x_25, 0, x_4); -return x_25; +return x_23; } else { lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_25, 0); -x_29 = lean_ctor_get(x_25, 1); +x_28 = lean_ctor_get(x_23, 0); +x_29 = lean_ctor_get(x_23, 1); lean_inc(x_29); lean_inc(x_28); -lean_dec(x_25); -lean_ctor_set(x_4, 1, x_28); -x_30 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_30, 0, x_4); +lean_dec(x_23); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); lean_ctor_set(x_30, 1, x_29); return x_30; } } -else -{ -uint8_t x_31; -lean_dec(x_15); -lean_free_object(x_4); -x_31 = !lean_is_exclusive(x_25); -if (x_31 == 0) -{ -return x_25; } else { -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_25, 0); -x_33 = lean_ctor_get(x_25, 1); +lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_31 = lean_ctor_get(x_4, 1); +x_32 = lean_ctor_get(x_16, 0); +x_33 = lean_ctor_get(x_16, 1); lean_inc(x_33); lean_inc(x_32); -lean_dec(x_25); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return x_34; -} +lean_dec(x_16); +lean_inc(x_2); +x_34 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_34, 0, x_2); +lean_inc(x_1); +lean_inc(x_3); +x_35 = lean_alloc_closure((void*)(l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__2___boxed), 11, 2); +lean_closure_set(x_35, 0, x_3); +lean_closure_set(x_35, 1, x_1); +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_36 = l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_addAutoBoundImplicits_x27___spec__2___rarg(x_33, x_34, x_35, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +if (lean_obj_tag(x_36) == 0) +{ +lean_object* x_37; lean_object* x_38; lean_object* x_39; +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 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_39, 0, x_32); +lean_ctor_set(x_39, 1, x_37); +lean_ctor_set(x_4, 1, x_5); +lean_ctor_set(x_4, 0, x_39); +{ +lean_object* _tmp_3 = x_31; +lean_object* _tmp_4 = x_4; +lean_object* _tmp_11 = x_38; +x_4 = _tmp_3; +x_5 = _tmp_4; +x_12 = _tmp_11; } +goto _start; } else { -uint8_t x_35; -lean_free_object(x_15); -lean_dec(x_18); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +lean_dec(x_32); lean_free_object(x_4); -lean_dec(x_17); +lean_dec(x_31); +lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -18821,121 +18354,94 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_35 = !lean_is_exclusive(x_22); -if (x_35 == 0) -{ -return x_22; -} -else -{ -lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_36 = lean_ctor_get(x_22, 0); -x_37 = lean_ctor_get(x_22, 1); -lean_inc(x_37); -lean_inc(x_36); -lean_dec(x_22); -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_36); -lean_ctor_set(x_38, 1, x_37); -return x_38; -} -} -} -else -{ -lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; -x_39 = lean_ctor_get(x_4, 1); -x_40 = lean_ctor_get(x_15, 0); -x_41 = lean_ctor_get(x_15, 1); +x_41 = lean_ctor_get(x_36, 0); lean_inc(x_41); -lean_inc(x_40); -lean_dec(x_15); +x_42 = lean_ctor_get(x_36, 1); +lean_inc(x_42); +if (lean_is_exclusive(x_36)) { + lean_ctor_release(x_36, 0); + lean_ctor_release(x_36, 1); + x_43 = x_36; +} else { + lean_dec_ref(x_36); + x_43 = lean_box(0); +} +if (lean_is_scalar(x_43)) { + x_44 = lean_alloc_ctor(1, 2, 0); +} else { + x_44 = x_43; +} +lean_ctor_set(x_44, 0, x_41); +lean_ctor_set(x_44, 1, x_42); +return x_44; +} +} +} +else +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; +x_45 = lean_ctor_get(x_4, 0); +x_46 = lean_ctor_get(x_4, 1); +lean_inc(x_46); +lean_inc(x_45); +lean_dec(x_4); +x_47 = lean_ctor_get(x_45, 0); +lean_inc(x_47); +x_48 = lean_ctor_get(x_45, 1); +lean_inc(x_48); +if (lean_is_exclusive(x_45)) { + lean_ctor_release(x_45, 0); + lean_ctor_release(x_45, 1); + x_49 = x_45; +} else { + lean_dec_ref(x_45); + x_49 = lean_box(0); +} lean_inc(x_2); -x_42 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_42, 0, x_2); +x_50 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_50, 0, x_2); lean_inc(x_1); lean_inc(x_3); -x_43 = lean_alloc_closure((void*)(l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__2___boxed), 11, 2); -lean_closure_set(x_43, 0, x_3); -lean_closure_set(x_43, 1, x_1); +x_51 = lean_alloc_closure((void*)(l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__2___boxed), 11, 2); +lean_closure_set(x_51, 0, x_3); +lean_closure_set(x_51, 1, x_1); +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_44 = l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_addAutoBoundImplicits_x27___spec__2___rarg(x_41, x_42, x_43, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_44) == 0) -{ -lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_45 = lean_ctor_get(x_44, 0); -lean_inc(x_45); -x_46 = lean_ctor_get(x_44, 1); -lean_inc(x_46); -lean_dec(x_44); -x_47 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_47, 0, x_40); -lean_ctor_set(x_47, 1, x_45); -x_48 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_39, x_5, x_6, x_7, x_8, x_9, x_10, x_46); -if (lean_obj_tag(x_48) == 0) -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; -x_49 = lean_ctor_get(x_48, 0); -lean_inc(x_49); -x_50 = lean_ctor_get(x_48, 1); -lean_inc(x_50); -if (lean_is_exclusive(x_48)) { - lean_ctor_release(x_48, 0); - lean_ctor_release(x_48, 1); - x_51 = x_48; -} else { - lean_dec_ref(x_48); - x_51 = lean_box(0); -} -lean_ctor_set(x_4, 1, x_49); -lean_ctor_set(x_4, 0, x_47); -if (lean_is_scalar(x_51)) { - x_52 = lean_alloc_ctor(0, 2, 0); -} else { - x_52 = x_51; -} -lean_ctor_set(x_52, 0, x_4); -lean_ctor_set(x_52, 1, x_50); -return x_52; -} -else +x_52 = l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_addAutoBoundImplicits_x27___spec__2___rarg(x_48, x_50, x_51, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +if (lean_obj_tag(x_52) == 0) { lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; -lean_dec(x_47); -lean_free_object(x_4); -x_53 = lean_ctor_get(x_48, 0); +x_53 = lean_ctor_get(x_52, 0); lean_inc(x_53); -x_54 = lean_ctor_get(x_48, 1); +x_54 = lean_ctor_get(x_52, 1); lean_inc(x_54); -if (lean_is_exclusive(x_48)) { - lean_ctor_release(x_48, 0); - lean_ctor_release(x_48, 1); - x_55 = x_48; +lean_dec(x_52); +if (lean_is_scalar(x_49)) { + x_55 = lean_alloc_ctor(0, 2, 0); } else { - lean_dec_ref(x_48); - x_55 = lean_box(0); -} -if (lean_is_scalar(x_55)) { - x_56 = lean_alloc_ctor(1, 2, 0); -} else { - x_56 = x_55; -} -lean_ctor_set(x_56, 0, x_53); -lean_ctor_set(x_56, 1, x_54); -return x_56; + x_55 = x_49; } +lean_ctor_set(x_55, 0, x_47); +lean_ctor_set(x_55, 1, x_53); +x_56 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_56, 0, x_55); +lean_ctor_set(x_56, 1, x_5); +x_4 = x_46; +x_5 = x_56; +x_12 = x_54; +goto _start; } else { -lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; -lean_dec(x_40); -lean_free_object(x_4); -lean_dec(x_39); +lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; +lean_dec(x_49); +lean_dec(x_47); +lean_dec(x_46); +lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -18945,290 +18451,108 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_57 = lean_ctor_get(x_44, 0); -lean_inc(x_57); -x_58 = lean_ctor_get(x_44, 1); +x_58 = lean_ctor_get(x_52, 0); lean_inc(x_58); -if (lean_is_exclusive(x_44)) { - lean_ctor_release(x_44, 0); - lean_ctor_release(x_44, 1); - x_59 = x_44; +x_59 = lean_ctor_get(x_52, 1); +lean_inc(x_59); +if (lean_is_exclusive(x_52)) { + lean_ctor_release(x_52, 0); + lean_ctor_release(x_52, 1); + x_60 = x_52; } else { - lean_dec_ref(x_44); - x_59 = lean_box(0); + lean_dec_ref(x_52); + x_60 = lean_box(0); } -if (lean_is_scalar(x_59)) { - x_60 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_60)) { + x_61 = lean_alloc_ctor(1, 2, 0); } else { - x_60 = x_59; + x_61 = x_60; } -lean_ctor_set(x_60, 0, x_57); -lean_ctor_set(x_60, 1, x_58); -return x_60; -} -} -} -else -{ -lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; -x_61 = lean_ctor_get(x_4, 0); -x_62 = lean_ctor_get(x_4, 1); -lean_inc(x_62); -lean_inc(x_61); -lean_dec(x_4); -x_63 = lean_ctor_get(x_61, 0); -lean_inc(x_63); -x_64 = lean_ctor_get(x_61, 1); -lean_inc(x_64); -if (lean_is_exclusive(x_61)) { - lean_ctor_release(x_61, 0); - lean_ctor_release(x_61, 1); - x_65 = x_61; -} else { - lean_dec_ref(x_61); - x_65 = lean_box(0); -} -lean_inc(x_2); -x_66 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_66, 0, x_2); -lean_inc(x_1); -lean_inc(x_3); -x_67 = lean_alloc_closure((void*)(l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__2___boxed), 11, 2); -lean_closure_set(x_67, 0, x_3); -lean_closure_set(x_67, 1, x_1); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -x_68 = l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_addAutoBoundImplicits_x27___spec__2___rarg(x_64, x_66, x_67, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_68) == 0) -{ -lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; -x_69 = lean_ctor_get(x_68, 0); -lean_inc(x_69); -x_70 = lean_ctor_get(x_68, 1); -lean_inc(x_70); -lean_dec(x_68); -if (lean_is_scalar(x_65)) { - x_71 = lean_alloc_ctor(0, 2, 0); -} else { - x_71 = x_65; -} -lean_ctor_set(x_71, 0, x_63); -lean_ctor_set(x_71, 1, x_69); -x_72 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_62, x_5, x_6, x_7, x_8, x_9, x_10, x_70); -if (lean_obj_tag(x_72) == 0) -{ -lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_73 = lean_ctor_get(x_72, 0); -lean_inc(x_73); -x_74 = lean_ctor_get(x_72, 1); -lean_inc(x_74); -if (lean_is_exclusive(x_72)) { - lean_ctor_release(x_72, 0); - lean_ctor_release(x_72, 1); - x_75 = x_72; -} else { - lean_dec_ref(x_72); - x_75 = lean_box(0); -} -x_76 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_76, 0, x_71); -lean_ctor_set(x_76, 1, x_73); -if (lean_is_scalar(x_75)) { - x_77 = lean_alloc_ctor(0, 2, 0); -} else { - x_77 = x_75; -} -lean_ctor_set(x_77, 0, x_76); -lean_ctor_set(x_77, 1, x_74); -return x_77; -} -else -{ -lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; -lean_dec(x_71); -x_78 = lean_ctor_get(x_72, 0); -lean_inc(x_78); -x_79 = lean_ctor_get(x_72, 1); -lean_inc(x_79); -if (lean_is_exclusive(x_72)) { - lean_ctor_release(x_72, 0); - lean_ctor_release(x_72, 1); - x_80 = x_72; -} else { - lean_dec_ref(x_72); - x_80 = lean_box(0); -} -if (lean_is_scalar(x_80)) { - x_81 = lean_alloc_ctor(1, 2, 0); -} else { - x_81 = x_80; -} -lean_ctor_set(x_81, 0, x_78); -lean_ctor_set(x_81, 1, x_79); -return x_81; -} -} -else -{ -lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; -lean_dec(x_65); -lean_dec(x_63); -lean_dec(x_62); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_82 = lean_ctor_get(x_68, 0); -lean_inc(x_82); -x_83 = lean_ctor_get(x_68, 1); -lean_inc(x_83); -if (lean_is_exclusive(x_68)) { - lean_ctor_release(x_68, 0); - lean_ctor_release(x_68, 1); - x_84 = x_68; -} else { - lean_dec_ref(x_68); - x_84 = lean_box(0); -} -if (lean_is_scalar(x_84)) { - x_85 = lean_alloc_ctor(1, 2, 0); -} else { - x_85 = x_84; -} -lean_ctor_set(x_85, 0, x_82); -lean_ctor_set(x_85, 1, x_83); -return x_85; +lean_ctor_set(x_61, 0, x_58); +lean_ctor_set(x_61, 1, x_59); +return x_61; } } } } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { if (lean_obj_tag(x_4) == 0) { -lean_object* x_12; lean_object* x_13; +lean_object* x_13; lean_object* x_14; +lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_12 = lean_box(0); -x_13 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_13, 0, x_12); -lean_ctor_set(x_13, 1, x_11); -return x_13; +x_13 = l_List_reverse___rarg(x_5); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_13); +lean_ctor_set(x_14, 1, x_12); +return x_14; } else { -uint8_t x_14; -x_14 = !lean_is_exclusive(x_4); -if (x_14 == 0) +uint8_t x_15; +x_15 = !lean_is_exclusive(x_4); +if (x_15 == 0) { -lean_object* x_15; uint8_t x_16; -x_15 = lean_ctor_get(x_4, 0); -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) +lean_object* x_16; uint8_t x_17; +x_16 = lean_ctor_get(x_4, 0); +x_17 = !lean_is_exclusive(x_16); +if (x_17 == 0) { -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_17 = lean_ctor_get(x_4, 1); -x_18 = lean_ctor_get(x_15, 0); -x_19 = lean_ctor_get(x_15, 1); -x_20 = lean_ctor_get(x_15, 2); +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_18 = lean_ctor_get(x_4, 1); +x_19 = lean_ctor_get(x_16, 0); +x_20 = lean_ctor_get(x_16, 1); +x_21 = lean_ctor_get(x_16, 2); +x_22 = lean_box(0); +lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -lean_inc(x_5); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_21 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_20, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_21) == 0) +x_23 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_21, x_22, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +if (lean_obj_tag(x_23) == 0) { -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_21, 0); -lean_inc(x_22); -x_23 = lean_ctor_get(x_21, 1); -lean_inc(x_23); -lean_dec(x_21); -lean_ctor_set(x_15, 2, x_22); -x_24 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2(x_1, x_2, x_3, x_17, x_5, x_6, x_7, x_8, x_9, x_10, x_23); -if (lean_obj_tag(x_24) == 0) +lean_object* x_24; lean_object* x_25; +x_24 = lean_ctor_get(x_23, 0); +lean_inc(x_24); +x_25 = lean_ctor_get(x_23, 1); +lean_inc(x_25); +lean_dec(x_23); +lean_ctor_set(x_16, 2, x_24); +lean_ctor_set(x_4, 1, x_5); { -uint8_t x_25; -x_25 = !lean_is_exclusive(x_24); -if (x_25 == 0) -{ -lean_object* x_26; -x_26 = lean_ctor_get(x_24, 0); -lean_ctor_set(x_4, 1, x_26); -lean_ctor_set(x_24, 0, x_4); -return x_24; +lean_object* _tmp_3 = x_18; +lean_object* _tmp_4 = x_4; +lean_object* _tmp_11 = x_25; +x_4 = _tmp_3; +x_5 = _tmp_4; +x_12 = _tmp_11; +} +goto _start; } else { -lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_27 = lean_ctor_get(x_24, 0); -x_28 = lean_ctor_get(x_24, 1); -lean_inc(x_28); -lean_inc(x_27); -lean_dec(x_24); -lean_ctor_set(x_4, 1, x_27); -x_29 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_29, 0, x_4); -lean_ctor_set(x_29, 1, x_28); -return x_29; -} -} -else -{ -uint8_t x_30; -lean_dec(x_15); -lean_free_object(x_4); -x_30 = !lean_is_exclusive(x_24); -if (x_30 == 0) -{ -return x_24; -} -else -{ -lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_31 = lean_ctor_get(x_24, 0); -x_32 = lean_ctor_get(x_24, 1); -lean_inc(x_32); -lean_inc(x_31); -lean_dec(x_24); -x_33 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_33, 0, x_31); -lean_ctor_set(x_33, 1, x_32); -return x_33; -} -} -} -else -{ -uint8_t x_34; -lean_free_object(x_15); +uint8_t x_27; +lean_free_object(x_16); +lean_dec(x_20); lean_dec(x_19); +lean_free_object(x_4); lean_dec(x_18); -lean_free_object(x_4); -lean_dec(x_17); +lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -19238,262 +18562,178 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_34 = !lean_is_exclusive(x_21); -if (x_34 == 0) +x_27 = !lean_is_exclusive(x_23); +if (x_27 == 0) { -return x_21; +return x_23; } else { -lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_35 = lean_ctor_get(x_21, 0); -x_36 = lean_ctor_get(x_21, 1); -lean_inc(x_36); -lean_inc(x_35); -lean_dec(x_21); -x_37 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_37, 0, x_35); -lean_ctor_set(x_37, 1, x_36); -return x_37; +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_23, 0); +x_29 = lean_ctor_get(x_23, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_23); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; } } } else { -lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_38 = lean_ctor_get(x_4, 1); -x_39 = lean_ctor_get(x_15, 0); -x_40 = lean_ctor_get(x_15, 1); -x_41 = lean_ctor_get(x_15, 2); +lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_31 = lean_ctor_get(x_4, 1); +x_32 = lean_ctor_get(x_16, 0); +x_33 = lean_ctor_get(x_16, 1); +x_34 = lean_ctor_get(x_16, 2); +lean_inc(x_34); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_16); +x_35 = lean_box(0); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_1); +x_36 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_34, x_35, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +if (lean_obj_tag(x_36) == 0) +{ +lean_object* x_37; lean_object* x_38; lean_object* x_39; +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 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_39, 0, x_32); +lean_ctor_set(x_39, 1, x_33); +lean_ctor_set(x_39, 2, x_37); +lean_ctor_set(x_4, 1, x_5); +lean_ctor_set(x_4, 0, x_39); +{ +lean_object* _tmp_3 = x_31; +lean_object* _tmp_4 = x_4; +lean_object* _tmp_11 = x_38; +x_4 = _tmp_3; +x_5 = _tmp_4; +x_12 = _tmp_11; +} +goto _start; +} +else +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +lean_dec(x_33); +lean_dec(x_32); +lean_free_object(x_4); +lean_dec(x_31); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_41 = lean_ctor_get(x_36, 0); lean_inc(x_41); -lean_inc(x_40); -lean_inc(x_39); -lean_dec(x_15); -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_3); -lean_inc(x_2); -lean_inc(x_1); -x_42 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_41, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_42) == 0) -{ -lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; -x_43 = lean_ctor_get(x_42, 0); -lean_inc(x_43); -x_44 = lean_ctor_get(x_42, 1); -lean_inc(x_44); -lean_dec(x_42); -x_45 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_45, 0, x_39); -lean_ctor_set(x_45, 1, x_40); -lean_ctor_set(x_45, 2, x_43); -x_46 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2(x_1, x_2, x_3, x_38, x_5, x_6, x_7, x_8, x_9, x_10, x_44); -if (lean_obj_tag(x_46) == 0) -{ -lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; -x_47 = lean_ctor_get(x_46, 0); -lean_inc(x_47); -x_48 = lean_ctor_get(x_46, 1); -lean_inc(x_48); -if (lean_is_exclusive(x_46)) { - lean_ctor_release(x_46, 0); - lean_ctor_release(x_46, 1); - x_49 = x_46; +x_42 = lean_ctor_get(x_36, 1); +lean_inc(x_42); +if (lean_is_exclusive(x_36)) { + lean_ctor_release(x_36, 0); + lean_ctor_release(x_36, 1); + x_43 = x_36; } else { - lean_dec_ref(x_46); - x_49 = lean_box(0); + lean_dec_ref(x_36); + x_43 = lean_box(0); } -lean_ctor_set(x_4, 1, x_47); -lean_ctor_set(x_4, 0, x_45); -if (lean_is_scalar(x_49)) { - x_50 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_43)) { + x_44 = lean_alloc_ctor(1, 2, 0); } else { - x_50 = x_49; + x_44 = x_43; } -lean_ctor_set(x_50, 0, x_4); -lean_ctor_set(x_50, 1, x_48); -return x_50; -} -else -{ -lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; -lean_dec(x_45); -lean_free_object(x_4); -x_51 = lean_ctor_get(x_46, 0); -lean_inc(x_51); -x_52 = lean_ctor_get(x_46, 1); -lean_inc(x_52); -if (lean_is_exclusive(x_46)) { - lean_ctor_release(x_46, 0); - lean_ctor_release(x_46, 1); - x_53 = x_46; -} else { - lean_dec_ref(x_46); - x_53 = lean_box(0); -} -if (lean_is_scalar(x_53)) { - x_54 = lean_alloc_ctor(1, 2, 0); -} else { - x_54 = x_53; -} -lean_ctor_set(x_54, 0, x_51); -lean_ctor_set(x_54, 1, x_52); -return x_54; -} -} -else -{ -lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; -lean_dec(x_40); -lean_dec(x_39); -lean_free_object(x_4); -lean_dec(x_38); -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_55 = lean_ctor_get(x_42, 0); -lean_inc(x_55); -x_56 = lean_ctor_get(x_42, 1); -lean_inc(x_56); -if (lean_is_exclusive(x_42)) { - lean_ctor_release(x_42, 0); - lean_ctor_release(x_42, 1); - x_57 = x_42; -} else { - lean_dec_ref(x_42); - x_57 = lean_box(0); -} -if (lean_is_scalar(x_57)) { - x_58 = lean_alloc_ctor(1, 2, 0); -} else { - x_58 = x_57; -} -lean_ctor_set(x_58, 0, x_55); -lean_ctor_set(x_58, 1, x_56); -return x_58; +lean_ctor_set(x_44, 0, x_41); +lean_ctor_set(x_44, 1, x_42); +return x_44; } } } else { -lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; -x_59 = lean_ctor_get(x_4, 0); -x_60 = lean_ctor_get(x_4, 1); -lean_inc(x_60); -lean_inc(x_59); +lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; +x_45 = lean_ctor_get(x_4, 0); +x_46 = lean_ctor_get(x_4, 1); +lean_inc(x_46); +lean_inc(x_45); lean_dec(x_4); -x_61 = lean_ctor_get(x_59, 0); -lean_inc(x_61); -x_62 = lean_ctor_get(x_59, 1); -lean_inc(x_62); -x_63 = lean_ctor_get(x_59, 2); -lean_inc(x_63); -if (lean_is_exclusive(x_59)) { - lean_ctor_release(x_59, 0); - lean_ctor_release(x_59, 1); - lean_ctor_release(x_59, 2); - x_64 = x_59; +x_47 = lean_ctor_get(x_45, 0); +lean_inc(x_47); +x_48 = lean_ctor_get(x_45, 1); +lean_inc(x_48); +x_49 = lean_ctor_get(x_45, 2); +lean_inc(x_49); +if (lean_is_exclusive(x_45)) { + lean_ctor_release(x_45, 0); + lean_ctor_release(x_45, 1); + lean_ctor_release(x_45, 2); + x_50 = x_45; } else { - lean_dec_ref(x_59); - x_64 = lean_box(0); + lean_dec_ref(x_45); + x_50 = lean_box(0); } +x_51 = lean_box(0); +lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -lean_inc(x_5); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_65 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_63, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_65) == 0) +x_52 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1(x_1, x_2, x_3, x_49, x_51, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +if (lean_obj_tag(x_52) == 0) { -lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; -x_66 = lean_ctor_get(x_65, 0); -lean_inc(x_66); -x_67 = lean_ctor_get(x_65, 1); -lean_inc(x_67); -lean_dec(x_65); -if (lean_is_scalar(x_64)) { - x_68 = lean_alloc_ctor(0, 3, 0); +lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; +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); +if (lean_is_scalar(x_50)) { + x_55 = lean_alloc_ctor(0, 3, 0); } else { - x_68 = x_64; + x_55 = x_50; } -lean_ctor_set(x_68, 0, x_61); -lean_ctor_set(x_68, 1, x_62); -lean_ctor_set(x_68, 2, x_66); -x_69 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2(x_1, x_2, x_3, x_60, x_5, x_6, x_7, x_8, x_9, x_10, x_67); -if (lean_obj_tag(x_69) == 0) -{ -lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; -x_70 = lean_ctor_get(x_69, 0); -lean_inc(x_70); -x_71 = lean_ctor_get(x_69, 1); -lean_inc(x_71); -if (lean_is_exclusive(x_69)) { - lean_ctor_release(x_69, 0); - lean_ctor_release(x_69, 1); - x_72 = x_69; -} else { - lean_dec_ref(x_69); - x_72 = lean_box(0); -} -x_73 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_73, 0, x_68); -lean_ctor_set(x_73, 1, x_70); -if (lean_is_scalar(x_72)) { - x_74 = lean_alloc_ctor(0, 2, 0); -} else { - x_74 = x_72; -} -lean_ctor_set(x_74, 0, x_73); -lean_ctor_set(x_74, 1, x_71); -return x_74; +lean_ctor_set(x_55, 0, x_47); +lean_ctor_set(x_55, 1, x_48); +lean_ctor_set(x_55, 2, x_53); +x_56 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_56, 0, x_55); +lean_ctor_set(x_56, 1, x_5); +x_4 = x_46; +x_5 = x_56; +x_12 = x_54; +goto _start; } else { -lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; -lean_dec(x_68); -x_75 = lean_ctor_get(x_69, 0); -lean_inc(x_75); -x_76 = lean_ctor_get(x_69, 1); -lean_inc(x_76); -if (lean_is_exclusive(x_69)) { - lean_ctor_release(x_69, 0); - lean_ctor_release(x_69, 1); - x_77 = x_69; -} else { - lean_dec_ref(x_69); - x_77 = lean_box(0); -} -if (lean_is_scalar(x_77)) { - x_78 = lean_alloc_ctor(1, 2, 0); -} else { - x_78 = x_77; -} -lean_ctor_set(x_78, 0, x_75); -lean_ctor_set(x_78, 1, x_76); -return x_78; -} -} -else -{ -lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; -lean_dec(x_64); -lean_dec(x_62); -lean_dec(x_61); -lean_dec(x_60); +lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; +lean_dec(x_50); +lean_dec(x_48); +lean_dec(x_47); +lean_dec(x_46); +lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -19503,26 +18743,26 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_79 = lean_ctor_get(x_65, 0); -lean_inc(x_79); -x_80 = lean_ctor_get(x_65, 1); -lean_inc(x_80); -if (lean_is_exclusive(x_65)) { - lean_ctor_release(x_65, 0); - lean_ctor_release(x_65, 1); - x_81 = x_65; +x_58 = lean_ctor_get(x_52, 0); +lean_inc(x_58); +x_59 = lean_ctor_get(x_52, 1); +lean_inc(x_59); +if (lean_is_exclusive(x_52)) { + lean_ctor_release(x_52, 0); + lean_ctor_release(x_52, 1); + x_60 = x_52; } else { - lean_dec_ref(x_65); - x_81 = lean_box(0); + lean_dec_ref(x_52); + x_60 = lean_box(0); } -if (lean_is_scalar(x_81)) { - x_82 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_60)) { + x_61 = lean_alloc_ctor(1, 2, 0); } else { - x_82 = x_81; + x_61 = x_60; } -lean_ctor_set(x_82, 0, x_79); -lean_ctor_set(x_82, 1, x_80); -return x_82; +lean_ctor_set(x_61, 0, x_58); +lean_ctor_set(x_61, 1, x_59); +return x_61; } } } @@ -19531,19 +18771,20 @@ return x_82; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { -lean_object* x_14; lean_object* x_15; +lean_object* x_14; lean_object* x_15; lean_object* x_16; x_14 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkIndFVar2Const(x_1, x_2, x_3); lean_dec(x_2); lean_dec(x_1); -x_15 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2(x_4, x_5, x_14, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -return x_15; +x_15 = lean_box(0); +x_16 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__2(x_4, x_5, x_14, x_6, x_15, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +return x_16; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; -x_12 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +x_12 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_replaceIndFVarsWithConsts___spec__1___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -25013,239 +24254,152 @@ return x_29; } } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { if (lean_obj_tag(x_2) == 0) { -lean_object* x_8; lean_object* x_9; +lean_object* x_9; lean_object* x_10; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +x_9 = l_List_reverse___rarg(x_3); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_9); +lean_ctor_set(x_10, 1, x_8); +return x_10; +} +else +{ +uint8_t x_11; +x_11 = !lean_is_exclusive(x_2); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_12 = lean_ctor_get(x_2, 0); +x_13 = lean_ctor_get(x_2, 1); +x_14 = l_Lean_Expr_bindingBody_x21(x_12); +lean_dec(x_12); +x_15 = lean_expr_instantiate1(x_14, x_1); +lean_dec(x_14); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_16 = l_Lean_Meta_whnfD(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; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_17); +{ +lean_object* _tmp_1 = x_13; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_7 = x_18; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_8 = _tmp_7; +} +goto _start; +} +else +{ +uint8_t x_20; +lean_free_object(x_2); +lean_dec(x_13); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_8 = lean_box(0); -x_9 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_9, 0, x_8); -lean_ctor_set(x_9, 1, x_7); -return x_9; -} -else +x_20 = !lean_is_exclusive(x_16); +if (x_20 == 0) { -uint8_t x_10; -x_10 = !lean_is_exclusive(x_2); -if (x_10 == 0) -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_11 = lean_ctor_get(x_2, 0); -x_12 = lean_ctor_get(x_2, 1); -x_13 = l_Lean_Expr_bindingBody_x21(x_11); -lean_dec(x_11); -x_14 = lean_expr_instantiate1(x_13, x_1); -lean_dec(x_13); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -x_15 = l_Lean_Meta_whnfD(x_14, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_15) == 0) -{ -lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_16 = lean_ctor_get(x_15, 0); -lean_inc(x_16); -x_17 = lean_ctor_get(x_15, 1); -lean_inc(x_17); -lean_dec(x_15); -x_18 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___spec__2(x_1, x_12, x_3, x_4, x_5, x_6, x_17); -if (lean_obj_tag(x_18) == 0) -{ -uint8_t x_19; -x_19 = !lean_is_exclusive(x_18); -if (x_19 == 0) -{ -lean_object* x_20; -x_20 = lean_ctor_get(x_18, 0); -lean_ctor_set(x_2, 1, x_20); -lean_ctor_set(x_2, 0, x_16); -lean_ctor_set(x_18, 0, x_2); -return x_18; +return x_16; } else { lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_21 = lean_ctor_get(x_18, 0); -x_22 = lean_ctor_get(x_18, 1); +x_21 = lean_ctor_get(x_16, 0); +x_22 = lean_ctor_get(x_16, 1); lean_inc(x_22); lean_inc(x_21); -lean_dec(x_18); -lean_ctor_set(x_2, 1, x_21); -lean_ctor_set(x_2, 0, x_16); -x_23 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_23, 0, x_2); +lean_dec(x_16); +x_23 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_23, 0, x_21); lean_ctor_set(x_23, 1, x_22); return x_23; } } -else -{ -uint8_t x_24; -lean_dec(x_16); -lean_free_object(x_2); -x_24 = !lean_is_exclusive(x_18); -if (x_24 == 0) -{ -return x_18; } else { -lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = lean_ctor_get(x_18, 0); -x_26 = lean_ctor_get(x_18, 1); -lean_inc(x_26); +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_24 = lean_ctor_get(x_2, 0); +x_25 = lean_ctor_get(x_2, 1); lean_inc(x_25); -lean_dec(x_18); -x_27 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_27, 0, x_25); -lean_ctor_set(x_27, 1, x_26); -return x_27; -} -} -} -else -{ -uint8_t x_28; -lean_free_object(x_2); -lean_dec(x_12); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_28 = !lean_is_exclusive(x_15); -if (x_28 == 0) -{ -return x_15; -} -else -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_15, 0); -x_30 = lean_ctor_get(x_15, 1); -lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_15); -x_31 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_31, 0, x_29); -lean_ctor_set(x_31, 1, x_30); -return x_31; -} -} -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_32 = lean_ctor_get(x_2, 0); -x_33 = lean_ctor_get(x_2, 1); -lean_inc(x_33); -lean_inc(x_32); +lean_inc(x_24); lean_dec(x_2); -x_34 = l_Lean_Expr_bindingBody_x21(x_32); -lean_dec(x_32); -x_35 = lean_expr_instantiate1(x_34, x_1); -lean_dec(x_34); +x_26 = l_Lean_Expr_bindingBody_x21(x_24); +lean_dec(x_24); +x_27 = lean_expr_instantiate1(x_26, x_1); +lean_dec(x_26); +lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); -x_36 = l_Lean_Meta_whnfD(x_35, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_36) == 0) +x_28 = l_Lean_Meta_whnfD(x_27, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_28) == 0) { -lean_object* x_37; lean_object* x_38; lean_object* x_39; -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_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___spec__2(x_1, x_33, x_3, x_4, x_5, x_6, x_38); -if (lean_obj_tag(x_39) == 0) -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; -x_40 = lean_ctor_get(x_39, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_39, 1); -lean_inc(x_41); -if (lean_is_exclusive(x_39)) { - lean_ctor_release(x_39, 0); - lean_ctor_release(x_39, 1); - x_42 = x_39; -} else { - lean_dec_ref(x_39); - x_42 = lean_box(0); -} -x_43 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_43, 0, x_37); -lean_ctor_set(x_43, 1, x_40); -if (lean_is_scalar(x_42)) { - x_44 = lean_alloc_ctor(0, 2, 0); -} else { - x_44 = x_42; -} -lean_ctor_set(x_44, 0, x_43); -lean_ctor_set(x_44, 1, x_41); -return x_44; +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_28, 0); +lean_inc(x_29); +x_30 = lean_ctor_get(x_28, 1); +lean_inc(x_30); +lean_dec(x_28); +x_31 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_31, 0, x_29); +lean_ctor_set(x_31, 1, x_3); +x_2 = x_25; +x_3 = x_31; +x_8 = x_30; +goto _start; } else { -lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; -lean_dec(x_37); -x_45 = lean_ctor_get(x_39, 0); -lean_inc(x_45); -x_46 = lean_ctor_get(x_39, 1); -lean_inc(x_46); -if (lean_is_exclusive(x_39)) { - lean_ctor_release(x_39, 0); - lean_ctor_release(x_39, 1); - x_47 = x_39; -} else { - lean_dec_ref(x_39); - x_47 = lean_box(0); -} -if (lean_is_scalar(x_47)) { - x_48 = lean_alloc_ctor(1, 2, 0); -} else { - x_48 = x_47; -} -lean_ctor_set(x_48, 0, x_45); -lean_ctor_set(x_48, 1, x_46); -return x_48; -} -} -else -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; -lean_dec(x_33); +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +lean_dec(x_25); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_49 = lean_ctor_get(x_36, 0); -lean_inc(x_49); -x_50 = lean_ctor_get(x_36, 1); -lean_inc(x_50); -if (lean_is_exclusive(x_36)) { - lean_ctor_release(x_36, 0); - lean_ctor_release(x_36, 1); - x_51 = x_36; +x_33 = lean_ctor_get(x_28, 0); +lean_inc(x_33); +x_34 = lean_ctor_get(x_28, 1); +lean_inc(x_34); +if (lean_is_exclusive(x_28)) { + lean_ctor_release(x_28, 0); + lean_ctor_release(x_28, 1); + x_35 = x_28; } else { - lean_dec_ref(x_36); - x_51 = lean_box(0); + lean_dec_ref(x_28); + x_35 = lean_box(0); } -if (lean_is_scalar(x_51)) { - x_52 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_35)) { + x_36 = lean_alloc_ctor(1, 2, 0); } else { - x_52 = x_51; + x_36 = x_35; } -lean_ctor_set(x_52, 0, x_49); -lean_ctor_set(x_52, 1, x_50); -return x_52; +lean_ctor_set(x_36, 0, x_33); +lean_ctor_set(x_36, 1, x_34); +return x_36; } } } @@ -25314,34 +24468,35 @@ return x_8; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -lean_object* x_12; +lean_object* x_12; lean_object* x_13; +x_12 = lean_box(0); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); -x_12 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___spec__2(x_6, x_1, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_12) == 0) +x_13 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___spec__2(x_6, x_1, x_12, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_13) == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_14 = lean_ctor_get(x_13, 0); lean_inc(x_14); -lean_dec(x_12); -x_15 = lean_unsigned_to_nat(1u); -x_16 = lean_nat_add(x_2, x_15); +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +x_16 = lean_unsigned_to_nat(1u); +x_17 = lean_nat_add(x_2, x_16); lean_dec(x_2); -x_17 = l_Lean_Expr_bindingBody_x21(x_3); +x_18 = l_Lean_Expr_bindingBody_x21(x_3); lean_dec(x_3); -x_18 = lean_expr_instantiate1(x_17, x_6); +x_19 = lean_expr_instantiate1(x_18, x_6); lean_dec(x_6); -lean_dec(x_17); -x_19 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go(x_4, x_5, x_16, x_18, x_13, x_7, x_8, x_9, x_10, x_14); -return x_19; +lean_dec(x_18); +x_20 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go(x_4, x_5, x_17, x_19, x_14, x_7, x_8, x_9, x_10, x_15); +return x_20; } else { -uint8_t x_20; +uint8_t x_21; lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -25351,23 +24506,23 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_20 = !lean_is_exclusive(x_12); -if (x_20 == 0) +x_21 = !lean_is_exclusive(x_13); +if (x_21 == 0) { -return x_12; +return x_13; } else { -lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_21 = lean_ctor_get(x_12, 0); -x_22 = lean_ctor_get(x_12, 1); +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_13, 0); +x_23 = lean_ctor_get(x_13, 1); +lean_inc(x_23); lean_inc(x_22); -lean_inc(x_21); -lean_dec(x_12); -x_23 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_23, 0, x_21); -lean_ctor_set(x_23, 1, x_22); -return x_23; +lean_dec(x_13); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +return x_24; } } } @@ -25755,13 +24910,13 @@ lean_dec(x_2); return x_8; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { -lean_object* x_8; -x_8 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_object* x_9; +x_9 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_1); -return x_8; +return x_9; } } LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { @@ -25999,418 +25154,96 @@ return x_33; } } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___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_2) == 0) { -lean_object* x_8; lean_object* x_9; +lean_object* x_9; lean_object* x_10; +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_3); -x_8 = lean_box(0); -x_9 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_9, 0, x_8); -lean_ctor_set(x_9, 1, x_7); -return x_9; +x_9 = l_List_reverse___rarg(x_3); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_9); +lean_ctor_set(x_10, 1, x_8); +return x_10; } else { -uint8_t x_10; -x_10 = !lean_is_exclusive(x_2); -if (x_10 == 0) +uint8_t x_11; +x_11 = !lean_is_exclusive(x_2); +if (x_11 == 0) { -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_11 = lean_ctor_get(x_2, 0); -x_12 = lean_ctor_get(x_2, 1); -x_13 = lean_ctor_get(x_11, 1); -lean_inc(x_13); -lean_dec(x_11); -x_14 = lean_unsigned_to_nat(0u); +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_12 = lean_ctor_get(x_2, 0); +x_13 = lean_ctor_get(x_2, 1); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +x_15 = lean_unsigned_to_nat(0u); +lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); -x_15 = l___private_Lean_Meta_Basic_0__Lean_Meta_instantiateForallAux(x_1, x_14, x_13, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_15) == 0) +x_16 = l___private_Lean_Meta_Basic_0__Lean_Meta_instantiateForallAux(x_1, x_15, x_14, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_16) == 0) { -lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_16 = lean_ctor_get(x_15, 0); -lean_inc(x_16); -x_17 = lean_ctor_get(x_15, 1); +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_ctor_get(x_16, 0); lean_inc(x_17); -lean_dec(x_15); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); -x_18 = l_Lean_Meta_whnfD(x_16, x_3, x_4, x_5, x_6, x_17); -if (lean_obj_tag(x_18) == 0) +x_19 = l_Lean_Meta_whnfD(x_17, x_4, x_5, x_6, x_7, x_18); +if (lean_obj_tag(x_19) == 0) { -lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); +lean_object* x_20; lean_object* x_21; +x_20 = lean_ctor_get(x_19, 0); lean_inc(x_20); -lean_dec(x_18); -x_21 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__3(x_1, x_12, x_3, x_4, x_5, x_6, x_20); -if (lean_obj_tag(x_21) == 0) -{ -uint8_t x_22; -x_22 = !lean_is_exclusive(x_21); -if (x_22 == 0) -{ -lean_object* x_23; -x_23 = lean_ctor_get(x_21, 0); -lean_ctor_set(x_2, 1, x_23); -lean_ctor_set(x_2, 0, x_19); -lean_ctor_set(x_21, 0, x_2); -return x_21; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_21, 0); -x_25 = lean_ctor_get(x_21, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_21); -lean_ctor_set(x_2, 1, x_24); -lean_ctor_set(x_2, 0, x_19); -x_26 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_26, 0, x_2); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -else -{ -uint8_t x_27; -lean_dec(x_19); -lean_free_object(x_2); -x_27 = !lean_is_exclusive(x_21); -if (x_27 == 0) -{ -return x_21; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_21, 0); -x_29 = lean_ctor_get(x_21, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_21); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -else -{ -uint8_t x_31; -lean_free_object(x_2); -lean_dec(x_12); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_31 = !lean_is_exclusive(x_18); -if (x_31 == 0) -{ -return x_18; -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_18, 0); -x_33 = lean_ctor_get(x_18, 1); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_18); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return x_34; -} -} -} -else -{ -uint8_t x_35; -lean_free_object(x_2); -lean_dec(x_12); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_35 = !lean_is_exclusive(x_15); -if (x_35 == 0) -{ -return x_15; -} -else -{ -lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_36 = lean_ctor_get(x_15, 0); -x_37 = lean_ctor_get(x_15, 1); -lean_inc(x_37); -lean_inc(x_36); -lean_dec(x_15); -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_36); -lean_ctor_set(x_38, 1, x_37); -return x_38; -} -} -} -else -{ -lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_39 = lean_ctor_get(x_2, 0); -x_40 = lean_ctor_get(x_2, 1); -lean_inc(x_40); -lean_inc(x_39); -lean_dec(x_2); -x_41 = lean_ctor_get(x_39, 1); -lean_inc(x_41); -lean_dec(x_39); -x_42 = lean_unsigned_to_nat(0u); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -x_43 = l___private_Lean_Meta_Basic_0__Lean_Meta_instantiateForallAux(x_1, x_42, x_41, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_43) == 0) -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; -x_44 = lean_ctor_get(x_43, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_43, 1); -lean_inc(x_45); -lean_dec(x_43); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -x_46 = l_Lean_Meta_whnfD(x_44, x_3, x_4, x_5, x_6, x_45); -if (lean_obj_tag(x_46) == 0) -{ -lean_object* x_47; lean_object* x_48; lean_object* x_49; -x_47 = lean_ctor_get(x_46, 0); -lean_inc(x_47); -x_48 = lean_ctor_get(x_46, 1); -lean_inc(x_48); -lean_dec(x_46); -x_49 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__3(x_1, x_40, x_3, x_4, x_5, x_6, x_48); -if (lean_obj_tag(x_49) == 0) -{ -lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; -x_50 = lean_ctor_get(x_49, 0); -lean_inc(x_50); -x_51 = lean_ctor_get(x_49, 1); -lean_inc(x_51); -if (lean_is_exclusive(x_49)) { - lean_ctor_release(x_49, 0); - lean_ctor_release(x_49, 1); - x_52 = x_49; -} else { - lean_dec_ref(x_49); - x_52 = lean_box(0); -} -x_53 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_53, 0, x_47); -lean_ctor_set(x_53, 1, x_50); -if (lean_is_scalar(x_52)) { - x_54 = lean_alloc_ctor(0, 2, 0); -} else { - x_54 = x_52; -} -lean_ctor_set(x_54, 0, x_53); -lean_ctor_set(x_54, 1, x_51); -return x_54; -} -else -{ -lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; -lean_dec(x_47); -x_55 = lean_ctor_get(x_49, 0); -lean_inc(x_55); -x_56 = lean_ctor_get(x_49, 1); -lean_inc(x_56); -if (lean_is_exclusive(x_49)) { - lean_ctor_release(x_49, 0); - lean_ctor_release(x_49, 1); - x_57 = x_49; -} else { - lean_dec_ref(x_49); - x_57 = lean_box(0); -} -if (lean_is_scalar(x_57)) { - x_58 = lean_alloc_ctor(1, 2, 0); -} else { - x_58 = x_57; -} -lean_ctor_set(x_58, 0, x_55); -lean_ctor_set(x_58, 1, x_56); -return x_58; -} -} -else -{ -lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; -lean_dec(x_40); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_59 = lean_ctor_get(x_46, 0); -lean_inc(x_59); -x_60 = lean_ctor_get(x_46, 1); -lean_inc(x_60); -if (lean_is_exclusive(x_46)) { - lean_ctor_release(x_46, 0); - lean_ctor_release(x_46, 1); - x_61 = x_46; -} else { - lean_dec_ref(x_46); - x_61 = lean_box(0); -} -if (lean_is_scalar(x_61)) { - x_62 = lean_alloc_ctor(1, 2, 0); -} else { - x_62 = x_61; -} -lean_ctor_set(x_62, 0, x_59); -lean_ctor_set(x_62, 1, x_60); -return x_62; -} -} -else -{ -lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; -lean_dec(x_40); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_63 = lean_ctor_get(x_43, 0); -lean_inc(x_63); -x_64 = lean_ctor_get(x_43, 1); -lean_inc(x_64); -if (lean_is_exclusive(x_43)) { - lean_ctor_release(x_43, 0); - lean_ctor_release(x_43, 1); - x_65 = x_43; -} else { - lean_dec_ref(x_43); - x_65 = lean_box(0); -} -if (lean_is_scalar(x_65)) { - x_66 = lean_alloc_ctor(1, 2, 0); -} else { - x_66 = x_65; -} -lean_ctor_set(x_66, 0, x_63); -lean_ctor_set(x_66, 1, x_64); -return x_66; -} -} -} -} -} -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -if (lean_obj_tag(x_2) == 0) -{ -lean_object* x_8; lean_object* x_9; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_8 = lean_box(0); -x_9 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_9, 0, x_8); -lean_ctor_set(x_9, 1, x_7); -return x_9; -} -else -{ -uint8_t x_10; -x_10 = !lean_is_exclusive(x_2); -if (x_10 == 0) -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_11 = lean_ctor_get(x_2, 0); -x_12 = lean_ctor_get(x_2, 1); -x_13 = lean_ctor_get(x_11, 2); -lean_inc(x_13); -lean_dec(x_11); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -x_14 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__3(x_1, x_13, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_14) == 0) -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_15 = lean_ctor_get(x_14, 0); -lean_inc(x_15); -x_16 = lean_ctor_get(x_14, 1); -lean_inc(x_16); -lean_dec(x_14); -x_17 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__4(x_1, x_12, x_3, x_4, x_5, x_6, x_16); -if (lean_obj_tag(x_17) == 0) -{ -uint8_t x_18; -x_18 = !lean_is_exclusive(x_17); -if (x_18 == 0) -{ -lean_object* x_19; -x_19 = lean_ctor_get(x_17, 0); -lean_ctor_set(x_2, 1, x_19); -lean_ctor_set(x_2, 0, x_15); -lean_ctor_set(x_17, 0, x_2); -return x_17; -} -else -{ -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_ctor_get(x_17, 0); -x_21 = lean_ctor_get(x_17, 1); +x_21 = lean_ctor_get(x_19, 1); lean_inc(x_21); -lean_inc(x_20); -lean_dec(x_17); -lean_ctor_set(x_2, 1, x_20); -lean_ctor_set(x_2, 0, x_15); -x_22 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_22, 0, x_2); -lean_ctor_set(x_22, 1, x_21); -return x_22; +lean_dec(x_19); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_20); +{ +lean_object* _tmp_1 = x_13; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_7 = x_21; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_8 = _tmp_7; } +goto _start; } else { uint8_t x_23; -lean_dec(x_15); lean_free_object(x_2); -x_23 = !lean_is_exclusive(x_17); +lean_dec(x_13); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_23 = !lean_is_exclusive(x_19); if (x_23 == 0) { -return x_17; +return x_19; } else { lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_17, 0); -x_25 = lean_ctor_get(x_17, 1); +x_24 = lean_ctor_get(x_19, 0); +x_25 = lean_ctor_get(x_19, 1); lean_inc(x_25); lean_inc(x_24); -lean_dec(x_17); +lean_dec(x_19); x_26 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_26, 0, x_24); lean_ctor_set(x_26, 1, x_25); @@ -26422,24 +25255,25 @@ else { uint8_t x_27; lean_free_object(x_2); -lean_dec(x_12); +lean_dec(x_13); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_27 = !lean_is_exclusive(x_14); +x_27 = !lean_is_exclusive(x_16); if (x_27 == 0) { -return x_14; +return x_16; } else { lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_14, 0); -x_29 = lean_ctor_get(x_14, 1); +x_28 = lean_ctor_get(x_16, 0); +x_29 = lean_ctor_get(x_16, 1); lean_inc(x_29); lean_inc(x_28); -lean_dec(x_14); +lean_dec(x_16); x_30 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_30, 0, x_28); lean_ctor_set(x_30, 1, x_29); @@ -26449,70 +25283,69 @@ return x_30; } else { -lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; +lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; x_31 = lean_ctor_get(x_2, 0); x_32 = lean_ctor_get(x_2, 1); lean_inc(x_32); lean_inc(x_31); lean_dec(x_2); -x_33 = lean_ctor_get(x_31, 2); +x_33 = lean_ctor_get(x_31, 1); lean_inc(x_33); lean_dec(x_31); +x_34 = lean_unsigned_to_nat(0u); +lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); -x_34 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__3(x_1, x_33, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_34) == 0) +x_35 = l___private_Lean_Meta_Basic_0__Lean_Meta_instantiateForallAux(x_1, x_34, x_33, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_35) == 0) { -lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -x_36 = lean_ctor_get(x_34, 1); +lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_36 = lean_ctor_get(x_35, 0); lean_inc(x_36); -lean_dec(x_34); -x_37 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__4(x_1, x_32, x_3, x_4, x_5, x_6, x_36); -if (lean_obj_tag(x_37) == 0) +x_37 = lean_ctor_get(x_35, 1); +lean_inc(x_37); +lean_dec(x_35); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_38 = l_Lean_Meta_whnfD(x_36, x_4, x_5, x_6, x_7, x_37); +if (lean_obj_tag(x_38) == 0) { -lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_38 = lean_ctor_get(x_37, 0); -lean_inc(x_38); -x_39 = lean_ctor_get(x_37, 1); +lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_39 = lean_ctor_get(x_38, 0); lean_inc(x_39); -if (lean_is_exclusive(x_37)) { - lean_ctor_release(x_37, 0); - lean_ctor_release(x_37, 1); - x_40 = x_37; -} else { - lean_dec_ref(x_37); - x_40 = lean_box(0); -} +x_40 = lean_ctor_get(x_38, 1); +lean_inc(x_40); +lean_dec(x_38); x_41 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_41, 0, x_35); -lean_ctor_set(x_41, 1, x_38); -if (lean_is_scalar(x_40)) { - x_42 = lean_alloc_ctor(0, 2, 0); -} else { - x_42 = x_40; -} -lean_ctor_set(x_42, 0, x_41); -lean_ctor_set(x_42, 1, x_39); -return x_42; +lean_ctor_set(x_41, 0, x_39); +lean_ctor_set(x_41, 1, x_3); +x_2 = x_32; +x_3 = x_41; +x_8 = x_40; +goto _start; } else { lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; -lean_dec(x_35); -x_43 = lean_ctor_get(x_37, 0); +lean_dec(x_32); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_43 = lean_ctor_get(x_38, 0); lean_inc(x_43); -x_44 = lean_ctor_get(x_37, 1); +x_44 = lean_ctor_get(x_38, 1); lean_inc(x_44); -if (lean_is_exclusive(x_37)) { - lean_ctor_release(x_37, 0); - lean_ctor_release(x_37, 1); - x_45 = x_37; +if (lean_is_exclusive(x_38)) { + lean_ctor_release(x_38, 0); + lean_ctor_release(x_38, 1); + x_45 = x_38; } else { - lean_dec_ref(x_37); + lean_dec_ref(x_38); x_45 = lean_box(0); } if (lean_is_scalar(x_45)) { @@ -26529,20 +25362,21 @@ else { lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_dec(x_32); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_47 = lean_ctor_get(x_34, 0); +x_47 = lean_ctor_get(x_35, 0); lean_inc(x_47); -x_48 = lean_ctor_get(x_34, 1); +x_48 = lean_ctor_get(x_35, 1); lean_inc(x_48); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_49 = x_34; +if (lean_is_exclusive(x_35)) { + lean_ctor_release(x_35, 0); + lean_ctor_release(x_35, 1); + x_49 = x_35; } else { - lean_dec_ref(x_34); + lean_dec_ref(x_35); x_49 = lean_box(0); } if (lean_is_scalar(x_49)) { @@ -26558,6 +25392,157 @@ return x_50; } } } +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_9; lean_object* x_10; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +x_9 = l_List_reverse___rarg(x_3); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_9); +lean_ctor_set(x_10, 1, x_8); +return x_10; +} +else +{ +uint8_t x_11; +x_11 = !lean_is_exclusive(x_2); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_12 = lean_ctor_get(x_2, 0); +x_13 = lean_ctor_get(x_2, 1); +x_14 = lean_ctor_get(x_12, 2); +lean_inc(x_14); +lean_dec(x_12); +x_15 = lean_box(0); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_16 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__3(x_1, x_14, 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; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_17); +{ +lean_object* _tmp_1 = x_13; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_7 = x_18; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_8 = _tmp_7; +} +goto _start; +} +else +{ +uint8_t x_20; +lean_free_object(x_2); +lean_dec(x_13); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_20 = !lean_is_exclusive(x_16); +if (x_20 == 0) +{ +return x_16; +} +else +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_16, 0); +x_22 = lean_ctor_get(x_16, 1); +lean_inc(x_22); +lean_inc(x_21); +lean_dec(x_16); +x_23 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_23, 0, x_21); +lean_ctor_set(x_23, 1, x_22); +return x_23; +} +} +} +else +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_24 = lean_ctor_get(x_2, 0); +x_25 = lean_ctor_get(x_2, 1); +lean_inc(x_25); +lean_inc(x_24); +lean_dec(x_2); +x_26 = lean_ctor_get(x_24, 2); +lean_inc(x_26); +lean_dec(x_24); +x_27 = lean_box(0); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_28 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__3(x_1, x_26, x_27, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_28) == 0) +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_28, 0); +lean_inc(x_29); +x_30 = lean_ctor_get(x_28, 1); +lean_inc(x_30); +lean_dec(x_28); +x_31 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_31, 0, x_29); +lean_ctor_set(x_31, 1, x_3); +x_2 = x_25; +x_3 = x_31; +x_8 = x_30; +goto _start; +} +else +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +lean_dec(x_25); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_33 = lean_ctor_get(x_28, 0); +lean_inc(x_33); +x_34 = lean_ctor_get(x_28, 1); +lean_inc(x_34); +if (lean_is_exclusive(x_28)) { + lean_ctor_release(x_28, 0); + lean_ctor_release(x_28, 1); + x_35 = x_28; +} else { + lean_dec_ref(x_28); + x_35 = lean_box(0); +} +if (lean_is_scalar(x_35)) { + x_36 = lean_alloc_ctor(1, 2, 0); +} else { + x_36 = x_35; +} +lean_ctor_set(x_36, 0, x_33); +lean_ctor_set(x_36, 1, x_34); +return x_36; +} +} +} +} +} LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__5(lean_object* x_1) { _start: { @@ -27042,35 +26027,36 @@ lean_inc(x_8); x_19 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__2(x_6, x_18, x_2, x_16, x_8, x_9, x_10, x_11, x_12); 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_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; x_20 = lean_ctor_get(x_19, 0); lean_inc(x_20); x_21 = lean_ctor_get(x_19, 1); lean_inc(x_21); lean_dec(x_19); x_22 = lean_array_to_list(lean_box(0), x_1); +x_23 = lean_box(0); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_23 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__4(x_6, x_22, x_8, x_9, x_10, x_11, x_21); -if (lean_obj_tag(x_23) == 0) +x_24 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__4(x_6, x_22, x_23, x_8, x_9, x_10, x_11, x_21); +if (lean_obj_tag(x_24) == 0) { -lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_24 = lean_ctor_get(x_23, 0); -lean_inc(x_24); -x_25 = lean_ctor_get(x_23, 1); +lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_25 = lean_ctor_get(x_24, 0); lean_inc(x_25); -lean_dec(x_23); -x_26 = lean_array_to_list(lean_box(0), x_20); -x_27 = l_List_join___rarg(x_24); -x_28 = l_List_appendTR___rarg(x_26, x_27); -x_29 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go(x_3, x_4, x_5, x_7, x_28, x_8, x_9, x_10, x_11, x_25); -return x_29; +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); +x_27 = lean_array_to_list(lean_box(0), x_20); +x_28 = l_List_join___rarg(x_25); +x_29 = l_List_appendTR___rarg(x_27, x_28); +x_30 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams_go(x_3, x_4, x_5, x_7, x_29, x_8, x_9, x_10, x_11, x_26); +return x_30; } else { -uint8_t x_30; +uint8_t x_31; lean_dec(x_20); lean_dec(x_11); lean_dec(x_10); @@ -27080,29 +26066,29 @@ lean_dec(x_7); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_30 = !lean_is_exclusive(x_23); -if (x_30 == 0) +x_31 = !lean_is_exclusive(x_24); +if (x_31 == 0) { -return x_23; +return x_24; } else { -lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_31 = lean_ctor_get(x_23, 0); -x_32 = lean_ctor_get(x_23, 1); +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_24, 0); +x_33 = lean_ctor_get(x_24, 1); +lean_inc(x_33); lean_inc(x_32); -lean_inc(x_31); -lean_dec(x_23); -x_33 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_33, 0, x_31); -lean_ctor_set(x_33, 1, x_32); -return x_33; +lean_dec(x_24); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; } } } else { -uint8_t x_34; +uint8_t x_35; lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -27112,23 +26098,23 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_34 = !lean_is_exclusive(x_19); -if (x_34 == 0) +x_35 = !lean_is_exclusive(x_19); +if (x_35 == 0) { return x_19; } else { -lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_35 = lean_ctor_get(x_19, 0); -x_36 = lean_ctor_get(x_19, 1); +lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_36 = lean_ctor_get(x_19, 0); +x_37 = lean_ctor_get(x_19, 1); +lean_inc(x_37); lean_inc(x_36); -lean_inc(x_35); lean_dec(x_19); -x_37 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_37, 0, x_35); -lean_ctor_set(x_37, 1, x_36); -return x_37; +x_38 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_38, 0, x_36); +lean_ctor_set(x_38, 1, x_37); +return x_38; } } } @@ -27489,22 +26475,22 @@ lean_dec(x_1); return x_12; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___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_8; -x_8 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_object* x_9; +x_9 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_1); -return x_8; +return x_9; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___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) { _start: { -lean_object* x_8; -x_8 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_object* x_9; +x_9 = l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_1); -return x_8; +return x_9; } } LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_fixedIndicesToParams___spec__12___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { @@ -28045,7 +27031,7 @@ lean_dec(x_18); x_21 = lean_ctor_get(x_16, 0); lean_inc(x_21); lean_dec(x_16); -x_22 = lean_unsigned_to_nat(2u); +x_22 = lean_unsigned_to_nat(3u); x_23 = l_Lean_Syntax_getArg(x_21, x_22); lean_dec(x_21); x_24 = lean_box(0); @@ -29708,7 +28694,7 @@ lean_inc(x_13); lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); -x_19 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams___spec__2(x_9, x_2, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +x_19 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateParams(x_9, x_2, x_10, x_11, x_12, x_13, x_14, x_15, x_16); if (lean_obj_tag(x_19) == 0) { if (lean_obj_tag(x_8) == 0) @@ -29736,7 +28722,13 @@ x_23 = lean_ctor_get(x_22, 1); lean_inc(x_23); lean_dec(x_22); x_24 = lean_box(0); -x_25 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__2(x_24, x_20, x_10, x_11, x_12, x_13, x_14, x_15, x_23); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_25 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam(x_20, x_24, x_10, x_11, x_12, x_13, x_14, x_15, x_23); x_26 = lean_ctor_get(x_25, 0); lean_inc(x_26); x_27 = lean_ctor_get(x_25, 1); @@ -29793,7 +28785,13 @@ x_35 = !lean_is_exclusive(x_8); if (x_35 == 0) { lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_36 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__2(x_8, x_33, x_10, x_11, x_12, x_13, x_14, x_15, x_34); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_36 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam(x_33, x_8, x_10, x_11, x_12, x_13, x_14, x_15, x_34); x_37 = lean_ctor_get(x_36, 0); lean_inc(x_37); x_38 = lean_ctor_get(x_36, 1); @@ -29862,7 +28860,13 @@ lean_inc(x_47); lean_dec(x_8); x_48 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_48, 0, x_47); -x_49 = l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam___spec__2(x_48, x_33, x_10, x_11, x_12, x_13, x_14, x_15, x_34); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +x_49 = l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_levelMVarToParam(x_33, x_48, x_10, x_11, x_12, x_13, x_14, x_15, x_34); x_50 = lean_ctor_get(x_49, 0); lean_inc(x_50); x_51 = lean_ctor_get(x_49, 1); @@ -35536,10 +34540,10 @@ l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType___cl lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType___closed__7); l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType___closed__8 = _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType___closed__8(); lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors_elabCtorType___closed__8); -l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__1 = _init_l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__1(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__1); -l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__2 = _init_l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__2(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__2); +l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__1 = _init_l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__1(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__1); +l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__2 = _init_l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__2(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_elabCtors___spec__2___lambda__4___closed__2); l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse___lambda__1___closed__1 = _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse___lambda__1___closed__1(); lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse___lambda__1___closed__1); l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse___lambda__1___closed__2 = _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse___lambda__1___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/InfoTree/Main.c b/stage0/stdlib/Lean/Elab/InfoTree/Main.c index f0cdf28ce4..3e0b15554b 100644 --- a/stage0/stdlib/Lean/Elab/InfoTree/Main.c +++ b/stage0/stdlib/Lean/Elab/InfoTree/Main.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.InfoTree.Main -// Imports: Init Lean.Data.Position Lean.Message Lean.Data.Json Lean.Meta.Basic Lean.Meta.PPGoal Lean.Elab.InfoTree.Types +// Imports: Init Lean.Meta.PPGoal #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -14,6 +14,7 @@ extern "C" { #endif LEAN_EXPORT lean_object* l_Lean_Elab_withInfoHole___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_reverse___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Info_format(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstWithInfos___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_withSaveInfoContext___rarg___lambda__1(lean_object*, lean_object*, lean_object*); @@ -276,6 +277,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_TermInfo_format___lambda__2(lean_object*, l static lean_object* l_Lean_Elab_TacticInfo_format___closed__5; lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); extern lean_object* l_Lean_Elab_instInhabitedInfoTree; +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_ContextInfo_ppGoals___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAtAux___at_Lean_Elab_InfoTree_substitute___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_withInfoTreeContext___rarg___lambda__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalNameWithInfos___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -310,9 +312,8 @@ LEAN_EXPORT lean_object* l_Std_PersistentArray_mapMAux___at_Lean_Elab_InfoTree_s static lean_object* l_Lean_Elab_ContextInfo_runMetaM___rarg___closed__12; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_InfoTree_findInfo_x3f___spec__4(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); static lean_object* l___private_Lean_Elab_InfoTree_Main_0__Lean_Elab_formatStxRange_fmtPos___closed__2; -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_InfoTree_format___spec__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_TermInfo_runMetaM___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_ContextInfo_ppGoals___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_ContextInfo_ppGoals___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_ContextInfo_ppSyntax(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_withSaveInfoContext___spec__3(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_InfoTree_Main_0__Lean_Elab_formatStxRange(lean_object*, lean_object*); @@ -362,7 +363,6 @@ static lean_object* l_Lean_Elab_ContextInfo_runMetaM___rarg___closed__15; extern lean_object* l_Lean_Expr_instBEqExpr; LEAN_EXPORT lean_object* l_Lean_Elab_withInfoTreeContext___rarg___lambda__2(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_instToFormatCustomInfo; -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_ContextInfo_ppGoals___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_ContextInfo_runMetaM___rarg___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalNameWithInfos___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -396,6 +396,7 @@ lean_object* l_Lean_resolveGlobalConstNoOverload___rarg(lean_object*, lean_objec LEAN_EXPORT lean_object* l_Lean_Elab_ContextInfo_runMetaM___rarg(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_PersistentArray_findSomeMAux___at_Lean_Elab_InfoTree_findInfo_x3f___spec__2___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_ContextInfo_saveNoFileMap___rarg___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_InfoTree_format___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Elab_resolveGlobalNameWithInfos___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_withInfoContext_x27___rarg___lambda__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_PersistentArray_mapMAux___at_Lean_Elab_withSaveInfoContext___spec__2___rarg___closed__1; @@ -3745,231 +3746,144 @@ lean_dec(x_3); return x_9; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_ContextInfo_ppGoals___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_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_ContextInfo_ppGoals___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_1) == 0) { -lean_object* x_7; lean_object* x_8; +lean_object* x_8; lean_object* x_9; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_8 = l_List_reverse___rarg(x_2); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_7); +return x_9; +} +else +{ +uint8_t x_10; +x_10 = !lean_is_exclusive(x_1); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_11 = lean_ctor_get(x_1, 0); +x_12 = lean_ctor_get(x_1, 1); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_13 = l_Lean_Meta_ppGoal(x_11, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_13) == 0) +{ +lean_object* x_14; lean_object* x_15; +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_14); +{ +lean_object* _tmp_0 = x_12; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_6 = x_15; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_7 = _tmp_6; +} +goto _start; +} +else +{ +uint8_t x_17; +lean_free_object(x_1); +lean_dec(x_12); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_7 = lean_box(0); -x_8 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_8, 0, x_7); -lean_ctor_set(x_8, 1, x_6); -return x_8; -} -else +x_17 = !lean_is_exclusive(x_13); +if (x_17 == 0) { -uint8_t x_9; -x_9 = !lean_is_exclusive(x_1); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_10 = lean_ctor_get(x_1, 0); -x_11 = lean_ctor_get(x_1, 1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_12 = l_Lean_Meta_ppGoal(x_10, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_12) == 0) -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); -lean_inc(x_14); -lean_dec(x_12); -x_15 = l_List_mapM___at_Lean_Elab_ContextInfo_ppGoals___spec__1(x_11, x_2, x_3, x_4, x_5, x_14); -if (lean_obj_tag(x_15) == 0) -{ -uint8_t x_16; -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) -{ -lean_object* x_17; -x_17 = lean_ctor_get(x_15, 0); -lean_ctor_set(x_1, 1, x_17); -lean_ctor_set(x_1, 0, x_13); -lean_ctor_set(x_15, 0, x_1); -return x_15; +return x_13; } else { lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_15, 0); -x_19 = lean_ctor_get(x_15, 1); +x_18 = lean_ctor_get(x_13, 0); +x_19 = lean_ctor_get(x_13, 1); lean_inc(x_19); lean_inc(x_18); -lean_dec(x_15); -lean_ctor_set(x_1, 1, x_18); -lean_ctor_set(x_1, 0, x_13); -x_20 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_20, 0, x_1); +lean_dec(x_13); +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 -{ -uint8_t x_21; -lean_dec(x_13); -lean_free_object(x_1); -x_21 = !lean_is_exclusive(x_15); -if (x_21 == 0) -{ -return x_15; } else { -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_15, 0); -x_23 = lean_ctor_get(x_15, 1); -lean_inc(x_23); +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_1, 0); +x_22 = lean_ctor_get(x_1, 1); lean_inc(x_22); -lean_dec(x_15); -x_24 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -return x_24; -} -} -} -else -{ -uint8_t x_25; -lean_free_object(x_1); -lean_dec(x_11); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_25 = !lean_is_exclusive(x_12); -if (x_25 == 0) -{ -return x_12; -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_12, 0); -x_27 = lean_ctor_get(x_12, 1); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_12); -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_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_1, 0); -x_30 = lean_ctor_get(x_1, 1); -lean_inc(x_30); -lean_inc(x_29); +lean_inc(x_21); lean_dec(x_1); +lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -lean_inc(x_2); -x_31 = l_Lean_Meta_ppGoal(x_29, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_31) == 0) +x_23 = l_Lean_Meta_ppGoal(x_21, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_23) == 0) { -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); -lean_inc(x_33); -lean_dec(x_31); -x_34 = l_List_mapM___at_Lean_Elab_ContextInfo_ppGoals___spec__1(x_30, x_2, x_3, x_4, x_5, x_33); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -x_36 = lean_ctor_get(x_34, 1); -lean_inc(x_36); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_37 = x_34; -} else { - lean_dec_ref(x_34); - x_37 = lean_box(0); -} -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_32); -lean_ctor_set(x_38, 1, x_35); -if (lean_is_scalar(x_37)) { - x_39 = lean_alloc_ctor(0, 2, 0); -} else { - x_39 = x_37; -} -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_36); -return x_39; +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_23, 0); +lean_inc(x_24); +x_25 = lean_ctor_get(x_23, 1); +lean_inc(x_25); +lean_dec(x_23); +x_26 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_26, 0, x_24); +lean_ctor_set(x_26, 1, x_2); +x_1 = x_22; +x_2 = x_26; +x_7 = x_25; +goto _start; } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -lean_dec(x_32); -x_40 = lean_ctor_get(x_34, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_34, 1); -lean_inc(x_41); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_42 = x_34; -} else { - lean_dec_ref(x_34); - x_42 = lean_box(0); -} -if (lean_is_scalar(x_42)) { - x_43 = lean_alloc_ctor(1, 2, 0); -} else { - x_43 = x_42; -} -lean_ctor_set(x_43, 0, x_40); -lean_ctor_set(x_43, 1, x_41); -return x_43; -} -} -else -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; -lean_dec(x_30); +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; +lean_dec(x_22); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_44 = lean_ctor_get(x_31, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_31, 1); -lean_inc(x_45); -if (lean_is_exclusive(x_31)) { - lean_ctor_release(x_31, 0); - lean_ctor_release(x_31, 1); - x_46 = x_31; +x_28 = lean_ctor_get(x_23, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_23, 1); +lean_inc(x_29); +if (lean_is_exclusive(x_23)) { + lean_ctor_release(x_23, 0); + lean_ctor_release(x_23, 1); + x_30 = x_23; } else { - lean_dec_ref(x_31); - x_46 = lean_box(0); + lean_dec_ref(x_23); + x_30 = lean_box(0); } -if (lean_is_scalar(x_46)) { - x_47 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_30)) { + x_31 = lean_alloc_ctor(1, 2, 0); } else { - x_47 = x_46; + x_31 = x_30; } -lean_ctor_set(x_47, 0, x_44); -lean_ctor_set(x_47, 1, x_45); -return x_47; +lean_ctor_set(x_31, 0, x_28); +lean_ctor_set(x_31, 1, x_29); +return x_31; } } } @@ -4021,62 +3935,62 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Elab_ContextInfo_ppGoals___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +LEAN_EXPORT lean_object* l_Lean_Elab_ContextInfo_ppGoals___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_7; -x_7 = l_List_mapM___at_Lean_Elab_ContextInfo_ppGoals___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; +x_8 = l_List_mapM_loop___at_Lean_Elab_ContextInfo_ppGoals___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_8) == 0) { -uint8_t x_8; -x_8 = !lean_is_exclusive(x_7); -if (x_8 == 0) +uint8_t x_9; +x_9 = !lean_is_exclusive(x_8); +if (x_9 == 0) { -lean_object* x_9; lean_object* x_10; lean_object* x_11; -x_9 = lean_ctor_get(x_7, 0); -x_10 = l_Lean_Elab_ContextInfo_ppGoals___lambda__1___closed__2; -x_11 = l_Std_Format_prefixJoin___at_Lean_Elab_ContextInfo_ppGoals___spec__2(x_10, x_9); -lean_dec(x_9); -lean_ctor_set(x_7, 0, x_11); -return x_7; +lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_10 = lean_ctor_get(x_8, 0); +x_11 = l_Lean_Elab_ContextInfo_ppGoals___lambda__1___closed__2; +x_12 = l_Std_Format_prefixJoin___at_Lean_Elab_ContextInfo_ppGoals___spec__2(x_11, x_10); +lean_dec(x_10); +lean_ctor_set(x_8, 0, x_12); +return x_8; } else { -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_12 = lean_ctor_get(x_7, 0); -x_13 = lean_ctor_get(x_7, 1); +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_13 = lean_ctor_get(x_8, 0); +x_14 = lean_ctor_get(x_8, 1); +lean_inc(x_14); lean_inc(x_13); -lean_inc(x_12); -lean_dec(x_7); -x_14 = l_Lean_Elab_ContextInfo_ppGoals___lambda__1___closed__2; -x_15 = l_Std_Format_prefixJoin___at_Lean_Elab_ContextInfo_ppGoals___spec__2(x_14, x_12); -lean_dec(x_12); -x_16 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_16, 0, x_15); -lean_ctor_set(x_16, 1, x_13); -return x_16; +lean_dec(x_8); +x_15 = l_Lean_Elab_ContextInfo_ppGoals___lambda__1___closed__2; +x_16 = l_Std_Format_prefixJoin___at_Lean_Elab_ContextInfo_ppGoals___spec__2(x_15, x_13); +lean_dec(x_13); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_14); +return x_17; } } else { -uint8_t x_17; -x_17 = !lean_is_exclusive(x_7); -if (x_17 == 0) +uint8_t x_18; +x_18 = !lean_is_exclusive(x_8); +if (x_18 == 0) { -return x_7; +return x_8; } else { -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_7, 0); -x_19 = lean_ctor_get(x_7, 1); +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_8, 0); +x_20 = lean_ctor_get(x_8, 1); +lean_inc(x_20); lean_inc(x_19); -lean_inc(x_18); -lean_dec(x_7); -x_20 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_20, 0, x_18); -lean_ctor_set(x_20, 1, x_19); -return x_20; +lean_dec(x_8); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_20); +return x_21; } } } @@ -4130,22 +4044,24 @@ uint8_t x_4; x_4 = l_List_isEmpty___rarg(x_2); if (x_4 == 0) { -lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_5 = lean_alloc_closure((void*)(l_Lean_Elab_ContextInfo_ppGoals___lambda__1), 6, 1); -lean_closure_set(x_5, 0, x_2); -x_6 = l_Lean_Elab_ContextInfo_ppGoals___closed__2; -x_7 = l_Lean_Elab_ContextInfo_runMetaM___rarg(x_1, x_6, x_5, x_3); -return x_7; +lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_5 = lean_box(0); +x_6 = lean_alloc_closure((void*)(l_Lean_Elab_ContextInfo_ppGoals___lambda__1), 7, 2); +lean_closure_set(x_6, 0, x_2); +lean_closure_set(x_6, 1, x_5); +x_7 = l_Lean_Elab_ContextInfo_ppGoals___closed__2; +x_8 = l_Lean_Elab_ContextInfo_runMetaM___rarg(x_1, x_7, x_6, x_3); +return x_8; } else { -lean_object* x_8; lean_object* x_9; +lean_object* x_9; lean_object* x_10; lean_dec(x_2); -x_8 = l_Lean_Elab_ContextInfo_ppGoals___closed__4; -x_9 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_9, 0, x_8); -lean_ctor_set(x_9, 1, x_3); -return x_9; +x_9 = l_Lean_Elab_ContextInfo_ppGoals___closed__4; +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_9); +lean_ctor_set(x_10, 1, x_3); +return x_10; } } } @@ -5075,216 +4991,129 @@ lean_dec(x_2); return x_3; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_InfoTree_format___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_InfoTree_format___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { if (lean_obj_tag(x_2) == 0) { -lean_object* x_4; lean_object* x_5; +lean_object* x_5; lean_object* x_6; lean_dec(x_1); -x_4 = lean_box(0); -x_5 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_5, 0, x_4); -lean_ctor_set(x_5, 1, x_3); -return x_5; +x_5 = l_List_reverse___rarg(x_3); +x_6 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_6, 0, x_5); +lean_ctor_set(x_6, 1, x_4); +return x_6; } else { -uint8_t x_6; -x_6 = !lean_is_exclusive(x_2); -if (x_6 == 0) +uint8_t x_7; +x_7 = !lean_is_exclusive(x_2); +if (x_7 == 0) { -lean_object* x_7; lean_object* x_8; lean_object* x_9; -x_7 = lean_ctor_get(x_2, 0); -x_8 = lean_ctor_get(x_2, 1); +lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_8 = lean_ctor_get(x_2, 0); +x_9 = lean_ctor_get(x_2, 1); lean_inc(x_1); -x_9 = l_Lean_Elab_InfoTree_format(x_7, x_1, x_3); -if (lean_obj_tag(x_9) == 0) +x_10 = l_Lean_Elab_InfoTree_format(x_8, x_1, x_4); +if (lean_obj_tag(x_10) == 0) { -lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_10 = lean_ctor_get(x_9, 0); -lean_inc(x_10); -x_11 = lean_ctor_get(x_9, 1); +lean_object* x_11; lean_object* x_12; +x_11 = lean_ctor_get(x_10, 0); lean_inc(x_11); +x_12 = lean_ctor_get(x_10, 1); +lean_inc(x_12); +lean_dec(x_10); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_11); +{ +lean_object* _tmp_1 = x_9; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_3 = x_12; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_4 = _tmp_3; +} +goto _start; +} +else +{ +uint8_t x_14; +lean_free_object(x_2); lean_dec(x_9); -x_12 = l_List_mapM___at_Lean_Elab_InfoTree_format___spec__1(x_1, x_8, x_11); -if (lean_obj_tag(x_12) == 0) +lean_dec(x_3); +lean_dec(x_1); +x_14 = !lean_is_exclusive(x_10); +if (x_14 == 0) { -uint8_t x_13; -x_13 = !lean_is_exclusive(x_12); -if (x_13 == 0) -{ -lean_object* x_14; -x_14 = lean_ctor_get(x_12, 0); -lean_ctor_set(x_2, 1, x_14); -lean_ctor_set(x_2, 0, x_10); -lean_ctor_set(x_12, 0, x_2); -return x_12; +return x_10; } else { lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_15 = lean_ctor_get(x_12, 0); -x_16 = lean_ctor_get(x_12, 1); +x_15 = lean_ctor_get(x_10, 0); +x_16 = lean_ctor_get(x_10, 1); lean_inc(x_16); lean_inc(x_15); -lean_dec(x_12); -lean_ctor_set(x_2, 1, x_15); -lean_ctor_set(x_2, 0, x_10); -x_17 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_17, 0, x_2); +lean_dec(x_10); +x_17 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_17, 0, x_15); lean_ctor_set(x_17, 1, x_16); return x_17; } } -else -{ -uint8_t x_18; -lean_dec(x_10); -lean_free_object(x_2); -x_18 = !lean_is_exclusive(x_12); -if (x_18 == 0) -{ -return x_12; } else { -lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_19 = lean_ctor_get(x_12, 0); -x_20 = lean_ctor_get(x_12, 1); -lean_inc(x_20); +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_2, 0); +x_19 = lean_ctor_get(x_2, 1); lean_inc(x_19); -lean_dec(x_12); -x_21 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_21, 0, x_19); -lean_ctor_set(x_21, 1, x_20); -return x_21; -} -} -} -else -{ -uint8_t x_22; -lean_free_object(x_2); -lean_dec(x_8); -lean_dec(x_1); -x_22 = !lean_is_exclusive(x_9); -if (x_22 == 0) -{ -return x_9; -} -else -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_9, 0); -x_24 = lean_ctor_get(x_9, 1); -lean_inc(x_24); -lean_inc(x_23); -lean_dec(x_9); -x_25 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_25, 0, x_23); -lean_ctor_set(x_25, 1, x_24); -return x_25; -} -} -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_2, 0); -x_27 = lean_ctor_get(x_2, 1); -lean_inc(x_27); -lean_inc(x_26); +lean_inc(x_18); lean_dec(x_2); lean_inc(x_1); -x_28 = l_Lean_Elab_InfoTree_format(x_26, x_1, x_3); -if (lean_obj_tag(x_28) == 0) +x_20 = l_Lean_Elab_InfoTree_format(x_18, x_1, x_4); +if (lean_obj_tag(x_20) == 0) { -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_28, 0); -lean_inc(x_29); -x_30 = lean_ctor_get(x_28, 1); -lean_inc(x_30); -lean_dec(x_28); -x_31 = l_List_mapM___at_Lean_Elab_InfoTree_format___spec__1(x_1, x_27, x_30); -if (lean_obj_tag(x_31) == 0) -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); -lean_inc(x_33); -if (lean_is_exclusive(x_31)) { - lean_ctor_release(x_31, 0); - lean_ctor_release(x_31, 1); - x_34 = x_31; -} else { - lean_dec_ref(x_31); - x_34 = lean_box(0); -} -x_35 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_35, 0, x_29); -lean_ctor_set(x_35, 1, x_32); -if (lean_is_scalar(x_34)) { - x_36 = lean_alloc_ctor(0, 2, 0); -} else { - x_36 = x_34; -} -lean_ctor_set(x_36, 0, x_35); -lean_ctor_set(x_36, 1, x_33); -return x_36; +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_23, 0, x_21); +lean_ctor_set(x_23, 1, x_3); +x_2 = x_19; +x_3 = x_23; +x_4 = x_22; +goto _start; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; -lean_dec(x_29); -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 (lean_is_scalar(x_39)) { - x_40 = lean_alloc_ctor(1, 2, 0); -} else { - x_40 = x_39; -} -lean_ctor_set(x_40, 0, x_37); -lean_ctor_set(x_40, 1, x_38); -return x_40; -} -} -else -{ -lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; -lean_dec(x_27); +lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +lean_dec(x_19); +lean_dec(x_3); lean_dec(x_1); -x_41 = lean_ctor_get(x_28, 0); -lean_inc(x_41); -x_42 = lean_ctor_get(x_28, 1); -lean_inc(x_42); -if (lean_is_exclusive(x_28)) { - lean_ctor_release(x_28, 0); - lean_ctor_release(x_28, 1); - x_43 = x_28; +x_25 = lean_ctor_get(x_20, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_20, 1); +lean_inc(x_26); +if (lean_is_exclusive(x_20)) { + lean_ctor_release(x_20, 0); + lean_ctor_release(x_20, 1); + x_27 = x_20; } else { - lean_dec_ref(x_28); - x_43 = lean_box(0); + lean_dec_ref(x_20); + x_27 = lean_box(0); } -if (lean_is_scalar(x_43)) { - x_44 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_27)) { + x_28 = lean_alloc_ctor(1, 2, 0); } else { - x_44 = x_43; + x_28 = x_27; } -lean_ctor_set(x_44, 0, x_41); -lean_ctor_set(x_44, 1, x_42); -return x_44; +lean_ctor_set(x_28, 0, x_25); +lean_ctor_set(x_28, 1, x_26); +return x_28; } } } @@ -5367,92 +5196,93 @@ x_19 = lean_nat_dec_eq(x_17, x_18); lean_dec(x_17); if (x_19 == 0) { -lean_object* x_20; lean_object* x_21; lean_object* x_22; +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_free_object(x_13); x_20 = l_Lean_Elab_Info_updateContext_x3f(x_2, x_10); lean_dec(x_10); x_21 = l_Std_PersistentArray_toList___rarg(x_11); -x_22 = l_List_mapM___at_Lean_Elab_InfoTree_format___spec__1(x_20, x_21, x_16); -if (lean_obj_tag(x_22) == 0) +x_22 = lean_box(0); +x_23 = l_List_mapM_loop___at_Lean_Elab_InfoTree_format___spec__1(x_20, x_21, x_22, x_16); +if (lean_obj_tag(x_23) == 0) { -uint8_t x_23; -x_23 = !lean_is_exclusive(x_22); -if (x_23 == 0) +uint8_t x_24; +x_24 = !lean_is_exclusive(x_23); +if (x_24 == 0) { -lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_24 = lean_ctor_get(x_22, 0); -x_25 = l___private_Lean_Elab_InfoTree_Main_0__Lean_Elab_formatStxRange_fmtPos___closed__7; -x_26 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_26, 0, x_25); -lean_ctor_set(x_26, 1, x_15); +lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_25 = lean_ctor_get(x_23, 0); +x_26 = l___private_Lean_Elab_InfoTree_Main_0__Lean_Elab_formatStxRange_fmtPos___closed__7; x_27 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_27, 0, x_26); -lean_ctor_set(x_27, 1, x_25); -x_28 = l_Lean_Elab_ContextInfo_ppGoals___lambda__1___closed__2; -x_29 = l_Std_Format_prefixJoin___at_Lean_Elab_ContextInfo_ppGoals___spec__2(x_28, x_24); -lean_dec(x_24); -x_30 = l_Std_Format_nestD(x_29); -x_31 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_31, 0, x_27); -lean_ctor_set(x_31, 1, x_30); +lean_ctor_set(x_27, 1, x_15); +x_28 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_26); +x_29 = l_Lean_Elab_ContextInfo_ppGoals___lambda__1___closed__2; +x_30 = l_Std_Format_prefixJoin___at_Lean_Elab_ContextInfo_ppGoals___spec__2(x_29, x_25); +lean_dec(x_25); +x_31 = l_Std_Format_nestD(x_30); x_32 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_32, 0, x_31); -lean_ctor_set(x_32, 1, x_25); -lean_ctor_set(x_22, 0, x_32); -return x_22; +lean_ctor_set(x_32, 0, x_28); +lean_ctor_set(x_32, 1, x_31); +x_33 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_33, 0, x_32); +lean_ctor_set(x_33, 1, x_26); +lean_ctor_set(x_23, 0, x_33); +return x_23; } else { -lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_33 = lean_ctor_get(x_22, 0); -x_34 = lean_ctor_get(x_22, 1); +lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_34 = lean_ctor_get(x_23, 0); +x_35 = lean_ctor_get(x_23, 1); +lean_inc(x_35); lean_inc(x_34); -lean_inc(x_33); -lean_dec(x_22); -x_35 = l___private_Lean_Elab_InfoTree_Main_0__Lean_Elab_formatStxRange_fmtPos___closed__7; -x_36 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_36, 0, x_35); -lean_ctor_set(x_36, 1, x_15); +lean_dec(x_23); +x_36 = l___private_Lean_Elab_InfoTree_Main_0__Lean_Elab_formatStxRange_fmtPos___closed__7; x_37 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_37, 0, x_36); -lean_ctor_set(x_37, 1, x_35); -x_38 = l_Lean_Elab_ContextInfo_ppGoals___lambda__1___closed__2; -x_39 = l_Std_Format_prefixJoin___at_Lean_Elab_ContextInfo_ppGoals___spec__2(x_38, x_33); -lean_dec(x_33); -x_40 = l_Std_Format_nestD(x_39); -x_41 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_41, 0, x_37); -lean_ctor_set(x_41, 1, x_40); +lean_ctor_set(x_37, 1, x_15); +x_38 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_38, 0, x_37); +lean_ctor_set(x_38, 1, x_36); +x_39 = l_Lean_Elab_ContextInfo_ppGoals___lambda__1___closed__2; +x_40 = l_Std_Format_prefixJoin___at_Lean_Elab_ContextInfo_ppGoals___spec__2(x_39, x_34); +lean_dec(x_34); +x_41 = l_Std_Format_nestD(x_40); x_42 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_42, 0, x_41); -lean_ctor_set(x_42, 1, x_35); -x_43 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_42, 0, x_38); +lean_ctor_set(x_42, 1, x_41); +x_43 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_43, 0, x_42); -lean_ctor_set(x_43, 1, x_34); -return x_43; +lean_ctor_set(x_43, 1, x_36); +x_44 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_44, 0, x_43); +lean_ctor_set(x_44, 1, x_35); +return x_44; } } else { -uint8_t x_44; +uint8_t x_45; lean_dec(x_15); -x_44 = !lean_is_exclusive(x_22); -if (x_44 == 0) +x_45 = !lean_is_exclusive(x_23); +if (x_45 == 0) { -return x_22; +return x_23; } else { -lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_45 = lean_ctor_get(x_22, 0); -x_46 = lean_ctor_get(x_22, 1); +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_23, 0); +x_47 = lean_ctor_get(x_23, 1); +lean_inc(x_47); lean_inc(x_46); -lean_inc(x_45); -lean_dec(x_22); -x_47 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_47, 0, x_45); -lean_ctor_set(x_47, 1, x_46); -return x_47; +lean_dec(x_23); +x_48 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_47); +return x_48; } } } @@ -5466,146 +5296,147 @@ return x_13; } else { -lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; -x_48 = lean_ctor_get(x_13, 0); -x_49 = lean_ctor_get(x_13, 1); -lean_inc(x_49); -lean_inc(x_48); -lean_dec(x_13); -x_50 = lean_ctor_get(x_11, 2); +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; uint8_t x_53; +x_49 = lean_ctor_get(x_13, 0); +x_50 = lean_ctor_get(x_13, 1); lean_inc(x_50); -x_51 = lean_unsigned_to_nat(0u); -x_52 = lean_nat_dec_eq(x_50, x_51); -lean_dec(x_50); -if (x_52 == 0) +lean_inc(x_49); +lean_dec(x_13); +x_51 = lean_ctor_get(x_11, 2); +lean_inc(x_51); +x_52 = lean_unsigned_to_nat(0u); +x_53 = lean_nat_dec_eq(x_51, x_52); +lean_dec(x_51); +if (x_53 == 0) { -lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_53 = l_Lean_Elab_Info_updateContext_x3f(x_2, x_10); +lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; +x_54 = l_Lean_Elab_Info_updateContext_x3f(x_2, x_10); lean_dec(x_10); -x_54 = l_Std_PersistentArray_toList___rarg(x_11); -x_55 = l_List_mapM___at_Lean_Elab_InfoTree_format___spec__1(x_53, x_54, x_49); -if (lean_obj_tag(x_55) == 0) +x_55 = l_Std_PersistentArray_toList___rarg(x_11); +x_56 = lean_box(0); +x_57 = l_List_mapM_loop___at_Lean_Elab_InfoTree_format___spec__1(x_54, x_55, x_56, x_50); +if (lean_obj_tag(x_57) == 0) { -lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; -x_56 = lean_ctor_get(x_55, 0); -lean_inc(x_56); -x_57 = lean_ctor_get(x_55, 1); -lean_inc(x_57); -if (lean_is_exclusive(x_55)) { - lean_ctor_release(x_55, 0); - lean_ctor_release(x_55, 1); - x_58 = x_55; +lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; +x_58 = lean_ctor_get(x_57, 0); +lean_inc(x_58); +x_59 = lean_ctor_get(x_57, 1); +lean_inc(x_59); +if (lean_is_exclusive(x_57)) { + lean_ctor_release(x_57, 0); + lean_ctor_release(x_57, 1); + x_60 = x_57; } else { - lean_dec_ref(x_55); - x_58 = lean_box(0); + lean_dec_ref(x_57); + x_60 = lean_box(0); } -x_59 = l___private_Lean_Elab_InfoTree_Main_0__Lean_Elab_formatStxRange_fmtPos___closed__7; -x_60 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_60, 0, x_59); -lean_ctor_set(x_60, 1, x_48); -x_61 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_61, 0, x_60); -lean_ctor_set(x_61, 1, x_59); -x_62 = l_Lean_Elab_ContextInfo_ppGoals___lambda__1___closed__2; -x_63 = l_Std_Format_prefixJoin___at_Lean_Elab_ContextInfo_ppGoals___spec__2(x_62, x_56); -lean_dec(x_56); -x_64 = l_Std_Format_nestD(x_63); -x_65 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_65, 0, x_61); -lean_ctor_set(x_65, 1, x_64); -x_66 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_66, 0, x_65); -lean_ctor_set(x_66, 1, x_59); -if (lean_is_scalar(x_58)) { - x_67 = lean_alloc_ctor(0, 2, 0); +x_61 = l___private_Lean_Elab_InfoTree_Main_0__Lean_Elab_formatStxRange_fmtPos___closed__7; +x_62 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_62, 0, x_61); +lean_ctor_set(x_62, 1, x_49); +x_63 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_63, 0, x_62); +lean_ctor_set(x_63, 1, x_61); +x_64 = l_Lean_Elab_ContextInfo_ppGoals___lambda__1___closed__2; +x_65 = l_Std_Format_prefixJoin___at_Lean_Elab_ContextInfo_ppGoals___spec__2(x_64, x_58); +lean_dec(x_58); +x_66 = l_Std_Format_nestD(x_65); +x_67 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_67, 0, x_63); +lean_ctor_set(x_67, 1, x_66); +x_68 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_68, 0, x_67); +lean_ctor_set(x_68, 1, x_61); +if (lean_is_scalar(x_60)) { + x_69 = lean_alloc_ctor(0, 2, 0); } else { - x_67 = x_58; + x_69 = x_60; } -lean_ctor_set(x_67, 0, x_66); -lean_ctor_set(x_67, 1, x_57); -return x_67; +lean_ctor_set(x_69, 0, x_68); +lean_ctor_set(x_69, 1, x_59); +return x_69; } else { -lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; -lean_dec(x_48); -x_68 = lean_ctor_get(x_55, 0); -lean_inc(x_68); -x_69 = lean_ctor_get(x_55, 1); -lean_inc(x_69); -if (lean_is_exclusive(x_55)) { - lean_ctor_release(x_55, 0); - lean_ctor_release(x_55, 1); - x_70 = x_55; +lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; +lean_dec(x_49); +x_70 = lean_ctor_get(x_57, 0); +lean_inc(x_70); +x_71 = lean_ctor_get(x_57, 1); +lean_inc(x_71); +if (lean_is_exclusive(x_57)) { + lean_ctor_release(x_57, 0); + lean_ctor_release(x_57, 1); + x_72 = x_57; } else { - lean_dec_ref(x_55); - x_70 = lean_box(0); + lean_dec_ref(x_57); + x_72 = lean_box(0); } -if (lean_is_scalar(x_70)) { - x_71 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_72)) { + x_73 = lean_alloc_ctor(1, 2, 0); } else { - x_71 = x_70; + x_73 = x_72; } -lean_ctor_set(x_71, 0, x_68); -lean_ctor_set(x_71, 1, x_69); -return x_71; +lean_ctor_set(x_73, 0, x_70); +lean_ctor_set(x_73, 1, x_71); +return x_73; } } else { -lean_object* x_72; +lean_object* x_74; lean_dec(x_11); lean_dec(x_10); lean_dec(x_2); -x_72 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_72, 0, x_48); -lean_ctor_set(x_72, 1, x_49); -return x_72; +x_74 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_74, 0, x_49); +lean_ctor_set(x_74, 1, x_50); +return x_74; } } } else { -uint8_t x_73; +uint8_t x_75; lean_dec(x_11); lean_dec(x_10); lean_dec(x_2); -x_73 = !lean_is_exclusive(x_13); -if (x_73 == 0) +x_75 = !lean_is_exclusive(x_13); +if (x_75 == 0) { return x_13; } else { -lean_object* x_74; lean_object* x_75; lean_object* x_76; -x_74 = lean_ctor_get(x_13, 0); -x_75 = lean_ctor_get(x_13, 1); -lean_inc(x_75); -lean_inc(x_74); +lean_object* x_76; lean_object* x_77; lean_object* x_78; +x_76 = lean_ctor_get(x_13, 0); +x_77 = lean_ctor_get(x_13, 1); +lean_inc(x_77); +lean_inc(x_76); lean_dec(x_13); -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; +x_78 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_78, 0, x_76); +lean_ctor_set(x_78, 1, x_77); +return x_78; } } } } default: { -lean_object* x_77; uint8_t x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; +lean_object* x_79; uint8_t x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_dec(x_2); -x_77 = lean_ctor_get(x_1, 0); -lean_inc(x_77); +x_79 = lean_ctor_get(x_1, 0); +lean_inc(x_79); lean_dec(x_1); -x_78 = 1; -x_79 = l_Lean_Name_toString(x_77, x_78); -x_80 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_80, 0, x_79); -x_81 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_81, 0, x_80); -lean_ctor_set(x_81, 1, x_3); -return x_81; +x_80 = 1; +x_81 = l_Lean_Name_toString(x_79, x_80); +x_82 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_82, 0, x_81); +x_83 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_83, 0, x_82); +lean_ctor_set(x_83, 1, x_3); +return x_83; } } } @@ -8546,7 +8377,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_assignInfoHoleId___rarg___lambda__2___closed__4; x_2 = l_Lean_Elab_assignInfoHoleId___rarg___lambda__2___closed__5; -x_3 = lean_unsigned_to_nat(333u); +x_3 = lean_unsigned_to_nat(328u); x_4 = lean_unsigned_to_nat(2u); x_5 = l_Lean_Elab_assignInfoHoleId___rarg___lambda__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -9036,12 +8867,7 @@ return x_2; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Data_Position(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Message(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Data_Json(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Basic(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_PPGoal(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_InfoTree_Types(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Elab_InfoTree_Main(uint8_t builtin, lean_object* w) { lean_object * res; @@ -9050,24 +8876,9 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Data_Position(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Message(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Data_Json(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Meta_Basic(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Meta_PPGoal(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Elab_InfoTree_Types(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); l_Lean_Elab_ContextInfo_saveNoFileMap___rarg___lambda__1___closed__1 = _init_l_Lean_Elab_ContextInfo_saveNoFileMap___rarg___lambda__1___closed__1(); lean_mark_persistent(l_Lean_Elab_ContextInfo_saveNoFileMap___rarg___lambda__1___closed__1); l_Lean_Elab_ContextInfo_saveNoFileMap___rarg___lambda__1___closed__2 = _init_l_Lean_Elab_ContextInfo_saveNoFileMap___rarg___lambda__1___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/MacroArgUtil.c b/stage0/stdlib/Lean/Elab/MacroArgUtil.c index 268a6d45cf..e551c40cdb 100644 --- a/stage0/stdlib/Lean/Elab/MacroArgUtil.c +++ b/stage0/stdlib/Lean/Elab/MacroArgUtil.c @@ -85,6 +85,7 @@ static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_expandMacro static lean_object* l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMacroArg_mkSyntaxAndPat___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_LocalContext_empty; +lean_object* l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_expandMacroArg_mkSyntaxAndPat___closed__26; static lean_object* l_Lean_Elab_Command_expandMacroArg_mkSyntaxAndPat___closed__12; static lean_object* l_List_filterMap___at_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___spec__17___closed__5; @@ -117,7 +118,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_resolveParserName___at_Lean_Elab_Comma static lean_object* l_Lean_Elab_Command_expandMacroArg_mkSyntaxAndPat___closed__30; static lean_object* l_Lean_Elab_Command_expandMacroArg_mkSyntaxAndPat___closed__15; lean_object* l_Lean_replaceRef(lean_object*, lean_object*); -lean_object* l_panic___at_Lean_TSyntax_getString___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___spec__7(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___spec__8(lean_object*, lean_object*, lean_object*, lean_object*); @@ -144,7 +144,6 @@ static lean_object* l_Lean_Elab_Command_expandMacroArg_mkSyntaxAndPat___lambda__ LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMacroArg_mkSyntaxAndPat___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_expandMacroArg_mkSyntaxAndPat___closed__10; -lean_object* l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_expandMacroArg_mkSyntaxAndPat___lambda__2___closed__1; static lean_object* l_Lean_Elab_Command_expandMacroArg___closed__2; static lean_object* l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___closed__10; @@ -225,6 +224,7 @@ LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Command_ex LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstWithInfos___at_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_List_isEmpty___rarg(lean_object*); static lean_object* l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___closed__1; +lean_object* l_panic___at_Lean_Name_getString_x21___spec__1(lean_object*); lean_object* l_Lean_Elab_Command_getScope___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___spec__13(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_expandMacroArg_mkSyntaxAndPat___lambda__3___closed__7; @@ -3535,7 +3535,7 @@ lean_dec(x_79); lean_dec(x_1); x_94 = lean_box(0); x_95 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_9, x_94); -x_96 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_95, x_94); +x_96 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_95, x_94); x_97 = l_Lean_MessageData_ofList(x_96); lean_dec(x_96); x_98 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -3610,7 +3610,7 @@ x_118 = l_Lean_Name_str___override(x_117, x_88); lean_ctor_set(x_78, 0, x_118); x_119 = lean_box(0); x_120 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_9, x_119); -x_121 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_120, x_119); +x_121 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_120, x_119); x_122 = l_Lean_MessageData_ofList(x_121); lean_dec(x_121); x_123 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -3682,7 +3682,7 @@ x_142 = l_Lean_Name_str___override(x_141, x_88); lean_ctor_set(x_78, 0, x_142); x_143 = lean_box(0); x_144 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_9, x_143); -x_145 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_144, x_143); +x_145 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_144, x_143); x_146 = l_Lean_MessageData_ofList(x_145); lean_dec(x_145); x_147 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -3740,7 +3740,7 @@ x_160 = l_Lean_Name_str___override(x_159, x_134); lean_ctor_set(x_78, 0, x_160); x_161 = lean_box(0); x_162 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_9, x_161); -x_163 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_162, x_161); +x_163 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_162, x_161); x_164 = l_Lean_MessageData_ofList(x_163); lean_dec(x_163); x_165 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -3800,7 +3800,7 @@ x_177 = l_Lean_Name_str___override(x_176, x_132); lean_ctor_set(x_78, 0, x_177); x_178 = lean_box(0); x_179 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_9, x_178); -x_180 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_179, x_178); +x_180 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_179, x_178); x_181 = l_Lean_MessageData_ofList(x_180); lean_dec(x_180); x_182 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -3871,7 +3871,7 @@ lean_ctor_set(x_200, 0, x_78); lean_ctor_set(x_200, 1, x_84); x_201 = lean_box(0); x_202 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_200, x_201); -x_203 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_202, x_201); +x_203 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_202, x_201); x_204 = l_Lean_MessageData_ofList(x_203); lean_dec(x_203); x_205 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -3947,7 +3947,7 @@ lean_ctor_set(x_225, 0, x_78); lean_ctor_set(x_225, 1, x_84); x_226 = lean_box(0); x_227 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_225, x_226); -x_228 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_227, x_226); +x_228 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_227, x_226); x_229 = l_Lean_MessageData_ofList(x_228); lean_dec(x_228); x_230 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -4009,7 +4009,7 @@ lean_ctor_set(x_244, 0, x_78); lean_ctor_set(x_244, 1, x_84); x_245 = lean_box(0); x_246 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_244, x_245); -x_247 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_246, x_245); +x_247 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_246, x_245); x_248 = l_Lean_MessageData_ofList(x_247); lean_dec(x_247); x_249 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -4073,7 +4073,7 @@ lean_ctor_set(x_262, 0, x_78); lean_ctor_set(x_262, 1, x_84); x_263 = lean_box(0); x_264 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_262, x_263); -x_265 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_264, x_263); +x_265 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_264, x_263); x_266 = l_Lean_MessageData_ofList(x_265); lean_dec(x_265); x_267 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -4153,7 +4153,7 @@ lean_dec(x_79); lean_dec(x_1); x_283 = lean_box(0); x_284 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_9, x_283); -x_285 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_284, x_283); +x_285 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_284, x_283); x_286 = l_Lean_MessageData_ofList(x_285); lean_dec(x_285); x_287 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -4238,7 +4238,7 @@ lean_ctor_set(x_307, 0, x_306); lean_ctor_set(x_307, 1, x_84); x_308 = lean_box(0); x_309 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_307, x_308); -x_310 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_309, x_308); +x_310 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_309, x_308); x_311 = l_Lean_MessageData_ofList(x_310); lean_dec(x_310); x_312 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -4320,7 +4320,7 @@ lean_ctor_set(x_333, 0, x_332); lean_ctor_set(x_333, 1, x_84); x_334 = lean_box(0); x_335 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_333, x_334); -x_336 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_335, x_334); +x_336 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_335, x_334); x_337 = l_Lean_MessageData_ofList(x_336); lean_dec(x_336); x_338 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -4388,7 +4388,7 @@ lean_ctor_set(x_353, 0, x_352); lean_ctor_set(x_353, 1, x_84); x_354 = lean_box(0); x_355 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_353, x_354); -x_356 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_355, x_354); +x_356 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_355, x_354); x_357 = l_Lean_MessageData_ofList(x_356); lean_dec(x_356); x_358 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -4458,7 +4458,7 @@ lean_ctor_set(x_372, 0, x_371); lean_ctor_set(x_372, 1, x_84); x_373 = lean_box(0); x_374 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_372, x_373); -x_375 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_374, x_373); +x_375 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_374, x_373); x_376 = l_Lean_MessageData_ofList(x_375); lean_dec(x_375); x_377 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -4557,7 +4557,7 @@ lean_dec(x_79); lean_dec(x_1); x_399 = lean_box(0); x_400 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_9, x_399); -x_401 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_400, x_399); +x_401 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_400, x_399); x_402 = l_Lean_MessageData_ofList(x_401); lean_dec(x_401); x_403 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -4634,7 +4634,7 @@ x_425 = l_Lean_Name_str___override(x_424, x_392); lean_ctor_set(x_78, 0, x_425); x_426 = lean_box(0); x_427 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_9, x_426); -x_428 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_427, x_426); +x_428 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_427, x_426); x_429 = l_Lean_MessageData_ofList(x_428); lean_dec(x_428); x_430 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -4703,7 +4703,7 @@ x_449 = l_Lean_Name_str___override(x_448, x_392); lean_ctor_set(x_78, 0, x_449); x_450 = lean_box(0); x_451 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_9, x_450); -x_452 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_451, x_450); +x_452 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_451, x_450); x_453 = l_Lean_MessageData_ofList(x_452); lean_dec(x_452); x_454 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -4772,7 +4772,7 @@ x_473 = l_Lean_Name_str___override(x_472, x_392); lean_ctor_set(x_78, 0, x_473); x_474 = lean_box(0); x_475 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_9, x_474); -x_476 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_475, x_474); +x_476 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_475, x_474); x_477 = l_Lean_MessageData_ofList(x_476); lean_dec(x_476); x_478 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -4832,7 +4832,7 @@ x_491 = l_Lean_Name_str___override(x_490, x_463); lean_ctor_set(x_78, 0, x_491); x_492 = lean_box(0); x_493 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_9, x_492); -x_494 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_493, x_492); +x_494 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_493, x_492); x_495 = l_Lean_MessageData_ofList(x_494); lean_dec(x_494); x_496 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -4906,7 +4906,7 @@ lean_ctor_set(x_516, 0, x_78); lean_ctor_set(x_516, 1, x_388); x_517 = lean_box(0); x_518 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_516, x_517); -x_519 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_518, x_517); +x_519 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_518, x_517); x_520 = l_Lean_MessageData_ofList(x_519); lean_dec(x_519); x_521 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -4979,7 +4979,7 @@ lean_ctor_set(x_541, 0, x_78); lean_ctor_set(x_541, 1, x_388); x_542 = lean_box(0); x_543 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_541, x_542); -x_544 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_543, x_542); +x_544 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_543, x_542); x_545 = l_Lean_MessageData_ofList(x_544); lean_dec(x_544); x_546 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -5052,7 +5052,7 @@ lean_ctor_set(x_566, 0, x_78); lean_ctor_set(x_566, 1, x_388); x_567 = lean_box(0); x_568 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_566, x_567); -x_569 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_568, x_567); +x_569 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_568, x_567); x_570 = l_Lean_MessageData_ofList(x_569); lean_dec(x_569); x_571 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -5116,7 +5116,7 @@ lean_ctor_set(x_585, 0, x_78); lean_ctor_set(x_585, 1, x_388); x_586 = lean_box(0); x_587 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_585, x_586); -x_588 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_587, x_586); +x_588 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_587, x_586); x_589 = l_Lean_MessageData_ofList(x_588); lean_dec(x_588); x_590 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -5201,7 +5201,7 @@ lean_dec(x_79); lean_dec(x_1); x_607 = lean_box(0); x_608 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_9, x_607); -x_609 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_608, x_607); +x_609 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_608, x_607); x_610 = l_Lean_MessageData_ofList(x_609); lean_dec(x_609); x_611 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -5288,7 +5288,7 @@ lean_ctor_set(x_633, 0, x_632); lean_ctor_set(x_633, 1, x_388); x_634 = lean_box(0); x_635 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_633, x_634); -x_636 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_635, x_634); +x_636 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_635, x_634); x_637 = l_Lean_MessageData_ofList(x_636); lean_dec(x_636); x_638 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -5367,7 +5367,7 @@ lean_ctor_set(x_659, 0, x_658); lean_ctor_set(x_659, 1, x_388); x_660 = lean_box(0); x_661 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_659, x_660); -x_662 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_661, x_660); +x_662 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_661, x_660); x_663 = l_Lean_MessageData_ofList(x_662); lean_dec(x_662); x_664 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -5446,7 +5446,7 @@ lean_ctor_set(x_685, 0, x_684); lean_ctor_set(x_685, 1, x_388); x_686 = lean_box(0); x_687 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_685, x_686); -x_688 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_687, x_686); +x_688 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_687, x_686); x_689 = l_Lean_MessageData_ofList(x_688); lean_dec(x_688); x_690 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -5516,7 +5516,7 @@ lean_ctor_set(x_705, 0, x_704); lean_ctor_set(x_705, 1, x_388); x_706 = lean_box(0); x_707 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_705, x_706); -x_708 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_707, x_706); +x_708 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_707, x_706); x_709 = l_Lean_MessageData_ofList(x_708); lean_dec(x_708); x_710 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -5591,7 +5591,7 @@ lean_inc(x_722); lean_dec(x_8); x_723 = lean_box(0); x_724 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_9, x_723); -x_725 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_724, x_723); +x_725 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_724, x_723); x_726 = l_Lean_MessageData_ofList(x_725); lean_dec(x_725); x_727 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -5659,7 +5659,7 @@ lean_inc(x_739); lean_dec(x_8); x_740 = lean_box(0); x_741 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_9, x_740); -x_742 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_741, x_740); +x_742 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_741, x_740); x_743 = l_Lean_MessageData_ofList(x_742); lean_dec(x_742); x_744 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -5727,7 +5727,7 @@ lean_inc(x_756); lean_dec(x_8); x_757 = lean_box(0); x_758 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_9, x_757); -x_759 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_758, x_757); +x_759 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_758, x_757); x_760 = l_Lean_MessageData_ofList(x_759); lean_dec(x_759); x_761 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -5793,7 +5793,7 @@ lean_inc(x_773); lean_dec(x_8); x_774 = lean_box(0); x_775 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_9, x_774); -x_776 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_775, x_774); +x_776 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_775, x_774); x_777 = l_Lean_MessageData_ofList(x_776); lean_dec(x_776); x_778 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -5858,7 +5858,7 @@ lean_inc(x_790); lean_dec(x_8); x_791 = lean_box(0); x_792 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_9, x_791); -x_793 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_792, x_791); +x_793 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_792, x_791); x_794 = l_Lean_MessageData_ofList(x_793); lean_dec(x_793); x_795 = l_Lean_Elab_Command_expandMacroArg_mkAntiquotNode___lambda__3___closed__4; @@ -7023,7 +7023,7 @@ if (lean_obj_tag(x_9) == 0) { lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; x_10 = l_Lean_Elab_Command_expandMacroArg_mkSyntaxAndPat___lambda__2___closed__6; -x_11 = l_panic___at_Lean_TSyntax_getString___spec__1(x_10); +x_11 = l_panic___at_Lean_Name_getString_x21___spec__1(x_10); x_12 = l_Lean_Elab_Command_expandMacroArg_mkSyntaxAndPat___lambda__2___closed__7; x_13 = lean_string_append(x_11, x_12); x_14 = l_Lean_Elab_Command_expandMacroArg_mkSyntaxAndPat___lambda__2___closed__2; diff --git a/stage0/stdlib/Lean/Elab/Match.c b/stage0/stdlib/Lean/Elab/Match.c index 609ee93534..61ad12c09b 100644 --- a/stage0/stdlib/Lean/Elab/Match.c +++ b/stage0/stdlib/Lean/Elab/Match.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.Match -// Imports: Init Lean.Util.CollectFVars Lean.Parser.Term Lean.Meta.Match.MatchPatternAttr Lean.Meta.Match.Match Lean.Meta.GeneralizeVars Lean.Meta.ForEachExpr Lean.Elab.SyntheticMVars Lean.Elab.Arg Lean.Elab.PatternVar Lean.Elab.AuxDiscr Lean.Elab.BindersUtil +// Imports: Init Lean.Meta.Match.Match Lean.Meta.GeneralizeVars Lean.Meta.ForEachExpr Lean.Elab.AuxDiscr Lean.Elab.BindersUtil Lean.Elab.PatternVar Lean.Elab.Quotation.Precheck Lean.Elab.SyntheticMVars #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -32,7 +32,6 @@ static lean_object* l_Lean_Elab_Term_elabNoMatch___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_throwMaxRecDepthAt___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___spec__14___rarg___closed__1; lean_object* l_Lean_Elab_Term_Quotation_withNewLocals___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall___spec__1___rarg(lean_object*); size_t lean_usize_add(size_t, size_t); LEAN_EXPORT lean_object* l_Std_HashMap_insert___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkPatternRefMap_go___spec__2(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___closed__1; @@ -54,7 +53,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withPatte LEAN_EXPORT lean_object* l_Lean_Meta_transform___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___closed__2; static lean_object* l_Lean_Elab_getResetInfoTrees___at_Lean_Elab_Term_ToDepElimPattern_savePatternInfo_go___spec__4___rarg___closed__3; -lean_object* l_Lean_Meta_withLCtx___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_FunBinders_elabFunBinderViews___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_ToDepElimPattern_main___spec__4(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_expandMatchAlts_x3f(lean_object*, lean_object*, lean_object*); @@ -75,7 +73,6 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0 LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_userName(lean_object*); LEAN_EXPORT 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*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_toPattern___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkPatternRefMap_go___spec__4(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -111,6 +108,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_withInfoContext_x27___at_Lean_Elab_Term_ToD LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_whnfPreservingPatternRef(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_log___at_Lean_Elab_Term_exceptionToSorry___spec__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_sequenceMap_loop___at_Lean_Elab_Term_precheckMatch___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Term_elabMatch_elabMatchDefault___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_ToDepElimPattern_normalize_processVar___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withElaboratedLHS___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*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__1; @@ -258,7 +256,6 @@ lean_object* l_Lean_Meta_Match_mkMatcher(lean_object*, lean_object*, lean_object lean_object* l_Lean_Expr_replaceFVars(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_withInfoContext_x27___at_Lean_Elab_Term_ToDepElimPattern_savePatternInfo_go___spec__3(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___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_EXPORT uint8_t l_Std_PersistentArray_anyMAux___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__14(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__1___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_forIn___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withoutAuxDiscrs___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -271,6 +268,7 @@ LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Matc static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandSimpleMatch___closed__12; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__4(lean_object*, lean_object*, size_t, size_t); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_throwInvalidPattern___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withoutAuxDiscrs___spec__4(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_transform_visit___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___spec__2___lambda__1___closed__1; @@ -326,6 +324,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Elab_Term_ToDepElim lean_object* l_Std_HashMap_insert___at_Lean_Meta_forEachExpr_x27_visit___spec__12(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_getMatchAlts___closed__2; +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Term_elabMatch_elabMatchDefault___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_withInPattern___at_Lean_Elab_Term_ToDepElimPattern_main___spec__2___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -333,6 +332,7 @@ lean_object* l_Lean_LocalDecl_value(lean_object*); uint8_t l_Lean_Name_hasMacroScopes(lean_object*); lean_object* l_List_mapTRAux___at_Lean_MessageData_instCoeListExprMessageData___spec__1(lean_object*, 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*); +static lean_object* l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1___rarg___closed__1; lean_object* l_Lean_Meta_Match_instantiatePatternMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandSimpleMatch___closed__6; @@ -353,6 +353,7 @@ static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__L LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_collectDeps___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_toPattern___spec__3(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l___private_Lean_Elab_Match_0__Lean_Elab_Term_isPatternVar_isAtomicIdent(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withoutAuxDiscrs___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -385,7 +386,6 @@ static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandSimpleMa lean_object* l_Lean_MVarId_setTag(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__11___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_ToDepElimPattern_isExplicitPatternVar___spec__1(lean_object*, lean_object*, size_t, size_t); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabMatch_declRange___closed__2; static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___lambda__3___closed__1; LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at_Lean_Elab_Term_ToDepElimPattern_normalize_processInaccessible___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -395,7 +395,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_ToDepElimPattern_isExplicitPatternVar( LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_getPatternVarNames(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabAtomicDiscr___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_Term_ToDepElimPattern_normalize___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_ToDepElimPattern_Context_userName___default; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -419,7 +418,7 @@ LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_Match_0__Lean_Elab_Ter LEAN_EXPORT lean_object* l_Std_mkHashMap___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkPatternRefMap_go___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___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_Elab_Term_elabTerm(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_expandBinderIdent___spec__2___rarg(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabNoMatch___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___spec__11(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandSimpleMatch___closed__13; LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withEqs___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -459,17 +458,16 @@ static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lea LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__2(lean_object*, size_t, size_t, lean_object*); static lean_object* l_Lean_Meta_transform___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___spec__1___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_topSort_visit(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_RBNode_insert___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_precheckMatch(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_isNamedPattern_x3f(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___spec__8___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_Term_ToDepElimPattern_normalize___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_findDiscrRefinementPath_checkCompatibleApps(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_ToDepElimPattern_TopSort_State_visitedFVars___default; static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabPatterns___spec__2___closed__2; lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); lean_object* l_Lean_Expr_isFVar___boxed(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_getDiscrs___boxed(lean_object*); -lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_elabBinderViews_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withExistingLocalDecls___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__8___rarg(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_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___spec__5(lean_object*, lean_object*); @@ -498,6 +496,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatch LEAN_EXPORT uint8_t l_Lean_Elab_Term_GeneralizeResult_refined___default; uint64_t l_Lean_Expr_hash(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_ToDepElimPattern_savePatternInfo_go___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_withLCtx___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__25___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_precheckMatch___spec__3___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabInaccessible_declRange___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Term_ToDepElimPattern_main___rarg___lambda__3(lean_object*, lean_object*, size_t, lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -599,6 +598,7 @@ LEAN_EXPORT uint8_t l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_ lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Core_transform___at_Lean_Core_betaReduce___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_throwInvalidPattern___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_topSort(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_ToDepElimPattern_savePatternInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_instInhabitedDiscr___closed__2; @@ -608,6 +608,7 @@ lean_object* lean_whnf(lean_object*, lean_object*, lean_object*, lean_object*, l LEAN_EXPORT lean_object* l_Std_PersistentArray_anyMAux___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__19___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_anyMAux___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__14___boxed(lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Meta_Match_toPattern___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabNoMatch___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___lambda__2___closed__2; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_ToDepElimPattern_normalize___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*); uint8_t l_List_elem___at_Lean_Occurrences_contains___spec__1(lean_object*, lean_object*); @@ -690,6 +691,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withPatte size_t lean_ptr_addr(lean_object*); LEAN_EXPORT lean_object* l_Array_filterMapM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_getMatchAlts___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Elab_Term_reportMatcherResultErrors___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabNoMatch___spec__1___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___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*); lean_object* l_List_redLength___rarg(lean_object*); lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); @@ -723,6 +725,7 @@ lean_object* lean_environment_main_module(lean_object*); uint8_t lean_expr_eqv(lean_object*, lean_object*); lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_addAutoBoundImplicits_x27___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___lambda__3___closed__2; +LEAN_EXPORT lean_object* l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_precheckMatch___spec__7(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_ToDepElimPattern_main___rarg___lambda__2___closed__1; LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_expandNonAtomicDiscrs_x3f___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -797,6 +800,7 @@ lean_object* l_Lean_patternWithRef_x3f(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabMatch_declRange___closed__6; static lean_object* l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__6; uint8_t l_Lean_TagAttribute_hasTag(lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1___rarg___closed__2; lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_mkAuxDiscr___at___private_Lean_Elab_Match_0__Lean_Elab_Term_expandNonAtomicDiscrs_x3f_loop___spec__1___rarg___closed__1; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__3___boxed(lean_object*, lean_object*, lean_object*); @@ -832,6 +836,7 @@ lean_object* l_Array_ofSubarray___rarg(lean_object*); lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Term_Quotation_getAntiquotationIds___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkApp4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_withLocalInstancesImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_instantiateMVarsCore(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_throwEx(lean_object*); lean_object* l_Lean_Elab_Term_tryPostponeIfMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -879,6 +884,7 @@ lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_obje LEAN_EXPORT lean_object* l_Lean_Meta_transform_visit_visitForall___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___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_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop___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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_toPattern___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_isPatternVar___closed__2; lean_object* l_ST_Prim_Ref_modifyGetUnsafe___rarg___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -887,7 +893,6 @@ lean_object* lean_expr_instantiate_rev(lean_object*, lean_object*); static lean_object* l_List_forIn_loop___at_Lean_Elab_Term_reportMatcherResultErrors___spec__1___closed__2; lean_object* l_Lean_Expr_arrayLit_x3f(lean_object*); LEAN_EXPORT uint8_t l_Std_AssocList_contains___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_mkPatternRefMap_go___spec__3(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_findDiscrRefinementPath_goIndex___spec__1___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Term_precheckMatch___closed__3; lean_object* l_Lean_FVarId_getDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -979,18 +984,21 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withPatte LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___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_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_ToDepElimPattern_isExplicitPatternVar___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_ToDepElimPattern_normalize___spec__2(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalContextImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MetavarContext_getDecl(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_ToDepElimPattern_Context_explicitPatternVars___default; LEAN_EXPORT lean_object* l_Std_PersistentArray_forInAux___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withoutAuxDiscrs___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_topSort___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*); static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_getMatchGeneralizing_x3f___closed__8; LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltView___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_RBNode_findCore___at_Lean_Meta_mkGeneralizationForbiddenSet_visit___spec__1(lean_object*, lean_object*); uint8_t l_List_isEmpty___rarg(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Term_ToDepElimPattern_savePatternInfo_go___lambda__3(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withElaboratedLHS___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_match_ignoreUnusedAlts; static lean_object* l___regBuiltin_Lean_Elab_Term_elabInaccessible_declRange___closed__3; static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_getMatchGeneralizing_x3f___closed__4; @@ -1034,6 +1042,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Match_0 lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Closure_mkBinding___spec__1(size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_18159_(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_Match___hyg_14392_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_withLCtx___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__25(lean_object*); lean_object* l_Lean_mkSimpleThunk(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_isAtomicDiscr_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabNoMatch___closed__4; @@ -1058,6 +1067,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_elabNoMatch_declRange___closed LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_precheckMatch___spec__4(size_t, size_t, lean_object*); static lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withElaboratedLHS___rarg___closed__1; static lean_object* l_Lean_withInPattern___at_Lean_Elab_Term_ToDepElimPattern_main___spec__2___closed__1; +LEAN_EXPORT lean_object* l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1___rarg(lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrsWitMatchType___spec__1___closed__4; LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_containsFVar___boxed(lean_object*, lean_object*); uint8_t l_Lean_isAuxFunDiscrName(lean_object*); @@ -1372,9 +1382,92 @@ x_50 = l_Lean_Elab_Term_withMacroExpansion___rarg(x_1, x_45, x_49, x_6, x_7, x_8 return x_50; } } +LEAN_EXPORT lean_object* l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; uint8_t x_6; +x_5 = lean_st_ref_get(x_3, x_4); +x_6 = !lean_is_exclusive(x_5); +if (x_6 == 0) +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_7 = lean_ctor_get(x_5, 0); +x_8 = lean_ctor_get(x_7, 0); +lean_inc(x_8); +lean_dec(x_7); +x_9 = lean_environment_main_module(x_8); +x_10 = lean_ctor_get(x_2, 10); +lean_inc(x_10); +lean_dec(x_2); +x_11 = l_Lean_addMacroScope(x_9, x_1, x_10); +lean_ctor_set(x_5, 0, x_11); +return x_5; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_12 = lean_ctor_get(x_5, 0); +x_13 = lean_ctor_get(x_5, 1); +lean_inc(x_13); +lean_inc(x_12); +lean_dec(x_5); +x_14 = lean_ctor_get(x_12, 0); +lean_inc(x_14); +lean_dec(x_12); +x_15 = lean_environment_main_module(x_14); +x_16 = lean_ctor_get(x_2, 10); +lean_inc(x_16); +lean_dec(x_2); +x_17 = l_Lean_addMacroScope(x_15, x_1, x_16); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_17); +lean_ctor_set(x_18, 1, x_13); +return x_18; +} +} +} +static lean_object* _init_l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1___rarg___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("x", 1); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1___rarg___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1___rarg___closed__1; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_4 = l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1___rarg___closed__2; +x_5 = lean_alloc_closure((void*)(l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1___rarg___lambda__1___boxed), 4, 1); +lean_closure_set(x_5, 0, x_4); +x_6 = l_Lean_Core_withFreshMacroScope___rarg(x_5, x_1, x_2, x_3); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = lean_alloc_closure((void*)(l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1___rarg), 3, 0); +return x_5; +} +} LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor(lean_object* x_1, lean_object* x_2, 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_dec(x_3); +lean_dec(x_2); if (lean_obj_tag(x_1) == 1) { lean_object* x_9; lean_object* x_10; @@ -1425,19 +1518,38 @@ else lean_object* x_18; lean_dec(x_4); lean_dec(x_1); -x_18 = l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_expandBinderIdent___spec__2___rarg(x_6, x_7, x_8); +x_18 = l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1___rarg(x_6, x_7, x_8); return x_18; } } } +LEAN_EXPORT lean_object* l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1___rarg___lambda__1(x_1, x_2, x_3, x_4); +lean_dec(x_3); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1(x_1, x_2, x_3, x_4); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_5; +} +} LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; x_9 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); return x_9; } } @@ -5356,6 +5468,8 @@ lean_dec(x_22); lean_inc(x_11); lean_inc(x_10); lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); lean_inc(x_23); x_25 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor(x_23, x_6, x_7, x_8, x_9, x_10, x_11, x_24); if (lean_obj_tag(x_25) == 0) @@ -6917,7 +7031,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabInaccessible_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(168u); +x_1 = lean_unsigned_to_nat(165u); x_2 = lean_unsigned_to_nat(32u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6929,7 +7043,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabInaccessible_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(170u); +x_1 = lean_unsigned_to_nat(167u); x_2 = lean_unsigned_to_nat(25u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6957,7 +7071,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabInaccessible_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(168u); +x_1 = lean_unsigned_to_nat(165u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6969,7 +7083,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabInaccessible_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(168u); +x_1 = lean_unsigned_to_nat(165u); x_2 = lean_unsigned_to_nat(52u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -19583,12 +19697,70 @@ return x_19; } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_Term_ToDepElimPattern_normalize___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_Term_ToDepElimPattern_normalize___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_11; lean_object* x_12; +lean_object* x_12; lean_object* x_13; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_12 = l_List_reverse___rarg(x_2); +x_13 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_13, 0, x_12); +lean_ctor_set(x_13, 1, x_11); +return x_13; +} +else +{ +uint8_t x_14; +x_14 = !lean_is_exclusive(x_1); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_15 = lean_ctor_get(x_1, 0); +x_16 = lean_ctor_get(x_1, 1); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_17 = l_Lean_Elab_Term_ToDepElimPattern_normalize(x_15, x_3, x_4, x_5, x_6, 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; +x_18 = lean_ctor_get(x_17, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_17, 1); +lean_inc(x_19); +lean_dec(x_17); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_18); +{ +lean_object* _tmp_0 = x_16; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_10 = x_19; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_11 = _tmp_10; +} +goto _start; +} +else +{ +uint8_t x_21; +lean_free_object(x_1); +lean_dec(x_16); +lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -19597,134 +19769,35 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_11 = lean_box(0); -x_12 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_12, 0, x_11); -lean_ctor_set(x_12, 1, x_10); -return x_12; -} -else +x_21 = !lean_is_exclusive(x_17); +if (x_21 == 0) { -uint8_t x_13; -x_13 = !lean_is_exclusive(x_1); -if (x_13 == 0) -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_14 = lean_ctor_get(x_1, 0); -x_15 = lean_ctor_get(x_1, 1); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_16 = l_Lean_Elab_Term_ToDepElimPattern_normalize(x_14, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_16) == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -x_19 = l_List_mapM___at_Lean_Elab_Term_ToDepElimPattern_normalize___spec__4(x_15, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_18); -if (lean_obj_tag(x_19) == 0) -{ -uint8_t x_20; -x_20 = !lean_is_exclusive(x_19); -if (x_20 == 0) -{ -lean_object* x_21; -x_21 = lean_ctor_get(x_19, 0); -lean_ctor_set(x_1, 1, x_21); -lean_ctor_set(x_1, 0, x_17); -lean_ctor_set(x_19, 0, x_1); -return x_19; +return x_17; } else { lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_19, 0); -x_23 = lean_ctor_get(x_19, 1); +x_22 = lean_ctor_get(x_17, 0); +x_23 = lean_ctor_get(x_17, 1); lean_inc(x_23); lean_inc(x_22); -lean_dec(x_19); -lean_ctor_set(x_1, 1, x_22); -lean_ctor_set(x_1, 0, x_17); -x_24 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_24, 0, x_1); +lean_dec(x_17); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); lean_ctor_set(x_24, 1, x_23); return x_24; } } -else -{ -uint8_t x_25; -lean_dec(x_17); -lean_free_object(x_1); -x_25 = !lean_is_exclusive(x_19); -if (x_25 == 0) -{ -return x_19; } else { -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_19, 0); -x_27 = lean_ctor_get(x_19, 1); -lean_inc(x_27); +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_1, 0); +x_26 = lean_ctor_get(x_1, 1); lean_inc(x_26); -lean_dec(x_19); -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 -{ -uint8_t x_29; -lean_free_object(x_1); -lean_dec(x_15); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_29 = !lean_is_exclusive(x_16); -if (x_29 == 0) -{ -return x_16; -} -else -{ -lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_30 = lean_ctor_get(x_16, 0); -x_31 = lean_ctor_get(x_16, 1); -lean_inc(x_31); -lean_inc(x_30); -lean_dec(x_16); -x_32 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_32, 0, x_30); -lean_ctor_set(x_32, 1, x_31); -return x_32; -} -} -} -else -{ -lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_33 = lean_ctor_get(x_1, 0); -x_34 = lean_ctor_get(x_1, 1); -lean_inc(x_34); -lean_inc(x_33); +lean_inc(x_25); lean_dec(x_1); +lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); @@ -19732,74 +19805,28 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -lean_inc(x_2); -x_35 = l_Lean_Elab_Term_ToDepElimPattern_normalize(x_33, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_35) == 0) +x_27 = l_Lean_Elab_Term_ToDepElimPattern_normalize(x_25, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_27) == 0) { -lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_36 = lean_ctor_get(x_35, 0); -lean_inc(x_36); -x_37 = lean_ctor_get(x_35, 1); -lean_inc(x_37); -lean_dec(x_35); -x_38 = l_List_mapM___at_Lean_Elab_Term_ToDepElimPattern_normalize___spec__4(x_34, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_37); -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; -x_39 = lean_ctor_get(x_38, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_38, 1); -lean_inc(x_40); -if (lean_is_exclusive(x_38)) { - lean_ctor_release(x_38, 0); - lean_ctor_release(x_38, 1); - x_41 = x_38; -} else { - lean_dec_ref(x_38); - x_41 = lean_box(0); -} -x_42 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_42, 0, x_36); -lean_ctor_set(x_42, 1, x_39); -if (lean_is_scalar(x_41)) { - x_43 = lean_alloc_ctor(0, 2, 0); -} else { - x_43 = x_41; -} -lean_ctor_set(x_43, 0, x_42); -lean_ctor_set(x_43, 1, x_40); -return x_43; +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_2); +x_1 = x_26; +x_2 = x_30; +x_11 = x_29; +goto _start; } else { -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; -lean_dec(x_36); -x_44 = lean_ctor_get(x_38, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_38, 1); -lean_inc(x_45); -if (lean_is_exclusive(x_38)) { - lean_ctor_release(x_38, 0); - lean_ctor_release(x_38, 1); - x_46 = x_38; -} else { - lean_dec_ref(x_38); - x_46 = lean_box(0); -} -if (lean_is_scalar(x_46)) { - x_47 = lean_alloc_ctor(1, 2, 0); -} else { - x_47 = x_46; -} -lean_ctor_set(x_47, 0, x_44); -lean_ctor_set(x_47, 1, x_45); -return x_47; -} -} -else -{ -lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; -lean_dec(x_34); +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +lean_dec(x_26); +lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -19808,26 +19835,26 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_48 = lean_ctor_get(x_35, 0); -lean_inc(x_48); -x_49 = lean_ctor_get(x_35, 1); -lean_inc(x_49); -if (lean_is_exclusive(x_35)) { - lean_ctor_release(x_35, 0); - lean_ctor_release(x_35, 1); - x_50 = x_35; +x_32 = lean_ctor_get(x_27, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_27, 1); +lean_inc(x_33); +if (lean_is_exclusive(x_27)) { + lean_ctor_release(x_27, 0); + lean_ctor_release(x_27, 1); + x_34 = x_27; } else { - lean_dec_ref(x_35); - x_50 = lean_box(0); + lean_dec_ref(x_27); + x_34 = lean_box(0); } -if (lean_is_scalar(x_50)) { - x_51 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_34)) { + x_35 = lean_alloc_ctor(1, 2, 0); } else { - x_51 = x_50; + x_35 = x_34; } -lean_ctor_set(x_51, 0, x_48); -lean_ctor_set(x_51, 1, x_49); -return x_51; +lean_ctor_set(x_35, 0, x_32); +lean_ctor_set(x_35, 1, x_33); +return x_35; } } } @@ -20734,7 +20761,7 @@ return x_151; } else { -lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; +lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_dec(x_1); x_161 = lean_ctor_get(x_13, 0); lean_inc(x_161); @@ -20744,125 +20771,126 @@ lean_inc(x_162); x_163 = lean_ctor_get(x_161, 1); lean_inc(x_163); lean_dec(x_161); +x_164 = lean_box(0); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -x_164 = l_List_mapM___at_Lean_Elab_Term_ToDepElimPattern_normalize___spec__4(x_163, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_164) == 0) +x_165 = l_List_mapM_loop___at_Lean_Elab_Term_ToDepElimPattern_normalize___spec__4(x_163, x_164, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_165) == 0) { -lean_object* x_165; lean_object* x_166; lean_object* x_167; -x_165 = lean_ctor_get(x_164, 0); -lean_inc(x_165); -x_166 = lean_ctor_get(x_164, 1); +lean_object* x_166; lean_object* x_167; lean_object* x_168; +x_166 = lean_ctor_get(x_165, 0); lean_inc(x_166); -lean_dec(x_164); -x_167 = l_Lean_Meta_mkArrayLit(x_162, x_165, x_6, x_7, x_8, x_9, x_166); -return x_167; +x_167 = lean_ctor_get(x_165, 1); +lean_inc(x_167); +lean_dec(x_165); +x_168 = l_Lean_Meta_mkArrayLit(x_162, x_166, x_6, x_7, x_8, x_9, x_167); +return x_168; } else { -uint8_t x_168; +uint8_t x_169; lean_dec(x_162); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -x_168 = !lean_is_exclusive(x_164); -if (x_168 == 0) +x_169 = !lean_is_exclusive(x_165); +if (x_169 == 0) { -return x_164; +return x_165; } else { -lean_object* x_169; lean_object* x_170; lean_object* x_171; -x_169 = lean_ctor_get(x_164, 0); -x_170 = lean_ctor_get(x_164, 1); +lean_object* x_170; lean_object* x_171; lean_object* x_172; +x_170 = lean_ctor_get(x_165, 0); +x_171 = lean_ctor_get(x_165, 1); +lean_inc(x_171); lean_inc(x_170); -lean_inc(x_169); -lean_dec(x_164); -x_171 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_171, 0, x_169); -lean_ctor_set(x_171, 1, x_170); -return x_171; +lean_dec(x_165); +x_172 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_172, 0, x_170); +lean_ctor_set(x_172, 1, x_171); +return x_172; } } } } else { -lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; +lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_dec(x_1); -x_172 = lean_ctor_get(x_12, 0); -lean_inc(x_172); -lean_dec(x_12); -x_173 = lean_ctor_get(x_172, 0); +x_173 = lean_ctor_get(x_12, 0); lean_inc(x_173); -x_174 = lean_ctor_get(x_172, 1); +lean_dec(x_12); +x_174 = lean_ctor_get(x_173, 0); lean_inc(x_174); -lean_dec(x_172); -x_175 = l_Lean_Elab_Term_ToDepElimPattern_normalize(x_174, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_175) == 0) -{ -uint8_t x_176; -x_176 = !lean_is_exclusive(x_175); -if (x_176 == 0) -{ -lean_object* x_177; lean_object* x_178; -x_177 = lean_ctor_get(x_175, 0); -x_178 = l_Lean_mkPatternWithRef(x_177, x_173); -lean_ctor_set(x_175, 0, x_178); -return x_175; -} -else -{ -lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; -x_179 = lean_ctor_get(x_175, 0); -x_180 = lean_ctor_get(x_175, 1); -lean_inc(x_180); -lean_inc(x_179); -lean_dec(x_175); -x_181 = l_Lean_mkPatternWithRef(x_179, x_173); -x_182 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_182, 0, x_181); -lean_ctor_set(x_182, 1, x_180); -return x_182; -} -} -else -{ -uint8_t x_183; +x_175 = lean_ctor_get(x_173, 1); +lean_inc(x_175); lean_dec(x_173); -x_183 = !lean_is_exclusive(x_175); -if (x_183 == 0) +x_176 = l_Lean_Elab_Term_ToDepElimPattern_normalize(x_175, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_176) == 0) { -return x_175; +uint8_t x_177; +x_177 = !lean_is_exclusive(x_176); +if (x_177 == 0) +{ +lean_object* x_178; lean_object* x_179; +x_178 = lean_ctor_get(x_176, 0); +x_179 = l_Lean_mkPatternWithRef(x_178, x_174); +lean_ctor_set(x_176, 0, x_179); +return x_176; } else { -lean_object* x_184; lean_object* x_185; lean_object* x_186; -x_184 = lean_ctor_get(x_175, 0); -x_185 = lean_ctor_get(x_175, 1); +lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; +x_180 = lean_ctor_get(x_176, 0); +x_181 = lean_ctor_get(x_176, 1); +lean_inc(x_181); +lean_inc(x_180); +lean_dec(x_176); +x_182 = l_Lean_mkPatternWithRef(x_180, x_174); +x_183 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_183, 0, x_182); +lean_ctor_set(x_183, 1, x_181); +return x_183; +} +} +else +{ +uint8_t x_184; +lean_dec(x_174); +x_184 = !lean_is_exclusive(x_176); +if (x_184 == 0) +{ +return x_176; +} +else +{ +lean_object* x_185; lean_object* x_186; lean_object* x_187; +x_185 = lean_ctor_get(x_176, 0); +x_186 = lean_ctor_get(x_176, 1); +lean_inc(x_186); lean_inc(x_185); -lean_inc(x_184); -lean_dec(x_175); -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_dec(x_176); +x_187 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_187, 0, x_185); +lean_ctor_set(x_187, 1, x_186); +return x_187; } } } } else { -lean_object* x_187; lean_object* x_188; +lean_object* x_188; lean_object* x_189; lean_dec(x_1); -x_187 = lean_ctor_get(x_11, 0); -lean_inc(x_187); +x_188 = lean_ctor_get(x_11, 0); +lean_inc(x_188); lean_dec(x_11); -x_188 = l_Lean_Elab_Term_ToDepElimPattern_normalize_processInaccessible(x_187, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -return x_188; +x_189 = l_Lean_Elab_Term_ToDepElimPattern_normalize_processInaccessible(x_188, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +return x_189; } } } @@ -21311,231 +21339,144 @@ return x_24; } } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_toPattern___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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_toPattern___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_7; lean_object* x_8; +lean_object* x_8; lean_object* x_9; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_8 = l_List_reverse___rarg(x_2); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_7); +return x_9; +} +else +{ +uint8_t x_10; +x_10 = !lean_is_exclusive(x_1); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_11 = lean_ctor_get(x_1, 0); +x_12 = lean_ctor_get(x_1, 1); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_13 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_toPattern(x_11, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_13) == 0) +{ +lean_object* x_14; lean_object* x_15; +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_14); +{ +lean_object* _tmp_0 = x_12; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_6 = x_15; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_7 = _tmp_6; +} +goto _start; +} +else +{ +uint8_t x_17; +lean_free_object(x_1); +lean_dec(x_12); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_7 = lean_box(0); -x_8 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_8, 0, x_7); -lean_ctor_set(x_8, 1, x_6); -return x_8; -} -else +x_17 = !lean_is_exclusive(x_13); +if (x_17 == 0) { -uint8_t x_9; -x_9 = !lean_is_exclusive(x_1); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_10 = lean_ctor_get(x_1, 0); -x_11 = lean_ctor_get(x_1, 1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_12 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_toPattern(x_10, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_12) == 0) -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); -lean_inc(x_14); -lean_dec(x_12); -x_15 = l_List_mapM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_toPattern___spec__4(x_11, x_2, x_3, x_4, x_5, x_14); -if (lean_obj_tag(x_15) == 0) -{ -uint8_t x_16; -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) -{ -lean_object* x_17; -x_17 = lean_ctor_get(x_15, 0); -lean_ctor_set(x_1, 1, x_17); -lean_ctor_set(x_1, 0, x_13); -lean_ctor_set(x_15, 0, x_1); -return x_15; +return x_13; } else { lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_15, 0); -x_19 = lean_ctor_get(x_15, 1); +x_18 = lean_ctor_get(x_13, 0); +x_19 = lean_ctor_get(x_13, 1); lean_inc(x_19); lean_inc(x_18); -lean_dec(x_15); -lean_ctor_set(x_1, 1, x_18); -lean_ctor_set(x_1, 0, x_13); -x_20 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_20, 0, x_1); +lean_dec(x_13); +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 -{ -uint8_t x_21; -lean_dec(x_13); -lean_free_object(x_1); -x_21 = !lean_is_exclusive(x_15); -if (x_21 == 0) -{ -return x_15; } else { -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_15, 0); -x_23 = lean_ctor_get(x_15, 1); -lean_inc(x_23); +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_1, 0); +x_22 = lean_ctor_get(x_1, 1); lean_inc(x_22); -lean_dec(x_15); -x_24 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -return x_24; -} -} -} -else -{ -uint8_t x_25; -lean_free_object(x_1); -lean_dec(x_11); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_25 = !lean_is_exclusive(x_12); -if (x_25 == 0) -{ -return x_12; -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_12, 0); -x_27 = lean_ctor_get(x_12, 1); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_12); -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_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_1, 0); -x_30 = lean_ctor_get(x_1, 1); -lean_inc(x_30); -lean_inc(x_29); +lean_inc(x_21); lean_dec(x_1); +lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -lean_inc(x_2); -x_31 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_toPattern(x_29, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_31) == 0) +x_23 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_toPattern(x_21, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_23) == 0) { -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); -lean_inc(x_33); -lean_dec(x_31); -x_34 = l_List_mapM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_toPattern___spec__4(x_30, x_2, x_3, x_4, x_5, x_33); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -x_36 = lean_ctor_get(x_34, 1); -lean_inc(x_36); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_37 = x_34; -} else { - lean_dec_ref(x_34); - x_37 = lean_box(0); -} -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_32); -lean_ctor_set(x_38, 1, x_35); -if (lean_is_scalar(x_37)) { - x_39 = lean_alloc_ctor(0, 2, 0); -} else { - x_39 = x_37; -} -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_36); -return x_39; +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_23, 0); +lean_inc(x_24); +x_25 = lean_ctor_get(x_23, 1); +lean_inc(x_25); +lean_dec(x_23); +x_26 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_26, 0, x_24); +lean_ctor_set(x_26, 1, x_2); +x_1 = x_22; +x_2 = x_26; +x_7 = x_25; +goto _start; } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -lean_dec(x_32); -x_40 = lean_ctor_get(x_34, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_34, 1); -lean_inc(x_41); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_42 = x_34; -} else { - lean_dec_ref(x_34); - x_42 = lean_box(0); -} -if (lean_is_scalar(x_42)) { - x_43 = lean_alloc_ctor(1, 2, 0); -} else { - x_43 = x_42; -} -lean_ctor_set(x_43, 0, x_40); -lean_ctor_set(x_43, 1, x_41); -return x_43; -} -} -else -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; -lean_dec(x_30); +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; +lean_dec(x_22); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_44 = lean_ctor_get(x_31, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_31, 1); -lean_inc(x_45); -if (lean_is_exclusive(x_31)) { - lean_ctor_release(x_31, 0); - lean_ctor_release(x_31, 1); - x_46 = x_31; +x_28 = lean_ctor_get(x_23, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_23, 1); +lean_inc(x_29); +if (lean_is_exclusive(x_23)) { + lean_ctor_release(x_23, 0); + lean_ctor_release(x_23, 1); + x_30 = x_23; } else { - lean_dec_ref(x_31); - x_46 = lean_box(0); + lean_dec_ref(x_23); + x_30 = lean_box(0); } -if (lean_is_scalar(x_46)) { - x_47 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_30)) { + x_31 = lean_alloc_ctor(1, 2, 0); } else { - x_47 = x_46; + x_31 = x_30; } -lean_ctor_set(x_47, 0, x_44); -lean_ctor_set(x_47, 1, x_45); -return x_47; +lean_ctor_set(x_31, 0, x_28); +lean_ctor_set(x_31, 1, x_29); +return x_31; } } } @@ -21571,7 +21512,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_toPattern___closed__1; x_2 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_toPattern___closed__2; -x_3 = lean_unsigned_to_nat(592u); +x_3 = lean_unsigned_to_nat(589u); x_4 = lean_unsigned_to_nat(44u); x_5 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_toPattern___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -22007,7 +21948,7 @@ return x_118; } else { -lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; +lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_dec(x_1); x_119 = lean_ctor_get(x_8, 0); lean_inc(x_119); @@ -22017,80 +21958,81 @@ lean_inc(x_120); x_121 = lean_ctor_get(x_119, 1); lean_inc(x_121); lean_dec(x_119); -x_122 = l_List_mapM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_toPattern___spec__4(x_121, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_122) == 0) +x_122 = lean_box(0); +x_123 = l_List_mapM_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_toPattern___spec__4(x_121, x_122, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_123) == 0) { -uint8_t x_123; -x_123 = !lean_is_exclusive(x_122); -if (x_123 == 0) +uint8_t x_124; +x_124 = !lean_is_exclusive(x_123); +if (x_124 == 0) { -lean_object* x_124; lean_object* x_125; -x_124 = lean_ctor_get(x_122, 0); -x_125 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_125, 0, x_120); -lean_ctor_set(x_125, 1, x_124); -lean_ctor_set(x_122, 0, x_125); -return x_122; +lean_object* x_125; lean_object* x_126; +x_125 = lean_ctor_get(x_123, 0); +x_126 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_126, 0, x_120); +lean_ctor_set(x_126, 1, x_125); +lean_ctor_set(x_123, 0, x_126); +return x_123; } else { -lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; -x_126 = lean_ctor_get(x_122, 0); -x_127 = lean_ctor_get(x_122, 1); +lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; +x_127 = lean_ctor_get(x_123, 0); +x_128 = lean_ctor_get(x_123, 1); +lean_inc(x_128); lean_inc(x_127); -lean_inc(x_126); -lean_dec(x_122); -x_128 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_128, 0, x_120); -lean_ctor_set(x_128, 1, x_126); -x_129 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_129, 0, x_128); +lean_dec(x_123); +x_129 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_129, 0, x_120); lean_ctor_set(x_129, 1, x_127); -return x_129; +x_130 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_130, 0, x_129); +lean_ctor_set(x_130, 1, x_128); +return x_130; } } else { -uint8_t x_130; +uint8_t x_131; lean_dec(x_120); -x_130 = !lean_is_exclusive(x_122); -if (x_130 == 0) +x_131 = !lean_is_exclusive(x_123); +if (x_131 == 0) { -return x_122; +return x_123; } else { -lean_object* x_131; lean_object* x_132; lean_object* x_133; -x_131 = lean_ctor_get(x_122, 0); -x_132 = lean_ctor_get(x_122, 1); +lean_object* x_132; lean_object* x_133; lean_object* x_134; +x_132 = lean_ctor_get(x_123, 0); +x_133 = lean_ctor_get(x_123, 1); +lean_inc(x_133); lean_inc(x_132); -lean_inc(x_131); -lean_dec(x_122); -x_133 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_133, 0, x_131); -lean_ctor_set(x_133, 1, x_132); -return x_133; +lean_dec(x_123); +x_134 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_134, 0, x_132); +lean_ctor_set(x_134, 1, x_133); +return x_134; } } } } else { -lean_object* x_134; lean_object* x_135; lean_object* x_136; +lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_134 = lean_ctor_get(x_7, 0); -lean_inc(x_134); +x_135 = lean_ctor_get(x_7, 0); +lean_inc(x_135); lean_dec(x_7); -x_135 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_135, 0, x_134); -x_136 = lean_alloc_ctor(0, 2, 0); +x_136 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_136, 0, x_135); -lean_ctor_set(x_136, 1, x_6); -return x_136; +x_137 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_137, 0, x_136); +lean_ctor_set(x_137, 1, x_6); +return x_137; } } } @@ -22322,7 +22264,7 @@ lean_inc(x_30); lean_dec(x_26); x_31 = lean_box(0); lean_inc(x_11); -x_32 = l_Std_RBNode_insert___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__1(x_28, x_11, x_31); +x_32 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_28, x_11, x_31); x_33 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_33, 0, x_32); lean_ctor_set(x_33, 1, x_29); @@ -22488,7 +22430,7 @@ lean_inc(x_76); lean_dec(x_72); x_77 = lean_box(0); lean_inc(x_11); -x_78 = l_Std_RBNode_insert___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__1(x_74, x_11, x_77); +x_78 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_74, x_11, x_77); x_79 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_79, 0, x_78); lean_ctor_set(x_79, 1, x_75); @@ -31008,10 +30950,71 @@ goto _start; } } } +LEAN_EXPORT lean_object* l_Lean_Meta_withLCtx___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__25___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; lean_object* x_12; +x_11 = lean_apply_2(x_3, x_4, x_5); +x_12 = l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalContextImp___rarg(x_1, x_2, x_11, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_12) == 0) +{ +uint8_t x_13; +x_13 = !lean_is_exclusive(x_12); +if (x_13 == 0) +{ +return x_12; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_14 = lean_ctor_get(x_12, 0); +x_15 = lean_ctor_get(x_12, 1); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_12); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_14); +lean_ctor_set(x_16, 1, x_15); +return x_16; +} +} +else +{ +uint8_t x_17; +x_17 = !lean_is_exclusive(x_12); +if (x_17 == 0) +{ +return x_12; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_12, 0); +x_19 = lean_ctor_get(x_12, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_12); +x_20 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_20, 0, x_18); +lean_ctor_set(x_20, 1, x_19); +return x_20; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_withLCtx___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__25(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_withLCtx___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__25___rarg), 10, 0); +return x_2; +} +} LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; lean_object* 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; size_t x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; +lean_dec(x_4); x_12 = lean_ctor_get(x_7, 1); lean_inc(x_12); x_13 = l_Lean_Meta_getLocalInstances(x_7, x_8, x_9, x_10, x_11); @@ -31046,7 +31049,7 @@ lean_inc(x_24); x_25 = lean_ctor_get(x_22, 1); lean_inc(x_25); lean_dec(x_22); -x_26 = l_Lean_Meta_withLCtx___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_FunBinders_elabFunBinderViews___spec__3___rarg(x_24, x_25, x_3, x_5, x_6, x_7, x_8, x_9, x_10, x_23); +x_26 = l_Lean_Meta_withLCtx___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__25___rarg(x_24, x_25, x_3, x_5, x_6, x_7, x_8, x_9, x_10, x_23); return x_26; } } @@ -31130,7 +31133,6 @@ x_37 = lean_ctor_get(x_35, 1); lean_inc(x_37); lean_dec(x_35); x_38 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___rarg___lambda__1(x_13, x_2, x_3, x_36, x_4, x_5, x_6, x_7, x_8, x_9, x_37); -lean_dec(x_36); return x_38; } } @@ -31450,15 +31452,6 @@ lean_dec(x_2); return x_15; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___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* x_11) { -_start: -{ -lean_object* x_12; -x_12 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___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); -lean_dec(x_4); -return x_12; -} -} LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withoutAuxDiscrs___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { @@ -36032,6 +36025,8 @@ lean_dec(x_20); lean_inc(x_10); lean_inc(x_9); lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); x_23 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor(x_15, x_5, x_6, x_7, x_8, x_9, x_10, x_22); if (lean_obj_tag(x_23) == 0) { @@ -36057,6 +36052,8 @@ 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_29 = !lean_is_exclusive(x_23); if (x_29 == 0) { @@ -36086,6 +36083,8 @@ 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_33 = !lean_is_exclusive(x_20); if (x_33 == 0) { @@ -36114,6 +36113,8 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); lean_dec(x_4); x_37 = !lean_is_exclusive(x_16); if (x_37 == 0) @@ -36142,6 +36143,8 @@ 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_41 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_41, 0, x_4); lean_ctor_set(x_41, 1, x_11); @@ -36160,6 +36163,8 @@ if (x_12 == 0) { lean_object* x_13; lean_dec(x_10); +lean_dec(x_4); +lean_dec(x_3); lean_inc(x_2); x_13 = l_Lean_Meta_check(x_2, x_5, x_6, x_7, x_8, x_9); if (lean_obj_tag(x_13) == 0) @@ -36317,8 +36322,6 @@ lean_dec(x_2); x_13 = lean_unbox_usize(x_3); lean_dec(x_3); x_14 = l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateMatchType___spec__1(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_6); -lean_dec(x_5); lean_dec(x_1); return x_14; } @@ -36328,8 +36331,6 @@ _start: { lean_object* x_10; x_10 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateMatchType(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -lean_dec(x_4); -lean_dec(x_3); lean_dec(x_1); return x_10; } @@ -37907,6 +37908,8 @@ lean_inc(x_20); lean_inc(x_19); lean_inc(x_18); lean_inc(x_17); +lean_inc(x_16); +lean_inc(x_15); x_35 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_updateMatchType(x_33, x_13, x_15, x_16, x_17, x_18, x_19, x_20, x_34); if (lean_obj_tag(x_35) == 0) { @@ -39617,7 +39620,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_toPattern___closed__1; x_2 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_isMatchUnit_x3f___closed__4; -x_3 = lean_unsigned_to_nat(1029u); +x_3 = lean_unsigned_to_nat(1026u); x_4 = lean_unsigned_to_nat(2u); x_5 = l___private_Lean_Elab_Match_0__Lean_Elab_Term_isMatchUnit_x3f___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -41282,157 +41285,180 @@ return x_34; } } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___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) { _start: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_9; lean_object* x_10; -lean_dec(x_7); +lean_object* x_10; lean_object* x_11; +lean_dec(x_8); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); -x_9 = lean_box(0); -x_10 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_10, 0, x_9); -lean_ctor_set(x_10, 1, x_8); -return x_10; +x_10 = l_List_reverse___rarg(x_2); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_10); +lean_ctor_set(x_11, 1, x_9); +return x_11; } else { -uint8_t x_11; -x_11 = !lean_is_exclusive(x_1); -if (x_11 == 0) +uint8_t x_12; +x_12 = !lean_is_exclusive(x_1); +if (x_12 == 0) { -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_12 = lean_ctor_get(x_1, 0); -x_13 = lean_ctor_get(x_1, 1); -x_14 = lean_ctor_get(x_12, 0); -lean_inc(x_14); -lean_dec(x_12); -x_15 = l_Lean_Meta_Match_instantiateAltLHSMVars(x_14, x_4, x_5, x_6, x_7, x_8); -x_16 = lean_ctor_get(x_15, 0); -lean_inc(x_16); -x_17 = lean_ctor_get(x_15, 1); +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_13 = lean_ctor_get(x_1, 0); +x_14 = lean_ctor_get(x_1, 1); +x_15 = lean_ctor_get(x_13, 0); +lean_inc(x_15); +lean_dec(x_13); +x_16 = l_Lean_Meta_Match_instantiateAltLHSMVars(x_15, x_5, x_6, x_7, x_8, x_9); +x_17 = lean_ctor_get(x_16, 0); lean_inc(x_17); -lean_dec(x_15); -x_18 = lean_ctor_get(x_16, 0); +x_18 = lean_ctor_get(x_16, 1); lean_inc(x_18); -x_19 = lean_ctor_get(x_16, 1); +lean_dec(x_16); +x_19 = lean_ctor_get(x_17, 0); lean_inc(x_19); -x_20 = lean_ctor_get(x_6, 0); -x_21 = lean_ctor_get(x_6, 1); -x_22 = lean_ctor_get(x_6, 2); -x_23 = lean_ctor_get(x_6, 3); -x_24 = lean_ctor_get(x_6, 4); -x_25 = lean_ctor_get(x_6, 5); -x_26 = lean_ctor_get(x_6, 6); -x_27 = lean_ctor_get(x_6, 7); -x_28 = lean_ctor_get(x_6, 8); -x_29 = lean_ctor_get(x_6, 9); -x_30 = lean_ctor_get(x_6, 10); -x_31 = l_Lean_replaceRef(x_18, x_25); -lean_dec(x_18); +x_20 = lean_ctor_get(x_17, 1); +lean_inc(x_20); +x_21 = lean_ctor_get(x_7, 0); +x_22 = lean_ctor_get(x_7, 1); +x_23 = lean_ctor_get(x_7, 2); +x_24 = lean_ctor_get(x_7, 3); +x_25 = lean_ctor_get(x_7, 4); +x_26 = lean_ctor_get(x_7, 5); +x_27 = lean_ctor_get(x_7, 6); +x_28 = lean_ctor_get(x_7, 7); +x_29 = lean_ctor_get(x_7, 8); +x_30 = lean_ctor_get(x_7, 9); +x_31 = lean_ctor_get(x_7, 10); +x_32 = l_Lean_replaceRef(x_19, x_26); +lean_dec(x_19); +lean_inc(x_31); lean_inc(x_30); lean_inc(x_29); lean_inc(x_28); lean_inc(x_27); -lean_inc(x_26); +lean_inc(x_25); lean_inc(x_24); lean_inc(x_23); lean_inc(x_22); lean_inc(x_21); -lean_inc(x_20); -x_32 = lean_alloc_ctor(0, 11, 0); -lean_ctor_set(x_32, 0, x_20); -lean_ctor_set(x_32, 1, x_21); -lean_ctor_set(x_32, 2, x_22); -lean_ctor_set(x_32, 3, x_23); -lean_ctor_set(x_32, 4, x_24); -lean_ctor_set(x_32, 5, x_31); -lean_ctor_set(x_32, 6, x_26); -lean_ctor_set(x_32, 7, x_27); -lean_ctor_set(x_32, 8, x_28); -lean_ctor_set(x_32, 9, x_29); -lean_ctor_set(x_32, 10, x_30); -x_33 = lean_box(0); -lean_inc(x_7); -lean_inc(x_32); +x_33 = lean_alloc_ctor(0, 11, 0); +lean_ctor_set(x_33, 0, x_21); +lean_ctor_set(x_33, 1, x_22); +lean_ctor_set(x_33, 2, x_23); +lean_ctor_set(x_33, 3, x_24); +lean_ctor_set(x_33, 4, x_25); +lean_ctor_set(x_33, 5, x_32); +lean_ctor_set(x_33, 6, x_27); +lean_ctor_set(x_33, 7, x_28); +lean_ctor_set(x_33, 8, x_29); +lean_ctor_set(x_33, 9, x_30); +lean_ctor_set(x_33, 10, x_31); +x_34 = lean_box(0); +lean_inc(x_8); +lean_inc(x_33); +lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -lean_inc(x_2); -lean_inc_n(x_19, 2); -x_34 = l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__9(x_19, x_19, x_33, x_2, x_3, x_4, x_5, x_32, x_7, x_17); -if (lean_obj_tag(x_34) == 0) +lean_inc_n(x_20, 2); +x_35 = l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__9(x_20, x_20, x_34, x_3, x_4, x_5, x_6, x_33, x_8, x_18); +if (lean_obj_tag(x_35) == 0) { -lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_35 = lean_ctor_get(x_34, 1); -lean_inc(x_35); -lean_dec(x_34); -x_36 = lean_ctor_get(x_16, 2); +lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_36 = lean_ctor_get(x_35, 1); lean_inc(x_36); -lean_inc(x_7); +lean_dec(x_35); +x_37 = lean_ctor_get(x_17, 2); +lean_inc(x_37); +lean_inc(x_8); +lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -lean_inc(x_2); -x_37 = l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__10(x_19, x_36, x_33, x_2, x_3, x_4, x_5, x_32, x_7, x_35); -if (lean_obj_tag(x_37) == 0) +x_38 = l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__10(x_20, x_37, x_34, x_3, x_4, x_5, x_6, x_33, x_8, x_36); +if (lean_obj_tag(x_38) == 0) { -lean_object* x_38; lean_object* x_39; -x_38 = lean_ctor_get(x_37, 1); -lean_inc(x_38); -lean_dec(x_37); -x_39 = l_List_mapM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__11(x_13, x_2, x_3, x_4, x_5, x_6, x_7, x_38); -if (lean_obj_tag(x_39) == 0) +lean_object* x_39; +x_39 = lean_ctor_get(x_38, 1); +lean_inc(x_39); +lean_dec(x_38); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_17); { -uint8_t x_40; -x_40 = !lean_is_exclusive(x_39); -if (x_40 == 0) +lean_object* _tmp_0 = x_14; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_8 = x_39; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_9 = _tmp_8; +} +goto _start; +} +else { -lean_object* x_41; -x_41 = lean_ctor_get(x_39, 0); -lean_ctor_set(x_1, 1, x_41); -lean_ctor_set(x_1, 0, x_16); -lean_ctor_set(x_39, 0, x_1); -return x_39; +uint8_t x_41; +lean_dec(x_17); +lean_free_object(x_1); +lean_dec(x_14); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_41 = !lean_is_exclusive(x_38); +if (x_41 == 0) +{ +return x_38; } else { lean_object* x_42; lean_object* x_43; lean_object* x_44; -x_42 = lean_ctor_get(x_39, 0); -x_43 = lean_ctor_get(x_39, 1); +x_42 = lean_ctor_get(x_38, 0); +x_43 = lean_ctor_get(x_38, 1); lean_inc(x_43); lean_inc(x_42); -lean_dec(x_39); -lean_ctor_set(x_1, 1, x_42); -lean_ctor_set(x_1, 0, x_16); -x_44 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_44, 0, x_1); +lean_dec(x_38); +x_44 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_44, 0, x_42); lean_ctor_set(x_44, 1, x_43); return x_44; } } +} else { uint8_t x_45; -lean_dec(x_16); +lean_dec(x_33); +lean_dec(x_20); +lean_dec(x_17); lean_free_object(x_1); -x_45 = !lean_is_exclusive(x_39); +lean_dec(x_14); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_45 = !lean_is_exclusive(x_35); if (x_45 == 0) { -return x_39; +return x_35; } else { lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_39, 0); -x_47 = lean_ctor_get(x_39, 1); +x_46 = lean_ctor_get(x_35, 0); +x_47 = lean_ctor_get(x_35, 1); lean_inc(x_47); lean_inc(x_46); -lean_dec(x_39); +lean_dec(x_35); x_48 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_48, 0, x_46); lean_ctor_set(x_48, 1, x_47); @@ -41442,271 +41468,163 @@ return x_48; } else { -uint8_t x_49; -lean_dec(x_16); -lean_free_object(x_1); -lean_dec(x_13); -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_49 = !lean_is_exclusive(x_37); -if (x_49 == 0) -{ -return x_37; -} -else -{ -lean_object* x_50; lean_object* x_51; lean_object* x_52; -x_50 = lean_ctor_get(x_37, 0); -x_51 = lean_ctor_get(x_37, 1); -lean_inc(x_51); +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_49 = lean_ctor_get(x_1, 0); +x_50 = lean_ctor_get(x_1, 1); lean_inc(x_50); -lean_dec(x_37); -x_52 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_52, 0, x_50); -lean_ctor_set(x_52, 1, x_51); -return x_52; -} -} -} -else -{ -uint8_t x_53; -lean_dec(x_32); -lean_dec(x_19); -lean_dec(x_16); -lean_free_object(x_1); -lean_dec(x_13); -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_53 = !lean_is_exclusive(x_34); -if (x_53 == 0) -{ -return x_34; -} -else -{ -lean_object* x_54; lean_object* x_55; lean_object* x_56; -x_54 = lean_ctor_get(x_34, 0); -x_55 = lean_ctor_get(x_34, 1); -lean_inc(x_55); -lean_inc(x_54); -lean_dec(x_34); -x_56 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_56, 0, x_54); -lean_ctor_set(x_56, 1, x_55); -return x_56; -} -} -} -else -{ -lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; -x_57 = lean_ctor_get(x_1, 0); -x_58 = lean_ctor_get(x_1, 1); -lean_inc(x_58); -lean_inc(x_57); +lean_inc(x_49); lean_dec(x_1); -x_59 = lean_ctor_get(x_57, 0); -lean_inc(x_59); -lean_dec(x_57); -x_60 = l_Lean_Meta_Match_instantiateAltLHSMVars(x_59, x_4, x_5, x_6, x_7, x_8); -x_61 = lean_ctor_get(x_60, 0); -lean_inc(x_61); -x_62 = lean_ctor_get(x_60, 1); -lean_inc(x_62); -lean_dec(x_60); -x_63 = lean_ctor_get(x_61, 0); -lean_inc(x_63); -x_64 = lean_ctor_get(x_61, 1); -lean_inc(x_64); -x_65 = lean_ctor_get(x_6, 0); -x_66 = lean_ctor_get(x_6, 1); -x_67 = lean_ctor_get(x_6, 2); -x_68 = lean_ctor_get(x_6, 3); -x_69 = lean_ctor_get(x_6, 4); -x_70 = lean_ctor_get(x_6, 5); -x_71 = lean_ctor_get(x_6, 6); -x_72 = lean_ctor_get(x_6, 7); -x_73 = lean_ctor_get(x_6, 8); -x_74 = lean_ctor_get(x_6, 9); -x_75 = lean_ctor_get(x_6, 10); -x_76 = l_Lean_replaceRef(x_63, x_70); -lean_dec(x_63); -lean_inc(x_75); -lean_inc(x_74); -lean_inc(x_73); -lean_inc(x_72); -lean_inc(x_71); -lean_inc(x_69); -lean_inc(x_68); +x_51 = lean_ctor_get(x_49, 0); +lean_inc(x_51); +lean_dec(x_49); +x_52 = l_Lean_Meta_Match_instantiateAltLHSMVars(x_51, x_5, x_6, x_7, x_8, x_9); +x_53 = lean_ctor_get(x_52, 0); +lean_inc(x_53); +x_54 = lean_ctor_get(x_52, 1); +lean_inc(x_54); +lean_dec(x_52); +x_55 = lean_ctor_get(x_53, 0); +lean_inc(x_55); +x_56 = lean_ctor_get(x_53, 1); +lean_inc(x_56); +x_57 = lean_ctor_get(x_7, 0); +x_58 = lean_ctor_get(x_7, 1); +x_59 = lean_ctor_get(x_7, 2); +x_60 = lean_ctor_get(x_7, 3); +x_61 = lean_ctor_get(x_7, 4); +x_62 = lean_ctor_get(x_7, 5); +x_63 = lean_ctor_get(x_7, 6); +x_64 = lean_ctor_get(x_7, 7); +x_65 = lean_ctor_get(x_7, 8); +x_66 = lean_ctor_get(x_7, 9); +x_67 = lean_ctor_get(x_7, 10); +x_68 = l_Lean_replaceRef(x_55, x_62); +lean_dec(x_55); lean_inc(x_67); lean_inc(x_66); lean_inc(x_65); -x_77 = lean_alloc_ctor(0, 11, 0); -lean_ctor_set(x_77, 0, x_65); -lean_ctor_set(x_77, 1, x_66); -lean_ctor_set(x_77, 2, x_67); -lean_ctor_set(x_77, 3, x_68); -lean_ctor_set(x_77, 4, x_69); -lean_ctor_set(x_77, 5, x_76); -lean_ctor_set(x_77, 6, x_71); -lean_ctor_set(x_77, 7, x_72); -lean_ctor_set(x_77, 8, x_73); -lean_ctor_set(x_77, 9, x_74); -lean_ctor_set(x_77, 10, x_75); -x_78 = lean_box(0); -lean_inc(x_7); -lean_inc(x_77); +lean_inc(x_64); +lean_inc(x_63); +lean_inc(x_61); +lean_inc(x_60); +lean_inc(x_59); +lean_inc(x_58); +lean_inc(x_57); +x_69 = lean_alloc_ctor(0, 11, 0); +lean_ctor_set(x_69, 0, x_57); +lean_ctor_set(x_69, 1, x_58); +lean_ctor_set(x_69, 2, x_59); +lean_ctor_set(x_69, 3, x_60); +lean_ctor_set(x_69, 4, x_61); +lean_ctor_set(x_69, 5, x_68); +lean_ctor_set(x_69, 6, x_63); +lean_ctor_set(x_69, 7, x_64); +lean_ctor_set(x_69, 8, x_65); +lean_ctor_set(x_69, 9, x_66); +lean_ctor_set(x_69, 10, x_67); +x_70 = lean_box(0); +lean_inc(x_8); +lean_inc(x_69); +lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -lean_inc(x_2); -lean_inc_n(x_64, 2); -x_79 = l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__9(x_64, x_64, x_78, x_2, x_3, x_4, x_5, x_77, x_7, x_62); -if (lean_obj_tag(x_79) == 0) +lean_inc_n(x_56, 2); +x_71 = l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__9(x_56, x_56, x_70, x_3, x_4, x_5, x_6, x_69, x_8, x_54); +if (lean_obj_tag(x_71) == 0) { -lean_object* x_80; lean_object* x_81; lean_object* x_82; -x_80 = lean_ctor_get(x_79, 1); -lean_inc(x_80); -lean_dec(x_79); -x_81 = lean_ctor_get(x_61, 2); -lean_inc(x_81); -lean_inc(x_7); +lean_object* x_72; lean_object* x_73; lean_object* x_74; +x_72 = lean_ctor_get(x_71, 1); +lean_inc(x_72); +lean_dec(x_71); +x_73 = lean_ctor_get(x_53, 2); +lean_inc(x_73); +lean_inc(x_8); +lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -lean_inc(x_2); -x_82 = l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__10(x_64, x_81, x_78, x_2, x_3, x_4, x_5, x_77, x_7, x_80); -if (lean_obj_tag(x_82) == 0) +x_74 = l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__10(x_56, x_73, x_70, x_3, x_4, x_5, x_6, x_69, x_8, x_72); +if (lean_obj_tag(x_74) == 0) { -lean_object* x_83; lean_object* x_84; -x_83 = lean_ctor_get(x_82, 1); +lean_object* x_75; lean_object* x_76; +x_75 = lean_ctor_get(x_74, 1); +lean_inc(x_75); +lean_dec(x_74); +x_76 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_76, 0, x_53); +lean_ctor_set(x_76, 1, x_2); +x_1 = x_50; +x_2 = x_76; +x_9 = x_75; +goto _start; +} +else +{ +lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; +lean_dec(x_53); +lean_dec(x_50); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_78 = lean_ctor_get(x_74, 0); +lean_inc(x_78); +x_79 = lean_ctor_get(x_74, 1); +lean_inc(x_79); +if (lean_is_exclusive(x_74)) { + lean_ctor_release(x_74, 0); + lean_ctor_release(x_74, 1); + x_80 = x_74; +} else { + lean_dec_ref(x_74); + x_80 = lean_box(0); +} +if (lean_is_scalar(x_80)) { + x_81 = lean_alloc_ctor(1, 2, 0); +} else { + x_81 = x_80; +} +lean_ctor_set(x_81, 0, x_78); +lean_ctor_set(x_81, 1, x_79); +return x_81; +} +} +else +{ +lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; +lean_dec(x_69); +lean_dec(x_56); +lean_dec(x_53); +lean_dec(x_50); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_82 = lean_ctor_get(x_71, 0); +lean_inc(x_82); +x_83 = lean_ctor_get(x_71, 1); lean_inc(x_83); -lean_dec(x_82); -x_84 = l_List_mapM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__11(x_58, x_2, x_3, x_4, x_5, x_6, x_7, x_83); -if (lean_obj_tag(x_84) == 0) -{ -lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; -x_85 = lean_ctor_get(x_84, 0); -lean_inc(x_85); -x_86 = lean_ctor_get(x_84, 1); -lean_inc(x_86); -if (lean_is_exclusive(x_84)) { - lean_ctor_release(x_84, 0); - lean_ctor_release(x_84, 1); - x_87 = x_84; +if (lean_is_exclusive(x_71)) { + lean_ctor_release(x_71, 0); + lean_ctor_release(x_71, 1); + x_84 = x_71; } else { - lean_dec_ref(x_84); - x_87 = lean_box(0); + lean_dec_ref(x_71); + x_84 = lean_box(0); } -x_88 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_88, 0, x_61); -lean_ctor_set(x_88, 1, x_85); -if (lean_is_scalar(x_87)) { - x_89 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_84)) { + x_85 = lean_alloc_ctor(1, 2, 0); } else { - x_89 = x_87; + x_85 = x_84; } -lean_ctor_set(x_89, 0, x_88); -lean_ctor_set(x_89, 1, x_86); -return x_89; -} -else -{ -lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; -lean_dec(x_61); -x_90 = lean_ctor_get(x_84, 0); -lean_inc(x_90); -x_91 = lean_ctor_get(x_84, 1); -lean_inc(x_91); -if (lean_is_exclusive(x_84)) { - lean_ctor_release(x_84, 0); - lean_ctor_release(x_84, 1); - x_92 = x_84; -} else { - lean_dec_ref(x_84); - x_92 = lean_box(0); -} -if (lean_is_scalar(x_92)) { - x_93 = lean_alloc_ctor(1, 2, 0); -} else { - x_93 = x_92; -} -lean_ctor_set(x_93, 0, x_90); -lean_ctor_set(x_93, 1, x_91); -return x_93; -} -} -else -{ -lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; -lean_dec(x_61); -lean_dec(x_58); -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_94 = lean_ctor_get(x_82, 0); -lean_inc(x_94); -x_95 = lean_ctor_get(x_82, 1); -lean_inc(x_95); -if (lean_is_exclusive(x_82)) { - lean_ctor_release(x_82, 0); - lean_ctor_release(x_82, 1); - x_96 = x_82; -} else { - lean_dec_ref(x_82); - x_96 = lean_box(0); -} -if (lean_is_scalar(x_96)) { - x_97 = lean_alloc_ctor(1, 2, 0); -} else { - x_97 = x_96; -} -lean_ctor_set(x_97, 0, x_94); -lean_ctor_set(x_97, 1, x_95); -return x_97; -} -} -else -{ -lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; -lean_dec(x_77); -lean_dec(x_64); -lean_dec(x_61); -lean_dec(x_58); -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_98 = lean_ctor_get(x_79, 0); -lean_inc(x_98); -x_99 = lean_ctor_get(x_79, 1); -lean_inc(x_99); -if (lean_is_exclusive(x_79)) { - lean_ctor_release(x_79, 0); - lean_ctor_release(x_79, 1); - x_100 = x_79; -} else { - lean_dec_ref(x_79); - x_100 = lean_box(0); -} -if (lean_is_scalar(x_100)) { - x_101 = lean_alloc_ctor(1, 2, 0); -} else { - x_101 = x_100; -} -lean_ctor_set(x_101, 0, x_98); -lean_ctor_set(x_101, 1, x_99); -return x_101; +lean_ctor_set(x_85, 0, x_82); +lean_ctor_set(x_85, 1, x_83); +return x_85; } } } @@ -41893,21 +41811,21 @@ if (lean_is_exclusive(x_17)) { } if (x_5 == 0) { -uint8_t x_62; -x_62 = lean_unbox(x_24); +uint8_t x_63; +x_63 = lean_unbox(x_24); lean_dec(x_24); -x_26 = x_62; -goto block_61; +x_26 = x_63; +goto block_62; } else { -uint8_t x_63; +uint8_t x_64; lean_dec(x_24); -x_63 = 1; -x_26 = x_63; -goto block_61; +x_64 = 1; +x_26 = x_64; +goto block_62; } -block_61: +block_62: { lean_object* x_27; lean_inc(x_12); @@ -41919,7 +41837,7 @@ lean_inc(x_7); x_27 = l_Lean_Elab_Term_synthesizeSyntheticMVarsUsingDefault(x_7, x_8, x_9, x_10, x_11, x_12, x_18); if (lean_obj_tag(x_27) == 0) { -lean_object* x_28; lean_object* x_29; size_t 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; +lean_object* x_28; lean_object* x_29; size_t 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; lean_object* x_38; x_28 = lean_ctor_get(x_27, 1); lean_inc(x_28); lean_dec(x_27); @@ -41936,115 +41854,116 @@ x_35 = lean_ctor_get(x_33, 1); lean_inc(x_35); lean_dec(x_33); x_36 = lean_array_to_list(lean_box(0), x_23); -x_37 = l_List_mapM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__11(x_36, x_7, x_8, x_9, x_10, x_11, x_12, x_35); +x_37 = lean_box(0); +x_38 = l_List_mapM_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__11(x_36, x_37, x_7, x_8, x_9, x_10, x_11, x_12, x_35); lean_dec(x_11); -if (lean_obj_tag(x_37) == 0) +if (lean_obj_tag(x_38) == 0) { -uint8_t x_38; -x_38 = !lean_is_exclusive(x_37); -if (x_38 == 0) +uint8_t x_39; +x_39 = !lean_is_exclusive(x_38); +if (x_39 == 0) { -lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; -x_39 = lean_ctor_get(x_37, 0); -x_40 = lean_box(x_26); +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_40 = lean_ctor_get(x_38, 0); +x_41 = lean_box(x_26); if (lean_is_scalar(x_25)) { - x_41 = lean_alloc_ctor(0, 2, 0); -} else { - x_41 = x_25; -} -lean_ctor_set(x_41, 0, x_40); -lean_ctor_set(x_41, 1, x_32); -if (lean_is_scalar(x_22)) { x_42 = lean_alloc_ctor(0, 2, 0); } else { - x_42 = x_22; + x_42 = x_25; } -lean_ctor_set(x_42, 0, x_39); -lean_ctor_set(x_42, 1, x_41); -if (lean_is_scalar(x_20)) { +lean_ctor_set(x_42, 0, x_41); +lean_ctor_set(x_42, 1, x_32); +if (lean_is_scalar(x_22)) { x_43 = lean_alloc_ctor(0, 2, 0); } else { - x_43 = x_20; + x_43 = x_22; } -lean_ctor_set(x_43, 0, x_34); +lean_ctor_set(x_43, 0, x_40); lean_ctor_set(x_43, 1, x_42); -x_44 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_44, 0, x_19); +if (lean_is_scalar(x_20)) { + x_44 = lean_alloc_ctor(0, 2, 0); +} else { + x_44 = x_20; +} +lean_ctor_set(x_44, 0, x_34); lean_ctor_set(x_44, 1, x_43); -lean_ctor_set(x_37, 0, x_44); -return x_37; +x_45 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_45, 0, x_19); +lean_ctor_set(x_45, 1, x_44); +lean_ctor_set(x_38, 0, x_45); +return x_38; } else { -lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; -x_45 = lean_ctor_get(x_37, 0); -x_46 = lean_ctor_get(x_37, 1); +lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_46 = lean_ctor_get(x_38, 0); +x_47 = lean_ctor_get(x_38, 1); +lean_inc(x_47); lean_inc(x_46); -lean_inc(x_45); -lean_dec(x_37); -x_47 = lean_box(x_26); +lean_dec(x_38); +x_48 = lean_box(x_26); if (lean_is_scalar(x_25)) { - x_48 = lean_alloc_ctor(0, 2, 0); -} else { - x_48 = x_25; -} -lean_ctor_set(x_48, 0, x_47); -lean_ctor_set(x_48, 1, x_32); -if (lean_is_scalar(x_22)) { x_49 = lean_alloc_ctor(0, 2, 0); } else { - x_49 = x_22; + x_49 = x_25; } -lean_ctor_set(x_49, 0, x_45); -lean_ctor_set(x_49, 1, x_48); -if (lean_is_scalar(x_20)) { +lean_ctor_set(x_49, 0, x_48); +lean_ctor_set(x_49, 1, x_32); +if (lean_is_scalar(x_22)) { x_50 = lean_alloc_ctor(0, 2, 0); } else { - x_50 = x_20; + x_50 = x_22; } -lean_ctor_set(x_50, 0, x_34); +lean_ctor_set(x_50, 0, x_46); lean_ctor_set(x_50, 1, x_49); -x_51 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_51, 0, x_19); +if (lean_is_scalar(x_20)) { + x_51 = lean_alloc_ctor(0, 2, 0); +} else { + x_51 = x_20; +} +lean_ctor_set(x_51, 0, x_34); lean_ctor_set(x_51, 1, x_50); x_52 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_52, 0, x_51); -lean_ctor_set(x_52, 1, x_46); -return x_52; +lean_ctor_set(x_52, 0, x_19); +lean_ctor_set(x_52, 1, x_51); +x_53 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_53, 0, x_52); +lean_ctor_set(x_53, 1, x_47); +return x_53; } } else { -uint8_t x_53; +uint8_t x_54; lean_dec(x_34); lean_dec(x_32); lean_dec(x_25); lean_dec(x_22); lean_dec(x_20); lean_dec(x_19); -x_53 = !lean_is_exclusive(x_37); -if (x_53 == 0) +x_54 = !lean_is_exclusive(x_38); +if (x_54 == 0) { -return x_37; +return x_38; } else { -lean_object* x_54; lean_object* x_55; lean_object* x_56; -x_54 = lean_ctor_get(x_37, 0); -x_55 = lean_ctor_get(x_37, 1); +lean_object* x_55; lean_object* x_56; lean_object* x_57; +x_55 = lean_ctor_get(x_38, 0); +x_56 = lean_ctor_get(x_38, 1); +lean_inc(x_56); lean_inc(x_55); -lean_inc(x_54); -lean_dec(x_37); -x_56 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_56, 0, x_54); -lean_ctor_set(x_56, 1, x_55); -return x_56; +lean_dec(x_38); +x_57 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_57, 0, x_55); +lean_ctor_set(x_57, 1, x_56); +return x_57; } } } else { -uint8_t x_57; +uint8_t x_58; lean_dec(x_25); lean_dec(x_23); lean_dec(x_22); @@ -42057,53 +41976,53 @@ lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -x_57 = !lean_is_exclusive(x_27); -if (x_57 == 0) +x_58 = !lean_is_exclusive(x_27); +if (x_58 == 0) { return x_27; } else { -lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_58 = lean_ctor_get(x_27, 0); -x_59 = lean_ctor_get(x_27, 1); +lean_object* x_59; lean_object* x_60; lean_object* x_61; +x_59 = lean_ctor_get(x_27, 0); +x_60 = lean_ctor_get(x_27, 1); +lean_inc(x_60); lean_inc(x_59); -lean_inc(x_58); lean_dec(x_27); -x_60 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_60, 0, x_58); -lean_ctor_set(x_60, 1, x_59); -return x_60; +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; +uint8_t x_65; lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -x_64 = !lean_is_exclusive(x_14); -if (x_64 == 0) +x_65 = !lean_is_exclusive(x_14); +if (x_65 == 0) { return x_14; } else { -lean_object* x_65; lean_object* x_66; lean_object* x_67; -x_65 = lean_ctor_get(x_14, 0); -x_66 = lean_ctor_get(x_14, 1); +lean_object* x_66; lean_object* x_67; lean_object* x_68; +x_66 = lean_ctor_get(x_14, 0); +x_67 = lean_ctor_get(x_14, 1); +lean_inc(x_67); lean_inc(x_66); -lean_inc(x_65); lean_dec(x_14); -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; +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; } } } @@ -43075,13 +42994,13 @@ lean_dec(x_3); return x_9; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__11___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__11___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -lean_object* x_9; -x_9 = l_List_mapM___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__11(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -lean_dec(x_6); -return x_9; +lean_object* x_10; +x_10 = l_List_mapM_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__11(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_7); +return x_10; } } LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__12___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { @@ -43667,7 +43586,7 @@ lean_dec(x_21); x_32 = lean_array_push(x_3, x_18); x_33 = l_Lean_Expr_fvarId_x21(x_28); x_34 = lean_box(0); -x_35 = l_Std_RBNode_insert___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__1(x_4, x_33, x_34); +x_35 = l_Std_RBNode_insert___at_Lean_CollectFVars_State_add___spec__1(x_4, x_33, x_34); x_2 = x_19; x_3 = x_32; x_4 = x_35; @@ -45737,6 +45656,68 @@ return x_13; } } } +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Term_elabMatch_elabMatchDefault___spec__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +uint8_t x_10; +x_10 = !lean_is_exclusive(x_7); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_11 = lean_ctor_get(x_7, 5); +x_12 = l_Lean_replaceRef(x_1, x_11); +lean_dec(x_11); +lean_ctor_set(x_7, 5, x_12); +x_13 = l_Lean_throwError___at_Lean_Elab_Term_synthesizeInstMVarCore___spec__3(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_7); +return x_13; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_14 = lean_ctor_get(x_7, 0); +x_15 = lean_ctor_get(x_7, 1); +x_16 = lean_ctor_get(x_7, 2); +x_17 = lean_ctor_get(x_7, 3); +x_18 = lean_ctor_get(x_7, 4); +x_19 = lean_ctor_get(x_7, 5); +x_20 = lean_ctor_get(x_7, 6); +x_21 = lean_ctor_get(x_7, 7); +x_22 = lean_ctor_get(x_7, 8); +x_23 = lean_ctor_get(x_7, 9); +x_24 = lean_ctor_get(x_7, 10); +lean_inc(x_24); +lean_inc(x_23); +lean_inc(x_22); +lean_inc(x_21); +lean_inc(x_20); +lean_inc(x_19); +lean_inc(x_18); +lean_inc(x_17); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_7); +x_25 = l_Lean_replaceRef(x_1, x_19); +lean_dec(x_19); +x_26 = lean_alloc_ctor(0, 11, 0); +lean_ctor_set(x_26, 0, x_14); +lean_ctor_set(x_26, 1, x_15); +lean_ctor_set(x_26, 2, x_16); +lean_ctor_set(x_26, 3, x_17); +lean_ctor_set(x_26, 4, x_18); +lean_ctor_set(x_26, 5, x_25); +lean_ctor_set(x_26, 6, x_20); +lean_ctor_set(x_26, 7, x_21); +lean_ctor_set(x_26, 8, x_22); +lean_ctor_set(x_26, 9, x_23); +lean_ctor_set(x_26, 10, x_24); +x_27 = l_Lean_throwError___at_Lean_Elab_Term_synthesizeInstMVarCore___spec__3(x_2, x_3, x_4, x_5, x_6, x_26, x_8, x_9); +lean_dec(x_26); +return x_27; +} +} +} LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabMatch_elabMatchDefault___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: { @@ -45859,7 +45840,7 @@ lean_object* x_31; lean_object* x_32; uint8_t x_33; lean_dec(x_2); lean_dec(x_1); x_31 = l_Lean_Elab_Term_elabMatch_elabMatchDefault___closed__2; -x_32 = l_Lean_throwErrorAt___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_elabBinderViews_loop___spec__1(x_19, x_31, x_3, x_4, x_5, x_6, x_7, x_8, x_16); +x_32 = l_Lean_throwErrorAt___at_Lean_Elab_Term_elabMatch_elabMatchDefault___spec__7(x_19, x_31, x_3, x_4, x_5, x_6, x_7, x_8, x_16); lean_dec(x_8); lean_dec(x_6); lean_dec(x_5); @@ -46058,6 +46039,19 @@ x_7 = lean_box(x_6); return x_7; } } +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Term_elabMatch_elabMatchDefault___spec__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; +x_10 = l_Lean_throwErrorAt___at_Lean_Elab_Term_elabMatch_elabMatchDefault___spec__7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +return x_10; +} +} LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabMatch_elabMatchDefault___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: { @@ -46384,7 +46378,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabMatch_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(1248u); +x_1 = lean_unsigned_to_nat(1245u); x_2 = lean_unsigned_to_nat(27u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -46396,7 +46390,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabMatch_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(1265u); +x_1 = lean_unsigned_to_nat(1262u); x_2 = lean_unsigned_to_nat(37u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -46424,7 +46418,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabMatch_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(1248u); +x_1 = lean_unsigned_to_nat(1245u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -46436,7 +46430,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabMatch_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(1248u); +x_1 = lean_unsigned_to_nat(1245u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -46492,6 +46486,25 @@ x_4 = l_Lean_registerTraceClass(x_2, x_3, x_1); return x_4; } } +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabNoMatch___spec__1___rarg(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___rarg___closed__2; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabNoMatch___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; +x_7 = lean_alloc_closure((void*)(l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabNoMatch___spec__1___rarg), 1, 0); +return x_7; +} +} static lean_object* _init_l_Lean_Elab_Term_elabNoMatch___closed__1() { _start: { @@ -46552,7 +46565,7 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabForall___spec__1___rarg(x_9); +x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabNoMatch___spec__1___rarg(x_9); return x_12; } else @@ -46741,6 +46754,20 @@ return x_83; } } } +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabNoMatch___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_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_elabNoMatch___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_7; +} +} static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabNoMatch___closed__1() { _start: { @@ -46783,7 +46810,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabNoMatch_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(1271u); +x_1 = lean_unsigned_to_nat(1268u); x_2 = lean_unsigned_to_nat(29u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -46795,7 +46822,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabNoMatch_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(1283u); +x_1 = lean_unsigned_to_nat(1280u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -46823,7 +46850,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabNoMatch_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(1271u); +x_1 = lean_unsigned_to_nat(1268u); x_2 = lean_unsigned_to_nat(33u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -46835,7 +46862,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabNoMatch_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(1271u); +x_1 = lean_unsigned_to_nat(1268u); x_2 = lean_unsigned_to_nat(44u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -46882,17 +46909,14 @@ return x_4; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Util_CollectFVars(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Parser_Term(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Match_MatchPatternAttr(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Match_Match(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_GeneralizeVars(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_ForEachExpr(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_SyntheticMVars(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_Arg(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_PatternVar(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_AuxDiscr(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_BindersUtil(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Elab_PatternVar(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Elab_Quotation_Precheck(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Elab_SyntheticMVars(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Elab_Match(uint8_t builtin, lean_object* w) { lean_object * res; @@ -46901,15 +46925,6 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Util_CollectFVars(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Parser_Term(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Meta_Match_MatchPatternAttr(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Meta_Match_Match(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); @@ -46919,19 +46934,19 @@ lean_dec_ref(res); res = initialize_Lean_Meta_ForEachExpr(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Elab_SyntheticMVars(builtin, lean_io_mk_world()); +res = initialize_Lean_Elab_AuxDiscr(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Elab_Arg(builtin, lean_io_mk_world()); +res = initialize_Lean_Elab_BindersUtil(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_Elab_PatternVar(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Elab_AuxDiscr(builtin, lean_io_mk_world()); +res = initialize_Lean_Elab_Quotation_Precheck(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Elab_BindersUtil(builtin, lean_io_mk_world()); +res = initialize_Lean_Elab_SyntheticMVars(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandSimpleMatch___closed__1 = _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandSimpleMatch___closed__1(); @@ -46974,6 +46989,10 @@ l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandSimpleMatch___closed__19 = _ lean_mark_persistent(l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandSimpleMatch___closed__19); l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandSimpleMatch___closed__20 = _init_l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandSimpleMatch___closed__20(); lean_mark_persistent(l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandSimpleMatch___closed__20); +l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1___rarg___closed__1 = _init_l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1___rarg___closed__1(); +lean_mark_persistent(l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1___rarg___closed__1); +l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1___rarg___closed__2 = _init_l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1___rarg___closed__2(); +lean_mark_persistent(l_Lean_Elab_Term_mkFreshBinderName___at___private_Lean_Elab_Match_0__Lean_Elab_Term_mkUserNameFor___spec__1___rarg___closed__2); l_Lean_Elab_throwAbortTerm___at_Lean_Elab_Term_isAtomicDiscr_x3f___spec__1___rarg___closed__1 = _init_l_Lean_Elab_throwAbortTerm___at_Lean_Elab_Term_isAtomicDiscr_x3f___spec__1___rarg___closed__1(); lean_mark_persistent(l_Lean_Elab_throwAbortTerm___at_Lean_Elab_Term_isAtomicDiscr_x3f___spec__1___rarg___closed__1); l_Lean_Elab_throwAbortTerm___at_Lean_Elab_Term_isAtomicDiscr_x3f___spec__1___rarg___closed__2 = _init_l_Lean_Elab_throwAbortTerm___at_Lean_Elab_Term_isAtomicDiscr_x3f___spec__1___rarg___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/MutualDef.c b/stage0/stdlib/Lean/Elab/MutualDef.c index 52efc2a765..8c7f6e274d 100644 --- a/stage0/stdlib/Lean/Elab/MutualDef.c +++ b/stage0/stdlib/Lean/Elab/MutualDef.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.MutualDef -// Imports: Init Lean.Parser.Term Lean.Meta.Closure Lean.Meta.Check Lean.Meta.Transform Lean.PrettyPrinter.Delaborator.Options Lean.Elab.Command Lean.Elab.Match Lean.Elab.DefView Lean.Elab.PreDefinition Lean.Elab.DeclarationRange +// Imports: Init Lean.Parser.Term Lean.Meta.Closure Lean.Meta.Check Lean.Meta.Transform Lean.PrettyPrinter.Delaborator.Options Lean.Elab.Command Lean.Elab.Match Lean.Elab.DefView Lean.Elab.Deriving.Basic Lean.Elab.PreDefinition.Main Lean.Elab.DeclarationRange #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -15,11 +15,10 @@ extern "C" { #endif lean_object* l_List_reverse___rarg(lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__5___closed__4; -lean_object* l_Lean_getConstInfo___at_Lean_Elab_Term_mkConst___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_pp_letVarTypes; +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_Term_elabMutualDef_go___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_checkForHiddenUnivLevels_visit___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Term_processDefDeriving___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Term_addAutoBoundImplicits_go___spec__50(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__5(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -42,7 +41,6 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualD lean_object* lean_erase_macro_scopes(lean_object*); lean_object* l_Lean_CollectMVars_visit(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forM___at_Lean_Elab_Term_checkForHiddenUnivLevels_visit___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_withLCtx___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_FunBinders_elabFunBinderViews___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_checkForHiddenUnivLevels_visitLevel___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -63,7 +61,6 @@ lean_object* l_Lean_getDelayedMVarRoot___at_Lean_Elab_Term_isLetRecAuxMVar___spe static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getPendindMVarErrorMessage___closed__4; lean_object* l_Lean_LocalDecl_userName(lean_object*); static lean_object* l_Lean_Elab_Term_checkForHiddenUnivLevels_visitLevel___closed__7; -lean_object* l_Lean_addDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__1(size_t, size_t, lean_object*); lean_object* l_List_filterTRAux___at_Lean_resolveGlobalConstCore___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withFunLocalDecls_loop___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -87,7 +84,6 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Mutua LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___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*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Command_elabMutualDef___spec__13___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Expr_bindingDomain_x21(lean_object*); lean_object* l_Array_append___rarg(lean_object*, lean_object*); lean_object* l_List_mapTRAux___at_Lean_resolveGlobalConstCore___spec__2(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_levelMVarToParamHeaders___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -95,9 +91,9 @@ LEAN_EXPORT uint8_t l_Lean_Elab_Term_MutualClosure_getKindForLetRecs(lean_object LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__8___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Term_elabMatch_elabMatchDefault___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Std_Format_defWidth; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__5___closed__1; -lean_object* l_Lean_Meta_mkConstWithFreshMVarLevels(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldl___at_Lean_Elab_Term_MutualClosure_pushLetRecs___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__10___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__11___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isExample(lean_object*); @@ -116,7 +112,6 @@ static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___ LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_markModified___rarg(lean_object*); lean_object* l_Lean_CollectFVars_main(lean_object*, lean_object*); lean_object* l_List_filterMap___at_Lean_resolveGlobalConst___spec__1(lean_object*); -extern lean_object* l_Lean_maxRecDepthErrorMessage; lean_object* lean_array_uset(lean_object*, size_t, lean_object*); LEAN_EXPORT uint8_t l_Lean_Elab_Term_MutualClosure_FixPoint_State_modified___default; LEAN_EXPORT lean_object* l_Array_sequenceMap_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -148,11 +143,8 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_updateUsedVarsOf___lambda__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkLetRecsToLiftTypes___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_mkInst_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Command_elabMutualDef___spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_mkInst_x3f_go_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Term_MkInstResult_outParams___default; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___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_st_ref_get(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__7(lean_object*); @@ -170,7 +162,6 @@ lean_object* l_Lean_LocalContext_get_x21(lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Term_mkAuxName___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkKinds___closed__2; LEAN_EXPORT lean_object* l_Array_sequenceMap___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_mkInst_x3f_go_x3f___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabAttrs___at_Lean_Elab_Command_elabMutualDef___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__7___closed__2; static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Term_elabMutualDef_processDeriving___spec__5___closed__3; @@ -178,12 +169,10 @@ static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___la static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isMultiConstant_x3f___closed__4; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); extern lean_object* l_Lean_declRangeExt; -static lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___closed__1; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___closed__2; -LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_appFn_x21(lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_Term_MutualClosure_main___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs___spec__1(lean_object*, size_t, size_t); -LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at___aux__Init__Notation______macroRules__precMax__1___spec__1(lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__5___lambda__2___closed__3; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkKinds___closed__1; @@ -249,6 +238,7 @@ lean_object* lean_string_utf8_byte_size(lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_LocalContext_getFVars___spec__1(size_t, size_t, lean_object*); LEAN_EXPORT uint8_t l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___lambda__1(lean_object*, size_t, lean_object*); lean_object* l_Lean_Elab_Term_withLevelNames___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_collectUsed___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__7___closed__1; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__5___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__6___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -259,9 +249,7 @@ uint8_t l_Lean_Elab_DefKind_isExample(uint8_t); LEAN_EXPORT lean_object* l_Std_RBNode_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addTrace___at_Lean_Elab_addPreDefinitions___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_usize_dec_lt(size_t, size_t); -lean_object* l_liftExcept___at_Lean_Elab_liftMacroM___spec__1(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__3___closed__2; -static lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkLetRecsToLiftTypes(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabMutualDef_go___lambda__2(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__5___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -280,7 +268,6 @@ static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualD lean_object* l_Lean_Elab_Term_withAuxDecl___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__10___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__11(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isTheorem___boxed(lean_object*); static lean_object* l_Lean_Elab_Term_eraseAuxDiscr___lambda__2___closed__1; @@ -292,7 +279,6 @@ static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWher LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__5___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__6___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withFunLocalDecls(lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getFunName___closed__2; static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___closed__3; @@ -307,7 +293,6 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Mutua LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__10(lean_object*, lean_object*, lean_object*, size_t, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabMutualDef___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_mapTRAux___at_Lean_resolveGlobalConstNoOverload___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___closed__1; @@ -359,10 +344,8 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_Mutua LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__7___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__8___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__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_Syntax_matchesNull(lean_object*, lean_object*); -lean_object* l_List_forM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabMutualDef_processDeriving___spec__6___closed__4; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_expandMacroImpl_x3f(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__8___rarg___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isMultiConstant_x3f___spec__3(lean_object*, size_t, size_t); @@ -392,7 +375,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withF LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at_Lean_Elab_Term_MutualClosure_insertReplacementForMainFns___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__5___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__1___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__8___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_forM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkLetRecsToLiftTypes___spec__1___closed__2; @@ -417,7 +399,6 @@ static lean_object* l_Lean_Elab_Term_eraseAuxDiscr___closed__2; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__7(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__12; -LEAN_EXPORT lean_object* l_Lean_addAndCompile___at_Lean_Elab_Term_processDefDeriving___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_toString(lean_object*, uint8_t); static lean_object* l_Lean_Elab_Term_checkForHiddenUnivLevels_visitLevel___closed__11; lean_object* l_Lean_Elab_Term_expandDeclId(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -427,10 +408,8 @@ LEAN_EXPORT lean_object* l_Lean_Elab_getDeclarationRange___at___private_Lean_Ela LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_ins___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor___spec__3(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_hasExprMVar(lean_object*); -uint8_t lean_is_out_param(lean_object*); lean_object* l_Lean_replaceRef(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_ResolveName_resolveNamespace(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabMutualDef_processDeriving___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Term_elabMutualDef_processDeriving___spec__2___closed__2; LEAN_EXPORT uint8_t l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_typeHasRecFun___lambda__1(lean_object*, lean_object*, lean_object*); @@ -464,7 +443,6 @@ LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualD LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_insertReplacementForLetRecs(lean_object*, lean_object*); lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__7(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_throwErrorAt___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_elabBinderViews_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__2(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__2; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___closed__6; @@ -491,12 +469,12 @@ LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabMutualDef_ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Expr_instHashableExpr; -lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_mkInstanceName___spec__15(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__2; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers___lambda__2___closed__2; lean_object* lean_format_pretty(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___closed__5; static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__5___lambda__3___closed__1; +lean_object* l_Lean_Meta_withLCtx___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__25___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldl___at_Lean_Elab_Term_MutualClosure_pushLetRecs___spec__1(uint8_t, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__5___lambda__3___closed__2; static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__1; @@ -505,7 +483,6 @@ lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_obje static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__5___lambda__2___closed__2; static lean_object* l_Lean_Elab_instInhabitedDefViewElabHeader___closed__3; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_levelMVarToParamHeaders_process___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_isExprDefEqGuarded(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getPendindMVarErrorMessage___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___closed__3; @@ -513,7 +490,6 @@ lean_object* l_Lean_Expr_sort___override(lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_insert___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__4(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabMutualDef_go___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_runTermElabM___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_addInstance(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_preprocess(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_indexOfAux___at_Lean_LocalContext_erase___spec__3(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___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*); @@ -532,7 +508,6 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Mutua lean_object* l_Lean_Macro_throwErrorAt___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Environment_contains(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__2___closed__2; lean_object* l_Lean_Meta_InfoCacheKey_instHashableInfoCacheKey___boxed(lean_object*); static lean_object* l_List_mapTRAux___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getPendindMVarErrorMessage___spec__1___closed__1; @@ -573,7 +548,6 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Mutua static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__3; uint8_t l_Lean_Expr_isConstOf(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__3(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_Term_MutualClosure_main___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__3___boxed(lean_object**); static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__13; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor___spec__8___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor___spec__9(lean_object*, size_t, size_t, lean_object*); @@ -586,12 +560,9 @@ lean_object* l_Lean_Expr_bvar___override(lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__2___closed__3; LEAN_EXPORT lean_object* l_Std_RBNode_find___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_updateUsedVarsOf___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor___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_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Core_transform___at_Lean_Core_betaReduce___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_compileDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_resetZetaFVarIds___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -uint8_t l_Lean_Expr_isForall(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_FixPoint_State_usedFVarsMap___default; LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Term_elabMutualDef_processDeriving___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_cleanupOfNat___closed__1; @@ -602,7 +573,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_of_nat(lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__7___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_erase___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__2___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__1___closed__2; @@ -633,6 +603,7 @@ static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModif LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__1___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_pp_funBinderTypes; lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Term_resolveName___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_Term_MutualClosure_main___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_levelMVarToParamHeaders_process___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__8___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__9(lean_object*); @@ -658,9 +629,7 @@ lean_object* l_Lean_Expr_fvar___override(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__10___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Array_contains___at___private_Lean_Meta_Match_Value_0__Lean_Meta_isUIntTypeName___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__7___rarg___lambda__1(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Name_getString_x21(lean_object*); lean_object* l_String_intercalate(lean_object*, lean_object*); -lean_object* l_Lean_Meta_synthInstance(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__4; lean_object* l_List_redLength___rarg(lean_object*); @@ -675,7 +644,6 @@ LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_MutualD LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_cleanupOfNat___lambda__2___closed__3; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* lean_name_append_after(lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_index(lean_object*); lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); lean_object* l_Lean_Syntax_getSepArgs(lean_object*); @@ -695,7 +663,6 @@ lean_object* l_Lean_mkHole(lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers___closed__2; static lean_object* l_Lean_Elab_instInhabitedDefViewElabHeader___closed__1; static lean_object* l_Lean_getDocStringText___at_Lean_Elab_Command_elabMutualDef___spec__9___closed__2; -lean_object* lean_environment_main_module(lean_object*); static lean_object* l_Lean_Elab_Term_checkForHiddenUnivLevels_visitLevel___closed__9; lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_addAutoBoundImplicits_x27___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_checkForHiddenUnivLevels___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -704,6 +671,7 @@ lean_object* l_Lean_Elab_addMacroStack___at_Lean_Elab_Command_instAddErrorMessag LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabMutualDef___spec__5(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_removeUnusedVars___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__19(lean_object*, lean_object*, lean_object*, lean_object*, lean_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_throwErrorAt___at_Lean_Elab_elabDeriving___spec__15(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_foldM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_updateUsedVarsOf___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_panic___at_Lean_expandExplicitBindersAux_loop___spec__1(lean_object*); @@ -740,8 +708,6 @@ static lean_object* l_List_forM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_ LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__19___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__7___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabMutualDef_go___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_Term_elabMutualDef_go___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getPendindMVarErrorMessage___spec__2(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at_Lean_Elab_Term_checkForHiddenUnivLevels_visit___spec__5(lean_object*); @@ -760,7 +726,6 @@ static lean_object* l_Lean_Elab_Term_checkForHiddenUnivLevels_visitLevel___close static lean_object* l_Lean_Elab_Term_checkForHiddenUnivLevels_visitLevel___closed__8; LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__2(lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getFunName___closed__1; -lean_object* l_ReaderT_pure___at_Lean_Elab_liftMacroM___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); @@ -774,13 +739,11 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_Mutua lean_object* l_Lean_LocalDecl_replaceFVarId(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_eraseAuxDiscr___closed__1; LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Elab_Term_MutualClosure_main___spec__7(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Term_processDefDeriving(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_Term_processDefDeriving(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__5___lambda__1___closed__1; -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_Term_MutualClosure_main___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_cleanupOfNat___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Term_type; LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_pushMain(lean_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_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(lean_object*, lean_object*); lean_object* l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabMutualDef_processDeriving___spec__6___closed__1; lean_object* l_Lean_Option_setIfNotSet___at_Lean_Meta_withPPInaccessibleNamesImp___spec__1(lean_object*, lean_object*, uint8_t); @@ -790,7 +753,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check LEAN_EXPORT lean_object* l_List_foldr___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_typeHasRecFun___spec__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_logException___at_Lean_Elab_Term_exceptionToSorry___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_HashMap_insert___at___private_Lean_Meta_Check_0__Lean_Meta_checkAux_check___spec__3(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_registerFailedToInferDefTypeInfo___closed__1; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Term_elabMutualDef_processDeriving___spec__5___closed__4; @@ -823,14 +785,11 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_clean LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_isModified___rarg(lean_object*); uint8_t l_Lean_Syntax_isNone(lean_object*); lean_object* l_Lean_setEnv___at_Lean_Elab_Term_declareTacticSyntax___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__2; uint8_t l_Lean_Elab_Modifiers_isNonrec(lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__7___rarg___closed__3; lean_object* l_Lean_expandMacros(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarImpl(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__1___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__2(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___rarg___boxed__const__1; lean_object* l_Lean_FVarId_getDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -851,7 +810,6 @@ lean_object* l_Lean_Name_quickCmp___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__7___rarg___lambda__3(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*); lean_object* l_instHashableProd___rarg___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_elabMutualDef_go___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_Array_contains___at_Lean_Meta_getElimInfo___spec__4(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_find___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_updateUsedVarsOf___spec__1___boxed(lean_object*, lean_object*); lean_object* lean_mk_array(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_modifyUsedFVars___boxed(lean_object*, lean_object*, lean_object*); @@ -862,12 +820,10 @@ uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*); static lean_object* l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__8; LEAN_EXPORT lean_object* l_Lean_Elab_elabDeclAttrs___at_Lean_Elab_Command_elabMutualDef___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getTailPos_x3f(lean_object*, uint8_t); -LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_mkInst_x3f_go_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Expr_instBEqExpr; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor___spec__8(lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_collectUsed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_fixpoint___boxed(lean_object*); -static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__1; static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabMutualDef_go___spec__3___closed__2; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkKinds___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -884,26 +840,22 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_insta static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__5___lambda__1___closed__4; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__2; lean_object* l_Lean_indentD(lean_object*); -extern lean_object* l_Lean_Elab_unsupportedSyntaxExceptionId; lean_object* l_Lean_Elab_instantiateMVarsAtPreDecls(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_toAttributeKind___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabMutualDef_go___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_pushNewVars(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_fixpoint(lean_object*); static lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Term_elabMutualDef_processDeriving___spec__1___closed__2; -LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Command_elabCommand___spec__14(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_addAutoBoundImplicits(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___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_whnfD(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabMutualDef_go___spec__3___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__2(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_checkForHiddenUnivLevels___spec__3(lean_object*, lean_object*, lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isMultiConstant_x3f___spec__1(lean_object*); -lean_object* lean_name_append_before(lean_object*, lean_object*); static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Term_elabMutualDef_processDeriving___spec__5___closed__1; static lean_object* l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3___closed__3; LEAN_EXPORT lean_object* l_Std_RBNode_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -927,10 +879,8 @@ LEAN_EXPORT lean_object* l_Lean_Elab_instInhabitedDefViewElabHeader; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__8___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_elabMutualDef_go___spec__4(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Term_elabMutualDef_processDeriving___spec__4___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Std_PersistentArray_anyM___at_Lean_MessageLog_hasErrors___spec__1(lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Term_processDefDeriving___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_mkInst_x3f_go_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Term_processDefDeriving___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__5___lambda__3___closed__6; @@ -943,6 +893,7 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Mutua LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkLetRecsToLiftTypes___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_pickMaxFVar_x3f___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkKinds___lambda__1___closed__2; +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_Term_elabMutualDef_go___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_checkForHiddenUnivLevels_visit___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_fixLevelParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_eraseAuxDiscr___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -966,7 +917,6 @@ lean_object* l_Lean_indentExpr(lean_object*); lean_object* l_Lean_Elab_getDeclarationSelectionRef(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*); -lean_object* l_Lean_Expr_bindingBody_x21(lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__8___rarg___closed__1; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor___spec__8___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__8___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -980,13 +930,11 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Mutua static lean_object* l_Lean_Elab_Term_checkForHiddenUnivLevels_visitLevel___closed__5; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__5___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__8___rarg___lambda__1(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Linter_MissingDocs_handleIn___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__2___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___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_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Elab_Term_checkForHiddenUnivLevels_visit___spec__4___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__2___boxed(lean_object**); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isMultiConstant_x3f___closed__2; -LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Elab_Term_checkForHiddenUnivLevels_visit___spec__4___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*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__5___lambda__1___closed__5; @@ -999,7 +947,6 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabMutual static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_checkForHiddenUnivLevels___spec__2___closed__1; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__2___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_getKindForLetRecs___boxed(lean_object*); -static lean_object* l_Lean_Elab_Term_processDefDeriving___closed__1; lean_object* l_Lean_getAttributeImpl(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_expandWhereDeclsOpt(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1014,7 +961,6 @@ LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Mutu LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___lambda__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Command_elabMutualDef___spec__13___closed__2; lean_object* l_Lean_Syntax_formatStxAux(lean_object*, uint8_t, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg(lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_registerFailedToInferDefTypeInfo___closed__2; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_checkForHiddenUnivLevels___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Syntax_SepArray_getElems___spec__1(lean_object*, size_t, size_t, lean_object*); @@ -1023,8 +969,8 @@ static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0_ static lean_object* l_List_mapTRAux___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getPendindMVarErrorMessage___spec__2___closed__2; uint8_t l___private_Lean_Elab_DefView_0__Lean_Elab_beqDefKind____x40_Lean_Elab_DefView___hyg_15_(uint8_t, uint8_t); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_checkForHiddenUnivLevels___spec__2___closed__4; -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_Term_elabMutualDef_go___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__14___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*); +uint8_t l_Array_contains___at_Lean_Meta_setMVarUserNamesAt___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_FixPoint_run(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_sequenceMap_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___closed__2; @@ -1041,13 +987,11 @@ lean_object* l_Lean_Meta_check(lean_object*, lean_object*, lean_object*, lean_ob LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Command_elabMutualDef___spec__13___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabMutualDef___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_mkUnusedBaseName(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_getBetterRef(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_checkForHiddenUnivLevels___closed__2; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__8___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__10___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_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_Replacement_apply(lean_object*, lean_object*); -uint8_t lean_string_dec_eq(lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_fixpoint___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__5___closed__5; @@ -9402,7 +9346,7 @@ x_19 = lean_ctor_get(x_15, 1); lean_inc(x_19); lean_dec(x_15); x_20 = lean_apply_1(x_5, x_19); -x_21 = l_Lean_Meta_withLCtx___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_FunBinders_elabFunBinderViews___spec__3___rarg(x_17, x_18, x_20, x_6, x_7, x_8, x_9, x_10, x_11, x_16); +x_21 = l_Lean_Meta_withLCtx___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__25___rarg(x_17, x_18, x_20, x_6, x_7, x_8, x_9, x_10, x_11, x_16); return x_21; } else @@ -9910,7 +9854,7 @@ if (lean_obj_tag(x_3) == 1) lean_object* x_4; uint8_t x_5; x_4 = lean_ctor_get(x_3, 0); lean_inc(x_4); -x_5 = l_Array_contains___at_Lean_Meta_getElimInfo___spec__4(x_1, x_3); +x_5 = l_Array_contains___at_Lean_Meta_setMVarUserNamesAt___spec__1(x_1, x_3); lean_dec(x_3); lean_dec(x_1); if (x_5 == 0) @@ -10310,7 +10254,7 @@ x_26 = l_List_forM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkLet x_27 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_27, 0, x_25); lean_ctor_set(x_27, 1, x_26); -x_28 = l_Lean_throwErrorAt___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_elabBinderViews_loop___spec__1(x_22, x_27, x_4, x_5, x_6, x_7, x_8, x_9, x_21); +x_28 = l_Lean_throwErrorAt___at_Lean_Elab_Term_elabMatch_elabMatchDefault___spec__7(x_22, x_27, x_4, x_5, x_6, x_7, x_8, x_9, x_21); lean_dec(x_6); lean_dec(x_22); x_29 = !lean_is_exclusive(x_28); @@ -23524,7 +23468,7 @@ lean_closure_set(x_13, 3, x_11); x_14 = lean_alloc_closure((void*)(l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___spec__1___rarg), 9, 2); lean_closure_set(x_14, 0, x_12); lean_closure_set(x_14, 1, x_13); -x_15 = l_Lean_Meta_withLCtx___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_FunBinders_elabFunBinderViews___spec__3___rarg(x_10, x_11, x_14, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_15 = l_Lean_Meta_withLCtx___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__25___rarg(x_10, x_11, x_14, x_3, x_4, x_5, x_6, x_7, x_8, x_9); return x_15; } } @@ -29763,7 +29707,7 @@ lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_20 = l_Lean_Meta_withLCtx___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_FunBinders_elabFunBinderViews___spec__3___rarg(x_16, x_17, x_19, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_20 = l_Lean_Meta_withLCtx___at___private_Lean_Elab_Match_0__Lean_Elab_Term_withToClear___spec__25___rarg(x_16, x_17, x_19, x_4, x_5, x_6, x_7, x_8, x_9, x_10); if (lean_obj_tag(x_20) == 0) { lean_object* x_21; lean_object* x_22; size_t x_23; size_t x_24; lean_object* x_25; @@ -29882,178 +29826,135 @@ goto _start; } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_Term_MutualClosure_main___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_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_Term_MutualClosure_main___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_9; lean_object* x_10; -x_9 = lean_box(0); -x_10 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_10, 0, x_9); -lean_ctor_set(x_10, 1, x_8); -return x_10; +lean_object* x_10; lean_object* x_11; +x_10 = l_List_reverse___rarg(x_2); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_10); +lean_ctor_set(x_11, 1, x_9); +return x_11; } else { -uint8_t x_11; -x_11 = !lean_is_exclusive(x_1); -if (x_11 == 0) +uint8_t x_12; +x_12 = !lean_is_exclusive(x_1); +if (x_12 == 0) { -lean_object* x_12; uint8_t x_13; -x_12 = lean_ctor_get(x_1, 0); -x_13 = !lean_is_exclusive(x_12); -if (x_13 == 0) +lean_object* x_13; uint8_t x_14; +x_13 = lean_ctor_get(x_1, 0); +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) { -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; -x_14 = lean_ctor_get(x_1, 1); -x_15 = lean_ctor_get(x_12, 3); -x_16 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_instantiateMVarsAtLetRecToLift(x_15, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_15 = lean_ctor_get(x_1, 1); +x_16 = lean_ctor_get(x_13, 3); +x_17 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_instantiateMVarsAtLetRecToLift(x_16, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_18 = lean_ctor_get(x_17, 0); lean_inc(x_18); -lean_dec(x_16); -lean_ctor_set(x_12, 3, x_17); -x_19 = l_List_mapM___at_Lean_Elab_Term_MutualClosure_main___spec__4(x_14, x_2, x_3, x_4, x_5, x_6, x_7, x_18); -x_20 = !lean_is_exclusive(x_19); -if (x_20 == 0) +x_19 = lean_ctor_get(x_17, 1); +lean_inc(x_19); +lean_dec(x_17); +lean_ctor_set(x_13, 3, x_18); +lean_ctor_set(x_1, 1, x_2); { -lean_object* x_21; -x_21 = lean_ctor_get(x_19, 0); -lean_ctor_set(x_1, 1, x_21); -lean_ctor_set(x_19, 0, x_1); -return x_19; +lean_object* _tmp_0 = x_15; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_8 = x_19; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_9 = _tmp_8; +} +goto _start; } else { -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_19, 0); -x_23 = lean_ctor_get(x_19, 1); +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_21 = lean_ctor_get(x_1, 1); +x_22 = lean_ctor_get(x_13, 0); +x_23 = lean_ctor_get(x_13, 1); +x_24 = lean_ctor_get(x_13, 2); +x_25 = lean_ctor_get(x_13, 3); +lean_inc(x_25); +lean_inc(x_24); lean_inc(x_23); lean_inc(x_22); -lean_dec(x_19); -lean_ctor_set(x_1, 1, x_22); -x_24 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_24, 0, x_1); -lean_ctor_set(x_24, 1, x_23); -return x_24; +lean_dec(x_13); +x_26 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_instantiateMVarsAtLetRecToLift(x_25, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_27 = lean_ctor_get(x_26, 0); +lean_inc(x_27); +x_28 = lean_ctor_get(x_26, 1); +lean_inc(x_28); +lean_dec(x_26); +x_29 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_29, 0, x_22); +lean_ctor_set(x_29, 1, x_23); +lean_ctor_set(x_29, 2, x_24); +lean_ctor_set(x_29, 3, x_27); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_29); +{ +lean_object* _tmp_0 = x_21; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_8 = x_28; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_9 = _tmp_8; +} +goto _start; } } else { -lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_25 = lean_ctor_get(x_1, 1); -x_26 = lean_ctor_get(x_12, 0); -x_27 = lean_ctor_get(x_12, 1); -x_28 = lean_ctor_get(x_12, 2); -x_29 = lean_ctor_get(x_12, 3); -lean_inc(x_29); -lean_inc(x_28); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_12); -x_30 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_instantiateMVarsAtLetRecToLift(x_29, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -x_31 = lean_ctor_get(x_30, 0); -lean_inc(x_31); -x_32 = lean_ctor_get(x_30, 1); +lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_31 = lean_ctor_get(x_1, 0); +x_32 = lean_ctor_get(x_1, 1); lean_inc(x_32); -lean_dec(x_30); -x_33 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_33, 0, x_26); -lean_ctor_set(x_33, 1, x_27); -lean_ctor_set(x_33, 2, x_28); -lean_ctor_set(x_33, 3, x_31); -x_34 = l_List_mapM___at_Lean_Elab_Term_MutualClosure_main___spec__4(x_25, x_2, x_3, x_4, x_5, x_6, x_7, x_32); -x_35 = lean_ctor_get(x_34, 0); +lean_inc(x_31); +lean_dec(x_1); +x_33 = lean_ctor_get(x_31, 0); +lean_inc(x_33); +x_34 = lean_ctor_get(x_31, 1); +lean_inc(x_34); +x_35 = lean_ctor_get(x_31, 2); lean_inc(x_35); -x_36 = lean_ctor_get(x_34, 1); +x_36 = lean_ctor_get(x_31, 3); lean_inc(x_36); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_37 = x_34; +if (lean_is_exclusive(x_31)) { + lean_ctor_release(x_31, 0); + lean_ctor_release(x_31, 1); + lean_ctor_release(x_31, 2); + lean_ctor_release(x_31, 3); + x_37 = x_31; } else { - lean_dec_ref(x_34); + lean_dec_ref(x_31); x_37 = lean_box(0); } -lean_ctor_set(x_1, 1, x_35); -lean_ctor_set(x_1, 0, x_33); -if (lean_is_scalar(x_37)) { - x_38 = lean_alloc_ctor(0, 2, 0); -} else { - x_38 = x_37; -} -lean_ctor_set(x_38, 0, x_1); -lean_ctor_set(x_38, 1, x_36); -return x_38; -} -} -else -{ -lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_39 = lean_ctor_get(x_1, 0); -x_40 = lean_ctor_get(x_1, 1); -lean_inc(x_40); +x_38 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_instantiateMVarsAtLetRecToLift(x_36, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_39 = lean_ctor_get(x_38, 0); lean_inc(x_39); -lean_dec(x_1); -x_41 = lean_ctor_get(x_39, 0); -lean_inc(x_41); -x_42 = lean_ctor_get(x_39, 1); -lean_inc(x_42); -x_43 = lean_ctor_get(x_39, 2); -lean_inc(x_43); -x_44 = lean_ctor_get(x_39, 3); -lean_inc(x_44); -if (lean_is_exclusive(x_39)) { - lean_ctor_release(x_39, 0); - lean_ctor_release(x_39, 1); - lean_ctor_release(x_39, 2); - lean_ctor_release(x_39, 3); - x_45 = x_39; +x_40 = lean_ctor_get(x_38, 1); +lean_inc(x_40); +lean_dec(x_38); +if (lean_is_scalar(x_37)) { + x_41 = lean_alloc_ctor(0, 4, 0); } else { - lean_dec_ref(x_39); - x_45 = lean_box(0); + x_41 = x_37; } -x_46 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_instantiateMVarsAtLetRecToLift(x_44, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -x_47 = lean_ctor_get(x_46, 0); -lean_inc(x_47); -x_48 = lean_ctor_get(x_46, 1); -lean_inc(x_48); -lean_dec(x_46); -if (lean_is_scalar(x_45)) { - x_49 = lean_alloc_ctor(0, 4, 0); -} else { - x_49 = x_45; -} -lean_ctor_set(x_49, 0, x_41); -lean_ctor_set(x_49, 1, x_42); -lean_ctor_set(x_49, 2, x_43); -lean_ctor_set(x_49, 3, x_47); -x_50 = l_List_mapM___at_Lean_Elab_Term_MutualClosure_main___spec__4(x_40, x_2, x_3, x_4, x_5, x_6, x_7, x_48); -x_51 = lean_ctor_get(x_50, 0); -lean_inc(x_51); -x_52 = lean_ctor_get(x_50, 1); -lean_inc(x_52); -if (lean_is_exclusive(x_50)) { - lean_ctor_release(x_50, 0); - lean_ctor_release(x_50, 1); - x_53 = x_50; -} else { - lean_dec_ref(x_50); - x_53 = lean_box(0); -} -x_54 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_54, 0, x_49); -lean_ctor_set(x_54, 1, x_51); -if (lean_is_scalar(x_53)) { - x_55 = lean_alloc_ctor(0, 2, 0); -} else { - x_55 = x_53; -} -lean_ctor_set(x_55, 0, x_54); -lean_ctor_set(x_55, 1, x_52); -return x_55; +lean_ctor_set(x_41, 0, x_33); +lean_ctor_set(x_41, 1, x_34); +lean_ctor_set(x_41, 2, x_35); +lean_ctor_set(x_41, 3, x_39); +x_42 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_42, 0, x_41); +lean_ctor_set(x_42, 1, x_2); +x_1 = x_32; +x_2 = x_42; +x_9 = x_40; +goto _start; } } } @@ -30520,7 +30421,7 @@ lean_dec(x_23); lean_dec(x_19); if (lean_obj_tag(x_34) == 0) { -lean_object* x_35; lean_object* x_36; lean_object* x_37; size_t x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; size_t x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; size_t x_54; lean_object* x_55; lean_object* x_56; size_t x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; uint8_t x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; +lean_object* x_35; lean_object* x_36; lean_object* x_37; size_t x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; size_t x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; size_t x_55; lean_object* x_56; lean_object* x_57; size_t x_58; lean_object* x_59; lean_object* x_60; uint8_t x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; x_35 = lean_ctor_get(x_34, 0); lean_inc(x_35); x_36 = lean_ctor_get(x_34, 1); @@ -30544,36 +30445,36 @@ lean_inc(x_45); x_46 = lean_ctor_get(x_44, 1); lean_inc(x_46); lean_dec(x_44); -x_47 = l_List_mapM___at_Lean_Elab_Term_MutualClosure_main___spec__4(x_35, x_6, x_7, x_8, x_9, x_10, x_11, x_46); -x_48 = lean_ctor_get(x_47, 0); -lean_inc(x_48); -x_49 = lean_ctor_get(x_47, 1); +x_47 = lean_box(0); +x_48 = l_List_mapM_loop___at_Lean_Elab_Term_MutualClosure_main___spec__4(x_35, x_47, x_6, x_7, x_8, x_9, x_10, x_11, x_46); +x_49 = lean_ctor_get(x_48, 0); lean_inc(x_49); -lean_dec(x_47); -x_50 = lean_box(0); +x_50 = lean_ctor_get(x_48, 1); +lean_inc(x_50); +lean_dec(x_48); +x_51 = lean_box(0); lean_inc(x_45); lean_inc(x_1); -x_51 = l_Lean_Elab_Term_MutualClosure_insertReplacementForMainFns(x_50, x_1, x_45, x_3); -lean_inc(x_48); -x_52 = l_List_foldl___at_Lean_Elab_Term_MutualClosure_insertReplacementForLetRecs___spec__1(x_51, x_48); -x_53 = lean_array_get_size(x_40); -x_54 = lean_usize_of_nat(x_53); -lean_dec(x_53); -lean_inc(x_52); -x_55 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__5(x_52, x_54, x_18, x_40); -x_56 = lean_array_get_size(x_45); -x_57 = lean_usize_of_nat(x_56); -lean_dec(x_56); -lean_inc(x_52); -x_58 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__6(x_52, x_57, x_18, x_45); -x_59 = lean_box(0); -x_60 = l_List_mapTRAux___at_Lean_Elab_Term_MutualClosure_main___spec__7(x_52, x_48, x_59); -x_61 = l_Lean_Elab_Term_MutualClosure_getKindForLetRecs(x_58); -x_62 = l_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs(x_58); +x_52 = l_Lean_Elab_Term_MutualClosure_insertReplacementForMainFns(x_51, x_1, x_45, x_3); +lean_inc(x_49); +x_53 = l_List_foldl___at_Lean_Elab_Term_MutualClosure_insertReplacementForLetRecs___spec__1(x_52, x_49); +x_54 = lean_array_get_size(x_40); +x_55 = lean_usize_of_nat(x_54); +lean_dec(x_54); +lean_inc(x_53); +x_56 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__5(x_53, x_55, x_18, x_40); +x_57 = lean_array_get_size(x_45); +x_58 = lean_usize_of_nat(x_57); +lean_dec(x_57); +lean_inc(x_53); +x_59 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__6(x_53, x_58, x_18, x_45); +x_60 = l_List_mapTRAux___at_Lean_Elab_Term_MutualClosure_main___spec__7(x_53, x_49, x_47); +x_61 = l_Lean_Elab_Term_MutualClosure_getKindForLetRecs(x_59); +x_62 = l_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs(x_59); x_63 = l_Lean_Elab_instInhabitedDefViewElabHeader___closed__1; x_64 = l_List_foldl___at_Lean_Elab_Term_MutualClosure_pushLetRecs___spec__1(x_61, x_62, x_63, x_60); lean_dec(x_62); -x_65 = l_Lean_Elab_Term_MutualClosure_pushMain(x_64, x_1, x_58, x_55, x_6, x_7, x_8, x_9, x_10, x_11, x_49); +x_65 = l_Lean_Elab_Term_MutualClosure_pushMain(x_64, x_1, x_59, x_56, x_6, x_7, x_8, x_9, x_10, x_11, x_50); if (lean_obj_tag(x_65) == 0) { uint8_t x_66; @@ -30747,7 +30648,7 @@ lean_dec(x_23); lean_dec(x_19); if (lean_obj_tag(x_100) == 0) { -lean_object* x_101; lean_object* x_102; lean_object* x_103; size_t x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; size_t 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; size_t x_120; lean_object* x_121; lean_object* x_122; size_t x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; uint8_t x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; +lean_object* x_101; lean_object* x_102; lean_object* x_103; size_t x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; size_t 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; size_t x_121; lean_object* x_122; lean_object* x_123; size_t x_124; lean_object* x_125; lean_object* x_126; uint8_t x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; x_101 = lean_ctor_get(x_100, 0); lean_inc(x_101); x_102 = lean_ctor_get(x_100, 1); @@ -30771,36 +30672,36 @@ lean_inc(x_111); x_112 = lean_ctor_get(x_110, 1); lean_inc(x_112); lean_dec(x_110); -x_113 = l_List_mapM___at_Lean_Elab_Term_MutualClosure_main___spec__4(x_101, x_6, x_7, x_8, x_9, x_10, x_11, x_112); -x_114 = lean_ctor_get(x_113, 0); -lean_inc(x_114); -x_115 = lean_ctor_get(x_113, 1); +x_113 = lean_box(0); +x_114 = l_List_mapM_loop___at_Lean_Elab_Term_MutualClosure_main___spec__4(x_101, x_113, x_6, x_7, x_8, x_9, x_10, x_11, x_112); +x_115 = lean_ctor_get(x_114, 0); lean_inc(x_115); -lean_dec(x_113); -x_116 = lean_box(0); +x_116 = lean_ctor_get(x_114, 1); +lean_inc(x_116); +lean_dec(x_114); +x_117 = lean_box(0); lean_inc(x_111); lean_inc(x_1); -x_117 = l_Lean_Elab_Term_MutualClosure_insertReplacementForMainFns(x_116, x_1, x_111, x_3); -lean_inc(x_114); -x_118 = l_List_foldl___at_Lean_Elab_Term_MutualClosure_insertReplacementForLetRecs___spec__1(x_117, x_114); -x_119 = lean_array_get_size(x_106); -x_120 = lean_usize_of_nat(x_119); -lean_dec(x_119); -lean_inc(x_118); -x_121 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__5(x_118, x_120, x_18, x_106); -x_122 = lean_array_get_size(x_111); -x_123 = lean_usize_of_nat(x_122); -lean_dec(x_122); -lean_inc(x_118); -x_124 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__6(x_118, x_123, x_18, x_111); -x_125 = lean_box(0); -x_126 = l_List_mapTRAux___at_Lean_Elab_Term_MutualClosure_main___spec__7(x_118, x_114, x_125); -x_127 = l_Lean_Elab_Term_MutualClosure_getKindForLetRecs(x_124); -x_128 = l_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs(x_124); +x_118 = l_Lean_Elab_Term_MutualClosure_insertReplacementForMainFns(x_117, x_1, x_111, x_3); +lean_inc(x_115); +x_119 = l_List_foldl___at_Lean_Elab_Term_MutualClosure_insertReplacementForLetRecs___spec__1(x_118, x_115); +x_120 = lean_array_get_size(x_106); +x_121 = lean_usize_of_nat(x_120); +lean_dec(x_120); +lean_inc(x_119); +x_122 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__5(x_119, x_121, x_18, x_106); +x_123 = lean_array_get_size(x_111); +x_124 = lean_usize_of_nat(x_123); +lean_dec(x_123); +lean_inc(x_119); +x_125 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__6(x_119, x_124, x_18, x_111); +x_126 = l_List_mapTRAux___at_Lean_Elab_Term_MutualClosure_main___spec__7(x_119, x_115, x_113); +x_127 = l_Lean_Elab_Term_MutualClosure_getKindForLetRecs(x_125); +x_128 = l_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs(x_125); x_129 = l_Lean_Elab_instInhabitedDefViewElabHeader___closed__1; x_130 = l_List_foldl___at_Lean_Elab_Term_MutualClosure_pushLetRecs___spec__1(x_127, x_128, x_129, x_126); lean_dec(x_128); -x_131 = l_Lean_Elab_Term_MutualClosure_pushMain(x_130, x_1, x_124, x_121, x_6, x_7, x_8, x_9, x_10, x_11, x_115); +x_131 = l_Lean_Elab_Term_MutualClosure_pushMain(x_130, x_1, x_125, x_122, x_6, x_7, x_8, x_9, x_10, x_11, x_116); if (lean_obj_tag(x_131) == 0) { lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; @@ -31009,7 +30910,7 @@ lean_dec(x_23); lean_dec(x_19); if (lean_obj_tag(x_173) == 0) { -lean_object* x_174; lean_object* x_175; lean_object* x_176; size_t x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; size_t x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; size_t x_193; lean_object* x_194; lean_object* x_195; size_t x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; uint8_t x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; +lean_object* x_174; lean_object* x_175; lean_object* x_176; size_t x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; size_t x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; size_t x_194; lean_object* x_195; lean_object* x_196; size_t x_197; lean_object* x_198; lean_object* x_199; uint8_t x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; x_174 = lean_ctor_get(x_173, 0); lean_inc(x_174); x_175 = lean_ctor_get(x_173, 1); @@ -31033,36 +30934,36 @@ lean_inc(x_184); x_185 = lean_ctor_get(x_183, 1); lean_inc(x_185); lean_dec(x_183); -x_186 = l_List_mapM___at_Lean_Elab_Term_MutualClosure_main___spec__4(x_174, x_6, x_7, x_169, x_9, x_10, x_11, x_185); -x_187 = lean_ctor_get(x_186, 0); -lean_inc(x_187); -x_188 = lean_ctor_get(x_186, 1); +x_186 = lean_box(0); +x_187 = l_List_mapM_loop___at_Lean_Elab_Term_MutualClosure_main___spec__4(x_174, x_186, x_6, x_7, x_169, x_9, x_10, x_11, x_185); +x_188 = lean_ctor_get(x_187, 0); lean_inc(x_188); -lean_dec(x_186); -x_189 = lean_box(0); +x_189 = lean_ctor_get(x_187, 1); +lean_inc(x_189); +lean_dec(x_187); +x_190 = lean_box(0); lean_inc(x_184); lean_inc(x_1); -x_190 = l_Lean_Elab_Term_MutualClosure_insertReplacementForMainFns(x_189, x_1, x_184, x_3); -lean_inc(x_187); -x_191 = l_List_foldl___at_Lean_Elab_Term_MutualClosure_insertReplacementForLetRecs___spec__1(x_190, x_187); -x_192 = lean_array_get_size(x_179); -x_193 = lean_usize_of_nat(x_192); -lean_dec(x_192); -lean_inc(x_191); -x_194 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__5(x_191, x_193, x_18, x_179); -x_195 = lean_array_get_size(x_184); -x_196 = lean_usize_of_nat(x_195); -lean_dec(x_195); -lean_inc(x_191); -x_197 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__6(x_191, x_196, x_18, x_184); -x_198 = lean_box(0); -x_199 = l_List_mapTRAux___at_Lean_Elab_Term_MutualClosure_main___spec__7(x_191, x_187, x_198); -x_200 = l_Lean_Elab_Term_MutualClosure_getKindForLetRecs(x_197); -x_201 = l_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs(x_197); +x_191 = l_Lean_Elab_Term_MutualClosure_insertReplacementForMainFns(x_190, x_1, x_184, x_3); +lean_inc(x_188); +x_192 = l_List_foldl___at_Lean_Elab_Term_MutualClosure_insertReplacementForLetRecs___spec__1(x_191, x_188); +x_193 = lean_array_get_size(x_179); +x_194 = lean_usize_of_nat(x_193); +lean_dec(x_193); +lean_inc(x_192); +x_195 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__5(x_192, x_194, x_18, x_179); +x_196 = lean_array_get_size(x_184); +x_197 = lean_usize_of_nat(x_196); +lean_dec(x_196); +lean_inc(x_192); +x_198 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__6(x_192, x_197, x_18, x_184); +x_199 = l_List_mapTRAux___at_Lean_Elab_Term_MutualClosure_main___spec__7(x_192, x_188, x_186); +x_200 = l_Lean_Elab_Term_MutualClosure_getKindForLetRecs(x_198); +x_201 = l_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs(x_198); x_202 = l_Lean_Elab_instInhabitedDefViewElabHeader___closed__1; x_203 = l_List_foldl___at_Lean_Elab_Term_MutualClosure_pushLetRecs___spec__1(x_200, x_201, x_202, x_199); lean_dec(x_201); -x_204 = l_Lean_Elab_Term_MutualClosure_pushMain(x_203, x_1, x_197, x_194, x_6, x_7, x_169, x_9, x_10, x_11, x_188); +x_204 = l_Lean_Elab_Term_MutualClosure_pushMain(x_203, x_1, x_198, x_195, x_6, x_7, x_169, x_9, x_10, x_11, x_189); if (lean_obj_tag(x_204) == 0) { lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; @@ -31244,18 +31145,18 @@ lean_dec(x_4); return x_13; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_Term_MutualClosure_main___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_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_Term_MutualClosure_main___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -lean_object* x_9; -x_9 = l_List_mapM___at_Lean_Elab_Term_MutualClosure_main___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_object* x_10; +x_10 = l_List_mapM_loop___at_Lean_Elab_Term_MutualClosure_main___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); -return x_9; +return x_10; } } LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { @@ -32133,2258 +32034,6 @@ lean_dec(x_4); return x_13; } } -static lean_object* _init_l_Lean_Elab_Term_MkInstResult_outParams___default() { -_start: -{ -lean_object* x_1; -x_1 = l_Lean_Elab_instInhabitedDefViewElabHeader___closed__1; -return x_1; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_mkInst_x3f_go_x3f___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_10 = l_Lean_Expr_app___override(x_1, x_2); -x_11 = l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2(x_10, x_5, x_6, x_7, x_8, x_9); -x_12 = lean_ctor_get(x_11, 0); -lean_inc(x_12); -x_13 = lean_ctor_get(x_11, 1); -lean_inc(x_13); -lean_dec(x_11); -x_14 = lean_box(0); -lean_inc(x_12); -x_15 = l_Lean_Meta_synthInstance(x_12, x_14, x_5, x_6, x_7, x_8, x_13); -if (lean_obj_tag(x_15) == 0) -{ -uint8_t x_16; -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_17 = lean_ctor_get(x_15, 0); -x_18 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_18, 0, x_17); -lean_ctor_set(x_18, 1, x_12); -lean_ctor_set(x_18, 2, x_3); -x_19 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_19, 0, x_18); -lean_ctor_set(x_15, 0, x_19); -return x_15; -} -else -{ -lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_20 = lean_ctor_get(x_15, 0); -x_21 = lean_ctor_get(x_15, 1); -lean_inc(x_21); -lean_inc(x_20); -lean_dec(x_15); -x_22 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_22, 0, x_20); -lean_ctor_set(x_22, 1, x_12); -lean_ctor_set(x_22, 2, x_3); -x_23 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_23, 0, x_22); -x_24 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_24, 0, x_23); -lean_ctor_set(x_24, 1, x_21); -return x_24; -} -} -else -{ -uint8_t x_25; -lean_dec(x_12); -lean_dec(x_3); -x_25 = !lean_is_exclusive(x_15); -if (x_25 == 0) -{ -return x_15; -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_15, 0); -x_27 = lean_ctor_get(x_15, 1); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_15); -x_28 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -return x_28; -} -} -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_mkInst_x3f_go_x3f___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -lean_object* x_11; uint8_t x_12; -lean_dec(x_5); -x_11 = l_Lean_Expr_bindingDomain_x21(x_1); -lean_inc(x_11); -x_12 = lean_is_out_param(x_11); -if (x_12 == 0) -{ -lean_object* x_13; -lean_dec(x_1); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_2); -x_13 = lean_infer_type(x_2, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_13) == 0) -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; -x_14 = lean_ctor_get(x_13, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_13, 1); -lean_inc(x_15); -lean_dec(x_13); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -x_16 = l_Lean_Meta_isExprDefEqGuarded(x_14, x_11, x_6, x_7, x_8, x_9, x_15); -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_unbox(x_17); -lean_dec(x_17); -if (x_18 == 0) -{ -uint8_t x_19; -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_19 = !lean_is_exclusive(x_16); -if (x_19 == 0) -{ -lean_object* x_20; lean_object* x_21; -x_20 = lean_ctor_get(x_16, 0); -lean_dec(x_20); -x_21 = lean_box(0); -lean_ctor_set(x_16, 0, x_21); -return x_16; -} -else -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_16, 1); -lean_inc(x_22); -lean_dec(x_16); -x_23 = lean_box(0); -x_24 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_24, 0, x_23); -lean_ctor_set(x_24, 1, x_22); -return x_24; -} -} -else -{ -lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = lean_ctor_get(x_16, 1); -lean_inc(x_25); -lean_dec(x_16); -x_26 = lean_box(0); -x_27 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_mkInst_x3f_go_x3f___lambda__1(x_3, x_2, x_4, x_26, x_6, x_7, x_8, x_9, x_25); -return x_27; -} -} -else -{ -uint8_t x_28; -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_28 = !lean_is_exclusive(x_13); -if (x_28 == 0) -{ -return x_13; -} -else -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_13, 0); -x_30 = lean_ctor_get(x_13, 1); -lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_13); -x_31 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_31, 0, x_29); -lean_ctor_set(x_31, 1, x_30); -return x_31; -} -} -} -else -{ -lean_object* x_32; uint8_t x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_32 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_32, 0, x_11); -x_33 = 0; -x_34 = lean_box(0); -lean_inc(x_6); -x_35 = l___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarImpl(x_32, x_33, x_34, x_6, x_7, x_8, x_9, x_10); -x_36 = lean_ctor_get(x_35, 0); -lean_inc(x_36); -x_37 = lean_ctor_get(x_35, 1); -lean_inc(x_37); -lean_dec(x_35); -lean_inc(x_36); -x_38 = l_Lean_Expr_app___override(x_3, x_36); -x_39 = l_Lean_Expr_bindingBody_x21(x_1); -lean_dec(x_1); -x_40 = lean_expr_instantiate1(x_39, x_36); -lean_dec(x_39); -x_41 = lean_array_push(x_4, x_36); -x_42 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_mkInst_x3f_go_x3f(x_2, x_38, x_40, x_41, x_6, x_7, x_8, x_9, x_37); -return x_42; -} -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_mkInst_x3f_go_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -lean_object* x_10; -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -x_10 = l_Lean_Meta_whnfD(x_3, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_10) == 0) -{ -uint8_t x_11; -x_11 = !lean_is_exclusive(x_10); -if (x_11 == 0) -{ -lean_object* x_12; lean_object* x_13; uint8_t x_14; -x_12 = lean_ctor_get(x_10, 0); -x_13 = lean_ctor_get(x_10, 1); -x_14 = l_Lean_Expr_isForall(x_12); -if (x_14 == 0) -{ -lean_object* x_15; -lean_dec(x_12); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -lean_dec(x_1); -x_15 = lean_box(0); -lean_ctor_set(x_10, 0, x_15); -return x_10; -} -else -{ -lean_object* x_16; lean_object* x_17; -lean_free_object(x_10); -x_16 = lean_box(0); -x_17 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_mkInst_x3f_go_x3f___lambda__2(x_12, x_1, x_2, x_4, x_16, x_5, x_6, x_7, x_8, x_13); -return x_17; -} -} -else -{ -lean_object* x_18; lean_object* x_19; uint8_t x_20; -x_18 = lean_ctor_get(x_10, 0); -x_19 = lean_ctor_get(x_10, 1); -lean_inc(x_19); -lean_inc(x_18); -lean_dec(x_10); -x_20 = l_Lean_Expr_isForall(x_18); -if (x_20 == 0) -{ -lean_object* x_21; lean_object* x_22; -lean_dec(x_18); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -lean_dec(x_1); -x_21 = lean_box(0); -x_22 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_22, 0, x_21); -lean_ctor_set(x_22, 1, x_19); -return x_22; -} -else -{ -lean_object* x_23; lean_object* x_24; -x_23 = lean_box(0); -x_24 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_mkInst_x3f_go_x3f___lambda__2(x_18, x_1, x_2, x_4, x_23, x_5, x_6, x_7, x_8, x_19); -return x_24; -} -} -} -else -{ -uint8_t x_25; -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -lean_dec(x_1); -x_25 = !lean_is_exclusive(x_10); -if (x_25 == 0) -{ -return x_10; -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_10, 0); -x_27 = lean_ctor_get(x_10, 1); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_10); -x_28 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -return x_28; -} -} -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_mkInst_x3f_go_x3f___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -lean_object* x_10; -x_10 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_mkInst_x3f_go_x3f___lambda__1(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; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_mkInst_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -x_8 = l_Lean_Meta_mkConstWithFreshMVarLevels(x_1, 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; -x_9 = lean_ctor_get(x_8, 0); -lean_inc(x_9); -x_10 = lean_ctor_get(x_8, 1); -lean_inc(x_10); -lean_dec(x_8); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_9); -x_11 = lean_infer_type(x_9, x_3, x_4, x_5, x_6, x_10); -if (lean_obj_tag(x_11) == 0) -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_12 = lean_ctor_get(x_11, 0); -lean_inc(x_12); -x_13 = lean_ctor_get(x_11, 1); -lean_inc(x_13); -lean_dec(x_11); -x_14 = l_Lean_Elab_instInhabitedDefViewElabHeader___closed__1; -x_15 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_mkInst_x3f_go_x3f(x_2, x_9, x_12, x_14, x_3, x_4, x_5, x_6, x_13); -return x_15; -} -else -{ -uint8_t x_16; -lean_dec(x_9); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_16 = !lean_is_exclusive(x_11); -if (x_16 == 0) -{ -return x_11; -} -else -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_17 = lean_ctor_get(x_11, 0); -x_18 = lean_ctor_get(x_11, 1); -lean_inc(x_18); -lean_inc(x_17); -lean_dec(x_11); -x_19 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_19, 0, x_17); -lean_ctor_set(x_19, 1, x_18); -return x_19; -} -} -} -else -{ -uint8_t x_20; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_20 = !lean_is_exclusive(x_8); -if (x_20 == 0) -{ -return x_8; -} -else -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_21 = lean_ctor_get(x_8, 0); -x_22 = lean_ctor_get(x_8, 1); -lean_inc(x_22); -lean_inc(x_21); -lean_dec(x_8); -x_23 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_23, 0, x_21); -lean_ctor_set(x_23, 1, x_22); -return x_23; -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Term_processDefDeriving___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: -{ -uint8_t x_10; -x_10 = !lean_is_exclusive(x_7); -if (x_10 == 0) -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_11 = lean_ctor_get(x_7, 5); -x_12 = l_Lean_replaceRef(x_1, x_11); -lean_dec(x_11); -lean_ctor_set(x_7, 5, x_12); -x_13 = l_Lean_throwError___at_Lean_Elab_Term_mkAuxName___spec__1(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -lean_dec(x_7); -return x_13; -} -else -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_14 = lean_ctor_get(x_7, 0); -x_15 = lean_ctor_get(x_7, 1); -x_16 = lean_ctor_get(x_7, 2); -x_17 = lean_ctor_get(x_7, 3); -x_18 = lean_ctor_get(x_7, 4); -x_19 = lean_ctor_get(x_7, 5); -x_20 = lean_ctor_get(x_7, 6); -x_21 = lean_ctor_get(x_7, 7); -x_22 = lean_ctor_get(x_7, 8); -x_23 = lean_ctor_get(x_7, 9); -x_24 = lean_ctor_get(x_7, 10); -lean_inc(x_24); -lean_inc(x_23); -lean_inc(x_22); -lean_inc(x_21); -lean_inc(x_20); -lean_inc(x_19); -lean_inc(x_18); -lean_inc(x_17); -lean_inc(x_16); -lean_inc(x_15); -lean_inc(x_14); -lean_dec(x_7); -x_25 = l_Lean_replaceRef(x_1, x_19); -lean_dec(x_19); -x_26 = lean_alloc_ctor(0, 11, 0); -lean_ctor_set(x_26, 0, x_14); -lean_ctor_set(x_26, 1, x_15); -lean_ctor_set(x_26, 2, x_16); -lean_ctor_set(x_26, 3, x_17); -lean_ctor_set(x_26, 4, x_18); -lean_ctor_set(x_26, 5, x_25); -lean_ctor_set(x_26, 6, x_20); -lean_ctor_set(x_26, 7, x_21); -lean_ctor_set(x_26, 8, x_22); -lean_ctor_set(x_26, 9, x_23); -lean_ctor_set(x_26, 10, x_24); -x_27 = l_Lean_throwError___at_Lean_Elab_Term_mkAuxName___spec__1(x_2, x_3, x_4, x_5, x_6, x_26, x_8, x_9); -lean_dec(x_26); -return x_27; -} -} -} -static lean_object* _init_l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_maxRecDepthErrorMessage; -x_2 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___closed__1; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -lean_object* x_9; lean_object* x_10; lean_object* x_11; -x_9 = l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___closed__2; -x_10 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_10, 0, x_1); -lean_ctor_set(x_10, 1, x_9); -x_11 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_11, 0, x_10); -lean_ctor_set(x_11, 1, x_8); -return x_11; -} -} -static lean_object* _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = l_Lean_Elab_unsupportedSyntaxExceptionId; -return x_1; -} -} -static lean_object* _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__1; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__2; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___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) { -_start: -{ -lean_object* x_7; -x_7 = lean_alloc_closure((void*)(l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg), 1, 0); -return x_7; -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -lean_object* x_5; lean_object* x_6; -x_5 = l_Lean_Elab_expandMacroImpl_x3f(x_1, x_2, x_3, x_4); -x_6 = lean_ctor_get(x_5, 0); -lean_inc(x_6); -if (lean_obj_tag(x_6) == 0) -{ -uint8_t x_7; -x_7 = !lean_is_exclusive(x_5); -if (x_7 == 0) -{ -lean_object* x_8; lean_object* x_9; -x_8 = lean_ctor_get(x_5, 0); -lean_dec(x_8); -x_9 = lean_box(0); -lean_ctor_set(x_5, 0, x_9); -return x_5; -} -else -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_10 = lean_ctor_get(x_5, 1); -lean_inc(x_10); -lean_dec(x_5); -x_11 = lean_box(0); -x_12 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_12, 0, x_11); -lean_ctor_set(x_12, 1, x_10); -return x_12; -} -} -else -{ -uint8_t x_13; -x_13 = !lean_is_exclusive(x_6); -if (x_13 == 0) -{ -lean_object* x_14; lean_object* x_15; -x_14 = lean_ctor_get(x_6, 0); -x_15 = lean_ctor_get(x_14, 1); -lean_inc(x_15); -lean_dec(x_14); -if (lean_obj_tag(x_15) == 0) -{ -lean_object* x_16; uint8_t x_17; -lean_free_object(x_6); -x_16 = lean_ctor_get(x_5, 1); -lean_inc(x_16); -lean_dec(x_5); -x_17 = !lean_is_exclusive(x_15); -if (x_17 == 0) -{ -lean_object* x_18; -x_18 = l_liftExcept___at_Lean_Elab_liftMacroM___spec__1(x_15, x_3, x_16); -lean_dec(x_15); -return x_18; -} -else -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_19 = lean_ctor_get(x_15, 0); -lean_inc(x_19); -lean_dec(x_15); -x_20 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_20, 0, x_19); -x_21 = l_liftExcept___at_Lean_Elab_liftMacroM___spec__1(x_20, x_3, x_16); -lean_dec(x_20); -return x_21; -} -} -else -{ -lean_object* x_22; uint8_t x_23; -x_22 = lean_ctor_get(x_5, 1); -lean_inc(x_22); -lean_dec(x_5); -x_23 = !lean_is_exclusive(x_15); -if (x_23 == 0) -{ -lean_object* x_24; lean_object* x_25; -x_24 = lean_ctor_get(x_15, 0); -lean_ctor_set(x_6, 0, x_24); -lean_ctor_set(x_15, 0, x_6); -x_25 = l_liftExcept___at_Lean_Elab_liftMacroM___spec__1(x_15, x_3, x_22); -lean_dec(x_15); -return x_25; -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_15, 0); -lean_inc(x_26); -lean_dec(x_15); -lean_ctor_set(x_6, 0, x_26); -x_27 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_27, 0, x_6); -x_28 = l_liftExcept___at_Lean_Elab_liftMacroM___spec__1(x_27, x_3, x_22); -lean_dec(x_27); -return x_28; -} -} -} -else -{ -lean_object* x_29; lean_object* x_30; -x_29 = lean_ctor_get(x_6, 0); -lean_inc(x_29); -lean_dec(x_6); -x_30 = lean_ctor_get(x_29, 1); -lean_inc(x_30); -lean_dec(x_29); -if (lean_obj_tag(x_30) == 0) -{ -lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_31 = lean_ctor_get(x_5, 1); -lean_inc(x_31); -lean_dec(x_5); -x_32 = lean_ctor_get(x_30, 0); -lean_inc(x_32); -if (lean_is_exclusive(x_30)) { - lean_ctor_release(x_30, 0); - x_33 = x_30; -} else { - lean_dec_ref(x_30); - x_33 = lean_box(0); -} -if (lean_is_scalar(x_33)) { - x_34 = lean_alloc_ctor(0, 1, 0); -} else { - x_34 = x_33; -} -lean_ctor_set(x_34, 0, x_32); -x_35 = l_liftExcept___at_Lean_Elab_liftMacroM___spec__1(x_34, x_3, x_31); -lean_dec(x_34); -return x_35; -} -else -{ -lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; -x_36 = lean_ctor_get(x_5, 1); -lean_inc(x_36); -lean_dec(x_5); -x_37 = lean_ctor_get(x_30, 0); -lean_inc(x_37); -if (lean_is_exclusive(x_30)) { - lean_ctor_release(x_30, 0); - x_38 = x_30; -} else { - lean_dec_ref(x_30); - x_38 = lean_box(0); -} -x_39 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_39, 0, x_37); -if (lean_is_scalar(x_38)) { - x_40 = lean_alloc_ctor(1, 1, 0); -} else { - x_40 = x_38; -} -lean_ctor_set(x_40, 0, x_39); -x_41 = l_liftExcept___at_Lean_Elab_liftMacroM___spec__1(x_40, x_3, x_36); -lean_dec(x_40); -return x_41; -} -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -uint8_t x_5; lean_object* x_6; lean_object* x_7; -x_5 = l_Lean_Environment_contains(x_1, x_2); -x_6 = lean_box(x_5); -x_7 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_7, 0, x_6); -lean_ctor_set(x_7, 1, x_4); -return x_7; -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___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) { -_start: -{ -lean_object* x_7; lean_object* x_8; -x_7 = l_Lean_ResolveName_resolveNamespace(x_1, x_2, x_3, x_4); -x_8 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_8, 0, x_7); -lean_ctor_set(x_8, 1, x_6); -return x_8; -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___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) { -_start: -{ -lean_object* x_7; lean_object* x_8; -x_7 = l_Lean_ResolveName_resolveGlobalName(x_1, x_2, x_3, x_4); -x_8 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_8, 0, x_7); -lean_ctor_set(x_8, 1, x_6); -return x_8; -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_9 = lean_st_ref_get(x_7, x_8); -x_10 = lean_ctor_get(x_9, 0); -lean_inc(x_10); -x_11 = lean_ctor_get(x_9, 1); -lean_inc(x_11); -lean_dec(x_9); -x_12 = lean_ctor_get(x_10, 0); -lean_inc(x_12); -lean_dec(x_10); -x_13 = lean_ctor_get(x_6, 3); -lean_inc(x_13); -x_14 = lean_ctor_get(x_6, 4); -lean_inc(x_14); -x_15 = lean_ctor_get(x_6, 5); -lean_inc(x_15); -x_16 = lean_ctor_get(x_6, 6); -lean_inc(x_16); -x_17 = lean_ctor_get(x_6, 7); -lean_inc(x_17); -x_18 = lean_ctor_get(x_6, 10); -lean_inc(x_18); -lean_inc(x_12); -x_19 = lean_alloc_closure((void*)(l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__1___boxed), 4, 1); -lean_closure_set(x_19, 0, x_12); -lean_inc(x_16); -x_20 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Elab_liftMacroM___spec__2___rarg___boxed), 3, 1); -lean_closure_set(x_20, 0, x_16); -lean_inc(x_12); -x_21 = lean_alloc_closure((void*)(l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__2___boxed), 4, 1); -lean_closure_set(x_21, 0, x_12); -lean_inc(x_17); -lean_inc(x_16); -lean_inc(x_12); -x_22 = lean_alloc_closure((void*)(l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__3___boxed), 6, 3); -lean_closure_set(x_22, 0, x_12); -lean_closure_set(x_22, 1, x_16); -lean_closure_set(x_22, 2, x_17); -lean_inc(x_12); -x_23 = lean_alloc_closure((void*)(l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__4___boxed), 6, 3); -lean_closure_set(x_23, 0, x_12); -lean_closure_set(x_23, 1, x_16); -lean_closure_set(x_23, 2, x_17); -x_24 = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(x_24, 0, x_19); -lean_ctor_set(x_24, 1, x_20); -lean_ctor_set(x_24, 2, x_21); -lean_ctor_set(x_24, 3, x_22); -lean_ctor_set(x_24, 4, x_23); -x_25 = lean_st_ref_get(x_7, x_11); -x_26 = lean_ctor_get(x_25, 0); -lean_inc(x_26); -x_27 = lean_ctor_get(x_25, 1); -lean_inc(x_27); -lean_dec(x_25); -x_28 = lean_ctor_get(x_26, 1); -lean_inc(x_28); -lean_dec(x_26); -x_29 = lean_environment_main_module(x_12); -x_30 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_30, 0, x_24); -lean_ctor_set(x_30, 1, x_29); -lean_ctor_set(x_30, 2, x_18); -lean_ctor_set(x_30, 3, x_13); -lean_ctor_set(x_30, 4, x_14); -lean_ctor_set(x_30, 5, x_15); -x_31 = lean_box(0); -x_32 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_32, 0, x_28); -lean_ctor_set(x_32, 1, x_31); -x_33 = lean_apply_2(x_1, x_30, x_32); -if (lean_obj_tag(x_33) == 0) -{ -lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; uint8_t x_40; -x_34 = lean_ctor_get(x_33, 0); -lean_inc(x_34); -x_35 = lean_ctor_get(x_33, 1); -lean_inc(x_35); -lean_dec(x_33); -x_36 = lean_ctor_get(x_35, 0); -lean_inc(x_36); -x_37 = lean_st_ref_take(x_7, x_27); -x_38 = lean_ctor_get(x_37, 0); -lean_inc(x_38); -x_39 = lean_ctor_get(x_37, 1); -lean_inc(x_39); -lean_dec(x_37); -x_40 = !lean_is_exclusive(x_38); -if (x_40 == 0) -{ -lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; -x_41 = lean_ctor_get(x_38, 1); -lean_dec(x_41); -lean_ctor_set(x_38, 1, x_36); -x_42 = lean_st_ref_set(x_7, x_38, x_39); -x_43 = lean_ctor_get(x_42, 1); -lean_inc(x_43); -lean_dec(x_42); -x_44 = lean_ctor_get(x_35, 1); -lean_inc(x_44); -lean_dec(x_35); -x_45 = l_List_reverse___rarg(x_44); -x_46 = l_List_forM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__2(x_45, x_2, x_3, x_4, x_5, x_6, x_7, x_43); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_47 = !lean_is_exclusive(x_46); -if (x_47 == 0) -{ -lean_object* x_48; -x_48 = lean_ctor_get(x_46, 0); -lean_dec(x_48); -lean_ctor_set(x_46, 0, x_34); -return x_46; -} -else -{ -lean_object* x_49; lean_object* x_50; -x_49 = lean_ctor_get(x_46, 1); -lean_inc(x_49); -lean_dec(x_46); -x_50 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_50, 0, x_34); -lean_ctor_set(x_50, 1, x_49); -return x_50; -} -} -else -{ -lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; -x_51 = lean_ctor_get(x_38, 0); -x_52 = lean_ctor_get(x_38, 2); -x_53 = lean_ctor_get(x_38, 3); -x_54 = lean_ctor_get(x_38, 4); -x_55 = lean_ctor_get(x_38, 5); -x_56 = lean_ctor_get(x_38, 6); -lean_inc(x_56); -lean_inc(x_55); -lean_inc(x_54); -lean_inc(x_53); -lean_inc(x_52); -lean_inc(x_51); -lean_dec(x_38); -x_57 = lean_alloc_ctor(0, 7, 0); -lean_ctor_set(x_57, 0, x_51); -lean_ctor_set(x_57, 1, x_36); -lean_ctor_set(x_57, 2, x_52); -lean_ctor_set(x_57, 3, x_53); -lean_ctor_set(x_57, 4, x_54); -lean_ctor_set(x_57, 5, x_55); -lean_ctor_set(x_57, 6, x_56); -x_58 = lean_st_ref_set(x_7, x_57, x_39); -x_59 = lean_ctor_get(x_58, 1); -lean_inc(x_59); -lean_dec(x_58); -x_60 = lean_ctor_get(x_35, 1); -lean_inc(x_60); -lean_dec(x_35); -x_61 = l_List_reverse___rarg(x_60); -x_62 = l_List_forM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__2(x_61, x_2, x_3, x_4, x_5, x_6, x_7, x_59); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_63 = lean_ctor_get(x_62, 1); -lean_inc(x_63); -if (lean_is_exclusive(x_62)) { - lean_ctor_release(x_62, 0); - lean_ctor_release(x_62, 1); - x_64 = x_62; -} else { - lean_dec_ref(x_62); - x_64 = lean_box(0); -} -if (lean_is_scalar(x_64)) { - x_65 = lean_alloc_ctor(0, 2, 0); -} else { - x_65 = x_64; -} -lean_ctor_set(x_65, 0, x_34); -lean_ctor_set(x_65, 1, x_63); -return x_65; -} -} -else -{ -lean_object* x_66; -x_66 = lean_ctor_get(x_33, 0); -lean_inc(x_66); -lean_dec(x_33); -if (lean_obj_tag(x_66) == 0) -{ -lean_object* x_67; lean_object* x_68; lean_object* x_69; uint8_t x_70; -x_67 = lean_ctor_get(x_66, 0); -lean_inc(x_67); -x_68 = lean_ctor_get(x_66, 1); -lean_inc(x_68); -lean_dec(x_66); -x_69 = l_Lean_maxRecDepthErrorMessage; -x_70 = lean_string_dec_eq(x_68, x_69); -if (x_70 == 0) -{ -lean_object* x_71; lean_object* x_72; lean_object* x_73; -x_71 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_71, 0, x_68); -x_72 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_72, 0, x_71); -x_73 = l_Lean_throwErrorAt___at_Lean_Elab_Term_processDefDeriving___spec__2(x_67, x_72, x_2, x_3, x_4, x_5, x_6, x_7, x_27); -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_67); -return x_73; -} -else -{ -lean_object* x_74; -lean_dec(x_68); -x_74 = l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3(x_67, x_2, x_3, x_4, x_5, x_6, x_7, x_27); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_74; -} -} -else -{ -lean_object* x_75; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_75 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg(x_27); -return x_75; -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_addAndCompile___at_Lean_Elab_Term_processDefDeriving___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) { -_start: -{ -lean_object* x_9; -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_9 = l_Lean_addDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -if (lean_obj_tag(x_9) == 0) -{ -lean_object* x_10; lean_object* x_11; -x_10 = lean_ctor_get(x_9, 1); -lean_inc(x_10); -lean_dec(x_9); -x_11 = l_Lean_compileDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_10); -return x_11; -} -else -{ -uint8_t x_12; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_12 = !lean_is_exclusive(x_9); -if (x_12 == 0) -{ -return x_9; -} -else -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_13 = lean_ctor_get(x_9, 0); -x_14 = lean_ctor_get(x_9, 1); -lean_inc(x_14); -lean_inc(x_13); -lean_dec(x_9); -x_15 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_15, 0, x_13); -lean_ctor_set(x_15, 1, x_14); -return x_15; -} -} -} -} -static lean_object* _init_l_Lean_Elab_Term_processDefDeriving___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("inst", 4); -return x_1; -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_Term_processDefDeriving(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_inc(x_3); -lean_inc(x_2); -x_10 = l_Lean_getConstInfo___at_Lean_Elab_Term_mkConst___spec__1(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_10) == 0) -{ -lean_object* x_11; -x_11 = lean_ctor_get(x_10, 0); -lean_inc(x_11); -if (lean_obj_tag(x_11) == 1) -{ -lean_object* x_12; lean_object* x_13; uint8_t x_14; -x_12 = lean_ctor_get(x_11, 0); -lean_inc(x_12); -lean_dec(x_11); -x_13 = lean_ctor_get(x_10, 1); -lean_inc(x_13); -lean_dec(x_10); -x_14 = !lean_is_exclusive(x_12); -if (x_14 == 0) -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_15 = lean_ctor_get(x_12, 0); -x_16 = lean_ctor_get(x_12, 1); -x_17 = lean_ctor_get(x_12, 2); -x_18 = lean_ctor_get(x_12, 3); -lean_dec(x_18); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_1); -x_19 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_mkInst_x3f(x_1, x_16, x_5, x_6, x_7, x_8, x_13); -if (lean_obj_tag(x_19) == 0) -{ -lean_object* x_20; -x_20 = lean_ctor_get(x_19, 0); -lean_inc(x_20); -if (lean_obj_tag(x_20) == 0) -{ -uint8_t x_21; -lean_free_object(x_12); -lean_dec(x_17); -lean_dec(x_15); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_21 = !lean_is_exclusive(x_19); -if (x_21 == 0) -{ -lean_object* x_22; uint8_t x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_19, 0); -lean_dec(x_22); -x_23 = 0; -x_24 = lean_box(x_23); -lean_ctor_set(x_19, 0, x_24); -return x_19; -} -else -{ -lean_object* x_25; uint8_t x_26; lean_object* x_27; lean_object* x_28; -x_25 = lean_ctor_get(x_19, 1); -lean_inc(x_25); -lean_dec(x_19); -x_26 = 0; -x_27 = lean_box(x_26); -x_28 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_28, 0, x_27); -lean_ctor_set(x_28, 1, x_25); -return x_28; -} -} -else -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33; -x_29 = lean_ctor_get(x_19, 1); -lean_inc(x_29); -lean_dec(x_19); -x_30 = lean_ctor_get(x_20, 0); -lean_inc(x_30); -lean_dec(x_20); -x_31 = lean_ctor_get(x_30, 1); -lean_inc(x_31); -x_32 = l_Lean_Expr_appFn_x21(x_31); -lean_dec(x_31); -x_33 = !lean_is_exclusive(x_15); -if (x_33 == 0) -{ -lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; -x_34 = lean_ctor_get(x_15, 1); -x_35 = lean_ctor_get(x_15, 2); -lean_dec(x_35); -x_36 = lean_ctor_get(x_15, 0); -lean_dec(x_36); -x_37 = lean_box(0); -lean_inc(x_34); -x_38 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_34, x_37); -lean_inc(x_2); -x_39 = l_Lean_Expr_const___override(x_2, x_38); -x_40 = l_Lean_Expr_app___override(x_32, x_39); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_40); -x_41 = l_Lean_Meta_check(x_40, x_5, x_6, x_7, x_8, x_29); -if (lean_obj_tag(x_41) == 0) -{ -lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_42 = lean_ctor_get(x_41, 1); -lean_inc(x_42); -lean_dec(x_41); -x_43 = l_Lean_Elab_Term_processDefDeriving___closed__1; -x_44 = lean_name_append_before(x_2, x_43); -x_45 = l_Lean_Name_getString_x21(x_1); -lean_dec(x_1); -x_46 = lean_name_append_after(x_44, x_45); -x_47 = lean_alloc_closure((void*)(l_Lean_Elab_mkUnusedBaseName), 3, 1); -lean_closure_set(x_47, 0, x_46); -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_48 = l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1(x_47, x_3, x_4, x_5, x_6, x_7, x_8, x_42); -if (lean_obj_tag(x_48) == 0) -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_49 = lean_ctor_get(x_48, 0); -lean_inc(x_49); -x_50 = lean_ctor_get(x_48, 1); -lean_inc(x_50); -lean_dec(x_48); -x_51 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_40, x_3, x_4, x_5, x_6, x_7, x_8, x_50); -x_52 = lean_ctor_get(x_51, 0); -lean_inc(x_52); -x_53 = lean_ctor_get(x_51, 1); -lean_inc(x_53); -lean_dec(x_51); -x_54 = lean_ctor_get(x_30, 0); -lean_inc(x_54); -lean_dec(x_30); -x_55 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_54, x_3, x_4, x_5, x_6, x_7, x_8, x_53); -x_56 = lean_ctor_get(x_55, 0); -lean_inc(x_56); -x_57 = lean_ctor_get(x_55, 1); -lean_inc(x_57); -lean_dec(x_55); -lean_inc(x_49); -lean_ctor_set(x_15, 2, x_52); -lean_ctor_set(x_15, 0, x_49); -lean_inc(x_49); -x_58 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_58, 0, x_49); -lean_ctor_set(x_58, 1, x_37); -lean_ctor_set(x_12, 3, x_58); -lean_ctor_set(x_12, 1, x_56); -x_59 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_59, 0, x_12); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -x_60 = l_Lean_addAndCompile___at_Lean_Elab_Term_processDefDeriving___spec__5(x_59, x_3, x_4, x_5, x_6, x_7, x_8, x_57); -if (lean_obj_tag(x_60) == 0) -{ -lean_object* x_61; uint8_t x_62; lean_object* x_63; lean_object* x_64; -x_61 = lean_ctor_get(x_60, 1); -lean_inc(x_61); -lean_dec(x_60); -x_62 = 0; -x_63 = lean_unsigned_to_nat(1000u); -x_64 = l_Lean_Meta_addInstance(x_49, x_62, x_63, x_5, x_6, x_7, x_8, x_61); -if (lean_obj_tag(x_64) == 0) -{ -uint8_t x_65; -x_65 = !lean_is_exclusive(x_64); -if (x_65 == 0) -{ -lean_object* x_66; uint8_t x_67; lean_object* x_68; -x_66 = lean_ctor_get(x_64, 0); -lean_dec(x_66); -x_67 = 1; -x_68 = lean_box(x_67); -lean_ctor_set(x_64, 0, x_68); -return x_64; -} -else -{ -lean_object* x_69; uint8_t x_70; lean_object* x_71; lean_object* x_72; -x_69 = lean_ctor_get(x_64, 1); -lean_inc(x_69); -lean_dec(x_64); -x_70 = 1; -x_71 = lean_box(x_70); -x_72 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_72, 0, x_71); -lean_ctor_set(x_72, 1, x_69); -return x_72; -} -} -else -{ -uint8_t x_73; -x_73 = !lean_is_exclusive(x_64); -if (x_73 == 0) -{ -lean_object* x_74; uint8_t x_75; lean_object* x_76; -x_74 = lean_ctor_get(x_64, 0); -lean_dec(x_74); -x_75 = 0; -x_76 = lean_box(x_75); -lean_ctor_set_tag(x_64, 0); -lean_ctor_set(x_64, 0, x_76); -return x_64; -} -else -{ -lean_object* x_77; uint8_t x_78; lean_object* x_79; lean_object* x_80; -x_77 = lean_ctor_get(x_64, 1); -lean_inc(x_77); -lean_dec(x_64); -x_78 = 0; -x_79 = lean_box(x_78); -x_80 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_80, 0, x_79); -lean_ctor_set(x_80, 1, x_77); -return x_80; -} -} -} -else -{ -uint8_t x_81; -lean_dec(x_49); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -x_81 = !lean_is_exclusive(x_60); -if (x_81 == 0) -{ -lean_object* x_82; uint8_t x_83; lean_object* x_84; -x_82 = lean_ctor_get(x_60, 0); -lean_dec(x_82); -x_83 = 0; -x_84 = lean_box(x_83); -lean_ctor_set_tag(x_60, 0); -lean_ctor_set(x_60, 0, x_84); -return x_60; -} -else -{ -lean_object* x_85; uint8_t x_86; lean_object* x_87; lean_object* x_88; -x_85 = lean_ctor_get(x_60, 1); -lean_inc(x_85); -lean_dec(x_60); -x_86 = 0; -x_87 = lean_box(x_86); -x_88 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_88, 0, x_87); -lean_ctor_set(x_88, 1, x_85); -return x_88; -} -} -} -else -{ -uint8_t x_89; -lean_dec(x_40); -lean_free_object(x_15); -lean_dec(x_34); -lean_dec(x_30); -lean_free_object(x_12); -lean_dec(x_17); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_89 = !lean_is_exclusive(x_48); -if (x_89 == 0) -{ -lean_object* x_90; uint8_t x_91; lean_object* x_92; -x_90 = lean_ctor_get(x_48, 0); -lean_dec(x_90); -x_91 = 0; -x_92 = lean_box(x_91); -lean_ctor_set_tag(x_48, 0); -lean_ctor_set(x_48, 0, x_92); -return x_48; -} -else -{ -lean_object* x_93; uint8_t x_94; lean_object* x_95; lean_object* x_96; -x_93 = lean_ctor_get(x_48, 1); -lean_inc(x_93); -lean_dec(x_48); -x_94 = 0; -x_95 = lean_box(x_94); -x_96 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_96, 0, x_95); -lean_ctor_set(x_96, 1, x_93); -return x_96; -} -} -} -else -{ -uint8_t x_97; -lean_dec(x_40); -lean_free_object(x_15); -lean_dec(x_34); -lean_dec(x_30); -lean_free_object(x_12); -lean_dec(x_17); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_97 = !lean_is_exclusive(x_41); -if (x_97 == 0) -{ -lean_object* x_98; uint8_t x_99; lean_object* x_100; -x_98 = lean_ctor_get(x_41, 0); -lean_dec(x_98); -x_99 = 0; -x_100 = lean_box(x_99); -lean_ctor_set_tag(x_41, 0); -lean_ctor_set(x_41, 0, x_100); -return x_41; -} -else -{ -lean_object* x_101; uint8_t x_102; lean_object* x_103; lean_object* x_104; -x_101 = lean_ctor_get(x_41, 1); -lean_inc(x_101); -lean_dec(x_41); -x_102 = 0; -x_103 = lean_box(x_102); -x_104 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_104, 0, x_103); -lean_ctor_set(x_104, 1, x_101); -return x_104; -} -} -} -else -{ -lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; -x_105 = lean_ctor_get(x_15, 1); -lean_inc(x_105); -lean_dec(x_15); -x_106 = lean_box(0); -lean_inc(x_105); -x_107 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_105, x_106); -lean_inc(x_2); -x_108 = l_Lean_Expr_const___override(x_2, x_107); -x_109 = l_Lean_Expr_app___override(x_32, x_108); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_109); -x_110 = l_Lean_Meta_check(x_109, x_5, x_6, x_7, x_8, x_29); -if (lean_obj_tag(x_110) == 0) -{ -lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; -x_111 = lean_ctor_get(x_110, 1); -lean_inc(x_111); -lean_dec(x_110); -x_112 = l_Lean_Elab_Term_processDefDeriving___closed__1; -x_113 = lean_name_append_before(x_2, x_112); -x_114 = l_Lean_Name_getString_x21(x_1); -lean_dec(x_1); -x_115 = lean_name_append_after(x_113, x_114); -x_116 = lean_alloc_closure((void*)(l_Lean_Elab_mkUnusedBaseName), 3, 1); -lean_closure_set(x_116, 0, x_115); -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_117 = l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1(x_116, x_3, x_4, x_5, x_6, x_7, x_8, x_111); -if (lean_obj_tag(x_117) == 0) -{ -lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; -x_118 = lean_ctor_get(x_117, 0); -lean_inc(x_118); -x_119 = lean_ctor_get(x_117, 1); -lean_inc(x_119); -lean_dec(x_117); -x_120 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_109, x_3, x_4, x_5, x_6, x_7, x_8, x_119); -x_121 = lean_ctor_get(x_120, 0); -lean_inc(x_121); -x_122 = lean_ctor_get(x_120, 1); -lean_inc(x_122); -lean_dec(x_120); -x_123 = lean_ctor_get(x_30, 0); -lean_inc(x_123); -lean_dec(x_30); -x_124 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_123, x_3, x_4, x_5, x_6, x_7, x_8, x_122); -x_125 = lean_ctor_get(x_124, 0); -lean_inc(x_125); -x_126 = lean_ctor_get(x_124, 1); -lean_inc(x_126); -lean_dec(x_124); -lean_inc(x_118); -x_127 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_127, 0, x_118); -lean_ctor_set(x_127, 1, x_105); -lean_ctor_set(x_127, 2, x_121); -lean_inc(x_118); -x_128 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_128, 0, x_118); -lean_ctor_set(x_128, 1, x_106); -lean_ctor_set(x_12, 3, x_128); -lean_ctor_set(x_12, 1, x_125); -lean_ctor_set(x_12, 0, x_127); -x_129 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_129, 0, x_12); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -x_130 = l_Lean_addAndCompile___at_Lean_Elab_Term_processDefDeriving___spec__5(x_129, x_3, x_4, x_5, x_6, x_7, x_8, x_126); -if (lean_obj_tag(x_130) == 0) -{ -lean_object* x_131; uint8_t x_132; lean_object* x_133; lean_object* x_134; -x_131 = lean_ctor_get(x_130, 1); -lean_inc(x_131); -lean_dec(x_130); -x_132 = 0; -x_133 = lean_unsigned_to_nat(1000u); -x_134 = l_Lean_Meta_addInstance(x_118, x_132, x_133, x_5, x_6, x_7, x_8, x_131); -if (lean_obj_tag(x_134) == 0) -{ -lean_object* x_135; lean_object* x_136; uint8_t x_137; lean_object* x_138; lean_object* x_139; -x_135 = lean_ctor_get(x_134, 1); -lean_inc(x_135); -if (lean_is_exclusive(x_134)) { - lean_ctor_release(x_134, 0); - lean_ctor_release(x_134, 1); - x_136 = x_134; -} else { - lean_dec_ref(x_134); - x_136 = lean_box(0); -} -x_137 = 1; -x_138 = lean_box(x_137); -if (lean_is_scalar(x_136)) { - x_139 = lean_alloc_ctor(0, 2, 0); -} else { - x_139 = x_136; -} -lean_ctor_set(x_139, 0, x_138); -lean_ctor_set(x_139, 1, x_135); -return x_139; -} -else -{ -lean_object* x_140; lean_object* x_141; uint8_t x_142; lean_object* x_143; lean_object* x_144; -x_140 = lean_ctor_get(x_134, 1); -lean_inc(x_140); -if (lean_is_exclusive(x_134)) { - lean_ctor_release(x_134, 0); - lean_ctor_release(x_134, 1); - x_141 = x_134; -} else { - lean_dec_ref(x_134); - x_141 = lean_box(0); -} -x_142 = 0; -x_143 = lean_box(x_142); -if (lean_is_scalar(x_141)) { - x_144 = lean_alloc_ctor(0, 2, 0); -} else { - x_144 = x_141; - lean_ctor_set_tag(x_144, 0); -} -lean_ctor_set(x_144, 0, x_143); -lean_ctor_set(x_144, 1, x_140); -return x_144; -} -} -else -{ -lean_object* x_145; lean_object* x_146; uint8_t x_147; lean_object* x_148; lean_object* x_149; -lean_dec(x_118); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -x_145 = lean_ctor_get(x_130, 1); -lean_inc(x_145); -if (lean_is_exclusive(x_130)) { - lean_ctor_release(x_130, 0); - lean_ctor_release(x_130, 1); - x_146 = x_130; -} else { - lean_dec_ref(x_130); - x_146 = lean_box(0); -} -x_147 = 0; -x_148 = lean_box(x_147); -if (lean_is_scalar(x_146)) { - x_149 = lean_alloc_ctor(0, 2, 0); -} else { - x_149 = x_146; - lean_ctor_set_tag(x_149, 0); -} -lean_ctor_set(x_149, 0, x_148); -lean_ctor_set(x_149, 1, x_145); -return x_149; -} -} -else -{ -lean_object* x_150; lean_object* x_151; uint8_t x_152; lean_object* x_153; lean_object* x_154; -lean_dec(x_109); -lean_dec(x_105); -lean_dec(x_30); -lean_free_object(x_12); -lean_dec(x_17); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_150 = lean_ctor_get(x_117, 1); -lean_inc(x_150); -if (lean_is_exclusive(x_117)) { - lean_ctor_release(x_117, 0); - lean_ctor_release(x_117, 1); - x_151 = x_117; -} else { - lean_dec_ref(x_117); - x_151 = lean_box(0); -} -x_152 = 0; -x_153 = lean_box(x_152); -if (lean_is_scalar(x_151)) { - x_154 = lean_alloc_ctor(0, 2, 0); -} else { - x_154 = x_151; - lean_ctor_set_tag(x_154, 0); -} -lean_ctor_set(x_154, 0, x_153); -lean_ctor_set(x_154, 1, x_150); -return x_154; -} -} -else -{ -lean_object* x_155; lean_object* x_156; uint8_t x_157; lean_object* x_158; lean_object* x_159; -lean_dec(x_109); -lean_dec(x_105); -lean_dec(x_30); -lean_free_object(x_12); -lean_dec(x_17); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_155 = lean_ctor_get(x_110, 1); -lean_inc(x_155); -if (lean_is_exclusive(x_110)) { - lean_ctor_release(x_110, 0); - lean_ctor_release(x_110, 1); - x_156 = x_110; -} else { - lean_dec_ref(x_110); - x_156 = lean_box(0); -} -x_157 = 0; -x_158 = lean_box(x_157); -if (lean_is_scalar(x_156)) { - x_159 = lean_alloc_ctor(0, 2, 0); -} else { - x_159 = x_156; - lean_ctor_set_tag(x_159, 0); -} -lean_ctor_set(x_159, 0, x_158); -lean_ctor_set(x_159, 1, x_155); -return x_159; -} -} -} -} -else -{ -uint8_t x_160; -lean_free_object(x_12); -lean_dec(x_17); -lean_dec(x_15); -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_160 = !lean_is_exclusive(x_19); -if (x_160 == 0) -{ -lean_object* x_161; uint8_t x_162; lean_object* x_163; -x_161 = lean_ctor_get(x_19, 0); -lean_dec(x_161); -x_162 = 0; -x_163 = lean_box(x_162); -lean_ctor_set_tag(x_19, 0); -lean_ctor_set(x_19, 0, x_163); -return x_19; -} -else -{ -lean_object* x_164; uint8_t x_165; lean_object* x_166; lean_object* x_167; -x_164 = lean_ctor_get(x_19, 1); -lean_inc(x_164); -lean_dec(x_19); -x_165 = 0; -x_166 = lean_box(x_165); -x_167 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_167, 0, x_166); -lean_ctor_set(x_167, 1, x_164); -return x_167; -} -} -} -else -{ -lean_object* x_168; lean_object* x_169; lean_object* x_170; uint8_t x_171; lean_object* x_172; -x_168 = lean_ctor_get(x_12, 0); -x_169 = lean_ctor_get(x_12, 1); -x_170 = lean_ctor_get(x_12, 2); -x_171 = lean_ctor_get_uint8(x_12, sizeof(void*)*4); -lean_inc(x_170); -lean_inc(x_169); -lean_inc(x_168); -lean_dec(x_12); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_1); -x_172 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_mkInst_x3f(x_1, x_169, x_5, x_6, x_7, x_8, x_13); -if (lean_obj_tag(x_172) == 0) -{ -lean_object* x_173; -x_173 = lean_ctor_get(x_172, 0); -lean_inc(x_173); -if (lean_obj_tag(x_173) == 0) -{ -lean_object* x_174; lean_object* x_175; uint8_t x_176; lean_object* x_177; lean_object* x_178; -lean_dec(x_170); -lean_dec(x_168); -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_174 = lean_ctor_get(x_172, 1); -lean_inc(x_174); -if (lean_is_exclusive(x_172)) { - lean_ctor_release(x_172, 0); - lean_ctor_release(x_172, 1); - x_175 = x_172; -} else { - lean_dec_ref(x_172); - x_175 = lean_box(0); -} -x_176 = 0; -x_177 = lean_box(x_176); -if (lean_is_scalar(x_175)) { - x_178 = lean_alloc_ctor(0, 2, 0); -} else { - x_178 = x_175; -} -lean_ctor_set(x_178, 0, x_177); -lean_ctor_set(x_178, 1, x_174); -return x_178; -} -else -{ -lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; -x_179 = lean_ctor_get(x_172, 1); -lean_inc(x_179); -lean_dec(x_172); -x_180 = lean_ctor_get(x_173, 0); -lean_inc(x_180); -lean_dec(x_173); -x_181 = lean_ctor_get(x_180, 1); -lean_inc(x_181); -x_182 = l_Lean_Expr_appFn_x21(x_181); -lean_dec(x_181); -x_183 = lean_ctor_get(x_168, 1); -lean_inc(x_183); -if (lean_is_exclusive(x_168)) { - lean_ctor_release(x_168, 0); - lean_ctor_release(x_168, 1); - lean_ctor_release(x_168, 2); - x_184 = x_168; -} else { - lean_dec_ref(x_168); - x_184 = lean_box(0); -} -x_185 = lean_box(0); -lean_inc(x_183); -x_186 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_183, x_185); -lean_inc(x_2); -x_187 = l_Lean_Expr_const___override(x_2, x_186); -x_188 = l_Lean_Expr_app___override(x_182, x_187); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_188); -x_189 = l_Lean_Meta_check(x_188, x_5, x_6, x_7, x_8, x_179); -if (lean_obj_tag(x_189) == 0) -{ -lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; -x_190 = lean_ctor_get(x_189, 1); -lean_inc(x_190); -lean_dec(x_189); -x_191 = l_Lean_Elab_Term_processDefDeriving___closed__1; -x_192 = lean_name_append_before(x_2, x_191); -x_193 = l_Lean_Name_getString_x21(x_1); -lean_dec(x_1); -x_194 = lean_name_append_after(x_192, x_193); -x_195 = lean_alloc_closure((void*)(l_Lean_Elab_mkUnusedBaseName), 3, 1); -lean_closure_set(x_195, 0, x_194); -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_196 = l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1(x_195, x_3, x_4, x_5, x_6, x_7, x_8, x_190); -if (lean_obj_tag(x_196) == 0) -{ -lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; -x_197 = lean_ctor_get(x_196, 0); -lean_inc(x_197); -x_198 = lean_ctor_get(x_196, 1); -lean_inc(x_198); -lean_dec(x_196); -x_199 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_188, x_3, x_4, x_5, x_6, x_7, x_8, x_198); -x_200 = lean_ctor_get(x_199, 0); -lean_inc(x_200); -x_201 = lean_ctor_get(x_199, 1); -lean_inc(x_201); -lean_dec(x_199); -x_202 = lean_ctor_get(x_180, 0); -lean_inc(x_202); -lean_dec(x_180); -x_203 = l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(x_202, x_3, x_4, x_5, x_6, x_7, x_8, x_201); -x_204 = lean_ctor_get(x_203, 0); -lean_inc(x_204); -x_205 = lean_ctor_get(x_203, 1); -lean_inc(x_205); -lean_dec(x_203); -lean_inc(x_197); -if (lean_is_scalar(x_184)) { - x_206 = lean_alloc_ctor(0, 3, 0); -} else { - x_206 = x_184; -} -lean_ctor_set(x_206, 0, x_197); -lean_ctor_set(x_206, 1, x_183); -lean_ctor_set(x_206, 2, x_200); -lean_inc(x_197); -x_207 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_207, 0, x_197); -lean_ctor_set(x_207, 1, x_185); -x_208 = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(x_208, 0, x_206); -lean_ctor_set(x_208, 1, x_204); -lean_ctor_set(x_208, 2, x_170); -lean_ctor_set(x_208, 3, x_207); -lean_ctor_set_uint8(x_208, sizeof(void*)*4, x_171); -x_209 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_209, 0, x_208); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -x_210 = l_Lean_addAndCompile___at_Lean_Elab_Term_processDefDeriving___spec__5(x_209, x_3, x_4, x_5, x_6, x_7, x_8, x_205); -if (lean_obj_tag(x_210) == 0) -{ -lean_object* x_211; uint8_t x_212; lean_object* x_213; lean_object* x_214; -x_211 = lean_ctor_get(x_210, 1); -lean_inc(x_211); -lean_dec(x_210); -x_212 = 0; -x_213 = lean_unsigned_to_nat(1000u); -x_214 = l_Lean_Meta_addInstance(x_197, x_212, x_213, x_5, x_6, x_7, x_8, x_211); -if (lean_obj_tag(x_214) == 0) -{ -lean_object* x_215; lean_object* x_216; uint8_t x_217; lean_object* x_218; lean_object* x_219; -x_215 = lean_ctor_get(x_214, 1); -lean_inc(x_215); -if (lean_is_exclusive(x_214)) { - lean_ctor_release(x_214, 0); - lean_ctor_release(x_214, 1); - x_216 = x_214; -} else { - lean_dec_ref(x_214); - x_216 = lean_box(0); -} -x_217 = 1; -x_218 = lean_box(x_217); -if (lean_is_scalar(x_216)) { - x_219 = lean_alloc_ctor(0, 2, 0); -} else { - x_219 = x_216; -} -lean_ctor_set(x_219, 0, x_218); -lean_ctor_set(x_219, 1, x_215); -return x_219; -} -else -{ -lean_object* x_220; lean_object* x_221; uint8_t x_222; lean_object* x_223; lean_object* x_224; -x_220 = lean_ctor_get(x_214, 1); -lean_inc(x_220); -if (lean_is_exclusive(x_214)) { - lean_ctor_release(x_214, 0); - lean_ctor_release(x_214, 1); - x_221 = x_214; -} else { - lean_dec_ref(x_214); - x_221 = lean_box(0); -} -x_222 = 0; -x_223 = lean_box(x_222); -if (lean_is_scalar(x_221)) { - x_224 = lean_alloc_ctor(0, 2, 0); -} else { - x_224 = x_221; - lean_ctor_set_tag(x_224, 0); -} -lean_ctor_set(x_224, 0, x_223); -lean_ctor_set(x_224, 1, x_220); -return x_224; -} -} -else -{ -lean_object* x_225; lean_object* x_226; uint8_t x_227; lean_object* x_228; lean_object* x_229; -lean_dec(x_197); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -x_225 = lean_ctor_get(x_210, 1); -lean_inc(x_225); -if (lean_is_exclusive(x_210)) { - lean_ctor_release(x_210, 0); - lean_ctor_release(x_210, 1); - x_226 = x_210; -} else { - lean_dec_ref(x_210); - x_226 = lean_box(0); -} -x_227 = 0; -x_228 = lean_box(x_227); -if (lean_is_scalar(x_226)) { - x_229 = lean_alloc_ctor(0, 2, 0); -} else { - x_229 = x_226; - lean_ctor_set_tag(x_229, 0); -} -lean_ctor_set(x_229, 0, x_228); -lean_ctor_set(x_229, 1, x_225); -return x_229; -} -} -else -{ -lean_object* x_230; lean_object* x_231; uint8_t x_232; lean_object* x_233; lean_object* x_234; -lean_dec(x_188); -lean_dec(x_184); -lean_dec(x_183); -lean_dec(x_180); -lean_dec(x_170); -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_230 = lean_ctor_get(x_196, 1); -lean_inc(x_230); -if (lean_is_exclusive(x_196)) { - lean_ctor_release(x_196, 0); - lean_ctor_release(x_196, 1); - x_231 = x_196; -} else { - lean_dec_ref(x_196); - x_231 = lean_box(0); -} -x_232 = 0; -x_233 = lean_box(x_232); -if (lean_is_scalar(x_231)) { - x_234 = lean_alloc_ctor(0, 2, 0); -} else { - x_234 = x_231; - lean_ctor_set_tag(x_234, 0); -} -lean_ctor_set(x_234, 0, x_233); -lean_ctor_set(x_234, 1, x_230); -return x_234; -} -} -else -{ -lean_object* x_235; lean_object* x_236; uint8_t x_237; lean_object* x_238; lean_object* x_239; -lean_dec(x_188); -lean_dec(x_184); -lean_dec(x_183); -lean_dec(x_180); -lean_dec(x_170); -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_235 = lean_ctor_get(x_189, 1); -lean_inc(x_235); -if (lean_is_exclusive(x_189)) { - lean_ctor_release(x_189, 0); - lean_ctor_release(x_189, 1); - x_236 = x_189; -} else { - lean_dec_ref(x_189); - x_236 = lean_box(0); -} -x_237 = 0; -x_238 = lean_box(x_237); -if (lean_is_scalar(x_236)) { - x_239 = lean_alloc_ctor(0, 2, 0); -} else { - x_239 = x_236; - lean_ctor_set_tag(x_239, 0); -} -lean_ctor_set(x_239, 0, x_238); -lean_ctor_set(x_239, 1, x_235); -return x_239; -} -} -} -else -{ -lean_object* x_240; lean_object* x_241; uint8_t x_242; lean_object* x_243; lean_object* x_244; -lean_dec(x_170); -lean_dec(x_168); -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_240 = lean_ctor_get(x_172, 1); -lean_inc(x_240); -if (lean_is_exclusive(x_172)) { - lean_ctor_release(x_172, 0); - lean_ctor_release(x_172, 1); - x_241 = x_172; -} else { - lean_dec_ref(x_172); - x_241 = lean_box(0); -} -x_242 = 0; -x_243 = lean_box(x_242); -if (lean_is_scalar(x_241)) { - x_244 = lean_alloc_ctor(0, 2, 0); -} else { - x_244 = x_241; - lean_ctor_set_tag(x_244, 0); -} -lean_ctor_set(x_244, 0, x_243); -lean_ctor_set(x_244, 1, x_240); -return x_244; -} -} -} -else -{ -uint8_t x_245; -lean_dec(x_11); -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_245 = !lean_is_exclusive(x_10); -if (x_245 == 0) -{ -lean_object* x_246; uint8_t x_247; lean_object* x_248; -x_246 = lean_ctor_get(x_10, 0); -lean_dec(x_246); -x_247 = 0; -x_248 = lean_box(x_247); -lean_ctor_set(x_10, 0, x_248); -return x_10; -} -else -{ -lean_object* x_249; uint8_t x_250; lean_object* x_251; lean_object* x_252; -x_249 = lean_ctor_get(x_10, 1); -lean_inc(x_249); -lean_dec(x_10); -x_250 = 0; -x_251 = lean_box(x_250); -x_252 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_252, 0, x_251); -lean_ctor_set(x_252, 1, x_249); -return x_252; -} -} -} -else -{ -uint8_t x_253; -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_253 = !lean_is_exclusive(x_10); -if (x_253 == 0) -{ -lean_object* x_254; uint8_t x_255; lean_object* x_256; -x_254 = lean_ctor_get(x_10, 0); -lean_dec(x_254); -x_255 = 0; -x_256 = lean_box(x_255); -lean_ctor_set_tag(x_10, 0); -lean_ctor_set(x_10, 0, x_256); -return x_10; -} -else -{ -lean_object* x_257; uint8_t x_258; lean_object* x_259; lean_object* x_260; -x_257 = lean_ctor_get(x_10, 1); -lean_inc(x_257); -lean_dec(x_10); -x_258 = 0; -x_259 = lean_box(x_258); -x_260 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_260, 0, x_259); -lean_ctor_set(x_260, 1, x_257); -return x_260; -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Term_processDefDeriving___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -lean_object* x_10; -x_10 = l_Lean_throwErrorAt___at_Lean_Elab_Term_processDefDeriving___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_1); -return x_10; -} -} -LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___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_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_9; -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; -x_7 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4(x_1, x_2, x_3, x_4, x_5, x_6); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -return x_7; -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -lean_object* x_5; -x_5 = l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__1(x_1, x_2, x_3, x_4); -lean_dec(x_3); -return x_5; -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -lean_object* x_5; -x_5 = l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__2(x_1, x_2, x_3, x_4); -lean_dec(x_3); -return x_5; -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___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) { -_start: -{ -lean_object* x_7; -x_7 = l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6); -lean_dec(x_5); -lean_dec(x_2); -return x_7; -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___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) { -_start: -{ -lean_object* x_7; -x_7 = l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_processDefDeriving___spec__1___lambda__4(x_1, x_2, x_3, x_4, x_5, x_6); -lean_dec(x_5); -return x_7; -} -} LEAN_EXPORT lean_object* l_Lean_Elab_Term_eraseAuxDiscr___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { @@ -39703,98 +37352,66 @@ return x_50; } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_Term_elabMutualDef_go___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_Term_elabMutualDef_go___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_9; lean_object* x_10; -x_9 = lean_box(0); -x_10 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_10, 0, x_9); -lean_ctor_set(x_10, 1, x_8); -return x_10; +lean_object* x_10; lean_object* x_11; +x_10 = l_List_reverse___rarg(x_2); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_10); +lean_ctor_set(x_11, 1, x_9); +return x_11; } else { -uint8_t x_11; -x_11 = !lean_is_exclusive(x_1); -if (x_11 == 0) +uint8_t x_12; +x_12 = !lean_is_exclusive(x_1); +if (x_12 == 0) { -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; -x_12 = lean_ctor_get(x_1, 0); -x_13 = lean_ctor_get(x_1, 1); -x_14 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_instantiateMVarsAtLetRecToLift(x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -x_15 = lean_ctor_get(x_14, 0); -lean_inc(x_15); -x_16 = lean_ctor_get(x_14, 1); +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_13 = lean_ctor_get(x_1, 0); +x_14 = lean_ctor_get(x_1, 1); +x_15 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_instantiateMVarsAtLetRecToLift(x_13, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_16 = lean_ctor_get(x_15, 0); lean_inc(x_16); -lean_dec(x_14); -x_17 = l_List_mapM___at_Lean_Elab_Term_elabMutualDef_go___spec__2(x_13, x_2, x_3, x_4, x_5, x_6, x_7, x_16); -x_18 = !lean_is_exclusive(x_17); -if (x_18 == 0) +x_17 = lean_ctor_get(x_15, 1); +lean_inc(x_17); +lean_dec(x_15); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_16); { -lean_object* x_19; -x_19 = lean_ctor_get(x_17, 0); -lean_ctor_set(x_1, 1, x_19); -lean_ctor_set(x_1, 0, x_15); -lean_ctor_set(x_17, 0, x_1); -return x_17; +lean_object* _tmp_0 = x_14; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_8 = x_17; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_9 = _tmp_8; +} +goto _start; } else { -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_ctor_get(x_17, 0); -x_21 = lean_ctor_get(x_17, 1); -lean_inc(x_21); +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_19 = lean_ctor_get(x_1, 0); +x_20 = lean_ctor_get(x_1, 1); lean_inc(x_20); -lean_dec(x_17); -lean_ctor_set(x_1, 1, x_20); -lean_ctor_set(x_1, 0, x_15); -x_22 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_22, 0, x_1); -lean_ctor_set(x_22, 1, x_21); -return x_22; -} -} -else -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_23 = lean_ctor_get(x_1, 0); -x_24 = lean_ctor_get(x_1, 1); -lean_inc(x_24); -lean_inc(x_23); +lean_inc(x_19); lean_dec(x_1); -x_25 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_instantiateMVarsAtLetRecToLift(x_23, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -x_26 = lean_ctor_get(x_25, 0); -lean_inc(x_26); -x_27 = lean_ctor_get(x_25, 1); -lean_inc(x_27); -lean_dec(x_25); -x_28 = l_List_mapM___at_Lean_Elab_Term_elabMutualDef_go___spec__2(x_24, x_2, x_3, x_4, x_5, x_6, x_7, x_27); -x_29 = lean_ctor_get(x_28, 0); -lean_inc(x_29); -x_30 = lean_ctor_get(x_28, 1); -lean_inc(x_30); -if (lean_is_exclusive(x_28)) { - lean_ctor_release(x_28, 0); - lean_ctor_release(x_28, 1); - x_31 = x_28; -} else { - lean_dec_ref(x_28); - x_31 = lean_box(0); -} -x_32 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_32, 0, x_26); -lean_ctor_set(x_32, 1, x_29); -if (lean_is_scalar(x_31)) { - x_33 = lean_alloc_ctor(0, 2, 0); -} else { - x_33 = x_31; -} -lean_ctor_set(x_33, 0, x_32); -lean_ctor_set(x_33, 1, x_30); -return x_33; +x_21 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_instantiateMVarsAtLetRecToLift(x_19, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_22 = lean_ctor_get(x_21, 0); +lean_inc(x_22); +x_23 = lean_ctor_get(x_21, 1); +lean_inc(x_23); +lean_dec(x_21); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_2); +x_1 = x_20; +x_2 = x_24; +x_9 = x_23; +goto _start; } } } @@ -40655,7 +38272,7 @@ return x_73; LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabMutualDef_go___lambda__2(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, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { _start: { -lean_object* x_17; size_t x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +lean_object* x_17; size_t x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; x_17 = lean_array_get_size(x_1); x_18 = lean_usize_of_nat(x_17); lean_dec(x_17); @@ -40671,46 +38288,47 @@ lean_inc(x_23); x_24 = lean_ctor_get(x_22, 1); lean_inc(x_24); lean_dec(x_22); -x_25 = l_List_mapM___at_Lean_Elab_Term_elabMutualDef_go___spec__2(x_23, x_10, x_11, x_12, x_13, x_14, x_15, x_24); -x_26 = lean_ctor_get(x_25, 0); -lean_inc(x_26); -x_27 = lean_ctor_get(x_25, 1); +x_25 = lean_box(0); +x_26 = l_List_mapM_loop___at_Lean_Elab_Term_elabMutualDef_go___spec__2(x_23, x_25, x_10, x_11, x_12, x_13, x_14, x_15, x_24); +x_27 = lean_ctor_get(x_26, 0); lean_inc(x_27); -lean_dec(x_25); +x_28 = lean_ctor_get(x_26, 1); +lean_inc(x_28); +lean_dec(x_26); lean_inc(x_14); lean_inc(x_12); lean_inc(x_10); -lean_inc_n(x_26, 2); +lean_inc_n(x_27, 2); lean_inc(x_3); -x_28 = l_List_forM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkLetRecsToLiftTypes___spec__1(x_3, x_26, x_26, x_10, x_11, x_12, x_13, x_14, x_15, x_27); -if (lean_obj_tag(x_28) == 0) +x_29 = l_List_forM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkLetRecsToLiftTypes___spec__1(x_3, x_27, x_27, x_10, x_11, x_12, x_13, x_14, x_15, x_28); +if (lean_obj_tag(x_29) == 0) { -lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_29 = lean_ctor_get(x_28, 1); -lean_inc(x_29); -lean_dec(x_28); -x_30 = lean_box_usize(x_2); -lean_inc(x_26); +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_30 = lean_ctor_get(x_29, 1); +lean_inc(x_30); +lean_dec(x_29); +x_31 = lean_box_usize(x_2); +lean_inc(x_27); lean_inc(x_9); lean_inc(x_20); -x_31 = lean_alloc_closure((void*)(l_Lean_Elab_Term_elabMutualDef_go___lambda__1___boxed), 17, 9); -lean_closure_set(x_31, 0, x_20); -lean_closure_set(x_31, 1, x_3); -lean_closure_set(x_31, 2, x_9); -lean_closure_set(x_31, 3, x_26); -lean_closure_set(x_31, 4, x_30); -lean_closure_set(x_31, 5, x_4); -lean_closure_set(x_31, 6, x_5); -lean_closure_set(x_31, 7, x_6); -lean_closure_set(x_31, 8, x_7); -x_32 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withUsed___rarg(x_8, x_20, x_9, x_26, x_31, x_10, x_11, x_12, x_13, x_14, x_15, x_29); +x_32 = lean_alloc_closure((void*)(l_Lean_Elab_Term_elabMutualDef_go___lambda__1___boxed), 17, 9); +lean_closure_set(x_32, 0, x_20); +lean_closure_set(x_32, 1, x_3); +lean_closure_set(x_32, 2, x_9); +lean_closure_set(x_32, 3, x_27); +lean_closure_set(x_32, 4, x_31); +lean_closure_set(x_32, 5, x_4); +lean_closure_set(x_32, 6, x_5); +lean_closure_set(x_32, 7, x_6); +lean_closure_set(x_32, 8, x_7); +x_33 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withUsed___rarg(x_8, x_20, x_9, x_27, x_32, x_10, x_11, x_12, x_13, x_14, x_15, x_30); lean_dec(x_9); -return x_32; +return x_33; } else { -uint8_t x_33; -lean_dec(x_26); +uint8_t x_34; +lean_dec(x_27); lean_dec(x_20); lean_dec(x_15); lean_dec(x_14); @@ -40724,23 +38342,23 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_33 = !lean_is_exclusive(x_28); -if (x_33 == 0) +x_34 = !lean_is_exclusive(x_29); +if (x_34 == 0) { -return x_28; +return x_29; } else { -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_28, 0); -x_35 = lean_ctor_get(x_28, 1); +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_29, 0); +x_36 = lean_ctor_get(x_29, 1); +lean_inc(x_36); lean_inc(x_35); -lean_inc(x_34); -lean_dec(x_28); -x_36 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_36, 0, x_34); -lean_ctor_set(x_36, 1, x_35); -return x_36; +lean_dec(x_29); +x_37 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_37, 0, x_35); +lean_ctor_set(x_37, 1, x_36); +return x_37; } } } @@ -41120,18 +38738,18 @@ lean_dec(x_1); return x_14; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_Term_elabMutualDef_go___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_Term_elabMutualDef_go___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -lean_object* x_9; -x_9 = l_List_mapM___at_Lean_Elab_Term_elabMutualDef_go___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_object* x_10; +x_10 = l_List_mapM_loop___at_Lean_Elab_Term_elabMutualDef_go___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); -return x_9; +return x_10; } } LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabMutualDef_go___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) { @@ -41647,7 +39265,7 @@ lean_ctor_set(x_29, 0, x_12); lean_ctor_set(x_29, 1, x_28); x_30 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_30, 0, x_29); -x_31 = l_Lean_Elab_pushInfoLeaf___at_Lean_Linter_MissingDocs_handleIn___spec__3(x_30, x_5, x_6, x_19); +x_31 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__21(x_30, x_5, x_6, x_19); x_32 = lean_ctor_get(x_31, 0); lean_inc(x_32); x_33 = lean_ctor_get(x_31, 1); @@ -41752,7 +39370,7 @@ lean_dec(x_18); lean_dec(x_12); lean_dec(x_9); x_26 = l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__3; -x_27 = l_Lean_throwErrorAt___at_Lean_Elab_Command_mkInstanceName___spec__15(x_16, x_26, x_2, x_3, x_17); +x_27 = l_Lean_throwErrorAt___at_Lean_Elab_elabDeriving___spec__15(x_16, x_26, x_2, x_3, x_17); x_28 = !lean_is_exclusive(x_27); if (x_28 == 0) { @@ -43298,7 +40916,8 @@ lean_object* initialize_Lean_PrettyPrinter_Delaborator_Options(uint8_t builtin, lean_object* initialize_Lean_Elab_Command(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Match(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_DefView(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_PreDefinition(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Elab_Deriving_Basic(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Elab_PreDefinition_Main(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_DeclarationRange(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Elab_MutualDef(uint8_t builtin, lean_object* w) { @@ -43332,7 +40951,10 @@ lean_dec_ref(res); res = initialize_Lean_Elab_DefView(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Elab_PreDefinition(builtin, lean_io_mk_world()); +res = initialize_Lean_Elab_Deriving_Basic(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Elab_PreDefinition_Main(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_Elab_DeclarationRange(builtin, lean_io_mk_world()); @@ -43671,18 +41293,6 @@ l_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs___closed__1 = _init_l_Lean lean_mark_persistent(l_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs___closed__1); l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_levelMVarToParamHeaders_process___spec__1___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_levelMVarToParamHeaders_process___spec__1___closed__1(); lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_levelMVarToParamHeaders_process___spec__1___closed__1); -l_Lean_Elab_Term_MkInstResult_outParams___default = _init_l_Lean_Elab_Term_MkInstResult_outParams___default(); -lean_mark_persistent(l_Lean_Elab_Term_MkInstResult_outParams___default); -l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___closed__1 = _init_l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___closed__1(); -lean_mark_persistent(l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___closed__1); -l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___closed__2 = _init_l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___closed__2(); -lean_mark_persistent(l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_processDefDeriving___spec__3___closed__2); -l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__1 = _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__1(); -lean_mark_persistent(l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__1); -l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__2 = _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__2(); -lean_mark_persistent(l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_processDefDeriving___spec__4___rarg___closed__2); -l_Lean_Elab_Term_processDefDeriving___closed__1 = _init_l_Lean_Elab_Term_processDefDeriving___closed__1(); -lean_mark_persistent(l_Lean_Elab_Term_processDefDeriving___closed__1); l_Lean_Elab_Term_eraseAuxDiscr___lambda__2___closed__1 = _init_l_Lean_Elab_Term_eraseAuxDiscr___lambda__2___closed__1(); lean_mark_persistent(l_Lean_Elab_Term_eraseAuxDiscr___lambda__2___closed__1); l_Lean_Elab_Term_eraseAuxDiscr___closed__1 = _init_l_Lean_Elab_Term_eraseAuxDiscr___closed__1(); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/Basic.c b/stage0/stdlib/Lean/Elab/PreDefinition/Basic.c index 14fcfb9f9c..54284c284a 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/Basic.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/Basic.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.PreDefinition.Basic -// Imports: Init Lean.Util.SCC Lean.Compiler.NoncomputableAttr Lean.Meta.AbstractNestedProofs Lean.Meta.Transform Lean.Elab.Term Lean.Elab.RecAppSyntax Lean.Elab.DefView +// Imports: Init Lean.Compiler.NoncomputableAttr Lean.Util.CollectLevelParams Lean.Meta.AbstractNestedProofs Lean.Elab.RecAppSyntax Lean.Elab.DefView #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -27,13 +27,13 @@ lean_object* l_Lean_Elab_Term_addTermInfo_x27(lean_object*, lean_object*, lean_o static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_levelMVarToParamPreDecls___spec__1___closed__1; LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_addAndCompilePartialRec___spec__3(lean_object*, size_t, size_t); lean_object* l_Lean_stringToMessageData(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_EXPORT uint8_t l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_containsRecFn___lambda__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_addAsAxiom(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); lean_object* l_Lean_Meta_forEachExpr___at_Lean_Meta_setMVarUserNamesAt___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_addAndCompileUnsafe___spec__3(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_instantiateMVarsAtPreDecls___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Meta_setInlineAttribute___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_usize_dec_eq(size_t, size_t); @@ -94,7 +94,6 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefi LEAN_EXPORT lean_object* l_Lean_Elab_eraseRecAppSyntaxExpr___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_addAndCompilePartialRec___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_instInhabitedPreDefinition___closed__1; -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_addAndCompilePartialRec___spec__2___lambda__1___closed__1; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_addAndCompilePartialRec___spec__2___lambda__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___spec__10(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -142,7 +141,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_addAndCompilePartialRec(lean_object*, lean_ lean_object* l_instBEqProd___rarg(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_getLevelParamsPreDecls___closed__2; LEAN_EXPORT uint8_t l_Array_mapMUnsafe_map___at_Lean_Elab_levelMVarToParamPreDecls___spec__1___lambda__1(lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__3(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4___closed__11; LEAN_EXPORT lean_object* l_Lean_Elab_eraseRecAppSyntaxExpr___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_addAndCompileUnsafe___lambda__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -171,6 +169,7 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefi static lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4___closed__13; static lean_object* l_Lean_Elab_addAndCompileUnsafe___closed__4; lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_addAndCompileUnsafe___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_panic_fn(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_addAndCompilePartialRec___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4___closed__9; @@ -208,6 +207,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_ lean_object* l_Lean_indentExpr(lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_mapMAux___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_eraseRecAppSyntaxExpr___closed__2; +lean_object* l_Lean_addDecl___at_Lean_Meta_mkAuxDefinition___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_fixLevelParams___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_fixLevelParams___spec__1(lean_object*, lean_object*, size_t, size_t); static lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4___closed__2; @@ -1468,7 +1468,7 @@ x_17 = lean_ctor_get(x_4, 5); x_18 = l_Lean_replaceRef(x_7, x_17); lean_dec(x_17); lean_ctor_set(x_4, 5, x_18); -x_19 = l_Lean_addDecl___at_Lean_Meta_mkAuxLemma___spec__4(x_15, x_2, x_3, x_4, x_5, x_6); +x_19 = l_Lean_addDecl___at_Lean_Meta_mkAuxDefinition___spec__1(x_15, x_2, x_3, x_4, x_5, x_6); return x_19; } else @@ -1511,7 +1511,7 @@ lean_ctor_set(x_32, 7, x_27); lean_ctor_set(x_32, 8, x_28); lean_ctor_set(x_32, 9, x_29); lean_ctor_set(x_32, 10, x_30); -x_33 = l_Lean_addDecl___at_Lean_Meta_mkAuxLemma___spec__4(x_15, x_2, x_3, x_32, x_5, x_6); +x_33 = l_Lean_addDecl___at_Lean_Meta_mkAuxDefinition___spec__1(x_15, x_2, x_3, x_32, x_5, x_6); return x_33; } } @@ -4729,129 +4729,94 @@ goto _start; } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__3(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_addAndCompileUnsafe___spec__3(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { if (lean_obj_tag(x_3) == 0) { -lean_object* x_11; lean_object* x_12; +lean_object* x_12; lean_object* x_13; lean_dec(x_2); -x_11 = lean_box(0); -x_12 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_12, 0, x_11); -lean_ctor_set(x_12, 1, x_10); -return x_12; +x_12 = l_List_reverse___rarg(x_4); +x_13 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_13, 0, x_12); +lean_ctor_set(x_13, 1, x_11); +return x_13; } else { -uint8_t x_13; -x_13 = !lean_is_exclusive(x_3); -if (x_13 == 0) +uint8_t x_14; +x_14 = !lean_is_exclusive(x_3); +if (x_14 == 0) { -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; -x_14 = lean_ctor_get(x_3, 0); -x_15 = lean_ctor_get(x_3, 1); -x_16 = lean_ctor_get(x_14, 3); -lean_inc(x_16); -x_17 = lean_ctor_get(x_14, 1); +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_15 = lean_ctor_get(x_3, 0); +x_16 = lean_ctor_get(x_3, 1); +x_17 = lean_ctor_get(x_15, 3); lean_inc(x_17); -x_18 = lean_ctor_get(x_14, 4); +x_18 = lean_ctor_get(x_15, 1); lean_inc(x_18); -x_19 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_19, 0, x_16); -lean_ctor_set(x_19, 1, x_17); -lean_ctor_set(x_19, 2, x_18); -x_20 = lean_ctor_get(x_14, 5); -lean_inc(x_20); -lean_dec(x_14); -x_21 = lean_box(0); +x_19 = lean_ctor_get(x_15, 4); +lean_inc(x_19); +x_20 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_20, 0, x_17); +lean_ctor_set(x_20, 1, x_18); +lean_ctor_set(x_20, 2, x_19); +x_21 = lean_ctor_get(x_15, 5); +lean_inc(x_21); +lean_dec(x_15); +x_22 = lean_box(0); lean_inc(x_2); -x_22 = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(x_22, 0, x_19); -lean_ctor_set(x_22, 1, x_20); -lean_ctor_set(x_22, 2, x_21); -lean_ctor_set(x_22, 3, x_2); -lean_ctor_set_uint8(x_22, sizeof(void*)*4, x_1); -x_23 = l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__3(x_1, x_2, x_15, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -x_24 = !lean_is_exclusive(x_23); -if (x_24 == 0) +x_23 = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(x_23, 0, x_20); +lean_ctor_set(x_23, 1, x_21); +lean_ctor_set(x_23, 2, x_22); +lean_ctor_set(x_23, 3, x_2); +lean_ctor_set_uint8(x_23, sizeof(void*)*4, x_1); +lean_ctor_set(x_3, 1, x_4); +lean_ctor_set(x_3, 0, x_23); { -lean_object* x_25; -x_25 = lean_ctor_get(x_23, 0); -lean_ctor_set(x_3, 1, x_25); -lean_ctor_set(x_3, 0, x_22); -lean_ctor_set(x_23, 0, x_3); -return x_23; +lean_object* _tmp_2 = x_16; +lean_object* _tmp_3 = x_3; +x_3 = _tmp_2; +x_4 = _tmp_3; +} +goto _start; } else { -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_23, 0); -x_27 = lean_ctor_get(x_23, 1); -lean_inc(x_27); +lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_25 = lean_ctor_get(x_3, 0); +x_26 = lean_ctor_get(x_3, 1); lean_inc(x_26); -lean_dec(x_23); -lean_ctor_set(x_3, 1, x_26); -lean_ctor_set(x_3, 0, x_22); -x_28 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_28, 0, x_3); -lean_ctor_set(x_28, 1, x_27); -return x_28; -} -} -else -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_29 = lean_ctor_get(x_3, 0); -x_30 = lean_ctor_get(x_3, 1); -lean_inc(x_30); -lean_inc(x_29); +lean_inc(x_25); lean_dec(x_3); -x_31 = lean_ctor_get(x_29, 3); +x_27 = lean_ctor_get(x_25, 3); +lean_inc(x_27); +x_28 = lean_ctor_get(x_25, 1); +lean_inc(x_28); +x_29 = lean_ctor_get(x_25, 4); +lean_inc(x_29); +x_30 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_30, 0, x_27); +lean_ctor_set(x_30, 1, x_28); +lean_ctor_set(x_30, 2, x_29); +x_31 = lean_ctor_get(x_25, 5); lean_inc(x_31); -x_32 = lean_ctor_get(x_29, 1); -lean_inc(x_32); -x_33 = lean_ctor_get(x_29, 4); -lean_inc(x_33); -x_34 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_34, 0, x_31); -lean_ctor_set(x_34, 1, x_32); -lean_ctor_set(x_34, 2, x_33); -x_35 = lean_ctor_get(x_29, 5); -lean_inc(x_35); -lean_dec(x_29); -x_36 = lean_box(0); +lean_dec(x_25); +x_32 = lean_box(0); lean_inc(x_2); -x_37 = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(x_37, 0, x_34); -lean_ctor_set(x_37, 1, x_35); -lean_ctor_set(x_37, 2, x_36); -lean_ctor_set(x_37, 3, x_2); -lean_ctor_set_uint8(x_37, sizeof(void*)*4, x_1); -x_38 = l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__3(x_1, x_2, x_30, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -x_39 = lean_ctor_get(x_38, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_38, 1); -lean_inc(x_40); -if (lean_is_exclusive(x_38)) { - lean_ctor_release(x_38, 0); - lean_ctor_release(x_38, 1); - x_41 = x_38; -} else { - lean_dec_ref(x_38); - x_41 = lean_box(0); -} -x_42 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_42, 0, x_37); -lean_ctor_set(x_42, 1, x_39); -if (lean_is_scalar(x_41)) { - x_43 = lean_alloc_ctor(0, 2, 0); -} else { - x_43 = x_41; -} -lean_ctor_set(x_43, 0, x_42); -lean_ctor_set(x_43, 1, x_40); -return x_43; +x_33 = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(x_33, 0, x_30); +lean_ctor_set(x_33, 1, x_31); +lean_ctor_set(x_33, 2, x_32); +lean_ctor_set(x_33, 3, x_2); +lean_ctor_set_uint8(x_33, sizeof(void*)*4, x_1); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_33); +lean_ctor_set(x_34, 1, x_4); +x_3 = x_26; +x_4 = x_34; +goto _start; } } } @@ -5251,7 +5216,7 @@ lean_ctor_set(x_37, 7, x_29); lean_ctor_set(x_37, 8, x_30); lean_ctor_set(x_37, 9, x_31); lean_ctor_set(x_37, 10, x_32); -x_38 = l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__3(x_2, x_21, x_19, x_3, x_4, x_5, x_6, x_37, x_8, x_15); +x_38 = l_List_mapM_loop___at_Lean_Elab_addAndCompileUnsafe___spec__3(x_2, x_21, x_19, x_20, x_3, x_4, x_5, x_6, x_37, x_8, x_15); x_39 = lean_ctor_get(x_38, 0); lean_inc(x_39); x_40 = lean_ctor_get(x_38, 1); @@ -5539,20 +5504,20 @@ lean_dec(x_4); return x_13; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_addAndCompileUnsafe___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -uint8_t x_11; lean_object* x_12; -x_11 = lean_unbox(x_1); +uint8_t x_12; lean_object* x_13; +x_12 = lean_unbox(x_1); lean_dec(x_1); -x_12 = l_List_mapM___at_Lean_Elab_addAndCompileUnsafe___spec__3(x_11, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_13 = l_List_mapM_loop___at_Lean_Elab_addAndCompileUnsafe___spec__3(x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -lean_dec(x_4); -return x_12; +return x_13; } } LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addAndCompileUnsafe___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { @@ -6184,11 +6149,9 @@ return x_8; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Util_SCC(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Compiler_NoncomputableAttr(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Util_CollectLevelParams(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_AbstractNestedProofs(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Transform(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_Term(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_RecAppSyntax(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_DefView(uint8_t builtin, lean_object*); static bool _G_initialized = false; @@ -6199,21 +6162,15 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Util_SCC(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Compiler_NoncomputableAttr(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Util_CollectLevelParams(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); res = initialize_Lean_Meta_AbstractNestedProofs(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_Transform(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Elab_Term(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Elab_RecAppSyntax(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/Main.c b/stage0/stdlib/Lean/Elab/PreDefinition/Main.c index 04af5689a6..6d27a33bc0 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/Main.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/Main.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.PreDefinition.Main -// Imports: Init Lean.Elab.PreDefinition.Basic Lean.Elab.PreDefinition.Structural Lean.Elab.PreDefinition.WF Lean.Elab.PreDefinition.MkInhabitant +// Imports: Init Lean.Util.SCC Lean.Elab.PreDefinition.Basic Lean.Elab.PreDefinition.Structural Lean.Elab.PreDefinition.WF.Main Lean.Elab.PreDefinition.MkInhabitant #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -221,6 +221,7 @@ uint8_t l_Lean_Expr_isConst(lean_object*); uint8_t l_Array_isEmpty___rarg(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__21___lambda__1(lean_object*); LEAN_EXPORT lean_object* l_Std_mkHashMap___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22___boxed(lean_object*); +lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___spec__17(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_addPreDefinitions___closed__6; lean_object* l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_betaReduceLetRecApps___spec__1(lean_object*, lean_object*, size_t, size_t); @@ -275,7 +276,6 @@ lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax__ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAsAxioms___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_Elab_WF_TerminationBy_ensureAllUsed(lean_object*, lean_object*, lean_object*); lean_object* l_ReaderT_pure___at_Lean_Elab_liftMacroM___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_ensureAtomicBinderName___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_addPreDefinitions___closed__1; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_addPreDefinitions___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_addPreDefinitions___spec__5___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -9961,7 +9961,7 @@ x_71 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_71, 0, x_68); x_72 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_72, 0, x_71); -x_73 = l_Lean_throwErrorAt___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_ensureAtomicBinderName___spec__1(x_67, x_72, x_2, x_3, x_4, x_5, x_6, x_7, x_27); +x_73 = l_Lean_throwErrorAt___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___spec__17(x_67, x_72, x_2, x_3, x_4, x_5, x_6, x_7, x_27); lean_dec(x_67); return x_73; } @@ -11004,9 +11004,10 @@ return x_11; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Util_SCC(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_PreDefinition_Basic(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_PreDefinition_Structural(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_PreDefinition_WF(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Elab_PreDefinition_WF_Main(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_PreDefinition_MkInhabitant(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Elab_PreDefinition_Main(uint8_t builtin, lean_object* w) { @@ -11016,13 +11017,16 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Util_SCC(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); res = initialize_Lean_Elab_PreDefinition_Basic(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_Elab_PreDefinition_Structural(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Elab_PreDefinition_WF(builtin, lean_io_mk_world()); +res = initialize_Lean_Elab_PreDefinition_WF_Main(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_Elab_PreDefinition_MkInhabitant(builtin, lean_io_mk_world()); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/Structural/BRecOn.c b/stage0/stdlib/Lean/Elab/PreDefinition/Structural/BRecOn.c index 9c5d19e701..33b1ad85eb 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/Structural/BRecOn.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/Structural/BRecOn.c @@ -352,6 +352,7 @@ static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lea lean_object* lean_mk_array(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__5___closed__2; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__5___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_Array_contains___at_Lean_Elab_Term_collectUnassignedMVars_go___spec__1(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__11; static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_withBelowDict___spec__1___rarg___lambda__2___closed__5; static lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__9___closed__1; @@ -411,7 +412,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__1(lean_object LEAN_EXPORT lean_object* l_Lean_Elab_Structural_refinedArgType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___lambda__1(lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___lambda__5___closed__13; -uint8_t l_Array_contains___at_Lean_Meta_setMVarUserNamesAt___spec__1(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_toBelowAux___closed__10; lean_object* l_Lean_Meta_check(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_string_dec_eq(lean_object*, lean_object*); @@ -11781,7 +11781,7 @@ if (x_9 == 0) { lean_object* x_12; uint8_t x_13; x_12 = lean_ctor_get(x_1, 7); -x_13 = l_Array_contains___at_Lean_Meta_setMVarUserNamesAt___spec__1(x_12, x_8); +x_13 = l_Array_contains___at_Lean_Elab_Term_collectUnassignedMVars_go___spec__1(x_12, x_8); if (x_13 == 0) { lean_object* x_14; diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/Structural/FindRecArg.c b/stage0/stdlib/Lean/Elab/PreDefinition/Structural/FindRecArg.c index 396c6535cb..fbe6098a8f 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/Structural/FindRecArg.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/Structural/FindRecArg.c @@ -151,6 +151,7 @@ lean_object* lean_st_mk_ref(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Structural_FindRecArg_0__Lean_Elab_Structural_hasBadParamDep_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Std_PersistentArray_anyMAux___at___private_Lean_Elab_PreDefinition_Structural_FindRecArg_0__Lean_Elab_Structural_hasBadIndexDep_x3f___spec__14(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Structural_findRecArg_go___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_panic___at_String_toNat_x21___spec__1(lean_object*); static lean_object* l_Lean_Meta_forEachExpr_x27___at_Lean_Elab_Structural_findRecArg___spec__5___closed__2; lean_object* l_Lean_Expr_sort___override(lean_object*); static lean_object* l_Lean_Elab_Structural_findRecArg_go___rarg___lambda__3___closed__2; @@ -221,7 +222,6 @@ uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Structural_findRecArg_go___spec__9___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_addTrace___at_Lean_Elab_Structural_findRecArg_go___spec__13___closed__1; -lean_object* l_panic___at_Lean_TSyntax_getNat___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Elab_Structural_findRecArg_go___spec__13(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Subarray_forInUnsafe_loop___at_Lean_Elab_Structural_findRecArg___spec__16___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -4051,7 +4051,7 @@ if (lean_obj_tag(x_9) == 0) { lean_object* x_12; lean_object* x_13; lean_object* x_14; x_12 = l_Array_mapMUnsafe_map___at_Lean_Elab_Structural_findRecArg_go___spec__3___closed__4; -x_13 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_12); +x_13 = l_panic___at_String_toNat_x21___spec__1(x_12); x_14 = lean_array_uset(x_8, x_3, x_13); x_3 = x_11; x_4 = x_14; diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/Structural/IndPred.c b/stage0/stdlib/Lean/Elab/PreDefinition/Structural/IndPred.c index d3eadc0af8..b7452eeb76 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/Structural/IndPred.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/Structural/IndPred.c @@ -156,6 +156,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Ela lean_object* l_Lean_Meta_Match_MatcherInfo_arity(lean_object*); static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_IndPred_0__Lean_Elab_Structural_replaceIndPredRecApps_loop___spec__2___closed__2; lean_object* lean_mk_array(lean_object*, lean_object*); +uint8_t l_Array_contains___at_Lean_Elab_Term_collectUnassignedMVars_go___spec__1(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Structural_mkIndPredBRecOn___lambda__3___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Structural_mkIndPredBRecOn___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Structural_mkIndPredBRecOn___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -176,7 +177,6 @@ lean_object* l_Lean_Elab_Structural_RecArgInfo_recArgPos(lean_object*); lean_object* l_Lean_Meta_Match_Extension_getMatcherInfo_x3f(lean_object*, lean_object*); static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_Structural_IndPred_0__Lean_Elab_Structural_replaceIndPredRecApps_loop___spec__2___closed__1; static lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Elab_PreDefinition_Structural_IndPred_0__Lean_Elab_Structural_replaceIndPredRecApps_loop_addBelow___spec__1___closed__3; -uint8_t l_Array_contains___at_Lean_Meta_setMVarUserNamesAt___spec__1(lean_object*, lean_object*); lean_object* l_Lean_Meta_check(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_getMatcherInfo_x3f___at___private_Lean_Elab_PreDefinition_Structural_IndPred_0__Lean_Elab_Structural_replaceIndPredRecApps_loop_addBelow___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) { @@ -3579,7 +3579,7 @@ if (x_9 == 0) { lean_object* x_12; uint8_t x_13; x_12 = lean_ctor_get(x_1, 7); -x_13 = l_Array_contains___at_Lean_Meta_setMVarUserNamesAt___spec__1(x_12, x_8); +x_13 = l_Array_contains___at_Lean_Elab_Term_collectUnassignedMVars_go___spec__1(x_12, x_8); if (x_13 == 0) { lean_object* x_14; diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/Structural/SmartUnfolding.c b/stage0/stdlib/Lean/Elab/PreDefinition/Structural/SmartUnfolding.c index 8a7a873808..99fbf3318f 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/Structural/SmartUnfolding.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/Structural/SmartUnfolding.c @@ -13,17 +13,18 @@ #ifdef __cplusplus extern "C" { #endif +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__1___boxed(lean_object*); lean_object* lean_array_set(lean_object*, lean_object*, lean_object*); size_t lean_usize_add(size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Elab_Structural_addSmartUnfoldingDefAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__3; lean_object* lean_mk_empty_array_with_capacity(lean_object*); -lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Meta_Eqns_0__Lean_Meta_mkSimpleEqThm___spec__6___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkForallFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_uget(lean_object*, size_t); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__8___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_uset(lean_object*, size_t, lean_object*); lean_object* l_Array_extract___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_mdata___override(lean_object*, lean_object*); @@ -31,58 +32,57 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___ static lean_object* l_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___lambda__3___closed__1; uint8_t l_Lean_Elab_Structural_recArgHasLooseBVarsAt(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__2(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__2___closed__1; lean_object* lean_expr_instantiate1(lean_object*, lean_object*); lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__5; +lean_object* l_Lean_throwError___at___private_Lean_Meta_InferType_0__Lean_Meta_inferProjType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_smartUnfoldingMatch_x3f(lean_object*); uint8_t lean_usize_dec_lt(size_t, size_t); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_levelZero; lean_object* lean_nat_add(lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__2; lean_object* l_Lean_mkAppN(lean_object*, lean_object*); lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*); extern lean_object* l_Lean_Meta_smartUnfoldingSuffix; +static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__4; +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___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_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6(lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__8(lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__4(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_markSmartUnfoldingMatch(lean_object*); static lean_object* l_Lean_Meta_matchMatcherApp_x3f___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__1___closed__4; lean_object* l_Lean_Meta_mkLambdaFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__5; lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); -LEAN_EXPORT uint8_t l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__1(lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_sort___override(lean_object*); static lean_object* l_Lean_Meta_matchMatcherApp_x3f___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__1___closed__2; +static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__1; lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__6; +LEAN_EXPORT uint8_t l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___closed__1; size_t lean_usize_of_nat(lean_object*); static lean_object* l_Lean_Meta_matchMatcherApp_x3f___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__1___closed__5; -lean_object* l_Lean_throwError___at_Lean_Meta_mkSimpCongrTheorem___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__4; static lean_object* l_Lean_Elab_Structural_addSmartUnfoldingDefAux___closed__1; +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___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_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*); static lean_object* l_Lean_Meta_matchMatcherApp_x3f___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__1___closed__3; lean_object* l_List_redLength___rarg(lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); -lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_isPerm___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_MatcherApp_toExpr(lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___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_Array_ofSubarray___rarg(lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__6; -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__1___boxed(lean_object*); lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_MatcherInfo_arity(lean_object*); @@ -92,15 +92,19 @@ static lean_object* l_Lean_Meta_matchMatcherApp_x3f___at_Lean_Elab_Structural_ad lean_object* l_Lean_Meta_getMatcherInfo_x3f___at_Lean_Meta_reduceMatcher_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_proj___override(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Structural_addSmartUnfoldingDef(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___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*); lean_object* l_Lean_Expr_getAppFn(lean_object*); lean_object* l_Lean_Meta_Match_MatcherInfo_numAlts(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__2; +static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__2___closed__1; +lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_lambdaTelescopeImp___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLetDeclImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__1; +static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__3; lean_object* l_Lean_Meta_isProp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_indentExpr(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); static lean_object* _init_l_Lean_Meta_matchMatcherApp_x3f___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__1___closed__1() { _start: @@ -992,7 +996,67 @@ return x_38; } } } -LEAN_EXPORT uint8_t l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +uint8_t x_8; lean_object* x_9; +x_8 = 0; +x_9 = l___private_Lean_Meta_Basic_0__Lean_Meta_lambdaTelescopeImp___rarg(x_1, x_8, x_2, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_9) == 0) +{ +uint8_t x_10; +x_10 = !lean_is_exclusive(x_9); +if (x_10 == 0) +{ +return x_9; +} +else +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_11 = lean_ctor_get(x_9, 0); +x_12 = lean_ctor_get(x_9, 1); +lean_inc(x_12); +lean_inc(x_11); +lean_dec(x_9); +x_13 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_13, 0, x_11); +lean_ctor_set(x_13, 1, x_12); +return x_13; +} +} +else +{ +uint8_t x_14; +x_14 = !lean_is_exclusive(x_9); +if (x_14 == 0) +{ +return x_9; +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_15 = lean_ctor_get(x_9, 0); +x_16 = lean_ctor_get(x_9, 1); +lean_inc(x_16); +lean_inc(x_15); +lean_dec(x_9); +x_17 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_17, 0, x_15); +lean_ctor_set(x_17, 1, x_16); +return x_17; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_lambdaTelescope___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___rarg), 7, 0); +return x_2; +} +} +LEAN_EXPORT uint8_t l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__1(lean_object* x_1) { _start: { lean_object* x_2; @@ -1012,15 +1076,15 @@ return x_4; } } } -static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__2___closed__1() { +static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__2___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__1___boxed), 1, 0); +x_1 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__1___boxed), 1, 0); return x_1; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; @@ -1037,7 +1101,7 @@ lean_inc(x_13); x_14 = lean_ctor_get(x_12, 1); lean_inc(x_14); lean_dec(x_12); -x_15 = l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__2___closed__1; +x_15 = l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__2___closed__1; lean_inc(x_13); x_16 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_15, x_13); if (lean_obj_tag(x_16) == 0) @@ -1146,7 +1210,7 @@ return x_42; } } } -static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__1() { +static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__1() { _start: { lean_object* x_1; @@ -1154,16 +1218,16 @@ x_1 = lean_mk_string_from_bytes("unexpected matcher application alternative", 42 return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__2() { +static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__1; +x_1 = l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__3() { +static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__3() { _start: { lean_object* x_1; @@ -1171,16 +1235,16 @@ x_1 = lean_mk_string_from_bytes("\nat application", 15); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__4() { +static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__3; +x_1 = l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__3; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__5() { +static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__5() { _start: { lean_object* x_1; @@ -1188,16 +1252,16 @@ x_1 = lean_mk_string_from_bytes("", 0); return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__6() { +static lean_object* _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__6() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__5; +x_1 = l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__5; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { lean_object* x_13; uint8_t x_14; @@ -1213,11 +1277,11 @@ lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); x_15 = l_Lean_indentExpr(x_4); -x_16 = l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__2; +x_16 = l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__2; x_17 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_17, 0, x_16); lean_ctor_set(x_17, 1, x_15); -x_18 = l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__4; +x_18 = l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__4; x_19 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_19, 0, x_17); lean_ctor_set(x_19, 1, x_18); @@ -1225,11 +1289,11 @@ x_20 = l_Lean_indentExpr(x_5); x_21 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_21, 0, x_19); lean_ctor_set(x_21, 1, x_20); -x_22 = l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__6; +x_22 = l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__6; x_23 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_23, 0, x_21); lean_ctor_set(x_23, 1, x_22); -x_24 = l_Lean_throwError___at_Lean_Meta_mkSimpCongrTheorem___spec__6(x_23, x_8, x_9, x_10, x_11, x_12); +x_24 = l_Lean_throwError___at___private_Lean_Meta_InferType_0__Lean_Meta_inferProjType___spec__1(x_23, x_8, x_9, x_10, x_11, x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -1259,12 +1323,12 @@ lean_object* x_29; lean_object* x_30; lean_dec(x_5); lean_dec(x_4); x_29 = lean_box(0); -x_30 = l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__2(x_1, x_2, x_7, x_6, x_3, x_29, x_8, x_9, x_10, x_11, x_12); +x_30 = l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__2(x_1, x_2, x_7, x_6, x_3, x_29, x_8, x_9, x_10, x_11, x_12); return x_30; } } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t x_5, size_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7(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) { _start: { uint8_t x_13; @@ -1342,7 +1406,7 @@ lean_inc(x_3); lean_inc(x_15); lean_inc(x_2); lean_inc(x_1); -x_31 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3), 12, 5); +x_31 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3), 12, 5); lean_closure_set(x_31, 0, x_1); lean_closure_set(x_31, 1, x_2); lean_closure_set(x_31, 2, x_28); @@ -1352,7 +1416,7 @@ lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_32 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Meta_Eqns_0__Lean_Meta_mkSimpleEqThm___spec__6___rarg(x_15, x_31, x_8, x_9, x_10, x_11, x_12); +x_32 = l_Lean_Meta_lambdaTelescope___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___rarg(x_15, x_31, 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; size_t x_36; size_t x_37; @@ -1418,7 +1482,7 @@ lean_inc(x_3); lean_inc(x_15); lean_inc(x_2); lean_inc(x_1); -x_47 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3), 12, 5); +x_47 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3), 12, 5); lean_closure_set(x_47, 0, x_1); lean_closure_set(x_47, 1, x_2); lean_closure_set(x_47, 2, x_43); @@ -1428,7 +1492,7 @@ lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_48 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Meta_Eqns_0__Lean_Meta_mkSimpleEqThm___spec__6___rarg(x_15, x_47, x_8, x_9, x_10, x_11, x_12); +x_48 = l_Lean_Meta_lambdaTelescope___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___rarg(x_15, x_47, x_8, x_9, x_10, x_11, x_12); if (lean_obj_tag(x_48) == 0) { lean_object* x_49; lean_object* x_50; lean_object* x_51; size_t x_52; size_t x_53; @@ -1548,7 +1612,7 @@ lean_inc(x_3); lean_inc(x_15); lean_inc(x_2); lean_inc(x_1); -x_72 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3), 12, 5); +x_72 = lean_alloc_closure((void*)(l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3), 12, 5); lean_closure_set(x_72, 0, x_1); lean_closure_set(x_72, 1, x_2); lean_closure_set(x_72, 2, x_68); @@ -1558,7 +1622,7 @@ lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_73 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Meta_Eqns_0__Lean_Meta_mkSimpleEqThm___spec__6___rarg(x_15, x_72, x_8, x_9, x_10, x_11, x_12); +x_73 = l_Lean_Meta_lambdaTelescope___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___rarg(x_15, x_72, x_8, x_9, x_10, x_11, x_12); if (lean_obj_tag(x_73) == 0) { lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; size_t x_78; size_t x_79; @@ -1616,6 +1680,65 @@ return x_84; } } } +LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__8___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; +x_10 = l___private_Lean_Meta_Basic_0__Lean_Meta_withLetDeclImp___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_10) == 0) +{ +uint8_t x_11; +x_11 = !lean_is_exclusive(x_10); +if (x_11 == 0) +{ +return x_10; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_10, 0); +x_13 = lean_ctor_get(x_10, 1); +lean_inc(x_13); +lean_inc(x_12); +lean_dec(x_10); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_12); +lean_ctor_set(x_14, 1, x_13); +return x_14; +} +} +else +{ +uint8_t x_15; +x_15 = !lean_is_exclusive(x_10); +if (x_15 == 0) +{ +return x_10; +} +else +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_16 = lean_ctor_get(x_10, 0); +x_17 = lean_ctor_get(x_10, 1); +lean_inc(x_17); +lean_inc(x_16); +lean_dec(x_10); +x_18 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_18, 0, x_16); +lean_ctor_set(x_18, 1, x_17); +return x_18; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__8(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_withLetDecl___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__8___rarg), 9, 0); +return x_2; +} +} LEAN_EXPORT lean_object* l_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___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: { @@ -1881,7 +2004,7 @@ x_37 = lean_array_get_size(x_34); x_38 = lean_usize_of_nat(x_37); lean_dec(x_37); x_39 = 0; -x_40 = l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6(x_1, x_2, x_3, x_34, x_38, x_39, x_36, x_4, x_5, x_6, x_7, x_19); +x_40 = l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7(x_1, x_2, x_3, x_34, x_38, x_39, x_36, x_4, x_5, x_6, x_7, x_19); lean_dec(x_34); if (lean_obj_tag(x_40) == 0) { @@ -2001,7 +2124,7 @@ lean_object* x_72; lean_object* x_73; x_72 = lean_alloc_closure((void*)(l_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___lambda__1), 9, 2); lean_closure_set(x_72, 0, x_1); lean_closure_set(x_72, 1, x_2); -x_73 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Meta_Eqns_0__Lean_Meta_mkSimpleEqThm___spec__6___rarg(x_3, x_72, x_4, x_5, x_6, x_7, x_8); +x_73 = l_Lean_Meta_lambdaTelescope___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___rarg(x_3, x_72, x_4, x_5, x_6, x_7, x_8); return x_73; } case 7: @@ -2044,7 +2167,7 @@ x_83 = lean_alloc_closure((void*)(l_Lean_Elab_Structural_addSmartUnfoldingDefAux lean_closure_set(x_83, 0, x_79); lean_closure_set(x_83, 1, x_1); lean_closure_set(x_83, 2, x_2); -x_84 = l_Lean_Meta_withLetDecl___at___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_isPerm___spec__1___rarg(x_76, x_77, x_81, x_83, x_4, x_5, x_6, x_7, x_82); +x_84 = l_Lean_Meta_withLetDecl___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__8___rarg(x_76, x_77, x_81, x_83, x_4, x_5, x_6, x_7, x_82); return x_84; } else @@ -2255,26 +2378,26 @@ x_13 = l_Array_mapMUnsafe_map___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_ return x_13; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__1___boxed(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__1___boxed(lean_object* x_1) { _start: { uint8_t x_2; lean_object* x_3; -x_2 = l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__1(x_1); +x_2 = l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__1(x_1); lean_dec(x_1); x_3 = lean_box(x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___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_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; -x_12 = l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___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_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_6); return x_12; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___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_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___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, lean_object* x_12) { _start: { size_t x_13; size_t x_14; lean_object* x_15; @@ -2282,7 +2405,7 @@ x_13 = lean_unbox_usize(x_5); lean_dec(x_5); x_14 = lean_unbox_usize(x_6); lean_dec(x_6); -x_15 = l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6(x_1, x_2, x_3, x_4, x_13, x_14, x_7, x_8, x_9, x_10, x_11, x_12); +x_15 = l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7(x_1, x_2, x_3, x_4, x_13, x_14, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_4); return x_15; } @@ -2653,20 +2776,20 @@ l_Lean_Meta_matchMatcherApp_x3f___at_Lean_Elab_Structural_addSmartUnfoldingDefAu lean_mark_persistent(l_Lean_Meta_matchMatcherApp_x3f___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__1___closed__4); l_Lean_Meta_matchMatcherApp_x3f___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__1___closed__5 = _init_l_Lean_Meta_matchMatcherApp_x3f___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__1___closed__5(); lean_mark_persistent(l_Lean_Meta_matchMatcherApp_x3f___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__1___closed__5); -l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__2___closed__1 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__2___closed__1(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__2___closed__1); -l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__1 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__1(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__1); -l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__2 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__2(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__2); -l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__3 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__3(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__3); -l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__4 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__4(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__4); -l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__5 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__5(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__5); -l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__6 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__6(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6___lambda__3___closed__6); +l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__2___closed__1 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__2___closed__1(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__2___closed__1); +l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__1 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__1(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__1); +l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__2 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__2(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__2); +l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__3 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__3(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__3); +l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__4 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__4(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__4); +l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__5 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__5(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__5); +l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__6 = _init_l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__6(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__6); l_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___lambda__3___closed__1 = _init_l_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___lambda__3___closed__1(); lean_mark_persistent(l_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___lambda__3___closed__1); l_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___closed__1 = _init_l_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___closed__1(); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/WF/PackDomain.c b/stage0/stdlib/Lean/Elab/PreDefinition/WF/PackDomain.c index 81b3d1f484..17587aeb66 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/WF/PackDomain.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/WF/PackDomain.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.PreDefinition.WF.PackDomain -// Imports: Init Lean.Elab.PreDefinition.Basic +// Imports: Init Lean.Meta.Tactic.Cases Lean.Elab.PreDefinition.Basic #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -63,7 +63,6 @@ LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Elab_WF_packDomain_pac LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkUnaryArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_appArg_x21(lean_object*); LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_PreDefinition_WF_PackDomain_0__Lean_Elab_WF_mkPSigmaCasesOn_go___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_forallBoundedTelescope___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__8___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_replaceFVars(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_WF_packDomain_packApplications_visit___spec__3(lean_object*); uint8_t lean_usize_dec_lt(size_t, size_t); @@ -113,6 +112,7 @@ static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_WF_packDomain___spec static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_WF_packDomain___spec__2___lambda__1___closed__1; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_WF_packDomain___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_PackDomain_0__Lean_Elab_WF_mkTupleElems___closed__1; +lean_object* l_panic___at_String_toNat_x21___spec__1(lean_object*); lean_object* l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(lean_object*, lean_object*); lean_object* l_Lean_Expr_sort___override(lean_object*); lean_object* l_Array_back___rarg(lean_object*, lean_object*); @@ -166,6 +166,7 @@ static lean_object* l_Lean_Expr_withAppAux___at_Lean_Elab_WF_packDomain_packAppl static lean_object* l_Lean_Expr_withAppAux___at_Lean_Elab_WF_packDomain_packApplications_visitApp___spec__3___closed__2; static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_WF_packDomain___spec__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_WF_packDomain_packApplications_visit___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Meta_addPPExplicitToExposeDiff_visit___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_WF_packDomain_packApplications_visit___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_WF_packDomain___spec__4___closed__9; static lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_WF_packDomain_packApplications_visit___spec__3___rarg___closed__2; @@ -179,7 +180,6 @@ static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_WF_packDomain___spec static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_WF_packDomain___spec__4___closed__3; static lean_object* l_panic___at___private_Lean_Elab_PreDefinition_WF_PackDomain_0__Lean_Elab_WF_mkPSigmaCasesOn_go___spec__1___closed__1; lean_object* l_Lean_Expr_app___override(lean_object*, lean_object*); -lean_object* l_panic___at_Lean_TSyntax_getNat___spec__1(lean_object*); lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_WF_packDomain___spec__2___lambda__2___closed__2; @@ -444,7 +444,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_WF_mkUnaryArg_go___closed__8; x_2 = l_Lean_Elab_WF_mkUnaryArg_go___closed__9; -x_3 = lean_unsigned_to_nat(31u); +x_3 = lean_unsigned_to_nat(32u); x_4 = lean_unsigned_to_nat(6u); x_5 = l_Lean_Elab_WF_mkUnaryArg_go___closed__7; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -475,7 +475,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_WF_mkUnaryArg_go___closed__8; x_2 = l_Lean_Elab_WF_mkUnaryArg_go___closed__9; -x_3 = lean_unsigned_to_nat(35u); +x_3 = lean_unsigned_to_nat(36u); x_4 = lean_unsigned_to_nat(6u); x_5 = l_Lean_Elab_WF_mkUnaryArg_go___closed__12; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -745,7 +745,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_WF_mkUnaryArg_go___closed__8; x_2 = l___private_Lean_Elab_PreDefinition_WF_PackDomain_0__Lean_Elab_WF_mkPSigmaCasesOn_go___closed__2; -x_3 = lean_unsigned_to_nat(48u); +x_3 = lean_unsigned_to_nat(49u); x_4 = lean_unsigned_to_nat(87u); x_5 = l___private_Lean_Elab_PreDefinition_WF_PackDomain_0__Lean_Elab_WF_mkPSigmaCasesOn_go___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -3796,7 +3796,7 @@ if (x_110 == 0) lean_object* x_111; lean_object* x_112; lean_dec(x_2); x_111 = l_Lean_Elab_WF_mkUnaryArg_go___closed__4; -x_112 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_111); +x_112 = l_panic___at_String_toNat_x21___spec__1(x_111); x_38 = x_112; goto block_108; } @@ -4213,7 +4213,7 @@ if (x_204 == 0) lean_object* x_205; lean_object* x_206; lean_dec(x_2); x_205 = l_Lean_Elab_WF_mkUnaryArg_go___closed__4; -x_206 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_205); +x_206 = l_panic___at_String_toNat_x21___spec__1(x_205); x_132 = x_206; goto block_202; } @@ -4691,7 +4691,7 @@ if (x_308 == 0) lean_object* x_309; lean_object* x_310; lean_dec(x_2); x_309 = l_Lean_Elab_WF_mkUnaryArg_go___closed__4; -x_310 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_309); +x_310 = l_panic___at_String_toNat_x21___spec__1(x_309); x_236 = x_310; goto block_306; } @@ -5108,7 +5108,7 @@ if (x_402 == 0) lean_object* x_403; lean_object* x_404; lean_dec(x_2); x_403 = l_Lean_Elab_WF_mkUnaryArg_go___closed__4; -x_404 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_403); +x_404 = l_panic___at_String_toNat_x21___spec__1(x_403); x_330 = x_404; goto block_400; } @@ -5586,7 +5586,7 @@ if (x_506 == 0) lean_object* x_507; lean_object* x_508; lean_dec(x_2); x_507 = l_Lean_Elab_WF_mkUnaryArg_go___closed__4; -x_508 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_507); +x_508 = l_panic___at_String_toNat_x21___spec__1(x_507); x_434 = x_508; goto block_504; } @@ -6003,7 +6003,7 @@ if (x_600 == 0) lean_object* x_601; lean_object* x_602; lean_dec(x_2); x_601 = l_Lean_Elab_WF_mkUnaryArg_go___closed__4; -x_602 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_601); +x_602 = l_panic___at_String_toNat_x21___spec__1(x_601); x_528 = x_602; goto block_598; } @@ -6481,7 +6481,7 @@ if (x_704 == 0) lean_object* x_705; lean_object* x_706; lean_dec(x_2); x_705 = l_Lean_Elab_WF_mkUnaryArg_go___closed__4; -x_706 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_705); +x_706 = l_panic___at_String_toNat_x21___spec__1(x_705); x_632 = x_706; goto block_702; } @@ -6898,7 +6898,7 @@ if (x_798 == 0) lean_object* x_799; lean_object* x_800; lean_dec(x_2); x_799 = l_Lean_Elab_WF_mkUnaryArg_go___closed__4; -x_800 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_799); +x_800 = l_panic___at_String_toNat_x21___spec__1(x_799); x_726 = x_800; goto block_796; } @@ -7376,7 +7376,7 @@ if (x_902 == 0) lean_object* x_903; lean_object* x_904; lean_dec(x_2); x_903 = l_Lean_Elab_WF_mkUnaryArg_go___closed__4; -x_904 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_903); +x_904 = l_panic___at_String_toNat_x21___spec__1(x_903); x_830 = x_904; goto block_900; } @@ -7793,7 +7793,7 @@ if (x_996 == 0) lean_object* x_997; lean_object* x_998; lean_dec(x_2); x_997 = l_Lean_Elab_WF_mkUnaryArg_go___closed__4; -x_998 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_997); +x_998 = l_panic___at_String_toNat_x21___spec__1(x_997); x_924 = x_998; goto block_994; } @@ -8288,7 +8288,7 @@ if (x_1106 == 0) lean_object* x_1107; lean_object* x_1108; lean_dec(x_2); x_1107 = l_Lean_Elab_WF_mkUnaryArg_go___closed__4; -x_1108 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_1107); +x_1108 = l_panic___at_String_toNat_x21___spec__1(x_1107); x_1034 = x_1108; goto block_1104; } @@ -8705,7 +8705,7 @@ if (x_1200 == 0) lean_object* x_1201; lean_object* x_1202; lean_dec(x_2); x_1201 = l_Lean_Elab_WF_mkUnaryArg_go___closed__4; -x_1202 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_1201); +x_1202 = l_panic___at_String_toNat_x21___spec__1(x_1201); x_1128 = x_1202; goto block_1198; } @@ -9183,7 +9183,7 @@ if (x_1304 == 0) lean_object* x_1305; lean_object* x_1306; lean_dec(x_2); x_1305 = l_Lean_Elab_WF_mkUnaryArg_go___closed__4; -x_1306 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_1305); +x_1306 = l_panic___at_String_toNat_x21___spec__1(x_1305); x_1232 = x_1306; goto block_1302; } @@ -9600,7 +9600,7 @@ if (x_1398 == 0) lean_object* x_1399; lean_object* x_1400; lean_dec(x_2); x_1399 = l_Lean_Elab_WF_mkUnaryArg_go___closed__4; -x_1400 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_1399); +x_1400 = l_panic___at_String_toNat_x21___spec__1(x_1399); x_1326 = x_1400; goto block_1396; } @@ -10078,7 +10078,7 @@ if (x_1502 == 0) lean_object* x_1503; lean_object* x_1504; lean_dec(x_2); x_1503 = l_Lean_Elab_WF_mkUnaryArg_go___closed__4; -x_1504 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_1503); +x_1504 = l_panic___at_String_toNat_x21___spec__1(x_1503); x_1430 = x_1504; goto block_1500; } @@ -10495,7 +10495,7 @@ if (x_1596 == 0) lean_object* x_1597; lean_object* x_1598; lean_dec(x_2); x_1597 = l_Lean_Elab_WF_mkUnaryArg_go___closed__4; -x_1598 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_1597); +x_1598 = l_panic___at_String_toNat_x21___spec__1(x_1597); x_1524 = x_1598; goto block_1594; } @@ -10973,7 +10973,7 @@ if (x_1700 == 0) lean_object* x_1701; lean_object* x_1702; lean_dec(x_2); x_1701 = l_Lean_Elab_WF_mkUnaryArg_go___closed__4; -x_1702 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_1701); +x_1702 = l_panic___at_String_toNat_x21___spec__1(x_1701); x_1628 = x_1702; goto block_1698; } @@ -11390,7 +11390,7 @@ if (x_1794 == 0) lean_object* x_1795; lean_object* x_1796; lean_dec(x_2); x_1795 = l_Lean_Elab_WF_mkUnaryArg_go___closed__4; -x_1796 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_1795); +x_1796 = l_panic___at_String_toNat_x21___spec__1(x_1795); x_1722 = x_1796; goto block_1792; } @@ -11868,7 +11868,7 @@ if (x_1898 == 0) lean_object* x_1899; lean_object* x_1900; lean_dec(x_2); x_1899 = l_Lean_Elab_WF_mkUnaryArg_go___closed__4; -x_1900 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_1899); +x_1900 = l_panic___at_String_toNat_x21___spec__1(x_1899); x_1826 = x_1900; goto block_1896; } @@ -12285,7 +12285,7 @@ if (x_1992 == 0) lean_object* x_1993; lean_object* x_1994; lean_dec(x_2); x_1993 = l_Lean_Elab_WF_mkUnaryArg_go___closed__4; -x_1994 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_1993); +x_1994 = l_panic___at_String_toNat_x21___spec__1(x_1993); x_1920 = x_1994; goto block_1990; } @@ -12763,7 +12763,7 @@ if (x_2096 == 0) lean_object* x_2097; lean_object* x_2098; lean_dec(x_2); x_2097 = l_Lean_Elab_WF_mkUnaryArg_go___closed__4; -x_2098 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_2097); +x_2098 = l_panic___at_String_toNat_x21___spec__1(x_2097); x_2024 = x_2098; goto block_2094; } @@ -13180,7 +13180,7 @@ if (x_2190 == 0) lean_object* x_2191; lean_object* x_2192; lean_dec(x_2); x_2191 = l_Lean_Elab_WF_mkUnaryArg_go___closed__4; -x_2192 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_2191); +x_2192 = l_panic___at_String_toNat_x21___spec__1(x_2191); x_2118 = x_2192; goto block_2188; } @@ -13710,7 +13710,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_WF_mkUnaryArg_go___closed__8; x_2 = l_Lean_Elab_WF_packDomain_packApplications___lambda__1___closed__1; -x_3 = lean_unsigned_to_nat(126u); +x_3 = lean_unsigned_to_nat(127u); x_4 = lean_unsigned_to_nat(49u); x_5 = l___private_Lean_Elab_PreDefinition_WF_PackDomain_0__Lean_Elab_WF_mkPSigmaCasesOn_go___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -15102,7 +15102,7 @@ lean_closure_set(x_23, 4, x_4); lean_closure_set(x_23, 5, x_5); lean_closure_set(x_23, 6, x_15); x_24 = l_Std_Range_forIn_loop___at_Lean_Elab_WF_packDomain___spec__4___lambda__2___closed__1; -x_25 = l_Lean_Meta_forallBoundedTelescope___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__8___rarg(x_21, x_24, x_23, x_8, x_9, x_10, x_11, x_22); +x_25 = l_Lean_Meta_forallBoundedTelescope___at_Lean_Meta_addPPExplicitToExposeDiff_visit___spec__2___rarg(x_21, x_24, x_23, x_8, x_9, x_10, x_11, x_22); return x_25; } else @@ -15666,7 +15666,7 @@ lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean lean_dec(x_48); lean_dec(x_4); x_72 = l_Lean_Elab_WF_mkUnaryArg_go___closed__4; -x_73 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_72); +x_73 = l_panic___at_String_toNat_x21___spec__1(x_72); x_74 = l_Nat_repr(x_73); x_75 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_75, 0, x_74); @@ -16128,6 +16128,7 @@ return x_12; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Meta_Tactic_Cases(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_PreDefinition_Basic(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Elab_PreDefinition_WF_PackDomain(uint8_t builtin, lean_object* w) { @@ -16137,6 +16138,9 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Meta_Tactic_Cases(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); res = initialize_Lean_Elab_PreDefinition_Basic(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/WF/PackMutual.c b/stage0/stdlib/Lean/Elab/PreDefinition/WF/PackMutual.c index d861aa7e78..dcabcdf3c0 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/WF/PackMutual.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/WF/PackMutual.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.PreDefinition.WF.PackMutual -// Imports: Init Lean.Elab.PreDefinition.Basic +// Imports: Init Lean.Meta.Tactic.Cases Lean.Elab.PreDefinition.Basic #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -58,7 +58,6 @@ lean_object* lean_string_append(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_mkNewCoDomain_go___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_WF_packMutual(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_packValues_go___closed__2; -lean_object* l_Lean_Meta_forallBoundedTelescope___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__8___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_mkNewCoDomain_go___closed__1; uint8_t lean_usize_dec_lt(size_t, size_t); static lean_object* l___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_mkNewCoDomain_go___closed__8; @@ -166,6 +165,7 @@ lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_instantiateForallAux(lean_ LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_post___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_post___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_getCodomainsLevel___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Meta_addPPExplicitToExposeDiff_visit___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_mkNewCoDomain_go___closed__10; LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_packValues_go___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_ofSubarray___rarg(lean_object*); @@ -419,7 +419,7 @@ _start: lean_object* x_7; lean_object* x_8; lean_object* x_9; x_7 = l___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_getCodomainLevel___closed__1; x_8 = l___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_getCodomainLevel___closed__2; -x_9 = l_Lean_Meta_forallBoundedTelescope___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__8___rarg(x_1, x_7, x_8, x_2, x_3, x_4, x_5, x_6); +x_9 = l_Lean_Meta_forallBoundedTelescope___at_Lean_Meta_addPPExplicitToExposeDiff_visit___spec__2___rarg(x_1, x_7, x_8, x_2, x_3, x_4, x_5, x_6); return x_9; } } @@ -1658,7 +1658,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_mkNewCoDomain_go___closed__4; x_2 = l___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_mkNewCoDomain_go___closed__5; -x_3 = lean_unsigned_to_nat(47u); +x_3 = lean_unsigned_to_nat(48u); x_4 = lean_unsigned_to_nat(6u); x_5 = l___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_mkNewCoDomain_go___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -2292,7 +2292,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_mkNewCoDomain_go___closed__4; x_2 = l___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_packValues_go___closed__1; -x_3 = lean_unsigned_to_nat(84u); +x_3 = lean_unsigned_to_nat(85u); x_4 = lean_unsigned_to_nat(67u); x_5 = l___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_packValues_go___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -2700,7 +2700,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_mkNewCoDomain_go___closed__4; x_2 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_packValues___spec__1___closed__3; -x_3 = lean_unsigned_to_nat(71u); +x_3 = lean_unsigned_to_nat(72u); x_4 = lean_unsigned_to_nat(4u); x_5 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_packValues___spec__1___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -2862,7 +2862,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_mkNewCoDomain_go___closed__4; x_2 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_post_mkNewArg___spec__1___closed__3; -x_3 = lean_unsigned_to_nat(113u); +x_3 = lean_unsigned_to_nat(114u); x_4 = lean_unsigned_to_nat(10u); x_5 = l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_post_mkNewArg___spec__1___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -4756,6 +4756,7 @@ return x_10; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Meta_Tactic_Cases(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_PreDefinition_Basic(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Elab_PreDefinition_WF_PackMutual(uint8_t builtin, lean_object* w) { @@ -4765,6 +4766,9 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Meta_Tactic_Cases(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); res = initialize_Lean_Elab_PreDefinition_Basic(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/WF/Rel.c b/stage0/stdlib/Lean/Elab/PreDefinition/WF/Rel.c index 7e3b920ad8..a81e738e00 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/WF/Rel.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/WF/Rel.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.PreDefinition.WF.Rel -// Imports: Init Lean.Meta.Tactic.Apply Lean.Meta.Tactic.Rename Lean.Meta.Tactic.Intro Lean.Elab.SyntheticMVars Lean.Elab.PreDefinition.Basic Lean.Elab.PreDefinition.WF.TerminationHint +// Imports: Init Lean.Meta.Tactic.Apply Lean.Meta.Tactic.Cases Lean.Meta.Tactic.Rename Lean.Elab.SyntheticMVars Lean.Elab.PreDefinition.Basic Lean.Elab.PreDefinition.WF.TerminationHint #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -11011,8 +11011,8 @@ return x_15; } lean_object* initialize_Init(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Tactic_Apply(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Meta_Tactic_Cases(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Tactic_Rename(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Tactic_Intro(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_SyntheticMVars(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_PreDefinition_Basic(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_PreDefinition_WF_TerminationHint(uint8_t builtin, lean_object*); @@ -11027,10 +11027,10 @@ lean_dec_ref(res); res = initialize_Lean_Meta_Tactic_Apply(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_Tactic_Rename(builtin, lean_io_mk_world()); +res = initialize_Lean_Meta_Tactic_Cases(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_Tactic_Intro(builtin, lean_io_mk_world()); +res = initialize_Lean_Meta_Tactic_Rename(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_Elab_SyntheticMVars(builtin, lean_io_mk_world()); diff --git a/stage0/stdlib/Lean/Elab/Print.c b/stage0/stdlib/Lean/Elab/Print.c index 639679691f..b161ddde46 100644 --- a/stage0/stdlib/Lean/Elab/Print.c +++ b/stage0/stdlib/Lean/Elab/Print.c @@ -13,6 +13,7 @@ #ifdef __cplusplus extern "C" { #endif +lean_object* l_List_reverse___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Command_elabPrintAxioms___spec__1___boxed(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Print_0__Lean_Elab_Command_printDefLike___closed__4; static lean_object* l___private_Lean_Elab_Print_0__Lean_Elab_Command_printAxiomsOf___closed__2; @@ -153,7 +154,6 @@ static lean_object* l___private_Lean_Elab_Print_0__Lean_Elab_Command_throwUnknow static lean_object* l___regBuiltin_Lean_Elab_Command_elabPrint_declRange___closed__7; LEAN_EXPORT lean_object* l___private_Lean_Elab_Print_0__Lean_Elab_Command_mkHeader(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at___private_Lean_Elab_Print_0__Lean_Elab_Command_printId___spec__5(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Print_0__Lean_Elab_Command_levelParamsToMessageData___closed__8; static lean_object* l___private_Lean_Elab_Print_0__Lean_Elab_Command_throwUnknownId___closed__1; lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*); @@ -177,6 +177,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Command_elabPrintAxioms_declRange__ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Command_elabPrint_declRange(lean_object*); static lean_object* l___private_Lean_Elab_Print_0__Lean_Elab_Command_mkHeader___closed__22; static lean_object* l_Lean_Elab_Command_elabPrint___closed__10; +LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_Print_0__Lean_Elab_Command_printAxiomsOf___spec__1(lean_object*, lean_object*); lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Command_elabPrintAxioms_declRange(lean_object*); lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); @@ -3492,6 +3493,7 @@ else { lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; lean_object* x_23; x_19 = l_Lean_TSyntax_getString(x_12); +lean_dec(x_12); x_20 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_20, 0, x_19); x_21 = lean_alloc_ctor(0, 1, 0); @@ -4843,6 +4845,56 @@ lean_dec(x_1); return x_9; } } +LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_Print_0__Lean_Elab_Command_printAxiomsOf___spec__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_3; +x_3 = l_List_reverse___rarg(x_2); +return x_3; +} +else +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_1); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; +x_5 = lean_ctor_get(x_1, 0); +x_6 = lean_ctor_get(x_1, 1); +x_7 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_7, 0, x_5); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_7); +{ +lean_object* _tmp_0 = x_6; +lean_object* _tmp_1 = x_1; +x_1 = _tmp_0; +x_2 = _tmp_1; +} +goto _start; +} +else +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_9 = lean_ctor_get(x_1, 0); +x_10 = lean_ctor_get(x_1, 1); +lean_inc(x_10); +lean_inc(x_9); +lean_dec(x_1); +x_11 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_11, 0, x_9); +x_12 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_2); +x_1 = x_10; +x_2 = x_12; +goto _start; +} +} +} +} static lean_object* _init_l___private_Lean_Elab_Print_0__Lean_Elab_Command_printAxiomsOf___closed__1() { _start: { @@ -4927,7 +4979,7 @@ lean_ctor_set(x_18, 0, x_16); lean_ctor_set(x_18, 1, x_17); x_19 = lean_array_to_list(lean_box(0), x_12); x_20 = lean_box(0); -x_21 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_19, x_20); +x_21 = l_List_mapTRAux___at___private_Lean_Elab_Print_0__Lean_Elab_Command_printAxiomsOf___spec__1(x_19, x_20); x_22 = l_Lean_MessageData_ofList(x_21); lean_dec(x_21); x_23 = lean_alloc_ctor(10, 2, 0); diff --git a/stage0/stdlib/Lean/Elab/Quotation.c b/stage0/stdlib/Lean/Elab/Quotation.c index 6ab8c9b9ab..86261f9d7e 100644 --- a/stage0/stdlib/Lean/Elab/Quotation.c +++ b/stage0/stdlib/Lean/Elab/Quotation.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.Quotation -// Imports: Init Lean.Syntax Lean.ResolveName Lean.Elab.Term Lean.Elab.Quotation.Util Lean.Elab.Quotation.Precheck Lean.Parser.Term +// Imports: Init Lean.Syntax Lean.ResolveName Lean.Elab.Term Lean.Elab.Quotation.Util Lean.Elab.Quotation.Precheck Lean.Parser.Syntax #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -13,6 +13,7 @@ #ifdef __cplusplus extern "C" { #endif +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__12; lean_object* l_List_reverse___rarg(lean_object*); uint8_t l_Lean_Syntax_isQuot(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__18___boxed(lean_object**); @@ -117,7 +118,6 @@ lean_object* lean_array_uget(lean_object*, size_t); lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Term_addDotCompletionInfo___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__23___closed__4; static lean_object* l_Lean_Elab_Term_Quotation_instQuotePreresolvedStrAnonymous___lambda__1___closed__3; -static lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__5; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__14___closed__6; static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5792__declRange___closed__1; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__24___closed__16; @@ -160,8 +160,8 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_markRhss(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__8___closed__14; static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5798____closed__2; -static lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__10; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___lambda__1___closed__37; +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__9; static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Term_Quotation_getQuotKind___spec__6___closed__1; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_noOpMatchAdaptPats___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___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*); @@ -236,9 +236,7 @@ lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Level_PP_Result_quote___ static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5780____closed__4; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__17___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5744____closed__5; -static lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_deduplicate___lambda__1___closed__3; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__19___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___lambda__1___closed__32; lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at___aux__Init__Notation______macroRules__precMax__1___spec__1(lean_object*, lean_object*); @@ -274,6 +272,7 @@ static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_ lean_object* l_Lean_MessageData_ofList(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__7___boxed(lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__22; +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__26___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__23___closed__15; static lean_object* l_Lean_Elab_Term_Quotation___aux__Lean__Elab__Quotation______macroRules__Lean__Elab__Term__Quotation__commandElab__stx__quot____1___closed__34; @@ -285,7 +284,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_ lean_object* l_Lean_Syntax_getAntiquotTerm(lean_object*); static lean_object* l_Lean_Elab_Term_Quotation_getQuotKind___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_instQuotePreresolvedStrAnonymous___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__6; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_quoteList___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__31___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_resolveNamespaceCore___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__28(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -295,11 +294,11 @@ static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Quotation_0_ static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5750__declRange___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_Quotation_match__syntax_expand___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__10___closed__19; +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_deduplicate___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstWithInfos___at_Lean_Elab_Term_Quotation_getQuotKind___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_Quotation_match__syntax_expand___spec__3(size_t, size_t, lean_object*); static lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__44; -static lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__6; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___lambda__2___closed__6; static lean_object* l_Lean_Elab_Term_Quotation_instQuotePreresolvedStrAnonymous___lambda__1___closed__16; static lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__1; @@ -312,6 +311,7 @@ static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_ lean_object* l_Lean_throwError___at_Lean_Elab_Term_expandDeclId___spec__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__14___closed__18; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___closed__32; +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__8; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___closed__10; LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__23___closed__28; @@ -319,6 +319,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quota lean_object* lean_string_utf8_byte_size(lean_object*); static lean_object* l_panic___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__1___closed__1; lean_object* l_List_head_x21___rarg(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___lambda__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_Quotation_getPatternsVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabNoErrorIfUnused_declRange___closed__2; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__16___closed__7; @@ -358,6 +359,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabMatchSyntax___cl static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5762__declRange___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__17___boxed(lean_object**); static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__23___closed__5; +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__2; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__6; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__10___closed__27; static lean_object* l_List_format___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__10___closed__4; @@ -392,7 +394,6 @@ static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_ static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__23___closed__21; static lean_object* l_Lean_Elab_Term_Quotation___aux__Lean__Elab__Quotation______macroRules__Lean__Elab__Term__Quotation__commandElab__stx__quot____1___closed__24; static lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__18; -static lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__11; LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__20___boxed(lean_object**); LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__21(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__21(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -437,14 +438,16 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Quotati static lean_object* l_Lean_Elab_Term_Quotation_mkTuple___closed__18; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5744__declRange(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5756__declRange(lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8___boxed(lean_object**); uint8_t l_Lean_Syntax_isAntiquots(lean_object*); static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__8___closed__13; LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_commandElab__stx__quot__; lean_object* l_Lean_Core_withFreshMacroScope___rarg(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_Quotation_mkTuple___closed__15; LEAN_EXPORT lean_object* l_List_replace___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_markRhss___spec__8(lean_object*, lean_object*, lean_object*); +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__7; LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__9___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__10___boxed(lean_object**); static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__24___closed__18; @@ -466,7 +469,7 @@ static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_ static lean_object* l_List_format___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__10___closed__1; static lean_object* l___private_Init_Meta_0__Lean_quoteList___at_Lean_Elab_Term_Quotation_ArrayStxBuilder_build___spec__1___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5732__declRange___closed__4; -LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_isLit_x3f(lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___closed__46; LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__18(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*); @@ -481,6 +484,7 @@ uint8_t l_Lean_Option_get___at_Lean_getSanitizeNames___spec__1(lean_object*, lea static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__2; static lean_object* l_List_foldlM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__17___closed__6; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__23___closed__25; +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__9___closed__5; static lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__37; @@ -577,13 +581,11 @@ LEAN_EXPORT uint8_t l_Std_HashSetImp_contains___at___private_Lean_Elab_Quotation static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__8; static lean_object* l_Lean_Elab_Term_Quotation___aux__Lean__Elab__Quotation______macroRules__Lean__Elab__Term__Quotation__commandElab__stx__quot____1___closed__38; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___lambda__2___closed__8; -static lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__7; static lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__46; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__3___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabNoErrorIfUnused_declRange___closed__7; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__27; lean_object* l_Lean_Name_toString(lean_object*, uint8_t); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_num___override(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___closed__7; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___closed__37; @@ -593,7 +595,6 @@ lean_object* l_Lean_Unhygienic_run___rarg(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__28___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Init_Meta_0__Lean_quoteList___at_Lean_Elab_Term_Quotation_ArrayStxBuilder_build___spec__1___closed__2; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__4; -lean_object* l_panic___at_Lean_TSyntax_getString___spec__1(lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___closed__42; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___closed__53; static lean_object* l_Lean_Elab_Term_Quotation_getQuotKind___closed__13; @@ -612,12 +613,12 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabNoErrorIfUnused_ static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__10___closed__14; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__14___closed__10; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__10___closed__28; -static lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___closed__1; static lean_object* l_Lean_Elab_Term_Quotation___aux__Lean__Elab__Quotation______macroRules__Lean__Elab__Term__Quotation__commandElab__stx__quot____1___closed__41; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_match__syntax_expand___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5726____closed__13; LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8___closed__1; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__2___closed__1; LEAN_EXPORT lean_object* l_Std_HashSetImp_moveEntries___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_markRhss___spec__5(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_Quotation___aux__Lean__Elab__Quotation______macroRules__Lean__Elab__Term__Quotation__commandElab__stx__quot____1___closed__13; @@ -631,8 +632,6 @@ static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_ static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5732__declRange___closed__3; lean_object* l_Std_RBNode_find___at_Lean_sanitizeName___spec__1(lean_object*, lean_object*); static lean_object* l_List_foldlM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__17___closed__2; -static lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8___closed__1; -static lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__3; lean_object* l_Std_RBNode_insert___at_Lean_NameMap_insert___spec__1___rarg(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___lambda__2___closed__7; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___lambda__2___closed__24; @@ -654,6 +653,7 @@ static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_ static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__10___closed__26; LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__22___boxed(lean_object**); lean_object* lean_st_mk_ref(lean_object*, lean_object*); +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__11; static lean_object* l_Lean_Elab_Term_Quotation___aux__Lean__Elab__Quotation______macroRules__Lean__Elab__Term__Quotation__commandElab__stx__quot____1___closed__55; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_markRhss___spec__9(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_Quotation_instQuotePreresolvedStrAnonymous___lambda__1___closed__12; @@ -698,7 +698,6 @@ static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_ LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__12___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__13(lean_object*, lean_object*); static lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__5___closed__1; lean_object* l_Function_comp___rarg(lean_object*, lean_object*, lean_object*); -static lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__12; static lean_object* l_Lean_Elab_Term_Quotation_instQuotePreresolvedStrAnonymous___lambda__1___closed__11; lean_object* lean_array_to_list(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_deduplicate___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -733,7 +732,6 @@ static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_ static lean_object* l_Lean_Elab_Term_Quotation_addNamedQuotInfo___closed__1; LEAN_EXPORT uint8_t l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__3(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___lambda__1___closed__45; -static lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__1; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__30___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_noOpMatchAdaptPats(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_quoteList___at_Lean_Elab_Term_Quotation_instQuotePreresolvedStrAnonymous___spec__1___boxed(lean_object*); @@ -742,7 +740,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quota static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__10___closed__22; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___lambda__1___closed__17; static lean_object* l_Lean_Elab_Term_Quotation_getQuotKind___closed__19; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5786__declRange___closed__1; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___closed__29; size_t lean_usize_modn(size_t, lean_object*); @@ -775,12 +772,14 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabMatchSyntax_decl LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__12(lean_object*, size_t, size_t, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5780__declRange___closed__2; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___lambda__1___closed__27; +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__10___closed__7; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___spec__3(lean_object*, size_t, size_t, lean_object*); static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__16; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__2___closed__7; lean_object* l_Lean_mkSepArray(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__30(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__6; LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_Quotation_elabNoErrorIfUnused___spec__1___rarg(lean_object*); static lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__5___closed__4; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___closed__3; @@ -851,6 +850,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Syntax_isAtom(lean_object*); static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___lambda__1___closed__35; +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___closed__13; static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5726____closed__2; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__8___closed__11; @@ -862,7 +862,6 @@ extern lean_object* l_Lean_Elab_Term_termElabAttribute; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__27___closed__1; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___closed__41; LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_noOpMatchAdaptPats___lambda__1(lean_object*, lean_object*, lean_object*); -static lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__2; LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_Quotation_match__syntax_expand___spec__11(lean_object*, size_t, lean_object*, size_t, size_t); static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5756__declRange___closed__2; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__2___closed__12; @@ -877,7 +876,6 @@ static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_ static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___lambda__1___closed__11; lean_object* l_Lean_Syntax_mkNumLit(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_beq___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__5___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8___boxed(lean_object**); static lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__29; static lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__25; LEAN_EXPORT lean_object* l___private_Init_Meta_0__Lean_quoteList___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__24(lean_object*); @@ -909,7 +907,6 @@ static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_ LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___closed__21; LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__26(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_String_intercalate(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_Quotation___aux__Lean__Elab__Quotation______macroRules__Lean__Elab__Term__Quotation__commandElab__stx__quot____1___closed__28; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__23(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -932,7 +929,6 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__10___closed__2; static lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__49; LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__20(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_instQuotePreresolvedStrAnonymous___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___closed__48; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__2___closed__3; @@ -996,9 +992,11 @@ uint8_t lean_nat_dec_le(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_markRhss___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_Quotation___aux__Lean__Elab__Quotation______macroRules__Lean__Elab__Term__Quotation__commandElab__stx__quot____1___closed__15; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_markRhss___spec__9___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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___lambda__1(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_Quotation_commandElab__stx__quot_____closed__10; static lean_object* l_Lean_Elab_Term_Quotation_match__syntax_expand___lambda__3___closed__1; static lean_object* l_Lean_Elab_Term_Quotation_getQuotKind___closed__4; +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__3; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__14___boxed(lean_object**); static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5738____closed__1; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1006,7 +1004,6 @@ static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_ static lean_object* l_Lean_Elab_Term_Quotation_instQuotePreresolvedStrAnonymous___lambda__1___closed__17; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___closed__28; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___lambda__1___closed__2; -static lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__9; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___closed__1; static lean_object* l_Lean_Elab_Term_Quotation_match__syntax_expand___lambda__4___closed__1; lean_object* l_Lean_Syntax_getArgs(lean_object*); @@ -1014,7 +1011,6 @@ static lean_object* l_Lean_Elab_Term_Quotation_getQuotKind___closed__10; lean_object* l_Lean_Name_append(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5774__declRange___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5786__declRange___closed__4; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___lambda__1(lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___closed__5; static lean_object* l_Lean_Elab_Term_Quotation___aux__Lean__Elab__Quotation______macroRules__Lean__Elab__Term__Quotation__commandElab__stx__quot____1___closed__58; LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_match__syntax_expand___lambda__1(lean_object*, lean_object*); @@ -1037,6 +1033,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_ static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__10___closed__10; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___closed__60; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__2___closed__6; +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___closed__47; static lean_object* l_Lean_Elab_Term_Quotation_instQuotePreresolvedStrAnonymous___lambda__1___closed__4; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5780__declRange(lean_object*); @@ -1044,7 +1041,6 @@ static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_ static lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__56; static lean_object* l___private_Init_Meta_0__Lean_quoteList___at_Lean_Elab_Term_Quotation_ArrayStxBuilder_build___spec__1___closed__3; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__13; -static lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__8; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___closed__8; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_Quotation_instQuotePreresolvedStrAnonymous___lambda__2___closed__2; @@ -1072,9 +1068,7 @@ static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_ LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__17(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__14(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___lambda__2___closed__12; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_Quotation_mkTuple___closed__25; -static lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5732__declRange___closed__2; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__16___closed__2; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1085,6 +1079,7 @@ lean_object* l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(lean_obj lean_object* l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__12; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__2___closed__3; +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__10; static lean_object* l_Lean_Elab_Term_Quotation_mkTuple___closed__22; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5762__declRange(lean_object*); static lean_object* l_Lean_Elab_Term_Quotation_instQuotePreresolvedStrAnonymous___lambda__1___closed__2; @@ -1117,6 +1112,7 @@ uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__2___closed__3; static lean_object* l___private_Init_Meta_0__Lean_quoteList___at_Lean_Elab_Term_Quotation_ArrayStxBuilder_build___spec__1___closed__7; static lean_object* l_Lean_Elab_Term_Quotation_commandElab__stx__quot_____closed__2; +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__4; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___lambda__1___closed__25; lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1136,7 +1132,6 @@ LEAN_EXPORT lean_object* l_Array_sequenceMap_loop___at_Lean_Elab_Term_Quotation_ uint8_t l_Lean_Syntax_isNone(lean_object*); static lean_object* l_Lean_Elab_Term_Quotation___aux__Lean__Elab__Quotation______macroRules__Lean__Elab__Term__Quotation__commandElab__stx__quot____1___closed__27; lean_object* l_Lean_logAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__4(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_Quotation___aux__Lean__Elab__Quotation______macroRules__Lean__Elab__Term__Quotation__commandElab__stx__quot____1___closed__40; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5732__declRange(lean_object*); static lean_object* l_Lean_Elab_Term_Quotation___aux__Lean__Elab__Quotation______macroRules__Lean__Elab__Term__Quotation__commandElab__stx__quot____1___closed__9; @@ -1185,7 +1180,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quota LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabNoErrorIfUnused_declRange(lean_object*); static lean_object* l_Lean_Elab_Term_Quotation_instQuotePreresolvedStrAnonymous___lambda__1___closed__13; static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5804__declRange___closed__2; -LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getTailPos_x3f(lean_object*, uint8_t); static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___lambda__2___closed__11; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1208,7 +1203,6 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabMatchSyntax_decl static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__12___closed__8; static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5804__declRange___closed__4; static lean_object* l_Lean_Elab_Term_Quotation___aux__Lean__Elab__Quotation______macroRules__Lean__Elab__Term__Quotation__commandElab__stx__quot____1___closed__61; -static lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__7(lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_instQuotePreresolvedStrAnonymous___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5744____closed__4; @@ -1258,7 +1252,6 @@ static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_ static lean_object* l_Lean_Elab_Term_Quotation_commandElab__stx__quot_____closed__8; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___lambda__1___closed__13; static lean_object* l_Lean_Elab_Term_Quotation___aux__Lean__Elab__Quotation______macroRules__Lean__Elab__Term__Quotation__commandElab__stx__quot____1___closed__33; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___lambda__1___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___closed__36; LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__29___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Init_Meta_0__Lean_quoteList___at_Lean_Elab_Term_Quotation_ArrayStxBuilder_build___spec__1___closed__5; @@ -1285,6 +1278,7 @@ static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_ static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5804____closed__3; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___closed__69; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__23___closed__27; +lean_object* l_Lean_Syntax_getAtomVal(lean_object*); static lean_object* l_Lean_Elab_Term_Quotation_mkTuple___closed__7; LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__4(lean_object*); static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Term_Quotation_getQuotKind___spec__3___closed__2; @@ -1296,9 +1290,10 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Quotati static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___lambda__2___closed__19; LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_Quotation___aux__Lean__Elab__Quotation______macroRules__Lean__Elab__Term__Quotation__commandElab__stx__quot____1___closed__43; +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_antiquotKinds(lean_object*); +lean_object* l_panic___at_Lean_Name_getString_x21___spec__1(lean_object*); static lean_object* l_Lean_Elab_Term_Quotation_getQuotKind___closed__26; -lean_object* l_Lean_Syntax_getAtomVal_x21(lean_object*); static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__1___closed__7; LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_sequenceMap___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_deduplicate___spec__1(lean_object*, lean_object*); @@ -1344,6 +1339,7 @@ static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_ lean_object* l_Lean_Syntax_getCanonicalAntiquot(lean_object*); static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Term_Quotation_getQuotKind___spec__3___closed__1; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__27___closed__2; +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; static lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__51; LEAN_EXPORT lean_object* l_Lean_resolveNamespaceCore___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__28___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__5___closed__3; @@ -1373,12 +1369,14 @@ lean_object* l_Lean_Syntax_antiquotKind_x3f(lean_object*); static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Term_Quotation_getQuotKind___spec__3___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__24___closed__8; +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__8___closed__12; static lean_object* l_Lean_Elab_Term_Quotation___aux__Lean__Elab__Quotation______macroRules__Lean__Elab__Term__Quotation__commandElab__stx__quot____1___closed__39; LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean_Elab_Quotation___hyg_5762____closed__1; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__10___closed__13; LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__4(lean_object*, lean_object*); +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__5; LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_Quotation_ArrayStxBuilder_push___closed__1; lean_object* l_Lean_Syntax_formatStxAux(lean_object*, uint8_t, lean_object*, lean_object*); @@ -1422,9 +1420,9 @@ uint8_t lean_string_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__30(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_tryAddSyntaxNodeKindInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_Quotation_stxQuot_expand___closed__19; +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_markRhss___spec__9___lambda__1___closed__3; uint8_t lean_nat_dec_lt(lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__3___closed__1; static lean_object* l_Lean_Elab_Term_Quotation_match__syntax_expand___closed__1; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__1___closed__4; static lean_object* l_Lean_Elab_Term_Quotation_elabMatchSyntax___closed__1; @@ -1435,6 +1433,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_elabQuot____x40_Lean static lean_object* l_Lean_Elab_Term_Quotation_mkTuple___closed__10; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___lambda__1___closed__29; uint8_t l_Lean_Syntax_isAntiquotSplice(lean_object*); +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___closed__1; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___closed__4; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___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* x_9, lean_object* x_10, lean_object* x_11) { _start: @@ -2609,7 +2608,7 @@ else lean_object* x_6; lean_object* x_7; lean_dec(x_2); x_6 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepFromSplice___closed__4; -x_7 = l_panic___at_Lean_TSyntax_getString___spec__1(x_6); +x_7 = l_panic___at_Lean_Name_getString_x21___spec__1(x_6); return x_7; } } @@ -15607,7 +15606,7 @@ return x_17; else { lean_object* x_18; lean_object* x_19; uint8_t x_20; -x_18 = l_Lean_Syntax_getAtomVal_x21(x_15); +x_18 = l_Lean_Syntax_getAtomVal(x_15); x_19 = lean_string_length(x_18); lean_dec(x_18); x_20 = lean_nat_dec_lt(x_11, x_19); @@ -22557,7 +22556,7 @@ goto _start; } } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__1() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__1() { _start: { lean_object* x_1; @@ -22565,22 +22564,22 @@ x_1 = lean_mk_string_from_bytes("Syntax.getArg", 13); return x_1; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__2() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__1; +x_1 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__1; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__3() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__1; +x_1 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__1; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__2; +x_3 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__2; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -22588,7 +22587,7 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__4() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__4() { _start: { lean_object* x_1; @@ -22596,73 +22595,73 @@ x_1 = lean_mk_string_from_bytes("getArg", 6); return x_1; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__5() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Elab_Term_Quotation_instQuotePreresolvedStrAnonymous___lambda__1___closed__5; -x_2 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__4; +x_2 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__4; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__6() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Elab_Term_Quotation_instQuotePreresolvedStrAnonymous___lambda__1___closed__10; -x_2 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__4; +x_2 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__4; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__7() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__6; +x_2 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__6; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); return x_3; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__8() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__8() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__6; +x_1 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__6; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__9() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__8; +x_2 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__8; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); return x_3; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__10() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__7; -x_2 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__9; +x_1 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__7; +x_2 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__9; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__11() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__11() { _start: { lean_object* x_1; @@ -22670,22 +22669,22 @@ x_1 = lean_mk_string_from_bytes("discr", 5); return x_1; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__12() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__12() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__11; +x_1 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__11; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__11; +x_1 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__11; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__12; +x_3 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__12; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -22693,217 +22692,185 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__11; +x_2 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__11; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { if (lean_obj_tag(x_2) == 0) { -lean_object* x_10; lean_object* x_11; -lean_dec(x_7); -x_10 = lean_box(0); -x_11 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_11, 0, x_10); -lean_ctor_set(x_11, 1, x_9); -return x_11; +lean_object* x_11; lean_object* x_12; +lean_dec(x_8); +x_11 = l_List_reverse___rarg(x_3); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_10); +return x_12; } else { -uint8_t x_12; -x_12 = !lean_is_exclusive(x_2); -if (x_12 == 0) +uint8_t x_13; +x_13 = !lean_is_exclusive(x_2); +if (x_13 == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; -x_13 = lean_ctor_get(x_2, 0); -x_14 = lean_ctor_get(x_2, 1); -lean_inc(x_7); -x_15 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(x_7, x_8, x_9); -x_16 = lean_ctor_get(x_15, 0); -lean_inc(x_16); -x_17 = lean_ctor_get(x_15, 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; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_14 = lean_ctor_get(x_2, 0); +x_15 = lean_ctor_get(x_2, 1); +lean_inc(x_8); +x_16 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(x_8, x_9, x_10); +x_17 = lean_ctor_get(x_16, 0); lean_inc(x_17); -lean_dec(x_15); -x_18 = lean_ctor_get(x_7, 10); +x_18 = lean_ctor_get(x_16, 1); lean_inc(x_18); -x_19 = lean_st_ref_get(x_8, x_17); -x_20 = lean_ctor_get(x_19, 0); -lean_inc(x_20); -x_21 = lean_ctor_get(x_19, 1); +lean_dec(x_16); +x_19 = lean_ctor_get(x_8, 10); +lean_inc(x_19); +x_20 = lean_st_ref_get(x_9, x_18); +x_21 = lean_ctor_get(x_20, 0); lean_inc(x_21); -lean_dec(x_19); -x_22 = lean_ctor_get(x_20, 0); +x_22 = lean_ctor_get(x_20, 1); lean_inc(x_22); lean_dec(x_20); -x_23 = lean_environment_main_module(x_22); -x_24 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__5; -lean_inc(x_18); +x_23 = lean_ctor_get(x_21, 0); lean_inc(x_23); -x_25 = l_Lean_addMacroScope(x_23, x_24, x_18); -x_26 = lean_box(0); -x_27 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__3; -x_28 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__10; -lean_inc(x_16); -x_29 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_29, 0, x_16); -lean_ctor_set(x_29, 1, x_27); -lean_ctor_set(x_29, 2, x_25); -lean_ctor_set(x_29, 3, x_28); -x_30 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; -x_31 = l_Lean_addMacroScope(x_23, x_30, x_18); -x_32 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; -lean_inc(x_16); -x_33 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_33, 0, x_16); -lean_ctor_set(x_33, 1, x_32); -lean_ctor_set(x_33, 2, x_31); -lean_ctor_set(x_33, 3, x_26); -x_34 = l_Nat_repr(x_13); -x_35 = lean_box(2); -x_36 = l_Lean_Syntax_mkNumLit(x_34, x_35); -x_37 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__1___closed__14; -x_38 = lean_array_push(x_37, x_33); -x_39 = lean_array_push(x_38, x_36); -x_40 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__14; -lean_inc(x_16); -x_41 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_41, 0, x_16); -lean_ctor_set(x_41, 1, x_40); -lean_ctor_set(x_41, 2, x_39); -x_42 = lean_array_push(x_37, x_29); -x_43 = lean_array_push(x_42, x_41); -x_44 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__1___closed__4; -x_45 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_45, 0, x_16); -lean_ctor_set(x_45, 1, x_44); -lean_ctor_set(x_45, 2, x_43); -x_46 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4(x_1, x_14, x_3, x_4, x_5, x_6, x_7, x_8, x_21); -x_47 = !lean_is_exclusive(x_46); -if (x_47 == 0) +lean_dec(x_21); +x_24 = lean_environment_main_module(x_23); +x_25 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__5; +lean_inc(x_19); +lean_inc(x_24); +x_26 = l_Lean_addMacroScope(x_24, x_25, x_19); +x_27 = lean_box(0); +x_28 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__3; +x_29 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__10; +lean_inc(x_17); +x_30 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_30, 0, x_17); +lean_ctor_set(x_30, 1, x_28); +lean_ctor_set(x_30, 2, x_26); +lean_ctor_set(x_30, 3, x_29); +x_31 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_32 = l_Lean_addMacroScope(x_24, x_31, x_19); +x_33 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +lean_inc(x_17); +x_34 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_34, 0, x_17); +lean_ctor_set(x_34, 1, x_33); +lean_ctor_set(x_34, 2, x_32); +lean_ctor_set(x_34, 3, x_27); +x_35 = l_Nat_repr(x_14); +x_36 = lean_box(2); +x_37 = l_Lean_Syntax_mkNumLit(x_35, x_36); +x_38 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__1___closed__14; +x_39 = lean_array_push(x_38, x_34); +x_40 = lean_array_push(x_39, x_37); +x_41 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__14; +lean_inc(x_17); +x_42 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_42, 0, x_17); +lean_ctor_set(x_42, 1, x_41); +lean_ctor_set(x_42, 2, x_40); +x_43 = lean_array_push(x_38, x_30); +x_44 = lean_array_push(x_43, x_42); +x_45 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__1___closed__4; +x_46 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_46, 0, x_17); +lean_ctor_set(x_46, 1, x_45); +lean_ctor_set(x_46, 2, x_44); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_46); { -lean_object* x_48; -x_48 = lean_ctor_get(x_46, 0); -lean_ctor_set(x_2, 1, x_48); -lean_ctor_set(x_2, 0, x_45); -lean_ctor_set(x_46, 0, x_2); -return x_46; +lean_object* _tmp_1 = x_15; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_9 = x_22; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_10 = _tmp_9; +} +goto _start; } else { -lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_49 = lean_ctor_get(x_46, 0); -x_50 = lean_ctor_get(x_46, 1); -lean_inc(x_50); +lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; +x_48 = lean_ctor_get(x_2, 0); +x_49 = lean_ctor_get(x_2, 1); lean_inc(x_49); -lean_dec(x_46); -lean_ctor_set(x_2, 1, x_49); -lean_ctor_set(x_2, 0, x_45); -x_51 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_51, 0, x_2); -lean_ctor_set(x_51, 1, x_50); -return x_51; -} -} -else -{ -lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; -x_52 = lean_ctor_get(x_2, 0); -x_53 = lean_ctor_get(x_2, 1); -lean_inc(x_53); -lean_inc(x_52); +lean_inc(x_48); lean_dec(x_2); -lean_inc(x_7); -x_54 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(x_7, x_8, x_9); +lean_inc(x_8); +x_50 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(x_8, x_9, x_10); +x_51 = lean_ctor_get(x_50, 0); +lean_inc(x_51); +x_52 = lean_ctor_get(x_50, 1); +lean_inc(x_52); +lean_dec(x_50); +x_53 = lean_ctor_get(x_8, 10); +lean_inc(x_53); +x_54 = lean_st_ref_get(x_9, x_52); x_55 = lean_ctor_get(x_54, 0); lean_inc(x_55); x_56 = lean_ctor_get(x_54, 1); lean_inc(x_56); lean_dec(x_54); -x_57 = lean_ctor_get(x_7, 10); +x_57 = lean_ctor_get(x_55, 0); lean_inc(x_57); -x_58 = lean_st_ref_get(x_8, x_56); -x_59 = lean_ctor_get(x_58, 0); -lean_inc(x_59); -x_60 = lean_ctor_get(x_58, 1); -lean_inc(x_60); -lean_dec(x_58); -x_61 = lean_ctor_get(x_59, 0); -lean_inc(x_61); -lean_dec(x_59); -x_62 = lean_environment_main_module(x_61); -x_63 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__5; -lean_inc(x_57); -lean_inc(x_62); -x_64 = l_Lean_addMacroScope(x_62, x_63, x_57); -x_65 = lean_box(0); -x_66 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__3; -x_67 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__10; -lean_inc(x_55); +lean_dec(x_55); +x_58 = lean_environment_main_module(x_57); +x_59 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__5; +lean_inc(x_53); +lean_inc(x_58); +x_60 = l_Lean_addMacroScope(x_58, x_59, x_53); +x_61 = lean_box(0); +x_62 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__3; +x_63 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__10; +lean_inc(x_51); +x_64 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_64, 0, x_51); +lean_ctor_set(x_64, 1, x_62); +lean_ctor_set(x_64, 2, x_60); +lean_ctor_set(x_64, 3, x_63); +x_65 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_66 = l_Lean_addMacroScope(x_58, x_65, x_53); +x_67 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +lean_inc(x_51); x_68 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_68, 0, x_55); -lean_ctor_set(x_68, 1, x_66); -lean_ctor_set(x_68, 2, x_64); -lean_ctor_set(x_68, 3, x_67); -x_69 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; -x_70 = l_Lean_addMacroScope(x_62, x_69, x_57); -x_71 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; -lean_inc(x_55); -x_72 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_72, 0, x_55); -lean_ctor_set(x_72, 1, x_71); -lean_ctor_set(x_72, 2, x_70); -lean_ctor_set(x_72, 3, x_65); -x_73 = l_Nat_repr(x_52); -x_74 = lean_box(2); -x_75 = l_Lean_Syntax_mkNumLit(x_73, x_74); -x_76 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__1___closed__14; -x_77 = lean_array_push(x_76, x_72); -x_78 = lean_array_push(x_77, x_75); -x_79 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__14; -lean_inc(x_55); +lean_ctor_set(x_68, 0, x_51); +lean_ctor_set(x_68, 1, x_67); +lean_ctor_set(x_68, 2, x_66); +lean_ctor_set(x_68, 3, x_61); +x_69 = l_Nat_repr(x_48); +x_70 = lean_box(2); +x_71 = l_Lean_Syntax_mkNumLit(x_69, x_70); +x_72 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__1___closed__14; +x_73 = lean_array_push(x_72, x_68); +x_74 = lean_array_push(x_73, x_71); +x_75 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__14; +lean_inc(x_51); +x_76 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_76, 0, x_51); +lean_ctor_set(x_76, 1, x_75); +lean_ctor_set(x_76, 2, x_74); +x_77 = lean_array_push(x_72, x_64); +x_78 = lean_array_push(x_77, x_76); +x_79 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__1___closed__4; x_80 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_80, 0, x_55); +lean_ctor_set(x_80, 0, x_51); lean_ctor_set(x_80, 1, x_79); lean_ctor_set(x_80, 2, x_78); -x_81 = lean_array_push(x_76, x_68); -x_82 = lean_array_push(x_81, x_80); -x_83 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__1___closed__4; -x_84 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_84, 0, x_55); -lean_ctor_set(x_84, 1, x_83); -lean_ctor_set(x_84, 2, x_82); -x_85 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4(x_1, x_53, x_3, x_4, x_5, x_6, x_7, x_8, x_60); -x_86 = lean_ctor_get(x_85, 0); -lean_inc(x_86); -x_87 = lean_ctor_get(x_85, 1); -lean_inc(x_87); -if (lean_is_exclusive(x_85)) { - lean_ctor_release(x_85, 0); - lean_ctor_release(x_85, 1); - x_88 = x_85; -} else { - lean_dec_ref(x_85); - x_88 = lean_box(0); -} -x_89 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_89, 0, x_84); -lean_ctor_set(x_89, 1, x_86); -if (lean_is_scalar(x_88)) { - x_90 = lean_alloc_ctor(0, 2, 0); -} else { - x_90 = x_88; -} -lean_ctor_set(x_90, 0, x_89); -lean_ctor_set(x_90, 1, x_87); -return x_90; +x_81 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_81, 0, x_80); +lean_ctor_set(x_81, 1, x_3); +x_2 = x_49; +x_3 = x_81; +x_10 = x_56; +goto _start; } } } @@ -23025,212 +22992,180 @@ return x_8; } } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { if (lean_obj_tag(x_2) == 0) { -lean_object* x_10; lean_object* x_11; -lean_dec(x_7); -x_10 = lean_box(0); -x_11 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_11, 0, x_10); -lean_ctor_set(x_11, 1, x_9); -return x_11; +lean_object* x_11; lean_object* x_12; +lean_dec(x_8); +x_11 = l_List_reverse___rarg(x_3); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_10); +return x_12; } else { -uint8_t x_12; -x_12 = !lean_is_exclusive(x_2); -if (x_12 == 0) +uint8_t x_13; +x_13 = !lean_is_exclusive(x_2); +if (x_13 == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; -x_13 = lean_ctor_get(x_2, 0); -x_14 = lean_ctor_get(x_2, 1); -lean_inc(x_7); -x_15 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(x_7, x_8, x_9); -x_16 = lean_ctor_get(x_15, 0); -lean_inc(x_16); -x_17 = lean_ctor_get(x_15, 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; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_14 = lean_ctor_get(x_2, 0); +x_15 = lean_ctor_get(x_2, 1); +lean_inc(x_8); +x_16 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(x_8, x_9, x_10); +x_17 = lean_ctor_get(x_16, 0); lean_inc(x_17); -lean_dec(x_15); -x_18 = lean_ctor_get(x_7, 10); +x_18 = lean_ctor_get(x_16, 1); lean_inc(x_18); -x_19 = lean_st_ref_get(x_8, x_17); -x_20 = lean_ctor_get(x_19, 0); -lean_inc(x_20); -x_21 = lean_ctor_get(x_19, 1); +lean_dec(x_16); +x_19 = lean_ctor_get(x_8, 10); +lean_inc(x_19); +x_20 = lean_st_ref_get(x_9, x_18); +x_21 = lean_ctor_get(x_20, 0); lean_inc(x_21); -lean_dec(x_19); -x_22 = lean_ctor_get(x_20, 0); +x_22 = lean_ctor_get(x_20, 1); lean_inc(x_22); lean_dec(x_20); -x_23 = lean_environment_main_module(x_22); -x_24 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__5; -lean_inc(x_18); +x_23 = lean_ctor_get(x_21, 0); lean_inc(x_23); -x_25 = l_Lean_addMacroScope(x_23, x_24, x_18); -x_26 = lean_box(0); -x_27 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__3; -x_28 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__10; -lean_inc(x_16); -x_29 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_29, 0, x_16); -lean_ctor_set(x_29, 1, x_27); -lean_ctor_set(x_29, 2, x_25); -lean_ctor_set(x_29, 3, x_28); -x_30 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; -x_31 = l_Lean_addMacroScope(x_23, x_30, x_18); -x_32 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; -lean_inc(x_16); -x_33 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_33, 0, x_16); -lean_ctor_set(x_33, 1, x_32); -lean_ctor_set(x_33, 2, x_31); -lean_ctor_set(x_33, 3, x_26); -x_34 = l_Nat_repr(x_13); -x_35 = lean_box(2); -x_36 = l_Lean_Syntax_mkNumLit(x_34, x_35); -x_37 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__1___closed__14; -x_38 = lean_array_push(x_37, x_33); -x_39 = lean_array_push(x_38, x_36); -x_40 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__14; -lean_inc(x_16); -x_41 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_41, 0, x_16); -lean_ctor_set(x_41, 1, x_40); -lean_ctor_set(x_41, 2, x_39); -x_42 = lean_array_push(x_37, x_29); -x_43 = lean_array_push(x_42, x_41); -x_44 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__1___closed__4; -x_45 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_45, 0, x_16); -lean_ctor_set(x_45, 1, x_44); -lean_ctor_set(x_45, 2, x_43); -x_46 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__7(x_1, x_14, x_3, x_4, x_5, x_6, x_7, x_8, x_21); -x_47 = !lean_is_exclusive(x_46); -if (x_47 == 0) +lean_dec(x_21); +x_24 = lean_environment_main_module(x_23); +x_25 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__5; +lean_inc(x_19); +lean_inc(x_24); +x_26 = l_Lean_addMacroScope(x_24, x_25, x_19); +x_27 = lean_box(0); +x_28 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__3; +x_29 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__10; +lean_inc(x_17); +x_30 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_30, 0, x_17); +lean_ctor_set(x_30, 1, x_28); +lean_ctor_set(x_30, 2, x_26); +lean_ctor_set(x_30, 3, x_29); +x_31 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_32 = l_Lean_addMacroScope(x_24, x_31, x_19); +x_33 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +lean_inc(x_17); +x_34 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_34, 0, x_17); +lean_ctor_set(x_34, 1, x_33); +lean_ctor_set(x_34, 2, x_32); +lean_ctor_set(x_34, 3, x_27); +x_35 = l_Nat_repr(x_14); +x_36 = lean_box(2); +x_37 = l_Lean_Syntax_mkNumLit(x_35, x_36); +x_38 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__1___closed__14; +x_39 = lean_array_push(x_38, x_34); +x_40 = lean_array_push(x_39, x_37); +x_41 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__14; +lean_inc(x_17); +x_42 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_42, 0, x_17); +lean_ctor_set(x_42, 1, x_41); +lean_ctor_set(x_42, 2, x_40); +x_43 = lean_array_push(x_38, x_30); +x_44 = lean_array_push(x_43, x_42); +x_45 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__1___closed__4; +x_46 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_46, 0, x_17); +lean_ctor_set(x_46, 1, x_45); +lean_ctor_set(x_46, 2, x_44); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_46); { -lean_object* x_48; -x_48 = lean_ctor_get(x_46, 0); -lean_ctor_set(x_2, 1, x_48); -lean_ctor_set(x_2, 0, x_45); -lean_ctor_set(x_46, 0, x_2); -return x_46; +lean_object* _tmp_1 = x_15; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_9 = x_22; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_10 = _tmp_9; +} +goto _start; } else { -lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_49 = lean_ctor_get(x_46, 0); -x_50 = lean_ctor_get(x_46, 1); -lean_inc(x_50); +lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; +x_48 = lean_ctor_get(x_2, 0); +x_49 = lean_ctor_get(x_2, 1); lean_inc(x_49); -lean_dec(x_46); -lean_ctor_set(x_2, 1, x_49); -lean_ctor_set(x_2, 0, x_45); -x_51 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_51, 0, x_2); -lean_ctor_set(x_51, 1, x_50); -return x_51; -} -} -else -{ -lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; -x_52 = lean_ctor_get(x_2, 0); -x_53 = lean_ctor_get(x_2, 1); -lean_inc(x_53); -lean_inc(x_52); +lean_inc(x_48); lean_dec(x_2); -lean_inc(x_7); -x_54 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(x_7, x_8, x_9); +lean_inc(x_8); +x_50 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(x_8, x_9, x_10); +x_51 = lean_ctor_get(x_50, 0); +lean_inc(x_51); +x_52 = lean_ctor_get(x_50, 1); +lean_inc(x_52); +lean_dec(x_50); +x_53 = lean_ctor_get(x_8, 10); +lean_inc(x_53); +x_54 = lean_st_ref_get(x_9, x_52); x_55 = lean_ctor_get(x_54, 0); lean_inc(x_55); x_56 = lean_ctor_get(x_54, 1); lean_inc(x_56); lean_dec(x_54); -x_57 = lean_ctor_get(x_7, 10); +x_57 = lean_ctor_get(x_55, 0); lean_inc(x_57); -x_58 = lean_st_ref_get(x_8, x_56); -x_59 = lean_ctor_get(x_58, 0); -lean_inc(x_59); -x_60 = lean_ctor_get(x_58, 1); -lean_inc(x_60); -lean_dec(x_58); -x_61 = lean_ctor_get(x_59, 0); -lean_inc(x_61); -lean_dec(x_59); -x_62 = lean_environment_main_module(x_61); -x_63 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__5; -lean_inc(x_57); -lean_inc(x_62); -x_64 = l_Lean_addMacroScope(x_62, x_63, x_57); -x_65 = lean_box(0); -x_66 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__3; -x_67 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__10; -lean_inc(x_55); +lean_dec(x_55); +x_58 = lean_environment_main_module(x_57); +x_59 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__5; +lean_inc(x_53); +lean_inc(x_58); +x_60 = l_Lean_addMacroScope(x_58, x_59, x_53); +x_61 = lean_box(0); +x_62 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__3; +x_63 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__10; +lean_inc(x_51); +x_64 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_64, 0, x_51); +lean_ctor_set(x_64, 1, x_62); +lean_ctor_set(x_64, 2, x_60); +lean_ctor_set(x_64, 3, x_63); +x_65 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_66 = l_Lean_addMacroScope(x_58, x_65, x_53); +x_67 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +lean_inc(x_51); x_68 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_68, 0, x_55); -lean_ctor_set(x_68, 1, x_66); -lean_ctor_set(x_68, 2, x_64); -lean_ctor_set(x_68, 3, x_67); -x_69 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; -x_70 = l_Lean_addMacroScope(x_62, x_69, x_57); -x_71 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; -lean_inc(x_55); -x_72 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_72, 0, x_55); -lean_ctor_set(x_72, 1, x_71); -lean_ctor_set(x_72, 2, x_70); -lean_ctor_set(x_72, 3, x_65); -x_73 = l_Nat_repr(x_52); -x_74 = lean_box(2); -x_75 = l_Lean_Syntax_mkNumLit(x_73, x_74); -x_76 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__1___closed__14; -x_77 = lean_array_push(x_76, x_72); -x_78 = lean_array_push(x_77, x_75); -x_79 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__14; -lean_inc(x_55); +lean_ctor_set(x_68, 0, x_51); +lean_ctor_set(x_68, 1, x_67); +lean_ctor_set(x_68, 2, x_66); +lean_ctor_set(x_68, 3, x_61); +x_69 = l_Nat_repr(x_48); +x_70 = lean_box(2); +x_71 = l_Lean_Syntax_mkNumLit(x_69, x_70); +x_72 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__1___closed__14; +x_73 = lean_array_push(x_72, x_68); +x_74 = lean_array_push(x_73, x_71); +x_75 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__14; +lean_inc(x_51); +x_76 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_76, 0, x_51); +lean_ctor_set(x_76, 1, x_75); +lean_ctor_set(x_76, 2, x_74); +x_77 = lean_array_push(x_72, x_64); +x_78 = lean_array_push(x_77, x_76); +x_79 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__1___closed__4; x_80 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_80, 0, x_55); +lean_ctor_set(x_80, 0, x_51); lean_ctor_set(x_80, 1, x_79); lean_ctor_set(x_80, 2, x_78); -x_81 = lean_array_push(x_76, x_68); -x_82 = lean_array_push(x_81, x_80); -x_83 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__1___closed__4; -x_84 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_84, 0, x_55); -lean_ctor_set(x_84, 1, x_83); -lean_ctor_set(x_84, 2, x_82); -x_85 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__7(x_1, x_53, x_3, x_4, x_5, x_6, x_7, x_8, x_60); -x_86 = lean_ctor_get(x_85, 0); -lean_inc(x_86); -x_87 = lean_ctor_get(x_85, 1); -lean_inc(x_87); -if (lean_is_exclusive(x_85)) { - lean_ctor_release(x_85, 0); - lean_ctor_release(x_85, 1); - x_88 = x_85; -} else { - lean_dec_ref(x_85); - x_88 = lean_box(0); -} -x_89 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_89, 0, x_84); -lean_ctor_set(x_89, 1, x_86); -if (lean_is_scalar(x_88)) { - x_90 = lean_alloc_ctor(0, 2, 0); -} else { - x_90 = x_88; -} -lean_ctor_set(x_90, 0, x_89); -lean_ctor_set(x_90, 1, x_87); -return x_90; +x_81 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_81, 0, x_80); +lean_ctor_set(x_81, 1, x_3); +x_2 = x_49; +x_3 = x_81; +x_10 = x_56; +goto _start; } } } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8___closed__1() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8___closed__1() { _start: { lean_object* x_1; @@ -23238,13 +23173,13 @@ x_1 = lean_mk_string_from_bytes("-", 1); return x_1; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_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) { _start: { if (lean_obj_tag(x_18) == 0) { -lean_object* x_26; lean_object* x_27; -lean_dec(x_23); +lean_object* x_27; lean_object* x_28; +lean_dec(x_24); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); @@ -23259,393 +23194,355 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_26 = lean_box(0); -x_27 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_27, 0, x_26); -lean_ctor_set(x_27, 1, x_25); -return x_27; +x_27 = l_List_reverse___rarg(x_19); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_26); +return x_28; } else { -uint8_t x_28; -x_28 = !lean_is_exclusive(x_18); -if (x_28 == 0) +uint8_t x_29; +x_29 = !lean_is_exclusive(x_18); +if (x_29 == 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; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; uint8_t x_89; -x_29 = lean_ctor_get(x_18, 0); -x_30 = lean_ctor_get(x_18, 1); -lean_inc(x_23); -x_31 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(x_23, x_24, x_25); -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; +x_30 = lean_ctor_get(x_18, 0); +x_31 = lean_ctor_get(x_18, 1); +lean_inc(x_24); +x_32 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(x_24, x_25, x_26); +x_33 = lean_ctor_get(x_32, 0); lean_inc(x_33); -lean_dec(x_31); -x_34 = lean_ctor_get(x_23, 10); +x_34 = lean_ctor_get(x_32, 1); lean_inc(x_34); -x_35 = lean_st_ref_get(x_24, x_33); -x_36 = lean_ctor_get(x_35, 0); -lean_inc(x_36); -x_37 = lean_ctor_get(x_35, 1); +lean_dec(x_32); +x_35 = lean_ctor_get(x_24, 10); +lean_inc(x_35); +x_36 = lean_st_ref_get(x_25, x_34); +x_37 = lean_ctor_get(x_36, 0); lean_inc(x_37); -lean_dec(x_35); -x_38 = lean_ctor_get(x_36, 0); +x_38 = lean_ctor_get(x_36, 1); lean_inc(x_38); lean_dec(x_36); -x_39 = lean_environment_main_module(x_38); -x_40 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__1; -x_41 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__2; -lean_inc(x_5); -x_42 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_42, 0, x_40); -lean_ctor_set(x_42, 1, x_5); -lean_ctor_set(x_42, 2, x_41); -x_43 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__5; -lean_inc(x_34); +x_39 = lean_ctor_get(x_37, 0); lean_inc(x_39); -x_44 = l_Lean_addMacroScope(x_39, x_43, x_34); -x_45 = l_Lean_Elab_Term_Quotation_instQuotePreresolvedStrAnonymous___lambda__1___closed__4; +lean_dec(x_37); +x_40 = lean_environment_main_module(x_39); +x_41 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__1; +x_42 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__2; +lean_inc(x_5); +x_43 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_43, 0, x_41); +lean_ctor_set(x_43, 1, x_5); +lean_ctor_set(x_43, 2, x_42); +x_44 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__5; +lean_inc(x_35); +lean_inc(x_40); +x_45 = l_Lean_addMacroScope(x_40, x_44, x_35); +x_46 = l_Lean_Elab_Term_Quotation_instQuotePreresolvedStrAnonymous___lambda__1___closed__4; lean_inc(x_3); -x_46 = l_Lean_Name_str___override(x_3, x_45); -x_47 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__4; -x_48 = l_Lean_Name_str___override(x_46, x_47); +x_47 = l_Lean_Name_str___override(x_3, x_46); +x_48 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__4; +x_49 = l_Lean_Name_str___override(x_47, x_48); lean_inc(x_6); -lean_inc(x_48); -x_49 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_49, 0, x_48); -lean_ctor_set(x_49, 1, x_6); -x_50 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_50, 0, x_48); +lean_inc(x_49); +x_50 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_50, 0, x_49); +lean_ctor_set(x_50, 1, x_6); +x_51 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_51, 0, x_49); lean_inc(x_7); lean_ctor_set(x_18, 1, x_7); -lean_ctor_set(x_18, 0, x_50); -x_51 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_51, 0, x_49); -lean_ctor_set(x_51, 1, x_18); -lean_inc(x_32); -x_52 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_52, 0, x_32); -lean_ctor_set(x_52, 1, x_42); -lean_ctor_set(x_52, 2, x_44); -lean_ctor_set(x_52, 3, x_51); -x_53 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__11; -x_54 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__12; +lean_ctor_set(x_18, 0, x_51); +x_52 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_52, 0, x_50); +lean_ctor_set(x_52, 1, x_18); +lean_inc(x_33); +x_53 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_53, 0, x_33); +lean_ctor_set(x_53, 1, x_43); +lean_ctor_set(x_53, 2, x_45); +lean_ctor_set(x_53, 3, x_52); +x_54 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__11; +x_55 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__12; lean_inc(x_5); -x_55 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_55, 0, x_53); -lean_ctor_set(x_55, 1, x_5); -lean_ctor_set(x_55, 2, x_54); -lean_inc(x_34); +x_56 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_56, 0, x_54); +lean_ctor_set(x_56, 1, x_5); +lean_ctor_set(x_56, 2, x_55); +lean_inc(x_35); lean_inc(x_10); -lean_inc(x_39); -x_56 = l_Lean_addMacroScope(x_39, x_10, x_34); +lean_inc(x_40); +x_57 = l_Lean_addMacroScope(x_40, x_10, x_35); lean_inc(x_7); -lean_inc(x_32); -x_57 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_57, 0, x_32); -lean_ctor_set(x_57, 1, x_55); -lean_ctor_set(x_57, 2, x_56); -lean_ctor_set(x_57, 3, x_7); -x_58 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__7; -lean_inc(x_32); -x_59 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_59, 0, x_32); -lean_ctor_set(x_59, 1, x_58); +lean_inc(x_33); +x_58 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_58, 0, x_33); +lean_ctor_set(x_58, 1, x_56); +lean_ctor_set(x_58, 2, x_57); +lean_ctor_set(x_58, 3, x_7); +x_59 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__7; +lean_inc(x_33); +x_60 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_60, 0, x_33); +lean_ctor_set(x_60, 1, x_59); lean_inc(x_14); -x_60 = l_Lean_addMacroScope(x_39, x_14, x_34); +x_61 = l_Lean_addMacroScope(x_40, x_14, x_35); lean_inc(x_7); lean_inc(x_13); -lean_inc(x_32); -x_61 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_61, 0, x_32); -lean_ctor_set(x_61, 1, x_13); -lean_ctor_set(x_61, 2, x_60); -lean_ctor_set(x_61, 3, x_7); -x_62 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8___closed__1; -lean_inc(x_32); -x_63 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_63, 0, x_32); -lean_ctor_set(x_63, 1, x_62); -x_64 = lean_nat_sub(x_2, x_29); -lean_dec(x_29); -x_65 = l_Nat_repr(x_64); -x_66 = lean_box(2); -x_67 = l_Lean_Syntax_mkNumLit(x_65, x_66); +lean_inc(x_33); +x_62 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_62, 0, x_33); +lean_ctor_set(x_62, 1, x_13); +lean_ctor_set(x_62, 2, x_61); +lean_ctor_set(x_62, 3, x_7); +x_63 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8___closed__1; +lean_inc(x_33); +x_64 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_64, 0, x_33); +lean_ctor_set(x_64, 1, x_63); +x_65 = lean_nat_sub(x_2, x_30); +lean_dec(x_30); +x_66 = l_Nat_repr(x_65); +x_67 = lean_box(2); +x_68 = l_Lean_Syntax_mkNumLit(x_66, x_67); lean_inc(x_15); -x_68 = lean_array_push(x_15, x_61); -x_69 = lean_array_push(x_68, x_63); -x_70 = lean_array_push(x_69, x_67); +x_69 = lean_array_push(x_15, x_62); +x_70 = lean_array_push(x_69, x_64); +x_71 = lean_array_push(x_70, x_68); lean_inc(x_12); -lean_inc(x_32); -x_71 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_71, 0, x_32); -lean_ctor_set(x_71, 1, x_12); -lean_ctor_set(x_71, 2, x_70); +lean_inc(x_33); +x_72 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_72, 0, x_33); +lean_ctor_set(x_72, 1, x_12); +lean_ctor_set(x_72, 2, x_71); lean_inc(x_16); lean_inc(x_8); -lean_inc(x_32); -x_72 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_72, 0, x_32); -lean_ctor_set(x_72, 1, x_8); -lean_ctor_set(x_72, 2, x_16); +lean_inc(x_33); +x_73 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_73, 0, x_33); +lean_ctor_set(x_73, 1, x_8); +lean_ctor_set(x_73, 2, x_16); lean_inc(x_17); -x_73 = lean_array_push(x_17, x_71); -x_74 = lean_array_push(x_73, x_72); +x_74 = lean_array_push(x_17, x_72); +x_75 = lean_array_push(x_74, x_73); lean_inc(x_8); -lean_inc(x_32); -x_75 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_75, 0, x_32); -lean_ctor_set(x_75, 1, x_8); -lean_ctor_set(x_75, 2, x_74); -x_76 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__13; -lean_inc(x_32); -x_77 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_77, 0, x_32); -lean_ctor_set(x_77, 1, x_76); +lean_inc(x_33); +x_76 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_76, 0, x_33); +lean_ctor_set(x_76, 1, x_8); +lean_ctor_set(x_76, 2, x_75); +x_77 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__13; +lean_inc(x_33); +x_78 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_78, 0, x_33); +lean_ctor_set(x_78, 1, x_77); lean_inc(x_15); -x_78 = lean_array_push(x_15, x_59); -x_79 = lean_array_push(x_78, x_75); -x_80 = lean_array_push(x_79, x_77); +x_79 = lean_array_push(x_15, x_60); +x_80 = lean_array_push(x_79, x_76); +x_81 = lean_array_push(x_80, x_78); lean_inc(x_9); -lean_inc(x_32); -x_81 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_81, 0, x_32); -lean_ctor_set(x_81, 1, x_9); -lean_ctor_set(x_81, 2, x_80); +lean_inc(x_33); +x_82 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_82, 0, x_33); +lean_ctor_set(x_82, 1, x_9); +lean_ctor_set(x_82, 2, x_81); lean_inc(x_17); -x_82 = lean_array_push(x_17, x_57); -x_83 = lean_array_push(x_82, x_81); +x_83 = lean_array_push(x_17, x_58); +x_84 = lean_array_push(x_83, x_82); lean_inc(x_8); -lean_inc(x_32); -x_84 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_84, 0, x_32); -lean_ctor_set(x_84, 1, x_8); -lean_ctor_set(x_84, 2, x_83); +lean_inc(x_33); +x_85 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_85, 0, x_33); +lean_ctor_set(x_85, 1, x_8); +lean_ctor_set(x_85, 2, x_84); lean_inc(x_17); -x_85 = lean_array_push(x_17, x_52); -x_86 = lean_array_push(x_85, x_84); +x_86 = lean_array_push(x_17, x_53); +x_87 = lean_array_push(x_86, x_85); lean_inc(x_4); -x_87 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_87, 0, x_32); -lean_ctor_set(x_87, 1, x_4); -lean_ctor_set(x_87, 2, x_86); -x_88 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_30, x_19, x_20, x_21, x_22, x_23, x_24, x_37); -x_89 = !lean_is_exclusive(x_88); -if (x_89 == 0) -{ -lean_object* x_90; lean_object* x_91; -x_90 = lean_ctor_get(x_88, 0); -x_91 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_91, 0, x_87); -lean_ctor_set(x_91, 1, x_90); -lean_ctor_set(x_88, 0, x_91); -return x_88; +x_88 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_88, 0, x_33); +lean_ctor_set(x_88, 1, x_4); +lean_ctor_set(x_88, 2, x_87); +x_89 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_89, 0, x_88); +lean_ctor_set(x_89, 1, x_19); +x_18 = x_31; +x_19 = x_89; +x_26 = x_38; +goto _start; } else { -lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; -x_92 = lean_ctor_get(x_88, 0); -x_93 = lean_ctor_get(x_88, 1); -lean_inc(x_93); +lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; 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; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; +x_91 = lean_ctor_get(x_18, 0); +x_92 = lean_ctor_get(x_18, 1); lean_inc(x_92); -lean_dec(x_88); -x_94 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_94, 0, x_87); -lean_ctor_set(x_94, 1, x_92); -x_95 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_95, 0, x_94); -lean_ctor_set(x_95, 1, x_93); -return x_95; -} -} -else -{ -lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; -x_96 = lean_ctor_get(x_18, 0); -x_97 = lean_ctor_get(x_18, 1); -lean_inc(x_97); -lean_inc(x_96); +lean_inc(x_91); lean_dec(x_18); -lean_inc(x_23); -x_98 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(x_23, x_24, x_25); -x_99 = lean_ctor_get(x_98, 0); +lean_inc(x_24); +x_93 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(x_24, x_25, x_26); +x_94 = lean_ctor_get(x_93, 0); +lean_inc(x_94); +x_95 = lean_ctor_get(x_93, 1); +lean_inc(x_95); +lean_dec(x_93); +x_96 = lean_ctor_get(x_24, 10); +lean_inc(x_96); +x_97 = lean_st_ref_get(x_25, 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); -x_100 = lean_ctor_get(x_98, 1); +lean_dec(x_97); +x_100 = lean_ctor_get(x_98, 0); lean_inc(x_100); lean_dec(x_98); -x_101 = lean_ctor_get(x_23, 10); -lean_inc(x_101); -x_102 = lean_st_ref_get(x_24, x_100); -x_103 = lean_ctor_get(x_102, 0); -lean_inc(x_103); -x_104 = lean_ctor_get(x_102, 1); -lean_inc(x_104); -lean_dec(x_102); -x_105 = lean_ctor_get(x_103, 0); -lean_inc(x_105); -lean_dec(x_103); -x_106 = lean_environment_main_module(x_105); -x_107 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__1; -x_108 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__2; +x_101 = lean_environment_main_module(x_100); +x_102 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__1; +x_103 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__2; lean_inc(x_5); -x_109 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_109, 0, x_107); -lean_ctor_set(x_109, 1, x_5); -lean_ctor_set(x_109, 2, x_108); -x_110 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__5; +x_104 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_104, 0, x_102); +lean_ctor_set(x_104, 1, x_5); +lean_ctor_set(x_104, 2, x_103); +x_105 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__5; +lean_inc(x_96); lean_inc(x_101); -lean_inc(x_106); -x_111 = l_Lean_addMacroScope(x_106, x_110, x_101); -x_112 = l_Lean_Elab_Term_Quotation_instQuotePreresolvedStrAnonymous___lambda__1___closed__4; +x_106 = l_Lean_addMacroScope(x_101, x_105, x_96); +x_107 = l_Lean_Elab_Term_Quotation_instQuotePreresolvedStrAnonymous___lambda__1___closed__4; lean_inc(x_3); -x_113 = l_Lean_Name_str___override(x_3, x_112); -x_114 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__4; -x_115 = l_Lean_Name_str___override(x_113, x_114); +x_108 = l_Lean_Name_str___override(x_3, x_107); +x_109 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__4; +x_110 = l_Lean_Name_str___override(x_108, x_109); lean_inc(x_6); -lean_inc(x_115); -x_116 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_116, 0, x_115); -lean_ctor_set(x_116, 1, x_6); -x_117 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_117, 0, x_115); +lean_inc(x_110); +x_111 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_111, 0, x_110); +lean_ctor_set(x_111, 1, x_6); +x_112 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_112, 0, x_110); lean_inc(x_7); -x_118 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_118, 0, x_117); -lean_ctor_set(x_118, 1, x_7); -x_119 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_119, 0, x_116); -lean_ctor_set(x_119, 1, x_118); -lean_inc(x_99); -x_120 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_120, 0, x_99); -lean_ctor_set(x_120, 1, x_109); -lean_ctor_set(x_120, 2, x_111); -lean_ctor_set(x_120, 3, x_119); -x_121 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__11; -x_122 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__12; +x_113 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_113, 0, x_112); +lean_ctor_set(x_113, 1, x_7); +x_114 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_114, 0, x_111); +lean_ctor_set(x_114, 1, x_113); +lean_inc(x_94); +x_115 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_115, 0, x_94); +lean_ctor_set(x_115, 1, x_104); +lean_ctor_set(x_115, 2, x_106); +lean_ctor_set(x_115, 3, x_114); +x_116 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__11; +x_117 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__12; lean_inc(x_5); -x_123 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_123, 0, x_121); -lean_ctor_set(x_123, 1, x_5); -lean_ctor_set(x_123, 2, x_122); -lean_inc(x_101); +x_118 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_118, 0, x_116); +lean_ctor_set(x_118, 1, x_5); +lean_ctor_set(x_118, 2, x_117); +lean_inc(x_96); lean_inc(x_10); -lean_inc(x_106); -x_124 = l_Lean_addMacroScope(x_106, x_10, x_101); +lean_inc(x_101); +x_119 = l_Lean_addMacroScope(x_101, x_10, x_96); lean_inc(x_7); -lean_inc(x_99); -x_125 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_125, 0, x_99); -lean_ctor_set(x_125, 1, x_123); -lean_ctor_set(x_125, 2, x_124); -lean_ctor_set(x_125, 3, x_7); -x_126 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__7; -lean_inc(x_99); -x_127 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_127, 0, x_99); -lean_ctor_set(x_127, 1, x_126); +lean_inc(x_94); +x_120 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_120, 0, x_94); +lean_ctor_set(x_120, 1, x_118); +lean_ctor_set(x_120, 2, x_119); +lean_ctor_set(x_120, 3, x_7); +x_121 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__7; +lean_inc(x_94); +x_122 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_122, 0, x_94); +lean_ctor_set(x_122, 1, x_121); lean_inc(x_14); -x_128 = l_Lean_addMacroScope(x_106, x_14, x_101); +x_123 = l_Lean_addMacroScope(x_101, x_14, x_96); lean_inc(x_7); lean_inc(x_13); -lean_inc(x_99); -x_129 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_129, 0, x_99); -lean_ctor_set(x_129, 1, x_13); -lean_ctor_set(x_129, 2, x_128); -lean_ctor_set(x_129, 3, x_7); -x_130 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8___closed__1; -lean_inc(x_99); -x_131 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_131, 0, x_99); -lean_ctor_set(x_131, 1, x_130); -x_132 = lean_nat_sub(x_2, x_96); -lean_dec(x_96); -x_133 = l_Nat_repr(x_132); -x_134 = lean_box(2); -x_135 = l_Lean_Syntax_mkNumLit(x_133, x_134); +lean_inc(x_94); +x_124 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_124, 0, x_94); +lean_ctor_set(x_124, 1, x_13); +lean_ctor_set(x_124, 2, x_123); +lean_ctor_set(x_124, 3, x_7); +x_125 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8___closed__1; +lean_inc(x_94); +x_126 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_126, 0, x_94); +lean_ctor_set(x_126, 1, x_125); +x_127 = lean_nat_sub(x_2, x_91); +lean_dec(x_91); +x_128 = l_Nat_repr(x_127); +x_129 = lean_box(2); +x_130 = l_Lean_Syntax_mkNumLit(x_128, x_129); lean_inc(x_15); -x_136 = lean_array_push(x_15, x_129); -x_137 = lean_array_push(x_136, x_131); -x_138 = lean_array_push(x_137, x_135); +x_131 = lean_array_push(x_15, x_124); +x_132 = lean_array_push(x_131, x_126); +x_133 = lean_array_push(x_132, x_130); lean_inc(x_12); -lean_inc(x_99); -x_139 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_139, 0, x_99); -lean_ctor_set(x_139, 1, x_12); -lean_ctor_set(x_139, 2, x_138); +lean_inc(x_94); +x_134 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_134, 0, x_94); +lean_ctor_set(x_134, 1, x_12); +lean_ctor_set(x_134, 2, x_133); lean_inc(x_16); lean_inc(x_8); -lean_inc(x_99); -x_140 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_140, 0, x_99); -lean_ctor_set(x_140, 1, x_8); -lean_ctor_set(x_140, 2, x_16); +lean_inc(x_94); +x_135 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_135, 0, x_94); +lean_ctor_set(x_135, 1, x_8); +lean_ctor_set(x_135, 2, x_16); lean_inc(x_17); -x_141 = lean_array_push(x_17, x_139); -x_142 = lean_array_push(x_141, x_140); +x_136 = lean_array_push(x_17, x_134); +x_137 = lean_array_push(x_136, x_135); lean_inc(x_8); -lean_inc(x_99); -x_143 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_143, 0, x_99); -lean_ctor_set(x_143, 1, x_8); -lean_ctor_set(x_143, 2, x_142); -x_144 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__13; -lean_inc(x_99); -x_145 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_145, 0, x_99); -lean_ctor_set(x_145, 1, x_144); +lean_inc(x_94); +x_138 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_138, 0, x_94); +lean_ctor_set(x_138, 1, x_8); +lean_ctor_set(x_138, 2, x_137); +x_139 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__13; +lean_inc(x_94); +x_140 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_140, 0, x_94); +lean_ctor_set(x_140, 1, x_139); lean_inc(x_15); -x_146 = lean_array_push(x_15, x_127); -x_147 = lean_array_push(x_146, x_143); -x_148 = lean_array_push(x_147, x_145); +x_141 = lean_array_push(x_15, x_122); +x_142 = lean_array_push(x_141, x_138); +x_143 = lean_array_push(x_142, x_140); lean_inc(x_9); -lean_inc(x_99); -x_149 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_149, 0, x_99); -lean_ctor_set(x_149, 1, x_9); -lean_ctor_set(x_149, 2, x_148); +lean_inc(x_94); +x_144 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_144, 0, x_94); +lean_ctor_set(x_144, 1, x_9); +lean_ctor_set(x_144, 2, x_143); lean_inc(x_17); -x_150 = lean_array_push(x_17, x_125); -x_151 = lean_array_push(x_150, x_149); +x_145 = lean_array_push(x_17, x_120); +x_146 = lean_array_push(x_145, x_144); lean_inc(x_8); -lean_inc(x_99); -x_152 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_152, 0, x_99); -lean_ctor_set(x_152, 1, x_8); -lean_ctor_set(x_152, 2, x_151); +lean_inc(x_94); +x_147 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_147, 0, x_94); +lean_ctor_set(x_147, 1, x_8); +lean_ctor_set(x_147, 2, x_146); lean_inc(x_17); -x_153 = lean_array_push(x_17, x_120); -x_154 = lean_array_push(x_153, x_152); +x_148 = lean_array_push(x_17, x_115); +x_149 = lean_array_push(x_148, x_147); lean_inc(x_4); -x_155 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_155, 0, x_99); -lean_ctor_set(x_155, 1, x_4); -lean_ctor_set(x_155, 2, x_154); -x_156 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_97, x_19, x_20, x_21, x_22, x_23, x_24, x_104); -x_157 = lean_ctor_get(x_156, 0); -lean_inc(x_157); -x_158 = lean_ctor_get(x_156, 1); -lean_inc(x_158); -if (lean_is_exclusive(x_156)) { - lean_ctor_release(x_156, 0); - lean_ctor_release(x_156, 1); - x_159 = x_156; -} else { - lean_dec_ref(x_156); - x_159 = lean_box(0); -} -x_160 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_160, 0, x_155); -lean_ctor_set(x_160, 1, x_157); -if (lean_is_scalar(x_159)) { - x_161 = lean_alloc_ctor(0, 2, 0); -} else { - x_161 = x_159; -} -lean_ctor_set(x_161, 0, x_160); -lean_ctor_set(x_161, 1, x_158); -return x_161; +x_150 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_150, 0, x_94); +lean_ctor_set(x_150, 1, x_4); +lean_ctor_set(x_150, 2, x_149); +x_151 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_151, 0, x_150); +lean_ctor_set(x_151, 1, x_19); +x_18 = x_92; +x_19 = x_151; +x_26 = x_99; +goto _start; } } } @@ -25334,14 +25231,14 @@ lean_ctor_set(x_57, 0, x_21); lean_ctor_set(x_57, 1, x_46); lean_ctor_set(x_57, 2, x_48); lean_ctor_set(x_57, 3, x_56); -x_58 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__11; -x_59 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__12; +x_58 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__11; +x_59 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__12; lean_inc(x_4); x_60 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_60, 0, x_58); lean_ctor_set(x_60, 1, x_4); lean_ctor_set(x_60, 2, x_59); -x_61 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_61 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_62 = l_Lean_addMacroScope(x_28, x_61, x_23); lean_inc(x_6); lean_inc(x_21); @@ -25589,14 +25486,14 @@ lean_ctor_set(x_160, 0, x_123); lean_ctor_set(x_160, 1, x_149); lean_ctor_set(x_160, 2, x_151); lean_ctor_set(x_160, 3, x_159); -x_161 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__11; -x_162 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__12; +x_161 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__11; +x_162 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__12; lean_inc(x_4); x_163 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_163, 0, x_161); lean_ctor_set(x_163, 1, x_4); lean_ctor_set(x_163, 2, x_162); -x_164 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_164 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_165 = l_Lean_addMacroScope(x_130, x_164, x_125); lean_inc(x_6); lean_inc(x_123); @@ -25792,9 +25689,9 @@ lean_inc(x_13); x_32 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_32, 0, x_13); lean_ctor_set(x_32, 1, x_31); -x_33 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_33 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_34 = l_Lean_addMacroScope(x_20, x_33, x_15); -x_35 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_35 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_13); x_36 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_36, 0, x_13); @@ -25873,9 +25770,9 @@ lean_inc(x_13); x_70 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_70, 0, x_13); lean_ctor_set(x_70, 1, x_69); -x_71 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_71 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_72 = l_Lean_addMacroScope(x_58, x_71, x_15); -x_73 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_73 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_13); x_74 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_74, 0, x_13); @@ -26695,24 +26592,24 @@ return x_149; } } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_12 = lean_array_get_size(x_1); -x_13 = l_List_range(x_12); -lean_inc(x_9); -x_14 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4(x_2, x_13, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -x_15 = lean_ctor_get(x_14, 0); -lean_inc(x_15); -x_16 = lean_ctor_get(x_14, 1); +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_List_range(x_13); +lean_inc(x_10); +x_15 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4(x_2, x_14, x_3, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_16 = lean_ctor_get(x_15, 0); lean_inc(x_16); -lean_dec(x_14); -x_17 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_17, 0, x_4); -lean_ctor_set(x_17, 1, x_15); -x_18 = lean_apply_8(x_3, x_17, x_5, x_6, x_7, x_8, x_9, x_10, x_16); -return x_18; +x_17 = lean_ctor_get(x_15, 1); +lean_inc(x_17); +lean_dec(x_15); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_5); +lean_ctor_set(x_18, 1, x_16); +x_19 = lean_apply_8(x_4, x_18, x_6, x_7, x_8, x_9, x_10, x_11, x_17); +return x_19; } } static lean_object* _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__10___closed__1() { @@ -27069,9 +26966,9 @@ lean_ctor_set(x_40, 0, x_24); lean_ctor_set(x_40, 1, x_39); lean_ctor_set(x_40, 2, x_33); lean_ctor_set(x_40, 3, x_38); -x_41 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_41 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_42 = l_Lean_addMacroScope(x_31, x_41, x_26); -x_43 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_43 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_1); lean_inc(x_24); x_44 = lean_alloc_ctor(3, 4, 0); @@ -27080,6 +26977,7 @@ lean_ctor_set(x_44, 1, x_43); lean_ctor_set(x_44, 2, x_42); lean_ctor_set(x_44, 3, x_1); lean_inc(x_5); +lean_inc(x_1); x_45 = l___private_Init_Meta_0__Lean_getEscapedNameParts_x3f(x_1, x_5); x_46 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__1___closed__14; x_47 = lean_array_push(x_46, x_44); @@ -27101,7 +26999,7 @@ x_55 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_55, 0, x_24); lean_ctor_set(x_55, 1, x_54); lean_ctor_set(x_55, 2, x_53); -x_56 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9(x_3, x_4, x_16, x_55, x_9, x_10, x_11, x_12, x_13, x_14, x_29); +x_56 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9(x_3, x_4, x_1, x_16, x_55, x_9, x_10, x_11, x_12, x_13, x_14, x_29); lean_dec(x_4); lean_dec(x_3); return x_56; @@ -27140,7 +27038,7 @@ x_73 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_73, 0, x_24); lean_ctor_set(x_73, 1, x_72); lean_ctor_set(x_73, 2, x_71); -x_74 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9(x_3, x_4, x_16, x_73, x_9, x_10, x_11, x_12, x_13, x_14, x_29); +x_74 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9(x_3, x_4, x_1, x_16, x_73, x_9, x_10, x_11, x_12, x_13, x_14, x_29); lean_dec(x_4); lean_dec(x_3); return x_74; @@ -27193,9 +27091,9 @@ lean_ctor_set(x_92, 0, x_76); lean_ctor_set(x_92, 1, x_91); lean_ctor_set(x_92, 2, x_85); lean_ctor_set(x_92, 3, x_90); -x_93 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_93 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_94 = l_Lean_addMacroScope(x_83, x_93, x_78); -x_95 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_95 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_1); lean_inc(x_76); x_96 = lean_alloc_ctor(3, 4, 0); @@ -27206,6 +27104,7 @@ lean_ctor_set(x_96, 3, x_1); x_97 = l_Lean_Syntax_getId(x_6); lean_dec(x_6); lean_inc(x_97); +lean_inc(x_1); x_98 = l___private_Init_Meta_0__Lean_getEscapedNameParts_x3f(x_1, x_97); x_99 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__1___closed__14; x_100 = lean_array_push(x_99, x_96); @@ -27227,7 +27126,7 @@ x_108 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_108, 0, x_76); lean_ctor_set(x_108, 1, x_107); lean_ctor_set(x_108, 2, x_106); -x_109 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9(x_3, x_4, x_16, x_108, x_9, x_10, x_11, x_12, x_13, x_14, x_81); +x_109 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9(x_3, x_4, x_1, x_16, x_108, x_9, x_10, x_11, x_12, x_13, x_14, x_81); lean_dec(x_4); lean_dec(x_3); return x_109; @@ -27266,7 +27165,7 @@ x_126 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_126, 0, x_76); lean_ctor_set(x_126, 1, x_125); lean_ctor_set(x_126, 2, x_124); -x_127 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9(x_3, x_4, x_16, x_126, x_9, x_10, x_11, x_12, x_13, x_14, x_81); +x_127 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9(x_3, x_4, x_1, x_16, x_126, x_9, x_10, x_11, x_12, x_13, x_14, x_81); lean_dec(x_4); lean_dec(x_3); return x_127; @@ -27322,9 +27221,10 @@ lean_ctor_set(x_145, 0, x_129); lean_ctor_set(x_145, 1, x_144); lean_ctor_set(x_145, 2, x_138); lean_ctor_set(x_145, 3, x_143); -x_146 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_146 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_147 = l_Lean_addMacroScope(x_136, x_146, x_131); -x_148 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_148 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +lean_inc(x_1); lean_inc(x_129); x_149 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_149, 0, x_129); @@ -27351,7 +27251,7 @@ x_162 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_162, 0, x_129); lean_ctor_set(x_162, 1, x_161); lean_ctor_set(x_162, 2, x_160); -x_163 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9(x_3, x_4, x_16, x_162, x_9, x_10, x_11, x_12, x_13, x_14, x_134); +x_163 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9(x_3, x_4, x_1, x_16, x_162, x_9, x_10, x_11, x_12, x_13, x_14, x_134); lean_dec(x_4); lean_dec(x_3); return x_163; @@ -27405,9 +27305,9 @@ lean_ctor_set(x_181, 0, x_165); lean_ctor_set(x_181, 1, x_180); lean_ctor_set(x_181, 2, x_174); lean_ctor_set(x_181, 3, x_179); -x_182 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_182 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_183 = l_Lean_addMacroScope(x_172, x_182, x_167); -x_184 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_184 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_1); lean_inc(x_165); x_185 = lean_alloc_ctor(3, 4, 0); @@ -27416,6 +27316,7 @@ lean_ctor_set(x_185, 1, x_184); lean_ctor_set(x_185, 2, x_183); lean_ctor_set(x_185, 3, x_1); lean_inc(x_5); +lean_inc(x_1); x_186 = l___private_Init_Meta_0__Lean_getEscapedNameParts_x3f(x_1, x_5); x_187 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__1___closed__14; x_188 = lean_array_push(x_187, x_185); @@ -27437,7 +27338,7 @@ x_196 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_196, 0, x_165); lean_ctor_set(x_196, 1, x_195); lean_ctor_set(x_196, 2, x_194); -x_197 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9(x_3, x_4, x_16, x_196, x_9, x_10, x_11, x_12, x_13, x_14, x_170); +x_197 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9(x_3, x_4, x_1, x_16, x_196, x_9, x_10, x_11, x_12, x_13, x_14, x_170); lean_dec(x_4); lean_dec(x_3); return x_197; @@ -27476,7 +27377,7 @@ x_214 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_214, 0, x_165); lean_ctor_set(x_214, 1, x_213); lean_ctor_set(x_214, 2, x_212); -x_215 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9(x_3, x_4, x_16, x_214, x_9, x_10, x_11, x_12, x_13, x_14, x_170); +x_215 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9(x_3, x_4, x_1, x_16, x_214, x_9, x_10, x_11, x_12, x_13, x_14, x_170); lean_dec(x_4); lean_dec(x_3); return x_215; @@ -27530,9 +27431,9 @@ lean_ctor_set(x_233, 0, x_217); lean_ctor_set(x_233, 1, x_232); lean_ctor_set(x_233, 2, x_226); lean_ctor_set(x_233, 3, x_231); -x_234 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_234 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_235 = l_Lean_addMacroScope(x_224, x_234, x_219); -x_236 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_236 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_1); lean_inc(x_217); x_237 = lean_alloc_ctor(3, 4, 0); @@ -27541,6 +27442,7 @@ lean_ctor_set(x_237, 1, x_236); lean_ctor_set(x_237, 2, x_235); lean_ctor_set(x_237, 3, x_1); lean_inc(x_5); +lean_inc(x_1); x_238 = l___private_Init_Meta_0__Lean_getEscapedNameParts_x3f(x_1, x_5); x_239 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__1___closed__14; x_240 = lean_array_push(x_239, x_237); @@ -27562,7 +27464,7 @@ x_248 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_248, 0, x_217); lean_ctor_set(x_248, 1, x_247); lean_ctor_set(x_248, 2, x_246); -x_249 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9(x_3, x_4, x_16, x_248, x_9, x_10, x_11, x_12, x_13, x_14, x_222); +x_249 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9(x_3, x_4, x_1, x_16, x_248, x_9, x_10, x_11, x_12, x_13, x_14, x_222); lean_dec(x_4); lean_dec(x_3); return x_249; @@ -27601,7 +27503,7 @@ x_266 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_266, 0, x_217); lean_ctor_set(x_266, 1, x_265); lean_ctor_set(x_266, 2, x_264); -x_267 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9(x_3, x_4, x_16, x_266, x_9, x_10, x_11, x_12, x_13, x_14, x_222); +x_267 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9(x_3, x_4, x_1, x_16, x_266, x_9, x_10, x_11, x_12, x_13, x_14, x_222); lean_dec(x_4); lean_dec(x_3); return x_267; @@ -27656,9 +27558,9 @@ lean_ctor_set(x_285, 0, x_269); lean_ctor_set(x_285, 1, x_284); lean_ctor_set(x_285, 2, x_278); lean_ctor_set(x_285, 3, x_283); -x_286 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_286 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_287 = l_Lean_addMacroScope(x_276, x_286, x_271); -x_288 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_288 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_1); lean_inc(x_269); x_289 = lean_alloc_ctor(3, 4, 0); @@ -27714,7 +27616,7 @@ if (lean_obj_tag(x_291) == 0) { lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; x_298 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__10___closed__28; -x_299 = l_panic___at_Lean_TSyntax_getString___spec__1(x_298); +x_299 = l_panic___at_Lean_Name_getString_x21___spec__1(x_298); x_300 = lean_box(2); x_301 = l_Lean_Syntax_mkStrLit(x_299, x_300); lean_dec(x_299); @@ -28028,7 +27930,7 @@ static lean_object* _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quot _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_1 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_2 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__14___closed__4; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; @@ -28131,7 +28033,7 @@ static lean_object* _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quot _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_1 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_2 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__14___closed__15; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; @@ -28211,7 +28113,8 @@ lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean lean_inc(x_1); x_15 = l_List_range(x_1); lean_inc(x_12); -x_16 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__7(x_2, x_15, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_inc(x_3); +x_16 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__7(x_2, x_15, x_3, x_8, x_9, x_10, x_11, x_12, x_13, x_14); x_17 = lean_ctor_get(x_16, 0); lean_inc(x_17); x_18 = lean_ctor_get(x_16, 1); @@ -28291,7 +28194,7 @@ lean_ctor_set(x_49, 0, x_20); lean_ctor_set(x_49, 1, x_48); lean_ctor_set(x_49, 2, x_47); lean_ctor_set(x_49, 3, x_3); -x_50 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8___closed__1; +x_50 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8___closed__1; lean_inc(x_20); x_51 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_51, 0, x_20); @@ -28387,11 +28290,11 @@ lean_inc(x_4); x_93 = l_List_range(x_4); x_94 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__2; x_95 = lean_unsigned_to_nat(0u); -x_96 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_96 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_97 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__14___closed__9; lean_inc(x_12); -lean_inc_n(x_3, 2); -x_98 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8(x_2, x_4, x_94, x_79, x_95, x_3, x_3, x_60, x_72, x_96, x_97, x_58, x_48, x_46, x_54, x_61, x_63, x_93, x_8, x_9, x_10, x_11, x_12, x_13, x_25); +lean_inc_n(x_3, 3); +x_98 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8(x_2, x_4, x_94, x_79, x_95, x_3, x_3, x_60, x_72, x_96, x_97, x_58, x_48, x_46, x_54, x_61, x_63, x_93, x_3, x_8, x_9, x_10, x_11, x_12, x_13, x_25); lean_dec(x_4); x_99 = lean_ctor_get(x_98, 0); lean_inc(x_99); @@ -30618,7 +30521,7 @@ static lean_object* _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quot _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_1 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_2 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__23___closed__25; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; @@ -30737,10 +30640,10 @@ lean_ctor_set(x_41, 0, x_25); lean_ctor_set(x_41, 1, x_40); lean_ctor_set(x_41, 2, x_34); lean_ctor_set(x_41, 3, x_39); -x_42 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_42 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; lean_inc(x_27); x_43 = l_Lean_addMacroScope(x_32, x_42, x_27); -x_44 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_44 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_2); lean_inc(x_25); x_45 = lean_alloc_ctor(3, 4, 0); @@ -30891,10 +30794,10 @@ lean_ctor_set(x_104, 0, x_88); lean_ctor_set(x_104, 1, x_103); lean_ctor_set(x_104, 2, x_97); lean_ctor_set(x_104, 3, x_102); -x_105 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_105 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; lean_inc(x_90); x_106 = l_Lean_addMacroScope(x_95, x_105, x_90); -x_107 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_107 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_2); lean_inc(x_88); x_108 = lean_alloc_ctor(3, 4, 0); @@ -31055,10 +30958,10 @@ lean_ctor_set(x_170, 0, x_154); lean_ctor_set(x_170, 1, x_169); lean_ctor_set(x_170, 2, x_163); lean_ctor_set(x_170, 3, x_168); -x_171 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_171 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; lean_inc(x_156); x_172 = l_Lean_addMacroScope(x_161, x_171, x_156); -x_173 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_173 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_2); lean_inc(x_154); x_174 = lean_alloc_ctor(3, 4, 0); @@ -31373,11 +31276,11 @@ lean_inc(x_232); x_305 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_305, 0, x_232); lean_ctor_set(x_305, 1, x_304); -x_306 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_306 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; lean_inc(x_216); lean_inc(x_238); x_307 = l_Lean_addMacroScope(x_238, x_306, x_216); -x_308 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_308 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_2); lean_inc(x_232); x_309 = lean_alloc_ctor(3, 4, 0); @@ -31723,11 +31626,11 @@ lean_inc(x_232); x_459 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_459, 0, x_232); lean_ctor_set(x_459, 1, x_458); -x_460 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_460 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; lean_inc(x_216); lean_inc(x_392); x_461 = l_Lean_addMacroScope(x_392, x_460, x_216); -x_462 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_462 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_2); lean_inc(x_232); x_463 = lean_alloc_ctor(3, 4, 0); @@ -31963,10 +31866,10 @@ lean_ctor_set(x_563, 0, x_547); lean_ctor_set(x_563, 1, x_562); lean_ctor_set(x_563, 2, x_556); lean_ctor_set(x_563, 3, x_561); -x_564 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_564 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; lean_inc(x_549); x_565 = l_Lean_addMacroScope(x_554, x_564, x_549); -x_566 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_566 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_2); lean_inc(x_547); x_567 = lean_alloc_ctor(3, 4, 0); @@ -32114,10 +32017,10 @@ lean_ctor_set(x_625, 0, x_609); lean_ctor_set(x_625, 1, x_624); lean_ctor_set(x_625, 2, x_618); lean_ctor_set(x_625, 3, x_623); -x_626 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_626 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; lean_inc(x_611); x_627 = l_Lean_addMacroScope(x_616, x_626, x_611); -x_628 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_628 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_2); lean_inc(x_609); x_629 = lean_alloc_ctor(3, 4, 0); @@ -32266,10 +32169,10 @@ lean_ctor_set(x_687, 0, x_671); lean_ctor_set(x_687, 1, x_686); lean_ctor_set(x_687, 2, x_680); lean_ctor_set(x_687, 3, x_685); -x_688 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_688 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; lean_inc(x_673); x_689 = l_Lean_addMacroScope(x_678, x_688, x_673); -x_690 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_690 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_2); lean_inc(x_671); x_691 = lean_alloc_ctor(3, 4, 0); @@ -32846,9 +32749,9 @@ lean_ctor_set(x_82, 0, x_37); lean_ctor_set(x_82, 1, x_81); lean_ctor_set(x_82, 2, x_75); lean_ctor_set(x_82, 3, x_80); -x_83 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_83 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_84 = l_Lean_addMacroScope(x_44, x_83, x_39); -x_85 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_85 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_37); x_86 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_86, 0, x_37); @@ -33047,9 +32950,9 @@ lean_ctor_set(x_173, 0, x_37); lean_ctor_set(x_173, 1, x_172); lean_ctor_set(x_173, 2, x_166); lean_ctor_set(x_173, 3, x_171); -x_174 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_174 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_175 = l_Lean_addMacroScope(x_135, x_174, x_39); -x_176 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_176 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_37); x_177 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_177, 0, x_37); @@ -33263,9 +33166,9 @@ lean_ctor_set(x_265, 0, x_225); lean_ctor_set(x_265, 1, x_264); lean_ctor_set(x_265, 2, x_258); lean_ctor_set(x_265, 3, x_263); -x_266 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_266 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_267 = l_Lean_addMacroScope(x_232, x_266, x_227); -x_268 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_268 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_225); x_269 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_269, 0, x_225); @@ -33455,9 +33358,9 @@ lean_ctor_set(x_350, 0, x_225); lean_ctor_set(x_350, 1, x_349); lean_ctor_set(x_350, 2, x_343); lean_ctor_set(x_350, 3, x_348); -x_351 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_351 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_352 = l_Lean_addMacroScope(x_317, x_351, x_227); -x_353 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_353 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_225); x_354 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_354, 0, x_225); @@ -33737,9 +33640,9 @@ lean_ctor_set(x_469, 0, x_401); lean_ctor_set(x_469, 1, x_468); lean_ctor_set(x_469, 2, x_462); lean_ctor_set(x_469, 3, x_467); -x_470 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_470 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_471 = l_Lean_addMacroScope(x_408, x_470, x_403); -x_472 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_472 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_401); x_473 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_473, 0, x_401); @@ -33986,9 +33889,9 @@ lean_ctor_set(x_575, 0, x_401); lean_ctor_set(x_575, 1, x_574); lean_ctor_set(x_575, 2, x_568); lean_ctor_set(x_575, 3, x_573); -x_576 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_576 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_577 = l_Lean_addMacroScope(x_514, x_576, x_403); -x_578 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_578 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_401); x_579 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_579, 0, x_401); @@ -34696,9 +34599,9 @@ lean_ctor_set(x_56, 0, x_15); lean_ctor_set(x_56, 1, x_38); lean_ctor_set(x_56, 2, x_55); x_57 = l___private_Init_Meta_0__Lean_quoteList___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__24(x_4); -x_58 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_58 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_59 = l_Lean_addMacroScope(x_22, x_58, x_17); -x_60 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_60 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_15); x_61 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_61, 0, x_15); @@ -34840,9 +34743,9 @@ lean_ctor_set(x_123, 0, x_15); lean_ctor_set(x_123, 1, x_105); lean_ctor_set(x_123, 2, x_122); x_124 = l___private_Init_Meta_0__Lean_quoteList___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__24(x_4); -x_125 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_125 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_126 = l_Lean_addMacroScope(x_89, x_125, x_17); -x_127 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_127 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_15); x_128 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_128, 0, x_15); @@ -34945,9 +34848,9 @@ lean_inc(x_12); x_27 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_27, 0, x_12); lean_ctor_set(x_27, 1, x_26); -x_28 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_28 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_29 = l_Lean_addMacroScope(x_19, x_28, x_14); -x_30 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_30 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_12); x_31 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_31, 0, x_12); @@ -35023,9 +34926,9 @@ lean_inc(x_12); x_64 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_64, 0, x_12); lean_ctor_set(x_64, 1, x_63); -x_65 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_65 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_66 = l_Lean_addMacroScope(x_56, x_65, x_14); -x_67 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_67 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_12); x_68 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_68, 0, x_12); @@ -36476,18 +36379,18 @@ lean_dec(x_1); return x_7; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { -lean_object* x_10; -x_10 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -lean_dec(x_8); +lean_object* x_11; +x_11 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_9); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_3); lean_dec(x_1); -return x_10; +return x_11; } } LEAN_EXPORT lean_object* l_List_beq___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__5___boxed(lean_object* x_1, lean_object* x_2) { @@ -36513,21 +36416,21 @@ lean_dec(x_1); return x_9; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { -lean_object* x_10; -x_10 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -lean_dec(x_8); +lean_object* x_11; +x_11 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_9); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_3); lean_dec(x_1); -return x_10; +return x_11; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8___boxed(lean_object** _args) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8___boxed(lean_object** _args) { lean_object* x_1 = _args[0]; lean_object* x_2 = _args[1]; lean_object* x_3 = _args[2]; @@ -36553,19 +36456,20 @@ lean_object* x_22 = _args[21]; lean_object* x_23 = _args[22]; lean_object* x_24 = _args[23]; lean_object* x_25 = _args[24]; +lean_object* x_26 = _args[25]; _start: { -lean_object* x_26; -x_26 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_20, x_21, x_22, x_23, x_24, x_25); -lean_dec(x_24); +lean_object* x_27; +x_27 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_20, x_21, x_22, x_23, x_24, x_25, x_26); +lean_dec(x_25); +lean_dec(x_23); lean_dec(x_22); lean_dec(x_21); lean_dec(x_20); -lean_dec(x_19); lean_dec(x_11); lean_dec(x_2); lean_dec(x_1); -return x_26; +return x_27; } } LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__9___boxed(lean_object** _args) { @@ -36891,14 +36795,14 @@ x_3 = lean_box(x_2); return x_3; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { -lean_object* x_12; -x_12 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_object* x_13; +x_13 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__9(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_2); lean_dec(x_1); -return x_12; +return x_13; } } LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___lambda__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { @@ -38087,12 +37991,78 @@ x_11 = lean_apply_7(x_10, x_2, x_3, x_4, x_5, x_6, x_7, x_8); return x_11; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { if (lean_obj_tag(x_2) == 0) { -lean_object* x_10; lean_object* x_11; +lean_object* x_11; lean_object* x_12; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_11 = l_List_reverse___rarg(x_3); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_10); +return x_12; +} +else +{ +uint8_t x_13; +x_13 = !lean_is_exclusive(x_2); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_14 = lean_ctor_get(x_2, 0); +x_15 = lean_ctor_get(x_2, 1); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_14); +x_16 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo(x_14, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_16) == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +x_19 = lean_ctor_get(x_17, 1); +lean_inc(x_19); +lean_dec(x_17); +x_20 = lean_ctor_get(x_1, 0); +lean_inc(x_20); +x_21 = lean_apply_1(x_19, x_20); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_21); +lean_ctor_set(x_22, 1, x_14); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_22); +{ +lean_object* _tmp_1 = x_15; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_9 = x_18; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_10 = _tmp_9; +} +goto _start; +} +else +{ +uint8_t x_24; +lean_free_object(x_2); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -38100,226 +38070,73 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_10 = lean_box(0); -x_11 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_11, 0, x_10); -lean_ctor_set(x_11, 1, x_9); -return x_11; -} -else +x_24 = !lean_is_exclusive(x_16); +if (x_24 == 0) { -uint8_t x_12; -x_12 = !lean_is_exclusive(x_2); -if (x_12 == 0) -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_13 = lean_ctor_get(x_2, 0); -x_14 = lean_ctor_get(x_2, 1); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_13); -x_15 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo(x_13, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_15) == 0) -{ -lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_16 = lean_ctor_get(x_15, 0); -lean_inc(x_16); -x_17 = lean_ctor_get(x_15, 1); -lean_inc(x_17); -lean_dec(x_15); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -x_19 = lean_ctor_get(x_1, 0); -lean_inc(x_19); -x_20 = lean_apply_1(x_18, x_19); -x_21 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_21, 0, x_20); -lean_ctor_set(x_21, 1, x_13); -x_22 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__2(x_1, x_14, x_3, x_4, x_5, x_6, x_7, x_8, x_17); -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; -x_24 = lean_ctor_get(x_22, 0); -lean_ctor_set(x_2, 1, x_24); -lean_ctor_set(x_2, 0, x_21); -lean_ctor_set(x_22, 0, x_2); -return x_22; +return x_16; } else { lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = lean_ctor_get(x_22, 0); -x_26 = lean_ctor_get(x_22, 1); +x_25 = lean_ctor_get(x_16, 0); +x_26 = lean_ctor_get(x_16, 1); lean_inc(x_26); lean_inc(x_25); -lean_dec(x_22); -lean_ctor_set(x_2, 1, x_25); -lean_ctor_set(x_2, 0, x_21); -x_27 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_27, 0, x_2); +lean_dec(x_16); +x_27 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_27, 0, x_25); lean_ctor_set(x_27, 1, x_26); return x_27; } } -else -{ -uint8_t x_28; -lean_dec(x_21); -lean_free_object(x_2); -x_28 = !lean_is_exclusive(x_22); -if (x_28 == 0) -{ -return x_22; } else { -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_22, 0); -x_30 = lean_ctor_get(x_22, 1); -lean_inc(x_30); +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_2, 0); +x_29 = lean_ctor_get(x_2, 1); lean_inc(x_29); -lean_dec(x_22); -x_31 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_31, 0, x_29); -lean_ctor_set(x_31, 1, x_30); -return x_31; -} -} -} -else -{ -uint8_t x_32; -lean_free_object(x_2); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_32 = !lean_is_exclusive(x_15); -if (x_32 == 0) -{ -return x_15; -} -else -{ -lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_33 = lean_ctor_get(x_15, 0); -x_34 = lean_ctor_get(x_15, 1); -lean_inc(x_34); -lean_inc(x_33); -lean_dec(x_15); -x_35 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_35, 0, x_33); -lean_ctor_set(x_35, 1, x_34); -return x_35; -} -} -} -else -{ -lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_36 = lean_ctor_get(x_2, 0); -x_37 = lean_ctor_get(x_2, 1); -lean_inc(x_37); -lean_inc(x_36); +lean_inc(x_28); lean_dec(x_2); +lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_36); -x_38 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo(x_36, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_38) == 0) +lean_inc(x_28); +x_30 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo(x_28, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_30) == 0) { -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_39 = lean_ctor_get(x_38, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_38, 1); -lean_inc(x_40); -lean_dec(x_38); -x_41 = lean_ctor_get(x_39, 1); -lean_inc(x_41); -lean_dec(x_39); -x_42 = lean_ctor_get(x_1, 0); -lean_inc(x_42); -x_43 = lean_apply_1(x_41, x_42); -x_44 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_44, 0, x_43); -lean_ctor_set(x_44, 1, x_36); -x_45 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__2(x_1, x_37, x_3, x_4, x_5, x_6, x_7, x_8, x_40); -if (lean_obj_tag(x_45) == 0) -{ -lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; -x_46 = lean_ctor_get(x_45, 0); -lean_inc(x_46); -x_47 = lean_ctor_get(x_45, 1); -lean_inc(x_47); -if (lean_is_exclusive(x_45)) { - lean_ctor_release(x_45, 0); - lean_ctor_release(x_45, 1); - x_48 = x_45; -} else { - lean_dec_ref(x_45); - x_48 = lean_box(0); -} -x_49 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_49, 0, x_44); -lean_ctor_set(x_49, 1, x_46); -if (lean_is_scalar(x_48)) { - x_50 = lean_alloc_ctor(0, 2, 0); -} else { - x_50 = x_48; -} -lean_ctor_set(x_50, 0, x_49); -lean_ctor_set(x_50, 1, x_47); -return x_50; +lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_31 = lean_ctor_get(x_30, 0); +lean_inc(x_31); +x_32 = lean_ctor_get(x_30, 1); +lean_inc(x_32); +lean_dec(x_30); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +lean_dec(x_31); +x_34 = lean_ctor_get(x_1, 0); +lean_inc(x_34); +x_35 = lean_apply_1(x_33, x_34); +x_36 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_36, 0, x_35); +lean_ctor_set(x_36, 1, x_28); +x_37 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_37, 0, x_36); +lean_ctor_set(x_37, 1, x_3); +x_2 = x_29; +x_3 = x_37; +x_10 = x_32; +goto _start; } else { -lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; -lean_dec(x_44); -x_51 = lean_ctor_get(x_45, 0); -lean_inc(x_51); -x_52 = lean_ctor_get(x_45, 1); -lean_inc(x_52); -if (lean_is_exclusive(x_45)) { - lean_ctor_release(x_45, 0); - lean_ctor_release(x_45, 1); - x_53 = x_45; -} else { - lean_dec_ref(x_45); - x_53 = lean_box(0); -} -if (lean_is_scalar(x_53)) { - x_54 = lean_alloc_ctor(1, 2, 0); -} else { - x_54 = x_53; -} -lean_ctor_set(x_54, 0, x_51); -lean_ctor_set(x_54, 1, x_52); -return x_54; -} -} -else -{ -lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; -lean_dec(x_37); -lean_dec(x_36); +lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; +lean_dec(x_29); +lean_dec(x_28); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -38327,26 +38144,26 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_55 = lean_ctor_get(x_38, 0); -lean_inc(x_55); -x_56 = lean_ctor_get(x_38, 1); -lean_inc(x_56); -if (lean_is_exclusive(x_38)) { - lean_ctor_release(x_38, 0); - lean_ctor_release(x_38, 1); - x_57 = x_38; +x_39 = lean_ctor_get(x_30, 0); +lean_inc(x_39); +x_40 = lean_ctor_get(x_30, 1); +lean_inc(x_40); +if (lean_is_exclusive(x_30)) { + lean_ctor_release(x_30, 0); + lean_ctor_release(x_30, 1); + x_41 = x_30; } else { - lean_dec_ref(x_38); - x_57 = lean_box(0); + lean_dec_ref(x_30); + x_41 = lean_box(0); } -if (lean_is_scalar(x_57)) { - x_58 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_41)) { + x_42 = lean_alloc_ctor(1, 2, 0); } else { - x_58 = x_57; + x_42 = x_41; } -lean_ctor_set(x_58, 0, x_55); -lean_ctor_set(x_58, 1, x_56); -return x_58; +lean_ctor_set(x_42, 0, x_39); +lean_ctor_set(x_42, 1, x_40); +return x_42; } } } @@ -40035,7 +39852,7 @@ goto _start; } } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9; @@ -40059,10 +39876,10 @@ x_11 = lean_ctor_get(x_10, 0); lean_inc(x_11); lean_dec(x_10); x_12 = lean_environment_main_module(x_11); -x_13 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_13 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_14 = l_Lean_addMacroScope(x_12, x_13, x_7); x_15 = lean_box(0); -x_16 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_16 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; x_17 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_17, 0, x_5); lean_ctor_set(x_17, 1, x_16); @@ -40083,10 +39900,10 @@ x_20 = lean_ctor_get(x_18, 0); lean_inc(x_20); lean_dec(x_18); x_21 = lean_environment_main_module(x_20); -x_22 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_22 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_23 = l_Lean_addMacroScope(x_21, x_22, x_7); x_24 = lean_box(0); -x_25 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_25 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; x_26 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_26, 0, x_5); lean_ctor_set(x_26, 1, x_25); @@ -40099,230 +39916,143 @@ return x_27; } } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___closed__1() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___lambda__1___boxed), 3, 0); +x_1 = lean_alloc_closure((void*)(l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___lambda__1___boxed), 3, 0); return x_1; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_9; lean_object* x_10; +lean_object* x_10; lean_object* x_11; +lean_dec(x_8); lean_dec(x_7); -lean_dec(x_6); -x_9 = lean_box(0); -x_10 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_10, 0, x_9); -lean_ctor_set(x_10, 1, x_8); -return x_10; +x_10 = l_List_reverse___rarg(x_2); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_10); +lean_ctor_set(x_11, 1, x_9); +return x_11; } else { -uint8_t x_11; -x_11 = !lean_is_exclusive(x_1); -if (x_11 == 0) +uint8_t x_12; +x_12 = !lean_is_exclusive(x_1); +if (x_12 == 0) { -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_12 = lean_ctor_get(x_1, 1); -x_13 = lean_ctor_get(x_1, 0); -lean_dec(x_13); -x_14 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___closed__1; +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_13 = lean_ctor_get(x_1, 1); +x_14 = lean_ctor_get(x_1, 0); +lean_dec(x_14); +x_15 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___closed__1; +lean_inc(x_8); lean_inc(x_7); -lean_inc(x_6); -x_15 = l_Lean_Core_withFreshMacroScope___rarg(x_14, x_6, x_7, x_8); -if (lean_obj_tag(x_15) == 0) +x_16 = l_Lean_Core_withFreshMacroScope___rarg(x_15, x_7, x_8, x_9); +if (lean_obj_tag(x_16) == 0) { -lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_16 = lean_ctor_get(x_15, 0); -lean_inc(x_16); -x_17 = lean_ctor_get(x_15, 1); +lean_object* x_17; lean_object* x_18; +x_17 = lean_ctor_get(x_16, 0); lean_inc(x_17); -lean_dec(x_15); -x_18 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4(x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_17); -if (lean_obj_tag(x_18) == 0) +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_17); { -uint8_t x_19; -x_19 = !lean_is_exclusive(x_18); -if (x_19 == 0) +lean_object* _tmp_0 = x_13; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_8 = x_18; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_9 = _tmp_8; +} +goto _start; +} +else { -lean_object* x_20; -x_20 = lean_ctor_get(x_18, 0); -lean_ctor_set(x_1, 1, x_20); -lean_ctor_set(x_1, 0, x_16); -lean_ctor_set(x_18, 0, x_1); -return x_18; +uint8_t x_20; +lean_free_object(x_1); +lean_dec(x_13); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_2); +x_20 = !lean_is_exclusive(x_16); +if (x_20 == 0) +{ +return x_16; } else { lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_21 = lean_ctor_get(x_18, 0); -x_22 = lean_ctor_get(x_18, 1); +x_21 = lean_ctor_get(x_16, 0); +x_22 = lean_ctor_get(x_16, 1); lean_inc(x_22); lean_inc(x_21); -lean_dec(x_18); -lean_ctor_set(x_1, 1, x_21); -lean_ctor_set(x_1, 0, x_16); -x_23 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_23, 0, x_1); +lean_dec(x_16); +x_23 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_23, 0, x_21); lean_ctor_set(x_23, 1, x_22); return x_23; } } -else -{ -uint8_t x_24; -lean_dec(x_16); -lean_free_object(x_1); -x_24 = !lean_is_exclusive(x_18); -if (x_24 == 0) -{ -return x_18; } else { -lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = lean_ctor_get(x_18, 0); -x_26 = lean_ctor_get(x_18, 1); -lean_inc(x_26); -lean_inc(x_25); -lean_dec(x_18); -x_27 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_27, 0, x_25); -lean_ctor_set(x_27, 1, x_26); -return x_27; -} -} -} -else -{ -uint8_t x_28; -lean_free_object(x_1); -lean_dec(x_12); -lean_dec(x_7); -lean_dec(x_6); -x_28 = !lean_is_exclusive(x_15); -if (x_28 == 0) -{ -return x_15; -} -else -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_15, 0); -x_30 = lean_ctor_get(x_15, 1); -lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_15); -x_31 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_31, 0, x_29); -lean_ctor_set(x_31, 1, x_30); -return x_31; -} -} -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_1, 1); -lean_inc(x_32); +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_1, 1); +lean_inc(x_24); lean_dec(x_1); -x_33 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___closed__1; +x_25 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___closed__1; +lean_inc(x_8); lean_inc(x_7); -lean_inc(x_6); -x_34 = l_Lean_Core_withFreshMacroScope___rarg(x_33, x_6, x_7, x_8); -if (lean_obj_tag(x_34) == 0) +x_26 = l_Lean_Core_withFreshMacroScope___rarg(x_25, x_7, x_8, x_9); +if (lean_obj_tag(x_26) == 0) { -lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -x_36 = lean_ctor_get(x_34, 1); -lean_inc(x_36); -lean_dec(x_34); -x_37 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4(x_32, x_2, x_3, x_4, x_5, x_6, x_7, x_36); -if (lean_obj_tag(x_37) == 0) -{ -lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_38 = lean_ctor_get(x_37, 0); -lean_inc(x_38); -x_39 = lean_ctor_get(x_37, 1); -lean_inc(x_39); -if (lean_is_exclusive(x_37)) { - lean_ctor_release(x_37, 0); - lean_ctor_release(x_37, 1); - x_40 = x_37; -} else { - lean_dec_ref(x_37); - x_40 = lean_box(0); -} -x_41 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_41, 0, x_35); -lean_ctor_set(x_41, 1, x_38); -if (lean_is_scalar(x_40)) { - x_42 = lean_alloc_ctor(0, 2, 0); -} else { - x_42 = x_40; -} -lean_ctor_set(x_42, 0, x_41); -lean_ctor_set(x_42, 1, x_39); -return x_42; +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_26, 0); +lean_inc(x_27); +x_28 = lean_ctor_get(x_26, 1); +lean_inc(x_28); +lean_dec(x_26); +x_29 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_29, 0, x_27); +lean_ctor_set(x_29, 1, x_2); +x_1 = x_24; +x_2 = x_29; +x_9 = x_28; +goto _start; } else { -lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; -lean_dec(x_35); -x_43 = lean_ctor_get(x_37, 0); -lean_inc(x_43); -x_44 = lean_ctor_get(x_37, 1); -lean_inc(x_44); -if (lean_is_exclusive(x_37)) { - lean_ctor_release(x_37, 0); - lean_ctor_release(x_37, 1); - x_45 = x_37; -} else { - lean_dec_ref(x_37); - x_45 = lean_box(0); -} -if (lean_is_scalar(x_45)) { - x_46 = lean_alloc_ctor(1, 2, 0); -} else { - x_46 = x_45; -} -lean_ctor_set(x_46, 0, x_43); -lean_ctor_set(x_46, 1, x_44); -return x_46; -} -} -else -{ -lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; -lean_dec(x_32); +lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; +lean_dec(x_24); +lean_dec(x_8); lean_dec(x_7); -lean_dec(x_6); -x_47 = lean_ctor_get(x_34, 0); -lean_inc(x_47); -x_48 = lean_ctor_get(x_34, 1); -lean_inc(x_48); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_49 = x_34; +lean_dec(x_2); +x_31 = lean_ctor_get(x_26, 0); +lean_inc(x_31); +x_32 = lean_ctor_get(x_26, 1); +lean_inc(x_32); +if (lean_is_exclusive(x_26)) { + lean_ctor_release(x_26, 0); + lean_ctor_release(x_26, 1); + x_33 = x_26; } else { - lean_dec_ref(x_34); - x_49 = lean_box(0); + lean_dec_ref(x_26); + x_33 = lean_box(0); } -if (lean_is_scalar(x_49)) { - x_50 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_33)) { + x_34 = lean_alloc_ctor(1, 2, 0); } else { - x_50 = x_49; + x_34 = x_33; } -lean_ctor_set(x_50, 0, x_47); -lean_ctor_set(x_50, 1, x_48); -return x_50; +lean_ctor_set(x_34, 0, x_31); +lean_ctor_set(x_34, 1, x_32); +return x_34; } } } @@ -41055,181 +40785,175 @@ x_15 = l_Lean_Core_withFreshMacroScope___rarg(x_14, x_9, x_10, x_11); return x_15; } } -static lean_object* _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__3___closed__1() { +LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__24; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: +uint8_t x_14; +x_14 = l_Array_isEmpty___rarg(x_2); +if (x_14 == 0) { -uint8_t x_13; -x_13 = l_Array_isEmpty___rarg(x_2); -if (x_13 == 0) -{ -lean_object* x_14; +lean_object* x_15; +lean_inc(x_12); lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_1); -x_14 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4(x_1, x_6, x_7, x_8, x_9, x_10, x_11, 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; lean_object* x_20; lean_object* x_21; lean_object* x_22; size_t x_23; size_t x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; 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; size_t x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; -x_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_unsigned_to_nat(0u); -x_18 = l_List_lengthTRAux___rarg(x_5, x_17); -x_19 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_noOpMatchAdaptPats___closed__3; -x_20 = l_List_replicateTR___rarg(x_18, x_19); -lean_inc(x_15); -x_21 = l_List_appendTR___rarg(x_20, x_15); -x_22 = lean_array_get_size(x_2); -x_23 = lean_usize_of_nat(x_22); -lean_dec(x_22); -x_24 = 0; -lean_inc(x_10); lean_inc(x_3); -x_25 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__5(x_3, x_23, x_24, x_2, x_6, x_7, x_8, x_9, x_10, x_11, x_16); -x_26 = lean_ctor_get(x_25, 0); -lean_inc(x_26); -x_27 = lean_ctor_get(x_25, 1); +lean_inc(x_1); +x_15 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4(x_1, x_3, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_15) == 0) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; size_t 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; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; 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_object* x_68; lean_object* x_69; size_t x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; +x_16 = lean_ctor_get(x_15, 0); +lean_inc(x_16); +x_17 = lean_ctor_get(x_15, 1); +lean_inc(x_17); +lean_dec(x_15); +x_18 = lean_unsigned_to_nat(0u); +x_19 = l_List_lengthTRAux___rarg(x_6, x_18); +x_20 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_noOpMatchAdaptPats___closed__3; +x_21 = l_List_replicateTR___rarg(x_19, x_20); +lean_inc(x_16); +x_22 = l_List_appendTR___rarg(x_21, x_16); +x_23 = lean_array_get_size(x_2); +x_24 = lean_usize_of_nat(x_23); +lean_dec(x_23); +x_25 = 0; +lean_inc(x_11); +lean_inc(x_4); +x_26 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__5(x_4, x_24, x_25, x_2, x_7, x_8, x_9, x_10, x_11, x_12, x_17); +x_27 = lean_ctor_get(x_26, 0); lean_inc(x_27); -lean_dec(x_25); -lean_inc(x_10); -x_28 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(x_10, x_11, x_27); -x_29 = lean_ctor_get(x_28, 0); -lean_inc(x_29); -x_30 = lean_ctor_get(x_28, 1); +x_28 = lean_ctor_get(x_26, 1); +lean_inc(x_28); +lean_dec(x_26); +lean_inc(x_11); +x_29 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(x_11, x_12, x_28); +x_30 = lean_ctor_get(x_29, 0); lean_inc(x_30); -lean_dec(x_28); -x_31 = lean_ctor_get(x_10, 10); +x_31 = lean_ctor_get(x_29, 1); lean_inc(x_31); -x_32 = lean_st_ref_get(x_11, x_30); -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); -x_34 = lean_ctor_get(x_32, 1); +lean_dec(x_29); +x_32 = lean_ctor_get(x_11, 10); +lean_inc(x_32); +x_33 = lean_st_ref_get(x_12, x_31); +x_34 = lean_ctor_get(x_33, 0); lean_inc(x_34); -lean_dec(x_32); -x_35 = lean_ctor_get(x_33, 0); +x_35 = lean_ctor_get(x_33, 1); lean_inc(x_35); lean_dec(x_33); -x_36 = lean_environment_main_module(x_35); -x_37 = lean_box(0); +x_36 = lean_ctor_get(x_34, 0); +lean_inc(x_36); +lean_dec(x_34); +x_37 = lean_environment_main_module(x_36); x_38 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__16; -lean_inc(x_29); +lean_inc(x_30); x_39 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_39, 0, x_29); +lean_ctor_set(x_39, 0, x_30); lean_ctor_set(x_39, 1, x_38); x_40 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__14; -lean_inc(x_3); -lean_inc(x_29); +lean_inc(x_4); +lean_inc(x_30); x_41 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_41, 0, x_29); +lean_ctor_set(x_41, 0, x_30); lean_ctor_set(x_41, 1, x_40); -lean_ctor_set(x_41, 2, x_3); -x_42 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; -x_43 = l_Lean_addMacroScope(x_36, x_42, x_31); -x_44 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; -lean_inc(x_29); +lean_ctor_set(x_41, 2, x_4); +x_42 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_43 = l_Lean_addMacroScope(x_37, x_42, x_32); +x_44 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +lean_inc(x_3); +lean_inc(x_30); x_45 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_45, 0, x_29); +lean_ctor_set(x_45, 0, x_30); lean_ctor_set(x_45, 1, x_44); lean_ctor_set(x_45, 2, x_43); -lean_ctor_set(x_45, 3, x_37); +lean_ctor_set(x_45, 3, x_3); x_46 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getSepStxFromSplice___lambda__1___closed__14; lean_inc(x_41); x_47 = lean_array_push(x_46, x_41); lean_inc(x_47); x_48 = lean_array_push(x_47, x_45); x_49 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___closed__44; -lean_inc(x_29); +lean_inc(x_30); x_50 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_50, 0, x_29); +lean_ctor_set(x_50, 0, x_30); lean_ctor_set(x_50, 1, x_49); lean_ctor_set(x_50, 2, x_48); x_51 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__18; -lean_inc(x_29); +lean_inc(x_30); x_52 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_52, 0, x_29); +lean_ctor_set(x_52, 0, x_30); lean_ctor_set(x_52, 1, x_51); x_53 = lean_array_push(x_46, x_50); x_54 = lean_array_push(x_53, x_52); -x_55 = l_List_redLength___rarg(x_15); +x_55 = l_List_redLength___rarg(x_16); x_56 = lean_mk_empty_array_with_capacity(x_55); lean_dec(x_55); -x_57 = l_List_toArrayAux___rarg(x_15, x_56); +x_57 = l_List_toArrayAux___rarg(x_16, x_56); x_58 = lean_array_get_size(x_57); x_59 = lean_usize_of_nat(x_58); lean_dec(x_58); -lean_inc(x_29); -x_60 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__6(x_29, x_49, x_47, x_59, x_24, x_57); +lean_inc(x_30); +x_60 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__6(x_30, x_49, x_47, x_59, x_25, x_57); x_61 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__19; x_62 = l_Lean_mkSepArray(x_60, x_61); lean_dec(x_60); x_63 = l_Array_append___rarg(x_54, x_62); -lean_inc(x_29); +lean_inc(x_30); x_64 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_64, 0, x_29); +lean_ctor_set(x_64, 0, x_30); lean_ctor_set(x_64, 1, x_40); lean_ctor_set(x_64, 2, x_63); x_65 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__20; -lean_inc(x_29); +lean_inc(x_30); x_66 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_66, 0, x_29); +lean_ctor_set(x_66, 0, x_30); lean_ctor_set(x_66, 1, x_65); -x_67 = lean_array_get_size(x_26); -x_68 = lean_usize_of_nat(x_67); -lean_dec(x_67); -x_69 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__3___closed__1; -x_70 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__7(x_69, x_68, x_24, x_26); -x_71 = l_Array_append___rarg(x_3, x_70); -lean_inc(x_29); -x_72 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_72, 0, x_29); -lean_ctor_set(x_72, 1, x_40); -lean_ctor_set(x_72, 2, x_71); -x_73 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__18; -x_74 = lean_array_push(x_73, x_72); -x_75 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__22; -lean_inc(x_29); -x_76 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_76, 0, x_29); -lean_ctor_set(x_76, 1, x_75); -lean_ctor_set(x_76, 2, x_74); -x_77 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__30; -x_78 = lean_array_push(x_77, x_39); +x_67 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__24; +x_68 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_68, 0, x_67); +lean_ctor_set(x_68, 1, x_3); +x_69 = lean_array_get_size(x_27); +x_70 = lean_usize_of_nat(x_69); +lean_dec(x_69); +x_71 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__7(x_68, x_70, x_25, x_27); +lean_dec(x_68); +x_72 = l_Array_append___rarg(x_4, x_71); +lean_inc(x_30); +x_73 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_73, 0, x_30); +lean_ctor_set(x_73, 1, x_40); +lean_ctor_set(x_73, 2, x_72); +x_74 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__18; +x_75 = lean_array_push(x_74, x_73); +x_76 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__22; +lean_inc(x_30); +x_77 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_77, 0, x_30); +lean_ctor_set(x_77, 1, x_76); +lean_ctor_set(x_77, 2, x_75); +x_78 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__30; +x_79 = lean_array_push(x_78, x_39); lean_inc(x_41); -x_79 = lean_array_push(x_78, x_41); x_80 = lean_array_push(x_79, x_41); -x_81 = lean_array_push(x_80, x_64); -x_82 = lean_array_push(x_81, x_66); -x_83 = lean_array_push(x_82, x_76); -x_84 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__17; -x_85 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_85, 0, x_29); -lean_ctor_set(x_85, 1, x_84); -lean_ctor_set(x_85, 2, x_83); -x_86 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_86, 0, x_21); +x_81 = lean_array_push(x_80, x_41); +x_82 = lean_array_push(x_81, x_64); +x_83 = lean_array_push(x_82, x_66); +x_84 = lean_array_push(x_83, x_77); +x_85 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__25___lambda__3___closed__17; +x_86 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_86, 0, x_30); lean_ctor_set(x_86, 1, x_85); -x_87 = lean_array_push(x_4, x_86); -x_88 = lean_box(0); -x_89 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__2(x_5, x_1, x_87, x_88, x_6, x_7, x_8, x_9, x_10, x_11, x_34); -return x_89; +lean_ctor_set(x_86, 2, x_84); +x_87 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_87, 0, x_22); +lean_ctor_set(x_87, 1, x_86); +x_88 = lean_array_push(x_5, x_87); +x_89 = lean_box(0); +x_90 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__2(x_6, x_1, x_88, x_89, x_7, x_8, x_9, x_10, x_11, x_12, x_35); +return x_90; } else { -uint8_t x_90; +uint8_t x_91; +lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); @@ -41241,34 +40965,35 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_90 = !lean_is_exclusive(x_14); -if (x_90 == 0) +x_91 = !lean_is_exclusive(x_15); +if (x_91 == 0) { -return x_14; +return x_15; } else { -lean_object* x_91; lean_object* x_92; lean_object* x_93; -x_91 = lean_ctor_get(x_14, 0); -x_92 = lean_ctor_get(x_14, 1); +lean_object* x_92; lean_object* x_93; lean_object* x_94; +x_92 = lean_ctor_get(x_15, 0); +x_93 = lean_ctor_get(x_15, 1); +lean_inc(x_93); lean_inc(x_92); -lean_inc(x_91); -lean_dec(x_14); -x_93 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_93, 0, x_91); -lean_ctor_set(x_93, 1, x_92); -return x_93; +lean_dec(x_15); +x_94 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_94, 0, x_92); +lean_ctor_set(x_94, 1, x_93); +return x_94; } } } else { -lean_object* x_94; lean_object* x_95; +lean_object* x_95; lean_object* x_96; +lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_94 = lean_box(0); -x_95 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__2(x_5, x_1, x_4, x_94, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -return x_95; +x_95 = lean_box(0); +x_96 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__2(x_6, x_1, x_5, x_95, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +return x_96; } } } @@ -41511,12 +41236,13 @@ lean_inc(x_39); x_41 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo(x_39, x_4, x_5, x_6, x_7, x_8, x_9, x_10); if (lean_obj_tag(x_41) == 0) { -lean_object* x_42; lean_object* x_43; lean_object* x_44; +lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; x_42 = lean_ctor_get(x_41, 0); lean_inc(x_42); x_43 = lean_ctor_get(x_41, 1); lean_inc(x_43); lean_dec(x_41); +x_44 = lean_box(0); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); @@ -41524,36 +41250,33 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_42); -x_44 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__2(x_42, x_2, x_4, x_5, x_6, x_7, x_8, x_9, x_43); -if (lean_obj_tag(x_44) == 0) +x_45 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__2(x_42, x_2, x_44, x_4, x_5, x_6, x_7, x_8, x_9, x_43); +if (lean_obj_tag(x_45) == 0) { -lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_45 = lean_ctor_get(x_44, 0); -lean_inc(x_45); -x_46 = lean_ctor_get(x_44, 1); +lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_46 = lean_ctor_get(x_45, 0); lean_inc(x_46); -lean_dec(x_44); -x_47 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__5___closed__8; +x_47 = lean_ctor_get(x_45, 1); +lean_inc(x_47); +lean_dec(x_45); +x_48 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__5___closed__8; 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_48 = l_List_forIn_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__3(x_45, x_47, x_4, x_5, x_6, x_7, x_8, x_9, x_46); -if (lean_obj_tag(x_48) == 0) +x_49 = l_List_forIn_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__3(x_46, x_48, x_4, x_5, x_6, x_7, x_8, x_9, x_47); +if (lean_obj_tag(x_49) == 0) { -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; -x_49 = lean_ctor_get(x_48, 0); -lean_inc(x_49); -x_50 = 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; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; +x_50 = lean_ctor_get(x_49, 0); lean_inc(x_50); x_51 = lean_ctor_get(x_50, 1); lean_inc(x_51); -x_52 = lean_ctor_get(x_48, 1); +x_52 = lean_ctor_get(x_51, 1); lean_inc(x_52); -lean_dec(x_48); -x_53 = lean_ctor_get(x_49, 0); +x_53 = lean_ctor_get(x_49, 1); lean_inc(x_53); lean_dec(x_49); x_54 = lean_ctor_get(x_50, 0); @@ -41561,101 +41284,104 @@ lean_inc(x_54); lean_dec(x_50); x_55 = lean_ctor_get(x_51, 0); lean_inc(x_55); -x_56 = lean_ctor_get(x_51, 1); -lean_inc(x_56); lean_dec(x_51); -x_57 = lean_ctor_get(x_42, 2); +x_56 = lean_ctor_get(x_52, 0); +lean_inc(x_56); +x_57 = lean_ctor_get(x_52, 1); lean_inc(x_57); +lean_dec(x_52); +x_58 = lean_ctor_get(x_42, 2); +lean_inc(x_58); lean_dec(x_42); -x_58 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__15; +x_59 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__15; lean_inc(x_38); -x_59 = lean_alloc_closure((void*)(l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__3), 12, 4); -lean_closure_set(x_59, 0, x_38); -lean_closure_set(x_59, 1, x_55); -lean_closure_set(x_59, 2, x_58); -lean_closure_set(x_59, 3, x_56); +x_60 = lean_alloc_closure((void*)(l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__3), 13, 5); +lean_closure_set(x_60, 0, x_38); +lean_closure_set(x_60, 1, x_56); +lean_closure_set(x_60, 2, x_44); +lean_closure_set(x_60, 3, x_59); +lean_closure_set(x_60, 4, x_57); lean_inc(x_37); -x_60 = lean_array_to_list(lean_box(0), x_54); -x_61 = lean_alloc_closure((void*)(l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__4), 9, 2); -lean_closure_set(x_61, 0, x_1); -lean_closure_set(x_61, 1, x_60); +x_61 = lean_array_to_list(lean_box(0), x_55); +x_62 = lean_alloc_closure((void*)(l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__4), 9, 2); +lean_closure_set(x_62, 0, x_1); +lean_closure_set(x_62, 1, x_61); 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_62 = lean_apply_9(x_57, x_59, x_61, x_4, x_5, x_6, x_7, x_8, x_9, x_52); -if (lean_obj_tag(x_62) == 0) +x_63 = lean_apply_9(x_58, x_60, x_62, x_4, x_5, x_6, x_7, x_8, x_9, x_53); +if (lean_obj_tag(x_63) == 0) { -lean_object* x_63; lean_object* x_64; lean_object* x_65; size_t x_66; size_t x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; uint8_t x_76; -x_63 = lean_ctor_get(x_62, 0); -lean_inc(x_63); -x_64 = lean_ctor_get(x_62, 1); +lean_object* x_64; lean_object* x_65; lean_object* x_66; size_t x_67; size_t x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; uint8_t x_77; +x_64 = lean_ctor_get(x_63, 0); lean_inc(x_64); -lean_dec(x_62); -x_65 = lean_array_get_size(x_53); -x_66 = lean_usize_of_nat(x_65); -lean_dec(x_65); -x_67 = 0; +x_65 = lean_ctor_get(x_63, 1); +lean_inc(x_65); +lean_dec(x_63); +x_66 = lean_array_get_size(x_54); +x_67 = lean_usize_of_nat(x_66); +lean_dec(x_66); +x_68 = 0; lean_inc(x_8); -x_68 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__8(x_53, x_66, x_67, x_63, x_4, x_5, x_6, x_7, x_8, x_9, x_64); +x_69 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__8(x_54, x_67, x_68, x_64, x_4, x_5, x_6, x_7, x_8, x_9, x_65); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_53); -x_69 = lean_ctor_get(x_68, 0); -lean_inc(x_69); -x_70 = lean_ctor_get(x_68, 1); +lean_dec(x_54); +x_70 = lean_ctor_get(x_69, 0); lean_inc(x_70); -lean_dec(x_68); +x_71 = lean_ctor_get(x_69, 1); +lean_inc(x_71); +lean_dec(x_69); lean_inc(x_8); -x_71 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(x_8, x_9, x_70); -x_72 = lean_ctor_get(x_71, 0); -lean_inc(x_72); -x_73 = lean_ctor_get(x_71, 1); +x_72 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(x_8, x_9, x_71); +x_73 = lean_ctor_get(x_72, 0); lean_inc(x_73); -lean_dec(x_71); -x_74 = lean_ctor_get(x_8, 10); +x_74 = lean_ctor_get(x_72, 1); lean_inc(x_74); +lean_dec(x_72); +x_75 = lean_ctor_get(x_8, 10); +lean_inc(x_75); lean_dec(x_8); -x_75 = lean_st_ref_get(x_9, x_73); +x_76 = lean_st_ref_get(x_9, x_74); lean_dec(x_9); -x_76 = !lean_is_exclusive(x_75); -if (x_76 == 0) +x_77 = !lean_is_exclusive(x_76); +if (x_77 == 0) { -lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; -x_77 = lean_ctor_get(x_75, 0); -x_78 = lean_ctor_get(x_77, 0); -lean_inc(x_78); -lean_dec(x_77); -x_79 = lean_environment_main_module(x_78); -x_80 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__7; -lean_inc(x_72); -x_81 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_81, 0, x_72); -lean_ctor_set(x_81, 1, x_80); -x_82 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; -x_83 = l_Lean_addMacroScope(x_79, x_82, x_74); -x_84 = lean_box(0); -x_85 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; -lean_inc(x_72); +lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; +x_78 = lean_ctor_get(x_76, 0); +x_79 = lean_ctor_get(x_78, 0); +lean_inc(x_79); +lean_dec(x_78); +x_80 = lean_environment_main_module(x_79); +x_81 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__7; +lean_inc(x_73); +x_82 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_82, 0, x_73); +lean_ctor_set(x_82, 1, x_81); +x_83 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_84 = l_Lean_addMacroScope(x_80, x_83, x_75); +x_85 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +lean_inc(x_73); x_86 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_86, 0, x_72); +lean_ctor_set(x_86, 0, x_73); lean_ctor_set(x_86, 1, x_85); -lean_ctor_set(x_86, 2, x_83); -lean_ctor_set(x_86, 3, x_84); +lean_ctor_set(x_86, 2, x_84); +lean_ctor_set(x_86, 3, x_44); x_87 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__14; -lean_inc(x_72); +lean_inc(x_73); x_88 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_88, 0, x_72); +lean_ctor_set(x_88, 0, x_73); lean_ctor_set(x_88, 1, x_87); -lean_ctor_set(x_88, 2, x_58); +lean_ctor_set(x_88, 2, x_59); x_89 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__16; -lean_inc(x_72); +lean_inc(x_73); x_90 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_90, 0, x_72); +lean_ctor_set(x_90, 0, x_73); lean_ctor_set(x_90, 1, x_89); x_91 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__17; x_92 = lean_array_push(x_91, x_86); @@ -41665,121 +41391,120 @@ x_94 = lean_array_push(x_93, x_88); x_95 = lean_array_push(x_94, x_90); x_96 = lean_array_push(x_95, x_37); x_97 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__12; -lean_inc(x_72); +lean_inc(x_73); x_98 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_98, 0, x_72); +lean_ctor_set(x_98, 0, x_73); lean_ctor_set(x_98, 1, x_97); lean_ctor_set(x_98, 2, x_96); x_99 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__18; x_100 = lean_array_push(x_99, x_98); x_101 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__10; -lean_inc(x_72); +lean_inc(x_73); x_102 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_102, 0, x_72); +lean_ctor_set(x_102, 0, x_73); lean_ctor_set(x_102, 1, x_101); lean_ctor_set(x_102, 2, x_100); x_103 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__19; -lean_inc(x_72); +lean_inc(x_73); x_104 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_104, 0, x_72); +lean_ctor_set(x_104, 0, x_73); lean_ctor_set(x_104, 1, x_103); x_105 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__20; -x_106 = lean_array_push(x_105, x_81); +x_106 = lean_array_push(x_105, x_82); x_107 = lean_array_push(x_106, x_102); x_108 = lean_array_push(x_107, x_104); -x_109 = lean_array_push(x_108, x_69); +x_109 = lean_array_push(x_108, x_70); x_110 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__8; x_111 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_111, 0, x_72); +lean_ctor_set(x_111, 0, x_73); lean_ctor_set(x_111, 1, x_110); lean_ctor_set(x_111, 2, x_109); -lean_ctor_set(x_75, 0, x_111); -return x_75; +lean_ctor_set(x_76, 0, x_111); +return x_76; } else { -lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; -x_112 = lean_ctor_get(x_75, 0); -x_113 = lean_ctor_get(x_75, 1); +lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; +x_112 = lean_ctor_get(x_76, 0); +x_113 = lean_ctor_get(x_76, 1); lean_inc(x_113); lean_inc(x_112); -lean_dec(x_75); +lean_dec(x_76); x_114 = lean_ctor_get(x_112, 0); lean_inc(x_114); lean_dec(x_112); x_115 = lean_environment_main_module(x_114); x_116 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__7; -lean_inc(x_72); +lean_inc(x_73); x_117 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_117, 0, x_72); +lean_ctor_set(x_117, 0, x_73); lean_ctor_set(x_117, 1, x_116); -x_118 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; -x_119 = l_Lean_addMacroScope(x_115, x_118, x_74); -x_120 = lean_box(0); -x_121 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; -lean_inc(x_72); -x_122 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_122, 0, x_72); -lean_ctor_set(x_122, 1, x_121); -lean_ctor_set(x_122, 2, x_119); -lean_ctor_set(x_122, 3, x_120); -x_123 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__14; -lean_inc(x_72); -x_124 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_124, 0, x_72); -lean_ctor_set(x_124, 1, x_123); -lean_ctor_set(x_124, 2, x_58); -x_125 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__16; -lean_inc(x_72); -x_126 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_126, 0, x_72); -lean_ctor_set(x_126, 1, x_125); -x_127 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__17; -x_128 = lean_array_push(x_127, x_122); -lean_inc(x_124); -x_129 = lean_array_push(x_128, x_124); -x_130 = lean_array_push(x_129, x_124); -x_131 = lean_array_push(x_130, x_126); -x_132 = lean_array_push(x_131, x_37); -x_133 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__12; -lean_inc(x_72); -x_134 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_134, 0, x_72); -lean_ctor_set(x_134, 1, x_133); -lean_ctor_set(x_134, 2, x_132); -x_135 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__18; -x_136 = lean_array_push(x_135, x_134); -x_137 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__10; -lean_inc(x_72); -x_138 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_138, 0, x_72); -lean_ctor_set(x_138, 1, x_137); -lean_ctor_set(x_138, 2, x_136); -x_139 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__19; -lean_inc(x_72); -x_140 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_140, 0, x_72); -lean_ctor_set(x_140, 1, x_139); -x_141 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__20; -x_142 = lean_array_push(x_141, x_117); -x_143 = lean_array_push(x_142, x_138); -x_144 = lean_array_push(x_143, x_140); -x_145 = lean_array_push(x_144, x_69); -x_146 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__8; -x_147 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_147, 0, x_72); -lean_ctor_set(x_147, 1, x_146); -lean_ctor_set(x_147, 2, x_145); -x_148 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_148, 0, x_147); -lean_ctor_set(x_148, 1, x_113); -return x_148; +x_118 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_119 = l_Lean_addMacroScope(x_115, x_118, x_75); +x_120 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +lean_inc(x_73); +x_121 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_121, 0, x_73); +lean_ctor_set(x_121, 1, x_120); +lean_ctor_set(x_121, 2, x_119); +lean_ctor_set(x_121, 3, x_44); +x_122 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__14; +lean_inc(x_73); +x_123 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_123, 0, x_73); +lean_ctor_set(x_123, 1, x_122); +lean_ctor_set(x_123, 2, x_59); +x_124 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__16; +lean_inc(x_73); +x_125 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_125, 0, x_73); +lean_ctor_set(x_125, 1, x_124); +x_126 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__17; +x_127 = lean_array_push(x_126, x_121); +lean_inc(x_123); +x_128 = lean_array_push(x_127, x_123); +x_129 = lean_array_push(x_128, x_123); +x_130 = lean_array_push(x_129, x_125); +x_131 = lean_array_push(x_130, x_37); +x_132 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__12; +lean_inc(x_73); +x_133 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_133, 0, x_73); +lean_ctor_set(x_133, 1, x_132); +lean_ctor_set(x_133, 2, x_131); +x_134 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__18; +x_135 = lean_array_push(x_134, x_133); +x_136 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__10; +lean_inc(x_73); +x_137 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_137, 0, x_73); +lean_ctor_set(x_137, 1, x_136); +lean_ctor_set(x_137, 2, x_135); +x_138 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__19; +lean_inc(x_73); +x_139 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_139, 0, x_73); +lean_ctor_set(x_139, 1, x_138); +x_140 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__20; +x_141 = lean_array_push(x_140, x_117); +x_142 = lean_array_push(x_141, x_137); +x_143 = lean_array_push(x_142, x_139); +x_144 = lean_array_push(x_143, x_70); +x_145 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__8; +x_146 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_146, 0, x_73); +lean_ctor_set(x_146, 1, x_145); +lean_ctor_set(x_146, 2, x_144); +x_147 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_147, 0, x_146); +lean_ctor_set(x_147, 1, x_113); +return x_147; } } else { -uint8_t x_149; -lean_dec(x_53); +uint8_t x_148; +lean_dec(x_54); lean_dec(x_37); lean_dec(x_9); lean_dec(x_8); @@ -41787,29 +41512,29 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_149 = !lean_is_exclusive(x_62); -if (x_149 == 0) +x_148 = !lean_is_exclusive(x_63); +if (x_148 == 0) { -return x_62; +return x_63; } else { -lean_object* x_150; lean_object* x_151; lean_object* x_152; -x_150 = lean_ctor_get(x_62, 0); -x_151 = lean_ctor_get(x_62, 1); -lean_inc(x_151); +lean_object* x_149; lean_object* x_150; lean_object* x_151; +x_149 = lean_ctor_get(x_63, 0); +x_150 = lean_ctor_get(x_63, 1); lean_inc(x_150); -lean_dec(x_62); -x_152 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_152, 0, x_150); -lean_ctor_set(x_152, 1, x_151); -return x_152; +lean_inc(x_149); +lean_dec(x_63); +x_151 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_151, 0, x_149); +lean_ctor_set(x_151, 1, x_150); +return x_151; } } } else { -uint8_t x_153; +uint8_t x_152; lean_dec(x_42); lean_free_object(x_1); lean_dec(x_38); @@ -41820,29 +41545,29 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_153 = !lean_is_exclusive(x_48); -if (x_153 == 0) +x_152 = !lean_is_exclusive(x_49); +if (x_152 == 0) { -return x_48; +return x_49; } else { -lean_object* x_154; lean_object* x_155; lean_object* x_156; -x_154 = lean_ctor_get(x_48, 0); -x_155 = lean_ctor_get(x_48, 1); -lean_inc(x_155); +lean_object* x_153; lean_object* x_154; lean_object* x_155; +x_153 = lean_ctor_get(x_49, 0); +x_154 = lean_ctor_get(x_49, 1); lean_inc(x_154); -lean_dec(x_48); -x_156 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_156, 0, x_154); -lean_ctor_set(x_156, 1, x_155); -return x_156; +lean_inc(x_153); +lean_dec(x_49); +x_155 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_155, 0, x_153); +lean_ctor_set(x_155, 1, x_154); +return x_155; } } } else { -uint8_t x_157; +uint8_t x_156; lean_dec(x_42); lean_free_object(x_1); lean_dec(x_38); @@ -41853,29 +41578,29 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_157 = !lean_is_exclusive(x_44); -if (x_157 == 0) +x_156 = !lean_is_exclusive(x_45); +if (x_156 == 0) { -return x_44; +return x_45; } else { -lean_object* x_158; lean_object* x_159; lean_object* x_160; -x_158 = lean_ctor_get(x_44, 0); -x_159 = lean_ctor_get(x_44, 1); -lean_inc(x_159); +lean_object* x_157; lean_object* x_158; lean_object* x_159; +x_157 = lean_ctor_get(x_45, 0); +x_158 = lean_ctor_get(x_45, 1); lean_inc(x_158); -lean_dec(x_44); -x_160 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_160, 0, x_158); -lean_ctor_set(x_160, 1, x_159); -return x_160; +lean_inc(x_157); +lean_dec(x_45); +x_159 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_159, 0, x_157); +lean_ctor_set(x_159, 1, x_158); +return x_159; } } } else { -uint8_t x_161; +uint8_t x_160; lean_free_object(x_2); lean_dec(x_40); lean_dec(x_39); @@ -41888,35 +41613,35 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_161 = !lean_is_exclusive(x_41); -if (x_161 == 0) +x_160 = !lean_is_exclusive(x_41); +if (x_160 == 0) { return x_41; } else { -lean_object* x_162; lean_object* x_163; lean_object* x_164; -x_162 = lean_ctor_get(x_41, 0); -x_163 = lean_ctor_get(x_41, 1); -lean_inc(x_163); +lean_object* x_161; lean_object* x_162; lean_object* x_163; +x_161 = lean_ctor_get(x_41, 0); +x_162 = lean_ctor_get(x_41, 1); lean_inc(x_162); +lean_inc(x_161); lean_dec(x_41); -x_164 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_164, 0, x_162); -lean_ctor_set(x_164, 1, x_163); -return x_164; +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_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; -x_165 = lean_ctor_get(x_1, 0); -x_166 = lean_ctor_get(x_1, 1); -x_167 = lean_ctor_get(x_2, 0); -x_168 = lean_ctor_get(x_2, 1); -lean_inc(x_168); +lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; +x_164 = lean_ctor_get(x_1, 0); +x_165 = lean_ctor_get(x_1, 1); +x_166 = lean_ctor_get(x_2, 0); +x_167 = lean_ctor_get(x_2, 1); lean_inc(x_167); +lean_inc(x_166); lean_dec(x_2); lean_inc(x_9); lean_inc(x_8); @@ -41924,27 +41649,28 @@ lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_167); -x_169 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo(x_167, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_169) == 0) +lean_inc(x_166); +x_168 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo(x_166, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_168) == 0) { -lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; -x_170 = lean_ctor_get(x_169, 0); +lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; +x_169 = lean_ctor_get(x_168, 0); +lean_inc(x_169); +x_170 = lean_ctor_get(x_168, 1); lean_inc(x_170); -x_171 = lean_ctor_get(x_169, 1); -lean_inc(x_171); -lean_dec(x_169); -x_172 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_172, 0, x_167); -lean_ctor_set(x_172, 1, x_168); +lean_dec(x_168); +x_171 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_171, 0, x_166); +lean_ctor_set(x_171, 1, x_167); +x_172 = lean_box(0); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_170); -x_173 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__2(x_170, x_172, x_4, x_5, x_6, x_7, x_8, x_9, x_171); +lean_inc(x_169); +x_173 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__2(x_169, x_171, x_172, x_4, x_5, x_6, x_7, x_8, x_9, x_170); if (lean_obj_tag(x_173) == 0) { lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; @@ -41984,17 +41710,18 @@ lean_inc(x_184); x_185 = lean_ctor_get(x_180, 1); lean_inc(x_185); lean_dec(x_180); -x_186 = lean_ctor_get(x_170, 2); +x_186 = lean_ctor_get(x_169, 2); lean_inc(x_186); -lean_dec(x_170); +lean_dec(x_169); x_187 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__15; -lean_inc(x_166); -x_188 = lean_alloc_closure((void*)(l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__3), 12, 4); -lean_closure_set(x_188, 0, x_166); -lean_closure_set(x_188, 1, x_184); -lean_closure_set(x_188, 2, x_187); -lean_closure_set(x_188, 3, x_185); lean_inc(x_165); +x_188 = lean_alloc_closure((void*)(l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__3), 13, 5); +lean_closure_set(x_188, 0, x_165); +lean_closure_set(x_188, 1, x_184); +lean_closure_set(x_188, 2, x_172); +lean_closure_set(x_188, 3, x_187); +lean_closure_set(x_188, 4, x_185); +lean_inc(x_164); x_189 = lean_array_to_list(lean_box(0), x_183); x_190 = lean_alloc_closure((void*)(l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__4), 9, 2); lean_closure_set(x_190, 0, x_1); @@ -42008,7 +41735,7 @@ lean_inc(x_4); x_191 = lean_apply_9(x_186, x_188, x_190, x_4, x_5, x_6, x_7, x_8, x_9, x_181); if (lean_obj_tag(x_191) == 0) { -lean_object* x_192; lean_object* x_193; lean_object* x_194; size_t x_195; size_t x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; +lean_object* x_192; lean_object* x_193; lean_object* x_194; size_t x_195; size_t x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; x_192 = lean_ctor_get(x_191, 0); lean_inc(x_192); x_193 = lean_ctor_get(x_191, 1); @@ -42063,231 +41790,230 @@ lean_inc(x_201); x_211 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_211, 0, x_201); lean_ctor_set(x_211, 1, x_210); -x_212 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_212 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_213 = l_Lean_addMacroScope(x_209, x_212, x_203); -x_214 = lean_box(0); -x_215 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_214 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_201); -x_216 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_216, 0, x_201); -lean_ctor_set(x_216, 1, x_215); -lean_ctor_set(x_216, 2, x_213); -lean_ctor_set(x_216, 3, x_214); -x_217 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__14; +x_215 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_215, 0, x_201); +lean_ctor_set(x_215, 1, x_214); +lean_ctor_set(x_215, 2, x_213); +lean_ctor_set(x_215, 3, x_172); +x_216 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__14; lean_inc(x_201); -x_218 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_218, 0, x_201); -lean_ctor_set(x_218, 1, x_217); -lean_ctor_set(x_218, 2, x_187); -x_219 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__16; +x_217 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_217, 0, x_201); +lean_ctor_set(x_217, 1, x_216); +lean_ctor_set(x_217, 2, x_187); +x_218 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__16; lean_inc(x_201); -x_220 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_220, 0, x_201); -lean_ctor_set(x_220, 1, x_219); -x_221 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__17; -x_222 = lean_array_push(x_221, x_216); -lean_inc(x_218); -x_223 = lean_array_push(x_222, x_218); -x_224 = lean_array_push(x_223, x_218); -x_225 = lean_array_push(x_224, x_220); -x_226 = lean_array_push(x_225, x_165); -x_227 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__12; +x_219 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_219, 0, x_201); +lean_ctor_set(x_219, 1, x_218); +x_220 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__17; +x_221 = lean_array_push(x_220, x_215); +lean_inc(x_217); +x_222 = lean_array_push(x_221, x_217); +x_223 = lean_array_push(x_222, x_217); +x_224 = lean_array_push(x_223, x_219); +x_225 = lean_array_push(x_224, x_164); +x_226 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__12; lean_inc(x_201); -x_228 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_228, 0, x_201); -lean_ctor_set(x_228, 1, x_227); -lean_ctor_set(x_228, 2, x_226); -x_229 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__18; -x_230 = lean_array_push(x_229, x_228); -x_231 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__10; +x_227 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_227, 0, x_201); +lean_ctor_set(x_227, 1, x_226); +lean_ctor_set(x_227, 2, x_225); +x_228 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__18; +x_229 = lean_array_push(x_228, x_227); +x_230 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__10; lean_inc(x_201); -x_232 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_232, 0, x_201); -lean_ctor_set(x_232, 1, x_231); -lean_ctor_set(x_232, 2, x_230); -x_233 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__19; +x_231 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_231, 0, x_201); +lean_ctor_set(x_231, 1, x_230); +lean_ctor_set(x_231, 2, x_229); +x_232 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__19; lean_inc(x_201); -x_234 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_234, 0, x_201); -lean_ctor_set(x_234, 1, x_233); -x_235 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__20; -x_236 = lean_array_push(x_235, x_211); -x_237 = lean_array_push(x_236, x_232); -x_238 = lean_array_push(x_237, x_234); -x_239 = lean_array_push(x_238, x_198); -x_240 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__8; -x_241 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_241, 0, x_201); -lean_ctor_set(x_241, 1, x_240); -lean_ctor_set(x_241, 2, x_239); +x_233 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_233, 0, x_201); +lean_ctor_set(x_233, 1, x_232); +x_234 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__20; +x_235 = lean_array_push(x_234, x_211); +x_236 = lean_array_push(x_235, x_231); +x_237 = lean_array_push(x_236, x_233); +x_238 = lean_array_push(x_237, x_198); +x_239 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__8; +x_240 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_240, 0, x_201); +lean_ctor_set(x_240, 1, x_239); +lean_ctor_set(x_240, 2, x_238); if (lean_is_scalar(x_207)) { - x_242 = lean_alloc_ctor(0, 2, 0); + x_241 = lean_alloc_ctor(0, 2, 0); } else { - x_242 = x_207; + x_241 = x_207; } -lean_ctor_set(x_242, 0, x_241); -lean_ctor_set(x_242, 1, x_206); -return x_242; +lean_ctor_set(x_241, 0, x_240); +lean_ctor_set(x_241, 1, x_206); +return x_241; } else { -lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; +lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_dec(x_182); -lean_dec(x_165); +lean_dec(x_164); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_243 = lean_ctor_get(x_191, 0); +x_242 = lean_ctor_get(x_191, 0); +lean_inc(x_242); +x_243 = lean_ctor_get(x_191, 1); lean_inc(x_243); -x_244 = lean_ctor_get(x_191, 1); -lean_inc(x_244); if (lean_is_exclusive(x_191)) { lean_ctor_release(x_191, 0); lean_ctor_release(x_191, 1); - x_245 = x_191; + x_244 = x_191; } else { lean_dec_ref(x_191); - x_245 = lean_box(0); + x_244 = lean_box(0); } -if (lean_is_scalar(x_245)) { - x_246 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_244)) { + x_245 = lean_alloc_ctor(1, 2, 0); } else { - x_246 = x_245; + x_245 = x_244; } -lean_ctor_set(x_246, 0, x_243); -lean_ctor_set(x_246, 1, x_244); -return x_246; +lean_ctor_set(x_245, 0, x_242); +lean_ctor_set(x_245, 1, x_243); +return x_245; } } else { -lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; -lean_dec(x_170); +lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; +lean_dec(x_169); lean_free_object(x_1); -lean_dec(x_166); lean_dec(x_165); +lean_dec(x_164); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_247 = lean_ctor_get(x_177, 0); +x_246 = lean_ctor_get(x_177, 0); +lean_inc(x_246); +x_247 = lean_ctor_get(x_177, 1); lean_inc(x_247); -x_248 = lean_ctor_get(x_177, 1); -lean_inc(x_248); if (lean_is_exclusive(x_177)) { lean_ctor_release(x_177, 0); lean_ctor_release(x_177, 1); - x_249 = x_177; + x_248 = x_177; } else { lean_dec_ref(x_177); - x_249 = lean_box(0); + x_248 = lean_box(0); } -if (lean_is_scalar(x_249)) { - x_250 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_248)) { + x_249 = lean_alloc_ctor(1, 2, 0); } else { - x_250 = x_249; + x_249 = x_248; } -lean_ctor_set(x_250, 0, x_247); -lean_ctor_set(x_250, 1, x_248); -return x_250; +lean_ctor_set(x_249, 0, x_246); +lean_ctor_set(x_249, 1, x_247); +return x_249; } } else { -lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; -lean_dec(x_170); +lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; +lean_dec(x_169); lean_free_object(x_1); -lean_dec(x_166); lean_dec(x_165); +lean_dec(x_164); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_251 = lean_ctor_get(x_173, 0); +x_250 = lean_ctor_get(x_173, 0); +lean_inc(x_250); +x_251 = lean_ctor_get(x_173, 1); lean_inc(x_251); -x_252 = lean_ctor_get(x_173, 1); -lean_inc(x_252); if (lean_is_exclusive(x_173)) { lean_ctor_release(x_173, 0); lean_ctor_release(x_173, 1); - x_253 = x_173; + x_252 = x_173; } else { lean_dec_ref(x_173); - x_253 = lean_box(0); + x_252 = lean_box(0); } -if (lean_is_scalar(x_253)) { - x_254 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_252)) { + x_253 = lean_alloc_ctor(1, 2, 0); } else { - x_254 = x_253; + x_253 = x_252; } -lean_ctor_set(x_254, 0, x_251); -lean_ctor_set(x_254, 1, x_252); -return x_254; +lean_ctor_set(x_253, 0, x_250); +lean_ctor_set(x_253, 1, x_251); +return x_253; } } else { -lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; -lean_dec(x_168); +lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_dec(x_167); -lean_free_object(x_1); lean_dec(x_166); +lean_free_object(x_1); lean_dec(x_165); +lean_dec(x_164); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_255 = lean_ctor_get(x_169, 0); +x_254 = lean_ctor_get(x_168, 0); +lean_inc(x_254); +x_255 = lean_ctor_get(x_168, 1); lean_inc(x_255); -x_256 = lean_ctor_get(x_169, 1); -lean_inc(x_256); -if (lean_is_exclusive(x_169)) { - lean_ctor_release(x_169, 0); - lean_ctor_release(x_169, 1); - x_257 = x_169; +if (lean_is_exclusive(x_168)) { + lean_ctor_release(x_168, 0); + lean_ctor_release(x_168, 1); + x_256 = x_168; } else { - lean_dec_ref(x_169); - x_257 = lean_box(0); + lean_dec_ref(x_168); + x_256 = lean_box(0); } -if (lean_is_scalar(x_257)) { - x_258 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_256)) { + x_257 = lean_alloc_ctor(1, 2, 0); } else { - x_258 = x_257; + x_257 = x_256; } -lean_ctor_set(x_258, 0, x_255); -lean_ctor_set(x_258, 1, x_256); -return x_258; +lean_ctor_set(x_257, 0, x_254); +lean_ctor_set(x_257, 1, x_255); +return x_257; } } } else { -lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; -x_259 = lean_ctor_get(x_1, 0); -x_260 = lean_ctor_get(x_1, 1); -lean_inc(x_260); +lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; +x_258 = lean_ctor_get(x_1, 0); +x_259 = lean_ctor_get(x_1, 1); lean_inc(x_259); +lean_inc(x_258); lean_dec(x_1); -x_261 = lean_ctor_get(x_2, 0); +x_260 = lean_ctor_get(x_2, 0); +lean_inc(x_260); +x_261 = lean_ctor_get(x_2, 1); lean_inc(x_261); -x_262 = lean_ctor_get(x_2, 1); -lean_inc(x_262); if (lean_is_exclusive(x_2)) { lean_ctor_release(x_2, 0); lean_ctor_release(x_2, 1); - x_263 = x_2; + x_262 = x_2; } else { lean_dec_ref(x_2); - x_263 = lean_box(0); + x_262 = lean_box(0); } lean_inc(x_9); lean_inc(x_8); @@ -42295,31 +42021,32 @@ lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_261); -x_264 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo(x_261, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_264) == 0) +lean_inc(x_260); +x_263 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo(x_260, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_263) == 0) { -lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; -x_265 = lean_ctor_get(x_264, 0); +lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; +x_264 = lean_ctor_get(x_263, 0); +lean_inc(x_264); +x_265 = lean_ctor_get(x_263, 1); lean_inc(x_265); -x_266 = lean_ctor_get(x_264, 1); -lean_inc(x_266); -lean_dec(x_264); -if (lean_is_scalar(x_263)) { - x_267 = lean_alloc_ctor(1, 2, 0); +lean_dec(x_263); +if (lean_is_scalar(x_262)) { + x_266 = lean_alloc_ctor(1, 2, 0); } else { - x_267 = x_263; + x_266 = x_262; } -lean_ctor_set(x_267, 0, x_261); -lean_ctor_set(x_267, 1, x_262); +lean_ctor_set(x_266, 0, x_260); +lean_ctor_set(x_266, 1, x_261); +x_267 = lean_box(0); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_265); -x_268 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__2(x_265, x_267, x_4, x_5, x_6, x_7, x_8, x_9, x_266); +lean_inc(x_264); +x_268 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__2(x_264, x_266, x_267, x_4, x_5, x_6, x_7, x_8, x_9, x_265); if (lean_obj_tag(x_268) == 0) { lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; @@ -42359,20 +42086,21 @@ lean_inc(x_279); x_280 = lean_ctor_get(x_275, 1); lean_inc(x_280); lean_dec(x_275); -x_281 = lean_ctor_get(x_265, 2); +x_281 = lean_ctor_get(x_264, 2); lean_inc(x_281); -lean_dec(x_265); +lean_dec(x_264); x_282 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__15; -lean_inc(x_260); -x_283 = lean_alloc_closure((void*)(l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__3), 12, 4); -lean_closure_set(x_283, 0, x_260); -lean_closure_set(x_283, 1, x_279); -lean_closure_set(x_283, 2, x_282); -lean_closure_set(x_283, 3, x_280); lean_inc(x_259); +x_283 = lean_alloc_closure((void*)(l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__3), 13, 5); +lean_closure_set(x_283, 0, x_259); +lean_closure_set(x_283, 1, x_279); +lean_closure_set(x_283, 2, x_267); +lean_closure_set(x_283, 3, x_282); +lean_closure_set(x_283, 4, x_280); +lean_inc(x_258); x_284 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_284, 0, x_259); -lean_ctor_set(x_284, 1, x_260); +lean_ctor_set(x_284, 0, x_258); +lean_ctor_set(x_284, 1, x_259); x_285 = lean_array_to_list(lean_box(0), x_278); x_286 = lean_alloc_closure((void*)(l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__4), 9, 2); lean_closure_set(x_286, 0, x_284); @@ -42386,7 +42114,7 @@ lean_inc(x_4); x_287 = lean_apply_9(x_281, x_283, x_286, x_4, x_5, x_6, x_7, x_8, x_9, x_276); if (lean_obj_tag(x_287) == 0) { -lean_object* x_288; lean_object* x_289; lean_object* x_290; size_t x_291; size_t x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; lean_object* x_324; lean_object* x_325; lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; lean_object* x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; +lean_object* x_288; lean_object* x_289; lean_object* x_290; size_t x_291; size_t x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; lean_object* x_324; lean_object* x_325; lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; lean_object* x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; x_288 = lean_ctor_get(x_287, 0); lean_inc(x_288); x_289 = lean_ctor_get(x_287, 1); @@ -42441,207 +42169,206 @@ lean_inc(x_297); x_307 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_307, 0, x_297); lean_ctor_set(x_307, 1, x_306); -x_308 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; +x_308 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14; x_309 = l_Lean_addMacroScope(x_305, x_308, x_299); -x_310 = lean_box(0); -x_311 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; +x_310 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13; lean_inc(x_297); -x_312 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_312, 0, x_297); -lean_ctor_set(x_312, 1, x_311); -lean_ctor_set(x_312, 2, x_309); -lean_ctor_set(x_312, 3, x_310); -x_313 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__14; +x_311 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_311, 0, x_297); +lean_ctor_set(x_311, 1, x_310); +lean_ctor_set(x_311, 2, x_309); +lean_ctor_set(x_311, 3, x_267); +x_312 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__14; lean_inc(x_297); -x_314 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_314, 0, x_297); -lean_ctor_set(x_314, 1, x_313); -lean_ctor_set(x_314, 2, x_282); -x_315 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__16; +x_313 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_313, 0, x_297); +lean_ctor_set(x_313, 1, x_312); +lean_ctor_set(x_313, 2, x_282); +x_314 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__16; lean_inc(x_297); -x_316 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_316, 0, x_297); -lean_ctor_set(x_316, 1, x_315); -x_317 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__17; -x_318 = lean_array_push(x_317, x_312); -lean_inc(x_314); -x_319 = lean_array_push(x_318, x_314); -x_320 = lean_array_push(x_319, x_314); -x_321 = lean_array_push(x_320, x_316); -x_322 = lean_array_push(x_321, x_259); -x_323 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__12; +x_315 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_315, 0, x_297); +lean_ctor_set(x_315, 1, x_314); +x_316 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__17; +x_317 = lean_array_push(x_316, x_311); +lean_inc(x_313); +x_318 = lean_array_push(x_317, x_313); +x_319 = lean_array_push(x_318, x_313); +x_320 = lean_array_push(x_319, x_315); +x_321 = lean_array_push(x_320, x_258); +x_322 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__12; lean_inc(x_297); -x_324 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_324, 0, x_297); -lean_ctor_set(x_324, 1, x_323); -lean_ctor_set(x_324, 2, x_322); -x_325 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__18; -x_326 = lean_array_push(x_325, x_324); -x_327 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__10; +x_323 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_323, 0, x_297); +lean_ctor_set(x_323, 1, x_322); +lean_ctor_set(x_323, 2, x_321); +x_324 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__18; +x_325 = lean_array_push(x_324, x_323); +x_326 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__10; lean_inc(x_297); -x_328 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_328, 0, x_297); -lean_ctor_set(x_328, 1, x_327); -lean_ctor_set(x_328, 2, x_326); -x_329 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__19; +x_327 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_327, 0, x_297); +lean_ctor_set(x_327, 1, x_326); +lean_ctor_set(x_327, 2, x_325); +x_328 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__19; lean_inc(x_297); -x_330 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_330, 0, x_297); -lean_ctor_set(x_330, 1, x_329); -x_331 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__20; -x_332 = lean_array_push(x_331, x_307); -x_333 = lean_array_push(x_332, x_328); -x_334 = lean_array_push(x_333, x_330); -x_335 = lean_array_push(x_334, x_294); -x_336 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__8; -x_337 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_337, 0, x_297); -lean_ctor_set(x_337, 1, x_336); -lean_ctor_set(x_337, 2, x_335); +x_329 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_329, 0, x_297); +lean_ctor_set(x_329, 1, x_328); +x_330 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__20; +x_331 = lean_array_push(x_330, x_307); +x_332 = lean_array_push(x_331, x_327); +x_333 = lean_array_push(x_332, x_329); +x_334 = lean_array_push(x_333, x_294); +x_335 = l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__8; +x_336 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_336, 0, x_297); +lean_ctor_set(x_336, 1, x_335); +lean_ctor_set(x_336, 2, x_334); if (lean_is_scalar(x_303)) { - x_338 = lean_alloc_ctor(0, 2, 0); + x_337 = lean_alloc_ctor(0, 2, 0); } else { - x_338 = x_303; + x_337 = x_303; } -lean_ctor_set(x_338, 0, x_337); -lean_ctor_set(x_338, 1, x_302); -return x_338; +lean_ctor_set(x_337, 0, x_336); +lean_ctor_set(x_337, 1, x_302); +return x_337; } else { -lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; +lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_dec(x_277); -lean_dec(x_259); +lean_dec(x_258); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_339 = lean_ctor_get(x_287, 0); +x_338 = lean_ctor_get(x_287, 0); +lean_inc(x_338); +x_339 = lean_ctor_get(x_287, 1); lean_inc(x_339); -x_340 = lean_ctor_get(x_287, 1); -lean_inc(x_340); if (lean_is_exclusive(x_287)) { lean_ctor_release(x_287, 0); lean_ctor_release(x_287, 1); - x_341 = x_287; + x_340 = x_287; } else { lean_dec_ref(x_287); - x_341 = lean_box(0); + x_340 = lean_box(0); } -if (lean_is_scalar(x_341)) { - x_342 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_340)) { + x_341 = lean_alloc_ctor(1, 2, 0); } else { - x_342 = x_341; + x_341 = x_340; } -lean_ctor_set(x_342, 0, x_339); -lean_ctor_set(x_342, 1, x_340); -return x_342; +lean_ctor_set(x_341, 0, x_338); +lean_ctor_set(x_341, 1, x_339); +return x_341; } } else { -lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; -lean_dec(x_265); -lean_dec(x_260); +lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; +lean_dec(x_264); lean_dec(x_259); +lean_dec(x_258); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_343 = lean_ctor_get(x_272, 0); +x_342 = lean_ctor_get(x_272, 0); +lean_inc(x_342); +x_343 = lean_ctor_get(x_272, 1); lean_inc(x_343); -x_344 = lean_ctor_get(x_272, 1); -lean_inc(x_344); if (lean_is_exclusive(x_272)) { lean_ctor_release(x_272, 0); lean_ctor_release(x_272, 1); - x_345 = x_272; + x_344 = x_272; } else { lean_dec_ref(x_272); - x_345 = lean_box(0); + x_344 = lean_box(0); } -if (lean_is_scalar(x_345)) { - x_346 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_344)) { + x_345 = lean_alloc_ctor(1, 2, 0); } else { - x_346 = x_345; + x_345 = x_344; } -lean_ctor_set(x_346, 0, x_343); -lean_ctor_set(x_346, 1, x_344); -return x_346; +lean_ctor_set(x_345, 0, x_342); +lean_ctor_set(x_345, 1, x_343); +return x_345; } } else { -lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; -lean_dec(x_265); -lean_dec(x_260); +lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; +lean_dec(x_264); lean_dec(x_259); +lean_dec(x_258); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_347 = lean_ctor_get(x_268, 0); +x_346 = lean_ctor_get(x_268, 0); +lean_inc(x_346); +x_347 = lean_ctor_get(x_268, 1); lean_inc(x_347); -x_348 = lean_ctor_get(x_268, 1); -lean_inc(x_348); if (lean_is_exclusive(x_268)) { lean_ctor_release(x_268, 0); lean_ctor_release(x_268, 1); - x_349 = x_268; + x_348 = x_268; } else { lean_dec_ref(x_268); - x_349 = lean_box(0); + x_348 = lean_box(0); } -if (lean_is_scalar(x_349)) { - x_350 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_348)) { + x_349 = lean_alloc_ctor(1, 2, 0); } else { - x_350 = x_349; + x_349 = x_348; } -lean_ctor_set(x_350, 0, x_347); -lean_ctor_set(x_350, 1, x_348); -return x_350; +lean_ctor_set(x_349, 0, x_346); +lean_ctor_set(x_349, 1, x_347); +return x_349; } } else { -lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; -lean_dec(x_263); +lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_dec(x_262); lean_dec(x_261); lean_dec(x_260); lean_dec(x_259); +lean_dec(x_258); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_351 = lean_ctor_get(x_264, 0); +x_350 = lean_ctor_get(x_263, 0); +lean_inc(x_350); +x_351 = lean_ctor_get(x_263, 1); lean_inc(x_351); -x_352 = lean_ctor_get(x_264, 1); -lean_inc(x_352); -if (lean_is_exclusive(x_264)) { - lean_ctor_release(x_264, 0); - lean_ctor_release(x_264, 1); - x_353 = x_264; +if (lean_is_exclusive(x_263)) { + lean_ctor_release(x_263, 0); + lean_ctor_release(x_263, 1); + x_352 = x_263; } else { - lean_dec_ref(x_264); - x_353 = lean_box(0); + lean_dec_ref(x_263); + x_352 = lean_box(0); } -if (lean_is_scalar(x_353)) { - x_354 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_352)) { + x_353 = lean_alloc_ctor(1, 2, 0); } else { - x_354 = x_353; + x_353 = x_352; } -lean_ctor_set(x_354, 0, x_351); -lean_ctor_set(x_354, 1, x_352); -return x_354; +lean_ctor_set(x_353, 0, x_350); +lean_ctor_set(x_353, 1, x_351); +return x_353; } } } @@ -42772,25 +42499,25 @@ return x_34; } } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; -x_4 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___lambda__1(x_1, x_2, x_3); +x_4 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___lambda__1(x_1, x_2, x_3); lean_dec(x_2); return x_4; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -lean_object* x_9; -x_9 = l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_object* x_10; +x_10 = l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); -return x_9; +return x_10; } } LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___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) { @@ -46458,7 +46185,7 @@ lean_object* initialize_Lean_ResolveName(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Term(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Quotation_Util(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Quotation_Precheck(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Parser_Term(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Parser_Syntax(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Elab_Quotation(uint8_t builtin, lean_object* w) { lean_object * res; @@ -46482,7 +46209,7 @@ lean_dec_ref(res); res = initialize_Lean_Elab_Quotation_Precheck(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Parser_Term(builtin, lean_io_mk_world()); +res = initialize_Lean_Parser_Syntax(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__1 = _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__1___closed__1(); @@ -47857,36 +47584,36 @@ l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_noOpMatchAdaptPats__ lean_mark_persistent(l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_noOpMatchAdaptPats___closed__3); l_Array_mapMUnsafe_map___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__3___lambda__1___closed__1 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__3___lambda__1___closed__1(); lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__3___lambda__1___closed__1); -l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__1 = _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__1(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__1); -l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__2 = _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__2(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__2); -l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__3 = _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__3(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__3); -l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__4 = _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__4(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__4); -l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__5 = _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__5(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__5); -l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__6 = _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__6(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__6); -l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__7 = _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__7(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__7); -l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__8 = _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__8(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__8); -l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__9 = _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__9(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__9); -l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__10 = _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__10(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__10); -l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__11 = _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__11(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__11); -l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__12 = _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__12(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__12); -l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13 = _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13); -l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14 = _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14); -l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8___closed__1 = _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8___closed__1(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8___closed__1); +l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__1 = _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__1(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__1); +l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__2 = _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__2(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__2); +l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__3 = _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__3(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__3); +l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__4 = _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__4(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__4); +l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__5 = _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__5(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__5); +l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__6 = _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__6(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__6); +l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__7 = _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__7(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__7); +l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__8 = _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__8(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__8); +l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__9 = _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__9(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__9); +l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__10 = _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__10(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__10); +l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__11 = _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__11(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__11); +l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__12 = _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__12(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__12); +l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13 = _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__13); +l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14 = _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__4___closed__14); +l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8___closed__1 = _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8___closed__1(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__8___closed__1); l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__9___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__9___closed__1(); lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__9___closed__1); l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__9___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_getHeadInfo___spec__9___closed__2(); @@ -48219,8 +47946,8 @@ l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_deduplicate___lambda lean_mark_persistent(l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_deduplicate___lambda__3___closed__1); l_panic___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__1___closed__1 = _init_l_panic___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__1___closed__1(); lean_mark_persistent(l_panic___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__1___closed__1); -l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___closed__1 = _init_l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___closed__1(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___closed__1); +l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___closed__1 = _init_l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___closed__1(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__4___closed__1); l_Array_mapMUnsafe_map___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__5___closed__1 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__5___closed__1(); lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__5___closed__1); l_List_format___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__10___closed__1 = _init_l_List_format___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__10___closed__1(); @@ -48247,8 +47974,6 @@ l_List_mapTRAux___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_c lean_mark_persistent(l_List_mapTRAux___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__12___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__13___closed__2); l_List_mapTRAux___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__12___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__13___closed__3 = _init_l_List_mapTRAux___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__12___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__13___closed__3(); lean_mark_persistent(l_List_mapTRAux___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__12___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___spec__13___closed__3); -l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__3___closed__1 = _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__3___closed__1(); -lean_mark_persistent(l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__3___closed__1); l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__5___closed__1 = _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__5___closed__1(); lean_mark_persistent(l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__5___closed__1); l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__5___closed__2 = _init_l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_compileStxMatch___lambda__5___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/StructInst.c b/stage0/stdlib/Lean/Elab/StructInst.c index 88f19f3b51..efebb0beaf 100644 --- a/stage0/stdlib/Lean/Elab/StructInst.c +++ b/stage0/stdlib/Lean/Elab/StructInst.c @@ -30,6 +30,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExp LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_mvarId_x21(lean_object*); lean_object* l_List_tail_x21___rarg(lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_Field_expr_x3f___default; static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange___closed__1; static lean_object* l_Lean_Elab_Term_StructInst_formatStruct___closed__6; @@ -46,6 +47,7 @@ static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructIns static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__7; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_Struct_modifyFieldsM(lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__9; +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__8; static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSource___spec__2___closed__1; static lean_object* l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___spec__3___lambda__1___closed__2; lean_object* lean_mk_empty_array_with_capacity(lean_object*); @@ -56,7 +58,6 @@ lean_object* l_Lean_Meta_mkForallFVars(lean_object*, lean_object*, uint8_t, uint LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___spec__3___closed__4; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_DefaultFields_reduce___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_Struct_params___boxed(lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandCompositeFields___spec__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Std_AssocList_contains___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___spec__7(lean_object*, lean_object*); @@ -70,6 +71,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFie LEAN_EXPORT uint8_t l_Lean_Elab_Term_StructInst_Struct_allDefault(lean_object*); LEAN_EXPORT lean_object* l_Lean_MVarId_isAssigned___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_usize_dec_eq(size_t, size_t); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_uget(lean_object*, size_t); LEAN_EXPORT lean_object* l_Lean_Elab_throwAbortTerm___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___spec__2___rarg(lean_object*); LEAN_EXPORT lean_object* l_List_findSomeM_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_findDefaultMissing_x3f___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); @@ -77,25 +79,29 @@ static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructIns LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Elab_Term_StructInst_formatStruct___spec__1(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__8; lean_object* l_Array_append___rarg(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_elabStructInst___closed__3; static lean_object* l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__5; static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSource___spec__2___closed__2; LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__16(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__6; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getFieldIdx___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_instToFormatStruct; lean_object* l_Lean_Syntax_mkSep(lean_object*, lean_object*); extern lean_object* l_Std_Format_defWidth; LEAN_EXPORT uint8_t l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getFieldIdx___lambda__1(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__4; -static lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__3; +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8___closed__1; LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___spec__5___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkCtorHeaderAux___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_SourceInfo_fromRef(lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_throwFailedToElabField___rarg___closed__5; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__5___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMissing_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__1(lean_object*); static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__1; +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__4; LEAN_EXPORT lean_object* l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3(lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__10___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -128,7 +134,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_markDefaultMissing(lean_obj LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__1(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_mkDefaultValueAux_x3f___closed__1; -LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_12305_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_12380_(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_mkDefaultValueAux_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__20; @@ -153,7 +159,6 @@ LEAN_EXPORT lean_object* l_Lean_MVarId_isAssigned___at_Lean_Elab_Term_StructInst LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_elabStructInst(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange___closed__4; -static lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__6; lean_object* l_Lean_mkIdentFrom(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__9; static lean_object* l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__3; @@ -182,6 +187,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExp LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MVarId_isAssigned___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_Lean_isPrivateNameFromImportedModule(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwAbortTerm___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName___closed__2; lean_object* l_Nat_max(lean_object*, lean_object*); @@ -191,7 +197,6 @@ LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___private_Lean_Elab_Stru LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___closed__1; static lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_mkDefaultValueAux_x3f___closed__2; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_StructInst_DefaultFields_mkDefaultValueAux_x3f___spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_elabStructInst_declRange(lean_object*); lean_object* l_Lean_Elab_Term_synthesizeAppInstMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -213,6 +218,7 @@ LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at___private_Lean_Elab_Stru lean_object* l_Lean_Expr_getRevArg_x21(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_tryToSynthesizeDefault___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_instInhabitedTermElabM(lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_mkProjStx_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName_throwUnexpectedExpectedType___closed__4; static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__1; @@ -275,9 +281,11 @@ lean_object* l_Lean_Core_withFreshMacroScope___rarg(lean_object*, lean_object*, static lean_object* l_Lean_Elab_Term_StructInst_formatStruct___closed__5; LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_defaultMissing_x3f___boxed(lean_object*); +static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__2; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__12; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing___rarg___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_Struct_modifyFieldsM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUnsafe(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_StructInst_throwFailedToElabField___spec__1(lean_object*); lean_object* l_Lean_Meta_project_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -290,6 +298,7 @@ static lean_object* l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_El uint64_t l_Lean_Name_hash___override(lean_object*); LEAN_EXPORT lean_object* l_Lean_MVarId_isAssigned___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__4(lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_formatStruct___spec__2___boxed(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_tryPostponeIfNoneOrMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_inheritedTraceOptions; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__6; @@ -317,6 +326,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_FieldVal_toSyntax___boxed(l static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__9; lean_object* lean_expr_consume_type_annotations(lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName_throwUnexpectedExpectedType___closed__3; +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Syntax_matchesNull(lean_object*, lean_object*); lean_object* l_List_forM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_expandMacroImpl_x3f(lean_object*, lean_object*, lean_object*, lean_object*); @@ -362,7 +372,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_Stru lean_object* l_Lean_replaceRef(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___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* l_Lean_ResolveName_resolveNamespace(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__1(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_formatStruct___closed__10; lean_object* l_Lean_Meta_mkLambdaFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_getFieldName___closed__2; @@ -377,7 +386,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_mkProjStx_x3f___lambda__1(l LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__11(lean_object*, lean_object*, lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing___rarg___lambda__2(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS___boxed(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__2(lean_object*, lean_object*, lean_object*); lean_object* l_instInhabited___rarg(lean_object*, lean_object*); static lean_object* l_Lean_Elab_throwAbortTerm___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___spec__2___rarg___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange(lean_object*); @@ -394,7 +402,6 @@ LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_StructInst_0 static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkSourcesWithSyntax___closed__1; LEAN_EXPORT lean_object* l_Lean_MVarId_isAssigned___at_Lean_Elab_Term_StructInst_DefaultFields_step___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_mkHashMap___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___spec__12(lean_object*); -static lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__7; lean_object* l_Nat_repr(lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_markDefaultMissing___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkCtorHeaderAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -453,10 +460,8 @@ LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_StructI LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMissing_x3f___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_findField_x3f(lean_object*, lean_object*); uint8_t l_Lean_Expr_isAppOfArity(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_elabStructInst_declRange___closed__2; lean_object* l_Lean_Meta_reduceProjOf_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandCompositeFields___spec__3(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_defaultMissing_x3f(lean_object*); lean_object* l_Lean_getPathToBaseStructure_x3f(lean_object*, lean_object*, lean_object*); @@ -464,8 +469,6 @@ static lean_object* l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_El static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandCompositeFields___closed__1; lean_object* l_Lean_Core_instantiateValueLevelParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_modn(size_t, lean_object*); -static lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__5; -static lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__2; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_panic___at___private_Init_Prelude_0__Lean_assembleParts___spec__1(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__4; @@ -486,8 +489,8 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_mkProjStx_x3f___lambda__1__ lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppRevArgsAux(lean_object*, lean_object*); lean_object* l_Lean_mkSepArray(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMissing_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___lambda__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_tryToSynthesizeDefault_loop___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__3; LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_MVarId_isAssigned___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*); @@ -496,6 +499,7 @@ static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructIns static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__5; lean_object* lean_whnf(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__11; +LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMissing_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__2___closed__1; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkCtorHeaderAux___closed__2; @@ -505,7 +509,6 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Struc LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_Struct_fields(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_Struct_allDefault___boxed(lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__1___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName_throwUnknownExpectedType___closed__1; size_t lean_usize_of_nat(lean_object*); @@ -527,8 +530,8 @@ LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Elab_Term_StructInst_DefaultF LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkSourcesWithSyntax(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_throwFailedToElabField___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_instToFormatFieldLHS___closed__1; -static lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_mkProjStx_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkFreshLevelMVarsFor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_Term_termElabAttribute; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___rarg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -587,7 +590,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_Stru lean_object* l_Lean_Syntax_setArg(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_throwFailedToElabField___rarg___closed__4; lean_object* lean_environment_main_module(lean_object*); -static lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__4; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__12; uint8_t l_Lean_Expr_isMVar(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_Struct_modifyFieldsM___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -628,10 +630,9 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMiss LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_Struct_setFields___lambda__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MVarId_isAssigned___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__2(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing___rarg___lambda__1___boxed(lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__1; lean_object* l_Lean_Elab_Term_elabTerm___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_getFieldName(lean_object*); +static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__4; LEAN_EXPORT lean_object* l_Lean_MVarId_isAssigned___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_Struct_ref___boxed(lean_object*); lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Term_exprToSyntax___spec__1___rarg(lean_object*, lean_object*, lean_object*); @@ -647,7 +648,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMiss static lean_object* l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__2; lean_object* l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isRoundDone(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__2; +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__5; static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_elabStructInst_declRange___closed__6; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMissing_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__3(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_Struct_modifyFieldsM___at_Lean_Elab_Term_StructInst_Struct_modifyFields___spec__1(lean_object*, lean_object*); @@ -666,10 +667,13 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_Struct_source(lean_object*) LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName_throwUnexpectedExpectedType___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_traceAtCmdPos___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__5(lean_object*); +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__3; +LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_mapTRAux___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__2___closed__2; lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMissing_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getFieldIdx___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at_Lean_Elab_Term_StructInst_DefaultFields_step___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__1; LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -699,7 +703,6 @@ lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarImpl(lean_o static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__3___closed__1; LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__1(lean_object*, lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__2___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_Field_toSyntax___closed__2; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkSourcesWithSyntax___closed__5; LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -718,6 +721,7 @@ lean_object* lean_mk_array(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(uint8_t, uint8_t); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_Struct_modifyFieldsM___rarg(lean_object*, lean_object*, lean_object*); +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__6; uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Elab_Term_StructInst_Source_isNone(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_elabStructInst_declRange___closed__3; @@ -744,10 +748,10 @@ lean_object* l_Lean_Expr_proj___override(lean_object*, lean_object*, lean_object static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__3___closed__5; lean_object* l_ReaderT_instMonadReaderT___rarg(lean_object*); static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__5___rarg___closed__2; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__4(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_List_lengthTRAux___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_throwFailedToElabField___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addBuiltinDocString(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__7; @@ -763,12 +767,12 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMiss static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__10; lean_object* l_Lean_Core_instantiateTypeLevelParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName_throwUnexpectedExpectedType___closed__1; -static lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8___closed__1; LEAN_EXPORT lean_object* l_List_findSomeM_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__3___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing___rarg___lambda__1(lean_object*); lean_object* l_Lean_Expr_getAppFn(lean_object*); +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__5; static lean_object* l_Lean_Elab_Term_StructInst_formatStruct___closed__2; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__7(lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_trySynthStructInstance_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -776,9 +780,9 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_instInhabitedFieldVal(lean_ static lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___lambda__1___closed__1; lean_object* l_Lean_getExprMVarAssignment_x3f___at___private_Lean_Meta_Basic_0__Lean_Meta_isClassQuick_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MVarId_isAssigned___at_Lean_Elab_Term_StructInst_DefaultFields_step___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__6; lean_object* l_Array_findIdx_x3f_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MVarId_isAssigned___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__2___rarg___lambda__2(lean_object*, lean_object*, lean_object*); +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__7; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getFieldIdx___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -789,7 +793,6 @@ static lean_object* l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_El static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType_declRange___closed__1; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__16; static lean_object* l_Lean_Elab_Term_StructInst_formatStruct___closed__1; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__5___rarg(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isSimpleField_x3f___boxed(lean_object*); @@ -801,10 +804,13 @@ static lean_object* l_panic___at_Lean_Elab_Term_StructInst_DefaultFields_step___ static lean_object* l_Lean_Elab_Term_StructInst_formatStruct___closed__9; LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__6___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_throwFailedToElabField(lean_object*); +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_mkDefaultValueAux_x3f___lambda__1___boxed(lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__5; static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange___closed__3; +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_formatField___closed__4; +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__3; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___lambda__2___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType_declRange___closed__4; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getFieldIdx___closed__1; @@ -820,6 +826,7 @@ LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Stru LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMissing_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_Field_toSyntax(lean_object*); static lean_object* l_List_forIn_loop___at_Lean_Elab_Term_StructInst_DefaultFields_step___spec__3___closed__2; +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___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*); static lean_object* l_Lean_Elab_Term_StructInst_formatStruct___closed__4; lean_object* l_Lean_Elab_Term_isLocalIdent_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__3___closed__2; @@ -829,12 +836,13 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_Stru LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_FieldVal_toSyntax(lean_object*); LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__5___rarg___lambda__2(lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Term_synthesizeInstMVarCore___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__8; +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__1; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkSourcesWithSyntax___closed__3; static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__19; lean_object* lean_nat_to_int(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___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_List_appendTR___rarg(lean_object*, lean_object*); +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__2; lean_object* l_Lean_Name_components(lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_instInhabitedPUnit; @@ -843,6 +851,7 @@ lean_object* l_Lean_Syntax_formatStxAux(lean_object*, uint8_t, lean_object*, lea LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkCtorHeaderAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_panic___at_Lean_Elab_Term_StructInst_DefaultFields_step___spec__1___closed__2; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__14; +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__2; static lean_object* l_Lean_Elab_Term_StructInst_elabStructInst___closed__2; static lean_object* l_Lean_Elab_Term_StructInst_instInhabitedExplicitSourceInfo___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_Context_maxDistance___default; @@ -855,11 +864,11 @@ static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___c static lean_object* l_Lean_Elab_Term_StructInst_formatStruct___closed__8; uint8_t l_Lean_isStructure(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_elabStructInst_declRange___closed__7; -static lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_instInhabitedSource; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_elabStructInst(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_DefaultFields_reduce___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_getFieldValue_x3f___boxed(lean_object*, lean_object*); lean_object* l_Lean_Elab_getBetterRef(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMissing_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -8388,325 +8397,249 @@ lean_dec(x_2); return x_4; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_4; lean_object* x_5; -x_4 = lean_box(0); -x_5 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_5, 0, x_4); -lean_ctor_set(x_5, 1, x_3); -return x_5; +lean_object* x_5; lean_object* x_6; +x_5 = l_List_reverse___rarg(x_2); +x_6 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_6, 0, x_5); +lean_ctor_set(x_6, 1, x_4); +return x_6; } else { -uint8_t x_6; -x_6 = !lean_is_exclusive(x_1); -if (x_6 == 0) +uint8_t x_7; +x_7 = !lean_is_exclusive(x_1); +if (x_7 == 0) { -lean_object* x_7; lean_object* x_8; lean_object* x_9; -x_7 = lean_ctor_get(x_1, 0); -x_8 = lean_ctor_get(x_1, 1); -x_9 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS(x_7, x_2, x_3); -if (lean_obj_tag(x_9) == 0) +lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_8 = lean_ctor_get(x_1, 0); +x_9 = lean_ctor_get(x_1, 1); +x_10 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS(x_8, x_3, x_4); +if (lean_obj_tag(x_10) == 0) { -lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_10 = lean_ctor_get(x_9, 0); -lean_inc(x_10); -x_11 = lean_ctor_get(x_9, 1); +lean_object* x_11; lean_object* x_12; +x_11 = lean_ctor_get(x_10, 0); lean_inc(x_11); +x_12 = lean_ctor_get(x_10, 1); +lean_inc(x_12); +lean_dec(x_10); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_11); +{ +lean_object* _tmp_0 = x_9; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_3 = x_12; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_4 = _tmp_3; +} +goto _start; +} +else +{ +uint8_t x_14; +lean_free_object(x_1); lean_dec(x_9); -x_12 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__1(x_8, x_2, x_11); -if (lean_obj_tag(x_12) == 0) +lean_dec(x_2); +x_14 = !lean_is_exclusive(x_10); +if (x_14 == 0) { -uint8_t x_13; -x_13 = !lean_is_exclusive(x_12); -if (x_13 == 0) -{ -lean_object* x_14; -x_14 = lean_ctor_get(x_12, 0); -lean_ctor_set(x_1, 1, x_14); -lean_ctor_set(x_1, 0, x_10); -lean_ctor_set(x_12, 0, x_1); -return x_12; +return x_10; } else { lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_15 = lean_ctor_get(x_12, 0); -x_16 = lean_ctor_get(x_12, 1); +x_15 = lean_ctor_get(x_10, 0); +x_16 = lean_ctor_get(x_10, 1); lean_inc(x_16); lean_inc(x_15); -lean_dec(x_12); -lean_ctor_set(x_1, 1, x_15); -lean_ctor_set(x_1, 0, x_10); -x_17 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_17, 0, x_1); +lean_dec(x_10); +x_17 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_17, 0, x_15); lean_ctor_set(x_17, 1, x_16); return x_17; } } -else -{ -uint8_t x_18; -lean_dec(x_10); -lean_free_object(x_1); -x_18 = !lean_is_exclusive(x_12); -if (x_18 == 0) -{ -return x_12; } else { -lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_19 = lean_ctor_get(x_12, 0); -x_20 = lean_ctor_get(x_12, 1); -lean_inc(x_20); +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_1, 0); +x_19 = lean_ctor_get(x_1, 1); lean_inc(x_19); -lean_dec(x_12); -x_21 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_21, 0, x_19); -lean_ctor_set(x_21, 1, x_20); -return x_21; -} -} -} -else -{ -uint8_t x_22; -lean_free_object(x_1); -lean_dec(x_8); -x_22 = !lean_is_exclusive(x_9); -if (x_22 == 0) -{ -return x_9; -} -else -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_9, 0); -x_24 = lean_ctor_get(x_9, 1); -lean_inc(x_24); -lean_inc(x_23); -lean_dec(x_9); -x_25 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_25, 0, x_23); -lean_ctor_set(x_25, 1, x_24); -return x_25; -} -} -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_1, 0); -x_27 = lean_ctor_get(x_1, 1); -lean_inc(x_27); -lean_inc(x_26); +lean_inc(x_18); lean_dec(x_1); -x_28 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS(x_26, x_2, x_3); -if (lean_obj_tag(x_28) == 0) +x_20 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS(x_18, x_3, x_4); +if (lean_obj_tag(x_20) == 0) { -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_28, 0); -lean_inc(x_29); -x_30 = lean_ctor_get(x_28, 1); -lean_inc(x_30); -lean_dec(x_28); -x_31 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__1(x_27, x_2, x_30); -if (lean_obj_tag(x_31) == 0) -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); -lean_inc(x_33); -if (lean_is_exclusive(x_31)) { - lean_ctor_release(x_31, 0); - lean_ctor_release(x_31, 1); - x_34 = x_31; -} else { - lean_dec_ref(x_31); - x_34 = lean_box(0); -} -x_35 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_35, 0, x_29); -lean_ctor_set(x_35, 1, x_32); -if (lean_is_scalar(x_34)) { - x_36 = lean_alloc_ctor(0, 2, 0); -} else { - x_36 = x_34; -} -lean_ctor_set(x_36, 0, x_35); -lean_ctor_set(x_36, 1, x_33); -return x_36; +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_23, 0, x_21); +lean_ctor_set(x_23, 1, x_2); +x_1 = x_19; +x_2 = x_23; +x_4 = x_22; +goto _start; } else { -lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; -lean_dec(x_29); -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; +lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +lean_dec(x_19); +lean_dec(x_2); +x_25 = lean_ctor_get(x_20, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_20, 1); +lean_inc(x_26); +if (lean_is_exclusive(x_20)) { + lean_ctor_release(x_20, 0); + lean_ctor_release(x_20, 1); + x_27 = x_20; } else { - lean_dec_ref(x_31); - x_39 = lean_box(0); + lean_dec_ref(x_20); + x_27 = lean_box(0); } -if (lean_is_scalar(x_39)) { - x_40 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_27)) { + x_28 = lean_alloc_ctor(1, 2, 0); } else { - x_40 = x_39; + x_28 = x_27; } -lean_ctor_set(x_40, 0, x_37); -lean_ctor_set(x_40, 1, x_38); -return x_40; -} -} -else -{ -lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; -lean_dec(x_27); -x_41 = lean_ctor_get(x_28, 0); -lean_inc(x_41); -x_42 = lean_ctor_get(x_28, 1); -lean_inc(x_42); -if (lean_is_exclusive(x_28)) { - lean_ctor_release(x_28, 0); - lean_ctor_release(x_28, 1); - x_43 = x_28; -} else { - lean_dec_ref(x_28); - x_43 = lean_box(0); -} -if (lean_is_scalar(x_43)) { - x_44 = lean_alloc_ctor(1, 2, 0); -} else { - x_44 = x_43; -} -lean_ctor_set(x_44, 0, x_41); -lean_ctor_set(x_44, 1, x_42); -return x_44; +lean_ctor_set(x_28, 0, x_25); +lean_ctor_set(x_28, 1, x_26); +return x_28; } } } } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_4; lean_object* x_5; -x_4 = lean_box(0); -x_5 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_5, 0, x_4); -lean_ctor_set(x_5, 1, x_3); -return x_5; +lean_object* x_5; lean_object* x_6; +x_5 = l_List_reverse___rarg(x_2); +x_6 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_6, 0, x_5); +lean_ctor_set(x_6, 1, x_4); +return x_6; } else { -uint8_t x_6; -x_6 = !lean_is_exclusive(x_1); -if (x_6 == 0) +uint8_t x_7; +x_7 = !lean_is_exclusive(x_1); +if (x_7 == 0) { -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_7 = lean_ctor_get(x_1, 0); -x_8 = lean_ctor_get(x_1, 1); -x_9 = lean_unsigned_to_nat(2u); -x_10 = l_Lean_Syntax_getArg(x_7, x_9); -x_11 = lean_unsigned_to_nat(0u); -x_12 = l_Lean_Syntax_getArg(x_7, x_11); -x_13 = l_Lean_Syntax_getArg(x_12, x_11); -x_14 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS(x_13, x_2, x_3); -if (lean_obj_tag(x_14) == 0) +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_8 = lean_ctor_get(x_1, 0); +x_9 = lean_ctor_get(x_1, 1); +x_10 = lean_unsigned_to_nat(2u); +x_11 = l_Lean_Syntax_getArg(x_8, x_10); +x_12 = lean_unsigned_to_nat(0u); +x_13 = l_Lean_Syntax_getArg(x_8, x_12); +x_14 = l_Lean_Syntax_getArg(x_13, x_12); +x_15 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS(x_14, x_3, x_4); +if (lean_obj_tag(x_15) == 0) { -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_15 = lean_ctor_get(x_14, 0); -lean_inc(x_15); -x_16 = lean_ctor_get(x_14, 1); +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_16 = lean_ctor_get(x_15, 0); lean_inc(x_16); -lean_dec(x_14); -x_17 = lean_unsigned_to_nat(1u); -x_18 = l_Lean_Syntax_getArg(x_12, x_17); -lean_dec(x_12); -x_19 = l_Lean_Syntax_getArgs(x_18); -lean_dec(x_18); -x_20 = lean_array_to_list(lean_box(0), x_19); -x_21 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__1(x_20, x_2, x_16); -if (lean_obj_tag(x_21) == 0) +x_17 = lean_ctor_get(x_15, 1); +lean_inc(x_17); +lean_dec(x_15); +x_18 = lean_unsigned_to_nat(1u); +x_19 = l_Lean_Syntax_getArg(x_13, x_18); +lean_dec(x_13); +x_20 = l_Lean_Syntax_getArgs(x_19); +lean_dec(x_19); +x_21 = lean_array_to_list(lean_box(0), x_20); +x_22 = lean_box(0); +x_23 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__1(x_21, x_22, x_3, x_17); +if (lean_obj_tag(x_23) == 0) { -lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_22 = lean_ctor_get(x_21, 0); -lean_inc(x_22); -x_23 = lean_ctor_get(x_21, 1); -lean_inc(x_23); -lean_dec(x_21); -lean_ctor_set(x_1, 1, x_22); -lean_ctor_set(x_1, 0, x_15); -x_24 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_24, 0, x_10); -x_25 = lean_box(0); -x_26 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_26, 0, x_7); -lean_ctor_set(x_26, 1, x_1); -lean_ctor_set(x_26, 2, x_24); -lean_ctor_set(x_26, 3, x_25); -x_27 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__2(x_8, x_2, x_23); -if (lean_obj_tag(x_27) == 0) -{ -uint8_t x_28; -x_28 = !lean_is_exclusive(x_27); -if (x_28 == 0) -{ -lean_object* x_29; lean_object* x_30; -x_29 = lean_ctor_get(x_27, 0); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_26); -lean_ctor_set(x_30, 1, x_29); -lean_ctor_set(x_27, 0, x_30); -return x_27; +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_24 = lean_ctor_get(x_23, 0); +lean_inc(x_24); +x_25 = lean_ctor_get(x_23, 1); +lean_inc(x_25); +lean_dec(x_23); +lean_ctor_set(x_1, 1, x_24); +lean_ctor_set(x_1, 0, x_16); +x_26 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_26, 0, x_11); +x_27 = lean_box(0); +x_28 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_28, 0, x_8); +lean_ctor_set(x_28, 1, x_1); +lean_ctor_set(x_28, 2, x_26); +lean_ctor_set(x_28, 3, x_27); +x_29 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_29, 0, x_28); +lean_ctor_set(x_29, 1, x_2); +x_1 = x_9; +x_2 = x_29; +x_4 = x_25; +goto _start; } else { -lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_31 = lean_ctor_get(x_27, 0); -x_32 = lean_ctor_get(x_27, 1); +uint8_t x_31; +lean_dec(x_16); +lean_dec(x_11); +lean_free_object(x_1); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_2); +x_31 = !lean_is_exclusive(x_23); +if (x_31 == 0) +{ +return x_23; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_23, 0); +x_33 = lean_ctor_get(x_23, 1); +lean_inc(x_33); lean_inc(x_32); -lean_inc(x_31); -lean_dec(x_27); -x_33 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_33, 0, x_26); -lean_ctor_set(x_33, 1, x_31); -x_34 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_34, 0, x_33); -lean_ctor_set(x_34, 1, x_32); +lean_dec(x_23); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); return x_34; } } +} else { uint8_t x_35; -lean_dec(x_26); -x_35 = !lean_is_exclusive(x_27); +lean_dec(x_13); +lean_dec(x_11); +lean_free_object(x_1); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_2); +x_35 = !lean_is_exclusive(x_15); if (x_35 == 0) { -return x_27; +return x_15; } else { lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_36 = lean_ctor_get(x_27, 0); -x_37 = lean_ctor_get(x_27, 1); +x_36 = lean_ctor_get(x_15, 0); +x_37 = lean_ctor_get(x_15, 1); lean_inc(x_37); lean_inc(x_36); -lean_dec(x_27); +lean_dec(x_15); x_38 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_38, 0, x_36); lean_ctor_set(x_38, 1, x_37); @@ -8716,74 +8649,34 @@ return x_38; } else { -uint8_t x_39; -lean_dec(x_15); -lean_dec(x_10); -lean_free_object(x_1); -lean_dec(x_8); -lean_dec(x_7); -x_39 = !lean_is_exclusive(x_21); -if (x_39 == 0) -{ -return x_21; -} -else -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_40 = lean_ctor_get(x_21, 0); -x_41 = lean_ctor_get(x_21, 1); -lean_inc(x_41); +lean_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_39 = lean_ctor_get(x_1, 0); +x_40 = lean_ctor_get(x_1, 1); lean_inc(x_40); -lean_dec(x_21); -x_42 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_42, 0, x_40); -lean_ctor_set(x_42, 1, x_41); -return x_42; -} -} -} -else -{ -uint8_t x_43; -lean_dec(x_12); -lean_dec(x_10); -lean_free_object(x_1); -lean_dec(x_8); -lean_dec(x_7); -x_43 = !lean_is_exclusive(x_14); -if (x_43 == 0) -{ -return x_14; -} -else -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; -x_44 = lean_ctor_get(x_14, 0); -x_45 = lean_ctor_get(x_14, 1); -lean_inc(x_45); -lean_inc(x_44); -lean_dec(x_14); -x_46 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_46, 0, x_44); -lean_ctor_set(x_46, 1, x_45); -return x_46; -} -} -} -else +lean_inc(x_39); +lean_dec(x_1); +x_41 = lean_unsigned_to_nat(2u); +x_42 = l_Lean_Syntax_getArg(x_39, x_41); +x_43 = lean_unsigned_to_nat(0u); +x_44 = l_Lean_Syntax_getArg(x_39, x_43); +x_45 = l_Lean_Syntax_getArg(x_44, x_43); +x_46 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS(x_45, x_3, x_4); +if (lean_obj_tag(x_46) == 0) { lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; -x_47 = lean_ctor_get(x_1, 0); -x_48 = lean_ctor_get(x_1, 1); -lean_inc(x_48); +x_47 = lean_ctor_get(x_46, 0); lean_inc(x_47); -lean_dec(x_1); -x_49 = lean_unsigned_to_nat(2u); -x_50 = l_Lean_Syntax_getArg(x_47, x_49); -x_51 = lean_unsigned_to_nat(0u); -x_52 = l_Lean_Syntax_getArg(x_47, x_51); -x_53 = l_Lean_Syntax_getArg(x_52, x_51); -x_54 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS(x_53, x_2, x_3); +x_48 = lean_ctor_get(x_46, 1); +lean_inc(x_48); +lean_dec(x_46); +x_49 = lean_unsigned_to_nat(1u); +x_50 = l_Lean_Syntax_getArg(x_44, x_49); +lean_dec(x_44); +x_51 = l_Lean_Syntax_getArgs(x_50); +lean_dec(x_50); +x_52 = lean_array_to_list(lean_box(0), x_51); +x_53 = lean_box(0); +x_54 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__1(x_52, x_53, x_3, x_48); if (lean_obj_tag(x_54) == 0) { lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; @@ -8792,142 +8685,83 @@ lean_inc(x_55); x_56 = lean_ctor_get(x_54, 1); lean_inc(x_56); lean_dec(x_54); -x_57 = lean_unsigned_to_nat(1u); -x_58 = l_Lean_Syntax_getArg(x_52, x_57); -lean_dec(x_52); -x_59 = l_Lean_Syntax_getArgs(x_58); -lean_dec(x_58); -x_60 = lean_array_to_list(lean_box(0), x_59); -x_61 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__1(x_60, x_2, x_56); -if (lean_obj_tag(x_61) == 0) +x_57 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_57, 0, x_47); +lean_ctor_set(x_57, 1, x_55); +x_58 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_58, 0, x_42); +x_59 = lean_box(0); +x_60 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_60, 0, x_39); +lean_ctor_set(x_60, 1, x_57); +lean_ctor_set(x_60, 2, x_58); +lean_ctor_set(x_60, 3, x_59); +x_61 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_61, 0, x_60); +lean_ctor_set(x_61, 1, x_2); +x_1 = x_40; +x_2 = x_61; +x_4 = x_56; +goto _start; +} +else { -lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; -x_62 = lean_ctor_get(x_61, 0); -lean_inc(x_62); -x_63 = lean_ctor_get(x_61, 1); +lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; +lean_dec(x_47); +lean_dec(x_42); +lean_dec(x_40); +lean_dec(x_39); +lean_dec(x_2); +x_63 = lean_ctor_get(x_54, 0); lean_inc(x_63); -lean_dec(x_61); -x_64 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_64, 0, x_55); -lean_ctor_set(x_64, 1, x_62); -x_65 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_65, 0, x_50); -x_66 = lean_box(0); -x_67 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_67, 0, x_47); -lean_ctor_set(x_67, 1, x_64); -lean_ctor_set(x_67, 2, x_65); -lean_ctor_set(x_67, 3, x_66); -x_68 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__2(x_48, x_2, x_63); -if (lean_obj_tag(x_68) == 0) -{ -lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; -x_69 = lean_ctor_get(x_68, 0); -lean_inc(x_69); -x_70 = lean_ctor_get(x_68, 1); -lean_inc(x_70); -if (lean_is_exclusive(x_68)) { - lean_ctor_release(x_68, 0); - lean_ctor_release(x_68, 1); - x_71 = x_68; -} else { - lean_dec_ref(x_68); - x_71 = lean_box(0); -} -x_72 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_72, 0, x_67); -lean_ctor_set(x_72, 1, x_69); -if (lean_is_scalar(x_71)) { - x_73 = lean_alloc_ctor(0, 2, 0); -} else { - x_73 = x_71; -} -lean_ctor_set(x_73, 0, x_72); -lean_ctor_set(x_73, 1, x_70); -return x_73; -} -else -{ -lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; -lean_dec(x_67); -x_74 = lean_ctor_get(x_68, 0); -lean_inc(x_74); -x_75 = lean_ctor_get(x_68, 1); -lean_inc(x_75); -if (lean_is_exclusive(x_68)) { - lean_ctor_release(x_68, 0); - lean_ctor_release(x_68, 1); - x_76 = x_68; -} else { - lean_dec_ref(x_68); - x_76 = lean_box(0); -} -if (lean_is_scalar(x_76)) { - x_77 = lean_alloc_ctor(1, 2, 0); -} else { - x_77 = x_76; -} -lean_ctor_set(x_77, 0, x_74); -lean_ctor_set(x_77, 1, x_75); -return x_77; -} -} -else -{ -lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; -lean_dec(x_55); -lean_dec(x_50); -lean_dec(x_48); -lean_dec(x_47); -x_78 = lean_ctor_get(x_61, 0); -lean_inc(x_78); -x_79 = lean_ctor_get(x_61, 1); -lean_inc(x_79); -if (lean_is_exclusive(x_61)) { - lean_ctor_release(x_61, 0); - lean_ctor_release(x_61, 1); - x_80 = x_61; -} else { - lean_dec_ref(x_61); - x_80 = lean_box(0); -} -if (lean_is_scalar(x_80)) { - x_81 = lean_alloc_ctor(1, 2, 0); -} else { - x_81 = x_80; -} -lean_ctor_set(x_81, 0, x_78); -lean_ctor_set(x_81, 1, x_79); -return x_81; -} -} -else -{ -lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; -lean_dec(x_52); -lean_dec(x_50); -lean_dec(x_48); -lean_dec(x_47); -x_82 = lean_ctor_get(x_54, 0); -lean_inc(x_82); -x_83 = lean_ctor_get(x_54, 1); -lean_inc(x_83); +x_64 = lean_ctor_get(x_54, 1); +lean_inc(x_64); if (lean_is_exclusive(x_54)) { lean_ctor_release(x_54, 0); lean_ctor_release(x_54, 1); - x_84 = x_54; + x_65 = x_54; } else { lean_dec_ref(x_54); - x_84 = lean_box(0); + x_65 = lean_box(0); } -if (lean_is_scalar(x_84)) { - x_85 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_65)) { + x_66 = lean_alloc_ctor(1, 2, 0); } else { - x_85 = x_84; + x_66 = x_65; } -lean_ctor_set(x_85, 0, x_82); -lean_ctor_set(x_85, 1, x_83); -return x_85; +lean_ctor_set(x_66, 0, x_63); +lean_ctor_set(x_66, 1, x_64); +return x_66; +} +} +else +{ +lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; +lean_dec(x_44); +lean_dec(x_42); +lean_dec(x_40); +lean_dec(x_39); +lean_dec(x_2); +x_67 = lean_ctor_get(x_46, 0); +lean_inc(x_67); +x_68 = lean_ctor_get(x_46, 1); +lean_inc(x_68); +if (lean_is_exclusive(x_46)) { + lean_ctor_release(x_46, 0); + lean_ctor_release(x_46, 1); + x_69 = x_46; +} else { + lean_dec_ref(x_46); + x_69 = lean_box(0); +} +if (lean_is_scalar(x_69)) { + x_70 = lean_alloc_ctor(1, 2, 0); +} else { + x_70 = x_69; +} +lean_ctor_set(x_70, 0, x_67); +lean_ctor_set(x_70, 1, x_68); +return x_70; } } } @@ -8936,95 +8770,96 @@ return x_85; LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; x_6 = lean_unsigned_to_nat(2u); x_7 = l_Lean_Syntax_getArg(x_1, x_6); x_8 = l_Lean_Syntax_getSepArgs(x_7); lean_dec(x_7); x_9 = lean_array_to_list(lean_box(0), x_8); -x_10 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__2(x_9, x_4, x_5); -if (lean_obj_tag(x_10) == 0) +x_10 = lean_box(0); +x_11 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__2(x_9, x_10, x_4, x_5); +if (lean_obj_tag(x_11) == 0) { -uint8_t x_11; -x_11 = !lean_is_exclusive(x_10); -if (x_11 == 0) +uint8_t x_12; +x_12 = !lean_is_exclusive(x_11); +if (x_12 == 0) { -lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_12 = lean_ctor_get(x_10, 0); -x_13 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__1; -x_14 = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(x_14, 0, x_1); -lean_ctor_set(x_14, 1, x_2); -lean_ctor_set(x_14, 2, x_13); -lean_ctor_set(x_14, 3, x_12); -lean_ctor_set(x_14, 4, x_3); -lean_ctor_set(x_10, 0, x_14); -return x_10; +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_11, 0); +x_14 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__1; +x_15 = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(x_15, 0, x_1); +lean_ctor_set(x_15, 1, x_2); +lean_ctor_set(x_15, 2, x_14); +lean_ctor_set(x_15, 3, x_13); +lean_ctor_set(x_15, 4, x_3); +lean_ctor_set(x_11, 0, x_15); +return x_11; } else { -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_15 = lean_ctor_get(x_10, 0); -x_16 = lean_ctor_get(x_10, 1); +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_16 = lean_ctor_get(x_11, 0); +x_17 = lean_ctor_get(x_11, 1); +lean_inc(x_17); lean_inc(x_16); -lean_inc(x_15); -lean_dec(x_10); -x_17 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__1; -x_18 = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(x_18, 0, x_1); -lean_ctor_set(x_18, 1, x_2); -lean_ctor_set(x_18, 2, x_17); -lean_ctor_set(x_18, 3, x_15); -lean_ctor_set(x_18, 4, x_3); -x_19 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_19, 0, x_18); -lean_ctor_set(x_19, 1, x_16); -return x_19; +lean_dec(x_11); +x_18 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__1; +x_19 = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(x_19, 0, x_1); +lean_ctor_set(x_19, 1, x_2); +lean_ctor_set(x_19, 2, x_18); +lean_ctor_set(x_19, 3, x_16); +lean_ctor_set(x_19, 4, x_3); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_19); +lean_ctor_set(x_20, 1, x_17); +return x_20; } } else { -uint8_t x_20; +uint8_t x_21; lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_20 = !lean_is_exclusive(x_10); -if (x_20 == 0) +x_21 = !lean_is_exclusive(x_11); +if (x_21 == 0) { -return x_10; +return x_11; } else { -lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_21 = lean_ctor_get(x_10, 0); -x_22 = lean_ctor_get(x_10, 1); +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_11, 0); +x_23 = lean_ctor_get(x_11, 1); +lean_inc(x_23); lean_inc(x_22); -lean_inc(x_21); -lean_dec(x_10); -x_23 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_23, 0, x_21); -lean_ctor_set(x_23, 1, x_22); -return x_23; +lean_dec(x_11); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +return x_24; } } } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { -lean_object* x_4; -x_4 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__1(x_1, x_2, x_3); -lean_dec(x_2); -return x_4; +lean_object* x_5; +x_5 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__1(x_1, x_2, x_3, x_4); +lean_dec(x_3); +return x_5; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { -lean_object* x_4; -x_4 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__2(x_1, x_2, x_3); -lean_dec(x_2); -return x_4; +lean_object* x_5; +x_5 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__2(x_1, x_2, x_3, x_4); +lean_dec(x_3); +return x_5; } } LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { @@ -9838,7 +9673,7 @@ return x_27; } } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__1() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__1() { _start: { lean_object* x_1; @@ -9846,16 +9681,16 @@ x_1 = lean_mk_string_from_bytes("invalid field index, structure has only #", 41) return x_1; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__2() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__1; +x_1 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__3() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__3() { _start: { lean_object* x_1; @@ -9863,16 +9698,16 @@ x_1 = lean_mk_string_from_bytes(" fields", 7); return x_1; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__4() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__3; +x_1 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__3; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__5() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__5() { _start: { lean_object* x_1; @@ -9880,446 +9715,505 @@ x_1 = lean_mk_string_from_bytes("invalid field index, index must be greater than return x_1; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__6() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__6() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__5; +x_1 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__5; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { if (lean_obj_tag(x_2) == 0) { -lean_object* x_10; lean_object* x_11; +lean_object* x_11; lean_object* x_12; +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_3); -x_10 = lean_box(0); -x_11 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_11, 0, x_10); -lean_ctor_set(x_11, 1, x_9); -return x_11; +x_11 = l_List_reverse___rarg(x_3); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_10); +return x_12; } else { -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_30; -x_12 = lean_ctor_get(x_2, 0); -lean_inc(x_12); -x_13 = lean_ctor_get(x_2, 1); +lean_object* x_13; lean_object* x_14; +x_13 = lean_ctor_get(x_2, 0); lean_inc(x_13); -if (lean_is_exclusive(x_2)) { - lean_ctor_release(x_2, 0); - lean_ctor_release(x_2, 1); - x_14 = x_2; -} else { - lean_dec_ref(x_2); - x_14 = lean_box(0); -} -x_30 = lean_ctor_get(x_12, 1); -lean_inc(x_30); -if (lean_obj_tag(x_30) == 0) +x_14 = lean_ctor_get(x_13, 1); +lean_inc(x_14); +if (lean_obj_tag(x_14) == 0) { -x_15 = x_12; -x_16 = x_9; -goto block_29; +uint8_t x_15; +x_15 = !lean_is_exclusive(x_2); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; +x_16 = lean_ctor_get(x_2, 1); +x_17 = lean_ctor_get(x_2, 0); +lean_dec(x_17); +lean_ctor_set(x_2, 1, x_3); +{ +lean_object* _tmp_1 = x_16; +lean_object* _tmp_2 = x_2; +x_2 = _tmp_1; +x_3 = _tmp_2; +} +goto _start; } else { -lean_object* x_31; -x_31 = lean_ctor_get(x_30, 0); -lean_inc(x_31); -if (lean_obj_tag(x_31) == 1) +lean_object* x_19; lean_object* x_20; +x_19 = lean_ctor_get(x_2, 1); +lean_inc(x_19); +lean_dec(x_2); +x_20 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_20, 0, x_13); +lean_ctor_set(x_20, 1, x_3); +x_2 = x_19; +x_3 = x_20; +goto _start; +} +} +else { -uint8_t x_32; -x_32 = !lean_is_exclusive(x_12); -if (x_32 == 0) +lean_object* x_22; +x_22 = lean_ctor_get(x_14, 0); +lean_inc(x_22); +if (lean_obj_tag(x_22) == 1) { -lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; -x_33 = lean_ctor_get(x_12, 0); -x_34 = lean_ctor_get(x_12, 2); -x_35 = lean_ctor_get(x_12, 3); -x_36 = lean_ctor_get(x_12, 1); -lean_dec(x_36); -x_37 = !lean_is_exclusive(x_30); -if (x_37 == 0) +uint8_t x_23; +x_23 = !lean_is_exclusive(x_2); +if (x_23 == 0) { -lean_object* x_38; lean_object* x_39; uint8_t x_40; -x_38 = lean_ctor_get(x_30, 1); -x_39 = lean_ctor_get(x_30, 0); -lean_dec(x_39); -x_40 = !lean_is_exclusive(x_31); +lean_object* x_24; lean_object* x_25; uint8_t x_26; +x_24 = lean_ctor_get(x_2, 1); +x_25 = lean_ctor_get(x_2, 0); +lean_dec(x_25); +x_26 = !lean_is_exclusive(x_13); +if (x_26 == 0) +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; +x_27 = lean_ctor_get(x_13, 0); +x_28 = lean_ctor_get(x_13, 2); +x_29 = lean_ctor_get(x_13, 3); +x_30 = lean_ctor_get(x_13, 1); +lean_dec(x_30); +x_31 = !lean_is_exclusive(x_14); +if (x_31 == 0) +{ +lean_object* x_32; lean_object* x_33; uint8_t x_34; +x_32 = lean_ctor_get(x_14, 1); +x_33 = lean_ctor_get(x_14, 0); +lean_dec(x_33); +x_34 = !lean_is_exclusive(x_22); +if (x_34 == 0) +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; +x_35 = lean_ctor_get(x_22, 0); +x_36 = lean_ctor_get(x_22, 1); +x_37 = lean_unsigned_to_nat(0u); +x_38 = lean_nat_dec_eq(x_36, x_37); +if (x_38 == 0) +{ +lean_object* x_39; uint8_t x_40; +x_39 = lean_array_get_size(x_1); +x_40 = lean_nat_dec_lt(x_39, x_36); if (x_40 == 0) { -lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; -x_41 = lean_ctor_get(x_31, 0); -x_42 = lean_ctor_get(x_31, 1); -x_43 = lean_unsigned_to_nat(0u); -x_44 = lean_nat_dec_eq(x_42, x_43); -if (x_44 == 0) +lean_object* x_41; lean_object* x_42; uint8_t x_43; +x_41 = lean_unsigned_to_nat(1u); +x_42 = lean_nat_sub(x_36, x_41); +lean_dec(x_36); +x_43 = lean_nat_dec_lt(x_42, x_39); +lean_dec(x_39); +if (x_43 == 0) { -lean_object* x_45; uint8_t x_46; -x_45 = lean_array_get_size(x_1); -x_46 = lean_nat_dec_lt(x_45, x_42); -if (x_46 == 0) -{ -lean_object* x_47; lean_object* x_48; uint8_t x_49; -x_47 = lean_unsigned_to_nat(1u); -x_48 = lean_nat_sub(x_42, x_47); +lean_object* x_44; lean_object* x_45; lean_dec(x_42); -x_49 = lean_nat_dec_lt(x_48, x_45); -lean_dec(x_45); -if (x_49 == 0) +x_44 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkSourcesWithSyntax___closed__4; +x_45 = l_panic___at___private_Init_Prelude_0__Lean_assembleParts___spec__1(x_44); +lean_ctor_set_tag(x_22, 0); +lean_ctor_set(x_22, 1, x_45); +lean_ctor_set(x_2, 1, x_3); { -lean_object* x_50; lean_object* x_51; -lean_dec(x_48); -x_50 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkSourcesWithSyntax___closed__4; -x_51 = l_panic___at___private_Init_Prelude_0__Lean_assembleParts___spec__1(x_50); -lean_ctor_set_tag(x_31, 0); -lean_ctor_set(x_31, 1, x_51); -x_15 = x_12; -x_16 = x_9; -goto block_29; +lean_object* _tmp_1 = x_24; +lean_object* _tmp_2 = x_2; +x_2 = _tmp_1; +x_3 = _tmp_2; +} +goto _start; } else { -lean_object* x_52; -x_52 = lean_array_fget(x_1, x_48); -lean_dec(x_48); -lean_ctor_set_tag(x_31, 0); -lean_ctor_set(x_31, 1, x_52); -x_15 = x_12; -x_16 = x_9; -goto block_29; +lean_object* x_47; +x_47 = lean_array_fget(x_1, x_42); +lean_dec(x_42); +lean_ctor_set_tag(x_22, 0); +lean_ctor_set(x_22, 1, x_47); +lean_ctor_set(x_2, 1, x_3); +{ +lean_object* _tmp_1 = x_24; +lean_object* _tmp_2 = x_2; +x_2 = _tmp_1; +x_3 = _tmp_2; +} +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; lean_object* x_60; uint8_t x_61; -lean_free_object(x_31); -lean_dec(x_42); -lean_free_object(x_30); -lean_dec(x_38); -lean_free_object(x_12); -lean_dec(x_35); -lean_dec(x_34); -lean_dec(x_33); -lean_dec(x_14); -lean_dec(x_13); -x_53 = l_Nat_repr(x_45); -x_54 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_54, 0, x_53); -x_55 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_55, 0, x_54); -x_56 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__2; -x_57 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_57, 0, x_56); -lean_ctor_set(x_57, 1, x_55); -x_58 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__4; -x_59 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_59, 0, x_57); -lean_ctor_set(x_59, 1, x_58); -x_60 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(x_41, x_59, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -x_61 = !lean_is_exclusive(x_60); -if (x_61 == 0) +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; uint8_t x_57; +lean_free_object(x_22); +lean_dec(x_36); +lean_free_object(x_14); +lean_dec(x_32); +lean_free_object(x_13); +lean_dec(x_29); +lean_dec(x_28); +lean_dec(x_27); +lean_free_object(x_2); +lean_dec(x_24); +lean_dec(x_3); +x_49 = l_Nat_repr(x_39); +x_50 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_50, 0, x_49); +x_51 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_51, 0, x_50); +x_52 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__2; +x_53 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_53, 0, x_52); +lean_ctor_set(x_53, 1, x_51); +x_54 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__4; +x_55 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_55, 0, x_53); +lean_ctor_set(x_55, 1, x_54); +x_56 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(x_35, x_55, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_57 = !lean_is_exclusive(x_56); +if (x_57 == 0) { +return x_56; +} +else +{ +lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_58 = lean_ctor_get(x_56, 0); +x_59 = lean_ctor_get(x_56, 1); +lean_inc(x_59); +lean_inc(x_58); +lean_dec(x_56); +x_60 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_60, 0, x_58); +lean_ctor_set(x_60, 1, x_59); return x_60; } -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 { -lean_object* x_65; lean_object* x_66; uint8_t x_67; -lean_free_object(x_31); -lean_dec(x_42); -lean_free_object(x_30); -lean_dec(x_38); -lean_free_object(x_12); -lean_dec(x_35); -lean_dec(x_34); -lean_dec(x_33); -lean_dec(x_14); -lean_dec(x_13); -x_65 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__6; -x_66 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(x_41, x_65, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -x_67 = !lean_is_exclusive(x_66); -if (x_67 == 0) +lean_object* x_61; lean_object* x_62; uint8_t x_63; +lean_free_object(x_22); +lean_dec(x_36); +lean_free_object(x_14); +lean_dec(x_32); +lean_free_object(x_13); +lean_dec(x_29); +lean_dec(x_28); +lean_dec(x_27); +lean_free_object(x_2); +lean_dec(x_24); +lean_dec(x_3); +x_61 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__6; +x_62 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(x_35, x_61, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_63 = !lean_is_exclusive(x_62); +if (x_63 == 0) { +return x_62; +} +else +{ +lean_object* x_64; lean_object* x_65; lean_object* x_66; +x_64 = lean_ctor_get(x_62, 0); +x_65 = lean_ctor_get(x_62, 1); +lean_inc(x_65); +lean_inc(x_64); +lean_dec(x_62); +x_66 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_66, 0, x_64); +lean_ctor_set(x_66, 1, x_65); return x_66; } +} +} else { -lean_object* x_68; lean_object* x_69; lean_object* x_70; -x_68 = lean_ctor_get(x_66, 0); -x_69 = lean_ctor_get(x_66, 1); -lean_inc(x_69); +lean_object* x_67; lean_object* x_68; lean_object* x_69; uint8_t x_70; +x_67 = lean_ctor_get(x_22, 0); +x_68 = lean_ctor_get(x_22, 1); lean_inc(x_68); -lean_dec(x_66); -x_70 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_70, 0, x_68); -lean_ctor_set(x_70, 1, x_69); -return x_70; +lean_inc(x_67); +lean_dec(x_22); +x_69 = lean_unsigned_to_nat(0u); +x_70 = lean_nat_dec_eq(x_68, x_69); +if (x_70 == 0) +{ +lean_object* x_71; uint8_t x_72; +x_71 = lean_array_get_size(x_1); +x_72 = lean_nat_dec_lt(x_71, x_68); +if (x_72 == 0) +{ +lean_object* x_73; lean_object* x_74; uint8_t x_75; +x_73 = lean_unsigned_to_nat(1u); +x_74 = lean_nat_sub(x_68, x_73); +lean_dec(x_68); +x_75 = lean_nat_dec_lt(x_74, x_71); +lean_dec(x_71); +if (x_75 == 0) +{ +lean_object* x_76; lean_object* x_77; lean_object* x_78; +lean_dec(x_74); +x_76 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkSourcesWithSyntax___closed__4; +x_77 = l_panic___at___private_Init_Prelude_0__Lean_assembleParts___spec__1(x_76); +x_78 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_78, 0, x_67); +lean_ctor_set(x_78, 1, x_77); +lean_ctor_set(x_14, 0, x_78); +lean_ctor_set(x_2, 1, x_3); +{ +lean_object* _tmp_1 = x_24; +lean_object* _tmp_2 = x_2; +x_2 = _tmp_1; +x_3 = _tmp_2; } +goto _start; +} +else +{ +lean_object* x_80; lean_object* x_81; +x_80 = lean_array_fget(x_1, x_74); +lean_dec(x_74); +x_81 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_81, 0, x_67); +lean_ctor_set(x_81, 1, x_80); +lean_ctor_set(x_14, 0, x_81); +lean_ctor_set(x_2, 1, x_3); +{ +lean_object* _tmp_1 = x_24; +lean_object* _tmp_2 = x_2; +x_2 = _tmp_1; +x_3 = _tmp_2; +} +goto _start; } } else { -lean_object* x_71; lean_object* x_72; lean_object* x_73; uint8_t x_74; -x_71 = lean_ctor_get(x_31, 0); -x_72 = lean_ctor_get(x_31, 1); -lean_inc(x_72); -lean_inc(x_71); -lean_dec(x_31); -x_73 = lean_unsigned_to_nat(0u); -x_74 = lean_nat_dec_eq(x_72, x_73); -if (x_74 == 0) -{ -lean_object* x_75; uint8_t x_76; -x_75 = lean_array_get_size(x_1); -x_76 = lean_nat_dec_lt(x_75, x_72); -if (x_76 == 0) -{ -lean_object* x_77; lean_object* x_78; uint8_t x_79; -x_77 = lean_unsigned_to_nat(1u); -x_78 = lean_nat_sub(x_72, x_77); -lean_dec(x_72); -x_79 = lean_nat_dec_lt(x_78, x_75); -lean_dec(x_75); -if (x_79 == 0) -{ -lean_object* x_80; lean_object* x_81; lean_object* x_82; -lean_dec(x_78); -x_80 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkSourcesWithSyntax___closed__4; -x_81 = l_panic___at___private_Init_Prelude_0__Lean_assembleParts___spec__1(x_80); -x_82 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_82, 0, x_71); -lean_ctor_set(x_82, 1, x_81); -lean_ctor_set(x_30, 0, x_82); -x_15 = x_12; -x_16 = x_9; -goto block_29; -} -else -{ -lean_object* x_83; lean_object* x_84; -x_83 = lean_array_fget(x_1, x_78); -lean_dec(x_78); -x_84 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_84, 0, x_71); -lean_ctor_set(x_84, 1, x_83); -lean_ctor_set(x_30, 0, x_84); -x_15 = x_12; -x_16 = x_9; -goto block_29; -} -} -else -{ -lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; -lean_dec(x_72); -lean_free_object(x_30); -lean_dec(x_38); -lean_free_object(x_12); -lean_dec(x_35); -lean_dec(x_34); -lean_dec(x_33); -lean_dec(x_14); -lean_dec(x_13); -x_85 = l_Nat_repr(x_75); -x_86 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_86, 0, x_85); -x_87 = lean_alloc_ctor(0, 1, 0); +lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; +lean_dec(x_68); +lean_free_object(x_14); +lean_dec(x_32); +lean_free_object(x_13); +lean_dec(x_29); +lean_dec(x_28); +lean_dec(x_27); +lean_free_object(x_2); +lean_dec(x_24); +lean_dec(x_3); +x_83 = l_Nat_repr(x_71); +x_84 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_84, 0, x_83); +x_85 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_85, 0, x_84); +x_86 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__2; +x_87 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_87, 0, x_86); -x_88 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__2; +lean_ctor_set(x_87, 1, x_85); +x_88 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__4; x_89 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_89, 0, x_88); -lean_ctor_set(x_89, 1, x_87); -x_90 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__4; -x_91 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_91, 0, x_89); -lean_ctor_set(x_91, 1, x_90); -x_92 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(x_71, x_91, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -x_93 = lean_ctor_get(x_92, 0); -lean_inc(x_93); -x_94 = lean_ctor_get(x_92, 1); -lean_inc(x_94); -if (lean_is_exclusive(x_92)) { - lean_ctor_release(x_92, 0); - lean_ctor_release(x_92, 1); - x_95 = x_92; +lean_ctor_set(x_89, 0, x_87); +lean_ctor_set(x_89, 1, x_88); +x_90 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(x_67, x_89, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_91 = lean_ctor_get(x_90, 0); +lean_inc(x_91); +x_92 = lean_ctor_get(x_90, 1); +lean_inc(x_92); +if (lean_is_exclusive(x_90)) { + lean_ctor_release(x_90, 0); + lean_ctor_release(x_90, 1); + x_93 = x_90; } else { - lean_dec_ref(x_92); - x_95 = lean_box(0); + lean_dec_ref(x_90); + x_93 = lean_box(0); } -if (lean_is_scalar(x_95)) { - x_96 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_93)) { + x_94 = lean_alloc_ctor(1, 2, 0); } else { - x_96 = x_95; + x_94 = x_93; } -lean_ctor_set(x_96, 0, x_93); -lean_ctor_set(x_96, 1, x_94); -return x_96; +lean_ctor_set(x_94, 0, x_91); +lean_ctor_set(x_94, 1, x_92); +return x_94; } } else { -lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; -lean_dec(x_72); -lean_free_object(x_30); -lean_dec(x_38); -lean_free_object(x_12); -lean_dec(x_35); -lean_dec(x_34); -lean_dec(x_33); +lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; +lean_dec(x_68); +lean_free_object(x_14); +lean_dec(x_32); +lean_free_object(x_13); +lean_dec(x_29); +lean_dec(x_28); +lean_dec(x_27); +lean_free_object(x_2); +lean_dec(x_24); +lean_dec(x_3); +x_95 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__6; +x_96 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(x_67, x_95, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_97 = lean_ctor_get(x_96, 0); +lean_inc(x_97); +x_98 = lean_ctor_get(x_96, 1); +lean_inc(x_98); +if (lean_is_exclusive(x_96)) { + lean_ctor_release(x_96, 0); + lean_ctor_release(x_96, 1); + x_99 = x_96; +} else { + lean_dec_ref(x_96); + x_99 = lean_box(0); +} +if (lean_is_scalar(x_99)) { + x_100 = lean_alloc_ctor(1, 2, 0); +} else { + x_100 = x_99; +} +lean_ctor_set(x_100, 0, x_97); +lean_ctor_set(x_100, 1, x_98); +return x_100; +} +} +} +else +{ +lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; uint8_t x_106; +x_101 = lean_ctor_get(x_14, 1); +lean_inc(x_101); lean_dec(x_14); -lean_dec(x_13); -x_97 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__6; -x_98 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(x_71, x_97, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -x_99 = lean_ctor_get(x_98, 0); -lean_inc(x_99); -x_100 = lean_ctor_get(x_98, 1); -lean_inc(x_100); -if (lean_is_exclusive(x_98)) { - lean_ctor_release(x_98, 0); - lean_ctor_release(x_98, 1); - x_101 = x_98; -} else { - lean_dec_ref(x_98); - x_101 = lean_box(0); -} -if (lean_is_scalar(x_101)) { - x_102 = lean_alloc_ctor(1, 2, 0); -} else { - x_102 = x_101; -} -lean_ctor_set(x_102, 0, x_99); -lean_ctor_set(x_102, 1, x_100); -return x_102; -} -} -} -else -{ -lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; uint8_t x_108; -x_103 = lean_ctor_get(x_30, 1); +x_102 = lean_ctor_get(x_22, 0); +lean_inc(x_102); +x_103 = lean_ctor_get(x_22, 1); lean_inc(x_103); -lean_dec(x_30); -x_104 = lean_ctor_get(x_31, 0); -lean_inc(x_104); -x_105 = lean_ctor_get(x_31, 1); -lean_inc(x_105); -if (lean_is_exclusive(x_31)) { - lean_ctor_release(x_31, 0); - lean_ctor_release(x_31, 1); - x_106 = x_31; +if (lean_is_exclusive(x_22)) { + lean_ctor_release(x_22, 0); + lean_ctor_release(x_22, 1); + x_104 = x_22; } else { - lean_dec_ref(x_31); - x_106 = lean_box(0); + lean_dec_ref(x_22); + x_104 = lean_box(0); } -x_107 = lean_unsigned_to_nat(0u); -x_108 = lean_nat_dec_eq(x_105, x_107); +x_105 = lean_unsigned_to_nat(0u); +x_106 = lean_nat_dec_eq(x_103, x_105); +if (x_106 == 0) +{ +lean_object* x_107; uint8_t x_108; +x_107 = lean_array_get_size(x_1); +x_108 = lean_nat_dec_lt(x_107, x_103); if (x_108 == 0) { -lean_object* x_109; uint8_t x_110; -x_109 = lean_array_get_size(x_1); -x_110 = lean_nat_dec_lt(x_109, x_105); -if (x_110 == 0) +lean_object* x_109; lean_object* x_110; uint8_t x_111; +x_109 = lean_unsigned_to_nat(1u); +x_110 = lean_nat_sub(x_103, x_109); +lean_dec(x_103); +x_111 = lean_nat_dec_lt(x_110, x_107); +lean_dec(x_107); +if (x_111 == 0) { -lean_object* x_111; lean_object* x_112; uint8_t x_113; -x_111 = lean_unsigned_to_nat(1u); -x_112 = lean_nat_sub(x_105, x_111); -lean_dec(x_105); -x_113 = lean_nat_dec_lt(x_112, x_109); -lean_dec(x_109); -if (x_113 == 0) -{ -lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; -lean_dec(x_112); -x_114 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkSourcesWithSyntax___closed__4; -x_115 = l_panic___at___private_Init_Prelude_0__Lean_assembleParts___spec__1(x_114); -if (lean_is_scalar(x_106)) { - x_116 = lean_alloc_ctor(0, 2, 0); +lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; +lean_dec(x_110); +x_112 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkSourcesWithSyntax___closed__4; +x_113 = l_panic___at___private_Init_Prelude_0__Lean_assembleParts___spec__1(x_112); +if (lean_is_scalar(x_104)) { + x_114 = lean_alloc_ctor(0, 2, 0); } else { - x_116 = x_106; - lean_ctor_set_tag(x_116, 0); + x_114 = x_104; + lean_ctor_set_tag(x_114, 0); } -lean_ctor_set(x_116, 0, x_104); -lean_ctor_set(x_116, 1, x_115); -x_117 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_117, 0, x_116); -lean_ctor_set(x_117, 1, x_103); -lean_ctor_set(x_12, 1, x_117); -x_15 = x_12; -x_16 = x_9; -goto block_29; +lean_ctor_set(x_114, 0, x_102); +lean_ctor_set(x_114, 1, x_113); +x_115 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_115, 0, x_114); +lean_ctor_set(x_115, 1, x_101); +lean_ctor_set(x_13, 1, x_115); +lean_ctor_set(x_2, 1, x_3); +{ +lean_object* _tmp_1 = x_24; +lean_object* _tmp_2 = x_2; +x_2 = _tmp_1; +x_3 = _tmp_2; +} +goto _start; } else { -lean_object* x_118; lean_object* x_119; lean_object* x_120; -x_118 = lean_array_fget(x_1, x_112); -lean_dec(x_112); -if (lean_is_scalar(x_106)) { - x_119 = lean_alloc_ctor(0, 2, 0); +lean_object* x_117; lean_object* x_118; lean_object* x_119; +x_117 = lean_array_fget(x_1, x_110); +lean_dec(x_110); +if (lean_is_scalar(x_104)) { + x_118 = lean_alloc_ctor(0, 2, 0); } else { - x_119 = x_106; - lean_ctor_set_tag(x_119, 0); + x_118 = x_104; + lean_ctor_set_tag(x_118, 0); } -lean_ctor_set(x_119, 0, x_104); -lean_ctor_set(x_119, 1, x_118); -x_120 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_120, 0, x_119); -lean_ctor_set(x_120, 1, x_103); -lean_ctor_set(x_12, 1, x_120); -x_15 = x_12; -x_16 = x_9; -goto block_29; +lean_ctor_set(x_118, 0, x_102); +lean_ctor_set(x_118, 1, x_117); +x_119 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_119, 0, x_118); +lean_ctor_set(x_119, 1, x_101); +lean_ctor_set(x_13, 1, x_119); +lean_ctor_set(x_2, 1, x_3); +{ +lean_object* _tmp_1 = x_24; +lean_object* _tmp_2 = x_2; +x_2 = _tmp_1; +x_3 = _tmp_2; +} +goto _start; } } else { lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; -lean_dec(x_106); -lean_dec(x_105); +lean_dec(x_104); lean_dec(x_103); -lean_free_object(x_12); -lean_dec(x_35); -lean_dec(x_34); -lean_dec(x_33); -lean_dec(x_14); -lean_dec(x_13); -x_121 = l_Nat_repr(x_109); +lean_dec(x_101); +lean_free_object(x_13); +lean_dec(x_29); +lean_dec(x_28); +lean_dec(x_27); +lean_free_object(x_2); +lean_dec(x_24); +lean_dec(x_3); +x_121 = l_Nat_repr(x_107); x_122 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_122, 0, x_121); x_123 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_123, 0, x_122); -x_124 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__2; +x_124 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__2; x_125 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_125, 0, x_124); lean_ctor_set(x_125, 1, x_123); -x_126 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__4; +x_126 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__4; x_127 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_127, 0, x_125); lean_ctor_set(x_127, 1, x_126); -x_128 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(x_104, x_127, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_128 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(x_102, x_127, x_4, x_5, x_6, x_7, x_8, x_9, x_10); x_129 = lean_ctor_get(x_128, 0); lean_inc(x_129); x_130 = lean_ctor_get(x_128, 1); @@ -10345,17 +10239,18 @@ return x_132; else { 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_dec(x_106); -lean_dec(x_105); +lean_dec(x_104); lean_dec(x_103); -lean_free_object(x_12); -lean_dec(x_35); -lean_dec(x_34); -lean_dec(x_33); -lean_dec(x_14); -lean_dec(x_13); -x_133 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__6; -x_134 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(x_104, x_133, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_101); +lean_free_object(x_13); +lean_dec(x_29); +lean_dec(x_28); +lean_dec(x_27); +lean_free_object(x_2); +lean_dec(x_24); +lean_dec(x_3); +x_133 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__6; +x_134 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(x_102, x_133, x_4, x_5, x_6, x_7, x_8, x_9, x_10); x_135 = lean_ctor_get(x_134, 0); lean_inc(x_135); x_136 = lean_ctor_get(x_134, 1); @@ -10382,33 +10277,33 @@ return x_138; else { lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; uint8_t x_148; -x_139 = lean_ctor_get(x_12, 0); -x_140 = lean_ctor_get(x_12, 2); -x_141 = lean_ctor_get(x_12, 3); +x_139 = lean_ctor_get(x_13, 0); +x_140 = lean_ctor_get(x_13, 2); +x_141 = lean_ctor_get(x_13, 3); lean_inc(x_141); lean_inc(x_140); lean_inc(x_139); -lean_dec(x_12); -x_142 = lean_ctor_get(x_30, 1); +lean_dec(x_13); +x_142 = lean_ctor_get(x_14, 1); lean_inc(x_142); -if (lean_is_exclusive(x_30)) { - lean_ctor_release(x_30, 0); - lean_ctor_release(x_30, 1); - x_143 = x_30; +if (lean_is_exclusive(x_14)) { + lean_ctor_release(x_14, 0); + lean_ctor_release(x_14, 1); + x_143 = x_14; } else { - lean_dec_ref(x_30); + lean_dec_ref(x_14); x_143 = lean_box(0); } -x_144 = lean_ctor_get(x_31, 0); +x_144 = lean_ctor_get(x_22, 0); lean_inc(x_144); -x_145 = lean_ctor_get(x_31, 1); +x_145 = lean_ctor_get(x_22, 1); lean_inc(x_145); -if (lean_is_exclusive(x_31)) { - lean_ctor_release(x_31, 0); - lean_ctor_release(x_31, 1); - x_146 = x_31; +if (lean_is_exclusive(x_22)) { + lean_ctor_release(x_22, 0); + lean_ctor_release(x_22, 1); + x_146 = x_22; } else { - lean_dec_ref(x_31); + lean_dec_ref(x_22); x_146 = lean_box(0); } x_147 = lean_unsigned_to_nat(0u); @@ -10452,43 +10347,55 @@ lean_ctor_set(x_158, 0, x_139); lean_ctor_set(x_158, 1, x_157); lean_ctor_set(x_158, 2, x_140); lean_ctor_set(x_158, 3, x_141); -x_15 = x_158; -x_16 = x_9; -goto block_29; +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_158); +{ +lean_object* _tmp_1 = x_24; +lean_object* _tmp_2 = x_2; +x_2 = _tmp_1; +x_3 = _tmp_2; +} +goto _start; } else { -lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; -x_159 = lean_array_fget(x_1, x_152); +lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; +x_160 = lean_array_fget(x_1, x_152); lean_dec(x_152); if (lean_is_scalar(x_146)) { - x_160 = lean_alloc_ctor(0, 2, 0); + x_161 = lean_alloc_ctor(0, 2, 0); } else { - x_160 = x_146; - lean_ctor_set_tag(x_160, 0); + x_161 = x_146; + lean_ctor_set_tag(x_161, 0); } -lean_ctor_set(x_160, 0, x_144); -lean_ctor_set(x_160, 1, x_159); +lean_ctor_set(x_161, 0, x_144); +lean_ctor_set(x_161, 1, x_160); if (lean_is_scalar(x_143)) { - x_161 = lean_alloc_ctor(1, 2, 0); + x_162 = lean_alloc_ctor(1, 2, 0); } else { - x_161 = x_143; + x_162 = x_143; } -lean_ctor_set(x_161, 0, x_160); -lean_ctor_set(x_161, 1, x_142); -x_162 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_162, 0, x_139); -lean_ctor_set(x_162, 1, x_161); -lean_ctor_set(x_162, 2, x_140); -lean_ctor_set(x_162, 3, x_141); -x_15 = x_162; -x_16 = x_9; -goto block_29; +lean_ctor_set(x_162, 0, x_161); +lean_ctor_set(x_162, 1, x_142); +x_163 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_163, 0, x_139); +lean_ctor_set(x_163, 1, x_162); +lean_ctor_set(x_163, 2, x_140); +lean_ctor_set(x_163, 3, x_141); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_163); +{ +lean_object* _tmp_1 = x_24; +lean_object* _tmp_2 = x_2; +x_2 = _tmp_1; +x_3 = _tmp_2; +} +goto _start; } } else { -lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; +lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_dec(x_146); lean_dec(x_145); lean_dec(x_143); @@ -10496,47 +10403,48 @@ lean_dec(x_142); lean_dec(x_141); lean_dec(x_140); lean_dec(x_139); -lean_dec(x_14); -lean_dec(x_13); -x_163 = l_Nat_repr(x_149); -x_164 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_164, 0, x_163); -x_165 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_165, 0, x_164); -x_166 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__2; -x_167 = lean_alloc_ctor(10, 2, 0); +lean_free_object(x_2); +lean_dec(x_24); +lean_dec(x_3); +x_165 = l_Nat_repr(x_149); +x_166 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_166, 0, x_165); +x_167 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_167, 0, x_166); -lean_ctor_set(x_167, 1, x_165); -x_168 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__4; +x_168 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__2; x_169 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_169, 0, x_167); -lean_ctor_set(x_169, 1, x_168); -x_170 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(x_144, x_169, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -x_171 = lean_ctor_get(x_170, 0); -lean_inc(x_171); -x_172 = lean_ctor_get(x_170, 1); -lean_inc(x_172); -if (lean_is_exclusive(x_170)) { - lean_ctor_release(x_170, 0); - lean_ctor_release(x_170, 1); - x_173 = x_170; +lean_ctor_set(x_169, 0, x_168); +lean_ctor_set(x_169, 1, x_167); +x_170 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__4; +x_171 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_171, 0, x_169); +lean_ctor_set(x_171, 1, x_170); +x_172 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(x_144, x_171, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_173 = lean_ctor_get(x_172, 0); +lean_inc(x_173); +x_174 = lean_ctor_get(x_172, 1); +lean_inc(x_174); +if (lean_is_exclusive(x_172)) { + lean_ctor_release(x_172, 0); + lean_ctor_release(x_172, 1); + x_175 = x_172; } else { - lean_dec_ref(x_170); - x_173 = lean_box(0); + lean_dec_ref(x_172); + x_175 = lean_box(0); } -if (lean_is_scalar(x_173)) { - x_174 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_175)) { + x_176 = lean_alloc_ctor(1, 2, 0); } else { - x_174 = x_173; + x_176 = x_175; } -lean_ctor_set(x_174, 0, x_171); -lean_ctor_set(x_174, 1, x_172); -return x_174; +lean_ctor_set(x_176, 0, x_173); +lean_ctor_set(x_176, 1, x_174); +return x_176; } } else { -lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; +lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_dec(x_146); lean_dec(x_145); lean_dec(x_143); @@ -10544,107 +10452,288 @@ lean_dec(x_142); lean_dec(x_141); lean_dec(x_140); lean_dec(x_139); +lean_free_object(x_2); +lean_dec(x_24); +lean_dec(x_3); +x_177 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__6; +x_178 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(x_144, x_177, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_179 = lean_ctor_get(x_178, 0); +lean_inc(x_179); +x_180 = lean_ctor_get(x_178, 1); +lean_inc(x_180); +if (lean_is_exclusive(x_178)) { + lean_ctor_release(x_178, 0); + lean_ctor_release(x_178, 1); + x_181 = x_178; +} else { + lean_dec_ref(x_178); + x_181 = lean_box(0); +} +if (lean_is_scalar(x_181)) { + x_182 = lean_alloc_ctor(1, 2, 0); +} else { + x_182 = x_181; +} +lean_ctor_set(x_182, 0, x_179); +lean_ctor_set(x_182, 1, x_180); +return x_182; +} +} +} +else +{ +lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; uint8_t x_194; +x_183 = lean_ctor_get(x_2, 1); +lean_inc(x_183); +lean_dec(x_2); +x_184 = lean_ctor_get(x_13, 0); +lean_inc(x_184); +x_185 = lean_ctor_get(x_13, 2); +lean_inc(x_185); +x_186 = lean_ctor_get(x_13, 3); +lean_inc(x_186); +if (lean_is_exclusive(x_13)) { + lean_ctor_release(x_13, 0); + lean_ctor_release(x_13, 1); + lean_ctor_release(x_13, 2); + lean_ctor_release(x_13, 3); + x_187 = x_13; +} else { + lean_dec_ref(x_13); + x_187 = lean_box(0); +} +x_188 = lean_ctor_get(x_14, 1); +lean_inc(x_188); +if (lean_is_exclusive(x_14)) { + lean_ctor_release(x_14, 0); + lean_ctor_release(x_14, 1); + x_189 = x_14; +} else { + lean_dec_ref(x_14); + x_189 = lean_box(0); +} +x_190 = lean_ctor_get(x_22, 0); +lean_inc(x_190); +x_191 = lean_ctor_get(x_22, 1); +lean_inc(x_191); +if (lean_is_exclusive(x_22)) { + lean_ctor_release(x_22, 0); + lean_ctor_release(x_22, 1); + x_192 = x_22; +} else { + lean_dec_ref(x_22); + x_192 = lean_box(0); +} +x_193 = lean_unsigned_to_nat(0u); +x_194 = lean_nat_dec_eq(x_191, x_193); +if (x_194 == 0) +{ +lean_object* x_195; uint8_t x_196; +x_195 = lean_array_get_size(x_1); +x_196 = lean_nat_dec_lt(x_195, x_191); +if (x_196 == 0) +{ +lean_object* x_197; lean_object* x_198; uint8_t x_199; +x_197 = lean_unsigned_to_nat(1u); +x_198 = lean_nat_sub(x_191, x_197); +lean_dec(x_191); +x_199 = lean_nat_dec_lt(x_198, x_195); +lean_dec(x_195); +if (x_199 == 0) +{ +lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; +lean_dec(x_198); +x_200 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkSourcesWithSyntax___closed__4; +x_201 = l_panic___at___private_Init_Prelude_0__Lean_assembleParts___spec__1(x_200); +if (lean_is_scalar(x_192)) { + x_202 = lean_alloc_ctor(0, 2, 0); +} else { + x_202 = x_192; + lean_ctor_set_tag(x_202, 0); +} +lean_ctor_set(x_202, 0, x_190); +lean_ctor_set(x_202, 1, x_201); +if (lean_is_scalar(x_189)) { + x_203 = lean_alloc_ctor(1, 2, 0); +} else { + x_203 = x_189; +} +lean_ctor_set(x_203, 0, x_202); +lean_ctor_set(x_203, 1, x_188); +if (lean_is_scalar(x_187)) { + x_204 = lean_alloc_ctor(0, 4, 0); +} else { + x_204 = x_187; +} +lean_ctor_set(x_204, 0, x_184); +lean_ctor_set(x_204, 1, x_203); +lean_ctor_set(x_204, 2, x_185); +lean_ctor_set(x_204, 3, x_186); +x_205 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_205, 0, x_204); +lean_ctor_set(x_205, 1, x_3); +x_2 = x_183; +x_3 = x_205; +goto _start; +} +else +{ +lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; +x_207 = lean_array_fget(x_1, x_198); +lean_dec(x_198); +if (lean_is_scalar(x_192)) { + x_208 = lean_alloc_ctor(0, 2, 0); +} else { + x_208 = x_192; + lean_ctor_set_tag(x_208, 0); +} +lean_ctor_set(x_208, 0, x_190); +lean_ctor_set(x_208, 1, x_207); +if (lean_is_scalar(x_189)) { + x_209 = lean_alloc_ctor(1, 2, 0); +} else { + x_209 = x_189; +} +lean_ctor_set(x_209, 0, x_208); +lean_ctor_set(x_209, 1, x_188); +if (lean_is_scalar(x_187)) { + x_210 = lean_alloc_ctor(0, 4, 0); +} else { + x_210 = x_187; +} +lean_ctor_set(x_210, 0, x_184); +lean_ctor_set(x_210, 1, x_209); +lean_ctor_set(x_210, 2, x_185); +lean_ctor_set(x_210, 3, x_186); +x_211 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_211, 0, x_210); +lean_ctor_set(x_211, 1, x_3); +x_2 = x_183; +x_3 = x_211; +goto _start; +} +} +else +{ +lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; +lean_dec(x_192); +lean_dec(x_191); +lean_dec(x_189); +lean_dec(x_188); +lean_dec(x_187); +lean_dec(x_186); +lean_dec(x_185); +lean_dec(x_184); +lean_dec(x_183); +lean_dec(x_3); +x_213 = l_Nat_repr(x_195); +x_214 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_214, 0, x_213); +x_215 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_215, 0, x_214); +x_216 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__2; +x_217 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_217, 0, x_216); +lean_ctor_set(x_217, 1, x_215); +x_218 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__4; +x_219 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_219, 0, x_217); +lean_ctor_set(x_219, 1, x_218); +x_220 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(x_190, x_219, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_221 = lean_ctor_get(x_220, 0); +lean_inc(x_221); +x_222 = lean_ctor_get(x_220, 1); +lean_inc(x_222); +if (lean_is_exclusive(x_220)) { + lean_ctor_release(x_220, 0); + lean_ctor_release(x_220, 1); + x_223 = x_220; +} else { + lean_dec_ref(x_220); + x_223 = lean_box(0); +} +if (lean_is_scalar(x_223)) { + x_224 = lean_alloc_ctor(1, 2, 0); +} else { + x_224 = x_223; +} +lean_ctor_set(x_224, 0, x_221); +lean_ctor_set(x_224, 1, x_222); +return x_224; +} +} +else +{ +lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; +lean_dec(x_192); +lean_dec(x_191); +lean_dec(x_189); +lean_dec(x_188); +lean_dec(x_187); +lean_dec(x_186); +lean_dec(x_185); +lean_dec(x_184); +lean_dec(x_183); +lean_dec(x_3); +x_225 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__6; +x_226 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(x_190, x_225, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_227 = lean_ctor_get(x_226, 0); +lean_inc(x_227); +x_228 = lean_ctor_get(x_226, 1); +lean_inc(x_228); +if (lean_is_exclusive(x_226)) { + lean_ctor_release(x_226, 0); + lean_ctor_release(x_226, 1); + x_229 = x_226; +} else { + lean_dec_ref(x_226); + 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 +{ +uint8_t x_231; +lean_dec(x_22); +x_231 = !lean_is_exclusive(x_14); +if (x_231 == 0) +{ +lean_object* x_232; lean_object* x_233; lean_object* x_234; +x_232 = lean_ctor_get(x_14, 1); +lean_dec(x_232); +x_233 = lean_ctor_get(x_14, 0); +lean_dec(x_233); +x_234 = lean_ctor_get(x_2, 1); +lean_inc(x_234); +lean_dec(x_2); +lean_ctor_set(x_14, 1, x_3); +lean_ctor_set(x_14, 0, x_13); +x_2 = x_234; +x_3 = x_14; +goto _start; +} +else +{ +lean_object* x_236; lean_object* x_237; lean_dec(x_14); -lean_dec(x_13); -x_175 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__6; -x_176 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(x_144, x_175, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -x_177 = lean_ctor_get(x_176, 0); -lean_inc(x_177); -x_178 = lean_ctor_get(x_176, 1); -lean_inc(x_178); -if (lean_is_exclusive(x_176)) { - lean_ctor_release(x_176, 0); - lean_ctor_release(x_176, 1); - x_179 = x_176; -} else { - lean_dec_ref(x_176); - x_179 = lean_box(0); -} -if (lean_is_scalar(x_179)) { - x_180 = lean_alloc_ctor(1, 2, 0); -} else { - x_180 = x_179; -} -lean_ctor_set(x_180, 0, x_177); -lean_ctor_set(x_180, 1, x_178); -return x_180; -} -} -} -else -{ -lean_dec(x_31); -lean_dec(x_30); -x_15 = x_12; -x_16 = x_9; -goto block_29; -} -} -block_29: -{ -lean_object* x_17; -x_17 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3(x_1, x_13, x_3, x_4, x_5, x_6, x_7, x_8, x_16); -if (lean_obj_tag(x_17) == 0) -{ -uint8_t x_18; -x_18 = !lean_is_exclusive(x_17); -if (x_18 == 0) -{ -lean_object* x_19; lean_object* x_20; -x_19 = lean_ctor_get(x_17, 0); -if (lean_is_scalar(x_14)) { - x_20 = lean_alloc_ctor(1, 2, 0); -} else { - x_20 = x_14; -} -lean_ctor_set(x_20, 0, x_15); -lean_ctor_set(x_20, 1, x_19); -lean_ctor_set(x_17, 0, x_20); -return x_17; -} -else -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_21 = lean_ctor_get(x_17, 0); -x_22 = lean_ctor_get(x_17, 1); -lean_inc(x_22); -lean_inc(x_21); -lean_dec(x_17); -if (lean_is_scalar(x_14)) { - x_23 = lean_alloc_ctor(1, 2, 0); -} else { - x_23 = x_14; -} -lean_ctor_set(x_23, 0, x_15); -lean_ctor_set(x_23, 1, x_21); -x_24 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_24, 0, x_23); -lean_ctor_set(x_24, 1, x_22); -return x_24; -} -} -else -{ -uint8_t x_25; -lean_dec(x_15); -lean_dec(x_14); -x_25 = !lean_is_exclusive(x_17); -if (x_25 == 0) -{ -return x_17; -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_17, 0); -x_27 = lean_ctor_get(x_17, 1); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_17); -x_28 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -return x_28; +x_236 = lean_ctor_get(x_2, 1); +lean_inc(x_236); +lean_dec(x_2); +x_237 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_237, 0, x_13); +lean_ctor_set(x_237, 1, x_3); +x_2 = x_236; +x_3 = x_237; +goto _start; } } } @@ -10799,7 +10888,7 @@ return x_40; LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; x_10 = lean_st_ref_get(x_8, x_9); x_11 = lean_ctor_get(x_10, 0); lean_inc(x_11); @@ -10812,9 +10901,10 @@ lean_dec(x_11); x_14 = l_Lean_Elab_Term_StructInst_Struct_structName(x_1); lean_dec(x_1); x_15 = l_Lean_getStructureFields(x_13, x_14); -x_16 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3(x_15, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_12); +x_16 = lean_box(0); +x_17 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3(x_15, x_2, x_16, x_3, x_4, x_5, x_6, x_7, x_8, x_12); lean_dec(x_15); -return x_16; +return x_17; } } LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { @@ -10841,13 +10931,13 @@ lean_dec(x_3); return x_9; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { -lean_object* x_10; -x_10 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_object* x_11; +x_11 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec(x_1); -return x_10; +return x_11; } } LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__1(lean_object* x_1) { @@ -10989,7 +11079,7 @@ goto _start; } } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__1() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__1() { _start: { lean_object* x_1; @@ -10997,16 +11087,16 @@ x_1 = lean_mk_string_from_bytes("'", 1); return x_1; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__2() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__1; +x_1 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__3() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__3() { _start: { lean_object* x_1; @@ -11014,16 +11104,16 @@ x_1 = lean_mk_string_from_bytes("' is not a field of structure '", 31); return x_1; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__4() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__3; +x_1 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__3; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__5() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__5() { _start: { lean_object* x_1; @@ -11031,16 +11121,16 @@ x_1 = lean_mk_string_from_bytes("failed to access field '", 24); return x_1; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__6() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__6() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__5; +x_1 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__5; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__7() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__7() { _start: { lean_object* x_1; @@ -11048,389 +11138,445 @@ x_1 = lean_mk_string_from_bytes("' in parent structure", 21); return x_1; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__8() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__8() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__7; +x_1 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__7; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___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: { if (lean_obj_tag(x_3) == 0) { -lean_object* x_11; lean_object* x_12; +lean_object* x_12; lean_object* x_13; +lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -lean_dec(x_4); lean_dec(x_2); -x_11 = lean_box(0); -x_12 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_12, 0, x_11); -lean_ctor_set(x_12, 1, x_10); -return x_12; +x_12 = l_List_reverse___rarg(x_4); +x_13 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_13, 0, x_12); +lean_ctor_set(x_13, 1, x_11); +return x_13; } else { -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_31; -x_13 = lean_ctor_get(x_3, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_3, 1); +lean_object* x_14; lean_object* x_15; +x_14 = lean_ctor_get(x_3, 0); lean_inc(x_14); -if (lean_is_exclusive(x_3)) { - lean_ctor_release(x_3, 0); - lean_ctor_release(x_3, 1); - x_15 = x_3; -} else { - lean_dec_ref(x_3); - x_15 = lean_box(0); -} -x_31 = lean_ctor_get(x_13, 1); -lean_inc(x_31); -if (lean_obj_tag(x_31) == 0) +x_15 = lean_ctor_get(x_14, 1); +lean_inc(x_15); +if (lean_obj_tag(x_15) == 0) { -x_16 = x_13; -x_17 = x_10; -goto block_30; +uint8_t x_16; +x_16 = !lean_is_exclusive(x_3); +if (x_16 == 0) +{ +lean_object* x_17; lean_object* x_18; +x_17 = lean_ctor_get(x_3, 1); +x_18 = lean_ctor_get(x_3, 0); +lean_dec(x_18); +lean_ctor_set(x_3, 1, x_4); +{ +lean_object* _tmp_2 = x_17; +lean_object* _tmp_3 = x_3; +x_3 = _tmp_2; +x_4 = _tmp_3; +} +goto _start; } else { -lean_object* x_32; -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -if (lean_obj_tag(x_32) == 0) -{ -lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_33 = lean_ctor_get(x_13, 0); -lean_inc(x_33); -x_34 = lean_ctor_get(x_13, 2); -lean_inc(x_34); -x_35 = lean_ctor_get(x_13, 3); -lean_inc(x_35); -x_36 = lean_ctor_get(x_32, 0); -lean_inc(x_36); -x_37 = lean_ctor_get(x_32, 1); -lean_inc(x_37); -lean_dec(x_32); -x_38 = lean_ctor_get(x_6, 1); -lean_inc(x_38); -x_39 = l_Lean_Elab_Term_StructInst_Struct_structName(x_1); -lean_inc(x_39); -lean_inc(x_37); -lean_inc(x_36); -x_40 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_40, 0, x_36); -lean_ctor_set(x_40, 1, x_37); -lean_ctor_set(x_40, 2, x_38); -lean_ctor_set(x_40, 3, x_39); -x_41 = l_Lean_Elab_addCompletionInfo___at_Lean_Elab_Term_addDotCompletionInfo___spec__1(x_40, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -x_42 = lean_ctor_get(x_41, 1); -lean_inc(x_42); -lean_dec(x_41); -lean_inc(x_39); -lean_inc(x_2); -x_43 = l_Lean_findField_x3f(x_2, x_39, x_37); -if (lean_obj_tag(x_43) == 0) -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; uint8_t x_53; -lean_dec(x_35); -lean_dec(x_34); -lean_dec(x_33); -lean_dec(x_31); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_2); -x_44 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_44, 0, x_37); -x_45 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__2; -x_46 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_46, 0, x_45); -lean_ctor_set(x_46, 1, x_44); -x_47 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__4; -x_48 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -x_49 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_49, 0, x_39); -x_50 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_50, 0, x_48); -lean_ctor_set(x_50, 1, x_49); -x_51 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_51, 0, x_50); -lean_ctor_set(x_51, 1, x_45); -x_52 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(x_36, x_51, x_4, x_5, x_6, x_7, x_8, x_9, x_42); -x_53 = !lean_is_exclusive(x_52); -if (x_53 == 0) -{ -return x_52; -} -else -{ -lean_object* x_54; lean_object* x_55; lean_object* x_56; -x_54 = lean_ctor_get(x_52, 0); -x_55 = lean_ctor_get(x_52, 1); -lean_inc(x_55); -lean_inc(x_54); -lean_dec(x_52); -x_56 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_56, 0, x_54); -lean_ctor_set(x_56, 1, x_55); -return x_56; -} -} -else -{ -lean_object* x_57; uint8_t x_58; -x_57 = lean_ctor_get(x_43, 0); -lean_inc(x_57); -lean_dec(x_43); -x_58 = lean_name_eq(x_57, x_39); -if (x_58 == 0) -{ -uint8_t x_59; -x_59 = !lean_is_exclusive(x_13); -if (x_59 == 0) -{ -lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; -x_60 = lean_ctor_get(x_13, 3); -lean_dec(x_60); -x_61 = lean_ctor_get(x_13, 2); -lean_dec(x_61); -x_62 = lean_ctor_get(x_13, 1); -lean_dec(x_62); -x_63 = lean_ctor_get(x_13, 0); -lean_dec(x_63); -lean_inc(x_2); -x_64 = l_Lean_getPathToBaseStructure_x3f(x_2, x_57, x_39); -lean_dec(x_57); -if (lean_obj_tag(x_64) == 0) -{ -lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71; -lean_free_object(x_13); -lean_dec(x_35); -lean_dec(x_34); -lean_dec(x_33); -lean_dec(x_31); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_2); -x_65 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_65, 0, x_37); -x_66 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__6; -x_67 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_67, 0, x_66); -lean_ctor_set(x_67, 1, x_65); -x_68 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__8; -x_69 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_69, 0, x_67); -lean_ctor_set(x_69, 1, x_68); -x_70 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(x_36, x_69, x_4, x_5, x_6, x_7, x_8, x_9, x_42); -x_71 = !lean_is_exclusive(x_70); -if (x_71 == 0) -{ -return x_70; -} -else -{ -lean_object* x_72; lean_object* x_73; lean_object* x_74; -x_72 = lean_ctor_get(x_70, 0); -x_73 = lean_ctor_get(x_70, 1); -lean_inc(x_73); -lean_inc(x_72); -lean_dec(x_70); -x_74 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_74, 0, x_72); -lean_ctor_set(x_74, 1, x_73); -return x_74; -} -} -else -{ -lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; -lean_dec(x_37); -x_75 = lean_ctor_get(x_64, 0); -lean_inc(x_75); -lean_dec(x_64); -x_76 = lean_box(0); -x_77 = l_List_mapTRAux___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__2(x_36, x_75, x_76); -x_78 = l_List_appendTR___rarg(x_77, x_31); -lean_ctor_set(x_13, 1, x_78); -x_16 = x_13; -x_17 = x_42; -goto block_30; -} -} -else -{ -lean_object* x_79; -lean_dec(x_13); -lean_inc(x_2); -x_79 = l_Lean_getPathToBaseStructure_x3f(x_2, x_57, x_39); -lean_dec(x_57); -if (lean_obj_tag(x_79) == 0) -{ -lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; -lean_dec(x_35); -lean_dec(x_34); -lean_dec(x_33); -lean_dec(x_31); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_2); -x_80 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_80, 0, x_37); -x_81 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__6; -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_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__8; -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_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(x_36, x_84, x_4, x_5, x_6, x_7, x_8, x_9, x_42); -x_86 = lean_ctor_get(x_85, 0); -lean_inc(x_86); -x_87 = lean_ctor_get(x_85, 1); -lean_inc(x_87); -if (lean_is_exclusive(x_85)) { - lean_ctor_release(x_85, 0); - lean_ctor_release(x_85, 1); - x_88 = x_85; -} else { - lean_dec_ref(x_85); - x_88 = lean_box(0); -} -if (lean_is_scalar(x_88)) { - x_89 = lean_alloc_ctor(1, 2, 0); -} else { - x_89 = x_88; -} -lean_ctor_set(x_89, 0, x_86); -lean_ctor_set(x_89, 1, x_87); -return x_89; -} -else -{ -lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; -lean_dec(x_37); -x_90 = lean_ctor_get(x_79, 0); -lean_inc(x_90); -lean_dec(x_79); -x_91 = lean_box(0); -x_92 = l_List_mapTRAux___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__2(x_36, x_90, x_91); -x_93 = l_List_appendTR___rarg(x_92, x_31); -x_94 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_94, 0, x_33); -lean_ctor_set(x_94, 1, x_93); -lean_ctor_set(x_94, 2, x_34); -lean_ctor_set(x_94, 3, x_35); -x_16 = x_94; -x_17 = x_42; -goto block_30; -} -} -} -else -{ -lean_dec(x_57); -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_31); -x_16 = x_13; -x_17 = x_42; -goto block_30; -} -} -} -else -{ -lean_dec(x_32); -lean_dec(x_31); -x_16 = x_13; -x_17 = x_10; -goto block_30; -} -} -block_30: -{ -lean_object* x_18; -x_18 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3(x_1, x_2, x_14, x_4, x_5, x_6, x_7, x_8, x_9, x_17); -if (lean_obj_tag(x_18) == 0) -{ -uint8_t x_19; -x_19 = !lean_is_exclusive(x_18); -if (x_19 == 0) -{ lean_object* x_20; lean_object* x_21; -x_20 = lean_ctor_get(x_18, 0); -if (lean_is_scalar(x_15)) { - x_21 = lean_alloc_ctor(1, 2, 0); -} else { - x_21 = x_15; +x_20 = lean_ctor_get(x_3, 1); +lean_inc(x_20); +lean_dec(x_3); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_14); +lean_ctor_set(x_21, 1, x_4); +x_3 = x_20; +x_4 = x_21; +goto _start; } -lean_ctor_set(x_21, 0, x_16); -lean_ctor_set(x_21, 1, x_20); -lean_ctor_set(x_18, 0, x_21); -return x_18; } else { -lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_22 = lean_ctor_get(x_18, 0); -x_23 = lean_ctor_get(x_18, 1); +lean_object* x_23; +x_23 = lean_ctor_get(x_15, 0); lean_inc(x_23); -lean_inc(x_22); -lean_dec(x_18); -if (lean_is_scalar(x_15)) { - x_24 = lean_alloc_ctor(1, 2, 0); -} else { - x_24 = x_15; -} -lean_ctor_set(x_24, 0, x_16); -lean_ctor_set(x_24, 1, x_22); -x_25 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_25, 0, x_24); -lean_ctor_set(x_25, 1, x_23); -return x_25; -} -} -else +if (lean_obj_tag(x_23) == 0) { -uint8_t x_26; -lean_dec(x_16); -lean_dec(x_15); -x_26 = !lean_is_exclusive(x_18); -if (x_26 == 0) -{ -return x_18; -} -else -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_27 = lean_ctor_get(x_18, 0); -x_28 = lean_ctor_get(x_18, 1); -lean_inc(x_28); +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_24 = lean_ctor_get(x_3, 1); +lean_inc(x_24); +lean_dec(x_3); +x_25 = lean_ctor_get(x_14, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_14, 2); +lean_inc(x_26); +x_27 = lean_ctor_get(x_14, 3); lean_inc(x_27); -lean_dec(x_18); -x_29 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_29, 0, x_27); -lean_ctor_set(x_29, 1, x_28); -return x_29; +x_28 = lean_ctor_get(x_23, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_23, 1); +lean_inc(x_29); +lean_dec(x_23); +x_30 = lean_ctor_get(x_7, 1); +lean_inc(x_30); +x_31 = l_Lean_Elab_Term_StructInst_Struct_structName(x_1); +lean_inc(x_31); +lean_inc(x_29); +lean_inc(x_28); +x_32 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_32, 0, x_28); +lean_ctor_set(x_32, 1, x_29); +lean_ctor_set(x_32, 2, x_30); +lean_ctor_set(x_32, 3, x_31); +x_33 = l_Lean_Elab_addCompletionInfo___at_Lean_Elab_Term_addDotCompletionInfo___spec__1(x_32, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +x_34 = lean_ctor_get(x_33, 1); +lean_inc(x_34); +lean_dec(x_33); +lean_inc(x_31); +lean_inc(x_2); +x_35 = l_Lean_findField_x3f(x_2, x_31, x_29); +if (lean_obj_tag(x_35) == 0) +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; +lean_dec(x_27); +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_4); +lean_dec(x_2); +x_36 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_36, 0, x_29); +x_37 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__2; +x_38 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_38, 0, x_37); +lean_ctor_set(x_38, 1, x_36); +x_39 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__4; +x_40 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_40, 0, x_38); +lean_ctor_set(x_40, 1, x_39); +x_41 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_41, 0, x_31); +x_42 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_42, 0, x_40); +lean_ctor_set(x_42, 1, x_41); +x_43 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_43, 0, x_42); +lean_ctor_set(x_43, 1, x_37); +x_44 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(x_28, x_43, x_5, x_6, x_7, x_8, x_9, x_10, x_34); +x_45 = !lean_is_exclusive(x_44); +if (x_45 == 0) +{ +return x_44; +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_44, 0); +x_47 = lean_ctor_get(x_44, 1); +lean_inc(x_47); +lean_inc(x_46); +lean_dec(x_44); +x_48 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_47); +return x_48; +} +} +else +{ +lean_object* x_49; uint8_t x_50; +x_49 = lean_ctor_get(x_35, 0); +lean_inc(x_49); +lean_dec(x_35); +x_50 = lean_name_eq(x_49, x_31); +if (x_50 == 0) +{ +uint8_t x_51; +x_51 = !lean_is_exclusive(x_14); +if (x_51 == 0) +{ +lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; +x_52 = lean_ctor_get(x_14, 3); +lean_dec(x_52); +x_53 = lean_ctor_get(x_14, 2); +lean_dec(x_53); +x_54 = lean_ctor_get(x_14, 1); +lean_dec(x_54); +x_55 = lean_ctor_get(x_14, 0); +lean_dec(x_55); +lean_inc(x_2); +x_56 = l_Lean_getPathToBaseStructure_x3f(x_2, x_49, x_31); +lean_dec(x_49); +if (lean_obj_tag(x_56) == 0) +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63; +lean_free_object(x_14); +lean_dec(x_27); +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_15); +lean_dec(x_4); +lean_dec(x_2); +x_57 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_57, 0, x_29); +x_58 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__6; +x_59 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_59, 0, x_58); +lean_ctor_set(x_59, 1, x_57); +x_60 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__8; +x_61 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_61, 0, x_59); +lean_ctor_set(x_61, 1, x_60); +x_62 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(x_28, x_61, x_5, x_6, x_7, x_8, x_9, x_10, x_34); +x_63 = !lean_is_exclusive(x_62); +if (x_63 == 0) +{ +return x_62; +} +else +{ +lean_object* x_64; lean_object* x_65; lean_object* x_66; +x_64 = lean_ctor_get(x_62, 0); +x_65 = lean_ctor_get(x_62, 1); +lean_inc(x_65); +lean_inc(x_64); +lean_dec(x_62); +x_66 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_66, 0, x_64); +lean_ctor_set(x_66, 1, x_65); +return x_66; +} +} +else +{ +lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71; +lean_dec(x_29); +x_67 = lean_ctor_get(x_56, 0); +lean_inc(x_67); +lean_dec(x_56); +x_68 = lean_box(0); +x_69 = l_List_mapTRAux___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__2(x_28, x_67, x_68); +lean_inc(x_15); +x_70 = l_List_appendTR___rarg(x_69, x_15); +x_71 = !lean_is_exclusive(x_15); +if (x_71 == 0) +{ +lean_object* x_72; lean_object* x_73; +x_72 = lean_ctor_get(x_15, 1); +lean_dec(x_72); +x_73 = lean_ctor_get(x_15, 0); +lean_dec(x_73); +lean_ctor_set(x_14, 1, x_70); +lean_ctor_set(x_15, 1, x_4); +lean_ctor_set(x_15, 0, x_14); +x_3 = x_24; +x_4 = x_15; +x_11 = x_34; +goto _start; +} +else +{ +lean_object* x_75; +lean_dec(x_15); +lean_ctor_set(x_14, 1, x_70); +x_75 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_75, 0, x_14); +lean_ctor_set(x_75, 1, x_4); +x_3 = x_24; +x_4 = x_75; +x_11 = x_34; +goto _start; +} +} +} +else +{ +lean_object* x_77; +lean_dec(x_14); +lean_inc(x_2); +x_77 = l_Lean_getPathToBaseStructure_x3f(x_2, x_49, x_31); +lean_dec(x_49); +if (lean_obj_tag(x_77) == 0) +{ +lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; +lean_dec(x_27); +lean_dec(x_26); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_15); +lean_dec(x_4); +lean_dec(x_2); +x_78 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_78, 0, x_29); +x_79 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__6; +x_80 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_80, 0, x_79); +lean_ctor_set(x_80, 1, x_78); +x_81 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__8; +x_82 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_82, 0, x_80); +lean_ctor_set(x_82, 1, x_81); +x_83 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__1(x_28, x_82, x_5, x_6, x_7, x_8, x_9, x_10, x_34); +x_84 = lean_ctor_get(x_83, 0); +lean_inc(x_84); +x_85 = lean_ctor_get(x_83, 1); +lean_inc(x_85); +if (lean_is_exclusive(x_83)) { + lean_ctor_release(x_83, 0); + lean_ctor_release(x_83, 1); + x_86 = x_83; +} else { + lean_dec_ref(x_83); + x_86 = lean_box(0); +} +if (lean_is_scalar(x_86)) { + x_87 = lean_alloc_ctor(1, 2, 0); +} else { + x_87 = x_86; +} +lean_ctor_set(x_87, 0, x_84); +lean_ctor_set(x_87, 1, x_85); +return x_87; +} +else +{ +lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; +lean_dec(x_29); +x_88 = lean_ctor_get(x_77, 0); +lean_inc(x_88); +lean_dec(x_77); +x_89 = lean_box(0); +x_90 = l_List_mapTRAux___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__2(x_28, x_88, x_89); +lean_inc(x_15); +x_91 = l_List_appendTR___rarg(x_90, x_15); +if (lean_is_exclusive(x_15)) { + lean_ctor_release(x_15, 0); + lean_ctor_release(x_15, 1); + x_92 = x_15; +} else { + lean_dec_ref(x_15); + x_92 = lean_box(0); +} +x_93 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_93, 0, x_25); +lean_ctor_set(x_93, 1, x_91); +lean_ctor_set(x_93, 2, x_26); +lean_ctor_set(x_93, 3, x_27); +if (lean_is_scalar(x_92)) { + x_94 = lean_alloc_ctor(1, 2, 0); +} else { + x_94 = x_92; +} +lean_ctor_set(x_94, 0, x_93); +lean_ctor_set(x_94, 1, x_4); +x_3 = x_24; +x_4 = x_94; +x_11 = x_34; +goto _start; +} +} +} +else +{ +uint8_t x_96; +lean_dec(x_49); +lean_dec(x_31); +lean_dec(x_29); +lean_dec(x_28); +lean_dec(x_27); +lean_dec(x_26); +lean_dec(x_25); +x_96 = !lean_is_exclusive(x_15); +if (x_96 == 0) +{ +lean_object* x_97; lean_object* x_98; +x_97 = lean_ctor_get(x_15, 1); +lean_dec(x_97); +x_98 = lean_ctor_get(x_15, 0); +lean_dec(x_98); +lean_ctor_set(x_15, 1, x_4); +lean_ctor_set(x_15, 0, x_14); +x_3 = x_24; +x_4 = x_15; +x_11 = x_34; +goto _start; +} +else +{ +lean_object* x_100; +lean_dec(x_15); +x_100 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_100, 0, x_14); +lean_ctor_set(x_100, 1, x_4); +x_3 = x_24; +x_4 = x_100; +x_11 = x_34; +goto _start; } } } } +else +{ +uint8_t x_102; +lean_dec(x_23); +x_102 = !lean_is_exclusive(x_15); +if (x_102 == 0) +{ +lean_object* x_103; lean_object* x_104; lean_object* x_105; +x_103 = lean_ctor_get(x_15, 1); +lean_dec(x_103); +x_104 = lean_ctor_get(x_15, 0); +lean_dec(x_104); +x_105 = lean_ctor_get(x_3, 1); +lean_inc(x_105); +lean_dec(x_3); +lean_ctor_set(x_15, 1, x_4); +lean_ctor_set(x_15, 0, x_14); +x_3 = x_105; +x_4 = x_15; +goto _start; +} +else +{ +lean_object* x_107; lean_object* x_108; +lean_dec(x_15); +x_107 = lean_ctor_get(x_3, 1); +lean_inc(x_107); +lean_dec(x_3); +x_108 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_108, 0, x_14); +lean_ctor_set(x_108, 1, x_4); +x_3 = x_107; +x_4 = x_108; +goto _start; +} +} +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___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; +x_11 = lean_box(0); +x_12 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3(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_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { @@ -11447,18 +11593,27 @@ x_12 = lean_ctor_get(x_10, 0); lean_inc(x_12); lean_dec(x_10); lean_inc(x_1); -x_13 = lean_alloc_closure((void*)(l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___boxed), 10, 2); +x_13 = lean_alloc_closure((void*)(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___lambda__1___boxed), 10, 2); lean_closure_set(x_13, 0, x_1); lean_closure_set(x_13, 1, x_12); x_14 = l_Lean_Elab_Term_StructInst_Struct_modifyFieldsM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__4(x_1, x_13, x_2, x_3, x_4, x_5, x_6, x_7, x_11); return x_14; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___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_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___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_1); +return x_12; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___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_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_11 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___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_1); return x_11; } @@ -12793,7 +12948,7 @@ lean_ctor_set(x_20, 0, x_1); x_21 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_21, 0, x_19); lean_ctor_set(x_21, 1, x_20); -x_22 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__2; +x_22 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__2; x_23 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_23, 0, x_21); lean_ctor_set(x_23, 1, x_22); @@ -13393,7 +13548,7 @@ return x_10; } } } -static lean_object* _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8___closed__1() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8___closed__1() { _start: { lean_object* x_1; @@ -13401,256 +13556,265 @@ x_1 = l_Lean_Elab_Term_StructInst_instInhabitedField(lean_box(0)); return x_1; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { if (lean_obj_tag(x_4) == 0) { -lean_object* x_12; lean_object* x_13; +lean_object* x_13; lean_object* x_14; +lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); -x_12 = lean_box(0); -x_13 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_13, 0, x_12); -lean_ctor_set(x_13, 1, x_11); -return x_13; +x_13 = l_List_reverse___rarg(x_5); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_13); +lean_ctor_set(x_14, 1, x_12); +return x_14; } else { -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_14 = lean_ctor_get(x_4, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_4, 1); +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_15 = lean_ctor_get(x_4, 0); lean_inc(x_15); +x_16 = lean_ctor_get(x_4, 1); +lean_inc(x_16); if (lean_is_exclusive(x_4)) { lean_ctor_release(x_4, 0); lean_ctor_release(x_4, 1); - x_16 = x_4; + x_17 = x_4; } else { lean_dec_ref(x_4); - x_16 = lean_box(0); + x_17 = lean_box(0); } -x_32 = lean_ctor_get(x_14, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_14, 1); -lean_inc(x_33); -lean_dec(x_14); -x_34 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isSimpleField_x3f(x_33); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_57; lean_object* x_58; -x_35 = lean_box(0); -lean_inc(x_33); -x_36 = l_List_mapTRAux___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__1(x_33, x_35); -x_37 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8___closed__1; -x_38 = l_List_head_x21___rarg(x_37, x_33); -lean_dec(x_33); -x_57 = l_Lean_Elab_Term_StructInst_Struct_structName(x_1); -lean_inc(x_32); -lean_inc(x_2); -x_58 = l_Lean_isSubobjectField_x3f(x_2, x_57, x_32); -if (lean_obj_tag(x_58) == 0) -{ -lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; size_t x_66; size_t x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; uint8_t x_83; -x_59 = lean_unsigned_to_nat(4u); -x_60 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__4; -lean_inc(x_3); -x_61 = l_Lean_Syntax_setArg(x_3, x_59, x_60); -x_62 = l_List_redLength___rarg(x_36); -x_63 = lean_mk_empty_array_with_capacity(x_62); -lean_dec(x_62); -x_64 = l_List_toArrayAux___rarg(x_36, x_63); -x_65 = lean_array_get_size(x_64); -x_66 = lean_usize_of_nat(x_65); -lean_dec(x_65); -x_67 = 0; -x_68 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__2(x_66, x_67, x_64); -x_69 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__5; -x_70 = l_Lean_mkSepArray(x_68, x_69); -lean_dec(x_68); -x_71 = lean_box(2); -x_72 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__3; -x_73 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_73, 0, x_71); -lean_ctor_set(x_73, 1, x_72); -lean_ctor_set(x_73, 2, x_70); -x_74 = lean_unsigned_to_nat(2u); -x_75 = l_Lean_Syntax_setArg(x_61, x_74, x_73); -x_76 = l_Lean_Elab_Term_StructInst_Struct_source(x_1); -x_77 = lean_ctor_get(x_76, 0); -lean_inc(x_77); -x_78 = lean_array_get_size(x_77); -x_79 = lean_unsigned_to_nat(0u); -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_80 = l_Array_filterMapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__3(x_32, x_77, x_79, x_78, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_77); -x_81 = lean_ctor_get(x_80, 0); -lean_inc(x_81); -x_82 = lean_ctor_get(x_80, 1); -lean_inc(x_82); -lean_dec(x_80); -x_83 = l_Array_isEmpty___rarg(x_81); -if (x_83 == 0) -{ -lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; -x_84 = lean_ctor_get(x_76, 1); -lean_inc(x_84); -lean_dec(x_76); -x_85 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkSourcesWithSyntax(x_81); -lean_dec(x_81); -x_86 = lean_unsigned_to_nat(1u); -x_87 = l_Lean_Syntax_setArg(x_75, x_86, x_85); -if (lean_obj_tag(x_84) == 0) -{ -lean_object* x_88; lean_object* x_89; -x_88 = lean_unsigned_to_nat(3u); -x_89 = l_Lean_Syntax_setArg(x_87, x_88, x_60); -x_39 = x_89; -x_40 = x_82; -goto block_56; -} -else -{ -lean_object* x_90; lean_object* x_91; lean_object* x_92; -x_90 = lean_ctor_get(x_84, 0); -lean_inc(x_90); -lean_dec(x_84); -x_91 = lean_unsigned_to_nat(3u); -x_92 = l_Lean_Syntax_setArg(x_87, x_91, x_90); -x_39 = x_92; -x_40 = x_82; -goto block_56; -} -} -else -{ -lean_object* x_93; lean_object* x_94; lean_object* x_95; -lean_dec(x_81); -x_93 = lean_ctor_get(x_76, 1); -lean_inc(x_93); -lean_dec(x_76); -x_94 = lean_unsigned_to_nat(1u); -x_95 = l_Lean_Syntax_setArg(x_75, x_94, x_60); -if (lean_obj_tag(x_93) == 0) -{ -lean_object* x_96; lean_object* x_97; -x_96 = lean_unsigned_to_nat(3u); -x_97 = l_Lean_Syntax_setArg(x_95, x_96, x_60); -x_39 = x_97; -x_40 = x_82; -goto block_56; -} -else -{ -lean_object* x_98; lean_object* x_99; lean_object* x_100; -x_98 = lean_ctor_get(x_93, 0); -lean_inc(x_98); -lean_dec(x_93); -x_99 = lean_unsigned_to_nat(3u); -x_100 = l_Lean_Syntax_setArg(x_95, x_99, x_98); -x_39 = x_100; -x_40 = x_82; -goto block_56; -} -} -} -else -{ -lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; -lean_dec(x_32); -x_101 = lean_ctor_get(x_58, 0); -lean_inc(x_101); -lean_dec(x_58); -x_102 = l_Lean_Elab_Term_StructInst_Struct_source(x_1); -x_103 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__1; -lean_inc(x_3); -x_104 = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(x_104, 0, x_3); -lean_ctor_set(x_104, 1, x_101); -lean_ctor_set(x_104, 2, x_103); -lean_ctor_set(x_104, 3, x_36); -lean_ctor_set(x_104, 4, x_102); -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_105 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStruct(x_104, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_105) == 0) -{ -lean_object* x_106; lean_object* x_107; uint8_t x_108; -x_106 = lean_ctor_get(x_105, 0); -lean_inc(x_106); -x_107 = lean_ctor_get(x_105, 1); -lean_inc(x_107); -lean_dec(x_105); -x_108 = !lean_is_exclusive(x_38); -if (x_108 == 0) -{ -lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; -x_109 = lean_ctor_get(x_38, 1); -x_110 = lean_ctor_get(x_38, 2); -lean_dec(x_110); -x_111 = l_Lean_Elab_Term_StructInst_instInhabitedFieldLHS; -x_112 = l_List_head_x21___rarg(x_111, x_109); -lean_dec(x_109); -x_113 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_113, 0, x_112); -lean_ctor_set(x_113, 1, x_35); -x_114 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_114, 0, x_106); -lean_ctor_set(x_38, 2, x_114); -lean_ctor_set(x_38, 1, x_113); -x_17 = x_38; -x_18 = x_107; -goto block_31; -} -else -{ -lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; -x_115 = lean_ctor_get(x_38, 0); -x_116 = lean_ctor_get(x_38, 1); -x_117 = lean_ctor_get(x_38, 3); -lean_inc(x_117); -lean_inc(x_116); -lean_inc(x_115); -lean_dec(x_38); -x_118 = l_Lean_Elab_Term_StructInst_instInhabitedFieldLHS; -x_119 = l_List_head_x21___rarg(x_118, x_116); -lean_dec(x_116); -x_120 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_120, 0, x_119); -lean_ctor_set(x_120, 1, x_35); -x_121 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_121, 0, x_106); -x_122 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_122, 0, x_115); -lean_ctor_set(x_122, 1, x_120); -lean_ctor_set(x_122, 2, x_121); -lean_ctor_set(x_122, 3, x_117); -x_17 = x_122; -x_18 = x_107; -goto block_31; -} -} -else -{ -uint8_t x_123; -lean_dec(x_38); -lean_dec(x_16); +x_18 = lean_ctor_get(x_15, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_15, 1); +lean_inc(x_19); lean_dec(x_15); +x_20 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isSimpleField_x3f(x_19); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_47; lean_object* x_48; +x_21 = lean_box(0); +lean_inc(x_19); +x_22 = l_List_mapTRAux___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__1(x_19, x_21); +x_23 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8___closed__1; +x_24 = l_List_head_x21___rarg(x_23, x_19); +lean_dec(x_19); +x_47 = l_Lean_Elab_Term_StructInst_Struct_structName(x_1); +lean_inc(x_18); +lean_inc(x_2); +x_48 = l_Lean_isSubobjectField_x3f(x_2, x_47, x_18); +if (lean_obj_tag(x_48) == 0) +{ +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; size_t x_56; size_t x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; uint8_t x_73; +x_49 = lean_unsigned_to_nat(4u); +x_50 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__4; +lean_inc(x_3); +x_51 = l_Lean_Syntax_setArg(x_3, x_49, x_50); +x_52 = l_List_redLength___rarg(x_22); +x_53 = lean_mk_empty_array_with_capacity(x_52); +lean_dec(x_52); +x_54 = l_List_toArrayAux___rarg(x_22, x_53); +x_55 = lean_array_get_size(x_54); +x_56 = lean_usize_of_nat(x_55); +lean_dec(x_55); +x_57 = 0; +x_58 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__2(x_56, x_57, x_54); +x_59 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__5; +x_60 = l_Lean_mkSepArray(x_58, x_59); +lean_dec(x_58); +x_61 = lean_box(2); +x_62 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__3; +x_63 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_63, 0, x_61); +lean_ctor_set(x_63, 1, x_62); +lean_ctor_set(x_63, 2, x_60); +x_64 = lean_unsigned_to_nat(2u); +x_65 = l_Lean_Syntax_setArg(x_51, x_64, x_63); +x_66 = l_Lean_Elab_Term_StructInst_Struct_source(x_1); +x_67 = lean_ctor_get(x_66, 0); +lean_inc(x_67); +x_68 = lean_array_get_size(x_67); +x_69 = lean_unsigned_to_nat(0u); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_70 = l_Array_filterMapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__3(x_18, x_67, x_69, x_68, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_67); +x_71 = lean_ctor_get(x_70, 0); +lean_inc(x_71); +x_72 = lean_ctor_get(x_70, 1); +lean_inc(x_72); +lean_dec(x_70); +x_73 = l_Array_isEmpty___rarg(x_71); +if (x_73 == 0) +{ +lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; +x_74 = lean_ctor_get(x_66, 1); +lean_inc(x_74); +lean_dec(x_66); +x_75 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkSourcesWithSyntax(x_71); +lean_dec(x_71); +x_76 = lean_unsigned_to_nat(1u); +x_77 = l_Lean_Syntax_setArg(x_65, x_76, x_75); +if (lean_obj_tag(x_74) == 0) +{ +lean_object* x_78; lean_object* x_79; +x_78 = lean_unsigned_to_nat(3u); +x_79 = l_Lean_Syntax_setArg(x_77, x_78, x_50); +x_25 = x_79; +x_26 = x_72; +goto block_46; +} +else +{ +lean_object* x_80; lean_object* x_81; lean_object* x_82; +x_80 = lean_ctor_get(x_74, 0); +lean_inc(x_80); +lean_dec(x_74); +x_81 = lean_unsigned_to_nat(3u); +x_82 = l_Lean_Syntax_setArg(x_77, x_81, x_80); +x_25 = x_82; +x_26 = x_72; +goto block_46; +} +} +else +{ +lean_object* x_83; lean_object* x_84; lean_object* x_85; +lean_dec(x_71); +x_83 = lean_ctor_get(x_66, 1); +lean_inc(x_83); +lean_dec(x_66); +x_84 = lean_unsigned_to_nat(1u); +x_85 = l_Lean_Syntax_setArg(x_65, x_84, x_50); +if (lean_obj_tag(x_83) == 0) +{ +lean_object* x_86; lean_object* x_87; +x_86 = lean_unsigned_to_nat(3u); +x_87 = l_Lean_Syntax_setArg(x_85, x_86, x_50); +x_25 = x_87; +x_26 = x_72; +goto block_46; +} +else +{ +lean_object* x_88; lean_object* x_89; lean_object* x_90; +x_88 = lean_ctor_get(x_83, 0); +lean_inc(x_88); +lean_dec(x_83); +x_89 = lean_unsigned_to_nat(3u); +x_90 = l_Lean_Syntax_setArg(x_85, x_89, x_88); +x_25 = x_90; +x_26 = x_72; +goto block_46; +} +} +} +else +{ +lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; +lean_dec(x_18); +lean_dec(x_17); +x_91 = lean_ctor_get(x_48, 0); +lean_inc(x_91); +lean_dec(x_48); +x_92 = l_Lean_Elab_Term_StructInst_Struct_source(x_1); +x_93 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__1; +lean_inc(x_3); +x_94 = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(x_94, 0, x_3); +lean_ctor_set(x_94, 1, x_91); +lean_ctor_set(x_94, 2, x_93); +lean_ctor_set(x_94, 3, x_22); +lean_ctor_set(x_94, 4, x_92); +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_95 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStruct(x_94, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +if (lean_obj_tag(x_95) == 0) +{ +lean_object* x_96; lean_object* x_97; uint8_t x_98; +x_96 = lean_ctor_get(x_95, 0); +lean_inc(x_96); +x_97 = lean_ctor_get(x_95, 1); +lean_inc(x_97); +lean_dec(x_95); +x_98 = !lean_is_exclusive(x_24); +if (x_98 == 0) +{ +lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; +x_99 = lean_ctor_get(x_24, 1); +x_100 = lean_ctor_get(x_24, 2); +lean_dec(x_100); +x_101 = l_Lean_Elab_Term_StructInst_instInhabitedFieldLHS; +x_102 = l_List_head_x21___rarg(x_101, x_99); +lean_dec(x_99); +x_103 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_103, 0, x_102); +lean_ctor_set(x_103, 1, x_21); +x_104 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_104, 0, x_96); +lean_ctor_set(x_24, 2, x_104); +lean_ctor_set(x_24, 1, x_103); +x_105 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_105, 0, x_24); +lean_ctor_set(x_105, 1, x_5); +x_4 = x_16; +x_5 = x_105; +x_12 = x_97; +goto _start; +} +else +{ +lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; +x_107 = lean_ctor_get(x_24, 0); +x_108 = lean_ctor_get(x_24, 1); +x_109 = lean_ctor_get(x_24, 3); +lean_inc(x_109); +lean_inc(x_108); +lean_inc(x_107); +lean_dec(x_24); +x_110 = l_Lean_Elab_Term_StructInst_instInhabitedFieldLHS; +x_111 = l_List_head_x21___rarg(x_110, x_108); +lean_dec(x_108); +x_112 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_112, 0, x_111); +lean_ctor_set(x_112, 1, x_21); +x_113 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_113, 0, x_96); +x_114 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_114, 0, x_107); +lean_ctor_set(x_114, 1, x_112); +lean_ctor_set(x_114, 2, x_113); +lean_ctor_set(x_114, 3, x_109); +x_115 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_115, 0, x_114); +lean_ctor_set(x_115, 1, x_5); +x_4 = x_16; +x_5 = x_115; +x_12 = x_97; +goto _start; +} +} +else +{ +uint8_t x_117; +lean_dec(x_24); +lean_dec(x_16); +lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -13659,158 +13823,113 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); -x_123 = !lean_is_exclusive(x_105); -if (x_123 == 0) +x_117 = !lean_is_exclusive(x_95); +if (x_117 == 0) { -return x_105; +return x_95; } else { -lean_object* x_124; lean_object* x_125; lean_object* x_126; -x_124 = lean_ctor_get(x_105, 0); -x_125 = lean_ctor_get(x_105, 1); -lean_inc(x_125); -lean_inc(x_124); -lean_dec(x_105); -x_126 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_126, 0, x_124); -lean_ctor_set(x_126, 1, x_125); -return x_126; +lean_object* x_118; lean_object* x_119; lean_object* x_120; +x_118 = lean_ctor_get(x_95, 0); +x_119 = lean_ctor_get(x_95, 1); +lean_inc(x_119); +lean_inc(x_118); +lean_dec(x_95); +x_120 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_120, 0, x_118); +lean_ctor_set(x_120, 1, x_119); +return x_120; } } } -block_56: -{ -uint8_t x_41; -x_41 = !lean_is_exclusive(x_38); -if (x_41 == 0) -{ -lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_42 = lean_ctor_get(x_38, 1); -x_43 = lean_ctor_get(x_38, 2); -lean_dec(x_43); -x_44 = l_Lean_Elab_Term_StructInst_instInhabitedFieldLHS; -x_45 = l_List_head_x21___rarg(x_44, x_42); -lean_dec(x_42); -x_46 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_46, 0, x_45); -lean_ctor_set(x_46, 1, x_35); -x_47 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_47, 0, x_39); -lean_ctor_set(x_38, 2, x_47); -lean_ctor_set(x_38, 1, x_46); -x_17 = x_38; -x_18 = x_40; -goto block_31; -} -else -{ -lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_48 = lean_ctor_get(x_38, 0); -x_49 = lean_ctor_get(x_38, 1); -x_50 = lean_ctor_get(x_38, 3); -lean_inc(x_50); -lean_inc(x_49); -lean_inc(x_48); -lean_dec(x_38); -x_51 = l_Lean_Elab_Term_StructInst_instInhabitedFieldLHS; -x_52 = l_List_head_x21___rarg(x_51, x_49); -lean_dec(x_49); -x_53 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_53, 0, x_52); -lean_ctor_set(x_53, 1, x_35); -x_54 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_54, 0, x_39); -x_55 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_55, 0, x_48); -lean_ctor_set(x_55, 1, x_53); -lean_ctor_set(x_55, 2, x_54); -lean_ctor_set(x_55, 3, x_50); -x_17 = x_55; -x_18 = x_40; -goto block_31; -} -} -} -else -{ -lean_object* x_127; -lean_dec(x_33); -lean_dec(x_32); -x_127 = lean_ctor_get(x_34, 0); -lean_inc(x_127); -lean_dec(x_34); -x_17 = x_127; -x_18 = x_11; -goto block_31; -} -block_31: -{ -lean_object* x_19; -x_19 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8(x_1, x_2, x_3, x_15, x_5, x_6, x_7, x_8, x_9, x_10, x_18); -if (lean_obj_tag(x_19) == 0) -{ -uint8_t x_20; -x_20 = !lean_is_exclusive(x_19); -if (x_20 == 0) -{ -lean_object* x_21; lean_object* x_22; -x_21 = lean_ctor_get(x_19, 0); -if (lean_is_scalar(x_16)) { - x_22 = lean_alloc_ctor(1, 2, 0); -} else { - x_22 = x_16; -} -lean_ctor_set(x_22, 0, x_17); -lean_ctor_set(x_22, 1, x_21); -lean_ctor_set(x_19, 0, x_22); -return x_19; -} -else -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_23 = lean_ctor_get(x_19, 0); -x_24 = lean_ctor_get(x_19, 1); -lean_inc(x_24); -lean_inc(x_23); -lean_dec(x_19); -if (lean_is_scalar(x_16)) { - x_25 = lean_alloc_ctor(1, 2, 0); -} else { - x_25 = x_16; -} -lean_ctor_set(x_25, 0, x_17); -lean_ctor_set(x_25, 1, x_23); -x_26 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_26, 0, x_25); -lean_ctor_set(x_26, 1, x_24); -return x_26; -} -} -else +block_46: { uint8_t x_27; -lean_dec(x_17); -lean_dec(x_16); -x_27 = !lean_is_exclusive(x_19); +x_27 = !lean_is_exclusive(x_24); if (x_27 == 0) { -return x_19; +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_28 = lean_ctor_get(x_24, 1); +x_29 = lean_ctor_get(x_24, 2); +lean_dec(x_29); +x_30 = l_Lean_Elab_Term_StructInst_instInhabitedFieldLHS; +x_31 = l_List_head_x21___rarg(x_30, x_28); +lean_dec(x_28); +if (lean_is_scalar(x_17)) { + x_32 = lean_alloc_ctor(1, 2, 0); +} else { + x_32 = x_17; +} +lean_ctor_set(x_32, 0, x_31); +lean_ctor_set(x_32, 1, x_21); +x_33 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_33, 0, x_25); +lean_ctor_set(x_24, 2, x_33); +lean_ctor_set(x_24, 1, x_32); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_24); +lean_ctor_set(x_34, 1, x_5); +x_4 = x_16; +x_5 = x_34; +x_12 = x_26; +goto _start; } else { -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_19, 0); -x_29 = lean_ctor_get(x_19, 1); -lean_inc(x_29); -lean_inc(x_28); +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_36 = lean_ctor_get(x_24, 0); +x_37 = lean_ctor_get(x_24, 1); +x_38 = lean_ctor_get(x_24, 3); +lean_inc(x_38); +lean_inc(x_37); +lean_inc(x_36); +lean_dec(x_24); +x_39 = l_Lean_Elab_Term_StructInst_instInhabitedFieldLHS; +x_40 = l_List_head_x21___rarg(x_39, x_37); +lean_dec(x_37); +if (lean_is_scalar(x_17)) { + x_41 = lean_alloc_ctor(1, 2, 0); +} else { + x_41 = x_17; +} +lean_ctor_set(x_41, 0, x_40); +lean_ctor_set(x_41, 1, x_21); +x_42 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_42, 0, x_25); +x_43 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_43, 0, x_36); +lean_ctor_set(x_43, 1, x_41); +lean_ctor_set(x_43, 2, x_42); +lean_ctor_set(x_43, 3, x_38); +x_44 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_44, 0, x_43); +lean_ctor_set(x_44, 1, x_5); +x_4 = x_16; +x_5 = x_44; +x_12 = x_26; +goto _start; +} +} +} +else +{ +lean_object* x_121; lean_object* x_122; lean_dec(x_19); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} +lean_dec(x_18); +x_121 = lean_ctor_get(x_20, 0); +lean_inc(x_121); +lean_dec(x_20); +if (lean_is_scalar(x_17)) { + x_122 = lean_alloc_ctor(1, 2, 0); +} else { + x_122 = x_17; } +lean_ctor_set(x_122, 0, x_121); +lean_ctor_set(x_122, 1, x_5); +x_4 = x_16; +x_5 = x_122; +goto _start; } } } @@ -13828,19 +13947,20 @@ lean_inc(x_5); x_12 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap(x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); if (lean_obj_tag(x_12) == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; x_13 = lean_ctor_get(x_12, 0); lean_inc(x_13); x_14 = lean_ctor_get(x_12, 1); lean_inc(x_14); lean_dec(x_12); x_15 = l_Std_HashMap_toList___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__5(x_13); -x_16 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8(x_1, x_2, x_3, x_15, x_5, x_6, x_7, x_8, x_9, x_10, x_14); -return x_16; +x_16 = lean_box(0); +x_17 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8(x_1, x_2, x_3, x_15, x_16, x_5, x_6, x_7, x_8, x_9, x_10, x_14); +return x_17; } else { -uint8_t x_17; +uint8_t x_18; lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); @@ -13849,23 +13969,23 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); -x_17 = !lean_is_exclusive(x_12); -if (x_17 == 0) +x_18 = !lean_is_exclusive(x_12); +if (x_18 == 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_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_12, 0); +x_20 = lean_ctor_get(x_12, 1); +lean_inc(x_20); 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; +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_20); +return x_21; } } } @@ -15245,13 +15365,13 @@ lean_dec(x_1); return x_7; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { -lean_object* x_12; -x_12 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_object* x_13; +x_13 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_1); -return x_12; +return x_13; } } LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___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) { @@ -19155,7 +19275,7 @@ return x_90; } } } -static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__1() { +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___lambda__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -19167,6 +19287,194 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } +LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +lean_object* x_14; +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_14 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkCtorHeader(x_1, x_2, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_14) == 0) +{ +lean_object* x_15; lean_object* x_16; 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; +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_ctor_get(x_15, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_15, 1); +lean_inc(x_18); +x_19 = lean_ctor_get(x_15, 3); +lean_inc(x_19); +lean_dec(x_15); +x_20 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___lambda__1___closed__1; +x_21 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_21, 0, x_18); +lean_ctor_set(x_21, 1, x_20); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_17); +lean_ctor_set(x_22, 1, x_21); +x_23 = l_Lean_Elab_Term_StructInst_Struct_fields(x_3); +x_24 = l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___spec__3(x_4, x_5, x_22, x_23, x_7, x_8, x_9, x_10, x_11, x_12, x_16); +if (lean_obj_tag(x_24) == 0) +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_25, 1); +lean_inc(x_26); +x_27 = lean_ctor_get(x_26, 1); +lean_inc(x_27); +lean_dec(x_26); +x_28 = !lean_is_exclusive(x_24); +if (x_28 == 0) +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_29 = lean_ctor_get(x_24, 0); +lean_dec(x_29); +x_30 = lean_ctor_get(x_25, 0); +lean_inc(x_30); +lean_dec(x_25); +x_31 = lean_ctor_get(x_27, 0); +lean_inc(x_31); +x_32 = lean_ctor_get(x_27, 1); +lean_inc(x_32); +lean_dec(x_27); +x_33 = l_List_reverse___rarg(x_31); +x_34 = l_Lean_Elab_Term_StructInst_Struct_setFields(x_3, x_33); +x_35 = l_Lean_Elab_Term_StructInst_Struct_setParams(x_34, x_19); +x_36 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_36, 0, x_30); +lean_ctor_set(x_36, 1, x_35); +lean_ctor_set(x_36, 2, x_32); +lean_ctor_set(x_24, 0, x_36); +return x_24; +} +else +{ +lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_37 = lean_ctor_get(x_24, 1); +lean_inc(x_37); +lean_dec(x_24); +x_38 = lean_ctor_get(x_25, 0); +lean_inc(x_38); +lean_dec(x_25); +x_39 = lean_ctor_get(x_27, 0); +lean_inc(x_39); +x_40 = lean_ctor_get(x_27, 1); +lean_inc(x_40); +lean_dec(x_27); +x_41 = l_List_reverse___rarg(x_39); +x_42 = l_Lean_Elab_Term_StructInst_Struct_setFields(x_3, x_41); +x_43 = l_Lean_Elab_Term_StructInst_Struct_setParams(x_42, x_19); +x_44 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_44, 0, x_38); +lean_ctor_set(x_44, 1, x_43); +lean_ctor_set(x_44, 2, x_40); +x_45 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_45, 0, x_44); +lean_ctor_set(x_45, 1, x_37); +return x_45; +} +} +else +{ +uint8_t x_46; +lean_dec(x_19); +lean_dec(x_3); +x_46 = !lean_is_exclusive(x_24); +if (x_46 == 0) +{ +return x_24; +} +else +{ +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_24, 0); +x_48 = lean_ctor_get(x_24, 1); +lean_inc(x_48); +lean_inc(x_47); +lean_dec(x_24); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; +} +} +} +else +{ +uint8_t x_50; +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_50 = !lean_is_exclusive(x_14); +if (x_50 == 0) +{ +return x_14; +} +else +{ +lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_51 = lean_ctor_get(x_14, 0); +x_52 = lean_ctor_get(x_14, 1); +lean_inc(x_52); +lean_inc(x_51); +lean_dec(x_14); +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; +} +} +} +} +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("invalid {...} notation, constructor for `", 41); +return x_1; +} +} +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("` is marked as private", 22); +return x_1; +} +} +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__3; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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: { @@ -19175,7 +19483,7 @@ x_10 = l_Lean_Elab_Term_StructInst_Struct_ref(x_1); x_11 = !lean_is_exclusive(x_7); if (x_11 == 0) { -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +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; uint8_t x_22; x_12 = lean_ctor_get(x_7, 5); x_13 = l_Lean_replaceRef(x_10, x_12); lean_dec(x_12); @@ -19194,343 +19502,174 @@ x_18 = l_Lean_Elab_Term_StructInst_Struct_structName(x_1); lean_inc(x_18); lean_inc(x_17); x_19 = l_Lean_getStructureCtor(x_17, x_18); -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_20 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkCtorHeader(x_19, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_16); -if (lean_obj_tag(x_20) == 0) -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); x_21 = lean_ctor_get(x_20, 0); lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); -lean_inc(x_22); lean_dec(x_20); -x_23 = lean_ctor_get(x_21, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_21, 1); -lean_inc(x_24); -x_25 = lean_ctor_get(x_21, 3); -lean_inc(x_25); -lean_dec(x_21); -x_26 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__1; -x_27 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_27, 0, x_24); -lean_ctor_set(x_27, 1, x_26); -x_28 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_28, 0, x_23); -lean_ctor_set(x_28, 1, x_27); -x_29 = l_Lean_Elab_Term_StructInst_Struct_fields(x_1); -x_30 = l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___spec__3(x_17, x_18, x_28, x_29, x_3, x_4, x_5, x_6, x_7, x_8, x_22); -if (lean_obj_tag(x_30) == 0) +lean_inc(x_17); +x_22 = l_Lean_isPrivateNameFromImportedModule(x_17, x_21); +if (x_22 == 0) { -lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34; -x_31 = lean_ctor_get(x_30, 0); -lean_inc(x_31); -x_32 = lean_ctor_get(x_31, 1); -lean_inc(x_32); -x_33 = lean_ctor_get(x_32, 1); -lean_inc(x_33); -lean_dec(x_32); -x_34 = !lean_is_exclusive(x_30); -if (x_34 == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_35 = lean_ctor_get(x_30, 0); -lean_dec(x_35); -x_36 = lean_ctor_get(x_31, 0); -lean_inc(x_36); -lean_dec(x_31); -x_37 = lean_ctor_get(x_33, 0); -lean_inc(x_37); -x_38 = lean_ctor_get(x_33, 1); -lean_inc(x_38); -lean_dec(x_33); -x_39 = l_List_reverse___rarg(x_37); -x_40 = l_Lean_Elab_Term_StructInst_Struct_setFields(x_1, x_39); -x_41 = l_Lean_Elab_Term_StructInst_Struct_setParams(x_40, x_25); -x_42 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_42, 0, x_36); -lean_ctor_set(x_42, 1, x_41); -lean_ctor_set(x_42, 2, x_38); -lean_ctor_set(x_30, 0, x_42); -return x_30; +lean_object* x_23; lean_object* x_24; +x_23 = lean_box(0); +x_24 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___lambda__1(x_19, x_2, x_1, x_17, x_18, x_23, x_3, x_4, x_5, x_6, x_7, x_8, x_16); +return x_24; } else { -lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_43 = lean_ctor_get(x_30, 1); -lean_inc(x_43); -lean_dec(x_30); -x_44 = lean_ctor_get(x_31, 0); -lean_inc(x_44); -lean_dec(x_31); -x_45 = lean_ctor_get(x_33, 0); -lean_inc(x_45); -x_46 = lean_ctor_get(x_33, 1); -lean_inc(x_46); -lean_dec(x_33); -x_47 = l_List_reverse___rarg(x_45); -x_48 = l_Lean_Elab_Term_StructInst_Struct_setFields(x_1, x_47); -x_49 = l_Lean_Elab_Term_StructInst_Struct_setParams(x_48, x_25); -x_50 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_50, 0, x_44); -lean_ctor_set(x_50, 1, x_49); -lean_ctor_set(x_50, 2, x_46); -x_51 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_51, 0, x_50); -lean_ctor_set(x_51, 1, x_43); -return x_51; -} -} -else -{ -uint8_t x_52; -lean_dec(x_25); -lean_dec(x_1); -x_52 = !lean_is_exclusive(x_30); -if (x_52 == 0) -{ -return x_30; -} -else -{ -lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_53 = lean_ctor_get(x_30, 0); -x_54 = lean_ctor_get(x_30, 1); -lean_inc(x_54); -lean_inc(x_53); -lean_dec(x_30); -x_55 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_55, 0, x_53); -lean_ctor_set(x_55, 1, x_54); -return x_55; -} -} -} -else -{ -uint8_t x_56; -lean_dec(x_18); +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; +lean_dec(x_19); lean_dec(x_17); -lean_dec(x_7); +lean_dec(x_2); +lean_dec(x_1); +x_25 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_25, 0, x_18); +x_26 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__2; +x_27 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_27, 0, x_26); +lean_ctor_set(x_27, 1, x_25); +x_28 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__4; +x_29 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_29, 0, x_27); +lean_ctor_set(x_29, 1, x_28); +x_30 = l_Lean_throwError___at_Lean_Elab_Term_synthesizeInstMVarCore___spec__3(x_29, x_3, x_4, x_5, x_6, x_7, x_8, x_16); lean_dec(x_8); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_56 = !lean_is_exclusive(x_20); +x_31 = !lean_is_exclusive(x_30); +if (x_31 == 0) +{ +return x_30; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_30, 0); +x_33 = lean_ctor_get(x_30, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_30); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; +} +} +} +else +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; +x_35 = lean_ctor_get(x_7, 0); +x_36 = lean_ctor_get(x_7, 1); +x_37 = lean_ctor_get(x_7, 2); +x_38 = lean_ctor_get(x_7, 3); +x_39 = lean_ctor_get(x_7, 4); +x_40 = lean_ctor_get(x_7, 5); +x_41 = lean_ctor_get(x_7, 6); +x_42 = lean_ctor_get(x_7, 7); +x_43 = lean_ctor_get(x_7, 8); +x_44 = lean_ctor_get(x_7, 9); +x_45 = lean_ctor_get(x_7, 10); +lean_inc(x_45); +lean_inc(x_44); +lean_inc(x_43); +lean_inc(x_42); +lean_inc(x_41); +lean_inc(x_40); +lean_inc(x_39); +lean_inc(x_38); +lean_inc(x_37); +lean_inc(x_36); +lean_inc(x_35); +lean_dec(x_7); +x_46 = l_Lean_replaceRef(x_10, x_40); +lean_dec(x_40); +lean_dec(x_10); +x_47 = lean_alloc_ctor(0, 11, 0); +lean_ctor_set(x_47, 0, x_35); +lean_ctor_set(x_47, 1, x_36); +lean_ctor_set(x_47, 2, x_37); +lean_ctor_set(x_47, 3, x_38); +lean_ctor_set(x_47, 4, x_39); +lean_ctor_set(x_47, 5, x_46); +lean_ctor_set(x_47, 6, x_41); +lean_ctor_set(x_47, 7, x_42); +lean_ctor_set(x_47, 8, x_43); +lean_ctor_set(x_47, 9, x_44); +lean_ctor_set(x_47, 10, x_45); +x_48 = lean_st_ref_get(x_8, x_9); +x_49 = lean_ctor_get(x_48, 0); +lean_inc(x_49); +x_50 = lean_ctor_get(x_48, 1); +lean_inc(x_50); +lean_dec(x_48); +x_51 = lean_ctor_get(x_49, 0); +lean_inc(x_51); +lean_dec(x_49); +x_52 = l_Lean_Elab_Term_StructInst_Struct_structName(x_1); +lean_inc(x_52); +lean_inc(x_51); +x_53 = l_Lean_getStructureCtor(x_51, x_52); +x_54 = lean_ctor_get(x_53, 0); +lean_inc(x_54); +x_55 = lean_ctor_get(x_54, 0); +lean_inc(x_55); +lean_dec(x_54); +lean_inc(x_51); +x_56 = l_Lean_isPrivateNameFromImportedModule(x_51, x_55); if (x_56 == 0) { -return x_20; +lean_object* x_57; lean_object* x_58; +x_57 = lean_box(0); +x_58 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___lambda__1(x_53, x_2, x_1, x_51, x_52, x_57, x_3, x_4, x_5, x_6, x_47, x_8, x_50); +return x_58; } else { -lean_object* x_57; lean_object* x_58; lean_object* x_59; -x_57 = lean_ctor_get(x_20, 0); -x_58 = lean_ctor_get(x_20, 1); -lean_inc(x_58); -lean_inc(x_57); -lean_dec(x_20); -x_59 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_59, 0, x_57); -lean_ctor_set(x_59, 1, x_58); -return x_59; -} -} -} -else -{ -lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; -x_60 = lean_ctor_get(x_7, 0); -x_61 = lean_ctor_get(x_7, 1); -x_62 = lean_ctor_get(x_7, 2); -x_63 = lean_ctor_get(x_7, 3); -x_64 = lean_ctor_get(x_7, 4); -x_65 = lean_ctor_get(x_7, 5); -x_66 = lean_ctor_get(x_7, 6); -x_67 = lean_ctor_get(x_7, 7); -x_68 = lean_ctor_get(x_7, 8); -x_69 = lean_ctor_get(x_7, 9); -x_70 = lean_ctor_get(x_7, 10); -lean_inc(x_70); -lean_inc(x_69); -lean_inc(x_68); -lean_inc(x_67); -lean_inc(x_66); -lean_inc(x_65); -lean_inc(x_64); -lean_inc(x_63); -lean_inc(x_62); -lean_inc(x_61); -lean_inc(x_60); -lean_dec(x_7); -x_71 = l_Lean_replaceRef(x_10, x_65); -lean_dec(x_65); -lean_dec(x_10); -x_72 = lean_alloc_ctor(0, 11, 0); -lean_ctor_set(x_72, 0, x_60); -lean_ctor_set(x_72, 1, x_61); -lean_ctor_set(x_72, 2, x_62); -lean_ctor_set(x_72, 3, x_63); -lean_ctor_set(x_72, 4, x_64); -lean_ctor_set(x_72, 5, x_71); -lean_ctor_set(x_72, 6, x_66); -lean_ctor_set(x_72, 7, x_67); -lean_ctor_set(x_72, 8, x_68); -lean_ctor_set(x_72, 9, x_69); -lean_ctor_set(x_72, 10, x_70); -x_73 = lean_st_ref_get(x_8, x_9); -x_74 = lean_ctor_get(x_73, 0); -lean_inc(x_74); -x_75 = lean_ctor_get(x_73, 1); -lean_inc(x_75); -lean_dec(x_73); -x_76 = lean_ctor_get(x_74, 0); -lean_inc(x_76); -lean_dec(x_74); -x_77 = l_Lean_Elab_Term_StructInst_Struct_structName(x_1); -lean_inc(x_77); -lean_inc(x_76); -x_78 = l_Lean_getStructureCtor(x_76, x_77); -lean_inc(x_8); -lean_inc(x_72); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -x_79 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkCtorHeader(x_78, x_2, x_3, x_4, x_5, x_6, x_72, x_8, x_75); -if (lean_obj_tag(x_79) == 0) -{ -lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; -x_80 = lean_ctor_get(x_79, 0); -lean_inc(x_80); -x_81 = lean_ctor_get(x_79, 1); -lean_inc(x_81); -lean_dec(x_79); -x_82 = lean_ctor_get(x_80, 0); -lean_inc(x_82); -x_83 = lean_ctor_get(x_80, 1); -lean_inc(x_83); -x_84 = lean_ctor_get(x_80, 3); -lean_inc(x_84); -lean_dec(x_80); -x_85 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__1; -x_86 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_86, 0, x_83); -lean_ctor_set(x_86, 1, x_85); -x_87 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_87, 0, x_82); -lean_ctor_set(x_87, 1, x_86); -x_88 = l_Lean_Elab_Term_StructInst_Struct_fields(x_1); -x_89 = l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___spec__3(x_76, x_77, x_87, x_88, x_3, x_4, x_5, x_6, x_72, x_8, x_81); -if (lean_obj_tag(x_89) == 0) -{ -lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; -x_90 = lean_ctor_get(x_89, 0); -lean_inc(x_90); -x_91 = lean_ctor_get(x_90, 1); -lean_inc(x_91); -x_92 = lean_ctor_get(x_91, 1); -lean_inc(x_92); -lean_dec(x_91); -x_93 = lean_ctor_get(x_89, 1); -lean_inc(x_93); -if (lean_is_exclusive(x_89)) { - lean_ctor_release(x_89, 0); - lean_ctor_release(x_89, 1); - x_94 = x_89; -} else { - lean_dec_ref(x_89); - x_94 = lean_box(0); -} -x_95 = lean_ctor_get(x_90, 0); -lean_inc(x_95); -lean_dec(x_90); -x_96 = lean_ctor_get(x_92, 0); -lean_inc(x_96); -x_97 = lean_ctor_get(x_92, 1); -lean_inc(x_97); -lean_dec(x_92); -x_98 = l_List_reverse___rarg(x_96); -x_99 = l_Lean_Elab_Term_StructInst_Struct_setFields(x_1, x_98); -x_100 = l_Lean_Elab_Term_StructInst_Struct_setParams(x_99, x_84); -x_101 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_101, 0, x_95); -lean_ctor_set(x_101, 1, x_100); -lean_ctor_set(x_101, 2, x_97); -if (lean_is_scalar(x_94)) { - x_102 = lean_alloc_ctor(0, 2, 0); -} else { - x_102 = x_94; -} -lean_ctor_set(x_102, 0, x_101); -lean_ctor_set(x_102, 1, x_93); -return x_102; -} -else -{ -lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; -lean_dec(x_84); +lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; +lean_dec(x_53); +lean_dec(x_51); +lean_dec(x_2); lean_dec(x_1); -x_103 = lean_ctor_get(x_89, 0); -lean_inc(x_103); -x_104 = lean_ctor_get(x_89, 1); -lean_inc(x_104); -if (lean_is_exclusive(x_89)) { - lean_ctor_release(x_89, 0); - lean_ctor_release(x_89, 1); - x_105 = x_89; -} else { - lean_dec_ref(x_89); - x_105 = lean_box(0); -} -if (lean_is_scalar(x_105)) { - x_106 = lean_alloc_ctor(1, 2, 0); -} else { - x_106 = x_105; -} -lean_ctor_set(x_106, 0, x_103); -lean_ctor_set(x_106, 1, x_104); -return x_106; -} -} -else -{ -lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; -lean_dec(x_77); -lean_dec(x_76); -lean_dec(x_72); +x_59 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_59, 0, x_52); +x_60 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__2; +x_61 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_61, 0, x_60); +lean_ctor_set(x_61, 1, x_59); +x_62 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__4; +x_63 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_63, 0, x_61); +lean_ctor_set(x_63, 1, x_62); +x_64 = l_Lean_throwError___at_Lean_Elab_Term_synthesizeInstMVarCore___spec__3(x_63, x_3, x_4, x_5, x_6, x_47, x_8, x_50); lean_dec(x_8); +lean_dec(x_47); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_107 = lean_ctor_get(x_79, 0); -lean_inc(x_107); -x_108 = lean_ctor_get(x_79, 1); -lean_inc(x_108); -if (lean_is_exclusive(x_79)) { - lean_ctor_release(x_79, 0); - lean_ctor_release(x_79, 1); - x_109 = x_79; +x_65 = lean_ctor_get(x_64, 0); +lean_inc(x_65); +x_66 = lean_ctor_get(x_64, 1); +lean_inc(x_66); +if (lean_is_exclusive(x_64)) { + lean_ctor_release(x_64, 0); + lean_ctor_release(x_64, 1); + x_67 = x_64; } else { - lean_dec_ref(x_79); - x_109 = lean_box(0); + lean_dec_ref(x_64); + x_67 = lean_box(0); } -if (lean_is_scalar(x_109)) { - x_110 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_67)) { + x_68 = lean_alloc_ctor(1, 2, 0); } else { - x_110 = x_109; + x_68 = x_67; } -lean_ctor_set(x_110, 0, x_107); -lean_ctor_set(x_110, 1, x_108); -return x_110; +lean_ctor_set(x_68, 0, x_65); +lean_ctor_set(x_68, 1, x_66); +return x_68; } } } @@ -19575,6 +19714,15 @@ lean_dec(x_11); return x_19; } } +LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___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_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_6); +return x_14; +} +} static lean_object* _init_l_Lean_Elab_Term_StructInst_DefaultFields_Context_structs___default() { _start: { @@ -21148,7 +21296,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_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSource___spec__2___closed__1; x_2 = l_Lean_Elab_Term_StructInst_DefaultFields_getFieldName___closed__1; -x_3 = lean_unsigned_to_nat(722u); +x_3 = lean_unsigned_to_nat(724u); x_4 = lean_unsigned_to_nat(9u); x_5 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSource___spec__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -24166,7 +24314,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_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSource___spec__2___closed__1; x_2 = l_List_forIn_loop___at_Lean_Elab_Term_StructInst_DefaultFields_step___spec__3___closed__1; -x_3 = lean_unsigned_to_nat(836u); +x_3 = lean_unsigned_to_nat(838u); x_4 = lean_unsigned_to_nat(25u); x_5 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSource___spec__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -25848,7 +25996,7 @@ x_5 = lean_ctor_get(x_1, 0); x_6 = lean_ctor_get(x_1, 1); x_7 = 1; x_8 = l_Lean_Name_toString(x_5, x_7); -x_9 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__1; +x_9 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__1; x_10 = lean_string_append(x_9, x_8); lean_dec(x_8); x_11 = lean_string_append(x_10, x_9); @@ -25872,7 +26020,7 @@ lean_inc(x_13); lean_dec(x_1); x_15 = 1; x_16 = l_Lean_Name_toString(x_13, x_15); -x_17 = l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__1; +x_17 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__1; x_18 = lean_string_append(x_17, x_16); lean_dec(x_16); x_19 = lean_string_append(x_18, x_17); @@ -28551,7 +28699,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_StructInst_elabStructIns _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(902u); +x_1 = lean_unsigned_to_nat(904u); x_2 = lean_unsigned_to_nat(30u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -28563,7 +28711,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_StructInst_elabStructIns _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(912u); +x_1 = lean_unsigned_to_nat(914u); x_2 = lean_unsigned_to_nat(52u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -28591,7 +28739,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_StructInst_elabStructIns _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(902u); +x_1 = lean_unsigned_to_nat(904u); x_2 = lean_unsigned_to_nat(34u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -28603,7 +28751,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Term_StructInst_elabStructIns _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(902u); +x_1 = lean_unsigned_to_nat(904u); x_2 = lean_unsigned_to_nat(48u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -28649,7 +28797,7 @@ x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_12305_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_12380_(lean_object* x_1) { _start: { lean_object* x_2; uint8_t x_3; lean_object* x_4; @@ -29097,38 +29245,38 @@ l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS___close lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS___closed__1); l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandCompositeFields___closed__1 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandCompositeFields___closed__1(); lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandCompositeFields___closed__1); -l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__1 = _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__1(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__1); -l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__2 = _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__2(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__2); -l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__3 = _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__3(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__3); -l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__4 = _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__4(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__4); -l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__5 = _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__5(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__5); -l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__6 = _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__6(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__6); +l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__1 = _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__1(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__1); +l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__2 = _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__2(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__2); +l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__3 = _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__3(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__3); +l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__4 = _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__4(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__4); +l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__5 = _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__5(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__5); +l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__6 = _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__6(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__6); l_List_mapTRAux___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__2___closed__1 = _init_l_List_mapTRAux___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__2___closed__1(); lean_mark_persistent(l_List_mapTRAux___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__2___closed__1); l_List_mapTRAux___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__2___closed__2 = _init_l_List_mapTRAux___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__2___closed__2(); lean_mark_persistent(l_List_mapTRAux___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__2___closed__2); -l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__1 = _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__1(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__1); -l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__2 = _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__2(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__2); -l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__3 = _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__3(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__3); -l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__4 = _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__4(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__4); -l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__5 = _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__5(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__5); -l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__6 = _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__6(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__6); -l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__7 = _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__7(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__7); -l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__8 = _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__8(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__8); +l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__1 = _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__1(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__1); +l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__2 = _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__2(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__2); +l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__3 = _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__3(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__3); +l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__4 = _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__4(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__4); +l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__5 = _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__5(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__5); +l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__6 = _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__6(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__6); +l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__7 = _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__7(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__7); +l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__8 = _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__8(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__8); l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___spec__13___closed__1 = _init_l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___spec__13___closed__1(); lean_mark_persistent(l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___spec__13___closed__1); l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___spec__13___closed__2 = _init_l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___spec__13___closed__2(); @@ -29145,8 +29293,8 @@ l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getFieldIdx___clos lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getFieldIdx___closed__1); l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getFieldIdx___closed__2 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getFieldIdx___closed__2(); lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getFieldIdx___closed__2); -l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8___closed__1 = _init_l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8___closed__1(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8___closed__1); +l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8___closed__1 = _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8___closed__1(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8___closed__1); l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_addMissingFields___spec__3___closed__1 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_addMissingFields___spec__3___closed__1(); lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_addMissingFields___spec__3___closed__1); l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_addMissingFields___closed__1 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_addMissingFields___closed__1(); @@ -29189,8 +29337,16 @@ l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_e lean_mark_persistent(l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___spec__3___closed__3); l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___spec__3___closed__4 = _init_l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___spec__3___closed__4(); lean_mark_persistent(l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___spec__3___closed__4); +l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___lambda__1___closed__1 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___lambda__1___closed__1(); +lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___lambda__1___closed__1); l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__1 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__1(); lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__1); +l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__2 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__2(); +lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__2); +l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__3 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__3(); +lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__3); +l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__4 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__4(); +lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___closed__4); l_Lean_Elab_Term_StructInst_DefaultFields_Context_structs___default = _init_l_Lean_Elab_Term_StructInst_DefaultFields_Context_structs___default(); lean_mark_persistent(l_Lean_Elab_Term_StructInst_DefaultFields_Context_structs___default); l_Lean_Elab_Term_StructInst_DefaultFields_Context_allStructNames___default = _init_l_Lean_Elab_Term_StructInst_DefaultFields_Context_allStructNames___default(); @@ -29294,7 +29450,7 @@ lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_StructInst_elabStructInst_dec res = l___regBuiltin_Lean_Elab_Term_StructInst_elabStructInst_declRange(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_12305_(lean_io_mk_world()); +res = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_12380_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Elab/Structure.c b/stage0/stdlib/Lean/Elab/Structure.c index 0480000898..1ff0947ce6 100644 --- a/stage0/stdlib/Lean/Elab/Structure.c +++ b/stage0/stdlib/Lean/Elab/Structure.c @@ -18,6 +18,7 @@ lean_object* l_List_reverse___rarg(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectLevelParamsInFVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getConstInfo___at_Lean_Elab_Term_mkConst___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_instInhabitedStructFieldInfo; +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldInfo____x40_Lean_Elab_Structure___hyg_541____closed__15; static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__1; static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addCtorFields___closed__3; @@ -30,12 +31,10 @@ uint8_t l_Lean_Expr_hasAnyFVar_visit___at_Lean_Expr_containsFVar___spec__1(lean_ static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__4___closed__3; static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldInfo____x40_Lean_Elab_Structure___hyg_541____closed__14; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkToParentName(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_getResultUniverse___closed__1; static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldInfo____x40_Lean_Elab_Structure___hyg_541____closed__5; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParam(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Elab_Command_StructFieldKind_ofNat(lean_object*); -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Command_elabStructure___spec__4(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectUniversesFromFields_go___spec__2___closed__1; size_t lean_usize_add(size_t, size_t); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___spec__5(lean_object*); @@ -44,7 +43,6 @@ static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_ LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_expandOptDeclSig(lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldKind____x40_Lean_Elab_Structure___hyg_330____closed__19; -LEAN_EXPORT lean_object* l_Lean_Elab_addAuxDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__18___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___rarg___lambda__3___boxed(lean_object**); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectUniversesFromFields_go___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerTraceClass(lean_object*, uint8_t, lean_object*); @@ -53,10 +51,8 @@ lean_object* lean_erase_macro_scopes(lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectUniversesFromFields_go___spec__2___closed__8; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__1; lean_object* l_Lean_Meta_withLCtx___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_FunBinders_elabFunBinderViews___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Option_repr___at___private_Lean_Structure_0__Lean_reprStructureFieldInfo____x40_Lean_Structure___hyg_62____spec__2(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldKind____x40_Lean_Elab_Structure___hyg_330____closed__16; lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hyg_2873_(lean_object*, lean_object*); @@ -93,7 +89,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_ge static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___closed__1; lean_object* l_Lean_Syntax_getOptional_x3f(lean_object*); lean_object* l_Lean_instantiateLevelMVars___at_Lean_Elab_Command_accLevelAtCtor___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__6; uint8_t lean_usize_dec_eq(size_t, size_t); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_uget(lean_object*, size_t); @@ -101,6 +96,7 @@ lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Term_addDotCompletionInfo__ static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectUniversesFromFields_go___spec__2___closed__4; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withUsed___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__1; static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__3___closed__16; LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__2(lean_object*, lean_object*, lean_object*, uint8_t, 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_Lean_Expr_bindingDomain_x21(lean_object*); @@ -112,7 +108,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Command_instDecidableEqStructFieldKind___bo static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__3___closed__6; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_getResultingUniverse___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__2(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -144,8 +139,10 @@ static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNew lean_object* l_Lean_Expr_getAutoParamTactic_x3f(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents_go___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldInfo____x40_Lean_Elab_Structure___hyg_541____closed__1; +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__13; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields_go___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_environment_find(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___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*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldInfo____x40_Lean_Elab_Structure___hyg_541____closed__6; static lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__3___closed__4; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -168,14 +165,13 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_ex lean_object* lean_mk_projections(lean_object*, lean_object*, lean_object*, uint8_t); uint8_t lean_name_eq(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__1___closed__2; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__2___closed__1; static lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__1___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_declRangeExt; lean_object* l_Lean_Elab_Term_ensureNoUnassignedMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__4; lean_object* l_Lean_mkIdentFrom(lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__1; LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__15(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___spec__9(lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__1___lambda__1___boxed(lean_object**); LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -190,7 +186,6 @@ lean_object* l_Lean_Elab_Term_withAutoBoundImplicitForbiddenPred___rarg(lean_obj lean_object* lean_array_push(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___spec__1(lean_object*); lean_object* lean_array_get_size(lean_object*); -static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__8; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_string_append(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -209,6 +204,7 @@ lean_object* l_Lean_assignLevelMVar___at_Lean_Elab_Command_shouldInferResultUniv static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___spec__2___closed__1; static lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__1___lambda__3___closed__6; lean_object* l_Lean_Level_getOffsetAux(lean_object*, lean_object*); +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__6; lean_object* l_Lean_Elab_expandDeclId___at_Lean_Elab_Term_expandDeclId___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectUniversesFromFields_go___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* l_Std_mkHashSetImp___rarg(lean_object*); @@ -226,8 +222,8 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Command_StructFieldKind_noConfusion___rarg( static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent___closed__1; lean_object* l_Lean_Expr_appArg_x21(lean_object*); LEAN_EXPORT uint8_t l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent___lambda__1(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___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_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__4(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_panic___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processPSigmaCasesOn___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_synthesizeSyntheticMVars(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_string_utf8_byte_size(lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -246,6 +242,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mk static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___rarg___closed__10; uint8_t lean_usize_dec_lt(size_t, size_t); lean_object* l_liftExcept___at_Lean_Elab_liftMacroM___spec__1(lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__2___closed__2; static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___closed__2; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_findFieldInfo_x3f___spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); uint8_t l_Lean_isPrivateName(lean_object*); @@ -269,6 +266,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_ad LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkDefaultFnOfProjFn(lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__7(lean_object*, size_t, size_t, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__2; LEAN_EXPORT lean_object* l_Array_filterMapM___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___spec__4(lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields_go___rarg___closed__4; @@ -278,7 +276,6 @@ static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFie LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldKind____x40_Lean_Elab_Structure___hyg_330_(uint8_t, lean_object*); -lean_object* l_Lean_addAndCompile___at_Lean_Meta_evalExprCore___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_getNestedProjectionArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_validStructType___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkValidCtorModifier___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__17___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -286,12 +283,14 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Command_StructFieldInfo_isFromParent___boxe LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields_go___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkValidCtorModifier___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__17___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__9___rarg___closed__1; +LEAN_EXPORT lean_object* l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__19___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_checkValidCtorModifier___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__17___lambda__1___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParam_levelMVarToParam_x27(lean_object*, 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_EXPORT lean_object* l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldKind____x40_Lean_Elab_Structure___hyg_330____closed__6; LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalContext_setBinderInfo(lean_object*, lean_object*, uint8_t); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___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_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -299,6 +298,7 @@ static lean_object* l_Lean_Elab_Command_checkValidCtorModifier___at___private_Le static lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__3___closed__6; static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldKind____x40_Lean_Elab_Structure___hyg_330____closed__25; static lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__3___closed__2; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__1; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents_go___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addCtorFields(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -313,6 +313,7 @@ LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0_ lean_object* l_Lean_LocalDecl_value(lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addCtorFields___closed__4; static lean_object* l_Lean_Elab_Command_checkValidCtorModifier___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__17___lambda__1___closed__2; +lean_object* l_Lean_addAndCompile___at___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match_mkEquationsFor___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkSizeOfInstances(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParam_levelMVarToParamFVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_updateResultingUniverse(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -326,6 +327,7 @@ lean_object* l_Lean_Elab_Term_elabTermEnsuringType(lean_object*, lean_object*, u lean_object* lean_array_fget(lean_object*, lean_object*); uint8_t l_Lean_Option_get___at_Lean_getSanitizeNames___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_findExistingField_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_MapDeclarationExtension_insert___rarg(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__1___closed__1; static lean_object* l_Lean_Elab_Command_instInhabitedStructFieldInfo___closed__1; LEAN_EXPORT lean_object* l_Lean_getDocStringText___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -333,16 +335,15 @@ lean_object* l_Lean_mkCasesOn___at___private_Lean_Elab_Inductive_0__Lean_Elab_Co LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_getFieldType___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__9; static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addCtorFields___closed__2; static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldInfo____x40_Lean_Elab_Structure___hyg_541____closed__13; lean_object* l_Lean_Elab_Term_levelMVarToParam(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Option_register___at_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Options___hyg_6____spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkFreshId___at_Lean_Meta_mkFreshExprMVarAt___spec__2___rarg(lean_object*, lean_object*); uint8_t l_Lean_Syntax_matchesNull(lean_object*, lean_object*); lean_object* l_List_forM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l___private_Lean_Elab_Structure_0__Lean_Elab_Command_validStructType(lean_object*); lean_object* l_Lean_Elab_expandMacroImpl_x3f(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__5; static lean_object* l_Lean_Elab_Command_checkValidCtorModifier___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__17___lambda__2___closed__1; lean_object* lean_st_ref_take(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__9___rarg(lean_object*); @@ -354,12 +355,12 @@ LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Structu LEAN_EXPORT uint8_t l_Lean_Elab_Command_StructFieldInfo_isSubobject(lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_declareTacticSyntax(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___lambda__2___closed__1; static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___lambda__4___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields_go___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectUniversesFromFields_go___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*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__1___closed__7; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkProjections___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -374,15 +375,12 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_de LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkHasTypeButIsExpectedMsg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getStructureFieldsFlattened(lean_object*, lean_object*, uint8_t); -lean_object* l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_elabStructure___closed__8; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__3___closed__10; static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__5___closed__2; static lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__1___closed__6; -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__2; static lean_object* l_Lean_Elab_getOptDerivingClasses___at_Lean_Elab_Command_elabStructure___spec__2___closed__4; static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__2; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__11(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -398,6 +396,7 @@ static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFie LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___rarg___lambda__4___boxed(lean_object**); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents_go(lean_object*); +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__3; uint8_t l_Lean_Expr_hasExprMVar(lean_object*); lean_object* l_Lean_Elab_Term_getFVarLocalDecl_x21(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_replaceRef(lean_object*, lean_object*); @@ -420,15 +419,17 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_el static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldInfo____x40_Lean_Elab_Structure___hyg_541____closed__4; static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__5___closed__1; lean_object* lean_name_append_index_after(lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___lambda__2___closed__2; lean_object* l_Lean_Meta_withLetDecl___at_Lean_Elab_Term_elabLetDeclAux___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectUsed___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__4___closed__2; +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_elabStructure___closed__4; static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___rarg___lambda__4___closed__6; +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__10; LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__3(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields_go___rarg___closed__2; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldInfo____x40_Lean_Elab_Structure___hyg_541____closed__9; @@ -436,6 +437,7 @@ static lean_object* l_Lean_Elab_Command_instInhabitedStructFieldInfo___closed__2 LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__5___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_instReprStructFieldInfo; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1___closed__1; static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__6___closed__5; lean_object* l_Lean_Meta_mkId(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkAuxConstructions___closed__6; @@ -459,7 +461,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_wi lean_object* lean_st_mk_ref(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___closed__1; -static lean_object* l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___spec__1___rarg___closed__1; +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__7; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___spec__7(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkValidCtorModifier___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__17___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkValidCtorModifier___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__17___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -471,7 +473,6 @@ lean_object* l_Lean_Syntax_getId(lean_object*); lean_object* l_Lean_Level_addOffsetAux(lean_object*, lean_object*); lean_object* l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_instAddErrorMessageContextTermElabM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__11; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents_go___rarg___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Expr_instHashableExpr; lean_object* l_Lean_Elab_applyVisibility___at_Lean_Elab_Term_expandDeclId___spec__5(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -482,7 +483,9 @@ static uint8_t l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldInfo____x40_Lean_Elab_Structure___hyg_541____closed__17; lean_object* l_Lean_mkRecOn___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_addDeclarationRanges___at_Lean_Elab_Command_elabStructure___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectLevelParamsInFVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_addDeclarationRanges___at_Lean_Elab_Command_elabStructure___spec__4___closed__1; static lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__3___closed__3; lean_object* l_Lean_Expr_sort___override(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -504,6 +507,7 @@ uint8_t l_Lean_Environment_contains(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__2(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_InfoCacheKey_instHashableInfoCacheKey___boxed(lean_object*); +static lean_object* l_Lean_Elab_addDeclarationRanges___at_Lean_Elab_Command_elabStructure___spec__4___closed__2; extern lean_object* l_Lean_protectedExt; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___spec__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__1___closed__5; @@ -511,11 +515,11 @@ static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_getFiel LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__5(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__3___closed__5; static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___rarg___closed__4; -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_findExistingField_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___closed__3; static lean_object* l_Lean_Elab_Command_checkValidCtorModifier___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__17___closed__2; lean_object* l_Lean_CollectLevelParams_main(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_findExistingField_x3f___spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_getFieldType___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___closed__4; @@ -527,6 +531,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__3 LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__4(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__6___closed__2; static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___closed__1; +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__8; static lean_object* l_Lean_Elab_Command_elabStructure___closed__5; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_processOveriddenDefaultValues___spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_addAuxDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__18(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -540,8 +545,8 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Command_StructFieldKind_toCtorIdx___boxed(l LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParam_levelMVarToParamFVars___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___rarg___closed__2; -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Command_elabStructure___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectLevelParamsInFVars___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_FileMap_toPosition(lean_object*, lean_object*); lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -579,7 +584,6 @@ LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___private_Lean_Elab_Stru static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___rarg___lambda__4___closed__2; size_t lean_usize_of_nat(lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___rarg___closed__4; -lean_object* l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__6___closed__8; extern lean_object* l_Lean_NameSet_empty; static lean_object* l_Lean_throwMaxRecDepthAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__8___closed__1; @@ -598,7 +602,6 @@ static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStr LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addProjections(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___rarg___closed__8; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents(lean_object*); -static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__12; LEAN_EXPORT uint8_t l___private_Lean_Elab_Structure_0__Lean_Elab_Command_containsFieldName(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyDefaultValue_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectLevelParamsInStructure___closed__1; @@ -623,6 +626,7 @@ static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure lean_object* l_Lean_LocalDecl_type(lean_object*); static lean_object* l_Lean_throwMaxRecDepthAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__8___closed__2; static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldKind____x40_Lean_Elab_Structure___hyg_330____closed__8; +LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParam_levelMVarToParamFVars___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__5___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__11___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -632,7 +636,6 @@ static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStr static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__9___rarg___closed__2; uint8_t l_Array_contains___at___private_Lean_Meta_Match_Value_0__Lean_Meta_isUIntTypeName___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___spec__7___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1___closed__2; lean_object* l_Lean_Name_getString_x21(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectLevelParamsInStructure___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -642,6 +645,7 @@ static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_getResu LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_toVisibility___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___lambda__4___closed__1; static lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___at_Lean_Elab_Command_elabStructure___spec__1___closed__1; +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__4; static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyDefaultValue_x3f_failed___closed__3; lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -664,7 +668,6 @@ LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Stru static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___rarg___closed__5; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___boxed__const__1; static lean_object* l_Lean_Elab_Command_checkValidCtorModifier___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__17___lambda__2___closed__2; -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___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*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___lambda__4___closed__2; static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___rarg___closed__3; static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldKind____x40_Lean_Elab_Structure___hyg_330____closed__5; @@ -698,8 +701,6 @@ lean_object* l_Lean_Name_beq___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkValidCtorModifier___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__17___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_addCtorFields___spec__1(lean_object*); -lean_object* l_panic___at_Lean_Meta_toCasesOnApp_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectLevelParamsInFVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_getDocStringText___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__14___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_containsFieldName___boxed(lean_object*, lean_object*); @@ -731,6 +732,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_ge static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__4___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyDefaultValue_x3f_go_x3f(lean_object*, lean_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_pure___at_Lean_Elab_liftMacroM___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__12; LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___at_Lean_Elab_Command_elabStructure___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static uint8_t l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___closed__3; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___spec__3(lean_object*); @@ -739,7 +741,6 @@ static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectLevelParamsInStructure___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_Elab_Command_getMainModule___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_panic___at___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_packValues_go___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Level_isMVar(lean_object*); @@ -767,6 +768,8 @@ LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0_ LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyDefaultValue_x3f_go_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkAuxConstructions___closed__2; uint8_t lean_nat_dec_eq(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Command_elabStructure___spec__5(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_getOptDerivingClasses___at_Lean_Elab_Command_elabStructure___spec__2___lambda__2___closed__1; lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldKind____x40_Lean_Elab_Structure___hyg_330____closed__23; @@ -801,12 +804,9 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_el static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectUniversesFromFields_go___spec__2___lambda__1___closed__1; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectUniversesFromFields_go___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_panic_fn(lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___lambda__2___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_findFieldInfo_x3f___lambda__1(lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__10(lean_object*, size_t, size_t, lean_object*); -static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__3; static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__3___closed__15; -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___lambda__2___closed__1; lean_object* l_instHashableProd___rarg___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_getOptDerivingClasses___at_Lean_Elab_Command_elabStructure___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields_go___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*, lean_object*, lean_object*); @@ -819,14 +819,15 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Structure__ uint8_t l_Lean_TagDeclarationExtension_isTagged(lean_object*, lean_object*, lean_object*); lean_object* lean_mk_array(lean_object*, lean_object*); uint8_t l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(uint8_t, uint8_t); +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___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*, lean_object*); lean_object* l_Lean_throwError___at___private_Lean_Elab_Command_0__Lean_Elab_Command_elabCommandUsing___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__7; lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_GeneralizeTelescope_generalizeTelescopeAux___spec__1___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_expr_abstract(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_setReducibilityStatus___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldKind____x40_Lean_Elab_Structure___hyg_330____closed__11; +lean_object* l_Lean_Syntax_getTailPos_x3f(lean_object*, uint8_t); extern lean_object* l_Lean_Expr_instBEqExpr; LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkValidCtorModifier___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__17___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_withoutAutoBoundImplicit___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -839,9 +840,8 @@ LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Stru LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__12(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCtor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1___closed__1; +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__11; lean_object* l_Lean_Meta_getStructureName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__4; lean_object* l_Lean_getProjectionFnInfo_x3f___at_Lean_Meta_getStuckMVar_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_string_length(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -859,12 +859,13 @@ static lean_object* l_Lean_Elab_Command_checkValidFieldModifier___closed__1; lean_object* l_Lean_Expr_getForallBody(lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__3(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Elab_Modifiers_isPrivate(lean_object*); +lean_object* l_Lean_Option_register___at_Lean_Elab_initFn____x40_Lean_Elab_AutoBound___hyg_7____spec__1(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_NameSet_contains(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_go___rarg___lambda__4___closed__5; lean_object* l_Lean_Elab_Term_addAutoBoundImplicits(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_whnfD(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__10; static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldInfo____x40_Lean_Elab_Structure___hyg_541____closed__10; +LEAN_EXPORT lean_object* l_Lean_Elab_addDeclarationRanges___at_Lean_Elab_Command_elabStructure___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_findFieldInfo_x3f___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__16(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -890,6 +891,8 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_co LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_getFieldType___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_panic___at_Lean_Meta_whnfCore_go___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_FileMap_leanPosToLspPos(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__19(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyDefaultValue_x3f_failed___closed__1; LEAN_EXPORT uint8_t l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents_go___rarg___lambda__1(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldInfo____x40_Lean_Elab_Structure___hyg_541____closed__7; @@ -917,6 +920,7 @@ static lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___at_Lean_El LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom___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*); static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__3___closed__2; static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldKind____x40_Lean_Elab_Structure___hyg_330____closed__21; +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__1; static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__4___closed__4; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_getDocStringText___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__14___closed__4; @@ -930,6 +934,7 @@ static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure lean_object* l_Lean_indentExpr(lean_object*); static lean_object* l_Lean_Elab_Command_checkValidInductiveModifier___at_Lean_Elab_Command_elabStructure___spec__1___lambda__1___closed__2; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_getDeclarationSelectionRef(lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_reprStructFieldInfo____x40_Lean_Elab_Structure___hyg_541____closed__16; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_getDocStringText___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__14___closed__1; @@ -945,14 +950,17 @@ LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Stru LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_instReprStructFieldKind; +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Elab_Command_instInhabitedStructFieldKind; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___rarg___lambda__4___boxed(lean_object**); +lean_object* l_panic___at_Lean_mkNoConfusionEnum_mkToCtorIdx___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_getFieldType___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___lambda__3___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__5___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Term_synthesizeInstMVarCore___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_logWarning___at___private_Lean_Elab_Term_0__Lean_Elab_Term_mkConsts___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_to_int(lean_object*); lean_object* l_Lean_getAttributeImpl(lean_object*, lean_object*); @@ -962,9 +970,9 @@ LEAN_EXPORT uint8_t l___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMV static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Structure___hyg_3423____closed__3; lean_object* l_Lean_Elab_withSaveInfoContext___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__5; LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectUniversesFromFields(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_findFieldInfo_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__3; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_processOveriddenDefaultValues___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*); static lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__1___closed__2; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -974,17 +982,21 @@ lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Syntax_SepArray_getElems___spec uint8_t lean_is_class(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_applyAttributesAt___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__9; static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_getFieldType___lambda__5___closed__5; +lean_object* l_Lean_Meta_instInhabitedMetaM___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue___lambda__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__3___boxed(lean_object**); LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__1___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabAttrs___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabAttrs___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__3___closed__1; +static lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabStructure___lambda__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_updateFieldInfoVal___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*); lean_object* l_Lean_Elab_getBetterRef(lean_object*, lean_object*); uint8_t lean_string_dec_eq(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields_go___rarg___closed__3; +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Command_elabStructure___spec__5___boxed(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_getFVarLocalDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -4543,17 +4555,475 @@ return x_17; } } } +LEAN_EXPORT lean_object* l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__19(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; uint8_t x_10; lean_object* x_11; lean_object* x_12; +x_9 = lean_ctor_get(x_6, 1); +x_10 = 0; +x_11 = l_Lean_Syntax_getPos_x3f(x_1, x_10); +x_12 = l_Lean_Syntax_getTailPos_x3f(x_1, x_10); +if (lean_obj_tag(x_11) == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_unsigned_to_nat(0u); +x_14 = l_Lean_FileMap_toPosition(x_9, x_13); +lean_inc(x_14); +x_15 = l_Lean_FileMap_leanPosToLspPos(x_9, x_14); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_16 = lean_ctor_get(x_15, 1); +lean_inc(x_16); +lean_dec(x_15); +lean_inc(x_16); +lean_inc(x_14); +x_17 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_17, 0, x_14); +lean_ctor_set(x_17, 1, x_16); +lean_ctor_set(x_17, 2, x_14); +lean_ctor_set(x_17, 3, x_16); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_17); +lean_ctor_set(x_18, 1, x_8); +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; +x_19 = lean_ctor_get(x_15, 1); +lean_inc(x_19); +lean_dec(x_15); +x_20 = lean_ctor_get(x_12, 0); +lean_inc(x_20); +lean_dec(x_12); +x_21 = l_Lean_FileMap_toPosition(x_9, x_20); +lean_dec(x_20); +lean_inc(x_21); +x_22 = l_Lean_FileMap_leanPosToLspPos(x_9, x_21); +x_23 = lean_ctor_get(x_22, 1); +lean_inc(x_23); +lean_dec(x_22); +x_24 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_24, 0, x_14); +lean_ctor_set(x_24, 1, x_19); +lean_ctor_set(x_24, 2, x_21); +lean_ctor_set(x_24, 3, x_23); +x_25 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_25, 0, x_24); +lean_ctor_set(x_25, 1, x_8); +return x_25; +} +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_11, 0); +lean_inc(x_26); +lean_dec(x_11); +x_27 = l_Lean_FileMap_toPosition(x_9, x_26); +lean_dec(x_26); +lean_inc(x_27); +x_28 = l_Lean_FileMap_leanPosToLspPos(x_9, x_27); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_28, 1); +lean_inc(x_29); +lean_dec(x_28); +lean_inc(x_29); +lean_inc(x_27); +x_30 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_30, 0, x_27); +lean_ctor_set(x_30, 1, x_29); +lean_ctor_set(x_30, 2, x_27); +lean_ctor_set(x_30, 3, x_29); +x_31 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_31, 0, x_30); +lean_ctor_set(x_31, 1, x_8); +return x_31; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_32 = lean_ctor_get(x_28, 1); +lean_inc(x_32); +lean_dec(x_28); +x_33 = lean_ctor_get(x_12, 0); +lean_inc(x_33); +lean_dec(x_12); +x_34 = l_Lean_FileMap_toPosition(x_9, x_33); +lean_dec(x_33); +lean_inc(x_34); +x_35 = l_Lean_FileMap_leanPosToLspPos(x_9, x_34); +x_36 = lean_ctor_get(x_35, 1); +lean_inc(x_36); +lean_dec(x_35); +x_37 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_37, 0, x_27); +lean_ctor_set(x_37, 1, x_32); +lean_ctor_set(x_37, 2, x_34); +lean_ctor_set(x_37, 3, x_36); +x_38 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_38, 0, x_37); +lean_ctor_set(x_38, 1, x_8); +return x_38; +} +} +} +} +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_declRangeExt; +return x_1; +} +} +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0)); +return x_1; +} +} +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__2; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__3; +x_2 = lean_unsigned_to_nat(0u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__4; +x_2 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_2, 0, x_1); +lean_ctor_set(x_2, 1, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__3; +x_2 = lean_unsigned_to_nat(0u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__7() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Meta_InfoCacheKey_instHashableInfoCacheKey___boxed), 1, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__8() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__3; +x_2 = lean_unsigned_to_nat(0u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__3; +x_2 = lean_unsigned_to_nat(0u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__10() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Expr_instBEqExpr; +x_2 = lean_alloc_closure((void*)(l_instBEqProd___rarg), 4, 2); +lean_closure_set(x_2, 0, x_1); +lean_closure_set(x_2, 1, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__11() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Expr_instHashableExpr; +x_2 = lean_alloc_closure((void*)(l_instHashableProd___rarg___boxed), 3, 2); +lean_closure_set(x_2, 0, x_1); +lean_closure_set(x_2, 1, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__12() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__3; +x_2 = lean_unsigned_to_nat(0u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__13() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__6; +x_2 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__8; +x_3 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__9; +x_4 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__12; +x_5 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_5, 0, x_1); +lean_ctor_set(x_5, 1, x_2); +lean_ctor_set(x_5, 2, x_3); +lean_ctor_set(x_5, 3, x_1); +lean_ctor_set(x_5, 4, x_1); +lean_ctor_set(x_5, 5, x_4); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; +x_10 = lean_st_ref_take(x_8, x_9); +x_11 = lean_ctor_get(x_10, 0); +lean_inc(x_11); +x_12 = lean_ctor_get(x_10, 1); +lean_inc(x_12); +lean_dec(x_10); +x_13 = !lean_is_exclusive(x_11); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; +x_14 = lean_ctor_get(x_11, 0); +x_15 = lean_ctor_get(x_11, 4); +lean_dec(x_15); +x_16 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__1; +x_17 = l_Lean_MapDeclarationExtension_insert___rarg(x_16, x_14, x_1, x_2); +x_18 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__5; +lean_ctor_set(x_11, 4, x_18); +lean_ctor_set(x_11, 0, x_17); +x_19 = lean_st_ref_set(x_8, x_11, x_12); +x_20 = lean_ctor_get(x_19, 1); +lean_inc(x_20); +lean_dec(x_19); +x_21 = lean_st_ref_get(x_8, x_20); +x_22 = lean_ctor_get(x_21, 1); +lean_inc(x_22); +lean_dec(x_21); +x_23 = lean_st_ref_take(x_6, x_22); +x_24 = lean_ctor_get(x_23, 0); +lean_inc(x_24); +x_25 = lean_ctor_get(x_23, 1); +lean_inc(x_25); +lean_dec(x_23); +x_26 = !lean_is_exclusive(x_24); +if (x_26 == 0) +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_30; +x_27 = lean_ctor_get(x_24, 1); +lean_dec(x_27); +x_28 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__13; +lean_ctor_set(x_24, 1, x_28); +x_29 = lean_st_ref_set(x_6, x_24, x_25); +x_30 = !lean_is_exclusive(x_29); +if (x_30 == 0) +{ +lean_object* x_31; lean_object* x_32; +x_31 = lean_ctor_get(x_29, 0); +lean_dec(x_31); +x_32 = lean_box(0); +lean_ctor_set(x_29, 0, x_32); +return x_29; +} +else +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_33 = lean_ctor_get(x_29, 1); +lean_inc(x_33); +lean_dec(x_29); +x_34 = lean_box(0); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_34); +lean_ctor_set(x_35, 1, x_33); +return x_35; +} +} +else +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_36 = lean_ctor_get(x_24, 0); +x_37 = lean_ctor_get(x_24, 2); +x_38 = lean_ctor_get(x_24, 3); +lean_inc(x_38); +lean_inc(x_37); +lean_inc(x_36); +lean_dec(x_24); +x_39 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__13; +x_40 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_40, 0, x_36); +lean_ctor_set(x_40, 1, x_39); +lean_ctor_set(x_40, 2, x_37); +lean_ctor_set(x_40, 3, x_38); +x_41 = lean_st_ref_set(x_6, x_40, x_25); +x_42 = lean_ctor_get(x_41, 1); +lean_inc(x_42); +if (lean_is_exclusive(x_41)) { + lean_ctor_release(x_41, 0); + lean_ctor_release(x_41, 1); + x_43 = x_41; +} else { + lean_dec_ref(x_41); + x_43 = lean_box(0); +} +x_44 = lean_box(0); +if (lean_is_scalar(x_43)) { + x_45 = lean_alloc_ctor(0, 2, 0); +} else { + x_45 = x_43; +} +lean_ctor_set(x_45, 0, x_44); +lean_ctor_set(x_45, 1, x_42); +return x_45; +} +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; +x_46 = lean_ctor_get(x_11, 0); +x_47 = lean_ctor_get(x_11, 1); +x_48 = lean_ctor_get(x_11, 2); +x_49 = lean_ctor_get(x_11, 3); +x_50 = lean_ctor_get(x_11, 5); +x_51 = lean_ctor_get(x_11, 6); +lean_inc(x_51); +lean_inc(x_50); +lean_inc(x_49); +lean_inc(x_48); +lean_inc(x_47); +lean_inc(x_46); +lean_dec(x_11); +x_52 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__1; +x_53 = l_Lean_MapDeclarationExtension_insert___rarg(x_52, x_46, x_1, x_2); +x_54 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__5; +x_55 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_55, 0, x_53); +lean_ctor_set(x_55, 1, x_47); +lean_ctor_set(x_55, 2, x_48); +lean_ctor_set(x_55, 3, x_49); +lean_ctor_set(x_55, 4, x_54); +lean_ctor_set(x_55, 5, x_50); +lean_ctor_set(x_55, 6, x_51); +x_56 = lean_st_ref_set(x_8, x_55, x_12); +x_57 = lean_ctor_get(x_56, 1); +lean_inc(x_57); +lean_dec(x_56); +x_58 = lean_st_ref_get(x_8, x_57); +x_59 = lean_ctor_get(x_58, 1); +lean_inc(x_59); +lean_dec(x_58); +x_60 = lean_st_ref_take(x_6, x_59); +x_61 = lean_ctor_get(x_60, 0); +lean_inc(x_61); +x_62 = lean_ctor_get(x_60, 1); +lean_inc(x_62); +lean_dec(x_60); +x_63 = lean_ctor_get(x_61, 0); +lean_inc(x_63); +x_64 = lean_ctor_get(x_61, 2); +lean_inc(x_64); +x_65 = lean_ctor_get(x_61, 3); +lean_inc(x_65); +if (lean_is_exclusive(x_61)) { + lean_ctor_release(x_61, 0); + lean_ctor_release(x_61, 1); + lean_ctor_release(x_61, 2); + lean_ctor_release(x_61, 3); + x_66 = x_61; +} else { + lean_dec_ref(x_61); + x_66 = lean_box(0); +} +x_67 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__13; +if (lean_is_scalar(x_66)) { + x_68 = lean_alloc_ctor(0, 4, 0); +} else { + x_68 = x_66; +} +lean_ctor_set(x_68, 0, x_63); +lean_ctor_set(x_68, 1, x_67); +lean_ctor_set(x_68, 2, x_64); +lean_ctor_set(x_68, 3, x_65); +x_69 = lean_st_ref_set(x_6, x_68, x_62); +x_70 = lean_ctor_get(x_69, 1); +lean_inc(x_70); +if (lean_is_exclusive(x_69)) { + lean_ctor_release(x_69, 0); + lean_ctor_release(x_69, 1); + x_71 = x_69; +} else { + lean_dec_ref(x_69); + x_71 = lean_box(0); +} +x_72 = lean_box(0); +if (lean_is_scalar(x_71)) { + x_73 = lean_alloc_ctor(0, 2, 0); +} else { + x_73 = x_71; +} +lean_ctor_set(x_73, 0, x_72); +lean_ctor_set(x_73, 1, x_70); +return x_73; +} +} +} LEAN_EXPORT lean_object* l_Lean_Elab_addAuxDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__18(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, 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; -x_11 = l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4(x_2, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_11 = l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__19(x_2, x_4, x_5, x_6, x_7, x_8, x_9, x_10); x_12 = lean_ctor_get(x_11, 0); lean_inc(x_12); x_13 = lean_ctor_get(x_11, 1); lean_inc(x_13); lean_dec(x_11); -x_14 = l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4(x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_13); +x_14 = l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__19(x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_13); x_15 = lean_ctor_get(x_14, 0); lean_inc(x_15); x_16 = lean_ctor_get(x_14, 1); @@ -4562,7 +5032,13 @@ lean_dec(x_14); x_17 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_17, 0, x_12); lean_ctor_set(x_17, 1, x_15); -x_18 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5(x_1, x_17, x_4, x_5, x_6, x_7, x_8, x_9, x_16); +x_18 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20(x_1, x_17, x_4, x_5, x_6, x_7, x_8, x_9, x_16); +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_18; } } @@ -4601,12 +5077,6 @@ lean_dec(x_21); lean_inc(x_13); lean_inc(x_18); x_23 = l_Lean_Elab_addAuxDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__18(x_18, x_13, x_13, x_5, x_6, x_7, x_8, x_9, x_10, x_22); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); x_24 = !lean_is_exclusive(x_23); if (x_24 == 0) { @@ -5175,12 +5645,6 @@ lean_dec(x_2); lean_inc(x_14); lean_inc(x_12); x_90 = l_Lean_Elab_addAuxDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__18(x_12, x_14, x_14, 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); x_91 = !lean_is_exclusive(x_90); if (x_91 == 0) { @@ -5224,12 +5688,6 @@ lean_dec(x_2); lean_inc(x_14); lean_inc(x_12); x_99 = l_Lean_Elab_addAuxDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__18(x_12, x_14, x_14, 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); x_100 = !lean_is_exclusive(x_99); if (x_100 == 0) { @@ -5543,18 +6001,32 @@ lean_dec(x_1); return x_9; } } -LEAN_EXPORT lean_object* l_Lean_Elab_addAuxDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__18___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__19___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { -lean_object* x_11; -x_11 = l_Lean_Elab_addAuxDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__18(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_object* x_9; +x_9 = l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__19(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -return x_11; +lean_dec(x_3); +return x_10; } } LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___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) { @@ -8956,7 +9428,7 @@ _start: lean_object* x_2; lean_object* x_3; lean_object* x_4; x_2 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Structure___hyg_3423____closed__2; x_3 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Structure___hyg_3423____closed__4; -x_4 = l_Lean_Option_register___at_Lean_initFn____x40_Lean_PrettyPrinter_Delaborator_Options___hyg_6____spec__1(x_2, x_3, x_1); +x_4 = l_Lean_Option_register___at_Lean_Elab_initFn____x40_Lean_Elab_AutoBound___hyg_7____spec__1(x_2, x_3, x_1); return x_4; } } @@ -11668,7 +12140,25 @@ lean_dec(x_1); return x_16; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1___closed__1() { +static lean_object* _init_l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_Elab_Term_instInhabitedTermElabM(lean_box(0)); +return x_1; +} +} +LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_9 = l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1___closed__1; +x_10 = lean_panic_fn(x_9, x_1); +x_11 = lean_apply_7(x_10, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +return x_11; +} +} +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__2___closed__1() { _start: { lean_object* x_1; @@ -11676,16 +12166,16 @@ x_1 = lean_mk_string_from_bytes("failed to copy fields from parent structure", 4 return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1___closed__2() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__2___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1___closed__1; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__2___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___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* x_12, lean_object* x_13) { _start: { uint8_t x_14; @@ -11711,7 +12201,7 @@ if (lean_obj_tag(x_17) == 0) lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_dec(x_6); x_18 = l_Lean_indentExpr(x_1); -x_19 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1___closed__2; +x_19 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__2___closed__2; x_20 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_20, 0, x_19); lean_ctor_set(x_20, 1, x_18); @@ -11840,13 +12330,14 @@ x_30 = lean_array_get_size(x_29); x_31 = lean_usize_of_nat(x_30); lean_dec(x_30); x_32 = 0; -x_33 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1(x_1, x_2, x_29, x_31, x_32, x_28, x_3, x_4, x_5, x_6, x_7, x_8, x_12); +x_33 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__2(x_1, x_2, x_29, x_31, x_32, x_28, x_3, x_4, x_5, x_6, x_7, x_8, x_12); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_29); +lean_dec(x_2); if (lean_obj_tag(x_33) == 0) { uint8_t x_34; @@ -11897,14 +12388,15 @@ else lean_object* x_42; lean_object* x_43; lean_dec(x_14); lean_dec(x_13); +lean_dec(x_2); lean_dec(x_1); x_42 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__4; -x_43 = l_panic___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processPSigmaCasesOn___spec__1(x_42, x_3, x_4, x_5, x_6, x_7, x_8, x_12); +x_43 = l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1(x_42, x_3, x_4, x_5, x_6, x_7, x_8, x_12); return x_43; } } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___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_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { size_t x_14; size_t x_15; lean_object* x_16; @@ -11912,7 +12404,7 @@ x_14 = lean_unbox_usize(x_4); lean_dec(x_4); x_15 = lean_unbox_usize(x_5); lean_dec(x_5); -x_16 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1(x_1, x_2, x_3, x_14, x_15, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +x_16 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__2(x_1, x_2, x_3, x_14, x_15, 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); @@ -11923,15 +12415,6 @@ lean_dec(x_2); return x_16; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -lean_object* x_10; -x_10 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -lean_dec(x_2); -return x_10; -} -} LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { @@ -12005,19 +12488,11 @@ x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_Structure_0__Lean_Elab_Co return x_2; } } -static lean_object* _init_l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___spec__1___rarg___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = l_Lean_Elab_Term_instInhabitedTermElabM(lean_box(0)); -return x_1; -} -} LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; lean_object* x_10; lean_object* x_11; -x_9 = l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___spec__1___rarg___closed__1; +x_9 = l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1___closed__1; x_10 = lean_panic_fn(x_9, x_1); x_11 = lean_apply_7(x_10, x_2, x_3, x_4, x_5, x_6, x_7, x_8); return x_11; @@ -12177,7 +12652,6 @@ lean_inc(x_15); lean_inc(x_14); lean_inc(x_13); x_20 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField(x_1, x_11, x_13, x_14, x_15, x_16, x_17, x_18, x_19); -lean_dec(x_11); if (lean_obj_tag(x_20) == 0) { lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; @@ -13129,7 +13603,6 @@ _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; uint8_t x_10; x_3 = lean_erase_macro_scopes(x_1); x_4 = l_Lean_Name_getString_x21(x_3); -lean_dec(x_3); x_5 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkToParentName___closed__1; x_6 = lean_string_append(x_5, x_4); lean_dec(x_4); @@ -21896,143 +22369,6 @@ return x_21; } } } -static lean_object* _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0)); -return x_1; -} -} -static lean_object* _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__1; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__2; -x_2 = lean_unsigned_to_nat(0u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__3; -x_2 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_2, 0, x_1); -lean_ctor_set(x_2, 1, x_1); -return x_2; -} -} -static lean_object* _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__5() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__2; -x_2 = lean_unsigned_to_nat(0u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__6() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Meta_InfoCacheKey_instHashableInfoCacheKey___boxed), 1, 0); -return x_1; -} -} -static lean_object* _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__7() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__2; -x_2 = lean_unsigned_to_nat(0u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__8() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__2; -x_2 = lean_unsigned_to_nat(0u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__9() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Expr_instBEqExpr; -x_2 = lean_alloc_closure((void*)(l_instBEqProd___rarg), 4, 2); -lean_closure_set(x_2, 0, x_1); -lean_closure_set(x_2, 1, x_1); -return x_2; -} -} -static lean_object* _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__10() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Expr_instHashableExpr; -x_2 = lean_alloc_closure((void*)(l_instHashableProd___rarg___boxed), 3, 2); -lean_closure_set(x_2, 0, x_1); -lean_closure_set(x_2, 1, x_1); -return x_2; -} -} -static lean_object* _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__11() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__2; -x_2 = lean_unsigned_to_nat(0u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__12() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__5; -x_2 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__7; -x_3 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__8; -x_4 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__11; -x_5 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_5, 0, x_1); -lean_ctor_set(x_5, 1, x_2); -lean_ctor_set(x_5, 2, x_3); -lean_ctor_set(x_5, 3, x_1); -lean_ctor_set(x_5, 4, x_1); -lean_ctor_set(x_5, 5, x_4); -return x_5; -} -} LEAN_EXPORT lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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: { @@ -22067,7 +22403,7 @@ x_21 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_21, 0, x_1); lean_ctor_set(x_21, 1, x_13); x_22 = l_Lean_registerStructure(x_19, x_21); -x_23 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__4; +x_23 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__5; lean_ctor_set(x_16, 4, x_23); lean_ctor_set(x_16, 0, x_22); x_24 = lean_st_ref_set(x_8, x_16, x_17); @@ -22091,7 +22427,7 @@ if (x_31 == 0) lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; x_32 = lean_ctor_get(x_29, 1); lean_dec(x_32); -x_33 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__12; +x_33 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__13; lean_ctor_set(x_29, 1, x_33); x_34 = lean_st_ref_set(x_6, x_29, x_30); lean_dec(x_6); @@ -22128,7 +22464,7 @@ lean_inc(x_43); lean_inc(x_42); lean_inc(x_41); lean_dec(x_29); -x_44 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__12; +x_44 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__13; x_45 = lean_alloc_ctor(0, 4, 0); lean_ctor_set(x_45, 0, x_41); lean_ctor_set(x_45, 1, x_44); @@ -22177,7 +22513,7 @@ x_57 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_57, 0, x_1); lean_ctor_set(x_57, 1, x_13); x_58 = l_Lean_registerStructure(x_51, x_57); -x_59 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__4; +x_59 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__5; x_60 = lean_alloc_ctor(0, 7, 0); lean_ctor_set(x_60, 0, x_58); lean_ctor_set(x_60, 1, x_52); @@ -22217,7 +22553,7 @@ if (lean_is_exclusive(x_66)) { lean_dec_ref(x_66); x_71 = lean_box(0); } -x_72 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__12; +x_72 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__13; if (lean_is_scalar(x_71)) { x_73 = lean_alloc_ctor(0, 4, 0); } else { @@ -22581,7 +22917,7 @@ x_14 = lean_ctor_get(x_11, 0); x_15 = lean_ctor_get(x_11, 4); lean_dec(x_15); x_16 = lean_set_reducibility_status(x_14, x_1, x_2); -x_17 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__4; +x_17 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__5; lean_ctor_set(x_11, 4, x_17); lean_ctor_set(x_11, 0, x_16); x_18 = lean_st_ref_set(x_8, x_11, x_12); @@ -22604,7 +22940,7 @@ if (x_25 == 0) lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; x_26 = lean_ctor_get(x_23, 1); lean_dec(x_26); -x_27 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__12; +x_27 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__13; lean_ctor_set(x_23, 1, x_27); x_28 = lean_st_ref_set(x_6, x_23, x_24); x_29 = !lean_is_exclusive(x_28); @@ -22640,7 +22976,7 @@ lean_inc(x_37); lean_inc(x_36); lean_inc(x_35); lean_dec(x_23); -x_38 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__12; +x_38 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__13; x_39 = lean_alloc_ctor(0, 4, 0); lean_ctor_set(x_39, 0, x_35); lean_ctor_set(x_39, 1, x_38); @@ -22685,7 +23021,7 @@ lean_inc(x_46); lean_inc(x_45); lean_dec(x_11); x_51 = lean_set_reducibility_status(x_45, x_1, x_2); -x_52 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__4; +x_52 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__5; x_53 = lean_alloc_ctor(0, 7, 0); lean_ctor_set(x_53, 0, x_51); lean_ctor_set(x_53, 1, x_46); @@ -22724,7 +23060,7 @@ if (lean_is_exclusive(x_59)) { lean_dec_ref(x_59); x_64 = lean_box(0); } -x_65 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__12; +x_65 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__13; if (lean_is_scalar(x_64)) { x_66 = lean_alloc_ctor(0, 4, 0); } else { @@ -23140,7 +23476,26 @@ lean_dec(x_1); return x_8; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___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) { +static lean_object* _init_l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Meta_instInhabitedMetaM___boxed), 5, 1); +lean_closure_set(x_1, 0, lean_box(0)); +return x_1; +} +} +LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___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; lean_object* x_9; +x_7 = l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__1; +x_8 = lean_panic_fn(x_7, x_1); +x_9 = lean_apply_5(x_8, x_2, x_3, x_4, x_5, x_6); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; lean_object* x_13; @@ -23202,7 +23557,7 @@ return x_26; } } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___lambda__2___closed__1() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___lambda__2___closed__1() { _start: { lean_object* x_1; @@ -23210,16 +23565,16 @@ x_1 = lean_mk_string_from_bytes("failed to build coercion to parent structure, u return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___lambda__2___closed__2() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___lambda__2___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___lambda__2___closed__1; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___lambda__2___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___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_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___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; @@ -23260,7 +23615,7 @@ lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); x_18 = l_Lean_indentExpr(x_15); -x_19 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___lambda__2___closed__2; +x_19 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___lambda__2___closed__2; x_20 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_20, 0, x_19); lean_ctor_set(x_20, 1, x_18); @@ -23296,7 +23651,7 @@ else { lean_object* x_28; lean_object* x_29; x_28 = lean_box(0); -x_29 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___lambda__1(x_15, x_1, x_2, x_3, x_4, x_28, x_6, x_7, x_8, x_9, x_16); +x_29 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___lambda__1(x_15, x_1, x_2, x_3, x_4, x_28, x_6, x_7, x_8, x_9, x_16); lean_dec(x_15); return x_29; } @@ -23364,7 +23719,7 @@ return x_37; } } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__1() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__1() { _start: { lean_object* x_1; @@ -23372,12 +23727,12 @@ x_1 = lean_mk_string_from_bytes("_private.Lean.Elab.Structure.0.Lean.Elab.Comman return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__2() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__1; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__1; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__1; x_3 = lean_unsigned_to_nat(762u); x_4 = lean_unsigned_to_nat(79u); x_5 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__3; @@ -23385,7 +23740,7 @@ x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__3() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__3() { _start: { lean_object* x_1; @@ -23393,16 +23748,16 @@ x_1 = lean_mk_string_from_bytes("failed to build coercion to parent structure", return x_1; } } -static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__4() { +static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__3; +x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__3; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, size_t x_6, size_t x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, size_t x_6, size_t x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { uint8_t x_14; @@ -23437,12 +23792,12 @@ x_27 = l_Lean_getFieldInfo_x3f(x_1, x_4, x_16); if (lean_obj_tag(x_27) == 0) { lean_object* x_28; lean_object* x_29; -x_28 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__2; +x_28 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__2; lean_inc(x_12); lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); -x_29 = l_panic___at_Lean_Meta_toCasesOnApp_x3f___spec__1(x_28, x_9, x_10, x_11, x_12, x_13); +x_29 = l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1(x_28, x_9, x_10, x_11, x_12, x_13); if (lean_obj_tag(x_29) == 0) { lean_object* x_30; lean_object* x_31; @@ -23504,7 +23859,7 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_38 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__4; +x_38 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__4; x_39 = l_Lean_throwError___at_Lean_Meta_mkSimpCongrTheorem___spec__6(x_38, x_9, x_10, x_11, x_12, x_13); lean_dec(x_12); lean_dec(x_11); @@ -23541,7 +23896,7 @@ lean_inc(x_9); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_45 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___lambda__2(x_1, x_2, x_3, x_8, x_44, x_9, x_10, x_11, x_12, x_13); +x_45 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___lambda__2(x_1, x_2, x_3, x_8, x_44, x_9, x_10, x_11, x_12, x_13); if (lean_obj_tag(x_45) == 0) { lean_object* x_46; lean_object* x_47; @@ -23686,7 +24041,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__1; -x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__1; +x_2 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__1; x_3 = lean_unsigned_to_nat(753u); x_4 = lean_unsigned_to_nat(70u); x_5 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__3; @@ -23734,7 +24089,7 @@ x_26 = lean_array_get_size(x_25); x_27 = lean_usize_of_nat(x_26); lean_dec(x_26); x_28 = 0; -x_29 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1(x_1, x_2, x_3, x_11, x_25, x_27, x_28, x_24, x_5, x_6, x_7, x_8, x_9); +x_29 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2(x_1, x_2, x_3, x_11, x_25, x_27, x_28, x_24, x_5, x_6, x_7, x_8, x_9); lean_dec(x_25); if (lean_obj_tag(x_29) == 0) { @@ -23795,17 +24150,17 @@ return x_39; } } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___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_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { lean_object* x_12; -x_12 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___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 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_6); lean_dec(x_1); return x_12; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___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_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { _start: { size_t x_14; size_t x_15; lean_object* x_16; @@ -23813,7 +24168,7 @@ x_14 = lean_unbox_usize(x_6); lean_dec(x_6); x_15 = lean_unbox_usize(x_7); lean_dec(x_7); -x_16 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1(x_1, x_2, x_3, x_4, x_5, x_14, x_15, x_8, x_9, x_10, x_11, x_12, x_13); +x_16 = l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2(x_1, x_2, x_3, x_4, x_5, x_14, x_15, x_8, x_9, x_10, x_11, x_12, x_13); lean_dec(x_5); return x_16; } @@ -23961,7 +24316,7 @@ lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); lean_inc(x_11); -x_58 = l_Lean_addAndCompile___at_Lean_Meta_evalExprCore___spec__1(x_57, x_11, x_12, x_13, x_14, x_46); +x_58 = l_Lean_addAndCompile___at___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match_mkEquationsFor___spec__6(x_57, x_11, x_12, x_13, x_14, x_46); if (lean_obj_tag(x_58) == 0) { lean_object* x_59; uint8_t x_60; @@ -24034,7 +24389,7 @@ lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); lean_inc(x_11); -x_74 = l_Lean_addAndCompile___at_Lean_Meta_evalExprCore___spec__1(x_73, x_11, x_12, x_13, x_14, x_46); +x_74 = l_Lean_addAndCompile___at___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match_mkEquationsFor___spec__6(x_73, x_11, x_12, x_13, x_14, x_46); if (lean_obj_tag(x_74) == 0) { lean_object* x_75; uint8_t x_76; @@ -24450,7 +24805,7 @@ lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); x_40 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent___closed__2; -x_41 = l_panic___at___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_packValues_go___spec__1(x_40, x_5, x_6, x_7, x_8, x_12); +x_41 = l_panic___at_Lean_mkNoConfusionEnum_mkToCtorIdx___spec__1(x_40, x_5, x_6, x_7, x_8, x_12); return x_41; } } @@ -25279,6 +25634,12 @@ if (x_18 == 0) { lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; size_t x_23; size_t x_24; x_19 = lean_box(0); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); x_20 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__11___lambda__1(x_14, x_19, x_6, x_7, x_8, x_9, x_10, x_11, x_12); x_21 = lean_ctor_get(x_20, 0); lean_inc(x_21); @@ -25311,6 +25672,10 @@ x_32 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_32, 0, x_30); lean_ctor_set(x_32, 1, x_31); x_33 = l_Lean_throwErrorAt___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_elabBinderViews_loop___spec__1(x_26, x_32, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); lean_dec(x_26); x_34 = !lean_is_exclusive(x_33); if (x_34 == 0) @@ -25335,7 +25700,11 @@ return x_37; else { lean_object* x_38; +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_38 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_38, 0, x_5); @@ -27380,7 +27749,11 @@ x_33 = 0; x_34 = lean_usize_of_nat(x_29); lean_dec(x_29); x_35 = lean_box(0); +lean_inc(x_7); lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); lean_inc(x_2); x_36 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__11(x_1, x_9, x_33, x_34, x_35, x_2, x_3, x_4, x_5, x_6, x_7, x_8); if (lean_obj_tag(x_36) == 0) @@ -27643,12 +28016,6 @@ _start: { lean_object* x_10; x_10 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__11___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); lean_dec(x_2); return x_10; } @@ -27662,10 +28029,6 @@ lean_dec(x_3); x_14 = lean_unbox_usize(x_4); lean_dec(x_4); x_15 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__11(x_1, x_2, x_13, x_14, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); lean_dec(x_2); lean_dec(x_1); return x_15; @@ -28427,7 +28790,70 @@ return x_48; } } } -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Command_elabStructure___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) { +static lean_object* _init_l_Lean_Elab_addDeclarationRanges___at_Lean_Elab_Command_elabStructure___spec__4___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("example", 7); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_addDeclarationRanges___at_Lean_Elab_Command_elabStructure___spec__4___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__1___lambda__3___closed__2; +x_2 = l_Lean_Elab_addDeclarationRanges___at_Lean_Elab_Command_elabStructure___spec__4___closed__1; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_addDeclarationRanges___at_Lean_Elab_Command_elabStructure___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; lean_object* x_11; uint8_t x_12; +lean_inc(x_2); +x_10 = l_Lean_Syntax_getKind(x_2); +x_11 = l_Lean_Elab_addDeclarationRanges___at_Lean_Elab_Command_elabStructure___spec__4___closed__2; +x_12 = lean_name_eq(x_10, x_11); +lean_dec(x_10); +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +lean_inc(x_2); +x_13 = l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__19(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +x_16 = l_Lean_Elab_getDeclarationSelectionRef(x_2); +x_17 = l_Lean_Elab_getDeclarationRange___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__19(x_16, x_3, x_4, x_5, x_6, x_7, x_8, x_15); +x_18 = lean_ctor_get(x_17, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_17, 1); +lean_inc(x_19); +lean_dec(x_17); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_14); +lean_ctor_set(x_20, 1, x_18); +x_21 = l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20(x_1, x_20, x_3, x_4, x_5, x_6, x_7, x_8, x_19); +return x_21; +} +else +{ +lean_object* x_22; lean_object* x_23; +lean_dec(x_2); +lean_dec(x_1); +x_22 = lean_box(0); +x_23 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_23, 0, x_22); +lean_ctor_set(x_23, 1, x_9); +return x_23; +} +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Command_elabStructure___spec__5(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) { _start: { uint8_t x_9; @@ -28943,7 +29369,7 @@ _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_inc(x_2); lean_inc(x_1); -x_19 = l_Lean_Elab_addDeclarationRanges___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__3(x_1, x_2, x_12, x_13, x_14, x_15, x_16, x_17, x_18); +x_19 = l_Lean_Elab_addDeclarationRanges___at_Lean_Elab_Command_elabStructure___spec__4(x_1, x_2, x_12, x_13, x_14, x_15, x_16, x_17, x_18); x_20 = lean_ctor_get(x_19, 1); lean_inc(x_20); lean_dec(x_19); @@ -29141,7 +29567,7 @@ x_29 = lean_box(0); lean_inc(x_11); lean_inc(x_10); lean_inc(x_17); -x_30 = l_Array_foldlMUnsafe_fold___at_Lean_Elab_Command_elabStructure___spec__4(x_17, x_8, x_27, x_28, x_29, x_10, x_11, x_18); +x_30 = l_Array_foldlMUnsafe_fold___at_Lean_Elab_Command_elabStructure___spec__5(x_17, x_8, x_27, x_28, x_29, x_10, x_11, x_18); if (lean_obj_tag(x_30) == 0) { lean_object* x_31; lean_object* x_32; lean_object* x_33; @@ -29642,7 +30068,21 @@ lean_dec(x_2); return x_4; } } -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Command_elabStructure___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_EXPORT lean_object* l_Lean_Elab_addDeclarationRanges___at_Lean_Elab_Command_elabStructure___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; +x_10 = l_Lean_Elab_addDeclarationRanges___at_Lean_Elab_Command_elabStructure___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Command_elabStructure___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) { _start: { size_t x_9; size_t x_10; lean_object* x_11; @@ -29650,7 +30090,7 @@ x_9 = lean_unbox_usize(x_3); lean_dec(x_3); x_10 = lean_unbox_usize(x_4); lean_dec(x_4); -x_11 = l_Array_foldlMUnsafe_fold___at_Lean_Elab_Command_elabStructure___spec__4(x_1, x_2, x_9, x_10, x_5, x_6, x_7, x_8); +x_11 = l_Array_foldlMUnsafe_fold___at_Lean_Elab_Command_elabStructure___spec__5(x_1, x_2, x_9, x_10, x_5, x_6, x_7, x_8); lean_dec(x_2); return x_11; } @@ -30075,6 +30515,32 @@ l_Lean_Elab_Command_checkValidCtorModifier___at___private_Lean_Elab_Structure_0_ lean_mark_persistent(l_Lean_Elab_Command_checkValidCtorModifier___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__17___closed__1); l_Lean_Elab_Command_checkValidCtorModifier___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__17___closed__2 = _init_l_Lean_Elab_Command_checkValidCtorModifier___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__17___closed__2(); lean_mark_persistent(l_Lean_Elab_Command_checkValidCtorModifier___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__17___closed__2); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__1 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__1(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__1); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__2 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__2(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__2); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__3 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__3(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__3); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__4 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__4(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__4); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__5 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__5(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__5); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__6 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__6(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__6); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__7 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__7(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__7); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__8 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__8(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__8); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__9 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__9(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__9); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__10 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__10(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__10); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__11 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__11(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__11); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__12 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__12(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__12); +l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__13 = _init_l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__13(); +lean_mark_persistent(l_Lean_addDeclarationRanges___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__20___closed__13); l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___lambda__2___closed__1 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___lambda__2___closed__1(); lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___lambda__2___closed__1); l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___lambda__2___closed__2 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___lambda__2___closed__2(); @@ -30249,10 +30715,12 @@ l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyDefaultValue_x3f_go_x3f lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyDefaultValue_x3f_go_x3f___closed__1); l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyDefaultValue_x3f_go_x3f___closed__2 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyDefaultValue_x3f_go_x3f___closed__2(); lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyDefaultValue_x3f_go_x3f___closed__2); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1___closed__1(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1___closed__1); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1___closed__2(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1___closed__2); +l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1___closed__1 = _init_l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1___closed__1(); +lean_mark_persistent(l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__1___closed__1); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__2___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__2___closed__1(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__2___closed__1); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__2___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__2___closed__2(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___spec__2___closed__2); l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__1 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__1(); lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__1); l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__2 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__2(); @@ -30261,8 +30729,6 @@ l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkComposi lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__3); l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__4 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__4(); lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_mkCompositeField___closed__4); -l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___spec__1___rarg___closed__1 = _init_l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___spec__1___rarg___closed__1(); -lean_mark_persistent(l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___spec__1___rarg___closed__1); l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___rarg___closed__1 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___rarg___closed__1(); lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___rarg___closed__1); l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___rarg___closed__2 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_copyNewFieldsFrom_copyFields_copy___rarg___closed__2(); @@ -30375,30 +30841,6 @@ l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Comman lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___spec__2___closed__4); l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___spec__2___closed__5 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___spec__2___closed__5(); lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___spec__2___closed__5); -l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__1 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__1(); -lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__1); -l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__2 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__2(); -lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__2); -l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__3 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__3(); -lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__3); -l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__4 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__4(); -lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__4); -l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__5 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__5(); -lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__5); -l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__6 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__6(); -lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__6); -l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__7 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__7(); -lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__7); -l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__8 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__8(); -lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__8); -l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__9 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__9(); -lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__9); -l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__10 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__10(); -lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__10); -l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__11 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__11(); -lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__11); -l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__12 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__12(); -lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_registerStructure___closed__12); l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkAuxConstructions___closed__1 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkAuxConstructions___closed__1(); lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkAuxConstructions___closed__1); l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkAuxConstructions___closed__2 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkAuxConstructions___closed__2(); @@ -30419,18 +30861,20 @@ l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___closed__1 = _ lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___closed__1); l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___boxed__const__1 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___boxed__const__1(); lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___boxed__const__1); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___lambda__2___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___lambda__2___closed__1(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___lambda__2___closed__1); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___lambda__2___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___lambda__2___closed__2(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___lambda__2___closed__2); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__1(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__1); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__2(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__2); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__3 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__3(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__3); -l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__4 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__4(); -lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__4); +l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__1 = _init_l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__1(); +lean_mark_persistent(l_panic___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__1___closed__1); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___lambda__2___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___lambda__2___closed__1(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___lambda__2___closed__1); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___lambda__2___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___lambda__2___closed__2(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___lambda__2___closed__2); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__1(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__1); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__2(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__2); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__3 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__3(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__3); +l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__4 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__4(); +lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___spec__2___closed__4); l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___closed__1 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___closed__1(); lean_mark_persistent(l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent_copyFields___closed__1); l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent___closed__1 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkCoercionToCopiedParent___closed__1(); @@ -30489,6 +30933,10 @@ l_Lean_Elab_getOptDerivingClasses___at_Lean_Elab_Command_elabStructure___spec__2 lean_mark_persistent(l_Lean_Elab_getOptDerivingClasses___at_Lean_Elab_Command_elabStructure___spec__2___closed__3); l_Lean_Elab_getOptDerivingClasses___at_Lean_Elab_Command_elabStructure___spec__2___closed__4 = _init_l_Lean_Elab_getOptDerivingClasses___at_Lean_Elab_Command_elabStructure___spec__2___closed__4(); lean_mark_persistent(l_Lean_Elab_getOptDerivingClasses___at_Lean_Elab_Command_elabStructure___spec__2___closed__4); +l_Lean_Elab_addDeclarationRanges___at_Lean_Elab_Command_elabStructure___spec__4___closed__1 = _init_l_Lean_Elab_addDeclarationRanges___at_Lean_Elab_Command_elabStructure___spec__4___closed__1(); +lean_mark_persistent(l_Lean_Elab_addDeclarationRanges___at_Lean_Elab_Command_elabStructure___spec__4___closed__1); +l_Lean_Elab_addDeclarationRanges___at_Lean_Elab_Command_elabStructure___spec__4___closed__2 = _init_l_Lean_Elab_addDeclarationRanges___at_Lean_Elab_Command_elabStructure___spec__4___closed__2(); +lean_mark_persistent(l_Lean_Elab_addDeclarationRanges___at_Lean_Elab_Command_elabStructure___spec__4___closed__2); l_Lean_Elab_Command_elabStructure___closed__1 = _init_l_Lean_Elab_Command_elabStructure___closed__1(); lean_mark_persistent(l_Lean_Elab_Command_elabStructure___closed__1); l_Lean_Elab_Command_elabStructure___closed__2 = _init_l_Lean_Elab_Command_elabStructure___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/Syntax.c b/stage0/stdlib/Lean/Elab/Syntax.c index beccae313c..b576d89df8 100644 --- a/stage0/stdlib/Lean/Elab/Syntax.c +++ b/stage0/stdlib/Lean/Elab/Syntax.c @@ -264,6 +264,7 @@ extern lean_object* l_Lean_LocalContext_empty; LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__13___closed__2; lean_object* lean_string_utf8_next(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_toParserDescr_processNullaryOrCat___closed__6; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Command_mkNameFromParserSyntax_visit___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_declareSyntaxCatQuotParser___closed__65; @@ -451,7 +452,6 @@ static lean_object* l_Lean_Elab_Term_toParserDescr_processSepBy1___lambda__1___c LEAN_EXPORT lean_object* l_Lean_Elab_Term_toParserDescr_processParserCategory___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_elabSyntax___closed__3; static lean_object* l_Lean_Elab_Term_addCategoryInfo___closed__2; -lean_object* l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstWithInfos___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_elabCommand(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_ensureUnaryOutput___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); @@ -11929,6 +11929,56 @@ goto _start; } } } +LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_3; +x_3 = l_List_reverse___rarg(x_2); +return x_3; +} +else +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_1); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; +x_5 = lean_ctor_get(x_1, 0); +x_6 = lean_ctor_get(x_1, 1); +x_7 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_7, 0, x_5); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_7); +{ +lean_object* _tmp_0 = x_6; +lean_object* _tmp_1 = x_1; +x_1 = _tmp_0; +x_2 = _tmp_1; +} +goto _start; +} +else +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_9 = lean_ctor_get(x_1, 0); +x_10 = lean_ctor_get(x_1, 1); +lean_inc(x_10); +lean_inc(x_9); +lean_dec(x_1); +x_11 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_11, 0, x_9); +x_12 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_2); +x_1 = x_10; +x_2 = x_12; +goto _start; +} +} +} +} static lean_object* _init_l_Lean_Elab_Term_toParserDescr_processNullaryOrCat___closed__1() { _start: { @@ -12658,7 +12708,7 @@ lean_inc(x_203); lean_dec(x_13); x_204 = lean_box(0); x_205 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_14, x_204); -x_206 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_205, x_204); +x_206 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_205, x_204); x_207 = l_Lean_MessageData_ofList(x_206); lean_dec(x_206); x_208 = l_Lean_Elab_Term_toParserDescr_processNullaryOrCat___closed__14; @@ -12832,7 +12882,7 @@ lean_inc(x_243); lean_dec(x_13); x_244 = lean_box(0); x_245 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__17(x_14, x_244); -x_246 = l_List_mapTRAux___at_Lean_Meta_substCore___spec__6(x_245, x_244); +x_246 = l_List_mapTRAux___at_Lean_Elab_Term_toParserDescr_processNullaryOrCat___spec__18(x_245, x_244); x_247 = l_Lean_MessageData_ofList(x_246); lean_dec(x_246); x_248 = l_Lean_Elab_Term_toParserDescr_processNullaryOrCat___closed__14; @@ -21998,6 +22048,7 @@ return x_14; else { lean_object* x_15; lean_object* x_16; uint8_t x_17; +lean_inc(x_10); x_15 = l_Lean_Name_getString_x21(x_10); x_16 = l_Lean_Elab_Command_checkRuleKind___closed__1; x_17 = lean_string_dec_eq(x_15, x_16); diff --git a/stage0/stdlib/Lean/Elab/SyntheticMVars.c b/stage0/stdlib/Lean/Elab/SyntheticMVars.c index 4ac712634d..c9187b1b76 100644 --- a/stage0/stdlib/Lean/Elab/SyntheticMVars.c +++ b/stage0/stdlib/Lean/Elab/SyntheticMVars.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.SyntheticMVars -// Imports: Init Lean.Util.ForEachExpr Lean.Elab.Term Lean.Elab.Tactic.Basic +// Imports: Init Lean.Meta.Tactic.Util Lean.Util.ForEachExpr Lean.Util.OccursCheck Lean.Elab.Tactic.Basic #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -49,9 +49,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_runTactic___lambda__1(lean_object*, le LEAN_EXPORT lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_getSomeSynthethicMVarsRef(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_find_x3f___at_Lean_getDelayedMVarAssignment_x3f___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeUsingDefaultPrio_synthesizeUsingDefaultInstance(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_processPostponedUniverseContraints___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___closed__1; -LEAN_EXPORT lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_getDelayedMVarAssignment_x3f___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_resumePostponed___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeSyntheticMVarsStep___lambda__1___closed__11; LEAN_EXPORT lean_object* l_Std_HashSetImp_contains___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___spec__2___boxed(lean_object*, lean_object*); @@ -149,6 +147,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_ static lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizePendingCoeInstMVar___lambda__2___closed__2; static lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeUsingDefaultPrio_synthesizeUsingDefaultInstance___lambda__3___closed__5; LEAN_EXPORT lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_throwStuckAtUniverseCnstr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___spec__17___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___spec__13(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_RBNode_setBlack___rarg(lean_object*); lean_object* l_Std_PersistentHashMap_insert___at_Lean_Elab_assignInfoHoleId___spec__1(lean_object*, lean_object*, lean_object*); @@ -253,6 +252,7 @@ static lean_object* l_Lean_Elab_Term_reportStuckSyntheticMVar___lambda__2___clos lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeSyntheticMVarsStep___lambda__1___closed__17; static lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeSyntheticMVarsStep___closed__2; +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___spec__17(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeUsingDefaultPrio_synthesizePending(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizePendingInstMVar___lambda__1___closed__4; LEAN_EXPORT lean_object* l_Std_PersistentArray_forIn___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -327,7 +327,6 @@ static lean_object* l_Std_RBNode_forIn_visit___at___private_Lean_Elab_SyntheticM LEAN_EXPORT lean_object* l_Lean_occursCheck___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_resumePostponed___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_getDefaultInstancesPriorities___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizeUsingDefaultPrio_synthesizeUsingDefault___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_withSynthesizeImp___rarg(lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_ensureAtomicBinderName___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___spec__16(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_withSynthesizeLight(lean_object*, lean_object*); @@ -3244,7 +3243,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizePendingInstMVar___lambda__1___closed__1; x_2 = l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizePendingInstMVar___lambda__1___closed__2; -x_3 = lean_unsigned_to_nat(66u); +x_3 = lean_unsigned_to_nat(67u); x_4 = lean_unsigned_to_nat(26u); x_5 = l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizePendingInstMVar___lambda__1___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -3461,7 +3460,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizePendingInstMVar___lambda__1___closed__1; x_2 = l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizePendingCoeInstMVar___lambda__2___closed__1; -x_3 = lean_unsigned_to_nat(99u); +x_3 = lean_unsigned_to_nat(100u); x_4 = lean_unsigned_to_nat(24u); x_5 = l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizePendingInstMVar___lambda__1___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -8975,7 +8974,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizePendingInstMVar___lambda__1___closed__1; x_2 = l_Lean_Elab_Term_reportStuckSyntheticMVar___closed__1; -x_3 = lean_unsigned_to_nat(256u); +x_3 = lean_unsigned_to_nat(257u); x_4 = lean_unsigned_to_nat(11u); x_5 = l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_synthesizePendingInstMVar___lambda__1___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -11520,6 +11519,68 @@ return x_42; } } } +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___spec__17(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +uint8_t x_10; +x_10 = !lean_is_exclusive(x_7); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_11 = lean_ctor_get(x_7, 5); +x_12 = l_Lean_replaceRef(x_1, x_11); +lean_dec(x_11); +lean_ctor_set(x_7, 5, x_12); +x_13 = l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_7); +return x_13; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_14 = lean_ctor_get(x_7, 0); +x_15 = lean_ctor_get(x_7, 1); +x_16 = lean_ctor_get(x_7, 2); +x_17 = lean_ctor_get(x_7, 3); +x_18 = lean_ctor_get(x_7, 4); +x_19 = lean_ctor_get(x_7, 5); +x_20 = lean_ctor_get(x_7, 6); +x_21 = lean_ctor_get(x_7, 7); +x_22 = lean_ctor_get(x_7, 8); +x_23 = lean_ctor_get(x_7, 9); +x_24 = lean_ctor_get(x_7, 10); +lean_inc(x_24); +lean_inc(x_23); +lean_inc(x_22); +lean_inc(x_21); +lean_inc(x_20); +lean_inc(x_19); +lean_inc(x_18); +lean_inc(x_17); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_7); +x_25 = l_Lean_replaceRef(x_1, x_19); +lean_dec(x_19); +x_26 = lean_alloc_ctor(0, 11, 0); +lean_ctor_set(x_26, 0, x_14); +lean_ctor_set(x_26, 1, x_15); +lean_ctor_set(x_26, 2, x_16); +lean_ctor_set(x_26, 3, x_17); +lean_ctor_set(x_26, 4, x_18); +lean_ctor_set(x_26, 5, x_25); +lean_ctor_set(x_26, 6, x_20); +lean_ctor_set(x_26, 7, x_21); +lean_ctor_set(x_26, 8, x_22); +lean_ctor_set(x_26, 9, x_23); +lean_ctor_set(x_26, 10, x_24); +x_27 = l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1(x_2, x_3, x_4, x_5, x_6, x_26, x_8, x_9); +lean_dec(x_26); +return x_27; +} +} +} static lean_object* _init_l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___closed__1() { _start: { @@ -11637,10 +11698,11 @@ lean_dec(x_28); x_31 = lean_ctor_get(x_26, 0); lean_inc(x_31); lean_dec(x_26); -x_32 = l_Lean_throwErrorAt___at___private_Lean_Elab_Binders_0__Lean_Elab_Term_ensureAtomicBinderName___spec__1(x_31, x_29, x_1, x_2, x_3, x_4, x_5, x_6, x_30); +x_32 = l_Lean_throwErrorAt___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___spec__17(x_31, x_29, x_1, x_2, x_3, x_4, x_5, x_6, x_30); lean_dec(x_6); lean_dec(x_4); lean_dec(x_3); +lean_dec(x_2); lean_dec(x_31); return x_32; } @@ -11652,6 +11714,7 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); +lean_dec(x_2); lean_dec(x_1); x_33 = !lean_is_exclusive(x_28); if (x_33 == 0) @@ -11683,6 +11746,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_43 = !lean_is_exclusive(x_24); if (x_43 == 0) @@ -11878,13 +11942,17 @@ lean_dec(x_1); return x_15; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___spec__17___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -lean_object* x_8; -x_8 = l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_throwStuckAtUniverseCnstr(x_1, x_2, x_3, x_4, x_5, x_6, x_7); -lean_dec(x_2); -return x_8; +lean_object* x_10; +x_10 = l_Lean_throwErrorAt___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___spec__17(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_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +return x_10; } } LEAN_EXPORT lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_processPostponedUniverseContraints(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { @@ -11921,6 +11989,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_15 = !lean_is_exclusive(x_10); if (x_15 == 0) @@ -11953,6 +12022,7 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); +lean_dec(x_2); lean_dec(x_1); x_21 = !lean_is_exclusive(x_10); if (x_21 == 0) @@ -11975,15 +12045,6 @@ return x_24; } } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_processPostponedUniverseContraints___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; -x_8 = l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_processPostponedUniverseContraints(x_1, x_2, x_3, x_4, x_5, x_6, x_7); -lean_dec(x_2); -return x_8; -} -} LEAN_EXPORT lean_object* l_Std_RBNode_del___at___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_markAsResolved___spec__2(lean_object* x_1, lean_object* x_2) { _start: { @@ -18146,7 +18207,6 @@ x_12 = lean_ctor_get(x_11, 1); lean_inc(x_12); lean_dec(x_11); x_13 = l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_processPostponedUniverseContraints(x_3, x_4, x_5, x_6, x_7, x_8, x_12); -lean_dec(x_4); return x_13; } else @@ -19946,8 +20006,9 @@ return x_4; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Meta_Tactic_Util(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Util_ForEachExpr(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_Term(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Util_OccursCheck(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Tactic_Basic(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Elab_SyntheticMVars(uint8_t builtin, lean_object* w) { @@ -19957,10 +20018,13 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Meta_Tactic_Util(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); res = initialize_Lean_Util_ForEachExpr(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Elab_Term(builtin, lean_io_mk_world()); +res = initialize_Lean_Util_OccursCheck(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_Elab_Tactic_Basic(builtin, lean_io_mk_world()); diff --git a/stage0/stdlib/Lean/Elab/Tactic/Basic.c b/stage0/stdlib/Lean/Elab/Tactic/Basic.c index 85bbf43672..12f1e09bfc 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Basic.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Basic.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.Tactic.Basic -// Imports: Init Lean.Util.CollectMVars Lean.Parser.Command Lean.Meta.PPGoal Lean.Meta.Tactic.Assumption Lean.Meta.Tactic.Contradiction Lean.Meta.Tactic.Intro Lean.Meta.Tactic.Clear Lean.Meta.Tactic.Revert Lean.Meta.Tactic.Subst Lean.Elab.Util Lean.Elab.Term Lean.Elab.Binders +// Imports: Init Lean.Elab.Term #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -13468,18 +13468,7 @@ return x_4; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Util_CollectMVars(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Parser_Command(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_PPGoal(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Tactic_Assumption(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Tactic_Contradiction(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Tactic_Intro(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Tactic_Clear(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Tactic_Revert(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Tactic_Subst(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_Util(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Term(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_Binders(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Elab_Tactic_Basic(uint8_t builtin, lean_object* w) { lean_object * res; @@ -13488,42 +13477,9 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Util_CollectMVars(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Parser_Command(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Meta_PPGoal(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Meta_Tactic_Assumption(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Meta_Tactic_Contradiction(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Meta_Tactic_Intro(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Meta_Tactic_Clear(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Meta_Tactic_Revert(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Meta_Tactic_Subst(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Elab_Util(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Elab_Term(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Elab_Binders(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); l_Lean_Elab_goalsToMessageData___closed__1 = _init_l_Lean_Elab_goalsToMessageData___closed__1(); lean_mark_persistent(l_Lean_Elab_goalsToMessageData___closed__1); l_Lean_Elab_goalsToMessageData___closed__2 = _init_l_Lean_Elab_goalsToMessageData___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/Tactic/BuiltinTactic.c b/stage0/stdlib/Lean/Elab/Tactic/BuiltinTactic.c index b0c7e955f9..74c3de1510 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/BuiltinTactic.c +++ b/stage0/stdlib/Lean/Elab/Tactic/BuiltinTactic.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.Tactic.BuiltinTactic -// Imports: Init Lean.Meta.Tactic.Refl Lean.Elab.Tactic.Basic Lean.Elab.Tactic.ElabTerm +// Imports: Init Lean.Meta.Tactic.Assumption Lean.Meta.Tactic.Contradiction Lean.Meta.Tactic.Refl Lean.Elab.Binders Lean.Elab.Open Lean.Elab.SetOption Lean.Elab.Tactic.Basic Lean.Elab.Tactic.ElabTerm #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -1435,7 +1435,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithAnnotateState_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(14u); +x_1 = lean_unsigned_to_nat(19u); x_2 = lean_unsigned_to_nat(35u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1447,7 +1447,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithAnnotateState_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(17u); +x_1 = lean_unsigned_to_nat(22u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1475,7 +1475,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithAnnotateState_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(14u); +x_1 = lean_unsigned_to_nat(19u); x_2 = lean_unsigned_to_nat(39u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1487,7 +1487,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithAnnotateState_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(14u); +x_1 = lean_unsigned_to_nat(19u); x_2 = lean_unsigned_to_nat(60u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1627,7 +1627,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalDone_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(19u); +x_1 = lean_unsigned_to_nat(24u); x_2 = lean_unsigned_to_nat(43u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1639,7 +1639,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalDone_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(20u); +x_1 = lean_unsigned_to_nat(25u); x_2 = lean_unsigned_to_nat(6u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1667,7 +1667,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalDone_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(19u); +x_1 = lean_unsigned_to_nat(24u); x_2 = lean_unsigned_to_nat(47u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -1679,7 +1679,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalDone_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(19u); +x_1 = lean_unsigned_to_nat(24u); x_2 = lean_unsigned_to_nat(55u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2230,19 +2230,20 @@ return x_6; static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSeq1_declRange___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = lean_unsigned_to_nat(22u); -x_2 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_2, 0, x_1); -lean_ctor_set(x_2, 1, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_unsigned_to_nat(27u); +x_2 = lean_unsigned_to_nat(22u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; } } static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSeq1_declRange___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(28u); +x_1 = lean_unsigned_to_nat(33u); x_2 = lean_unsigned_to_nat(37u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2270,7 +2271,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSeq1_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(22u); +x_1 = lean_unsigned_to_nat(27u); x_2 = lean_unsigned_to_nat(26u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2282,7 +2283,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSeq1_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(22u); +x_1 = lean_unsigned_to_nat(27u); x_2 = lean_unsigned_to_nat(34u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2407,7 +2408,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalParen_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(30u); +x_1 = lean_unsigned_to_nat(35u); x_2 = lean_unsigned_to_nat(23u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2419,7 +2420,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalParen_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(31u); +x_1 = lean_unsigned_to_nat(36u); x_2 = lean_unsigned_to_nat(19u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2447,7 +2448,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalParen_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(30u); +x_1 = lean_unsigned_to_nat(35u); x_2 = lean_unsigned_to_nat(27u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2459,7 +2460,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalParen_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(30u); +x_1 = lean_unsigned_to_nat(35u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3324,7 +3325,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalTacticSeq1Indented _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(73u); +x_1 = lean_unsigned_to_nat(78u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3336,7 +3337,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalTacticSeq1Indented _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(74u); +x_1 = lean_unsigned_to_nat(79u); x_2 = lean_unsigned_to_nat(30u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3364,7 +3365,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalTacticSeq1Indented _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(73u); +x_1 = lean_unsigned_to_nat(78u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3376,7 +3377,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalTacticSeq1Indented _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(73u); +x_1 = lean_unsigned_to_nat(78u); x_2 = lean_unsigned_to_nat(62u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3637,7 +3638,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalTacticSeqBracketed _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(76u); +x_1 = lean_unsigned_to_nat(81u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3649,7 +3650,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalTacticSeqBracketed _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(81u); +x_1 = lean_unsigned_to_nat(86u); x_2 = lean_unsigned_to_nat(32u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3677,7 +3678,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalTacticSeqBracketed _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(76u); +x_1 = lean_unsigned_to_nat(81u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3689,7 +3690,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalTacticSeqBracketed _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(76u); +x_1 = lean_unsigned_to_nat(81u); x_2 = lean_unsigned_to_nat(62u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3883,7 +3884,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFocus_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(83u); +x_1 = lean_unsigned_to_nat(88u); x_2 = lean_unsigned_to_nat(37u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3895,7 +3896,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFocus_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(88u); +x_1 = lean_unsigned_to_nat(93u); x_2 = lean_unsigned_to_nat(21u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3923,7 +3924,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFocus_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(83u); +x_1 = lean_unsigned_to_nat(88u); x_2 = lean_unsigned_to_nat(41u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3935,7 +3936,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFocus_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(83u); +x_1 = lean_unsigned_to_nat(88u); x_2 = lean_unsigned_to_nat(50u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4109,7 +4110,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRotateLeft_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(93u); +x_1 = lean_unsigned_to_nat(98u); x_2 = lean_unsigned_to_nat(42u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4121,7 +4122,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRotateLeft_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(95u); +x_1 = lean_unsigned_to_nat(100u); x_2 = lean_unsigned_to_nat(39u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4149,7 +4150,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRotateLeft_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(93u); +x_1 = lean_unsigned_to_nat(98u); x_2 = lean_unsigned_to_nat(46u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4161,7 +4162,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRotateLeft_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(93u); +x_1 = lean_unsigned_to_nat(98u); x_2 = lean_unsigned_to_nat(60u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4304,7 +4305,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRotateRight_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(97u); +x_1 = lean_unsigned_to_nat(102u); x_2 = lean_unsigned_to_nat(43u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4316,7 +4317,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRotateRight_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(99u); +x_1 = lean_unsigned_to_nat(104u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4344,7 +4345,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRotateRight_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(97u); +x_1 = lean_unsigned_to_nat(102u); x_2 = lean_unsigned_to_nat(47u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4356,7 +4357,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRotateRight_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(97u); +x_1 = lean_unsigned_to_nat(102u); x_2 = lean_unsigned_to_nat(62u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10429,7 +10430,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalOpen_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(101u); +x_1 = lean_unsigned_to_nat(106u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10441,7 +10442,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalOpen_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(109u); +x_1 = lean_unsigned_to_nat(114u); x_2 = lean_unsigned_to_nat(12u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10469,7 +10470,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalOpen_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(101u); +x_1 = lean_unsigned_to_nat(106u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10481,7 +10482,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalOpen_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(101u); +x_1 = lean_unsigned_to_nat(106u); x_2 = lean_unsigned_to_nat(48u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11479,7 +11480,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_elabSetOption_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(111u); +x_1 = lean_unsigned_to_nat(116u); x_2 = lean_unsigned_to_nat(42u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11491,7 +11492,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_elabSetOption_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(114u); +x_1 = lean_unsigned_to_nat(119u); x_2 = lean_unsigned_to_nat(21u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11519,7 +11520,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_elabSetOption_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(111u); +x_1 = lean_unsigned_to_nat(116u); x_2 = lean_unsigned_to_nat(46u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11531,7 +11532,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_elabSetOption_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(111u); +x_1 = lean_unsigned_to_nat(116u); x_2 = lean_unsigned_to_nat(59u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12157,7 +12158,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalAllGoals_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(116u); +x_1 = lean_unsigned_to_nat(121u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12169,7 +12170,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalAllGoals_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(131u); +x_1 = lean_unsigned_to_nat(136u); x_2 = lean_unsigned_to_nat(28u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12197,7 +12198,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalAllGoals_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(116u); +x_1 = lean_unsigned_to_nat(121u); x_2 = lean_unsigned_to_nat(44u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12209,7 +12210,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalAllGoals_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(116u); +x_1 = lean_unsigned_to_nat(121u); x_2 = lean_unsigned_to_nat(56u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12937,7 +12938,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalAnyGoals_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(133u); +x_1 = lean_unsigned_to_nat(138u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12949,7 +12950,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalAnyGoals_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(148u); +x_1 = lean_unsigned_to_nat(153u); x_2 = lean_unsigned_to_nat(28u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12977,7 +12978,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalAnyGoals_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(133u); +x_1 = lean_unsigned_to_nat(138u); x_2 = lean_unsigned_to_nat(44u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12989,7 +12990,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalAnyGoals_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(133u); +x_1 = lean_unsigned_to_nat(138u); x_2 = lean_unsigned_to_nat(56u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13114,7 +13115,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalTacticSeq_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(150u); +x_1 = lean_unsigned_to_nat(155u); x_2 = lean_unsigned_to_nat(27u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13126,7 +13127,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalTacticSeq_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(151u); +x_1 = lean_unsigned_to_nat(156u); x_2 = lean_unsigned_to_nat(19u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13154,7 +13155,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalTacticSeq_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(150u); +x_1 = lean_unsigned_to_nat(155u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13166,7 +13167,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalTacticSeq_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(150u); +x_1 = lean_unsigned_to_nat(155u); x_2 = lean_unsigned_to_nat(44u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13494,7 +13495,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalChoice_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(162u); +x_1 = lean_unsigned_to_nat(167u); x_2 = lean_unsigned_to_nat(24u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13506,7 +13507,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalChoice_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(163u); +x_1 = lean_unsigned_to_nat(168u); x_2 = lean_unsigned_to_nat(29u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13534,7 +13535,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalChoice_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(162u); +x_1 = lean_unsigned_to_nat(167u); x_2 = lean_unsigned_to_nat(28u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13546,7 +13547,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalChoice_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(162u); +x_1 = lean_unsigned_to_nat(167u); x_2 = lean_unsigned_to_nat(38u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13688,7 +13689,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSkip_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(165u); +x_1 = lean_unsigned_to_nat(170u); x_2 = lean_unsigned_to_nat(22u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13700,7 +13701,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSkip_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(165u); +x_1 = lean_unsigned_to_nat(170u); x_2 = lean_unsigned_to_nat(63u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13728,7 +13729,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSkip_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(165u); +x_1 = lean_unsigned_to_nat(170u); x_2 = lean_unsigned_to_nat(26u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13740,7 +13741,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSkip_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(165u); +x_1 = lean_unsigned_to_nat(170u); x_2 = lean_unsigned_to_nat(34u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13879,7 +13880,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalUnknown_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(167u); +x_1 = lean_unsigned_to_nat(172u); x_2 = lean_unsigned_to_nat(25u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13891,7 +13892,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalUnknown_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(168u); +x_1 = lean_unsigned_to_nat(173u); x_2 = lean_unsigned_to_nat(61u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13919,7 +13920,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalUnknown_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(167u); +x_1 = lean_unsigned_to_nat(172u); x_2 = lean_unsigned_to_nat(29u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13931,7 +13932,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalUnknown_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(167u); +x_1 = lean_unsigned_to_nat(172u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -14167,7 +14168,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFailIfSuccess_decl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(170u); +x_1 = lean_unsigned_to_nat(175u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -14179,7 +14180,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFailIfSuccess_decl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(174u); +x_1 = lean_unsigned_to_nat(179u); x_2 = lean_unsigned_to_nat(35u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -14207,7 +14208,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFailIfSuccess_decl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(170u); +x_1 = lean_unsigned_to_nat(175u); x_2 = lean_unsigned_to_nat(35u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -14219,7 +14220,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFailIfSuccess_decl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(170u); +x_1 = lean_unsigned_to_nat(175u); x_2 = lean_unsigned_to_nat(52u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -14618,7 +14619,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalTraceState_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(176u); +x_1 = lean_unsigned_to_nat(181u); x_2 = lean_unsigned_to_nat(28u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -14630,7 +14631,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalTraceState_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(178u); +x_1 = lean_unsigned_to_nat(183u); x_2 = lean_unsigned_to_nat(60u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -14658,7 +14659,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalTraceState_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(176u); +x_1 = lean_unsigned_to_nat(181u); x_2 = lean_unsigned_to_nat(32u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -14670,7 +14671,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalTraceState_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(176u); +x_1 = lean_unsigned_to_nat(181u); x_2 = lean_unsigned_to_nat(46u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -14929,7 +14930,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalTraceMessage_declR _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(180u); +x_1 = lean_unsigned_to_nat(185u); x_2 = lean_unsigned_to_nat(30u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -14941,7 +14942,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalTraceMessage_declR _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(183u); +x_1 = lean_unsigned_to_nat(188u); x_2 = lean_unsigned_to_nat(49u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -14969,7 +14970,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalTraceMessage_declR _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(180u); +x_1 = lean_unsigned_to_nat(185u); x_2 = lean_unsigned_to_nat(34u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -14981,7 +14982,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalTraceMessage_declR _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(180u); +x_1 = lean_unsigned_to_nat(185u); x_2 = lean_unsigned_to_nat(50u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -15267,7 +15268,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalAssumption_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(185u); +x_1 = lean_unsigned_to_nat(190u); x_2 = lean_unsigned_to_nat(47u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -15279,7 +15280,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalAssumption_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(186u); +x_1 = lean_unsigned_to_nat(191u); x_2 = lean_unsigned_to_nat(60u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -15307,7 +15308,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalAssumption_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(185u); +x_1 = lean_unsigned_to_nat(190u); x_2 = lean_unsigned_to_nat(51u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -15319,7 +15320,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalAssumption_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(185u); +x_1 = lean_unsigned_to_nat(190u); x_2 = lean_unsigned_to_nat(65u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -15621,7 +15622,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalContradiction_decl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(188u); +x_1 = lean_unsigned_to_nat(193u); x_2 = lean_unsigned_to_nat(50u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -15633,7 +15634,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalContradiction_decl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(189u); +x_1 = lean_unsigned_to_nat(194u); x_2 = lean_unsigned_to_nat(63u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -15661,7 +15662,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalContradiction_decl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(188u); +x_1 = lean_unsigned_to_nat(193u); x_2 = lean_unsigned_to_nat(54u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -15673,7 +15674,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalContradiction_decl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(188u); +x_1 = lean_unsigned_to_nat(193u); x_2 = lean_unsigned_to_nat(71u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -15959,7 +15960,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRefl_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(191u); +x_1 = lean_unsigned_to_nat(196u); x_2 = lean_unsigned_to_nat(41u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -15971,7 +15972,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRefl_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(192u); +x_1 = lean_unsigned_to_nat(197u); x_2 = lean_unsigned_to_nat(54u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -15999,7 +16000,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRefl_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(191u); +x_1 = lean_unsigned_to_nat(196u); x_2 = lean_unsigned_to_nat(45u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -16011,7 +16012,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRefl_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(191u); +x_1 = lean_unsigned_to_nat(196u); x_2 = lean_unsigned_to_nat(53u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -17207,7 +17208,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalIntro_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(194u); +x_1 = lean_unsigned_to_nat(199u); x_2 = lean_unsigned_to_nat(42u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -17219,7 +17220,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalIntro_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(209u); +x_1 = lean_unsigned_to_nat(214u); x_2 = lean_unsigned_to_nat(46u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -17247,7 +17248,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalIntro_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(194u); +x_1 = lean_unsigned_to_nat(199u); x_2 = lean_unsigned_to_nat(46u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -17259,7 +17260,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalIntro_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(194u); +x_1 = lean_unsigned_to_nat(199u); x_2 = lean_unsigned_to_nat(55u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -17510,7 +17511,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalIntroMatch_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(211u); +x_1 = lean_unsigned_to_nat(216u); x_2 = lean_unsigned_to_nat(47u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -17522,7 +17523,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalIntroMatch_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(214u); +x_1 = lean_unsigned_to_nat(219u); x_2 = lean_unsigned_to_nat(52u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -17550,7 +17551,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalIntroMatch_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(211u); +x_1 = lean_unsigned_to_nat(216u); x_2 = lean_unsigned_to_nat(51u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -17562,7 +17563,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalIntroMatch_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(211u); +x_1 = lean_unsigned_to_nat(216u); x_2 = lean_unsigned_to_nat(65u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18423,7 +18424,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalIntros_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(216u); +x_1 = lean_unsigned_to_nat(221u); x_2 = lean_unsigned_to_nat(26u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18435,7 +18436,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalIntros_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(228u); +x_1 = lean_unsigned_to_nat(233u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18463,7 +18464,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalIntros_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(216u); +x_1 = lean_unsigned_to_nat(221u); x_2 = lean_unsigned_to_nat(30u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18475,7 +18476,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalIntros_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(216u); +x_1 = lean_unsigned_to_nat(221u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18766,7 +18767,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRevert_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(230u); +x_1 = lean_unsigned_to_nat(235u); x_2 = lean_unsigned_to_nat(43u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18778,7 +18779,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRevert_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(235u); +x_1 = lean_unsigned_to_nat(240u); x_2 = lean_unsigned_to_nat(51u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18806,7 +18807,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRevert_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(230u); +x_1 = lean_unsigned_to_nat(235u); x_2 = lean_unsigned_to_nat(47u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18818,7 +18819,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRevert_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(230u); +x_1 = lean_unsigned_to_nat(235u); x_2 = lean_unsigned_to_nat(57u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -19316,7 +19317,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalClear_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(237u); +x_1 = lean_unsigned_to_nat(242u); x_2 = lean_unsigned_to_nat(42u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -19328,7 +19329,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalClear_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(246u); +x_1 = lean_unsigned_to_nat(251u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -19356,7 +19357,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalClear_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(237u); +x_1 = lean_unsigned_to_nat(242u); x_2 = lean_unsigned_to_nat(46u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -19368,7 +19369,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalClear_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(237u); +x_1 = lean_unsigned_to_nat(242u); x_2 = lean_unsigned_to_nat(55u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -19842,7 +19843,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSubst_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(255u); +x_1 = lean_unsigned_to_nat(260u); x_2 = lean_unsigned_to_nat(42u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -19854,7 +19855,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSubst_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(258u); +x_1 = lean_unsigned_to_nat(263u); x_2 = lean_unsigned_to_nat(51u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -19882,7 +19883,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSubst_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(255u); +x_1 = lean_unsigned_to_nat(260u); x_2 = lean_unsigned_to_nat(46u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -19894,7 +19895,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSubst_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(255u); +x_1 = lean_unsigned_to_nat(260u); x_2 = lean_unsigned_to_nat(55u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -20185,7 +20186,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSubstVars_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(260u); +x_1 = lean_unsigned_to_nat(265u); x_2 = lean_unsigned_to_nat(46u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -20197,7 +20198,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSubstVars_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(261u); +x_1 = lean_unsigned_to_nat(266u); x_2 = lean_unsigned_to_nat(58u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -20225,7 +20226,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSubstVars_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(260u); +x_1 = lean_unsigned_to_nat(265u); x_2 = lean_unsigned_to_nat(50u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -20237,7 +20238,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSubstVars_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(260u); +x_1 = lean_unsigned_to_nat(265u); x_2 = lean_unsigned_to_nat(63u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -25773,7 +25774,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalCase_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(318u); +x_1 = lean_unsigned_to_nat(323u); x_2 = lean_unsigned_to_nat(24u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -25785,7 +25786,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalCase_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(327u); +x_1 = lean_unsigned_to_nat(332u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -25813,7 +25814,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalCase_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(318u); +x_1 = lean_unsigned_to_nat(323u); x_2 = lean_unsigned_to_nat(28u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -25825,7 +25826,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalCase_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(318u); +x_1 = lean_unsigned_to_nat(323u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -26306,7 +26307,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalCase_x27_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(329u); +x_1 = lean_unsigned_to_nat(334u); x_2 = lean_unsigned_to_nat(25u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -26318,7 +26319,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalCase_x27_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(340u); +x_1 = lean_unsigned_to_nat(345u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -26346,7 +26347,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalCase_x27_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(329u); +x_1 = lean_unsigned_to_nat(334u); x_2 = lean_unsigned_to_nat(29u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -26358,7 +26359,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalCase_x27_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(329u); +x_1 = lean_unsigned_to_nat(334u); x_2 = lean_unsigned_to_nat(38u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -26600,7 +26601,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRenameInaccessible _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(342u); +x_1 = lean_unsigned_to_nat(347u); x_2 = lean_unsigned_to_nat(27u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -26612,7 +26613,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRenameInaccessible _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(344u); +x_1 = lean_unsigned_to_nat(349u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -26640,7 +26641,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRenameInaccessible _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(342u); +x_1 = lean_unsigned_to_nat(347u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -26652,7 +26653,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRenameInaccessible _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(342u); +x_1 = lean_unsigned_to_nat(347u); x_2 = lean_unsigned_to_nat(54u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -27047,7 +27048,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFirst_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(346u); +x_1 = lean_unsigned_to_nat(351u); x_2 = lean_unsigned_to_nat(33u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -27059,7 +27060,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFirst_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(355u); +x_1 = lean_unsigned_to_nat(360u); x_2 = lean_unsigned_to_nat(48u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -27087,7 +27088,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFirst_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(346u); +x_1 = lean_unsigned_to_nat(351u); x_2 = lean_unsigned_to_nat(37u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -27099,7 +27100,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFirst_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(346u); +x_1 = lean_unsigned_to_nat(351u); x_2 = lean_unsigned_to_nat(46u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -27300,6 +27301,7 @@ else { lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; x_31 = l_Lean_TSyntax_getString(x_27); +lean_dec(x_27); x_32 = l_Lean_stringToMessageData(x_31); lean_dec(x_31); x_33 = l_Lean_Elab_nestedExceptionToMessageData___at_Lean_Elab_Tactic_evalOpen___spec__27___closed__1; @@ -27397,7 +27399,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(357u); +x_1 = lean_unsigned_to_nat(362u); x_2 = lean_unsigned_to_nat(24u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -27409,7 +27411,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(363u); +x_1 = lean_unsigned_to_nat(368u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -27437,7 +27439,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(357u); +x_1 = lean_unsigned_to_nat(362u); x_2 = lean_unsigned_to_nat(28u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -27449,7 +27451,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(357u); +x_1 = lean_unsigned_to_nat(362u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -27635,7 +27637,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalDbgTrace_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(365u); +x_1 = lean_unsigned_to_nat(370u); x_2 = lean_unsigned_to_nat(26u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -27647,7 +27649,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalDbgTrace_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(368u); +x_1 = lean_unsigned_to_nat(373u); x_2 = lean_unsigned_to_nat(29u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -27675,7 +27677,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalDbgTrace_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(365u); +x_1 = lean_unsigned_to_nat(370u); x_2 = lean_unsigned_to_nat(30u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -27687,7 +27689,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalDbgTrace_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(365u); +x_1 = lean_unsigned_to_nat(370u); x_2 = lean_unsigned_to_nat(42u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -27858,7 +27860,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSleep_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(370u); +x_1 = lean_unsigned_to_nat(375u); x_2 = lean_unsigned_to_nat(23u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -27870,7 +27872,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSleep_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(373u); +x_1 = lean_unsigned_to_nat(378u); x_2 = lean_unsigned_to_nat(35u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -27898,7 +27900,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSleep_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(370u); +x_1 = lean_unsigned_to_nat(375u); x_2 = lean_unsigned_to_nat(27u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -27910,7 +27912,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSleep_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(370u); +x_1 = lean_unsigned_to_nat(375u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -27957,7 +27959,12 @@ return x_4; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Meta_Tactic_Assumption(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Meta_Tactic_Contradiction(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Tactic_Refl(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Elab_Binders(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Elab_Open(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Elab_SetOption(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Tactic_Basic(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Tactic_ElabTerm(uint8_t builtin, lean_object*); static bool _G_initialized = false; @@ -27968,9 +27975,24 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Meta_Tactic_Assumption(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Meta_Tactic_Contradiction(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); res = initialize_Lean_Meta_Tactic_Refl(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Elab_Binders(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Elab_Open(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Elab_SetOption(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); res = initialize_Lean_Elab_Tactic_Basic(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Elab/Tactic/Config.c b/stage0/stdlib/Lean/Elab/Tactic/Config.c index 5ebc5c4c3b..ebfe2f726e 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Config.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Config.c @@ -93,7 +93,6 @@ static lean_object* l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______ma static lean_object* l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__134; static lean_object* l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__68; static lean_object* l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__92; -static lean_object* l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__268; static lean_object* l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__105; static lean_object* l_Lean_Elab_Tactic_configElab___closed__17; static lean_object* l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__167; @@ -180,7 +179,6 @@ static lean_object* l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______ma static lean_object* l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__35; static lean_object* l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__188; static lean_object* l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__70; -static lean_object* l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__266; static lean_object* l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__168; static lean_object* l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__206; static lean_object* l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__261; @@ -223,7 +221,6 @@ static lean_object* l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______ma static lean_object* l_Lean_Elab_Tactic_configElab___closed__19; static lean_object* l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__112; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_checkConfigElab___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__267; static lean_object* l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__116; static lean_object* l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__231; static lean_object* l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__128; @@ -993,78 +990,28 @@ return x_2; static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__44() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("Meta", 4); -return x_1; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__45() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic_configElab___closed__2; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__44; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__46() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__45; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__37; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__47() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__46; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__48() { -_start: -{ lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__47; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__43; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__49() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__43; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__48; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__50() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__45() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__42; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__49; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__44; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__51() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__46() { _start: { lean_object* x_1; @@ -1072,7 +1019,7 @@ x_1 = lean_mk_string_from_bytes(")", 1); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__52() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__47() { _start: { lean_object* x_1; lean_object* x_2; @@ -1081,7 +1028,7 @@ x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__53() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__48() { _start: { lean_object* x_1; @@ -1089,17 +1036,17 @@ x_1 = lean_mk_string_from_bytes("typeSpec", 8); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__54() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__49() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__28; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__53; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__48; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__55() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__50() { _start: { lean_object* x_1; @@ -1107,17 +1054,17 @@ x_1 = lean_mk_string_from_bytes("app", 3); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__56() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__51() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__28; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__55; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__50; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__57() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__52() { _start: { lean_object* x_1; @@ -1125,22 +1072,22 @@ x_1 = lean_mk_string_from_bytes("TermElabM", 9); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__58() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__53() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__57; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__52; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__59() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__54() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__57; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__52; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__58; +x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__53; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -1148,17 +1095,17 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__60() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__55() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__57; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__52; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__61() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__56() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -1168,41 +1115,41 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__62() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__57() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__61; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__57; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__56; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__52; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__63() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__58() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__62; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__57; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__64() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__59() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__63; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__58; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__65() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__60() { _start: { lean_object* x_1; @@ -1210,17 +1157,17 @@ x_1 = lean_mk_string_from_bytes("declValSimple", 13); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__66() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__61() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__6; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__65; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__60; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__67() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__62() { _start: { lean_object* x_1; @@ -1228,7 +1175,7 @@ x_1 = lean_mk_string_from_bytes(":=", 2); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__68() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__63() { _start: { lean_object* x_1; @@ -1236,22 +1183,22 @@ x_1 = lean_mk_string_from_bytes("Meta.evalExpr'", 14); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__69() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__64() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__68; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__63; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__70() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__65() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__68; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__63; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__69; +x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__64; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -1259,17 +1206,25 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__71() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__66() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("Meta", 4); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__67() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__44; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__66; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__72() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__68() { _start: { lean_object* x_1; @@ -1277,23 +1232,67 @@ x_1 = lean_mk_string_from_bytes("evalExpr'", 9); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__73() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__69() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__71; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__72; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__67; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__68; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__70() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_Tactic_configElab___closed__2; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__66; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__71() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__70; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__68; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__72() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__71; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__73() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__71; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__74() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__45; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__72; -x_3 = l_Lean_Name_str___override(x_1, x_2); +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__73; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); return x_3; } } @@ -1301,49 +1300,15 @@ static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__72; x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__74; x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__76() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__74; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__77() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__76; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__78() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__75; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__77; -x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__79() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__76() { _start: { lean_object* x_1; @@ -1351,17 +1316,17 @@ x_1 = lean_mk_string_from_bytes("namedArgument", 13); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__80() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__77() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__28; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__79; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__76; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__81() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__78() { _start: { lean_object* x_1; @@ -1369,22 +1334,22 @@ x_1 = lean_mk_string_from_bytes("safety", 6); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__82() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__79() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__81; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__78; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__83() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__80() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__81; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__78; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__82; +x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__79; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -1392,17 +1357,17 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__84() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__81() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__81; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__78; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__85() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__82() { _start: { lean_object* x_1; @@ -1410,17 +1375,17 @@ x_1 = lean_mk_string_from_bytes("dotIdent", 8); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__86() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__83() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__28; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__85; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__82; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__87() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__84() { _start: { lean_object* x_1; @@ -1428,7 +1393,7 @@ x_1 = lean_mk_string_from_bytes(".", 1); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__88() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__85() { _start: { lean_object* x_1; lean_object* x_2; @@ -1437,13 +1402,13 @@ x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__89() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__86() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__12; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__88; +x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__85; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -1451,7 +1416,7 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__90() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__87() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -1461,7 +1426,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__91() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__88() { _start: { lean_object* x_1; @@ -1469,17 +1434,17 @@ x_1 = lean_mk_string_from_bytes("doubleQuotedName", 16); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__92() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__89() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__28; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__91; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__88; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__93() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__90() { _start: { lean_object* x_1; @@ -1487,7 +1452,7 @@ x_1 = lean_mk_string_from_bytes("`", 1); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__94() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__91() { _start: { lean_object* x_1; lean_object* x_2; @@ -1496,7 +1461,7 @@ x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__95() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__92() { _start: { lean_object* x_1; lean_object* x_2; @@ -1505,7 +1470,7 @@ x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__96() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__93() { _start: { lean_object* x_1; lean_object* x_2; @@ -1514,7 +1479,7 @@ x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__97() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__94() { _start: { lean_object* x_1; @@ -1522,6 +1487,32 @@ x_1 = lean_mk_string_from_bytes("attributes", 10); return x_1; } } +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__95() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__28; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__94; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__96() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("@[", 2); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__97() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("attrInstance", 12); +return x_1; +} +} static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__98() { _start: { @@ -1536,65 +1527,39 @@ static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config__ _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("@[", 2); +x_1 = lean_mk_string_from_bytes("attrKind", 8); return x_1; } } static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__100() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("attrInstance", 12); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__28; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__99; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; } } static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__101() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__28; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__100; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__102() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("attrKind", 8); -return x_1; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__103() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__28; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__102; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__104() { -_start: -{ lean_object* x_1; x_1 = lean_mk_string_from_bytes("Attr", 4); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__105() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__102() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__4; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__104; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__101; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__106() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__103() { _start: { lean_object* x_1; @@ -1602,17 +1567,17 @@ x_1 = lean_mk_string_from_bytes("simple", 6); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__107() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__104() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__105; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__106; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__102; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__103; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__108() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__105() { _start: { lean_object* x_1; @@ -1620,22 +1585,22 @@ x_1 = lean_mk_string_from_bytes("implementedBy", 13); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__109() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__106() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__108; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__105; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__110() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__107() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__108; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__105; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__109; +x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__106; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -1643,12 +1608,38 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__111() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__108() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__108; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__105; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__109() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("]", 1); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__110() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("opaque", 6); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__111() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__6; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__110; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } @@ -1657,52 +1648,26 @@ static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config__ _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("]", 1); +x_1 = lean_mk_string_from_bytes("eval", 4); return x_1; } } static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__113() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("opaque", 6); -return x_1; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__112; +x_2 = lean_string_utf8_byte_size(x_1); +return x_2; } } static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__114() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__6; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__113; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__115() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("eval", 4); -return x_1; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__116() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__115; -x_2 = lean_string_utf8_byte_size(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__117() { -_start: -{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__115; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__112; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__116; +x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__113; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -1710,17 +1675,17 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__118() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__115() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__115; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__112; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__119() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__116() { _start: { lean_object* x_1; @@ -1728,17 +1693,17 @@ x_1 = lean_mk_string_from_bytes("declSig", 7); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__120() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__117() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__6; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__119; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__116; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__121() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__118() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; @@ -1752,7 +1717,7 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__122() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__119() { _start: { lean_object* x_1; @@ -1760,22 +1725,22 @@ x_1 = lean_mk_string_from_bytes("optConfig", 9); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__123() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__120() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__122; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__119; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__124() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__121() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__122; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__119; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__123; +x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__120; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -1783,17 +1748,17 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__125() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__122() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__122; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__119; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__126() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__123() { _start: { lean_object* x_1; @@ -1801,22 +1766,22 @@ x_1 = lean_mk_string_from_bytes("Syntax", 6); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__127() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__124() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__126; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__123; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__128() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__125() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__126; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__123; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__127; +x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__124; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -1824,23 +1789,57 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__129() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__126() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__126; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__123; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__127() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_Tactic_configElab___closed__2; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__123; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__128() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__127; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__129() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__127; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__130() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic_configElab___closed__2; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__126; -x_3 = l_Lean_Name_str___override(x_1, x_2); +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__129; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); return x_3; } } @@ -1848,49 +1847,15 @@ static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__128; x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__130; x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__132() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__130; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__133() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__132; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__134() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__131; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__133; -x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__135() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__132() { _start: { lean_object* x_1; @@ -1898,17 +1863,17 @@ x_1 = lean_mk_string_from_bytes("do", 2); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__136() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__133() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__28; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__135; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__132; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__137() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__134() { _start: { lean_object* x_1; @@ -1916,17 +1881,17 @@ x_1 = lean_mk_string_from_bytes("doSeqIndent", 11); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__138() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__135() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__28; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__137; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__134; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__139() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__136() { _start: { lean_object* x_1; @@ -1934,21 +1899,47 @@ x_1 = lean_mk_string_from_bytes("doSeqItem", 9); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__140() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__137() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__28; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__139; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__136; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__138() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("doIf", 4); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__139() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__28; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__138; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__140() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("if", 2); +return x_1; +} +} static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__141() { _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("doIf", 4); +x_1 = lean_mk_string_from_bytes("doIfProp", 8); return x_1; } } @@ -1966,52 +1957,26 @@ static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config__ _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("if", 2); +x_1 = lean_mk_string_from_bytes("optConfig.isNone", 16); return x_1; } } static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__144() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("doIfProp", 8); -return x_1; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__143; +x_2 = lean_string_utf8_byte_size(x_1); +return x_2; } } static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__145() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__28; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__144; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__146() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("optConfig.isNone", 16); -return x_1; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__147() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__146; -x_2 = lean_string_utf8_byte_size(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__148() { -_start: -{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__146; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__143; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__147; +x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__144; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -2019,7 +1984,7 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__149() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__146() { _start: { lean_object* x_1; @@ -2027,11 +1992,37 @@ x_1 = lean_mk_string_from_bytes("isNone", 6); return x_1; } } +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__147() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__122; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__146; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__148() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("then", 4); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__149() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("doReturn", 8); +return x_1; +} +} static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__150() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__125; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__28; x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__149; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; @@ -2041,7 +2032,7 @@ static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config__ _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("then", 4); +x_1 = lean_mk_string_from_bytes("return", 6); return x_1; } } @@ -2049,7 +2040,7 @@ static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config__ _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("doReturn", 8); +x_1 = lean_mk_string_from_bytes("structInst", 10); return x_1; } } @@ -2067,7 +2058,7 @@ static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config__ _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("return", 6); +x_1 = lean_mk_string_from_bytes("{", 1); return x_1; } } @@ -2075,7 +2066,7 @@ static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config__ _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("structInst", 10); +x_1 = lean_mk_string_from_bytes("optEllipsis", 11); return x_1; } } @@ -2093,7 +2084,7 @@ static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config__ _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("{", 1); +x_1 = lean_mk_string_from_bytes("}", 1); return x_1; } } @@ -2101,33 +2092,33 @@ static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config__ _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("optEllipsis", 11); +x_1 = lean_mk_string_from_bytes("else", 4); return x_1; } } static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__159() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__28; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__158; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("doLetArrow", 10); +return x_1; } } static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__160() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("}", 1); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__28; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__159; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; } } static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__161() { _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("else", 4); +x_1 = lean_mk_string_from_bytes("let", 3); return x_1; } } @@ -2135,7 +2126,7 @@ static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config__ _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("doLetArrow", 10); +x_1 = lean_mk_string_from_bytes("doIdDecl", 8); return x_1; } } @@ -2153,52 +2144,26 @@ static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config__ _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("let", 3); +x_1 = lean_mk_string_from_bytes("c", 1); return x_1; } } static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__165() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("doIdDecl", 8); -return x_1; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__164; +x_2 = lean_string_utf8_byte_size(x_1); +return x_2; } } static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__166() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__28; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__165; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__167() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("c", 1); -return x_1; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__168() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__167; -x_2 = lean_string_utf8_byte_size(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__169() { -_start: -{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__167; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__164; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__168; +x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__165; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -2206,12 +2171,38 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__170() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__167() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__167; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__164; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__168() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("←", 3); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__169() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("doExpr", 6); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__170() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__28; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__169; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } @@ -2220,70 +2211,44 @@ static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config__ _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("←", 3); +x_1 = lean_mk_string_from_bytes("term_<|_", 8); return x_1; } } static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__172() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("doExpr", 6); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__171; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; } } static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__173() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__28; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__172; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__174() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("term_<|_", 8); -return x_1; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__175() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__174; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__176() { -_start: -{ lean_object* x_1; x_1 = lean_mk_string_from_bytes("withoutModifyingStateWithInfoAndMessages", 40); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__177() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__174() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__176; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__173; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__178() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__175() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__176; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__173; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__177; +x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__174; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -2291,23 +2256,57 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__179() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__176() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__176; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__173; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__177() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_Tactic_configElab___closed__4; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__173; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__178() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__177; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__179() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__177; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__180() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic_configElab___closed__4; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__176; -x_3 = l_Lean_Name_str___override(x_1, x_2); +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__179; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); return x_3; } } @@ -2315,49 +2314,15 @@ static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__178; x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__180; x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__182() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__180; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__183() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__182; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__184() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__181; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__183; -x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__185() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__182() { _start: { lean_object* x_1; @@ -2365,7 +2330,7 @@ x_1 = lean_mk_string_from_bytes("<|", 2); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__186() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__183() { _start: { lean_object* x_1; @@ -2373,22 +2338,22 @@ x_1 = lean_mk_string_from_bytes("withLCtx", 8); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__187() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__184() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__186; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__183; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__188() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__185() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__186; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__183; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__187; +x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__184; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -2396,23 +2361,57 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__189() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__186() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__186; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__183; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__187() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__70; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__183; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__188() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__187; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__189() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__187; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__190() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__45; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__186; -x_3 = l_Lean_Name_str___override(x_1, x_2); +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__189; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); return x_3; } } @@ -2420,22 +2419,20 @@ static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__188; x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__190; x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); return x_3; } } static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__192() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__190; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("choice", 6); +return x_1; } } static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__193() { @@ -2444,43 +2441,11 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__192; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__194() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__191; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__193; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__195() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("choice", 6); -return x_1; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__196() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__195; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__197() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__194() { _start: { lean_object* x_1; @@ -2488,17 +2453,17 @@ x_1 = lean_mk_string_from_bytes("term{}", 6); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__198() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__195() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__197; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__194; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__199() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__196() { _start: { lean_object* x_1; @@ -2506,22 +2471,22 @@ x_1 = lean_mk_string_from_bytes("withSaveInfoContext", 19); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__200() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__197() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__199; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__196; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__201() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__198() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__199; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__196; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__200; +x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__197; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -2529,23 +2494,57 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__202() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__199() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__199; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__196; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__200() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_Tactic_configElab___closed__4; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__196; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__201() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__200; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__202() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__200; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__203() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic_configElab___closed__4; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__199; -x_3 = l_Lean_Name_str___override(x_1, x_2); +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__202; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); return x_3; } } @@ -2553,49 +2552,15 @@ static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__201; x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__203; x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__205() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__203; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__206() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__205; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__207() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__204; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__206; -x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__208() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__205() { _start: { lean_object* x_1; @@ -2603,22 +2568,22 @@ x_1 = lean_mk_string_from_bytes("Term.withSynthesize", 19); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__209() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__206() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__208; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__205; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__210() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__207() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__208; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__205; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__209; +x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__206; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -2626,7 +2591,7 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__211() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__208() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -2636,7 +2601,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__212() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__209() { _start: { lean_object* x_1; @@ -2644,23 +2609,57 @@ x_1 = lean_mk_string_from_bytes("withSynthesize", 14); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__213() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__210() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__211; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__212; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__208; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__209; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__211() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__56; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__209; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__212() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__211; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__213() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__211; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__214() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__61; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__212; -x_3 = l_Lean_Name_str___override(x_1, x_2); +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__213; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); return x_3; } } @@ -2668,49 +2667,15 @@ static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__212; x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__214; x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__216() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__214; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__217() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__216; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__218() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__215; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__217; -x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__219() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__216() { _start: { lean_object* x_1; @@ -2718,22 +2683,22 @@ x_1 = lean_mk_string_from_bytes("Term.elabTermEnsuringType", 25); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__220() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__217() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__219; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__216; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__221() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__218() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__219; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__216; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__220; +x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__217; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -2741,7 +2706,7 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__222() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__219() { _start: { lean_object* x_1; @@ -2749,23 +2714,57 @@ x_1 = lean_mk_string_from_bytes("elabTermEnsuringType", 20); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__223() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__220() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__211; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__222; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__208; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__219; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__221() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__56; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__219; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__222() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__221; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__223() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__221; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__224() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__61; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__222; -x_3 = l_Lean_Name_str___override(x_1, x_2); +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__223; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); return x_3; } } @@ -2773,22 +2772,20 @@ static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__222; x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__224; x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); return x_3; } } static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__226() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__224; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("term__[_]", 9); +return x_1; } } static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__227() { @@ -2797,47 +2794,41 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__226; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); +x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__228() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__225; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__227; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("group", 5); +return x_1; } } static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__229() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("term__[_]", 9); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__228; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; } } static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__230() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__229; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("[", 1); +return x_1; } } static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__231() { _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("group", 5); +x_1 = lean_mk_string_from_bytes("num", 3); return x_1; } } @@ -2855,7 +2846,7 @@ static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config__ _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("[", 1); +x_1 = lean_mk_string_from_bytes("0", 1); return x_1; } } @@ -2863,37 +2854,11 @@ static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config__ _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("num", 3); -return x_1; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__235() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__234; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__236() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("0", 1); -return x_1; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__237() { -_start: -{ -lean_object* x_1; x_1 = lean_mk_string_from_bytes("3", 1); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__238() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__235() { _start: { lean_object* x_1; @@ -2901,17 +2866,17 @@ x_1 = lean_mk_string_from_bytes("paren", 5); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__239() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__236() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__28; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__238; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__235; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__240() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__237() { _start: { lean_object* x_1; @@ -2919,22 +2884,22 @@ x_1 = lean_mk_string_from_bytes("Lean.mkConst", 12); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__241() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__238() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__240; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__237; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__242() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__239() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__240; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__237; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__241; +x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__238; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -2942,7 +2907,7 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__243() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__240() { _start: { lean_object* x_1; @@ -2950,63 +2915,63 @@ x_1 = lean_mk_string_from_bytes("mkConst", 7); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__244() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__241() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Elab_Tactic_configElab___closed__2; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__243; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__240; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__242() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__241; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__243() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__241; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__244() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__243; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__245() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__242; x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__244; x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__246() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__244; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__247() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__246; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__248() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__245; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__247; -x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__249() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__246() { _start: { lean_object* x_1; @@ -3014,22 +2979,22 @@ x_1 = lean_mk_string_from_bytes("Term.synthesizeSyntheticMVarsNoPostponing", 41) return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__250() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__247() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__249; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__246; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__251() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__248() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__249; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__246; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__250; +x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__247; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -3037,7 +3002,7 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__252() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__249() { _start: { lean_object* x_1; @@ -3045,23 +3010,57 @@ x_1 = lean_mk_string_from_bytes("synthesizeSyntheticMVarsNoPostponing", 36); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__253() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__250() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__211; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__252; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__208; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__249; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__251() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__56; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__249; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__252() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__251; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__253() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__251; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__254() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__61; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__252; -x_3 = l_Lean_Name_str___override(x_1, x_2); +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__253; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); return x_3; } } @@ -3069,49 +3068,15 @@ static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__252; x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__254; x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__256() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__254; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__257() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__256; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__258() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__255; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__257; -x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__259() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__256() { _start: { lean_object* x_1; @@ -3119,22 +3084,22 @@ x_1 = lean_mk_string_from_bytes("instantiateMVars", 16); return x_1; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__260() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__257() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__259; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__256; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__261() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__258() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__259; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__256; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__260; +x_3 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__257; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -3142,23 +3107,57 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__262() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__259() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__259; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__256; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__260() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_Tactic_configElab___closed__2; +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__256; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__261() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__260; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__262() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__260; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__263() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic_configElab___closed__2; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__259; -x_3 = l_Lean_Name_str___override(x_1, x_2); +x_1 = lean_box(0); +x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__262; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); return x_3; } } @@ -3166,49 +3165,15 @@ static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); +x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__261; x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__263; x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__265() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__263; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__266() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__265; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__267() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__264; -x_2 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__266; -x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__268() { +static lean_object* _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__265() { _start: { lean_object* x_1; lean_object* x_2; @@ -3413,7 +3378,7 @@ lean_inc(x_17); lean_inc(x_18); x_62 = l_Lean_addMacroScope(x_18, x_61, x_17); x_63 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__39; -x_64 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__50; +x_64 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__45; lean_inc(x_15); x_65 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_65, 0, x_15); @@ -3428,12 +3393,12 @@ x_68 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_68, 0, x_15); lean_ctor_set(x_68, 1, x_19); lean_ctor_set(x_68, 2, x_67); -x_69 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__51; +x_69 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__46; lean_inc(x_15); x_70 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_70, 0, x_15); lean_ctor_set(x_70, 1, x_69); -x_71 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__52; +x_71 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__47; lean_inc(x_52); x_72 = lean_array_push(x_71, x_52); lean_inc(x_72); @@ -3455,12 +3420,12 @@ x_80 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_80, 0, x_15); lean_ctor_set(x_80, 1, x_19); lean_ctor_set(x_80, 2, x_79); -x_81 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__60; +x_81 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__55; lean_inc(x_17); lean_inc(x_18); x_82 = l_Lean_addMacroScope(x_18, x_81, x_17); -x_83 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__59; -x_84 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__64; +x_83 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__54; +x_84 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__59; lean_inc(x_15); x_85 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_85, 0, x_15); @@ -3476,7 +3441,7 @@ lean_ctor_set(x_87, 1, x_19); lean_ctor_set(x_87, 2, x_86); x_88 = lean_array_push(x_46, x_85); x_89 = lean_array_push(x_88, x_87); -x_90 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__56; +x_90 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__51; lean_inc(x_15); x_91 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_91, 0, x_15); @@ -3484,7 +3449,7 @@ lean_ctor_set(x_91, 1, x_90); lean_ctor_set(x_91, 2, x_89); lean_inc(x_66); x_92 = lean_array_push(x_66, x_91); -x_93 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__54; +x_93 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__49; lean_inc(x_15); x_94 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_94, 0, x_15); @@ -3507,44 +3472,44 @@ x_100 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_100, 0, x_15); lean_ctor_set(x_100, 1, x_99); lean_ctor_set(x_100, 2, x_98); -x_101 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__67; +x_101 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__62; lean_inc(x_15); x_102 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_102, 0, x_15); lean_ctor_set(x_102, 1, x_101); -x_103 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__73; +x_103 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__69; lean_inc(x_17); lean_inc(x_18); x_104 = l_Lean_addMacroScope(x_18, x_103, x_17); -x_105 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__70; -x_106 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__78; +x_105 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__65; +x_106 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__75; lean_inc(x_15); x_107 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_107, 0, x_15); lean_ctor_set(x_107, 1, x_105); lean_ctor_set(x_107, 2, x_104); lean_ctor_set(x_107, 3, x_106); -x_108 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__84; +x_108 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__81; lean_inc(x_17); lean_inc(x_18); x_109 = l_Lean_addMacroScope(x_18, x_108, x_17); -x_110 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__83; +x_110 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__80; lean_inc(x_15); x_111 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_111, 0, x_15); lean_ctor_set(x_111, 1, x_110); lean_ctor_set(x_111, 2, x_109); lean_ctor_set(x_111, 3, x_43); -x_112 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__87; +x_112 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__84; lean_inc(x_15); x_113 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_113, 0, x_15); lean_ctor_set(x_113, 1, x_112); -x_114 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__90; +x_114 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__87; lean_inc(x_17); lean_inc(x_18); x_115 = l_Lean_addMacroScope(x_18, x_114, x_17); -x_116 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__89; +x_116 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__86; lean_inc(x_15); x_117 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_117, 0, x_15); @@ -3553,7 +3518,7 @@ lean_ctor_set(x_117, 2, x_115); lean_ctor_set(x_117, 3, x_43); x_118 = lean_array_push(x_46, x_113); x_119 = lean_array_push(x_118, x_117); -x_120 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__86; +x_120 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__83; lean_inc(x_15); x_121 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_121, 0, x_15); @@ -3566,30 +3531,30 @@ x_123 = lean_array_push(x_122, x_102); x_124 = lean_array_push(x_123, x_121); lean_inc(x_70); x_125 = lean_array_push(x_124, x_70); -x_126 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__80; +x_126 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__77; lean_inc(x_15); x_127 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_127, 0, x_15); lean_ctor_set(x_127, 1, x_126); lean_ctor_set(x_127, 2, x_125); -x_128 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__93; +x_128 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__90; lean_inc(x_15); x_129 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_129, 0, x_15); lean_ctor_set(x_129, 1, x_128); -x_130 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__94; +x_130 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__91; lean_inc(x_129); x_131 = lean_array_push(x_130, x_129); x_132 = lean_array_push(x_131, x_129); lean_inc(x_13); x_133 = lean_array_push(x_132, x_13); -x_134 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__92; +x_134 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__89; lean_inc(x_15); x_135 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_135, 0, x_15); lean_ctor_set(x_135, 1, x_134); lean_ctor_set(x_135, 2, x_133); -x_136 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__95; +x_136 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__92; x_137 = lean_array_push(x_136, x_127); lean_inc(x_13); x_138 = lean_array_push(x_137, x_13); @@ -3613,13 +3578,13 @@ lean_inc(x_145); x_146 = lean_array_push(x_145, x_144); lean_inc(x_21); x_147 = lean_array_push(x_146, x_21); -x_148 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__66; +x_148 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__61; lean_inc(x_15); x_149 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_149, 0, x_15); lean_ctor_set(x_149, 1, x_148); lean_ctor_set(x_149, 2, x_147); -x_150 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__96; +x_150 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__93; x_151 = lean_array_push(x_150, x_40); lean_inc(x_151); x_152 = lean_array_push(x_151, x_50); @@ -3645,25 +3610,25 @@ x_163 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_163, 0, x_15); lean_ctor_set(x_163, 1, x_162); lean_ctor_set(x_163, 2, x_161); -x_164 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__99; +x_164 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__96; lean_inc(x_15); x_165 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_165, 0, x_15); lean_ctor_set(x_165, 1, x_164); lean_inc(x_21); x_166 = lean_array_push(x_24, x_21); -x_167 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__103; +x_167 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__100; lean_inc(x_166); lean_inc(x_15); x_168 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_168, 0, x_15); lean_ctor_set(x_168, 1, x_167); lean_ctor_set(x_168, 2, x_166); -x_169 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__111; +x_169 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__108; lean_inc(x_17); lean_inc(x_18); x_170 = l_Lean_addMacroScope(x_18, x_169, x_17); -x_171 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__110; +x_171 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__107; lean_inc(x_15); x_172 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_172, 0, x_15); @@ -3678,7 +3643,7 @@ lean_ctor_set(x_174, 1, x_19); lean_ctor_set(x_174, 2, x_173); x_175 = lean_array_push(x_46, x_172); x_176 = lean_array_push(x_175, x_174); -x_177 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__107; +x_177 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__104; lean_inc(x_15); x_178 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_178, 0, x_15); @@ -3686,7 +3651,7 @@ lean_ctor_set(x_178, 1, x_177); lean_ctor_set(x_178, 2, x_176); x_179 = lean_array_push(x_46, x_168); x_180 = lean_array_push(x_179, x_178); -x_181 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__101; +x_181 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__98; lean_inc(x_15); x_182 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_182, 0, x_15); @@ -3698,7 +3663,7 @@ x_184 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_184, 0, x_15); lean_ctor_set(x_184, 1, x_19); lean_ctor_set(x_184, 2, x_183); -x_185 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__112; +x_185 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__109; lean_inc(x_15); x_186 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_186, 0, x_15); @@ -3707,7 +3672,7 @@ x_187 = lean_array_push(x_130, x_165); x_188 = lean_array_push(x_187, x_184); lean_inc(x_186); x_189 = lean_array_push(x_188, x_186); -x_190 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__98; +x_190 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__95; lean_inc(x_15); x_191 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_191, 0, x_15); @@ -3733,16 +3698,16 @@ x_199 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_199, 0, x_15); lean_ctor_set(x_199, 1, x_37); lean_ctor_set(x_199, 2, x_198); -x_200 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__113; +x_200 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__110; lean_inc(x_15); x_201 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_201, 0, x_15); lean_ctor_set(x_201, 1, x_200); -x_202 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__118; +x_202 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__115; lean_inc(x_17); lean_inc(x_18); x_203 = l_Lean_addMacroScope(x_18, x_202, x_17); -x_204 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__117; +x_204 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__114; lean_inc(x_15); x_205 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_205, 0, x_15); @@ -3759,7 +3724,7 @@ lean_ctor_set(x_208, 0, x_15); lean_ctor_set(x_208, 1, x_49); lean_ctor_set(x_208, 2, x_207); x_209 = lean_array_push(x_97, x_94); -x_210 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__120; +x_210 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__117; lean_inc(x_15); x_211 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_211, 0, x_15); @@ -3770,7 +3735,7 @@ x_213 = lean_array_push(x_212, x_208); x_214 = lean_array_push(x_213, x_211); lean_inc(x_21); x_215 = lean_array_push(x_214, x_21); -x_216 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__114; +x_216 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__111; lean_inc(x_15); x_217 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_217, 0, x_15); @@ -3784,18 +3749,18 @@ lean_ctor_set(x_220, 0, x_15); lean_ctor_set(x_220, 1, x_162); lean_ctor_set(x_220, 2, x_219); x_221 = lean_array_push(x_46, x_11); -x_222 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__121; +x_222 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__118; x_223 = lean_array_push(x_221, x_222); x_224 = lean_box(2); x_225 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_225, 0, x_224); lean_ctor_set(x_225, 1, x_49); lean_ctor_set(x_225, 2, x_223); -x_226 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__125; +x_226 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__122; lean_inc(x_17); lean_inc(x_18); x_227 = l_Lean_addMacroScope(x_18, x_226, x_17); -x_228 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__124; +x_228 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__121; lean_inc(x_15); x_229 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_229, 0, x_15); @@ -3809,12 +3774,12 @@ x_231 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_231, 0, x_15); lean_ctor_set(x_231, 1, x_19); lean_ctor_set(x_231, 2, x_230); -x_232 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__129; +x_232 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__126; lean_inc(x_17); lean_inc(x_18); x_233 = l_Lean_addMacroScope(x_18, x_232, x_17); -x_234 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__128; -x_235 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__134; +x_234 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__125; +x_235 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__131; lean_inc(x_15); x_236 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_236, 0, x_15); @@ -3852,21 +3817,21 @@ x_248 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_248, 0, x_15); lean_ctor_set(x_248, 1, x_99); lean_ctor_set(x_248, 2, x_247); -x_249 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__135; +x_249 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__132; lean_inc(x_15); x_250 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_250, 0, x_15); lean_ctor_set(x_250, 1, x_249); -x_251 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__143; +x_251 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__140; lean_inc(x_15); x_252 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_252, 0, x_15); lean_ctor_set(x_252, 1, x_251); -x_253 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__150; +x_253 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__147; lean_inc(x_17); lean_inc(x_18); x_254 = l_Lean_addMacroScope(x_18, x_253, x_17); -x_255 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__148; +x_255 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__145; lean_inc(x_15); x_256 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_256, 0, x_15); @@ -3876,28 +3841,28 @@ lean_ctor_set(x_256, 3, x_43); lean_inc(x_21); x_257 = lean_array_push(x_46, x_21); x_258 = lean_array_push(x_257, x_256); -x_259 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__145; +x_259 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__142; lean_inc(x_15); x_260 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_260, 0, x_15); lean_ctor_set(x_260, 1, x_259); lean_ctor_set(x_260, 2, x_258); -x_261 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__151; +x_261 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__148; lean_inc(x_15); x_262 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_262, 0, x_15); lean_ctor_set(x_262, 1, x_261); -x_263 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__154; +x_263 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__151; lean_inc(x_15); x_264 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_264, 0, x_15); lean_ctor_set(x_264, 1, x_263); -x_265 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__157; +x_265 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__154; lean_inc(x_15); x_266 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_266, 0, x_15); lean_ctor_set(x_266, 1, x_265); -x_267 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__159; +x_267 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__156; lean_inc(x_15); x_268 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_268, 0, x_15); @@ -3909,7 +3874,7 @@ x_270 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_270, 0, x_15); lean_ctor_set(x_270, 1, x_19); lean_ctor_set(x_270, 2, x_269); -x_271 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__160; +x_271 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__157; lean_inc(x_15); x_272 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_272, 0, x_15); @@ -3925,7 +3890,7 @@ lean_inc(x_276); x_277 = lean_array_push(x_276, x_270); lean_inc(x_272); x_278 = lean_array_push(x_277, x_272); -x_279 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__156; +x_279 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__153; lean_inc(x_15); x_280 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_280, 0, x_15); @@ -3939,7 +3904,7 @@ lean_ctor_set(x_282, 1, x_19); lean_ctor_set(x_282, 2, x_281); x_283 = lean_array_push(x_46, x_264); x_284 = lean_array_push(x_283, x_282); -x_285 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__153; +x_285 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__150; lean_inc(x_15); x_286 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_286, 0, x_15); @@ -3948,7 +3913,7 @@ lean_ctor_set(x_286, 2, x_284); x_287 = lean_array_push(x_46, x_286); lean_inc(x_21); x_288 = lean_array_push(x_287, x_21); -x_289 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__140; +x_289 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__137; lean_inc(x_15); x_290 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_290, 0, x_15); @@ -3961,61 +3926,61 @@ lean_ctor_set(x_292, 0, x_15); lean_ctor_set(x_292, 1, x_19); lean_ctor_set(x_292, 2, x_291); x_293 = lean_array_push(x_24, x_292); -x_294 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__138; +x_294 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__135; lean_inc(x_15); x_295 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_295, 0, x_15); lean_ctor_set(x_295, 1, x_294); lean_ctor_set(x_295, 2, x_293); -x_296 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__161; +x_296 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__158; lean_inc(x_15); x_297 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_297, 0, x_15); lean_ctor_set(x_297, 1, x_296); -x_298 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__164; +x_298 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__161; lean_inc(x_15); x_299 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_299, 0, x_15); lean_ctor_set(x_299, 1, x_298); -x_300 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__170; +x_300 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__167; lean_inc(x_17); lean_inc(x_18); x_301 = l_Lean_addMacroScope(x_18, x_300, x_17); -x_302 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__169; +x_302 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__166; lean_inc(x_15); x_303 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_303, 0, x_15); lean_ctor_set(x_303, 1, x_302); lean_ctor_set(x_303, 2, x_301); lean_ctor_set(x_303, 3, x_43); -x_304 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__171; +x_304 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__168; lean_inc(x_15); x_305 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_305, 0, x_15); lean_ctor_set(x_305, 1, x_304); -x_306 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__179; +x_306 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__176; lean_inc(x_17); lean_inc(x_18); x_307 = l_Lean_addMacroScope(x_18, x_306, x_17); -x_308 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__178; -x_309 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__184; +x_308 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__175; +x_309 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__181; lean_inc(x_15); x_310 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_310, 0, x_15); lean_ctor_set(x_310, 1, x_308); lean_ctor_set(x_310, 2, x_307); lean_ctor_set(x_310, 3, x_309); -x_311 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__185; +x_311 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__182; lean_inc(x_15); x_312 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_312, 0, x_15); lean_ctor_set(x_312, 1, x_311); -x_313 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__189; +x_313 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__186; lean_inc(x_17); lean_inc(x_18); x_314 = l_Lean_addMacroScope(x_18, x_313, x_17); -x_315 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__188; -x_316 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__194; +x_315 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__185; +x_316 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__191; lean_inc(x_15); x_317 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_317, 0, x_15); @@ -4025,7 +3990,7 @@ lean_ctor_set(x_317, 3, x_316); x_318 = lean_array_push(x_46, x_266); lean_inc(x_272); x_319 = lean_array_push(x_318, x_272); -x_320 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__198; +x_320 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__195; lean_inc(x_15); x_321 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_321, 0, x_15); @@ -4041,7 +4006,7 @@ lean_ctor_set(x_324, 1, x_279); lean_ctor_set(x_324, 2, x_323); x_325 = lean_array_push(x_46, x_321); x_326 = lean_array_push(x_325, x_324); -x_327 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__196; +x_327 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__193; lean_inc(x_15); x_328 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_328, 0, x_15); @@ -4062,60 +4027,60 @@ x_334 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_334, 0, x_15); lean_ctor_set(x_334, 1, x_90); lean_ctor_set(x_334, 2, x_333); -x_335 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__202; +x_335 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__199; lean_inc(x_17); lean_inc(x_18); x_336 = l_Lean_addMacroScope(x_18, x_335, x_17); -x_337 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__201; -x_338 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__207; +x_337 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__198; +x_338 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__204; lean_inc(x_15); x_339 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_339, 0, x_15); lean_ctor_set(x_339, 1, x_337); lean_ctor_set(x_339, 2, x_336); lean_ctor_set(x_339, 3, x_338); -x_340 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__213; +x_340 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__210; lean_inc(x_17); lean_inc(x_18); x_341 = l_Lean_addMacroScope(x_18, x_340, x_17); -x_342 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__210; -x_343 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__218; +x_342 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__207; +x_343 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__215; lean_inc(x_15); x_344 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_344, 0, x_15); lean_ctor_set(x_344, 1, x_342); lean_ctor_set(x_344, 2, x_341); lean_ctor_set(x_344, 3, x_343); -x_345 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__223; +x_345 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__220; lean_inc(x_17); lean_inc(x_18); x_346 = l_Lean_addMacroScope(x_18, x_345, x_17); -x_347 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__221; -x_348 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__228; +x_347 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__218; +x_348 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__225; lean_inc(x_15); x_349 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_349, 0, x_15); lean_ctor_set(x_349, 1, x_347); lean_ctor_set(x_349, 2, x_346); lean_ctor_set(x_349, 3, x_348); -x_350 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__232; +x_350 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__229; lean_inc(x_15); x_351 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_351, 0, x_15); lean_ctor_set(x_351, 1, x_350); lean_ctor_set(x_351, 2, x_20); -x_352 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__233; +x_352 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__230; lean_inc(x_15); x_353 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_353, 0, x_15); lean_ctor_set(x_353, 1, x_352); -x_354 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__236; +x_354 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__233; lean_inc(x_15); x_355 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_355, 0, x_15); lean_ctor_set(x_355, 1, x_354); x_356 = lean_array_push(x_24, x_355); -x_357 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__235; +x_357 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__232; lean_inc(x_15); x_358 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_358, 0, x_15); @@ -4129,13 +4094,13 @@ x_361 = lean_array_push(x_360, x_353); x_362 = lean_array_push(x_361, x_358); lean_inc(x_186); x_363 = lean_array_push(x_362, x_186); -x_364 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__230; +x_364 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__227; lean_inc(x_15); x_365 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_365, 0, x_15); lean_ctor_set(x_365, 1, x_364); lean_ctor_set(x_365, 2, x_363); -x_366 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__237; +x_366 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__234; lean_inc(x_15); x_367 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_367, 0, x_15); @@ -4156,12 +4121,12 @@ x_375 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_375, 0, x_15); lean_ctor_set(x_375, 1, x_364); lean_ctor_set(x_375, 2, x_374); -x_376 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__244; +x_376 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__241; lean_inc(x_17); lean_inc(x_18); x_377 = l_Lean_addMacroScope(x_18, x_376, x_17); -x_378 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__242; -x_379 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__248; +x_378 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__239; +x_379 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__245; lean_inc(x_15); x_380 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_380, 0, x_15); @@ -4192,7 +4157,7 @@ lean_ctor_set(x_388, 2, x_387); x_389 = lean_array_push(x_130, x_52); x_390 = lean_array_push(x_389, x_388); x_391 = lean_array_push(x_390, x_70); -x_392 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__239; +x_392 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__236; lean_inc(x_15); x_393 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_393, 0, x_15); @@ -4213,7 +4178,7 @@ lean_ctor_set(x_399, 0, x_15); lean_ctor_set(x_399, 1, x_90); lean_ctor_set(x_399, 2, x_398); x_400 = lean_array_push(x_24, x_399); -x_401 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__173; +x_401 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__170; lean_inc(x_15); x_402 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_402, 0, x_15); @@ -4226,7 +4191,7 @@ x_404 = lean_array_push(x_403, x_21); x_405 = lean_array_push(x_404, x_305); lean_inc(x_405); x_406 = lean_array_push(x_405, x_402); -x_407 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__166; +x_407 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__163; lean_inc(x_15); x_408 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_408, 0, x_15); @@ -4237,7 +4202,7 @@ lean_inc(x_21); x_410 = lean_array_push(x_409, x_21); lean_inc(x_410); x_411 = lean_array_push(x_410, x_408); -x_412 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__163; +x_412 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__160; lean_inc(x_15); x_413 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_413, 0, x_15); @@ -4251,12 +4216,12 @@ x_416 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_416, 0, x_15); lean_ctor_set(x_416, 1, x_289); lean_ctor_set(x_416, 2, x_415); -x_417 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__253; +x_417 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__250; lean_inc(x_17); lean_inc(x_18); x_418 = l_Lean_addMacroScope(x_18, x_417, x_17); -x_419 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__251; -x_420 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__258; +x_419 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__248; +x_420 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__255; lean_inc(x_15); x_421 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_421, 0, x_15); @@ -4277,10 +4242,10 @@ x_426 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_426, 0, x_15); lean_ctor_set(x_426, 1, x_289); lean_ctor_set(x_426, 2, x_425); -x_427 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__262; +x_427 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__259; x_428 = l_Lean_addMacroScope(x_18, x_427, x_17); -x_429 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__261; -x_430 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__267; +x_429 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__258; +x_430 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__264; lean_inc(x_15); x_431 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_431, 0, x_15); @@ -4332,7 +4297,7 @@ lean_ctor_set(x_447, 2, x_446); x_448 = lean_array_push(x_46, x_250); lean_inc(x_448); x_449 = lean_array_push(x_448, x_447); -x_450 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__136; +x_450 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__133; lean_inc(x_15); x_451 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_451, 0, x_15); @@ -4355,7 +4320,7 @@ x_457 = lean_array_push(x_130, x_339); lean_inc(x_312); x_458 = lean_array_push(x_457, x_312); x_459 = lean_array_push(x_458, x_456); -x_460 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__175; +x_460 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__172; lean_inc(x_15); x_461 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_461, 0, x_15); @@ -4451,7 +4416,7 @@ x_497 = lean_array_push(x_496, x_295); lean_inc(x_21); x_498 = lean_array_push(x_497, x_21); x_499 = lean_array_push(x_498, x_493); -x_500 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__142; +x_500 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__139; lean_inc(x_15); x_501 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_501, 0, x_15); @@ -4510,7 +4475,7 @@ x_522 = lean_array_push(x_521, x_220); if (lean_obj_tag(x_14) == 0) { lean_object* x_523; lean_object* x_524; lean_object* x_525; lean_object* x_526; lean_object* x_527; lean_object* x_528; lean_object* x_529; lean_object* x_530; lean_object* x_531; lean_object* x_532; lean_object* x_533; lean_object* x_534; lean_object* x_535; lean_object* x_536; lean_object* x_537; -x_523 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__268; +x_523 = l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__265; lean_inc(x_15); x_524 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_524, 0, x_15); @@ -5260,12 +5225,6 @@ l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab lean_mark_persistent(l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__264); l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__265 = _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__265(); lean_mark_persistent(l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__265); -l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__266 = _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__266(); -lean_mark_persistent(l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__266); -l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__267 = _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__267(); -lean_mark_persistent(l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__267); -l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__268 = _init_l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__268(); -lean_mark_persistent(l_Lean_Elab_Tactic___aux__Lean__Elab__Tactic__Config______macroRules__Lean__Elab__Tactic__configElab__1___closed__268); l_Lean_Elab_Tactic_checkConfigElab___closed__1 = _init_l_Lean_Elab_Tactic_checkConfigElab___closed__1(); lean_mark_persistent(l_Lean_Elab_Tactic_checkConfigElab___closed__1); l___regBuiltin_Lean_Elab_Tactic_checkConfigElab___closed__1 = _init_l___regBuiltin_Lean_Elab_Tactic_checkConfigElab___closed__1(); diff --git a/stage0/stdlib/Lean/Elab/Tactic/Congr.c b/stage0/stdlib/Lean/Elab/Tactic/Congr.c index 916c627d1d..d4a3ce3fa8 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Congr.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Congr.c @@ -423,8 +423,6 @@ else { lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; x_14 = lean_ctor_get(x_2, 0); -lean_inc(x_14); -lean_dec(x_2); x_15 = l_Lean_TSyntax_getNat(x_14); x_16 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_Lean_Elab_Tactic_evalCongr___lambda__2), 10, 1); lean_closure_set(x_16, 0, x_15); @@ -609,6 +607,7 @@ _start: { lean_object* x_12; x_12 = l_Lean_Elab_Tactic_Lean_Elab_Tactic_evalCongr___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_2); lean_dec(x_1); return x_12; } diff --git a/stage0/stdlib/Lean/Elab/Tactic/Conv/Basic.c b/stage0/stdlib/Lean/Elab/Tactic/Conv/Basic.c index 6d8ed81001..e6d2cb4e81 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Conv/Basic.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Conv/Basic.c @@ -13,6 +13,7 @@ #ifdef __cplusplus extern "C" { #endif +lean_object* l_List_reverse___rarg(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalWhnf___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalNestedTactic_declRange___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalParen_declRange___closed__4; @@ -38,8 +39,8 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalNestedConv_declRang static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalWhnf___closed__14; lean_object* l_Lean_Elab_Tactic_evalTacticSeq1Indented(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalConvSeq_declRange(lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_Tactic_Conv_remarkAsConvGoal___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*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalReduce___closed__5; +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_Tactic_Conv_remarkAsConvGoal___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalReduce___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalNestedTacticCore___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalConvSeq1Indented_declRange___closed__3; @@ -245,6 +246,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalConvConvSeq(le LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalNestedTactic_declRange(lean_object*); static lean_object* l_Lean_Elab_Tactic_Conv_evalConv___lambda__1___closed__3; lean_object* l_Lean_LocalDecl_fvarId(lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_Tactic_Conv_remarkAsConvGoal___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_EXPORT lean_object* l___private_Lean_Elab_Tactic_Conv_Basic_0__Lean_Elab_Tactic_Conv_convLocalDecl___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalConvSeqBracketed___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* l_Lean_throwError___at_Lean_Elab_Tactic_evalTactic___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -257,6 +259,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalNestedTactic___clos LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalConvSeqBracketed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalNestedTactic___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_type(lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_Tactic_Conv_remarkAsConvGoal___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*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalConvConvSeq_declRange___closed__6; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalZeta___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalNestedConv_declRange(lean_object*); @@ -318,7 +321,6 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalWhnf___closed__10; uint8_t l_Lean_Syntax_isNone(lean_object*); lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalZeta_declRange___closed__7; -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_Tactic_Conv_remarkAsConvGoal___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalNestedTactic(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalConv___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalWhnf___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -341,7 +343,6 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalWhnf_declRange___cl LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalNestedConv___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalConvSeqBracketed___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalConv(lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_Tactic_Conv_remarkAsConvGoal___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalFirst___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalWhnf(lean_object*); lean_object* l_Lean_Elab_Tactic_replaceMainGoal(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -4811,7 +4812,7 @@ x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); return x_4; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_Tactic_Conv_remarkAsConvGoal___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_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_Tactic_Conv_remarkAsConvGoal___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) { _start: { lean_object* x_11; @@ -5001,12 +5002,73 @@ return x_44; } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_Tactic_Conv_remarkAsConvGoal___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_Tactic_Conv_remarkAsConvGoal___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_11; lean_object* x_12; +lean_object* x_12; lean_object* x_13; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_12 = l_List_reverse___rarg(x_2); +x_13 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_13, 0, x_12); +lean_ctor_set(x_13, 1, x_11); +return x_13; +} +else +{ +uint8_t x_14; +x_14 = !lean_is_exclusive(x_1); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_15 = lean_ctor_get(x_1, 0); +x_16 = lean_ctor_get(x_1, 1); +lean_inc(x_15); +x_17 = lean_alloc_closure((void*)(l_List_mapM_loop___at_Lean_Elab_Tactic_Conv_remarkAsConvGoal___spec__1___lambda__1___boxed), 10, 1); +lean_closure_set(x_17, 0, x_15); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_18 = l_Lean_MVarId_withContext___at_Lean_Elab_Tactic_withMainContext___spec__1___rarg(x_15, x_17, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_18) == 0) +{ +lean_object* x_19; lean_object* x_20; +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_19); +{ +lean_object* _tmp_0 = x_16; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_10 = x_20; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_11 = _tmp_10; +} +goto _start; +} +else +{ +uint8_t x_22; +lean_free_object(x_1); +lean_dec(x_16); +lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -5015,140 +5077,38 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_11 = lean_box(0); -x_12 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_12, 0, x_11); -lean_ctor_set(x_12, 1, x_10); -return x_12; -} -else +x_22 = !lean_is_exclusive(x_18); +if (x_22 == 0) { -uint8_t x_13; -x_13 = !lean_is_exclusive(x_1); -if (x_13 == 0) -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_14 = lean_ctor_get(x_1, 0); -x_15 = lean_ctor_get(x_1, 1); -lean_inc(x_14); -x_16 = lean_alloc_closure((void*)(l_List_mapM___at_Lean_Elab_Tactic_Conv_remarkAsConvGoal___spec__1___lambda__1___boxed), 10, 1); -lean_closure_set(x_16, 0, x_14); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_17 = l_Lean_MVarId_withContext___at_Lean_Elab_Tactic_withMainContext___spec__1___rarg(x_14, x_16, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_17) == 0) -{ -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_17, 0); -lean_inc(x_18); -x_19 = lean_ctor_get(x_17, 1); -lean_inc(x_19); -lean_dec(x_17); -x_20 = l_List_mapM___at_Lean_Elab_Tactic_Conv_remarkAsConvGoal___spec__1(x_15, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_19); -if (lean_obj_tag(x_20) == 0) -{ -uint8_t x_21; -x_21 = !lean_is_exclusive(x_20); -if (x_21 == 0) -{ -lean_object* x_22; -x_22 = lean_ctor_get(x_20, 0); -lean_ctor_set(x_1, 1, x_22); -lean_ctor_set(x_1, 0, x_18); -lean_ctor_set(x_20, 0, x_1); -return x_20; +return x_18; } else { lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_20, 0); -x_24 = lean_ctor_get(x_20, 1); +x_23 = lean_ctor_get(x_18, 0); +x_24 = lean_ctor_get(x_18, 1); lean_inc(x_24); lean_inc(x_23); -lean_dec(x_20); -lean_ctor_set(x_1, 1, x_23); -lean_ctor_set(x_1, 0, x_18); -x_25 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_25, 0, x_1); +lean_dec(x_18); +x_25 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_25, 0, x_23); lean_ctor_set(x_25, 1, x_24); return x_25; } } -else -{ -uint8_t x_26; -lean_dec(x_18); -lean_free_object(x_1); -x_26 = !lean_is_exclusive(x_20); -if (x_26 == 0) -{ -return x_20; } else { -lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_27 = lean_ctor_get(x_20, 0); -x_28 = lean_ctor_get(x_20, 1); -lean_inc(x_28); +lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_26 = lean_ctor_get(x_1, 0); +x_27 = lean_ctor_get(x_1, 1); lean_inc(x_27); -lean_dec(x_20); -x_29 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_29, 0, x_27); -lean_ctor_set(x_29, 1, x_28); -return x_29; -} -} -} -else -{ -uint8_t x_30; -lean_free_object(x_1); -lean_dec(x_15); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_30 = !lean_is_exclusive(x_17); -if (x_30 == 0) -{ -return x_17; -} -else -{ -lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_31 = lean_ctor_get(x_17, 0); -x_32 = lean_ctor_get(x_17, 1); -lean_inc(x_32); -lean_inc(x_31); -lean_dec(x_17); -x_33 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_33, 0, x_31); -lean_ctor_set(x_33, 1, x_32); -return x_33; -} -} -} -else -{ -lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_34 = lean_ctor_get(x_1, 0); -x_35 = lean_ctor_get(x_1, 1); -lean_inc(x_35); -lean_inc(x_34); +lean_inc(x_26); lean_dec(x_1); -lean_inc(x_34); -x_36 = lean_alloc_closure((void*)(l_List_mapM___at_Lean_Elab_Tactic_Conv_remarkAsConvGoal___spec__1___lambda__1___boxed), 10, 1); -lean_closure_set(x_36, 0, x_34); +lean_inc(x_26); +x_28 = lean_alloc_closure((void*)(l_List_mapM_loop___at_Lean_Elab_Tactic_Conv_remarkAsConvGoal___spec__1___lambda__1___boxed), 10, 1); +lean_closure_set(x_28, 0, x_26); +lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); @@ -5156,74 +5116,28 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -lean_inc(x_2); -x_37 = l_Lean_MVarId_withContext___at_Lean_Elab_Tactic_withMainContext___spec__1___rarg(x_34, x_36, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_37) == 0) +x_29 = l_Lean_MVarId_withContext___at_Lean_Elab_Tactic_withMainContext___spec__1___rarg(x_26, x_28, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_29) == 0) { -lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_38 = lean_ctor_get(x_37, 0); -lean_inc(x_38); -x_39 = lean_ctor_get(x_37, 1); -lean_inc(x_39); -lean_dec(x_37); -x_40 = l_List_mapM___at_Lean_Elab_Tactic_Conv_remarkAsConvGoal___spec__1(x_35, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_39); -if (lean_obj_tag(x_40) == 0) -{ -lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; -x_41 = lean_ctor_get(x_40, 0); -lean_inc(x_41); -x_42 = lean_ctor_get(x_40, 1); -lean_inc(x_42); -if (lean_is_exclusive(x_40)) { - lean_ctor_release(x_40, 0); - lean_ctor_release(x_40, 1); - x_43 = x_40; -} else { - lean_dec_ref(x_40); - x_43 = lean_box(0); -} -x_44 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_44, 0, x_38); -lean_ctor_set(x_44, 1, x_41); -if (lean_is_scalar(x_43)) { - x_45 = lean_alloc_ctor(0, 2, 0); -} else { - x_45 = x_43; -} -lean_ctor_set(x_45, 0, x_44); -lean_ctor_set(x_45, 1, x_42); -return x_45; +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_29, 0); +lean_inc(x_30); +x_31 = lean_ctor_get(x_29, 1); +lean_inc(x_31); +lean_dec(x_29); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_2); +x_1 = x_27; +x_2 = x_32; +x_11 = x_31; +goto _start; } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; -lean_dec(x_38); -x_46 = lean_ctor_get(x_40, 0); -lean_inc(x_46); -x_47 = lean_ctor_get(x_40, 1); -lean_inc(x_47); -if (lean_is_exclusive(x_40)) { - lean_ctor_release(x_40, 0); - lean_ctor_release(x_40, 1); - x_48 = x_40; -} else { - lean_dec_ref(x_40); - x_48 = lean_box(0); -} -if (lean_is_scalar(x_48)) { - x_49 = lean_alloc_ctor(1, 2, 0); -} else { - x_49 = x_48; -} -lean_ctor_set(x_49, 0, x_46); -lean_ctor_set(x_49, 1, x_47); -return x_49; -} -} -else -{ -lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; -lean_dec(x_35); +lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; +lean_dec(x_27); +lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -5232,26 +5146,26 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_50 = lean_ctor_get(x_37, 0); -lean_inc(x_50); -x_51 = lean_ctor_get(x_37, 1); -lean_inc(x_51); -if (lean_is_exclusive(x_37)) { - lean_ctor_release(x_37, 0); - lean_ctor_release(x_37, 1); - x_52 = x_37; +x_34 = lean_ctor_get(x_29, 0); +lean_inc(x_34); +x_35 = lean_ctor_get(x_29, 1); +lean_inc(x_35); +if (lean_is_exclusive(x_29)) { + lean_ctor_release(x_29, 0); + lean_ctor_release(x_29, 1); + x_36 = x_29; } else { - lean_dec_ref(x_37); - x_52 = lean_box(0); + lean_dec_ref(x_29); + x_36 = lean_box(0); } -if (lean_is_scalar(x_52)) { - x_53 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_36)) { + x_37 = lean_alloc_ctor(1, 2, 0); } else { - x_53 = x_52; + x_37 = x_36; } -lean_ctor_set(x_53, 0, x_50); -lean_ctor_set(x_53, 1, x_51); -return x_53; +lean_ctor_set(x_37, 0, x_34); +lean_ctor_set(x_37, 1, x_35); +return x_37; } } } @@ -5260,13 +5174,14 @@ return x_53; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_remarkAsConvGoal(lean_object* x_1, lean_object* x_2, lean_object* x_3, 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_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; x_10 = l_Lean_Elab_Tactic_getUnsolvedGoals(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); x_11 = lean_ctor_get(x_10, 0); lean_inc(x_11); x_12 = lean_ctor_get(x_10, 1); lean_inc(x_12); lean_dec(x_10); +x_13 = lean_box(0); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); @@ -5275,16 +5190,16 @@ lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_13 = l_List_mapM___at_Lean_Elab_Tactic_Conv_remarkAsConvGoal___spec__1(x_11, x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_12); -if (lean_obj_tag(x_13) == 0) +x_14 = l_List_mapM_loop___at_Lean_Elab_Tactic_Conv_remarkAsConvGoal___spec__1(x_11, x_13, x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_12); +if (lean_obj_tag(x_14) == 0) { -lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_14 = lean_ctor_get(x_13, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_13, 1); +lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_15 = lean_ctor_get(x_14, 0); lean_inc(x_15); -lean_dec(x_13); -x_16 = l_Lean_Elab_Tactic_setGoals(x_14, x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_15); +x_16 = lean_ctor_get(x_14, 1); +lean_inc(x_16); +lean_dec(x_14); +x_17 = l_Lean_Elab_Tactic_setGoals(x_15, x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_16); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -5293,11 +5208,11 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -return x_16; +return x_17; } else { -uint8_t x_17; +uint8_t x_18; lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -5306,32 +5221,32 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_17 = !lean_is_exclusive(x_13); -if (x_17 == 0) +x_18 = !lean_is_exclusive(x_14); +if (x_18 == 0) { -return x_13; +return x_14; } else { -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_13, 0); -x_19 = lean_ctor_get(x_13, 1); +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_14, 0); +x_20 = lean_ctor_get(x_14, 1); +lean_inc(x_20); lean_inc(x_19); -lean_inc(x_18); -lean_dec(x_13); -x_20 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_20, 0, x_18); -lean_ctor_set(x_20, 1, x_19); -return x_20; +lean_dec(x_14); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_20); +return x_21; } } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_Tactic_Conv_remarkAsConvGoal___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_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_Tactic_Conv_remarkAsConvGoal___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) { _start: { lean_object* x_11; -x_11 = l_List_mapM___at_Lean_Elab_Tactic_Conv_remarkAsConvGoal___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 = l_List_mapM_loop___at_Lean_Elab_Tactic_Conv_remarkAsConvGoal___spec__1___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_4); lean_dec(x_3); diff --git a/stage0/stdlib/Lean/Elab/Tactic/Conv/Congr.c b/stage0/stdlib/Lean/Elab/Tactic/Conv/Congr.c index ef09681aa5..f70124f64d 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Conv/Congr.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Conv/Congr.c @@ -72,7 +72,6 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalRhs_declRange( uint8_t l_Lean_Expr_isApp(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalSkip_declRange___closed__7; static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalRhs_declRange___closed__6; -lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__15___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalCongr_declRange(lean_object*); lean_object* l_Lean_Expr_appFn_x21(lean_object*); lean_object* lean_expr_instantiate1(lean_object*, lean_object*); @@ -107,6 +106,7 @@ lean_object* l_Lean_Meta_mkEqRefl(lean_object*, lean_object*, lean_object*, lean static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalCongr___closed__7; static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalCongr_declRange___closed__1; static lean_object* l___private_Lean_Elab_Tactic_Conv_Congr_0__Lean_Elab_Tactic_Conv_extCore___lambda__4___closed__3; +lean_object* l_panic___at___private_Lean_Meta_CongrTheorems_0__Lean_Meta_fixKindsForDependencies___spec__2(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalCongr___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_extLetBodyCongr_x3f___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_Conv_congr___lambda__2___closed__7; @@ -240,13 +240,13 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalRhs(lean_objec lean_object* l_Lean_Syntax_getArgs(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_extLetBodyCongr_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalLhs_declRange___closed__3; -lean_object* l_panic___at_Lean_Meta_ACLt_lt_ltApp___spec__1(lean_object*); static lean_object* l_Lean_Elab_Tactic_Conv_congr___lambda__2___closed__5; static lean_object* l_Lean_Elab_Tactic_Conv_evalArg___lambda__2___closed__2; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_Conv_evalExt___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalLhs___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalSkip___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalRhs___closed__1; +lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_SynthInstance_removeUnusedArguments_x3f___spec__2___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_Conv_evalRhs___rarg___closed__2; static lean_object* l_Lean_Elab_Tactic_Conv_evalRhs___rarg___closed__1; lean_object* l_Lean_mkApp4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1340,7 +1340,7 @@ if (x_36 == 0) { lean_object* x_266; lean_object* x_267; x_266 = l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_Conv_congr___spec__3___closed__4; -x_267 = l_panic___at_Lean_Meta_ACLt_lt_ltApp___spec__1(x_266); +x_267 = l_panic___at___private_Lean_Meta_CongrTheorems_0__Lean_Meta_fixKindsForDependencies___spec__2(x_266); x_41 = x_267; goto block_265; } @@ -5724,6 +5724,7 @@ else { lean_object* x_18; lean_object* x_19; uint8_t x_20; x_18 = l_Lean_TSyntax_getNat(x_14); +lean_dec(x_14); x_19 = lean_unsigned_to_nat(0u); x_20 = lean_nat_dec_eq(x_18, x_19); if (x_20 == 0) @@ -6509,7 +6510,7 @@ lean_inc(x_10); lean_inc(x_9); lean_inc(x_3); lean_inc(x_2); -x_16 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__15___rarg(x_2, x_15, x_3, x_14, x_9, x_10, x_11, x_12, x_13); +x_16 = l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_SynthInstance_removeUnusedArguments_x3f___spec__2___rarg(x_2, x_15, x_3, x_14, x_9, x_10, x_11, x_12, x_13); if (lean_obj_tag(x_16) == 0) { lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; @@ -6538,7 +6539,7 @@ lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_3); -x_24 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__15___rarg(x_2, x_15, x_3, x_23, x_9, x_10, x_11, x_12, x_19); +x_24 = l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_SynthInstance_removeUnusedArguments_x3f___spec__2___rarg(x_2, x_15, x_3, x_23, x_9, x_10, x_11, x_12, x_19); if (lean_obj_tag(x_24) == 0) { lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_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; @@ -7525,7 +7526,7 @@ lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_4); -x_15 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__15___rarg(x_8, x_3, x_4, x_14, x_9, x_10, x_11, x_12, x_13); +x_15 = l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_SynthInstance_removeUnusedArguments_x3f___spec__2___rarg(x_8, x_3, x_4, x_14, x_9, x_10, x_11, x_12, x_13); if (lean_obj_tag(x_15) == 0) { lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; diff --git a/stage0/stdlib/Lean/Elab/Tactic/Conv/Pattern.c b/stage0/stdlib/Lean/Elab/Tactic/Conv/Pattern.c index 602bef92e4..4f9d308b99 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Conv/Pattern.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Conv/Pattern.c @@ -46,7 +46,6 @@ static lean_object* l___private_Lean_Elab_Tactic_Conv_Pattern_0__Lean_Elab_Tacti static lean_object* l_Lean_Elab_Tactic_Conv_evalPattern___closed__11; lean_object* l_Lean_mkAppN(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalPattern___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_withNewMCtxDepth___at_Lean_Meta_addImplicitTargets___spec__9___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Meta_Simp_neutralConfig; lean_object* l_Lean_Meta_abstractMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Simp_main(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -102,6 +101,7 @@ lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Conv_Pattern_0__Lean_Elab_Tactic_Conv_pre___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Conv_Pattern_0__Lean_Elab_Tactic_Conv_findPattern_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Conv_Pattern_0__Lean_Elab_Tactic_Conv_getContext___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_WHNF_0__Lean_Meta_toCtorWhenK___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_Conv_evalPattern___closed__6; lean_object* l_Lean_indentExpr(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalPattern___closed__5; @@ -783,7 +783,7 @@ lean_object* x_8; lean_object* x_9; x_8 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_Conv_matchPattern_x3f___lambda__1), 7, 2); lean_closure_set(x_8, 0, x_1); lean_closure_set(x_8, 1, x_2); -x_9 = l_Lean_Meta_withNewMCtxDepth___at_Lean_Meta_addImplicitTargets___spec__9___rarg(x_8, x_3, x_4, x_5, x_6, x_7); +x_9 = l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_WHNF_0__Lean_Meta_toCtorWhenK___spec__1___rarg(x_8, x_3, x_4, x_5, x_6, x_7); return x_9; } } diff --git a/stage0/stdlib/Lean/Elab/Tactic/ElabTerm.c b/stage0/stdlib/Lean/Elab/Tactic/ElabTerm.c index 62a8d18947..95c546a890 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/ElabTerm.c +++ b/stage0/stdlib/Lean/Elab/Tactic/ElabTerm.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.Tactic.ElabTerm -// Imports: Init Lean.Meta.CollectMVars Lean.Meta.Tactic.Apply Lean.Meta.Tactic.Constructor Lean.Meta.Tactic.Assert Lean.Meta.Tactic.Rename Lean.Elab.Tactic.Basic Lean.Elab.SyntheticMVars +// Imports: Init Lean.Meta.Tactic.Constructor Lean.Meta.Tactic.Assert Lean.Meta.Tactic.Clear Lean.Meta.Tactic.Rename Lean.Elab.Tactic.Basic Lean.Elab.SyntheticMVars #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -14,8 +14,11 @@ extern "C" { #endif static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalWithReducibleAndInstances___closed__5; +LEAN_EXPORT lean_object* l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___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_isRecCore(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_findSomeRevM_x3f___at_Lean_Elab_Tactic_evalRename___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_EXPORT lean_object* l_Lean_Elab_Tactic_evalApplyLikeTactic(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalApplyLikeTactic___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalSpecialize_declRange___closed__2; size_t lean_usize_add(size_t, size_t); @@ -39,7 +42,6 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRename_declRange___close LEAN_EXPORT lean_object* l_Std_PersistentArray_findSomeRevM_x3f___at_Lean_Elab_Tactic_evalRename___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_userName(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDecide___closed__2; -lean_object* l_Lean_addDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalWithUnfoldingAll___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalApply_declRange___closed__6; lean_object* l_Lean_Elab_Tactic_SavedState_restore(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -50,6 +52,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalExact(lean_object*) lean_object* lean_array_uget(lean_object*, size_t); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalNativeDecide(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalWithUnfoldingAll_declRange___closed__4; +LEAN_EXPORT lean_object* l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDecide_declRange(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalNativeDecide_declRange___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalWithReducible(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -66,19 +69,25 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalExact___closed__6; lean_object* l_Lean_instantiateMVars___at_Lean_Elab_Tactic_getMainTarget___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDecide(lean_object*); +static lean_object* l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRefine_x27(lean_object*); static lean_object* l_Lean_Elab_Tactic_refineCore___lambda__4___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Tactic_evalExact___spec__1___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_refineCore___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRefine_x27_declRange___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_closeMainGoalUsing(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRename_declRange___closed__4; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Tactic_withCollectingNewGoalsFrom___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRefine___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabTermForApply___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_Lean_isCasesOnRecursor(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_elabTermForApply___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_preprocessPropToDecide___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwKernelException___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalNativeDecide_declRange___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalSpecialize(lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); @@ -99,7 +108,9 @@ lean_object* lean_array_push(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalWithUnfoldingAll_declRange___closed__1; lean_object* lean_array_get_size(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRename_declRange___closed__2; +static lean_object* l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalSpecialize___closed__2; +LEAN_EXPORT lean_object* l___private_Lean_MonadEnv_0__Lean_checkUnsupported___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Tactic_evalExact___spec__1___rarg___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRefine_x27_declRange___closed__6; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalDecide___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -117,12 +128,14 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDecide___closed__5; static lean_object* l_Lean_Elab_Tactic_evalDecide___rarg___lambda__1___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalRename___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_Expr_appArg_x21(lean_object*); +static lean_object* l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__6; lean_object* l_Lean_Elab_Term_synthesizeSyntheticMVars(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalRefine(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_usize_dec_lt(size_t, size_t); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalConstructor_declRange___closed__4; lean_object* l_Lean_Meta_zetaReduce___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___lambda__1___boxed(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalConstructor___closed__1; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_getFVarId___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Tactic_withCollectingNewGoalsFrom___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -133,10 +146,12 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalConstructor___closed__5; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalExact___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalSpecialize_declRange___closed__5; lean_object* l_Lean_Meta_mkEqRefl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_getFVarId___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_withoutModifyingState___at_Lean_Elab_Tactic_evalRename___spec__8___at_Lean_Elab_Tactic_evalRename___spec__9___lambda__1___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabTerm___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at_Lean_Elab_Tactic_evalRename___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDecide_declRange___closed__5; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalExact_declRange___closed__7; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRename_declRange___closed__6; @@ -159,16 +174,21 @@ LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at_Lean_Elab_Tactic_eva uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalDecide___rarg___lambda__2___closed__2; static lean_object* l_Lean_Elab_Tactic_evalNativeDecide___rarg___closed__1; +static lean_object* l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__10; lean_object* l_Lean_Expr_mvar___override(lean_object*); static lean_object* l_Lean_Elab_Tactic_evalSpecialize___closed__2; lean_object* l_Lean_Meta_getMVarsNoDelayed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalRename___closed__2; +lean_object* lean_st_ref_take(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDecide___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalConstructor___closed__3; lean_object* lean_nat_sub(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalExact___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalApply_declRange___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRefine_x27_declRange___closed__2; +LEAN_EXPORT lean_object* l_Lean_throwKernelException___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__11; +LEAN_EXPORT lean_object* l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalDecide___rarg___lambda__2___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalSpecialize_declRange___closed__3; lean_object* l_Lean_Meta_transform___at_Lean_Meta_zetaReduce___spec__1(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -176,6 +196,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRefine_x27_declRang LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalConstructor_declRange(lean_object*); static lean_object* l_Lean_Elab_Tactic_evalRefine_x27___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRename___closed__2; +lean_object* l_Lean_KernelException_toMessageData(lean_object*, lean_object*); lean_object* l_Lean_Expr_headBeta(lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_getFVarIds___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_EXPORT lean_object* l_Lean_Elab_Tactic_closeMainGoalUsing___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -184,6 +205,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Tacti lean_object* l_Lean_Elab_Term_elabTerm(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalExact___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalConstructor___boxed(lean_object*); +static lean_object* l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1___closed__1; static lean_object* l_Lean_Elab_Tactic_evalExact___closed__8; lean_object* l_Lean_MVarId_getKind(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_replaceRef(lean_object*, lean_object*); @@ -209,18 +231,24 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabTermForApply___lambda__1___boxed lean_object* l_Lean_Syntax_getId(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabTerm_go___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_MVarId_tryClear(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_Expr_instHashableExpr; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabTermForApply___lambda__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalExact___closed__5; static lean_object* l_Lean_Elab_Tactic_evalExact___closed__6; +uint8_t l_Array_contains___at_Lean_findField_x3f___spec__1(lean_object*, lean_object*); +lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRefine_x27_declRange___closed__4; lean_object* l_Lean_Elab_Term_isLetRecAuxMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRename(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalWithReducibleAndInstances_declRange___closed__3; +static lean_object* l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1___closed__2; lean_object* l_Lean_addBuiltinDeclarationRanges(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalNativeDecide_declRange(lean_object*); lean_object* l_Lean_MVarId_rename(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_to_list(lean_object*, lean_object*); +static lean_object* l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__7; lean_object* l_Lean_MVarId_apply(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_InfoCacheKey_instHashableInfoCacheKey___boxed(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalExact___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_throwAbortTactic___at_Lean_Elab_Tactic_logUnassignedAndAbort___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalRefine___closed__3; @@ -231,19 +259,21 @@ LEAN_EXPORT lean_object* l_Lean_Elab_throwAbortTactic___at_Lean_Elab_Tactic_logU static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRefine_declRange___closed__4; static lean_object* l_Lean_Elab_Tactic_getFVarId___closed__3; lean_object* l_Lean_Elab_Term_resolveId_x3f(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Declaration_foldExprM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalRefine_x27___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalConstructor_declRange___closed__7; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Tactic_withCollectingNewGoalsFrom___spec__3(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRename_declRange___closed__5; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRename_declRange___closed__7; uint8_t l_Lean_Expr_isConstOf(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalWithUnfoldingAll_declRange(lean_object*); +LEAN_EXPORT lean_object* l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRename_declRange(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalWithReducible___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalExact_declRange___closed__6; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalNativeDecide___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalWithReducibleAndInstances_declRange___closed__2; -lean_object* l_Lean_compileDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at_Lean_Elab_Tactic_evalRename___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*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalWithReducibleAndInstances_declRange___closed__1; static lean_object* l_Lean_Elab_Tactic_evalRename___closed__3; @@ -257,6 +287,7 @@ extern lean_object* l_Lean_Elab_Tactic_tacticElabAttribute; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRename___closed__3; lean_object* l_Lean_Elab_Term_withoutErrToSorryImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalConstructor_declRange___closed__3; +lean_object* l_instBEqProd___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalWithUnfoldingAll(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_preprocessPropToDecide___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRefine_x27___closed__3; @@ -309,6 +340,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalWithReducible_declRange_ static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalExact___closed__2; uint8_t l_Lean_Expr_hasMVar(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalWithUnfoldingAll_declRange___closed__3; +static lean_object* l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__12; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_getFVarId(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalApply_declRange___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Tactic_evalExact___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -319,7 +351,9 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRefine_declRange___close LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalNativeDecide___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabTermForApply(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalWithUnfoldingAll___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___lambda__1(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalRefine_x27___closed__2; +uint8_t lean_is_aux_recursor(lean_object*, lean_object*); static lean_object* l_Lean_Elab_throwAbortTactic___at_Lean_Elab_Tactic_logUnassignedAndAbort___spec__1___rarg___closed__2; lean_object* l_Lean_Elab_Tactic_tagUntaggedGoals(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalSpecialize_declRange___closed__6; @@ -333,11 +367,15 @@ static lean_object* l___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_pr LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabAsFVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalWithUnfoldingAll_declRange___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalDecide___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*); +static lean_object* l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__3; +LEAN_EXPORT lean_object* l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwAbortTactic___at_Lean_Elab_Tactic_logUnassignedAndAbort___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalApply___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalDecide(lean_object*); +lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalSpecialize___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalApply_declRange___closed__7; +LEAN_EXPORT lean_object* l_Lean_Declaration_foldExprM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalExact___closed__5; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalWithReducibleAndInstances_declRange___closed__5; uint8_t l_Lean_Expr_isFVar(lean_object*); @@ -361,18 +399,22 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalApply(lean_object*) lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_FVarId_getDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_getFVarIds(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalWithReducibleAndInstances___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_closeMainGoal(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_refineCore___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_preprocessPropToDecide___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MVarId_constructor(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_findSomeRevMAux___at_Lean_Elab_Tactic_evalRename___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_instHashableProd___rarg___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalExact___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalNativeDecide_declRange___closed__2; static lean_object* l_Lean_Elab_Tactic_evalApply___closed__1; lean_object* l_Lean_Elab_Term_logUnassignedUsingErrorInfos(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_throwTypeMismatchError___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_Expr_instBEqExpr; +static lean_object* l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalExact_declRange___closed__5; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDecide_declRange___closed__4; static lean_object* l___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_preprocessPropToDecide___closed__3; @@ -398,22 +440,28 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_refineCore___boxed(lean_object*, lea static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalNativeDecide___closed__3; lean_object* l_Lean_Expr_getAppFn(lean_object*); static lean_object* l_Lean_Elab_Tactic_withCollectingNewGoalsFrom___closed__1; +lean_object* l_Lean_Environment_compileDecl(lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalNativeDecide_declRange___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalWithReducible___closed__2; lean_object* l_Lean_MetavarContext_getDecl(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalExact_declRange___closed__4; +static lean_object* l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__1; +uint8_t l_Std_PersistentArray_anyM___at_Lean_MessageLog_hasErrors___spec__1(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalSpecialize___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalNativeDecide___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRefine_declRange___closed__5; static lean_object* l_Lean_Elab_Tactic_evalRename___closed__1; +static lean_object* l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalExact_declRange___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRefine(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRefine_x27_declRange___closed__5; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalConstructor_declRange___closed__5; +uint8_t l_Lean_Declaration_foldExprM___at_Lean_Declaration_hasSorry___spec__1(lean_object*, uint8_t); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabTermWithHoles___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_logUnassignedAndAbort(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRefine_declRange___closed__3; static lean_object* l_Lean_Elab_Tactic_getFVarId___closed__1; +LEAN_EXPORT lean_object* l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_withoutErrToSorry___at_Lean_Elab_Tactic_elabTerm___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Tactic_withCollectingNewGoalsFrom___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_EXPORT lean_object* l_Lean_Elab_Tactic_evalDecide___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*); @@ -432,6 +480,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRefine_x27___closed__1; static lean_object* l_Lean_Elab_Tactic_refineCore___lambda__4___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_closeMainGoalUsing___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDecide_declRange___closed__2; +static lean_object* l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__9; static lean_object* l_Lean_Elab_Tactic_getFVarId___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_refineCore(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalWithUnfoldingAll___closed__2; @@ -441,17 +490,22 @@ static lean_object* l_Lean_Elab_Tactic_refineCore___lambda__4___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabTerm___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_Elab_Term_synthesizeInstMVarCore___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalNativeDecide___rarg___lambda__1___closed__5; +lean_object* l_Lean_logWarning___at___private_Lean_Elab_Term_0__Lean_Elab_Term_mkConsts___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l___private_Lean_MonadEnv_0__Lean_supportedRecursors; static lean_object* l_Lean_Elab_Tactic_evalConstructor___rarg___closed__1; LEAN_EXPORT uint8_t l_Lean_Elab_Tactic_refineCore___lambda__3(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalWithReducible_declRange___closed__7; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_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_EXPORT lean_object* l_Lean_Elab_Tactic_evalSpecialize(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalApply___closed__3; LEAN_EXPORT lean_object* l_Lean_Meta_withNewMCtxDepth___at_Lean_Elab_Tactic_evalRename___spec__7(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalSpecialize_declRange___closed__7; +static lean_object* l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__8; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_withCollectingNewGoalsFrom___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_mkApp3(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalDecide___rarg___lambda__1___closed__1; +LEAN_EXPORT lean_object* l_Lean_compileDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDecide___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalConstructor___closed__4; static lean_object* l_Lean_Elab_Tactic_evalDecide___rarg___lambda__1___closed__2; @@ -461,6 +515,8 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalExact_declRange___closed LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalWithReducibleAndInstances_declRange(lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalNativeDecide___closed__4; uint8_t l_Lean_Syntax_isIdent(lean_object*); +static lean_object* l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__4; +lean_object* lean_add_decl(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabTerm_go(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { @@ -2081,7 +2137,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalExact_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(62u); +x_1 = lean_unsigned_to_nat(61u); x_2 = lean_unsigned_to_nat(25u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2093,7 +2149,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalExact_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(69u); +x_1 = lean_unsigned_to_nat(68u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2121,7 +2177,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalExact_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(62u); +x_1 = lean_unsigned_to_nat(61u); x_2 = lean_unsigned_to_nat(29u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2133,7 +2189,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalExact_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(62u); +x_1 = lean_unsigned_to_nat(61u); x_2 = lean_unsigned_to_nat(38u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3570,7 +3626,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRefine_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(109u); +x_1 = lean_unsigned_to_nat(108u); x_2 = lean_unsigned_to_nat(26u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3582,7 +3638,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRefine_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(112u); +x_1 = lean_unsigned_to_nat(111u); x_2 = lean_unsigned_to_nat(50u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3610,7 +3666,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRefine_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(109u); +x_1 = lean_unsigned_to_nat(108u); x_2 = lean_unsigned_to_nat(30u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3622,7 +3678,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRefine_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(109u); +x_1 = lean_unsigned_to_nat(108u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3773,7 +3829,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRefine_x27_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(114u); +x_1 = lean_unsigned_to_nat(113u); x_2 = lean_unsigned_to_nat(27u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3785,7 +3841,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRefine_x27_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(117u); +x_1 = lean_unsigned_to_nat(116u); x_2 = lean_unsigned_to_nat(51u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3813,7 +3869,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRefine_x27_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(114u); +x_1 = lean_unsigned_to_nat(113u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3825,7 +3881,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRefine_x27_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(114u); +x_1 = lean_unsigned_to_nat(113u); x_2 = lean_unsigned_to_nat(42u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4378,7 +4434,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSpecialize_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(119u); +x_1 = lean_unsigned_to_nat(118u); x_2 = lean_unsigned_to_nat(30u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4390,7 +4446,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSpecialize_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(132u); +x_1 = lean_unsigned_to_nat(131u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4418,7 +4474,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSpecialize_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(119u); +x_1 = lean_unsigned_to_nat(118u); x_2 = lean_unsigned_to_nat(34u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4430,7 +4486,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalSpecialize_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(119u); +x_1 = lean_unsigned_to_nat(118u); x_2 = lean_unsigned_to_nat(48u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5446,7 +5502,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalApply_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(210u); +x_1 = lean_unsigned_to_nat(209u); x_2 = lean_unsigned_to_nat(42u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5458,7 +5514,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalApply_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(213u); +x_1 = lean_unsigned_to_nat(212u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5486,7 +5542,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalApply_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(210u); +x_1 = lean_unsigned_to_nat(209u); x_2 = lean_unsigned_to_nat(46u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5498,7 +5554,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalApply_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(210u); +x_1 = lean_unsigned_to_nat(209u); x_2 = lean_unsigned_to_nat(55u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5785,7 +5841,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalConstructor_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(215u); +x_1 = lean_unsigned_to_nat(214u); x_2 = lean_unsigned_to_nat(48u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5797,7 +5853,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalConstructor_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(219u); +x_1 = lean_unsigned_to_nat(218u); x_2 = lean_unsigned_to_nat(28u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5825,7 +5881,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalConstructor_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(215u); +x_1 = lean_unsigned_to_nat(214u); x_2 = lean_unsigned_to_nat(52u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5837,7 +5893,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalConstructor_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(215u); +x_1 = lean_unsigned_to_nat(214u); x_2 = lean_unsigned_to_nat(67u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6214,7 +6270,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithReducible_decl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(221u); +x_1 = lean_unsigned_to_nat(220u); x_2 = lean_unsigned_to_nat(50u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6226,7 +6282,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithReducible_decl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(222u); +x_1 = lean_unsigned_to_nat(221u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6254,7 +6310,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithReducible_decl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(221u); +x_1 = lean_unsigned_to_nat(220u); x_2 = lean_unsigned_to_nat(54u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6266,7 +6322,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithReducible_decl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(221u); +x_1 = lean_unsigned_to_nat(220u); x_2 = lean_unsigned_to_nat(71u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6643,7 +6699,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithReducibleAndIn _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(224u); +x_1 = lean_unsigned_to_nat(223u); x_2 = lean_unsigned_to_nat(62u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6655,7 +6711,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithReducibleAndIn _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(225u); +x_1 = lean_unsigned_to_nat(224u); x_2 = lean_unsigned_to_nat(48u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6683,7 +6739,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithReducibleAndIn _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(224u); +x_1 = lean_unsigned_to_nat(223u); x_2 = lean_unsigned_to_nat(66u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6695,7 +6751,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithReducibleAndIn _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(224u); +x_1 = lean_unsigned_to_nat(223u); x_2 = lean_unsigned_to_nat(95u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -7072,7 +7128,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithUnfoldingAll_d _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(227u); +x_1 = lean_unsigned_to_nat(226u); x_2 = lean_unsigned_to_nat(53u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -7084,7 +7140,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithUnfoldingAll_d _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(228u); +x_1 = lean_unsigned_to_nat(227u); x_2 = lean_unsigned_to_nat(60u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -7112,7 +7168,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithUnfoldingAll_d _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(227u); +x_1 = lean_unsigned_to_nat(226u); x_2 = lean_unsigned_to_nat(57u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -7124,7 +7180,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalWithUnfoldingAll_d _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(227u); +x_1 = lean_unsigned_to_nat(226u); x_2 = lean_unsigned_to_nat(77u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -9328,7 +9384,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRename_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(251u); +x_1 = lean_unsigned_to_nat(250u); x_2 = lean_unsigned_to_nat(43u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -9340,7 +9396,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRename_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(266u); +x_1 = lean_unsigned_to_nat(265u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -9368,7 +9424,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRename_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(251u); +x_1 = lean_unsigned_to_nat(250u); x_2 = lean_unsigned_to_nat(47u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -9380,7 +9436,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRename_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(251u); +x_1 = lean_unsigned_to_nat(250u); x_2 = lean_unsigned_to_nat(57u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10290,7 +10346,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalDecide_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(280u); +x_1 = lean_unsigned_to_nat(279u); x_2 = lean_unsigned_to_nat(43u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10302,7 +10358,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalDecide_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(290u); +x_1 = lean_unsigned_to_nat(289u); x_2 = lean_unsigned_to_nat(74u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10330,7 +10386,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalDecide_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(280u); +x_1 = lean_unsigned_to_nat(279u); x_2 = lean_unsigned_to_nat(47u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10342,7 +10398,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalDecide_declRange__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(280u); +x_1 = lean_unsigned_to_nat(279u); x_2 = lean_unsigned_to_nat(57u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10388,6 +10444,1651 @@ x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); return x_4; } } +LEAN_EXPORT lean_object* l_Lean_throwKernelException___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_9 = lean_ctor_get(x_6, 2); +lean_inc(x_9); +x_10 = l_Lean_KernelException_toMessageData(x_1, x_9); +x_11 = l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1(x_10, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_6); +return x_11; +} +} +static lean_object* _init_l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0)); +return x_1; +} +} +static lean_object* _init_l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__1; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__2; +x_2 = lean_unsigned_to_nat(0u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__3; +x_2 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_2, 0, x_1); +lean_ctor_set(x_2, 1, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__2; +x_2 = lean_unsigned_to_nat(0u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__6() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Meta_InfoCacheKey_instHashableInfoCacheKey___boxed), 1, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__2; +x_2 = lean_unsigned_to_nat(0u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__8() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__2; +x_2 = lean_unsigned_to_nat(0u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Expr_instBEqExpr; +x_2 = lean_alloc_closure((void*)(l_instBEqProd___rarg), 4, 2); +lean_closure_set(x_2, 0, x_1); +lean_closure_set(x_2, 1, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__10() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Expr_instHashableExpr; +x_2 = lean_alloc_closure((void*)(l_instHashableProd___rarg___boxed), 3, 2); +lean_closure_set(x_2, 0, x_1); +lean_closure_set(x_2, 1, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__11() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__2; +x_2 = lean_unsigned_to_nat(0u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__12() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__5; +x_2 = l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__7; +x_3 = l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__8; +x_4 = l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__11; +x_5 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_5, 0, x_1); +lean_ctor_set(x_5, 1, x_2); +lean_ctor_set(x_5, 2, x_3); +lean_ctor_set(x_5, 3, x_1); +lean_ctor_set(x_5, 4, x_1); +lean_ctor_set(x_5, 5, x_4); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; +x_9 = lean_st_ref_take(x_7, x_8); +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_9, 1); +lean_inc(x_11); +lean_dec(x_9); +x_12 = !lean_is_exclusive(x_10); +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; +x_13 = lean_ctor_get(x_10, 4); +lean_dec(x_13); +x_14 = lean_ctor_get(x_10, 0); +lean_dec(x_14); +x_15 = l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__4; +lean_ctor_set(x_10, 4, x_15); +lean_ctor_set(x_10, 0, x_1); +x_16 = lean_st_ref_set(x_7, x_10, x_11); +x_17 = lean_ctor_get(x_16, 1); +lean_inc(x_17); +lean_dec(x_16); +x_18 = lean_st_ref_get(x_7, x_17); +x_19 = lean_ctor_get(x_18, 1); +lean_inc(x_19); +lean_dec(x_18); +x_20 = lean_st_ref_take(x_5, x_19); +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = !lean_is_exclusive(x_21); +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_21, 1); +lean_dec(x_24); +x_25 = l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__12; +lean_ctor_set(x_21, 1, x_25); +x_26 = lean_st_ref_set(x_5, x_21, x_22); +x_27 = !lean_is_exclusive(x_26); +if (x_27 == 0) +{ +lean_object* x_28; lean_object* x_29; +x_28 = lean_ctor_get(x_26, 0); +lean_dec(x_28); +x_29 = lean_box(0); +lean_ctor_set(x_26, 0, x_29); +return x_26; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_26, 1); +lean_inc(x_30); +lean_dec(x_26); +x_31 = lean_box(0); +x_32 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_32, 0, x_31); +lean_ctor_set(x_32, 1, x_30); +return x_32; +} +} +else +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_33 = lean_ctor_get(x_21, 0); +x_34 = lean_ctor_get(x_21, 2); +x_35 = lean_ctor_get(x_21, 3); +lean_inc(x_35); +lean_inc(x_34); +lean_inc(x_33); +lean_dec(x_21); +x_36 = l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__12; +x_37 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_37, 0, x_33); +lean_ctor_set(x_37, 1, x_36); +lean_ctor_set(x_37, 2, x_34); +lean_ctor_set(x_37, 3, x_35); +x_38 = lean_st_ref_set(x_5, x_37, x_22); +x_39 = lean_ctor_get(x_38, 1); +lean_inc(x_39); +if (lean_is_exclusive(x_38)) { + lean_ctor_release(x_38, 0); + lean_ctor_release(x_38, 1); + x_40 = x_38; +} else { + lean_dec_ref(x_38); + x_40 = lean_box(0); +} +x_41 = lean_box(0); +if (lean_is_scalar(x_40)) { + x_42 = lean_alloc_ctor(0, 2, 0); +} else { + x_42 = x_40; +} +lean_ctor_set(x_42, 0, x_41); +lean_ctor_set(x_42, 1, x_39); +return x_42; +} +} +else +{ +lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_43 = lean_ctor_get(x_10, 1); +x_44 = lean_ctor_get(x_10, 2); +x_45 = lean_ctor_get(x_10, 3); +x_46 = lean_ctor_get(x_10, 5); +x_47 = lean_ctor_get(x_10, 6); +lean_inc(x_47); +lean_inc(x_46); +lean_inc(x_45); +lean_inc(x_44); +lean_inc(x_43); +lean_dec(x_10); +x_48 = l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__4; +x_49 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_49, 0, x_1); +lean_ctor_set(x_49, 1, x_43); +lean_ctor_set(x_49, 2, x_44); +lean_ctor_set(x_49, 3, x_45); +lean_ctor_set(x_49, 4, x_48); +lean_ctor_set(x_49, 5, x_46); +lean_ctor_set(x_49, 6, x_47); +x_50 = lean_st_ref_set(x_7, x_49, x_11); +x_51 = lean_ctor_get(x_50, 1); +lean_inc(x_51); +lean_dec(x_50); +x_52 = lean_st_ref_get(x_7, x_51); +x_53 = lean_ctor_get(x_52, 1); +lean_inc(x_53); +lean_dec(x_52); +x_54 = lean_st_ref_take(x_5, x_53); +x_55 = lean_ctor_get(x_54, 0); +lean_inc(x_55); +x_56 = lean_ctor_get(x_54, 1); +lean_inc(x_56); +lean_dec(x_54); +x_57 = lean_ctor_get(x_55, 0); +lean_inc(x_57); +x_58 = lean_ctor_get(x_55, 2); +lean_inc(x_58); +x_59 = lean_ctor_get(x_55, 3); +lean_inc(x_59); +if (lean_is_exclusive(x_55)) { + lean_ctor_release(x_55, 0); + lean_ctor_release(x_55, 1); + lean_ctor_release(x_55, 2); + lean_ctor_release(x_55, 3); + x_60 = x_55; +} else { + lean_dec_ref(x_55); + x_60 = lean_box(0); +} +x_61 = l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__12; +if (lean_is_scalar(x_60)) { + x_62 = lean_alloc_ctor(0, 4, 0); +} else { + x_62 = x_60; +} +lean_ctor_set(x_62, 0, x_57); +lean_ctor_set(x_62, 1, x_61); +lean_ctor_set(x_62, 2, x_58); +lean_ctor_set(x_62, 3, x_59); +x_63 = lean_st_ref_set(x_5, x_62, x_56); +x_64 = lean_ctor_get(x_63, 1); +lean_inc(x_64); +if (lean_is_exclusive(x_63)) { + lean_ctor_release(x_63, 0); + lean_ctor_release(x_63, 1); + x_65 = x_63; +} else { + lean_dec_ref(x_63); + x_65 = lean_box(0); +} +x_66 = lean_box(0); +if (lean_is_scalar(x_65)) { + x_67 = lean_alloc_ctor(0, 2, 0); +} else { + x_67 = x_65; +} +lean_ctor_set(x_67, 0, x_66); +lean_ctor_set(x_67, 1, x_64); +return x_67; +} +} +} +LEAN_EXPORT lean_object* l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___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; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +lean_dec(x_2); +x_10 = lean_st_ref_get(x_8, x_9); +x_11 = lean_ctor_get(x_10, 0); +lean_inc(x_11); +x_12 = lean_ctor_get(x_10, 1); +lean_inc(x_12); +lean_dec(x_10); +x_13 = lean_ctor_get(x_11, 0); +lean_inc(x_13); +lean_dec(x_11); +x_14 = lean_add_decl(x_13, x_1); +lean_dec(x_1); +if (lean_obj_tag(x_14) == 0) +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_ctor_get(x_14, 0); +lean_inc(x_15); +lean_dec(x_14); +x_16 = l_Lean_throwKernelException___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__2(x_15, x_3, x_4, x_5, x_6, x_7, x_8, x_12); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +return x_16; +} +else +{ +lean_object* x_17; lean_object* x_18; +x_17 = lean_ctor_get(x_14, 0); +lean_inc(x_17); +lean_dec(x_14); +x_18 = l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3(x_17, x_3, x_4, x_5, x_6, x_7, x_8, x_12); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_18; +} +} +} +static lean_object* _init_l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("declaration uses 'sorry'", 24); +return x_1; +} +} +static lean_object* _init_l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1___closed__1; +x_2 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1___closed__2; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; +x_9 = lean_st_ref_get(x_7, x_8); +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_9, 1); +lean_inc(x_11); +lean_dec(x_9); +x_12 = lean_ctor_get(x_10, 5); +lean_inc(x_12); +lean_dec(x_10); +x_13 = l_Std_PersistentArray_anyM___at_Lean_MessageLog_hasErrors___spec__1(x_12); +if (x_13 == 0) +{ +uint8_t x_14; uint8_t x_15; +x_14 = 0; +lean_inc(x_1); +x_15 = l_Lean_Declaration_foldExprM___at_Lean_Declaration_hasSorry___spec__1(x_1, x_14); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; +x_16 = lean_box(0); +x_17 = l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1___lambda__1(x_1, x_16, x_2, x_3, x_4, x_5, x_6, x_7, x_11); +return x_17; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_18 = l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1___closed__3; +x_19 = l_Lean_logWarning___at___private_Lean_Elab_Term_0__Lean_Elab_Term_mkConsts___spec__2(x_18, x_2, x_3, x_4, x_5, x_6, x_7, x_11); +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1___lambda__1(x_1, x_20, x_2, x_3, x_4, x_5, x_6, x_7, x_21); +return x_22; +} +} +else +{ +lean_object* x_23; lean_object* x_24; +x_23 = lean_box(0); +x_24 = l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1___lambda__1(x_1, x_23, x_2, x_3, x_4, x_5, x_6, x_7, x_11); +return x_24; +} +} +} +LEAN_EXPORT uint8_t l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___lambda__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 4) +{ +lean_object* x_3; uint8_t x_4; +x_3 = lean_ctor_get(x_2, 0); +lean_inc(x_3); +lean_dec(x_2); +lean_inc(x_3); +lean_inc(x_1); +x_4 = lean_is_aux_recursor(x_1, x_3); +if (x_4 == 0) +{ +uint8_t x_5; +lean_inc(x_3); +x_5 = l_Lean_isRecCore(x_1, x_3); +if (x_5 == 0) +{ +uint8_t x_6; +lean_dec(x_3); +x_6 = 0; +return x_6; +} +else +{ +lean_object* x_7; uint8_t x_8; +x_7 = l___private_Lean_MonadEnv_0__Lean_supportedRecursors; +x_8 = l_Array_contains___at_Lean_findField_x3f___spec__1(x_7, x_3); +lean_dec(x_3); +if (x_8 == 0) +{ +uint8_t x_9; +x_9 = 1; +return x_9; +} +else +{ +uint8_t x_10; +x_10 = 0; +return x_10; +} +} +} +else +{ +uint8_t x_11; +lean_inc(x_3); +lean_inc(x_1); +x_11 = l_Lean_isCasesOnRecursor(x_1, x_3); +if (x_11 == 0) +{ +lean_object* x_12; uint8_t x_13; +lean_dec(x_1); +x_12 = l___private_Lean_MonadEnv_0__Lean_supportedRecursors; +x_13 = l_Array_contains___at_Lean_findField_x3f___spec__1(x_12, x_3); +lean_dec(x_3); +if (x_13 == 0) +{ +uint8_t x_14; +x_14 = 1; +return x_14; +} +else +{ +uint8_t x_15; +x_15 = 0; +return x_15; +} +} +else +{ +uint8_t x_16; +lean_inc(x_3); +x_16 = l_Lean_isRecCore(x_1, x_3); +if (x_16 == 0) +{ +uint8_t x_17; +lean_dec(x_3); +x_17 = 0; +return x_17; +} +else +{ +lean_object* x_18; uint8_t x_19; +x_18 = l___private_Lean_MonadEnv_0__Lean_supportedRecursors; +x_19 = l_Array_contains___at_Lean_findField_x3f___spec__1(x_18, x_3); +lean_dec(x_3); +if (x_19 == 0) +{ +uint8_t x_20; +x_20 = 1; +return x_20; +} +else +{ +uint8_t x_21; +x_21 = 0; +return x_21; +} +} +} +} +} +else +{ +uint8_t x_22; +lean_dec(x_2); +lean_dec(x_1); +x_22 = 0; +return x_22; +} +} +} +static lean_object* _init_l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("code generator does not support recursor '", 42); +return x_1; +} +} +static lean_object* _init_l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("' yet, consider using 'match ... with' and/or structural recursion", 66); +return x_1; +} +} +static lean_object* _init_l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__3; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +if (lean_obj_tag(x_3) == 0) +{ +lean_object* x_11; +lean_dec(x_4); +lean_dec(x_1); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_2); +lean_ctor_set(x_11, 1, x_10); +return x_11; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; +lean_dec(x_2); +x_12 = lean_ctor_get(x_3, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_3, 1); +lean_inc(x_13); +lean_dec(x_3); +x_35 = lean_ctor_get(x_12, 0); +lean_inc(x_35); +x_36 = lean_ctor_get(x_35, 2); +lean_inc(x_36); +lean_dec(x_35); +lean_inc(x_1); +x_37 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___lambda__1___boxed), 2, 1); +lean_closure_set(x_37, 0, x_1); +x_38 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_37, x_36); +if (lean_obj_tag(x_38) == 0) +{ +x_14 = x_10; +goto block_34; +} +else +{ +lean_object* x_39; +x_39 = lean_ctor_get(x_38, 0); +lean_inc(x_39); +lean_dec(x_38); +if (lean_obj_tag(x_39) == 4) +{ +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; uint8_t x_47; +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_1); +x_40 = lean_ctor_get(x_39, 0); +lean_inc(x_40); +lean_dec(x_39); +x_41 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_41, 0, x_40); +x_42 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__2; +x_43 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_43, 0, x_42); +lean_ctor_set(x_43, 1, x_41); +x_44 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__4; +x_45 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_45, 0, x_43); +lean_ctor_set(x_45, 1, x_44); +x_46 = l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1(x_45, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_47 = !lean_is_exclusive(x_46); +if (x_47 == 0) +{ +return x_46; +} +else +{ +lean_object* x_48; lean_object* x_49; lean_object* x_50; +x_48 = lean_ctor_get(x_46, 0); +x_49 = lean_ctor_get(x_46, 1); +lean_inc(x_49); +lean_inc(x_48); +lean_dec(x_46); +x_50 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_50, 0, x_48); +lean_ctor_set(x_50, 1, x_49); +return x_50; +} +} +else +{ +lean_dec(x_39); +x_14 = x_10; +goto block_34; +} +} +block_34: +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_15 = lean_ctor_get(x_12, 1); +lean_inc(x_15); +lean_dec(x_12); +lean_inc(x_1); +x_16 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___lambda__1___boxed), 2, 1); +lean_closure_set(x_16, 0, x_1); +x_17 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_16, x_15); +if (lean_obj_tag(x_17) == 0) +{ +lean_object* x_18; +x_18 = lean_box(0); +x_2 = x_18; +x_3 = x_13; +x_10 = x_14; +goto _start; +} +else +{ +lean_object* x_20; +x_20 = lean_ctor_get(x_17, 0); +lean_inc(x_20); +lean_dec(x_17); +if (lean_obj_tag(x_20) == 4) +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; +lean_dec(x_13); +lean_dec(x_1); +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +lean_dec(x_20); +x_22 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_22, 0, x_21); +x_23 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__2; +x_24 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_24, 0, x_23); +lean_ctor_set(x_24, 1, x_22); +x_25 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__4; +x_26 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_26, 0, x_24); +lean_ctor_set(x_26, 1, x_25); +x_27 = l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1(x_26, x_4, x_5, x_6, x_7, x_8, x_9, x_14); +x_28 = !lean_is_exclusive(x_27); +if (x_28 == 0) +{ +return x_27; +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_27, 0); +x_30 = lean_ctor_get(x_27, 1); +lean_inc(x_30); +lean_inc(x_29); +lean_dec(x_27); +x_31 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_31, 0, x_29); +lean_ctor_set(x_31, 1, x_30); +return x_31; +} +} +else +{ +lean_object* x_32; +lean_dec(x_20); +x_32 = lean_box(0); +x_2 = x_32; +x_3 = x_13; +x_10 = x_14; +goto _start; +} +} +} +} +} +} +LEAN_EXPORT lean_object* l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +if (lean_obj_tag(x_3) == 0) +{ +lean_object* x_11; +lean_dec(x_4); +lean_dec(x_1); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_2); +lean_ctor_set(x_11, 1, x_10); +return x_11; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +lean_dec(x_2); +x_12 = lean_ctor_get(x_3, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_3, 1); +lean_inc(x_13); +lean_dec(x_3); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +lean_inc(x_1); +x_15 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___lambda__1___boxed), 2, 1); +lean_closure_set(x_15, 0, x_1); +x_16 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_15, x_14); +if (lean_obj_tag(x_16) == 0) +{ +lean_object* x_17; +x_17 = lean_box(0); +x_2 = x_17; +x_3 = x_13; +goto _start; +} +else +{ +lean_object* x_19; +x_19 = lean_ctor_get(x_16, 0); +lean_inc(x_19); +lean_dec(x_16); +if (lean_obj_tag(x_19) == 4) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; +lean_dec(x_13); +lean_dec(x_1); +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +lean_dec(x_19); +x_21 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_21, 0, x_20); +x_22 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__2; +x_23 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_23, 0, x_22); +lean_ctor_set(x_23, 1, x_21); +x_24 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__4; +x_25 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_24); +x_26 = l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1(x_25, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_27 = !lean_is_exclusive(x_26); +if (x_27 == 0) +{ +return x_26; +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_26, 0); +x_29 = lean_ctor_get(x_26, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_26); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +else +{ +lean_object* x_31; +lean_dec(x_19); +x_31 = lean_box(0); +x_2 = x_31; +x_3 = x_13; +goto _start; +} +} +} +} +} +LEAN_EXPORT lean_object* l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +if (lean_obj_tag(x_3) == 0) +{ +lean_object* x_11; +lean_dec(x_4); +lean_dec(x_1); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_2); +lean_ctor_set(x_11, 1, x_10); +return x_11; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_23; lean_object* x_24; lean_object* x_25; +lean_dec(x_2); +x_12 = lean_ctor_get(x_3, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_3, 1); +lean_inc(x_13); +lean_dec(x_3); +x_23 = lean_ctor_get(x_12, 1); +lean_inc(x_23); +lean_inc(x_1); +x_24 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___lambda__1___boxed), 2, 1); +lean_closure_set(x_24, 0, x_1); +x_25 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_24, x_23); +if (lean_obj_tag(x_25) == 0) +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_12, 2); +lean_inc(x_26); +lean_dec(x_12); +x_27 = lean_box(0); +lean_inc(x_4); +lean_inc(x_1); +x_28 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__8(x_1, x_27, x_26, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_14 = x_28; +goto block_22; +} +else +{ +lean_object* x_29; +x_29 = lean_ctor_get(x_25, 0); +lean_inc(x_29); +lean_dec(x_25); +if (lean_obj_tag(x_29) == 4) +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; +lean_dec(x_12); +x_30 = lean_ctor_get(x_29, 0); +lean_inc(x_30); +lean_dec(x_29); +x_31 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_31, 0, x_30); +x_32 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__2; +x_33 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_33, 0, x_32); +lean_ctor_set(x_33, 1, x_31); +x_34 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__4; +x_35 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_35, 0, x_33); +lean_ctor_set(x_35, 1, x_34); +lean_inc(x_4); +x_36 = l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1(x_35, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_37 = !lean_is_exclusive(x_36); +if (x_37 == 0) +{ +x_14 = x_36; +goto block_22; +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_36, 0); +x_39 = lean_ctor_get(x_36, 1); +lean_inc(x_39); +lean_inc(x_38); +lean_dec(x_36); +x_40 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_40, 0, x_38); +lean_ctor_set(x_40, 1, x_39); +x_14 = x_40; +goto block_22; +} +} +else +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; +lean_dec(x_29); +x_41 = lean_ctor_get(x_12, 2); +lean_inc(x_41); +lean_dec(x_12); +x_42 = lean_box(0); +lean_inc(x_4); +lean_inc(x_1); +x_43 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__8(x_1, x_42, x_41, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_14 = x_43; +goto block_22; +} +} +block_22: +{ +if (lean_obj_tag(x_14) == 0) +{ +lean_object* x_15; lean_object* x_16; +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_2 = x_15; +x_3 = x_13; +x_10 = x_16; +goto _start; +} +else +{ +uint8_t x_18; +lean_dec(x_13); +lean_dec(x_4); +lean_dec(x_1); +x_18 = !lean_is_exclusive(x_14); +if (x_18 == 0) +{ +return x_14; +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_14, 0); +x_20 = lean_ctor_get(x_14, 1); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_14); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_20); +return x_21; +} +} +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Declaration_foldExprM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +switch (lean_obj_tag(x_2)) { +case 0: +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +lean_dec(x_3); +x_11 = lean_ctor_get(x_2, 0); +lean_inc(x_11); +lean_dec(x_2); +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +lean_dec(x_11); +x_13 = lean_ctor_get(x_12, 2); +lean_inc(x_13); +lean_dec(x_12); +x_14 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___lambda__1___boxed), 2, 1); +lean_closure_set(x_14, 0, x_1); +x_15 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_14, x_13); +if (lean_obj_tag(x_15) == 0) +{ +lean_object* x_16; lean_object* x_17; +lean_dec(x_4); +x_16 = lean_box(0); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_10); +return x_17; +} +else +{ +lean_object* x_18; +x_18 = lean_ctor_get(x_15, 0); +lean_inc(x_18); +lean_dec(x_15); +if (lean_obj_tag(x_18) == 4) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +lean_dec(x_18); +x_20 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_20, 0, x_19); +x_21 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__2; +x_22 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_22, 0, x_21); +lean_ctor_set(x_22, 1, x_20); +x_23 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__4; +x_24 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +x_25 = l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1(x_24, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +return x_25; +} +else +{ +lean_object* x_26; lean_object* x_27; +lean_dec(x_18); +lean_dec(x_4); +x_26 = lean_box(0); +x_27 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_27, 0, x_26); +lean_ctor_set(x_27, 1, x_10); +return x_27; +} +} +} +case 1: +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_48; lean_object* x_49; +lean_dec(x_3); +x_28 = lean_ctor_get(x_2, 0); +lean_inc(x_28); +lean_dec(x_2); +x_29 = lean_ctor_get(x_28, 0); +lean_inc(x_29); +x_30 = lean_ctor_get(x_28, 1); +lean_inc(x_30); +lean_dec(x_28); +x_31 = lean_ctor_get(x_29, 2); +lean_inc(x_31); +lean_dec(x_29); +lean_inc(x_1); +x_48 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___lambda__1___boxed), 2, 1); +lean_closure_set(x_48, 0, x_1); +x_49 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_48, x_31); +if (lean_obj_tag(x_49) == 0) +{ +x_32 = x_10; +goto block_47; +} +else +{ +lean_object* x_50; +x_50 = lean_ctor_get(x_49, 0); +lean_inc(x_50); +lean_dec(x_49); +if (lean_obj_tag(x_50) == 4) +{ +lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; uint8_t x_58; +lean_dec(x_30); +lean_dec(x_1); +x_51 = lean_ctor_get(x_50, 0); +lean_inc(x_51); +lean_dec(x_50); +x_52 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_52, 0, x_51); +x_53 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__2; +x_54 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_54, 0, x_53); +lean_ctor_set(x_54, 1, x_52); +x_55 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__4; +x_56 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_56, 0, x_54); +lean_ctor_set(x_56, 1, x_55); +x_57 = l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1(x_56, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_58 = !lean_is_exclusive(x_57); +if (x_58 == 0) +{ +return x_57; +} +else +{ +lean_object* x_59; lean_object* x_60; lean_object* x_61; +x_59 = lean_ctor_get(x_57, 0); +x_60 = lean_ctor_get(x_57, 1); +lean_inc(x_60); +lean_inc(x_59); +lean_dec(x_57); +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_50); +x_32 = x_10; +goto block_47; +} +} +block_47: +{ +lean_object* x_33; lean_object* x_34; +x_33 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___lambda__1___boxed), 2, 1); +lean_closure_set(x_33, 0, x_1); +x_34 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_33, x_30); +if (lean_obj_tag(x_34) == 0) +{ +lean_object* x_35; lean_object* x_36; +lean_dec(x_4); +x_35 = lean_box(0); +x_36 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_36, 0, x_35); +lean_ctor_set(x_36, 1, x_32); +return x_36; +} +else +{ +lean_object* x_37; +x_37 = lean_ctor_get(x_34, 0); +lean_inc(x_37); +lean_dec(x_34); +if (lean_obj_tag(x_37) == 4) +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_38 = lean_ctor_get(x_37, 0); +lean_inc(x_38); +lean_dec(x_37); +x_39 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_39, 0, x_38); +x_40 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__2; +x_41 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_41, 0, x_40); +lean_ctor_set(x_41, 1, x_39); +x_42 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__4; +x_43 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_43, 0, x_41); +lean_ctor_set(x_43, 1, x_42); +x_44 = l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1(x_43, x_4, x_5, x_6, x_7, x_8, x_9, x_32); +return x_44; +} +else +{ +lean_object* x_45; lean_object* x_46; +lean_dec(x_37); +lean_dec(x_4); +x_45 = lean_box(0); +x_46 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_46, 0, x_45); +lean_ctor_set(x_46, 1, x_32); +return x_46; +} +} +} +} +case 2: +{ +lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_82; lean_object* x_83; +lean_dec(x_3); +x_62 = lean_ctor_get(x_2, 0); +lean_inc(x_62); +lean_dec(x_2); +x_63 = lean_ctor_get(x_62, 0); +lean_inc(x_63); +x_64 = lean_ctor_get(x_62, 1); +lean_inc(x_64); +lean_dec(x_62); +x_65 = lean_ctor_get(x_63, 2); +lean_inc(x_65); +lean_dec(x_63); +lean_inc(x_1); +x_82 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___lambda__1___boxed), 2, 1); +lean_closure_set(x_82, 0, x_1); +x_83 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_82, x_65); +if (lean_obj_tag(x_83) == 0) +{ +x_66 = x_10; +goto block_81; +} +else +{ +lean_object* x_84; +x_84 = lean_ctor_get(x_83, 0); +lean_inc(x_84); +lean_dec(x_83); +if (lean_obj_tag(x_84) == 4) +{ +lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; uint8_t x_92; +lean_dec(x_64); +lean_dec(x_1); +x_85 = lean_ctor_get(x_84, 0); +lean_inc(x_85); +lean_dec(x_84); +x_86 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_86, 0, x_85); +x_87 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__2; +x_88 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_88, 0, x_87); +lean_ctor_set(x_88, 1, x_86); +x_89 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__4; +x_90 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_90, 0, x_88); +lean_ctor_set(x_90, 1, x_89); +x_91 = l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1(x_90, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_92 = !lean_is_exclusive(x_91); +if (x_92 == 0) +{ +return x_91; +} +else +{ +lean_object* x_93; lean_object* x_94; lean_object* x_95; +x_93 = lean_ctor_get(x_91, 0); +x_94 = lean_ctor_get(x_91, 1); +lean_inc(x_94); +lean_inc(x_93); +lean_dec(x_91); +x_95 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_95, 0, x_93); +lean_ctor_set(x_95, 1, x_94); +return x_95; +} +} +else +{ +lean_dec(x_84); +x_66 = x_10; +goto block_81; +} +} +block_81: +{ +lean_object* x_67; lean_object* x_68; +x_67 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___lambda__1___boxed), 2, 1); +lean_closure_set(x_67, 0, x_1); +x_68 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_67, x_64); +if (lean_obj_tag(x_68) == 0) +{ +lean_object* x_69; lean_object* x_70; +lean_dec(x_4); +x_69 = lean_box(0); +x_70 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_70, 0, x_69); +lean_ctor_set(x_70, 1, x_66); +return x_70; +} +else +{ +lean_object* x_71; +x_71 = lean_ctor_get(x_68, 0); +lean_inc(x_71); +lean_dec(x_68); +if (lean_obj_tag(x_71) == 4) +{ +lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; +x_72 = lean_ctor_get(x_71, 0); +lean_inc(x_72); +lean_dec(x_71); +x_73 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_73, 0, x_72); +x_74 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__2; +x_75 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_75, 0, x_74); +lean_ctor_set(x_75, 1, x_73); +x_76 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__4; +x_77 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_77, 0, x_75); +lean_ctor_set(x_77, 1, x_76); +x_78 = l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1(x_77, x_4, x_5, x_6, x_7, x_8, x_9, x_66); +return x_78; +} +else +{ +lean_object* x_79; lean_object* x_80; +lean_dec(x_71); +lean_dec(x_4); +x_79 = lean_box(0); +x_80 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_80, 0, x_79); +lean_ctor_set(x_80, 1, x_66); +return x_80; +} +} +} +} +case 3: +{ +lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_116; lean_object* x_117; +lean_dec(x_3); +x_96 = lean_ctor_get(x_2, 0); +lean_inc(x_96); +lean_dec(x_2); +x_97 = lean_ctor_get(x_96, 0); +lean_inc(x_97); +x_98 = lean_ctor_get(x_96, 1); +lean_inc(x_98); +lean_dec(x_96); +x_99 = lean_ctor_get(x_97, 2); +lean_inc(x_99); +lean_dec(x_97); +lean_inc(x_1); +x_116 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___lambda__1___boxed), 2, 1); +lean_closure_set(x_116, 0, x_1); +x_117 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_116, x_99); +if (lean_obj_tag(x_117) == 0) +{ +x_100 = x_10; +goto block_115; +} +else +{ +lean_object* x_118; +x_118 = lean_ctor_get(x_117, 0); +lean_inc(x_118); +lean_dec(x_117); +if (lean_obj_tag(x_118) == 4) +{ +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; uint8_t x_126; +lean_dec(x_98); +lean_dec(x_1); +x_119 = lean_ctor_get(x_118, 0); +lean_inc(x_119); +lean_dec(x_118); +x_120 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_120, 0, x_119); +x_121 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__2; +x_122 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_122, 0, x_121); +lean_ctor_set(x_122, 1, x_120); +x_123 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__4; +x_124 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_124, 0, x_122); +lean_ctor_set(x_124, 1, x_123); +x_125 = l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1(x_124, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_126 = !lean_is_exclusive(x_125); +if (x_126 == 0) +{ +return x_125; +} +else +{ +lean_object* x_127; lean_object* x_128; lean_object* x_129; +x_127 = lean_ctor_get(x_125, 0); +x_128 = lean_ctor_get(x_125, 1); +lean_inc(x_128); +lean_inc(x_127); +lean_dec(x_125); +x_129 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_129, 0, x_127); +lean_ctor_set(x_129, 1, x_128); +return x_129; +} +} +else +{ +lean_dec(x_118); +x_100 = x_10; +goto block_115; +} +} +block_115: +{ +lean_object* x_101; lean_object* x_102; +x_101 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___lambda__1___boxed), 2, 1); +lean_closure_set(x_101, 0, x_1); +x_102 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_101, x_98); +if (lean_obj_tag(x_102) == 0) +{ +lean_object* x_103; lean_object* x_104; +lean_dec(x_4); +x_103 = lean_box(0); +x_104 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_104, 0, x_103); +lean_ctor_set(x_104, 1, x_100); +return x_104; +} +else +{ +lean_object* x_105; +x_105 = lean_ctor_get(x_102, 0); +lean_inc(x_105); +lean_dec(x_102); +if (lean_obj_tag(x_105) == 4) +{ +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; +x_106 = lean_ctor_get(x_105, 0); +lean_inc(x_106); +lean_dec(x_105); +x_107 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_107, 0, x_106); +x_108 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__2; +x_109 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_109, 0, x_108); +lean_ctor_set(x_109, 1, x_107); +x_110 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__4; +x_111 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_111, 0, x_109); +lean_ctor_set(x_111, 1, x_110); +x_112 = l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1(x_111, x_4, x_5, x_6, x_7, x_8, x_9, x_100); +return x_112; +} +else +{ +lean_object* x_113; lean_object* x_114; +lean_dec(x_105); +lean_dec(x_4); +x_113 = lean_box(0); +x_114 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_114, 0, x_113); +lean_ctor_set(x_114, 1, x_100); +return x_114; +} +} +} +} +case 4: +{ +lean_object* x_130; +lean_dec(x_4); +lean_dec(x_1); +x_130 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_130, 0, x_3); +lean_ctor_set(x_130, 1, x_10); +return x_130; +} +case 5: +{ +lean_object* x_131; lean_object* x_132; +x_131 = lean_ctor_get(x_2, 0); +lean_inc(x_131); +lean_dec(x_2); +x_132 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7(x_1, x_3, x_131, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +return x_132; +} +default: +{ +lean_object* x_133; lean_object* x_134; +x_133 = lean_ctor_get(x_2, 2); +lean_inc(x_133); +lean_dec(x_2); +x_134 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__9(x_1, x_3, x_133, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +return x_134; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_MonadEnv_0__Lean_checkUnsupported___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___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) { +_start: +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_9 = lean_st_ref_get(x_7, x_8); +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_9, 1); +lean_inc(x_11); +lean_dec(x_9); +x_12 = lean_ctor_get(x_10, 0); +lean_inc(x_12); +lean_dec(x_10); +x_13 = lean_box(0); +x_14 = l_Lean_Declaration_foldExprM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__6(x_12, x_1, x_13, x_2, x_3, x_4, x_5, x_6, x_7, x_11); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_14; +} +} +LEAN_EXPORT lean_object* l_Lean_compileDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_9 = lean_st_ref_get(x_7, x_8); +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_9, 1); +lean_inc(x_11); +lean_dec(x_9); +x_12 = lean_ctor_get(x_10, 0); +lean_inc(x_12); +lean_dec(x_10); +x_13 = lean_ctor_get(x_6, 2); +lean_inc(x_13); +lean_inc(x_1); +x_14 = l_Lean_Environment_compileDecl(x_12, x_13, x_1); +lean_dec(x_13); +if (lean_obj_tag(x_14) == 0) +{ +lean_object* x_15; +x_15 = lean_ctor_get(x_14, 0); +lean_inc(x_15); +lean_dec(x_14); +if (lean_obj_tag(x_15) == 11) +{ +lean_object* x_16; lean_object* x_17; +x_16 = lean_ctor_get(x_15, 0); +lean_inc(x_16); +lean_dec(x_15); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_17 = l___private_Lean_MonadEnv_0__Lean_checkUnsupported___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__5(x_1, x_2, x_3, x_4, x_5, x_6, x_7, 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; +x_18 = lean_ctor_get(x_17, 1); +lean_inc(x_18); +lean_dec(x_17); +x_19 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_19, 0, x_16); +x_20 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_20, 0, x_19); +x_21 = l_Lean_throwError___at_Lean_Elab_Term_throwErrorIfErrors___spec__1(x_20, x_2, x_3, x_4, x_5, x_6, x_7, x_18); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_21; +} +else +{ +uint8_t x_22; +lean_dec(x_16); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_22 = !lean_is_exclusive(x_17); +if (x_22 == 0) +{ +return x_17; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_17, 0); +x_24 = lean_ctor_get(x_17, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_17); +x_25 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_24); +return x_25; +} +} +} +else +{ +lean_object* x_26; +lean_dec(x_1); +x_26 = l_Lean_throwKernelException___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__2(x_15, x_2, x_3, x_4, x_5, x_6, x_7, x_11); +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_26; +} +} +else +{ +lean_object* x_27; lean_object* x_28; +lean_dec(x_1); +x_27 = lean_ctor_get(x_14, 0); +lean_inc(x_27); +lean_dec(x_14); +x_28 = l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3(x_27, x_2, x_3, x_4, x_5, x_6, x_7, x_11); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_28; +} +} +} LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, 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: { @@ -10434,14 +12135,14 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_20); -x_21 = l_Lean_addDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__1(x_20, x_4, x_5, x_6, x_7, x_8, x_9, x_13); +x_21 = l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1(x_20, x_4, x_5, x_6, x_7, x_8, x_9, x_13); if (lean_obj_tag(x_21) == 0) { lean_object* x_22; lean_object* x_23; x_22 = lean_ctor_get(x_21, 1); lean_inc(x_22); lean_dec(x_21); -x_23 = l_Lean_compileDecl___at_Lean_Elab_Term_declareTacticSyntax___spec__4(x_20, x_4, x_5, x_6, x_7, x_8, x_9, x_22); +x_23 = l_Lean_compileDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__4(x_20, x_4, x_5, x_6, x_7, x_8, x_9, x_22); if (lean_obj_tag(x_23) == 0) { uint8_t x_24; @@ -10553,6 +12254,93 @@ return x_39; } } } +LEAN_EXPORT lean_object* l_Lean_throwKernelException___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_Lean_throwKernelException___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___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_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_9; +} +} +LEAN_EXPORT lean_object* l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___lambda__1___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___lambda__1(x_1, x_2); +x_4 = lean_box(x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; +x_11 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +return x_11; +} +} +LEAN_EXPORT lean_object* l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; +x_11 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__8(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +return x_11; +} +} +LEAN_EXPORT lean_object* l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__9___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; +x_11 = l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__9(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +return x_11; +} +} +LEAN_EXPORT lean_object* l_Lean_Declaration_foldExprM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___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: +{ +lean_object* x_11; +x_11 = l_Lean_Declaration_foldExprM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__6(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +return x_11; +} +} static lean_object* _init_l_Lean_Elab_Tactic_evalNativeDecide___rarg___lambda__1___closed__1() { _start: { @@ -10930,7 +12718,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalNativeDecide_declR _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(303u); +x_1 = lean_unsigned_to_nat(302u); x_2 = lean_unsigned_to_nat(49u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10942,7 +12730,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalNativeDecide_declR _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(310u); +x_1 = lean_unsigned_to_nat(309u); x_2 = lean_unsigned_to_nat(160u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10970,7 +12758,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalNativeDecide_declR _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(303u); +x_1 = lean_unsigned_to_nat(302u); x_2 = lean_unsigned_to_nat(53u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10982,7 +12770,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalNativeDecide_declR _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(303u); +x_1 = lean_unsigned_to_nat(302u); x_2 = lean_unsigned_to_nat(69u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11029,10 +12817,9 @@ return x_4; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_CollectMVars(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Tactic_Apply(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Tactic_Constructor(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Tactic_Assert(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Meta_Tactic_Clear(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Tactic_Rename(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Tactic_Basic(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_SyntheticMVars(uint8_t builtin, lean_object*); @@ -11044,18 +12831,15 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_CollectMVars(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Meta_Tactic_Apply(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Meta_Tactic_Constructor(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_Meta_Tactic_Assert(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Meta_Tactic_Clear(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); res = initialize_Lean_Meta_Tactic_Rename(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); @@ -11515,6 +13299,44 @@ lean_mark_persistent(l___regBuiltin_Lean_Elab_Tactic_evalDecide_declRange___clos res = l___regBuiltin_Lean_Elab_Tactic_evalDecide_declRange(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__1 = _init_l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__1(); +lean_mark_persistent(l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__1); +l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__2 = _init_l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__2(); +lean_mark_persistent(l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__2); +l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__3 = _init_l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__3(); +lean_mark_persistent(l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__3); +l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__4 = _init_l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__4(); +lean_mark_persistent(l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__4); +l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__5 = _init_l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__5(); +lean_mark_persistent(l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__5); +l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__6 = _init_l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__6(); +lean_mark_persistent(l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__6); +l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__7 = _init_l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__7(); +lean_mark_persistent(l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__7); +l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__8 = _init_l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__8(); +lean_mark_persistent(l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__8); +l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__9 = _init_l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__9(); +lean_mark_persistent(l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__9); +l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__10 = _init_l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__10(); +lean_mark_persistent(l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__10); +l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__11 = _init_l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__11(); +lean_mark_persistent(l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__11); +l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__12 = _init_l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__12(); +lean_mark_persistent(l_Lean_setEnv___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__3___closed__12); +l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1___closed__1 = _init_l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1___closed__1(); +lean_mark_persistent(l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1___closed__1); +l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1___closed__2 = _init_l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1___closed__2(); +lean_mark_persistent(l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1___closed__2); +l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1___closed__3 = _init_l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1___closed__3(); +lean_mark_persistent(l_Lean_addDecl___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__1___closed__3); +l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__1 = _init_l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__1(); +lean_mark_persistent(l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__1); +l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__2 = _init_l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__2(); +lean_mark_persistent(l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__2); +l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__3 = _init_l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__3(); +lean_mark_persistent(l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__3); +l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__4 = _init_l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__4(); +lean_mark_persistent(l_List_foldlM___at___private_Lean_Elab_Tactic_ElabTerm_0__Lean_Elab_Tactic_mkNativeAuxDecl___spec__7___closed__4); l_Lean_Elab_Tactic_evalNativeDecide___rarg___lambda__1___closed__1 = _init_l_Lean_Elab_Tactic_evalNativeDecide___rarg___lambda__1___closed__1(); lean_mark_persistent(l_Lean_Elab_Tactic_evalNativeDecide___rarg___lambda__1___closed__1); l_Lean_Elab_Tactic_evalNativeDecide___rarg___lambda__1___closed__2 = _init_l_Lean_Elab_Tactic_evalNativeDecide___rarg___lambda__1___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/Tactic/Rewrite.c b/stage0/stdlib/Lean/Elab/Tactic/Rewrite.c index c876d7e8aa..89e410e577 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Rewrite.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Rewrite.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.Tactic.Rewrite -// Imports: Init Lean.Meta.Tactic.Rewrite Lean.Meta.Tactic.Replace Lean.Elab.Tactic.Basic Lean.Elab.Tactic.ElabTerm Lean.Elab.Tactic.Location Lean.Elab.Tactic.Config +// Imports: Init Lean.Meta.Tactic.Rewrite Lean.Meta.Tactic.Replace Lean.Elab.Tactic.Location Lean.Elab.Tactic.Config #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -5503,7 +5503,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(62u); +x_1 = lean_unsigned_to_nat(61u); x_2 = lean_unsigned_to_nat(47u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5515,7 +5515,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(69u); +x_1 = lean_unsigned_to_nat(68u); x_2 = lean_unsigned_to_nat(91u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5543,7 +5543,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(62u); +x_1 = lean_unsigned_to_nat(61u); x_2 = lean_unsigned_to_nat(51u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5555,7 +5555,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(62u); +x_1 = lean_unsigned_to_nat(61u); x_2 = lean_unsigned_to_nat(65u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5604,8 +5604,6 @@ return x_4; lean_object* initialize_Init(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Tactic_Rewrite(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Tactic_Replace(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_Tactic_Basic(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_Tactic_ElabTerm(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Tactic_Location(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Tactic_Config(uint8_t builtin, lean_object*); static bool _G_initialized = false; @@ -5622,12 +5620,6 @@ lean_dec_ref(res); res = initialize_Lean_Meta_Tactic_Replace(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Elab_Tactic_Basic(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Elab_Tactic_ElabTerm(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Elab_Tactic_Location(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Elab/Tactic/Simp.c b/stage0/stdlib/Lean/Elab/Tactic/Simp.c index 1652516a2b..87c0b973e6 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Simp.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Simp.c @@ -202,7 +202,6 @@ static lean_object* l_Lean_Elab_Tactic_mkSimpContext___lambda__3___closed__2; static lean_object* l_Lean_Meta_SimpTheorems_erase___at_Lean_Elab_Tactic_elabSimpArgs___spec__18___closed__2; uint8_t l_Lean_Expr_hasExprMVar(lean_object*); lean_object* l_Lean_replaceRef(lean_object*, lean_object*); -lean_object* l_Lean_throwError___at___private_Lean_Meta_RecursorInfo_0__Lean_Meta_getMajorPosDepElim___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Simp___hyg_185____closed__2; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalSimpAll___closed__4; static lean_object* l_Lean_Elab_Tactic_elabDSimpConfigCore___closed__3; @@ -279,6 +278,7 @@ lean_object* l_Lean_Elab_Term_runTactic(lean_object*, lean_object*, lean_object* LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabSimpArgs(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_fvarId(lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalTactic___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwError___at_Lean_Meta_mkSimpCongrTheorem___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_SimpKind_noConfusion___rarg___lambda__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_elabSimpArgs___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDSimp___closed__5; @@ -4135,7 +4135,7 @@ x_31 = l___private_Lean_Elab_Tactic_Simp_0__Lean_Elab_Tactic_addDeclToUnfoldOrTh x_32 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_32, 0, x_30); lean_ctor_set(x_32, 1, x_31); -x_33 = l_Lean_throwError___at___private_Lean_Meta_RecursorInfo_0__Lean_Meta_getMajorPosDepElim___spec__3(x_32, x_6, x_7, x_8, x_9, x_27); +x_33 = l_Lean_throwError___at_Lean_Meta_mkSimpCongrTheorem___spec__6(x_32, x_6, x_7, x_8, x_9, x_27); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); diff --git a/stage0/stdlib/Lean/Elab/Term.c b/stage0/stdlib/Lean/Elab/Term.c index a6e43b8e87..a47cebf35e 100644 --- a/stage0/stdlib/Lean/Elab/Term.c +++ b/stage0/stdlib/Lean/Elab/Term.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.Term -// Imports: Init Lean.ResolveName Lean.Log Lean.Deprecated Lean.Util.Sorry Lean.Util.ReplaceExpr Lean.Structure Lean.Meta.AppBuilder Lean.Meta.CollectMVars Lean.Meta.Coe Lean.Hygiene Lean.Util.RecDepth Lean.Elab.Config Lean.Elab.Level Lean.Elab.Attributes Lean.Elab.AutoBound Lean.Elab.InfoTree Lean.Elab.Open Lean.Elab.SetOption Lean.Elab.DeclModifiers +// Imports: Init Lean.Deprecated Lean.Meta.AppBuilder Lean.Meta.CollectMVars Lean.Meta.Coe Lean.Elab.Config Lean.Elab.Level Lean.Elab.DeclModifiers #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -179,6 +179,7 @@ static lean_object* l_Lean_Elab_Term_isLetRecAuxMVar___lambda__2___closed__1; static lean_object* l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_instAddErrorMessageContextTermElabM___spec__1___closed__4; static lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at_Lean_Elab_Term_expandDeclId___spec__6___lambda__2___closed__1; LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_addAutoBoundImplicits_go___spec__48___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_Term_resolveName_x27___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_addTermInfo___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_logException___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__3___closed__1; static lean_object* l_Lean_Elab_Term_instInhabitedLetRecToLift___closed__7; @@ -1198,6 +1199,7 @@ static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_expandDeclId___ LEAN_EXPORT lean_object* l_Lean_Elab_Term_getLetRecsToLift___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_FVarId_getDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_resolveName_process___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_Term_resolveName_x27___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_panic_fn(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_resolveName_x27___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_Elab_Term_registerSyntheticMVar___spec__2(lean_object*, lean_object*, lean_object*); @@ -1312,7 +1314,6 @@ lean_object* l_Lean_Expr_getAppFn(lean_object*); static lean_object* l_Lean_Elab_Term_MVarErrorInfo_logError___closed__9; static lean_object* l_Lean_Elab_Term_MVarErrorInfo_logError_addArgName___closed__1; static lean_object* l_Lean_Elab_Term_expandDeclId___closed__1; -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_Term_resolveName_x27___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_instInhabitedLetRecToLift___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_mkDeclName___at_Lean_Elab_Term_expandDeclId___spec__2___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_resolveName___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1422,7 +1423,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_saveState___rarg(lean_object*, lean_ob lean_object* l_Lean_Name_replacePrefix(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_synthesizeInstMVarCore___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_throwMaxRecDepthAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__5___closed__2; -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_Term_resolveName_x27___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_getMVarErrorInfo_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_elabUsingElabFns___closed__1; static lean_object* l___private_Lean_Elab_Term_0__Lean_Elab_Term_tryCoe___closed__3; @@ -3805,7 +3805,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Elab_Term_getFVarLocalDecl_x21___closed__1; x_2 = l_Lean_Elab_Term_getFVarLocalDecl_x21___closed__2; -x_3 = lean_unsigned_to_nat(322u); +x_3 = lean_unsigned_to_nat(310u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lean_Elab_Term_getFVarLocalDecl_x21___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -57623,190 +57623,141 @@ return x_22; } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_Term_resolveName_x27___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_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_Term_resolveName_x27___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { if (lean_obj_tag(x_2) == 0) { -lean_object* x_10; lean_object* x_11; +lean_object* x_11; lean_object* x_12; lean_dec(x_1); -x_10 = lean_box(0); -x_11 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_11, 0, x_10); -lean_ctor_set(x_11, 1, x_9); -return x_11; +x_11 = l_List_reverse___rarg(x_3); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_10); +return x_12; } else { -uint8_t x_12; -x_12 = !lean_is_exclusive(x_2); -if (x_12 == 0) +uint8_t x_13; +x_13 = !lean_is_exclusive(x_2); +if (x_13 == 0) { -lean_object* x_13; uint8_t x_14; -x_13 = lean_ctor_get(x_2, 0); -x_14 = !lean_is_exclusive(x_13); -if (x_14 == 0) +lean_object* x_14; uint8_t x_15; +x_14 = lean_ctor_get(x_2, 0); +x_15 = !lean_is_exclusive(x_14); +if (x_15 == 0) { -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; -x_15 = lean_ctor_get(x_2, 1); -x_16 = lean_ctor_get(x_13, 0); -x_17 = lean_ctor_get(x_13, 1); -x_18 = lean_unsigned_to_nat(0u); -x_19 = l_List_lengthTRAux___rarg(x_17, x_18); -lean_dec(x_17); -x_20 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_20, 0, x_19); +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; +x_16 = lean_ctor_get(x_2, 1); +x_17 = lean_ctor_get(x_14, 0); +x_18 = lean_ctor_get(x_14, 1); +x_19 = lean_unsigned_to_nat(0u); +x_20 = l_List_lengthTRAux___rarg(x_18, x_19); +lean_dec(x_18); +x_21 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_21, 0, x_20); lean_inc(x_1); -x_21 = l_Lean_Syntax_identComponents(x_1, x_20); -x_22 = l_Lean_instInhabitedSyntax; -x_23 = l_List_head_x21___rarg(x_22, x_21); -x_24 = l_List_tail_x21___rarg(x_21); -lean_ctor_set(x_13, 1, x_24); -lean_ctor_set(x_13, 0, x_23); -x_25 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_25, 0, x_16); -lean_ctor_set(x_25, 1, x_13); -x_26 = l_List_mapM___at_Lean_Elab_Term_resolveName_x27___spec__2(x_1, x_15, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -x_27 = !lean_is_exclusive(x_26); -if (x_27 == 0) +x_22 = l_Lean_Syntax_identComponents(x_1, x_21); +x_23 = l_Lean_instInhabitedSyntax; +x_24 = l_List_head_x21___rarg(x_23, x_22); +x_25 = l_List_tail_x21___rarg(x_22); +lean_ctor_set(x_14, 1, x_25); +lean_ctor_set(x_14, 0, x_24); +x_26 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_26, 0, x_17); +lean_ctor_set(x_26, 1, x_14); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_26); { -lean_object* x_28; -x_28 = lean_ctor_get(x_26, 0); -lean_ctor_set(x_2, 1, x_28); -lean_ctor_set(x_2, 0, x_25); -lean_ctor_set(x_26, 0, x_2); -return x_26; +lean_object* _tmp_1 = x_16; +lean_object* _tmp_2 = x_2; +x_2 = _tmp_1; +x_3 = _tmp_2; +} +goto _start; } else { -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_26, 0); -x_30 = lean_ctor_get(x_26, 1); +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_28 = lean_ctor_get(x_2, 1); +x_29 = lean_ctor_get(x_14, 0); +x_30 = lean_ctor_get(x_14, 1); lean_inc(x_30); lean_inc(x_29); -lean_dec(x_26); -lean_ctor_set(x_2, 1, x_29); -lean_ctor_set(x_2, 0, x_25); -x_31 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_31, 0, x_2); -lean_ctor_set(x_31, 1, x_30); -return x_31; -} -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_32 = lean_ctor_get(x_2, 1); -x_33 = lean_ctor_get(x_13, 0); -x_34 = lean_ctor_get(x_13, 1); -lean_inc(x_34); -lean_inc(x_33); -lean_dec(x_13); -x_35 = lean_unsigned_to_nat(0u); -x_36 = l_List_lengthTRAux___rarg(x_34, x_35); -lean_dec(x_34); -x_37 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_37, 0, x_36); +lean_dec(x_14); +x_31 = lean_unsigned_to_nat(0u); +x_32 = l_List_lengthTRAux___rarg(x_30, x_31); +lean_dec(x_30); +x_33 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_33, 0, x_32); lean_inc(x_1); -x_38 = l_Lean_Syntax_identComponents(x_1, x_37); -x_39 = l_Lean_instInhabitedSyntax; -x_40 = l_List_head_x21___rarg(x_39, x_38); -x_41 = l_List_tail_x21___rarg(x_38); -x_42 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_42, 0, x_40); -lean_ctor_set(x_42, 1, x_41); -x_43 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_43, 0, x_33); -lean_ctor_set(x_43, 1, x_42); -x_44 = l_List_mapM___at_Lean_Elab_Term_resolveName_x27___spec__2(x_1, x_32, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -x_45 = lean_ctor_get(x_44, 0); -lean_inc(x_45); -x_46 = lean_ctor_get(x_44, 1); -lean_inc(x_46); -if (lean_is_exclusive(x_44)) { - lean_ctor_release(x_44, 0); - lean_ctor_release(x_44, 1); - x_47 = x_44; -} else { - lean_dec_ref(x_44); - x_47 = lean_box(0); +x_34 = l_Lean_Syntax_identComponents(x_1, x_33); +x_35 = l_Lean_instInhabitedSyntax; +x_36 = l_List_head_x21___rarg(x_35, x_34); +x_37 = l_List_tail_x21___rarg(x_34); +x_38 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_38, 0, x_36); +lean_ctor_set(x_38, 1, x_37); +x_39 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_39, 0, x_29); +lean_ctor_set(x_39, 1, x_38); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_39); +{ +lean_object* _tmp_1 = x_28; +lean_object* _tmp_2 = x_2; +x_2 = _tmp_1; +x_3 = _tmp_2; } -lean_ctor_set(x_2, 1, x_45); -lean_ctor_set(x_2, 0, x_43); -if (lean_is_scalar(x_47)) { - x_48 = lean_alloc_ctor(0, 2, 0); -} else { - x_48 = x_47; -} -lean_ctor_set(x_48, 0, x_2); -lean_ctor_set(x_48, 1, x_46); -return x_48; +goto _start; } } else { -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; -x_49 = lean_ctor_get(x_2, 0); -x_50 = lean_ctor_get(x_2, 1); -lean_inc(x_50); -lean_inc(x_49); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_41 = lean_ctor_get(x_2, 0); +x_42 = lean_ctor_get(x_2, 1); +lean_inc(x_42); +lean_inc(x_41); lean_dec(x_2); -x_51 = lean_ctor_get(x_49, 0); -lean_inc(x_51); -x_52 = lean_ctor_get(x_49, 1); -lean_inc(x_52); -if (lean_is_exclusive(x_49)) { - lean_ctor_release(x_49, 0); - lean_ctor_release(x_49, 1); - x_53 = x_49; +x_43 = lean_ctor_get(x_41, 0); +lean_inc(x_43); +x_44 = lean_ctor_get(x_41, 1); +lean_inc(x_44); +if (lean_is_exclusive(x_41)) { + lean_ctor_release(x_41, 0); + lean_ctor_release(x_41, 1); + x_45 = x_41; } else { - lean_dec_ref(x_49); - x_53 = lean_box(0); + lean_dec_ref(x_41); + x_45 = lean_box(0); } -x_54 = lean_unsigned_to_nat(0u); -x_55 = l_List_lengthTRAux___rarg(x_52, x_54); -lean_dec(x_52); -x_56 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_56, 0, x_55); +x_46 = lean_unsigned_to_nat(0u); +x_47 = l_List_lengthTRAux___rarg(x_44, x_46); +lean_dec(x_44); +x_48 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_48, 0, x_47); lean_inc(x_1); -x_57 = l_Lean_Syntax_identComponents(x_1, x_56); -x_58 = l_Lean_instInhabitedSyntax; -x_59 = l_List_head_x21___rarg(x_58, x_57); -x_60 = l_List_tail_x21___rarg(x_57); -if (lean_is_scalar(x_53)) { - x_61 = lean_alloc_ctor(0, 2, 0); +x_49 = l_Lean_Syntax_identComponents(x_1, x_48); +x_50 = l_Lean_instInhabitedSyntax; +x_51 = l_List_head_x21___rarg(x_50, x_49); +x_52 = l_List_tail_x21___rarg(x_49); +if (lean_is_scalar(x_45)) { + x_53 = lean_alloc_ctor(0, 2, 0); } else { - x_61 = x_53; + x_53 = x_45; } -lean_ctor_set(x_61, 0, x_59); -lean_ctor_set(x_61, 1, x_60); -x_62 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_62, 0, x_51); -lean_ctor_set(x_62, 1, x_61); -x_63 = l_List_mapM___at_Lean_Elab_Term_resolveName_x27___spec__2(x_1, x_50, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -x_64 = lean_ctor_get(x_63, 0); -lean_inc(x_64); -x_65 = lean_ctor_get(x_63, 1); -lean_inc(x_65); -if (lean_is_exclusive(x_63)) { - lean_ctor_release(x_63, 0); - lean_ctor_release(x_63, 1); - x_66 = x_63; -} else { - lean_dec_ref(x_63); - x_66 = lean_box(0); -} -x_67 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_67, 0, x_62); -lean_ctor_set(x_67, 1, x_64); -if (lean_is_scalar(x_66)) { - x_68 = lean_alloc_ctor(0, 2, 0); -} else { - x_68 = x_66; -} -lean_ctor_set(x_68, 0, x_67); -lean_ctor_set(x_68, 1, x_65); -return x_68; +lean_ctor_set(x_53, 0, x_51); +lean_ctor_set(x_53, 1, x_52); +x_54 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_54, 0, x_43); +lean_ctor_set(x_54, 1, x_53); +x_55 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_55, 0, x_54); +lean_ctor_set(x_55, 1, x_3); +x_2 = x_42; +x_3 = x_55; +goto _start; } } } @@ -57848,24 +57799,25 @@ lean_inc(x_1); x_13 = l_Lean_Elab_Term_resolveName(x_1, x_11, x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); if (lean_obj_tag(x_13) == 0) { -lean_object* x_14; lean_object* x_15; lean_object* x_16; +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; x_14 = lean_ctor_get(x_13, 0); lean_inc(x_14); x_15 = lean_ctor_get(x_13, 1); lean_inc(x_15); lean_dec(x_13); -x_16 = l_List_mapM___at_Lean_Elab_Term_resolveName_x27___spec__2(x_1, x_14, x_4, x_5, x_6, x_7, x_8, x_9, x_15); +x_16 = lean_box(0); +x_17 = l_List_mapM_loop___at_Lean_Elab_Term_resolveName_x27___spec__2(x_1, x_14, x_16, x_4, x_5, x_6, x_7, x_8, x_9, x_15); 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_16; +return x_17; } else { -uint8_t x_17; +uint8_t x_18; lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -57873,40 +57825,40 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_17 = !lean_is_exclusive(x_13); -if (x_17 == 0) +x_18 = !lean_is_exclusive(x_13); +if (x_18 == 0) { return x_13; } else { -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_13, 0); -x_19 = lean_ctor_get(x_13, 1); +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_13, 0); +x_20 = lean_ctor_get(x_13, 1); +lean_inc(x_20); lean_inc(x_19); -lean_inc(x_18); lean_dec(x_13); -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; +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_20); +return x_21; } } } else { -lean_object* x_21; lean_object* x_22; +lean_object* x_22; lean_object* x_23; lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_21 = l_Lean_Elab_Term_resolveName_x27___closed__2; -x_22 = l_Lean_throwError___at_Lean_Elab_Term_resolveName_x27___spec__1(x_21, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_22 = l_Lean_Elab_Term_resolveName_x27___closed__2; +x_23 = l_Lean_throwError___at_Lean_Elab_Term_resolveName_x27___spec__1(x_22, 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); -return x_22; +return x_23; } } } @@ -57923,18 +57875,18 @@ lean_dec(x_3); return x_9; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_Term_resolveName_x27___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_Term_resolveName_x27___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { -lean_object* x_10; -x_10 = l_List_mapM___at_Lean_Elab_Term_resolveName_x27___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_object* x_11; +x_11 = l_List_mapM_loop___at_Lean_Elab_Term_resolveName_x27___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_3); -return x_10; +return x_11; } } LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_resolveId_x3f___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { @@ -64186,24 +64138,12 @@ return x_18; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_ResolveName(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Log(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Deprecated(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Util_Sorry(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Util_ReplaceExpr(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Structure(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_AppBuilder(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_CollectMVars(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Coe(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Hygiene(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Util_RecDepth(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Config(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Level(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_Attributes(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_AutoBound(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_InfoTree(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_Open(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_SetOption(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_DeclModifiers(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Elab_Term(uint8_t builtin, lean_object* w) { @@ -64213,24 +64153,9 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_ResolveName(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Log(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Deprecated(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Util_Sorry(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Util_ReplaceExpr(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Structure(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Meta_AppBuilder(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); @@ -64240,33 +64165,12 @@ lean_dec_ref(res); res = initialize_Lean_Meta_Coe(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Hygiene(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Util_RecDepth(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Elab_Config(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_Elab_Level(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Elab_Attributes(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Elab_AutoBound(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Elab_InfoTree(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Elab_Open(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Elab_SetOption(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Elab_DeclModifiers(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Elab/Util.c b/stage0/stdlib/Lean/Elab/Util.c index 4659ff0b50..53c9554c8a 100644 --- a/stage0/stdlib/Lean/Elab/Util.c +++ b/stage0/stdlib/Lean/Elab/Util.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.Util -// Imports: Init Lean.Util.Trace Lean.Parser.Syntax Lean.Parser.Extension Lean.KeyedDeclsAttribute Lean.Elab.Exception Lean.Elab.InfoTree Lean.DocString Lean.DeclarationRange Lean.Compiler.InitAttr Lean.Log +// Imports: Init Lean.Parser.Command Lean.KeyedDeclsAttribute Lean.Elab.Exception #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -4670,16 +4670,9 @@ return x_19; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Util_Trace(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Parser_Syntax(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Parser_Extension(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Parser_Command(uint8_t builtin, lean_object*); lean_object* initialize_Lean_KeyedDeclsAttribute(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Exception(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_InfoTree(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_DocString(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_DeclarationRange(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Compiler_InitAttr(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Log(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Elab_Util(uint8_t builtin, lean_object* w) { lean_object * res; @@ -4688,13 +4681,7 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Util_Trace(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Parser_Syntax(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Parser_Extension(builtin, lean_io_mk_world()); +res = initialize_Lean_Parser_Command(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_KeyedDeclsAttribute(builtin, lean_io_mk_world()); @@ -4703,21 +4690,6 @@ lean_dec_ref(res); res = initialize_Lean_Elab_Exception(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Elab_InfoTree(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_DocString(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_DeclarationRange(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Compiler_InitAttr(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Log(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); l_Lean_Elab_expandOptNamedPrio___closed__1 = _init_l_Lean_Elab_expandOptNamedPrio___closed__1(); lean_mark_persistent(l_Lean_Elab_expandOptNamedPrio___closed__1); l_Lean_Elab_expandOptNamedPrio___closed__2 = _init_l_Lean_Elab_expandOptNamedPrio___closed__2(); diff --git a/stage0/stdlib/Lean/Expr.c b/stage0/stdlib/Lean/Expr.c index 87a73abe44..40854c3881 100644 --- a/stage0/stdlib/Lean/Expr.c +++ b/stage0/stdlib/Lean/Expr.c @@ -478,6 +478,7 @@ lean_object* lean_expr_abstract_range(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at_Lean_Expr_constLevels_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_getArg_x21___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Expr_bindingDomain_x21___closed__1; +lean_object* l_panic___at_String_toNat_x21___spec__1(lean_object*); static lean_object* l_Lean_mkInaccessible___closed__2; LEAN_EXPORT lean_object* l_Lean_isLHSGoal_x3f___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_sort___override(lean_object*); @@ -760,7 +761,6 @@ static lean_object* l___private_Lean_Expr_0__Lean_reprExpr____x40_Lean_Expr___hy LEAN_EXPORT lean_object* l_Lean_Expr_app___override(lean_object*, lean_object*); static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Expr___hyg_391____closed__11; static lean_object* l_Lean_Expr_mkData___closed__4; -lean_object* l_panic___at_Lean_TSyntax_getNat___spec__1(lean_object*); LEAN_EXPORT lean_object* lean_expr_mk_sort(lean_object*); LEAN_EXPORT lean_object* l_Lean_Literal_hash___boxed(lean_object*); lean_object* l_Lean_KVMap_findCore(lean_object*, lean_object*); @@ -10340,7 +10340,7 @@ else { lean_object* x_3; lean_object* x_4; x_3 = l_Lean_Expr_bvarIdx_x21___closed__3; -x_4 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_3); +x_4 = l_panic___at_String_toNat_x21___spec__1(x_3); return x_4; } } @@ -11095,7 +11095,7 @@ else { lean_object* x_3; lean_object* x_4; x_3 = l_Lean_Expr_projIdx_x21___closed__2; -x_4 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_3); +x_4 = l_panic___at_String_toNat_x21___spec__1(x_3); return x_4; } } diff --git a/stage0/stdlib/Lean/KeyedDeclsAttribute.c b/stage0/stdlib/Lean/KeyedDeclsAttribute.c index d75fb798bd..798eb8b0c0 100644 --- a/stage0/stdlib/Lean/KeyedDeclsAttribute.c +++ b/stage0/stdlib/Lean/KeyedDeclsAttribute.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.KeyedDeclsAttribute -// Imports: Init Lean.Attributes Lean.Compiler.InitAttr Lean.ToExpr Lean.ScopedEnvExtension Lean.Compiler.IR.CompilerM +// Imports: Init Lean.Compiler.InitAttr Lean.ScopedEnvExtension Lean.Compiler.IR.CompilerM #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -42,7 +42,6 @@ LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at___private_Lean_KeyedDecls lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); static lean_object* l_Lean_KeyedDeclsAttribute_init___rarg___lambda__9___closed__1; static lean_object* l_Lean_KeyedDeclsAttribute_init___rarg___lambda__9___closed__8; -lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_mkModuleData___spec__3___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_KeyedDeclsAttribute_getEntries___spec__8(lean_object*); lean_object* l_Lean_throwError___at_Lean_registerTagAttribute___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_KeyedDeclsAttribute_init___rarg___closed__4; @@ -189,6 +188,7 @@ static lean_object* l_Lean_KeyedDeclsAttribute_ExtensionState_erase___rarg___clo LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_KeyedDeclsAttribute_getEntries___spec__9___rarg(lean_object*, lean_object*); size_t lean_usize_shift_left(size_t, size_t); LEAN_EXPORT lean_object* l_Lean_KeyedDeclsAttribute_getValues___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_MetavarContext_getExprAssignmentDomain___spec__2___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at___private_Lean_KeyedDeclsAttribute_0__Lean_KeyedDeclsAttribute_Table_insert___spec__30___rarg(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_KeyedDeclsAttribute_init___rarg___lambda__9___closed__10; static lean_object* l_Std_PersistentHashMap_insertAux___at___private_Lean_KeyedDeclsAttribute_0__Lean_KeyedDeclsAttribute_Table_insert___spec__13___rarg___closed__1; @@ -4129,7 +4129,7 @@ lean_object* x_4; lean_object* x_5; x_4 = lean_ctor_get(x_1, 0); lean_inc(x_4); lean_dec(x_1); -x_5 = l_Std_PersistentHashMap_foldlMAux___at_Lean_mkModuleData___spec__3___rarg(x_2, x_4, x_3); +x_5 = l_Std_PersistentHashMap_foldlMAux___at_Lean_MetavarContext_getExprAssignmentDomain___spec__2___rarg(x_2, x_4, x_3); return x_5; } } @@ -4148,7 +4148,7 @@ lean_object* x_4; lean_object* x_5; x_4 = lean_ctor_get(x_1, 0); lean_inc(x_4); lean_dec(x_1); -x_5 = l_Std_PersistentHashMap_foldlMAux___at_Lean_mkModuleData___spec__3___rarg(x_2, x_4, x_3); +x_5 = l_Std_PersistentHashMap_foldlMAux___at_Lean_MetavarContext_getExprAssignmentDomain___spec__2___rarg(x_2, x_4, x_3); return x_5; } } @@ -4199,7 +4199,7 @@ lean_object* x_4; lean_object* x_5; x_4 = lean_ctor_get(x_1, 0); lean_inc(x_4); lean_dec(x_1); -x_5 = l_Std_PersistentHashMap_foldlMAux___at_Lean_mkModuleData___spec__3___rarg(x_2, x_4, x_3); +x_5 = l_Std_PersistentHashMap_foldlMAux___at_Lean_MetavarContext_getExprAssignmentDomain___spec__2___rarg(x_2, x_4, x_3); return x_5; } } @@ -7213,9 +7213,7 @@ return x_2; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Attributes(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Compiler_InitAttr(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_ToExpr(uint8_t builtin, lean_object*); lean_object* initialize_Lean_ScopedEnvExtension(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Compiler_IR_CompilerM(uint8_t builtin, lean_object*); static bool _G_initialized = false; @@ -7226,15 +7224,9 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Attributes(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Compiler_InitAttr(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_ToExpr(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_ScopedEnvExtension(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Linter/MissingDocs.c b/stage0/stdlib/Lean/Linter/MissingDocs.c index 13179261b6..1cdc744356 100644 --- a/stage0/stdlib/Lean/Linter/MissingDocs.c +++ b/stage0/stdlib/Lean/Linter/MissingDocs.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Linter.MissingDocs -// Imports: Init Lean.Linter.Util +// Imports: Init Lean.Meta.Tactic.Simp.SimpTheorems Lean.Elab.SetOption Lean.Linter.Util #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -453,8 +453,8 @@ LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_lintField(lean_object*, lean_ LEAN_EXPORT lean_object* l_Std_mkHashSet___at_Lean_Linter_MissingDocs_checkDecl___spec__10(lean_object*); static lean_object* l_Lean_Linter_MissingDocs_mkHandlerUnsafe___closed__5; static lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____closed__2; +lean_object* l_Lean_Syntax_getAtomVal(lean_object*); uint8_t l_List_isEmpty___rarg(lean_object*); -lean_object* l_Lean_Syntax_getAtomVal_x21(lean_object*); lean_object* lean_usize_to_nat(size_t); lean_object* l_Std_instInhabitedPersistentArrayNode(lean_object*); lean_object* l_Lean_mkAppB(lean_object*, lean_object*, lean_object*); @@ -6395,7 +6395,7 @@ lean_dec(x_23); x_26 = l_Lean_Syntax_getArg(x_1, x_24); x_27 = l_Lean_Syntax_getArg(x_26, x_5); lean_dec(x_26); -x_28 = l_Lean_Syntax_getAtomVal_x21(x_27); +x_28 = l_Lean_Syntax_getAtomVal(x_27); lean_dec(x_27); x_29 = l_Lean_Linter_MissingDocs_lintNamed(x_25, x_28, x_2, x_3, x_4); lean_dec(x_28); @@ -6409,7 +6409,7 @@ lean_dec(x_21); x_30 = lean_unsigned_to_nat(3u); x_31 = l_Lean_Syntax_getArg(x_1, x_30); x_32 = l_Lean_Syntax_getArg(x_31, x_5); -x_33 = l_Lean_Syntax_getAtomVal_x21(x_32); +x_33 = l_Lean_Syntax_getAtomVal(x_32); lean_dec(x_32); x_34 = l_Lean_Linter_MissingDocs_lint(x_31, x_33, x_2, x_3, x_4); lean_dec(x_33); @@ -8682,6 +8682,8 @@ return x_4; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Meta_Tactic_Simp_SimpTheorems(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Elab_SetOption(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Linter_Util(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Linter_MissingDocs(uint8_t builtin, lean_object* w) { @@ -8691,6 +8693,12 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Meta_Tactic_Simp_SimpTheorems(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Elab_SetOption(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); res = initialize_Lean_Linter_Util(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Linter/UnusedVariables.c b/stage0/stdlib/Lean/Linter/UnusedVariables.c index ef1cf3e52f..097f1261b2 100644 --- a/stage0/stdlib/Lean/Linter/UnusedVariables.c +++ b/stage0/stdlib/Lean/Linter/UnusedVariables.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Linter.UnusedVariables -// Imports: Init Lean.Elab.Command Lean.Linter.Util Lean.Elab.InfoTree Lean.Server.InfoUtils Lean.Server.References Lean.Data.HashMap +// Imports: Init Lean.Linter.Util Lean.Server.References #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -35,7 +35,6 @@ lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); lean_object* l_Std_HashMapImp_find_x3f___at_Lean_ForEachExpr_visit___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_1885____lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Linter_getUnusedVariablesIgnoreFnsImpl___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_mkModuleData___spec__3___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_userName(lean_object*); static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_463____lambda__1___closed__7; lean_object* l_Lean_throwError___at_Lean_registerTagAttribute___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); @@ -56,6 +55,7 @@ static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hy static lean_object* l_Array_anyMUnsafe_any___at_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_545____spec__3___closed__2; static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_1885____closed__9; LEAN_EXPORT lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_1475____lambda__1___boxed(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Linter_getUnusedVariablesIgnoreFnsImpl___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_HashMapImp_contains___at_Lean_Linter_unusedVariables___spec__15___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Linter_getUnusedVariablesIgnoreFnsImpl___spec__3(lean_object*); lean_object* lean_array_uset(lean_object*, size_t, lean_object*); @@ -88,7 +88,6 @@ LEAN_EXPORT uint8_t l_List_foldr___at_Lean_Linter_initFn____x40_Lean_Linter_Unus LEAN_EXPORT lean_object* l_Std_mkHashSet___at_Lean_Linter_unusedVariables___spec__2(lean_object*); static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_545____lambda__5___closed__3; uint8_t lean_name_eq(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Linter_getUnusedVariablesIgnoreFnsImpl___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_Linter_unusedVariables___spec__9___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_293____lambda__1___closed__4; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Linter_unusedVariables___spec__20___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -146,6 +145,7 @@ static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hy lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_293____lambda__1___boxed(lean_object*, lean_object*, lean_object*); uint8_t l_String_Range_includes(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Linter_unusedVariables___spec__26(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_225____lambda__1___closed__9; static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_1507____closed__1; static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_259____closed__1; @@ -231,7 +231,6 @@ static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hy static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_293____lambda__1___closed__2; static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_1475____lambda__1___closed__3; LEAN_EXPORT lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_1767____lambda__1___boxed(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Linter_unusedVariables___spec__26(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Linter_unusedVariables_skipDeclIdIfPresent(lean_object*); LEAN_EXPORT lean_object* l_Lean_Linter_collectMacroExpansions_x3f_go___at_Lean_Linter_unusedVariables___spec__22___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_HashSetImp_insert___at_Lean_MVarId_getNondepPropHyps___spec__2(lean_object*, lean_object*); @@ -260,6 +259,7 @@ static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hy lean_object* l_Lean_SimplePersistentEnvExtension_getEntries___rarg(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_1507____lambda__1___closed__1; static lean_object* l_Lean_Linter_unusedVariables_skipDeclIdIfPresent___closed__1; +lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_MetavarContext_getExprAssignmentDomain___spec__2___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_1885____lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_1885____lambda__1___closed__1; LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Linter_unusedVariables___spec__32___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -4721,226 +4721,139 @@ x_2 = lean_alloc_closure((void*)(l_Lean_evalConstCheck___at_Lean_Linter_getUnuse return x_2; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Linter_getUnusedVariablesIgnoreFnsImpl___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Linter_getUnusedVariablesIgnoreFnsImpl___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) { _start: { if (lean_obj_tag(x_2) == 0) { -lean_object* x_6; lean_object* x_7; +lean_object* x_7; lean_object* x_8; +lean_dec(x_5); lean_dec(x_4); -lean_dec(x_3); lean_dec(x_1); -x_6 = lean_box(0); -x_7 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_7, 0, x_6); -lean_ctor_set(x_7, 1, x_5); -return x_7; +x_7 = l_List_reverse___rarg(x_3); +x_8 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_6); +return x_8; } else { -uint8_t x_8; -x_8 = !lean_is_exclusive(x_2); -if (x_8 == 0) +uint8_t x_9; +x_9 = !lean_is_exclusive(x_2); +if (x_9 == 0) { -lean_object* x_9; lean_object* x_10; lean_object* x_11; -x_9 = lean_ctor_get(x_2, 0); -x_10 = lean_ctor_get(x_2, 1); +lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_10 = lean_ctor_get(x_2, 0); +x_11 = lean_ctor_get(x_2, 1); +lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); lean_inc(x_1); -x_11 = l_Lean_evalConstCheck___at_Lean_Linter_getUnusedVariablesIgnoreFnsImpl___spec__1___rarg(x_1, x_9, x_3, x_4, x_5); -if (lean_obj_tag(x_11) == 0) +x_12 = l_Lean_evalConstCheck___at_Lean_Linter_getUnusedVariablesIgnoreFnsImpl___spec__1___rarg(x_1, x_10, x_4, x_5, x_6); +if (lean_obj_tag(x_12) == 0) { -lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_12 = lean_ctor_get(x_11, 0); -lean_inc(x_12); -x_13 = lean_ctor_get(x_11, 1); +lean_object* x_13; lean_object* x_14; +x_13 = lean_ctor_get(x_12, 0); lean_inc(x_13); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_13); +{ +lean_object* _tmp_1 = x_11; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_5 = x_14; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_6 = _tmp_5; +} +goto _start; +} +else +{ +uint8_t x_16; +lean_free_object(x_2); lean_dec(x_11); -x_14 = l_List_mapM___at_Lean_Linter_getUnusedVariablesIgnoreFnsImpl___spec__4(x_1, x_10, x_3, x_4, x_13); -if (lean_obj_tag(x_14) == 0) +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_16 = !lean_is_exclusive(x_12); +if (x_16 == 0) { -uint8_t x_15; -x_15 = !lean_is_exclusive(x_14); -if (x_15 == 0) -{ -lean_object* x_16; -x_16 = lean_ctor_get(x_14, 0); -lean_ctor_set(x_2, 1, x_16); -lean_ctor_set(x_2, 0, x_12); -lean_ctor_set(x_14, 0, x_2); -return x_14; +return x_12; } else { lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_17 = lean_ctor_get(x_14, 0); -x_18 = lean_ctor_get(x_14, 1); +x_17 = lean_ctor_get(x_12, 0); +x_18 = lean_ctor_get(x_12, 1); lean_inc(x_18); lean_inc(x_17); -lean_dec(x_14); -lean_ctor_set(x_2, 1, x_17); -lean_ctor_set(x_2, 0, x_12); -x_19 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_19, 0, x_2); +lean_dec(x_12); +x_19 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_19, 0, x_17); lean_ctor_set(x_19, 1, x_18); return x_19; } } -else -{ -uint8_t x_20; -lean_dec(x_12); -lean_free_object(x_2); -x_20 = !lean_is_exclusive(x_14); -if (x_20 == 0) -{ -return x_14; } else { -lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_21 = lean_ctor_get(x_14, 0); -x_22 = lean_ctor_get(x_14, 1); -lean_inc(x_22); +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_2, 0); +x_21 = lean_ctor_get(x_2, 1); lean_inc(x_21); -lean_dec(x_14); -x_23 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_23, 0, x_21); -lean_ctor_set(x_23, 1, x_22); -return x_23; -} -} -} -else -{ -uint8_t x_24; -lean_free_object(x_2); -lean_dec(x_10); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_24 = !lean_is_exclusive(x_11); -if (x_24 == 0) -{ -return x_11; -} -else -{ -lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = lean_ctor_get(x_11, 0); -x_26 = lean_ctor_get(x_11, 1); -lean_inc(x_26); -lean_inc(x_25); -lean_dec(x_11); -x_27 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_27, 0, x_25); -lean_ctor_set(x_27, 1, x_26); -return x_27; -} -} -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_2, 0); -x_29 = lean_ctor_get(x_2, 1); -lean_inc(x_29); -lean_inc(x_28); +lean_inc(x_20); lean_dec(x_2); +lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); lean_inc(x_1); -x_30 = l_Lean_evalConstCheck___at_Lean_Linter_getUnusedVariablesIgnoreFnsImpl___spec__1___rarg(x_1, x_28, x_3, x_4, x_5); -if (lean_obj_tag(x_30) == 0) +x_22 = l_Lean_evalConstCheck___at_Lean_Linter_getUnusedVariablesIgnoreFnsImpl___spec__1___rarg(x_1, x_20, x_4, x_5, x_6); +if (lean_obj_tag(x_22) == 0) { -lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_31 = lean_ctor_get(x_30, 0); -lean_inc(x_31); -x_32 = lean_ctor_get(x_30, 1); -lean_inc(x_32); -lean_dec(x_30); -x_33 = l_List_mapM___at_Lean_Linter_getUnusedVariablesIgnoreFnsImpl___spec__4(x_1, x_29, x_3, x_4, x_32); -if (lean_obj_tag(x_33) == 0) -{ -lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_34 = lean_ctor_get(x_33, 0); -lean_inc(x_34); -x_35 = lean_ctor_get(x_33, 1); -lean_inc(x_35); -if (lean_is_exclusive(x_33)) { - lean_ctor_release(x_33, 0); - lean_ctor_release(x_33, 1); - x_36 = x_33; -} else { - lean_dec_ref(x_33); - x_36 = lean_box(0); -} -x_37 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_37, 0, x_31); -lean_ctor_set(x_37, 1, x_34); -if (lean_is_scalar(x_36)) { - x_38 = lean_alloc_ctor(0, 2, 0); -} else { - x_38 = x_36; -} -lean_ctor_set(x_38, 0, x_37); -lean_ctor_set(x_38, 1, x_35); -return x_38; +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_22, 0); +lean_inc(x_23); +x_24 = lean_ctor_get(x_22, 1); +lean_inc(x_24); +lean_dec(x_22); +x_25 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_3); +x_2 = x_21; +x_3 = x_25; +x_6 = x_24; +goto _start; } else { -lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; -lean_dec(x_31); -x_39 = lean_ctor_get(x_33, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_33, 1); -lean_inc(x_40); -if (lean_is_exclusive(x_33)) { - lean_ctor_release(x_33, 0); - lean_ctor_release(x_33, 1); - x_41 = x_33; -} else { - lean_dec_ref(x_33); - x_41 = lean_box(0); -} -if (lean_is_scalar(x_41)) { - x_42 = lean_alloc_ctor(1, 2, 0); -} else { - x_42 = x_41; -} -lean_ctor_set(x_42, 0, x_39); -lean_ctor_set(x_42, 1, x_40); -return x_42; -} -} -else -{ -lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; -lean_dec(x_29); +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +lean_dec(x_21); +lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_43 = lean_ctor_get(x_30, 0); -lean_inc(x_43); -x_44 = lean_ctor_get(x_30, 1); -lean_inc(x_44); -if (lean_is_exclusive(x_30)) { - lean_ctor_release(x_30, 0); - lean_ctor_release(x_30, 1); - x_45 = x_30; +x_27 = lean_ctor_get(x_22, 0); +lean_inc(x_27); +x_28 = lean_ctor_get(x_22, 1); +lean_inc(x_28); +if (lean_is_exclusive(x_22)) { + lean_ctor_release(x_22, 0); + lean_ctor_release(x_22, 1); + x_29 = x_22; } else { - lean_dec_ref(x_30); - x_45 = lean_box(0); + lean_dec_ref(x_22); + x_29 = lean_box(0); } -if (lean_is_scalar(x_45)) { - x_46 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_29)) { + x_30 = lean_alloc_ctor(1, 2, 0); } else { - x_46 = x_45; + x_30 = x_29; } -lean_ctor_set(x_46, 0, x_43); -lean_ctor_set(x_46, 1, x_44); -return x_46; +lean_ctor_set(x_30, 0, x_27); +lean_ctor_set(x_30, 1, x_28); +return x_30; } } } @@ -4959,7 +4872,7 @@ return x_3; LEAN_EXPORT lean_object* l_Lean_Linter_getUnusedVariablesIgnoreFnsImpl(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_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; x_4 = lean_st_ref_get(x_2, x_3); x_5 = lean_ctor_get(x_4, 0); lean_inc(x_5); @@ -4973,62 +4886,63 @@ x_8 = l_instInhabitedPUnit; x_9 = l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_1885____lambda__1___closed__1; x_10 = l_Lean_SimplePersistentEnvExtension_getEntries___rarg(x_8, x_9, x_7); lean_dec(x_7); -x_11 = l_Lean_Linter_getUnusedVariablesIgnoreFnsImpl___closed__1; -x_12 = l_List_mapM___at_Lean_Linter_getUnusedVariablesIgnoreFnsImpl___spec__4(x_11, x_10, x_1, x_2, x_6); -if (lean_obj_tag(x_12) == 0) +x_11 = lean_box(0); +x_12 = l_Lean_Linter_getUnusedVariablesIgnoreFnsImpl___closed__1; +x_13 = l_List_mapM_loop___at_Lean_Linter_getUnusedVariablesIgnoreFnsImpl___spec__4(x_12, x_10, x_11, x_1, x_2, x_6); +if (lean_obj_tag(x_13) == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; +x_14 = lean_ctor_get(x_13, 0); lean_inc(x_14); -lean_dec(x_12); -x_15 = l_Lean_Linter_addBuiltinUnusedVariablesIgnoreFn___closed__1; -x_16 = lean_st_ref_get(x_15, x_14); -x_17 = !lean_is_exclusive(x_16); -if (x_17 == 0) +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +x_16 = l_Lean_Linter_addBuiltinUnusedVariablesIgnoreFn___closed__1; +x_17 = lean_st_ref_get(x_16, x_15); +x_18 = !lean_is_exclusive(x_17); +if (x_18 == 0) { -lean_object* x_18; lean_object* x_19; -x_18 = lean_ctor_get(x_16, 0); -x_19 = l_List_foldl___at_Array_appendList___spec__1___rarg(x_18, x_13); -lean_ctor_set(x_16, 0, x_19); -return x_16; +lean_object* x_19; lean_object* x_20; +x_19 = lean_ctor_get(x_17, 0); +x_20 = l_List_foldl___at_Array_appendList___spec__1___rarg(x_19, x_14); +lean_ctor_set(x_17, 0, x_20); +return x_17; } else { -lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_20 = lean_ctor_get(x_16, 0); -x_21 = lean_ctor_get(x_16, 1); +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_21 = lean_ctor_get(x_17, 0); +x_22 = lean_ctor_get(x_17, 1); +lean_inc(x_22); lean_inc(x_21); -lean_inc(x_20); -lean_dec(x_16); -x_22 = l_List_foldl___at_Array_appendList___spec__1___rarg(x_20, x_13); -x_23 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_23, 0, x_22); -lean_ctor_set(x_23, 1, x_21); -return x_23; +lean_dec(x_17); +x_23 = l_List_foldl___at_Array_appendList___spec__1___rarg(x_21, x_14); +x_24 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_24, 0, x_23); +lean_ctor_set(x_24, 1, x_22); +return x_24; } } else { -uint8_t x_24; -x_24 = !lean_is_exclusive(x_12); -if (x_24 == 0) +uint8_t x_25; +x_25 = !lean_is_exclusive(x_13); +if (x_25 == 0) { -return x_12; +return x_13; } else { -lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = lean_ctor_get(x_12, 0); -x_26 = lean_ctor_get(x_12, 1); +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_13, 0); +x_27 = lean_ctor_get(x_13, 1); +lean_inc(x_27); lean_inc(x_26); -lean_inc(x_25); -lean_dec(x_12); -x_27 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_27, 0, x_25); -lean_ctor_set(x_27, 1, x_26); -return x_27; +lean_dec(x_13); +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; } } } @@ -6046,7 +5960,7 @@ lean_object* x_4; lean_object* x_5; x_4 = lean_ctor_get(x_1, 0); lean_inc(x_4); lean_dec(x_1); -x_5 = l_Std_PersistentHashMap_foldlMAux___at_Lean_mkModuleData___spec__3___rarg(x_2, x_4, x_3); +x_5 = l_Std_PersistentHashMap_foldlMAux___at_Lean_MetavarContext_getExprAssignmentDomain___spec__2___rarg(x_2, x_4, x_3); return x_5; } } @@ -7586,236 +7500,149 @@ x_7 = lean_apply_3(x_6, x_2, x_3, x_4); return x_7; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Linter_unusedVariables___spec__26(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Linter_unusedVariables___spec__26(lean_object* x_1, lean_object* x_2, 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_4) == 0) { -lean_object* x_8; lean_object* x_9; +lean_object* x_9; lean_object* x_10; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_9 = l_List_reverse___rarg(x_5); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_9); +lean_ctor_set(x_10, 1, x_8); +return x_10; +} +else +{ +uint8_t x_11; +x_11 = !lean_is_exclusive(x_4); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_4, 0); +x_13 = lean_ctor_get(x_4, 1); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_1); +x_14 = l_Lean_Elab_InfoTree_visitM_go___at_Lean_Linter_unusedVariables___spec__24(x_1, x_2, x_3, x_12, x_6, x_7, x_8); +if (lean_obj_tag(x_14) == 0) +{ +lean_object* x_15; lean_object* x_16; +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); +lean_ctor_set(x_4, 1, x_5); +lean_ctor_set(x_4, 0, x_15); +{ +lean_object* _tmp_3 = x_13; +lean_object* _tmp_4 = x_4; +lean_object* _tmp_7 = x_16; +x_4 = _tmp_3; +x_5 = _tmp_4; +x_8 = _tmp_7; +} +goto _start; +} +else +{ +uint8_t x_18; +lean_free_object(x_4); +lean_dec(x_13); +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_8 = lean_box(0); -x_9 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_9, 0, x_8); -lean_ctor_set(x_9, 1, x_7); -return x_9; -} -else +x_18 = !lean_is_exclusive(x_14); +if (x_18 == 0) { -uint8_t x_10; -x_10 = !lean_is_exclusive(x_4); -if (x_10 == 0) -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_11 = lean_ctor_get(x_4, 0); -x_12 = lean_ctor_get(x_4, 1); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_13 = l_Lean_Elab_InfoTree_visitM_go___at_Lean_Linter_unusedVariables___spec__24(x_1, x_2, x_3, x_11, x_5, x_6, x_7); -if (lean_obj_tag(x_13) == 0) -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_14 = lean_ctor_get(x_13, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_13, 1); -lean_inc(x_15); -lean_dec(x_13); -x_16 = l_List_mapM___at_Lean_Linter_unusedVariables___spec__26(x_1, x_2, x_3, x_12, x_5, x_6, x_15); -if (lean_obj_tag(x_16) == 0) -{ -uint8_t x_17; -x_17 = !lean_is_exclusive(x_16); -if (x_17 == 0) -{ -lean_object* x_18; -x_18 = lean_ctor_get(x_16, 0); -lean_ctor_set(x_4, 1, x_18); -lean_ctor_set(x_4, 0, x_14); -lean_ctor_set(x_16, 0, x_4); -return x_16; +return x_14; } else { lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_19 = lean_ctor_get(x_16, 0); -x_20 = lean_ctor_get(x_16, 1); +x_19 = lean_ctor_get(x_14, 0); +x_20 = lean_ctor_get(x_14, 1); lean_inc(x_20); lean_inc(x_19); -lean_dec(x_16); -lean_ctor_set(x_4, 1, x_19); -lean_ctor_set(x_4, 0, x_14); -x_21 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_21, 0, x_4); +lean_dec(x_14); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); lean_ctor_set(x_21, 1, x_20); return x_21; } } -else -{ -uint8_t x_22; -lean_dec(x_14); -lean_free_object(x_4); -x_22 = !lean_is_exclusive(x_16); -if (x_22 == 0) -{ -return x_16; } else { -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_16, 0); -x_24 = lean_ctor_get(x_16, 1); -lean_inc(x_24); +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_4, 0); +x_23 = lean_ctor_get(x_4, 1); lean_inc(x_23); -lean_dec(x_16); -x_25 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_25, 0, x_23); -lean_ctor_set(x_25, 1, x_24); -return x_25; -} -} -} -else -{ -uint8_t x_26; -lean_free_object(x_4); -lean_dec(x_12); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_26 = !lean_is_exclusive(x_13); -if (x_26 == 0) -{ -return x_13; -} -else -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_27 = lean_ctor_get(x_13, 0); -x_28 = lean_ctor_get(x_13, 1); -lean_inc(x_28); -lean_inc(x_27); -lean_dec(x_13); -x_29 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_29, 0, x_27); -lean_ctor_set(x_29, 1, x_28); -return x_29; -} -} -} -else -{ -lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_30 = lean_ctor_get(x_4, 0); -x_31 = lean_ctor_get(x_4, 1); -lean_inc(x_31); -lean_inc(x_30); +lean_inc(x_22); lean_dec(x_4); +lean_inc(x_7); lean_inc(x_6); -lean_inc(x_5); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_32 = l_Lean_Elab_InfoTree_visitM_go___at_Lean_Linter_unusedVariables___spec__24(x_1, x_2, x_3, x_30, x_5, x_6, x_7); -if (lean_obj_tag(x_32) == 0) +x_24 = l_Lean_Elab_InfoTree_visitM_go___at_Lean_Linter_unusedVariables___spec__24(x_1, x_2, x_3, x_22, x_6, x_7, x_8); +if (lean_obj_tag(x_24) == 0) { -lean_object* x_33; lean_object* x_34; lean_object* x_35; -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_List_mapM___at_Lean_Linter_unusedVariables___spec__26(x_1, x_2, x_3, x_31, x_5, x_6, x_34); -if (lean_obj_tag(x_35) == 0) -{ -lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_36 = lean_ctor_get(x_35, 0); -lean_inc(x_36); -x_37 = lean_ctor_get(x_35, 1); -lean_inc(x_37); -if (lean_is_exclusive(x_35)) { - lean_ctor_release(x_35, 0); - lean_ctor_release(x_35, 1); - x_38 = x_35; -} else { - lean_dec_ref(x_35); - x_38 = lean_box(0); -} -x_39 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_39, 0, x_33); -lean_ctor_set(x_39, 1, x_36); -if (lean_is_scalar(x_38)) { - x_40 = lean_alloc_ctor(0, 2, 0); -} else { - x_40 = x_38; -} -lean_ctor_set(x_40, 0, x_39); -lean_ctor_set(x_40, 1, x_37); -return x_40; +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); +x_27 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_27, 0, x_25); +lean_ctor_set(x_27, 1, x_5); +x_4 = x_23; +x_5 = x_27; +x_8 = x_26; +goto _start; } else { -lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; -lean_dec(x_33); -x_41 = lean_ctor_get(x_35, 0); -lean_inc(x_41); -x_42 = lean_ctor_get(x_35, 1); -lean_inc(x_42); -if (lean_is_exclusive(x_35)) { - lean_ctor_release(x_35, 0); - lean_ctor_release(x_35, 1); - x_43 = x_35; -} else { - lean_dec_ref(x_35); - x_43 = lean_box(0); -} -if (lean_is_scalar(x_43)) { - x_44 = lean_alloc_ctor(1, 2, 0); -} else { - x_44 = x_43; -} -lean_ctor_set(x_44, 0, x_41); -lean_ctor_set(x_44, 1, x_42); -return x_44; -} -} -else -{ -lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; -lean_dec(x_31); +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +lean_dec(x_23); +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_45 = lean_ctor_get(x_32, 0); -lean_inc(x_45); -x_46 = lean_ctor_get(x_32, 1); -lean_inc(x_46); -if (lean_is_exclusive(x_32)) { - lean_ctor_release(x_32, 0); - lean_ctor_release(x_32, 1); - x_47 = x_32; +x_29 = lean_ctor_get(x_24, 0); +lean_inc(x_29); +x_30 = lean_ctor_get(x_24, 1); +lean_inc(x_30); +if (lean_is_exclusive(x_24)) { + lean_ctor_release(x_24, 0); + lean_ctor_release(x_24, 1); + x_31 = x_24; } else { - lean_dec_ref(x_32); - x_47 = lean_box(0); + lean_dec_ref(x_24); + x_31 = lean_box(0); } -if (lean_is_scalar(x_47)) { - x_48 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_31)) { + x_32 = lean_alloc_ctor(1, 2, 0); } else { - x_48 = x_47; + x_32 = x_31; } -lean_ctor_set(x_48, 0, x_45); -lean_ctor_set(x_48, 1, x_46); -return x_48; +lean_ctor_set(x_32, 0, x_29); +lean_ctor_set(x_32, 1, x_30); +return x_32; } } } @@ -7963,7 +7790,7 @@ lean_inc(x_26); x_29 = lean_apply_6(x_1, x_26, x_27, x_28, x_5, x_6, x_7); if (lean_obj_tag(x_29) == 0) { -lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; x_30 = lean_ctor_get(x_29, 1); lean_inc(x_30); lean_dec(x_29); @@ -7971,103 +7798,104 @@ lean_inc(x_26); x_31 = l_Lean_Elab_Info_updateContext_x3f(x_3, x_27); lean_inc(x_28); x_32 = l_Std_PersistentArray_toList___rarg(x_28); +x_33 = lean_box(0); lean_inc(x_6); lean_inc(x_5); lean_inc(x_2); -x_33 = l_List_mapM___at_Lean_Linter_unusedVariables___spec__26(x_1, x_2, x_31, x_32, x_5, x_6, x_30); -if (lean_obj_tag(x_33) == 0) +x_34 = l_List_mapM_loop___at_Lean_Linter_unusedVariables___spec__26(x_1, x_2, x_31, x_32, x_33, x_5, x_6, x_30); +if (lean_obj_tag(x_34) == 0) { -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_33, 0); -lean_inc(x_34); -x_35 = lean_ctor_get(x_33, 1); +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_34, 0); lean_inc(x_35); -lean_dec(x_33); -x_36 = lean_apply_7(x_2, x_26, x_27, x_28, x_34, x_5, x_6, x_35); -if (lean_obj_tag(x_36) == 0) +x_36 = lean_ctor_get(x_34, 1); +lean_inc(x_36); +lean_dec(x_34); +x_37 = lean_apply_7(x_2, x_26, x_27, x_28, x_35, x_5, x_6, x_36); +if (lean_obj_tag(x_37) == 0) { -uint8_t x_37; -x_37 = !lean_is_exclusive(x_36); -if (x_37 == 0) +uint8_t x_38; +x_38 = !lean_is_exclusive(x_37); +if (x_38 == 0) { -lean_object* x_38; lean_object* x_39; -x_38 = lean_ctor_get(x_36, 0); -x_39 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_36, 0, x_39); -return x_36; +lean_object* x_39; lean_object* x_40; +x_39 = lean_ctor_get(x_37, 0); +x_40 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_37, 0, x_40); +return x_37; } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_36, 0); -x_41 = lean_ctor_get(x_36, 1); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_41 = lean_ctor_get(x_37, 0); +x_42 = lean_ctor_get(x_37, 1); +lean_inc(x_42); lean_inc(x_41); -lean_inc(x_40); -lean_dec(x_36); -x_42 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_42, 0, x_40); -x_43 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_43, 0, x_42); -lean_ctor_set(x_43, 1, x_41); -return x_43; +lean_dec(x_37); +x_43 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_43, 0, x_41); +x_44 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_44, 0, x_43); +lean_ctor_set(x_44, 1, x_42); +return x_44; } } else { -uint8_t x_44; -x_44 = !lean_is_exclusive(x_36); -if (x_44 == 0) +uint8_t x_45; +x_45 = !lean_is_exclusive(x_37); +if (x_45 == 0) { -return x_36; +return x_37; } else { -lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_45 = lean_ctor_get(x_36, 0); -x_46 = lean_ctor_get(x_36, 1); +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_37, 0); +x_47 = lean_ctor_get(x_37, 1); +lean_inc(x_47); lean_inc(x_46); -lean_inc(x_45); -lean_dec(x_36); -x_47 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_47, 0, x_45); -lean_ctor_set(x_47, 1, x_46); -return x_47; +lean_dec(x_37); +x_48 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_47); +return x_48; } } } else { -uint8_t x_48; +uint8_t x_49; lean_dec(x_28); lean_dec(x_27); lean_dec(x_26); lean_dec(x_6); lean_dec(x_5); lean_dec(x_2); -x_48 = !lean_is_exclusive(x_33); -if (x_48 == 0) +x_49 = !lean_is_exclusive(x_34); +if (x_49 == 0) { -return x_33; +return x_34; } else { -lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_49 = lean_ctor_get(x_33, 0); -x_50 = lean_ctor_get(x_33, 1); +lean_object* x_50; lean_object* x_51; lean_object* x_52; +x_50 = lean_ctor_get(x_34, 0); +x_51 = lean_ctor_get(x_34, 1); +lean_inc(x_51); lean_inc(x_50); -lean_inc(x_49); -lean_dec(x_33); -x_51 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_51, 0, x_49); -lean_ctor_set(x_51, 1, x_50); -return x_51; +lean_dec(x_34); +x_52 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_52, 0, x_50); +lean_ctor_set(x_52, 1, x_51); +return x_52; } } } else { -uint8_t x_52; +uint8_t x_53; lean_dec(x_28); lean_dec(x_27); lean_free_object(x_3); @@ -8076,198 +7904,199 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_2); lean_dec(x_1); -x_52 = !lean_is_exclusive(x_29); -if (x_52 == 0) +x_53 = !lean_is_exclusive(x_29); +if (x_53 == 0) { return x_29; } else { -lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_53 = lean_ctor_get(x_29, 0); -x_54 = lean_ctor_get(x_29, 1); +lean_object* x_54; lean_object* x_55; lean_object* x_56; +x_54 = lean_ctor_get(x_29, 0); +x_55 = lean_ctor_get(x_29, 1); +lean_inc(x_55); lean_inc(x_54); -lean_inc(x_53); lean_dec(x_29); -x_55 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_55, 0, x_53); -lean_ctor_set(x_55, 1, x_54); -return x_55; +x_56 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_56, 0, x_54); +lean_ctor_set(x_56, 1, x_55); +return x_56; } } } else { -lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; -x_56 = lean_ctor_get(x_3, 0); -lean_inc(x_56); -lean_dec(x_3); -x_57 = lean_ctor_get(x_4, 0); +lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_57 = lean_ctor_get(x_3, 0); lean_inc(x_57); -x_58 = lean_ctor_get(x_4, 1); +lean_dec(x_3); +x_58 = lean_ctor_get(x_4, 0); lean_inc(x_58); +x_59 = lean_ctor_get(x_4, 1); +lean_inc(x_59); lean_dec(x_4); lean_inc(x_1); lean_inc(x_6); lean_inc(x_5); +lean_inc(x_59); lean_inc(x_58); lean_inc(x_57); -lean_inc(x_56); -x_59 = lean_apply_6(x_1, x_56, x_57, x_58, x_5, x_6, x_7); -if (lean_obj_tag(x_59) == 0) +x_60 = lean_apply_6(x_1, x_57, x_58, x_59, x_5, x_6, x_7); +if (lean_obj_tag(x_60) == 0) { -lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; -x_60 = lean_ctor_get(x_59, 1); -lean_inc(x_60); -lean_dec(x_59); -lean_inc(x_56); -x_61 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_61, 0, x_56); -x_62 = l_Lean_Elab_Info_updateContext_x3f(x_61, x_57); -lean_inc(x_58); -x_63 = l_Std_PersistentArray_toList___rarg(x_58); +lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; +x_61 = lean_ctor_get(x_60, 1); +lean_inc(x_61); +lean_dec(x_60); +lean_inc(x_57); +x_62 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_62, 0, x_57); +x_63 = l_Lean_Elab_Info_updateContext_x3f(x_62, x_58); +lean_inc(x_59); +x_64 = l_Std_PersistentArray_toList___rarg(x_59); +x_65 = lean_box(0); lean_inc(x_6); lean_inc(x_5); lean_inc(x_2); -x_64 = l_List_mapM___at_Lean_Linter_unusedVariables___spec__26(x_1, x_2, x_62, x_63, x_5, x_6, x_60); -if (lean_obj_tag(x_64) == 0) +x_66 = l_List_mapM_loop___at_Lean_Linter_unusedVariables___spec__26(x_1, x_2, x_63, x_64, x_65, x_5, x_6, x_61); +if (lean_obj_tag(x_66) == 0) { -lean_object* x_65; lean_object* x_66; lean_object* x_67; -x_65 = lean_ctor_get(x_64, 0); -lean_inc(x_65); -x_66 = lean_ctor_get(x_64, 1); -lean_inc(x_66); -lean_dec(x_64); -x_67 = lean_apply_7(x_2, x_56, x_57, x_58, x_65, x_5, x_6, x_66); -if (lean_obj_tag(x_67) == 0) -{ -lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; -x_68 = lean_ctor_get(x_67, 0); +lean_object* x_67; lean_object* x_68; lean_object* x_69; +x_67 = lean_ctor_get(x_66, 0); +lean_inc(x_67); +x_68 = lean_ctor_get(x_66, 1); lean_inc(x_68); -x_69 = lean_ctor_get(x_67, 1); -lean_inc(x_69); -if (lean_is_exclusive(x_67)) { - lean_ctor_release(x_67, 0); - lean_ctor_release(x_67, 1); - x_70 = x_67; +lean_dec(x_66); +x_69 = lean_apply_7(x_2, x_57, x_58, x_59, x_67, x_5, x_6, x_68); +if (lean_obj_tag(x_69) == 0) +{ +lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; +x_70 = lean_ctor_get(x_69, 0); +lean_inc(x_70); +x_71 = lean_ctor_get(x_69, 1); +lean_inc(x_71); +if (lean_is_exclusive(x_69)) { + lean_ctor_release(x_69, 0); + lean_ctor_release(x_69, 1); + x_72 = x_69; } else { - lean_dec_ref(x_67); - x_70 = lean_box(0); + lean_dec_ref(x_69); + x_72 = lean_box(0); } -x_71 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_71, 0, x_68); -if (lean_is_scalar(x_70)) { - x_72 = lean_alloc_ctor(0, 2, 0); +x_73 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_73, 0, x_70); +if (lean_is_scalar(x_72)) { + x_74 = lean_alloc_ctor(0, 2, 0); } else { - x_72 = x_70; + x_74 = x_72; } -lean_ctor_set(x_72, 0, x_71); -lean_ctor_set(x_72, 1, x_69); -return x_72; +lean_ctor_set(x_74, 0, x_73); +lean_ctor_set(x_74, 1, x_71); +return x_74; } else { -lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; -x_73 = lean_ctor_get(x_67, 0); -lean_inc(x_73); -x_74 = lean_ctor_get(x_67, 1); -lean_inc(x_74); -if (lean_is_exclusive(x_67)) { - lean_ctor_release(x_67, 0); - lean_ctor_release(x_67, 1); - x_75 = x_67; +lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; +x_75 = lean_ctor_get(x_69, 0); +lean_inc(x_75); +x_76 = lean_ctor_get(x_69, 1); +lean_inc(x_76); +if (lean_is_exclusive(x_69)) { + lean_ctor_release(x_69, 0); + lean_ctor_release(x_69, 1); + x_77 = x_69; } else { - lean_dec_ref(x_67); - x_75 = lean_box(0); + lean_dec_ref(x_69); + x_77 = lean_box(0); } -if (lean_is_scalar(x_75)) { - x_76 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_77)) { + x_78 = lean_alloc_ctor(1, 2, 0); } else { - x_76 = x_75; + x_78 = x_77; } -lean_ctor_set(x_76, 0, x_73); -lean_ctor_set(x_76, 1, x_74); -return x_76; +lean_ctor_set(x_78, 0, x_75); +lean_ctor_set(x_78, 1, x_76); +return x_78; } } else { -lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; +lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; +lean_dec(x_59); lean_dec(x_58); lean_dec(x_57); -lean_dec(x_56); lean_dec(x_6); lean_dec(x_5); lean_dec(x_2); -x_77 = lean_ctor_get(x_64, 0); -lean_inc(x_77); -x_78 = lean_ctor_get(x_64, 1); -lean_inc(x_78); -if (lean_is_exclusive(x_64)) { - lean_ctor_release(x_64, 0); - lean_ctor_release(x_64, 1); - x_79 = x_64; +x_79 = lean_ctor_get(x_66, 0); +lean_inc(x_79); +x_80 = lean_ctor_get(x_66, 1); +lean_inc(x_80); +if (lean_is_exclusive(x_66)) { + lean_ctor_release(x_66, 0); + lean_ctor_release(x_66, 1); + x_81 = x_66; } else { - lean_dec_ref(x_64); - x_79 = lean_box(0); + lean_dec_ref(x_66); + x_81 = lean_box(0); } -if (lean_is_scalar(x_79)) { - x_80 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_81)) { + x_82 = lean_alloc_ctor(1, 2, 0); } else { - x_80 = x_79; + x_82 = x_81; } -lean_ctor_set(x_80, 0, x_77); -lean_ctor_set(x_80, 1, x_78); -return x_80; +lean_ctor_set(x_82, 0, x_79); +lean_ctor_set(x_82, 1, x_80); +return x_82; } } else { -lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; +lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; +lean_dec(x_59); lean_dec(x_58); lean_dec(x_57); -lean_dec(x_56); lean_dec(x_6); lean_dec(x_5); lean_dec(x_2); lean_dec(x_1); -x_81 = lean_ctor_get(x_59, 0); -lean_inc(x_81); -x_82 = lean_ctor_get(x_59, 1); -lean_inc(x_82); -if (lean_is_exclusive(x_59)) { - lean_ctor_release(x_59, 0); - lean_ctor_release(x_59, 1); - x_83 = x_59; +x_83 = lean_ctor_get(x_60, 0); +lean_inc(x_83); +x_84 = lean_ctor_get(x_60, 1); +lean_inc(x_84); +if (lean_is_exclusive(x_60)) { + lean_ctor_release(x_60, 0); + lean_ctor_release(x_60, 1); + x_85 = x_60; } else { - lean_dec_ref(x_59); - x_83 = lean_box(0); + lean_dec_ref(x_60); + x_85 = lean_box(0); } -if (lean_is_scalar(x_83)) { - x_84 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_85)) { + x_86 = lean_alloc_ctor(1, 2, 0); } else { - x_84 = x_83; + x_86 = x_85; } -lean_ctor_set(x_84, 0, x_81); -lean_ctor_set(x_84, 1, x_82); -return x_84; +lean_ctor_set(x_86, 0, x_83); +lean_ctor_set(x_86, 1, x_84); +return x_86; } } } default: { -lean_object* x_85; lean_object* x_86; +lean_object* x_87; lean_object* x_88; 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_85 = lean_box(0); -x_86 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_86, 0, x_85); -lean_ctor_set(x_86, 1, x_7); -return x_86; +x_87 = lean_box(0); +x_88 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_88, 0, x_87); +lean_ctor_set(x_88, 1, x_7); +return x_88; } } } @@ -11240,12 +11069,8 @@ return x_3; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_Command(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Linter_Util(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_InfoTree(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Server_InfoUtils(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Server_References(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Data_HashMap(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Linter_UnusedVariables(uint8_t builtin, lean_object* w) { lean_object * res; @@ -11254,24 +11079,12 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Elab_Command(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Linter_Util(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Elab_InfoTree(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Server_InfoUtils(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Server_References(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Data_HashMap(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_7____closed__1 = _init_l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_7____closed__1(); lean_mark_persistent(l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_7____closed__1); l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_7____closed__2 = _init_l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_7____closed__2(); diff --git a/stage0/stdlib/Lean/Message.c b/stage0/stdlib/Lean/Message.c index f5f686260a..03de231e1c 100644 --- a/stage0/stdlib/Lean/Message.c +++ b/stage0/stdlib/Lean/Message.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Message -// Imports: Init Lean.Data.Position Lean.Data.OpenDecl Lean.Syntax Lean.MetavarContext Lean.Environment Lean.Util.PPExt +// Imports: Init Lean.Data.Position Lean.Data.OpenDecl Lean.MetavarContext Lean.Environment Lean.Util.PPExt #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -7363,7 +7363,6 @@ return x_155; lean_object* initialize_Init(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Data_Position(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Data_OpenDecl(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Syntax(uint8_t builtin, lean_object*); lean_object* initialize_Lean_MetavarContext(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Environment(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Util_PPExt(uint8_t builtin, lean_object*); @@ -7381,9 +7380,6 @@ lean_dec_ref(res); res = initialize_Lean_Data_OpenDecl(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Syntax(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_MetavarContext(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Meta/AbstractMVars.c b/stage0/stdlib/Lean/Meta/AbstractMVars.c index 63b1e6e3b3..b63c77b264 100644 --- a/stage0/stdlib/Lean/Meta/AbstractMVars.c +++ b/stage0/stdlib/Lean/Meta/AbstractMVars.c @@ -13,6 +13,7 @@ #ifdef __cplusplus extern "C" { #endif +lean_object* l_List_reverse___rarg(lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_contains___at___private_Lean_Meta_AbstractMVars_0__Lean_Meta_AbstractMVars_abstractLevelMVars___spec__4___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_openAbstractMVarsResult___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_add(size_t, size_t); @@ -22,6 +23,7 @@ lean_object* l_Lean_Expr_lam___override(lean_object*, lean_object*, lean_object* lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); lean_object* l_Lean_Expr_forallE___override(lean_object*, lean_object*, lean_object*, uint8_t); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_AbstractMVars_abstractExprMVars___spec__10(lean_object*, lean_object*, lean_object*); uint8_t lean_usize_dec_eq(size_t, size_t); lean_object* lean_array_uget(lean_object*, size_t); LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Meta_AbstractMVars_abstractExprMVars___spec__8(lean_object*, lean_object*); @@ -74,7 +76,6 @@ lean_object* l_Std_mkHashMapImp___rarg(lean_object*); lean_object* lean_name_append_index_after(lean_object*, lean_object*); lean_object* l_Lean_mkLevelIMax_x27(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_AbstractMVars_mkFreshFVarId(lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_AbstractMVars_abstractExprMVars___spec__10(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at___private_Lean_Meta_AbstractMVars_0__Lean_Meta_AbstractMVars_abstractLevelMVars___spec__1(lean_object*, lean_object*); static lean_object* l_Lean_Meta_abstractMVars___closed__1; uint64_t l___private_Lean_Level_0__Lean_hashLevelMVarId____x40_Lean_Level___hyg_500_(lean_object*); @@ -1972,98 +1973,66 @@ return x_40; } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_AbstractMVars_abstractExprMVars___spec__10(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_AbstractMVars_abstractExprMVars___spec__10(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_3; lean_object* x_4; -x_3 = lean_box(0); -x_4 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_4, 0, x_3); -lean_ctor_set(x_4, 1, x_2); -return x_4; +lean_object* x_4; lean_object* x_5; +x_4 = l_List_reverse___rarg(x_2); +x_5 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_5, 0, x_4); +lean_ctor_set(x_5, 1, x_3); +return x_5; } else { -uint8_t x_5; -x_5 = !lean_is_exclusive(x_1); -if (x_5 == 0) +uint8_t x_6; +x_6 = !lean_is_exclusive(x_1); +if (x_6 == 0) { -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; -x_6 = lean_ctor_get(x_1, 0); -x_7 = lean_ctor_get(x_1, 1); -x_8 = l___private_Lean_Meta_AbstractMVars_0__Lean_Meta_AbstractMVars_abstractLevelMVars(x_6, x_2); -x_9 = lean_ctor_get(x_8, 0); -lean_inc(x_9); -x_10 = lean_ctor_get(x_8, 1); +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_7 = lean_ctor_get(x_1, 0); +x_8 = lean_ctor_get(x_1, 1); +x_9 = l___private_Lean_Meta_AbstractMVars_0__Lean_Meta_AbstractMVars_abstractLevelMVars(x_7, x_3); +x_10 = lean_ctor_get(x_9, 0); lean_inc(x_10); -lean_dec(x_8); -x_11 = l_List_mapM___at_Lean_Meta_AbstractMVars_abstractExprMVars___spec__10(x_7, x_10); -x_12 = !lean_is_exclusive(x_11); -if (x_12 == 0) +x_11 = lean_ctor_get(x_9, 1); +lean_inc(x_11); +lean_dec(x_9); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_10); { -lean_object* x_13; -x_13 = lean_ctor_get(x_11, 0); -lean_ctor_set(x_1, 1, x_13); -lean_ctor_set(x_1, 0, x_9); -lean_ctor_set(x_11, 0, x_1); -return x_11; +lean_object* _tmp_0 = x_8; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_2 = x_11; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_3 = _tmp_2; +} +goto _start; } else { -lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_14 = lean_ctor_get(x_11, 0); -x_15 = lean_ctor_get(x_11, 1); -lean_inc(x_15); +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_13 = lean_ctor_get(x_1, 0); +x_14 = lean_ctor_get(x_1, 1); lean_inc(x_14); -lean_dec(x_11); -lean_ctor_set(x_1, 1, x_14); -lean_ctor_set(x_1, 0, x_9); -x_16 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_16, 0, x_1); -lean_ctor_set(x_16, 1, x_15); -return x_16; -} -} -else -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_17 = lean_ctor_get(x_1, 0); -x_18 = lean_ctor_get(x_1, 1); -lean_inc(x_18); -lean_inc(x_17); +lean_inc(x_13); lean_dec(x_1); -x_19 = l___private_Lean_Meta_AbstractMVars_0__Lean_Meta_AbstractMVars_abstractLevelMVars(x_17, x_2); -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_List_mapM___at_Lean_Meta_AbstractMVars_abstractExprMVars___spec__10(x_18, x_21); -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -if (lean_is_exclusive(x_22)) { - lean_ctor_release(x_22, 0); - lean_ctor_release(x_22, 1); - x_25 = x_22; -} else { - lean_dec_ref(x_22); - x_25 = lean_box(0); -} -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_20); -lean_ctor_set(x_26, 1, x_23); -if (lean_is_scalar(x_25)) { - x_27 = lean_alloc_ctor(0, 2, 0); -} else { - x_27 = x_25; -} -lean_ctor_set(x_27, 0, x_26); -lean_ctor_set(x_27, 1, x_24); -return x_27; +x_15 = l___private_Lean_Meta_AbstractMVars_0__Lean_Meta_AbstractMVars_abstractLevelMVars(x_13, x_3); +x_16 = lean_ctor_get(x_15, 0); +lean_inc(x_16); +x_17 = lean_ctor_get(x_15, 1); +lean_inc(x_17); +lean_dec(x_15); +x_18 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_18, 0, x_16); +lean_ctor_set(x_18, 1, x_2); +x_1 = x_14; +x_2 = x_18; +x_3 = x_17; +goto _start; } } } @@ -2559,797 +2528,798 @@ return x_132; } case 4: { -lean_object* x_133; lean_object* x_134; lean_object* x_135; uint8_t x_136; +lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; uint8_t x_137; x_133 = lean_ctor_get(x_1, 0); lean_inc(x_133); x_134 = lean_ctor_get(x_1, 1); lean_inc(x_134); +x_135 = lean_box(0); lean_inc(x_134); -x_135 = l_List_mapM___at_Lean_Meta_AbstractMVars_abstractExprMVars___spec__10(x_134, x_2); -x_136 = !lean_is_exclusive(x_135); -if (x_136 == 0) +x_136 = l_List_mapM_loop___at_Lean_Meta_AbstractMVars_abstractExprMVars___spec__10(x_134, x_135, x_2); +x_137 = !lean_is_exclusive(x_136); +if (x_137 == 0) { -lean_object* x_137; uint8_t x_138; -x_137 = lean_ctor_get(x_135, 0); -x_138 = l_ptrEqList___rarg(x_134, x_137); +lean_object* x_138; uint8_t x_139; +x_138 = lean_ctor_get(x_136, 0); +x_139 = l_ptrEqList___rarg(x_134, x_138); lean_dec(x_134); -if (x_138 == 0) +if (x_139 == 0) { -lean_object* x_139; +lean_object* x_140; lean_dec(x_1); -x_139 = l_Lean_Expr_const___override(x_133, x_137); -lean_ctor_set(x_135, 0, x_139); -return x_135; +x_140 = l_Lean_Expr_const___override(x_133, x_138); +lean_ctor_set(x_136, 0, x_140); +return x_136; } else { -lean_dec(x_137); +lean_dec(x_138); lean_dec(x_133); -lean_ctor_set(x_135, 0, x_1); -return x_135; +lean_ctor_set(x_136, 0, x_1); +return x_136; } } else { -lean_object* x_140; lean_object* x_141; uint8_t x_142; -x_140 = lean_ctor_get(x_135, 0); -x_141 = lean_ctor_get(x_135, 1); +lean_object* x_141; lean_object* x_142; uint8_t x_143; +x_141 = lean_ctor_get(x_136, 0); +x_142 = lean_ctor_get(x_136, 1); +lean_inc(x_142); lean_inc(x_141); -lean_inc(x_140); -lean_dec(x_135); -x_142 = l_ptrEqList___rarg(x_134, x_140); +lean_dec(x_136); +x_143 = l_ptrEqList___rarg(x_134, x_141); lean_dec(x_134); -if (x_142 == 0) +if (x_143 == 0) { -lean_object* x_143; lean_object* x_144; +lean_object* x_144; lean_object* x_145; lean_dec(x_1); -x_143 = l_Lean_Expr_const___override(x_133, x_140); -x_144 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_144, 0, x_143); -lean_ctor_set(x_144, 1, x_141); -return x_144; +x_144 = l_Lean_Expr_const___override(x_133, x_141); +x_145 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_145, 0, x_144); +lean_ctor_set(x_145, 1, x_142); +return x_145; } else { -lean_object* x_145; -lean_dec(x_140); +lean_object* x_146; +lean_dec(x_141); lean_dec(x_133); -x_145 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_145, 0, x_1); -lean_ctor_set(x_145, 1, x_141); -return x_145; +x_146 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_146, 0, x_1); +lean_ctor_set(x_146, 1, x_142); +return x_146; } } } case 5: { -lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; uint8_t x_152; -x_146 = lean_ctor_get(x_1, 0); -lean_inc(x_146); -x_147 = lean_ctor_get(x_1, 1); +lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; uint8_t x_153; +x_147 = lean_ctor_get(x_1, 0); lean_inc(x_147); -lean_inc(x_146); -x_148 = l_Lean_Meta_AbstractMVars_abstractExprMVars(x_146, x_2); -x_149 = lean_ctor_get(x_148, 0); -lean_inc(x_149); -x_150 = lean_ctor_get(x_148, 1); +x_148 = lean_ctor_get(x_1, 1); +lean_inc(x_148); +lean_inc(x_147); +x_149 = l_Lean_Meta_AbstractMVars_abstractExprMVars(x_147, x_2); +x_150 = lean_ctor_get(x_149, 0); lean_inc(x_150); +x_151 = lean_ctor_get(x_149, 1); +lean_inc(x_151); +lean_dec(x_149); +lean_inc(x_148); +x_152 = l_Lean_Meta_AbstractMVars_abstractExprMVars(x_148, x_151); +x_153 = !lean_is_exclusive(x_152); +if (x_153 == 0) +{ +lean_object* x_154; size_t x_155; size_t x_156; uint8_t x_157; +x_154 = lean_ctor_get(x_152, 0); +x_155 = lean_ptr_addr(x_147); +lean_dec(x_147); +x_156 = lean_ptr_addr(x_150); +x_157 = lean_usize_dec_eq(x_155, x_156); +if (x_157 == 0) +{ +lean_object* x_158; lean_dec(x_148); -lean_inc(x_147); -x_151 = l_Lean_Meta_AbstractMVars_abstractExprMVars(x_147, x_150); -x_152 = !lean_is_exclusive(x_151); -if (x_152 == 0) -{ -lean_object* x_153; size_t x_154; size_t x_155; uint8_t x_156; -x_153 = lean_ctor_get(x_151, 0); -x_154 = lean_ptr_addr(x_146); -lean_dec(x_146); -x_155 = lean_ptr_addr(x_149); -x_156 = lean_usize_dec_eq(x_154, x_155); -if (x_156 == 0) -{ -lean_object* x_157; -lean_dec(x_147); lean_dec(x_1); -x_157 = l_Lean_Expr_app___override(x_149, x_153); -lean_ctor_set(x_151, 0, x_157); -return x_151; +x_158 = l_Lean_Expr_app___override(x_150, x_154); +lean_ctor_set(x_152, 0, x_158); +return x_152; } else { -size_t x_158; size_t x_159; uint8_t x_160; -x_158 = lean_ptr_addr(x_147); -lean_dec(x_147); -x_159 = lean_ptr_addr(x_153); -x_160 = lean_usize_dec_eq(x_158, x_159); -if (x_160 == 0) +size_t x_159; size_t x_160; uint8_t x_161; +x_159 = lean_ptr_addr(x_148); +lean_dec(x_148); +x_160 = lean_ptr_addr(x_154); +x_161 = lean_usize_dec_eq(x_159, x_160); +if (x_161 == 0) { -lean_object* x_161; +lean_object* x_162; lean_dec(x_1); -x_161 = l_Lean_Expr_app___override(x_149, x_153); -lean_ctor_set(x_151, 0, x_161); -return x_151; +x_162 = l_Lean_Expr_app___override(x_150, x_154); +lean_ctor_set(x_152, 0, x_162); +return x_152; } else { -lean_dec(x_153); -lean_dec(x_149); -lean_ctor_set(x_151, 0, x_1); -return x_151; +lean_dec(x_154); +lean_dec(x_150); +lean_ctor_set(x_152, 0, x_1); +return x_152; } } } else { -lean_object* x_162; lean_object* x_163; size_t x_164; size_t x_165; uint8_t x_166; -x_162 = lean_ctor_get(x_151, 0); -x_163 = lean_ctor_get(x_151, 1); +lean_object* x_163; lean_object* x_164; size_t x_165; size_t x_166; uint8_t x_167; +x_163 = lean_ctor_get(x_152, 0); +x_164 = lean_ctor_get(x_152, 1); +lean_inc(x_164); lean_inc(x_163); -lean_inc(x_162); -lean_dec(x_151); -x_164 = lean_ptr_addr(x_146); -lean_dec(x_146); -x_165 = lean_ptr_addr(x_149); -x_166 = lean_usize_dec_eq(x_164, x_165); -if (x_166 == 0) -{ -lean_object* x_167; lean_object* x_168; +lean_dec(x_152); +x_165 = lean_ptr_addr(x_147); lean_dec(x_147); +x_166 = lean_ptr_addr(x_150); +x_167 = lean_usize_dec_eq(x_165, x_166); +if (x_167 == 0) +{ +lean_object* x_168; lean_object* x_169; +lean_dec(x_148); lean_dec(x_1); -x_167 = l_Lean_Expr_app___override(x_149, x_162); -x_168 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_168, 0, x_167); -lean_ctor_set(x_168, 1, x_163); -return x_168; +x_168 = l_Lean_Expr_app___override(x_150, x_163); +x_169 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_169, 0, x_168); +lean_ctor_set(x_169, 1, x_164); +return x_169; } else { -size_t x_169; size_t x_170; uint8_t x_171; -x_169 = lean_ptr_addr(x_147); -lean_dec(x_147); -x_170 = lean_ptr_addr(x_162); -x_171 = lean_usize_dec_eq(x_169, x_170); -if (x_171 == 0) +size_t x_170; size_t x_171; uint8_t x_172; +x_170 = lean_ptr_addr(x_148); +lean_dec(x_148); +x_171 = lean_ptr_addr(x_163); +x_172 = lean_usize_dec_eq(x_170, x_171); +if (x_172 == 0) { -lean_object* x_172; lean_object* x_173; +lean_object* x_173; lean_object* x_174; lean_dec(x_1); -x_172 = l_Lean_Expr_app___override(x_149, x_162); -x_173 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_173, 0, x_172); -lean_ctor_set(x_173, 1, x_163); -return x_173; -} -else -{ -lean_object* x_174; -lean_dec(x_162); -lean_dec(x_149); +x_173 = l_Lean_Expr_app___override(x_150, x_163); x_174 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_174, 0, x_1); -lean_ctor_set(x_174, 1, x_163); +lean_ctor_set(x_174, 0, x_173); +lean_ctor_set(x_174, 1, x_164); return x_174; } +else +{ +lean_object* x_175; +lean_dec(x_163); +lean_dec(x_150); +x_175 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_175, 0, x_1); +lean_ctor_set(x_175, 1, x_164); +return x_175; +} } } } case 6: { -lean_object* x_175; lean_object* x_176; lean_object* x_177; uint8_t x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; uint8_t x_183; -x_175 = lean_ctor_get(x_1, 0); -lean_inc(x_175); -x_176 = lean_ctor_get(x_1, 1); +lean_object* x_176; lean_object* x_177; lean_object* x_178; uint8_t x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; uint8_t x_184; +x_176 = lean_ctor_get(x_1, 0); lean_inc(x_176); -x_177 = lean_ctor_get(x_1, 2); +x_177 = lean_ctor_get(x_1, 1); lean_inc(x_177); -x_178 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8); +x_178 = lean_ctor_get(x_1, 2); +lean_inc(x_178); +x_179 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8); lean_dec(x_1); -lean_inc(x_176); -x_179 = l_Lean_Meta_AbstractMVars_abstractExprMVars(x_176, x_2); -x_180 = lean_ctor_get(x_179, 0); -lean_inc(x_180); -x_181 = lean_ctor_get(x_179, 1); +lean_inc(x_177); +x_180 = l_Lean_Meta_AbstractMVars_abstractExprMVars(x_177, x_2); +x_181 = lean_ctor_get(x_180, 0); lean_inc(x_181); -lean_dec(x_179); -lean_inc(x_177); -x_182 = l_Lean_Meta_AbstractMVars_abstractExprMVars(x_177, x_181); -x_183 = !lean_is_exclusive(x_182); -if (x_183 == 0) +x_182 = lean_ctor_get(x_180, 1); +lean_inc(x_182); +lean_dec(x_180); +lean_inc(x_178); +x_183 = l_Lean_Meta_AbstractMVars_abstractExprMVars(x_178, x_182); +x_184 = !lean_is_exclusive(x_183); +if (x_184 == 0) { -lean_object* x_184; lean_object* x_185; size_t x_186; size_t x_187; uint8_t x_188; -x_184 = lean_ctor_get(x_182, 0); +lean_object* x_185; lean_object* x_186; size_t x_187; size_t x_188; uint8_t x_189; +x_185 = lean_ctor_get(x_183, 0); +lean_inc(x_178); lean_inc(x_177); lean_inc(x_176); -lean_inc(x_175); -x_185 = l_Lean_Expr_lam___override(x_175, x_176, x_177, x_178); -x_186 = lean_ptr_addr(x_176); +x_186 = l_Lean_Expr_lam___override(x_176, x_177, x_178, x_179); +x_187 = lean_ptr_addr(x_177); +lean_dec(x_177); +x_188 = lean_ptr_addr(x_181); +x_189 = lean_usize_dec_eq(x_187, x_188); +if (x_189 == 0) +{ +lean_object* x_190; +lean_dec(x_186); +lean_dec(x_178); +x_190 = l_Lean_Expr_lam___override(x_176, x_181, x_185, x_179); +lean_ctor_set(x_183, 0, x_190); +return x_183; +} +else +{ +size_t x_191; size_t x_192; uint8_t x_193; +x_191 = lean_ptr_addr(x_178); +lean_dec(x_178); +x_192 = lean_ptr_addr(x_185); +x_193 = lean_usize_dec_eq(x_191, x_192); +if (x_193 == 0) +{ +lean_object* x_194; +lean_dec(x_186); +x_194 = l_Lean_Expr_lam___override(x_176, x_181, x_185, x_179); +lean_ctor_set(x_183, 0, x_194); +return x_183; +} +else +{ +uint8_t x_195; +x_195 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_179, x_179); +if (x_195 == 0) +{ +lean_object* x_196; +lean_dec(x_186); +x_196 = l_Lean_Expr_lam___override(x_176, x_181, x_185, x_179); +lean_ctor_set(x_183, 0, x_196); +return x_183; +} +else +{ +lean_dec(x_185); +lean_dec(x_181); lean_dec(x_176); -x_187 = lean_ptr_addr(x_180); -x_188 = lean_usize_dec_eq(x_186, x_187); -if (x_188 == 0) -{ -lean_object* x_189; -lean_dec(x_185); -lean_dec(x_177); -x_189 = l_Lean_Expr_lam___override(x_175, x_180, x_184, x_178); -lean_ctor_set(x_182, 0, x_189); -return x_182; -} -else -{ -size_t x_190; size_t x_191; uint8_t x_192; -x_190 = lean_ptr_addr(x_177); -lean_dec(x_177); -x_191 = lean_ptr_addr(x_184); -x_192 = lean_usize_dec_eq(x_190, x_191); -if (x_192 == 0) -{ -lean_object* x_193; -lean_dec(x_185); -x_193 = l_Lean_Expr_lam___override(x_175, x_180, x_184, x_178); -lean_ctor_set(x_182, 0, x_193); -return x_182; -} -else -{ -uint8_t x_194; -x_194 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_178, x_178); -if (x_194 == 0) -{ -lean_object* x_195; -lean_dec(x_185); -x_195 = l_Lean_Expr_lam___override(x_175, x_180, x_184, x_178); -lean_ctor_set(x_182, 0, x_195); -return x_182; -} -else -{ -lean_dec(x_184); -lean_dec(x_180); -lean_dec(x_175); -lean_ctor_set(x_182, 0, x_185); -return x_182; +lean_ctor_set(x_183, 0, x_186); +return x_183; } } } } else { -lean_object* x_196; lean_object* x_197; lean_object* x_198; size_t x_199; size_t x_200; uint8_t x_201; -x_196 = lean_ctor_get(x_182, 0); -x_197 = lean_ctor_get(x_182, 1); +lean_object* x_197; lean_object* x_198; lean_object* x_199; size_t x_200; size_t x_201; uint8_t x_202; +x_197 = lean_ctor_get(x_183, 0); +x_198 = lean_ctor_get(x_183, 1); +lean_inc(x_198); lean_inc(x_197); -lean_inc(x_196); -lean_dec(x_182); +lean_dec(x_183); +lean_inc(x_178); lean_inc(x_177); lean_inc(x_176); -lean_inc(x_175); -x_198 = l_Lean_Expr_lam___override(x_175, x_176, x_177, x_178); -x_199 = lean_ptr_addr(x_176); -lean_dec(x_176); -x_200 = lean_ptr_addr(x_180); -x_201 = lean_usize_dec_eq(x_199, x_200); -if (x_201 == 0) -{ -lean_object* x_202; lean_object* x_203; -lean_dec(x_198); +x_199 = l_Lean_Expr_lam___override(x_176, x_177, x_178, x_179); +x_200 = lean_ptr_addr(x_177); lean_dec(x_177); -x_202 = l_Lean_Expr_lam___override(x_175, x_180, x_196, x_178); -x_203 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_203, 0, x_202); -lean_ctor_set(x_203, 1, x_197); -return x_203; +x_201 = lean_ptr_addr(x_181); +x_202 = lean_usize_dec_eq(x_200, x_201); +if (x_202 == 0) +{ +lean_object* x_203; lean_object* x_204; +lean_dec(x_199); +lean_dec(x_178); +x_203 = l_Lean_Expr_lam___override(x_176, x_181, x_197, x_179); +x_204 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_204, 0, x_203); +lean_ctor_set(x_204, 1, x_198); +return x_204; } else { -size_t x_204; size_t x_205; uint8_t x_206; -x_204 = lean_ptr_addr(x_177); -lean_dec(x_177); -x_205 = lean_ptr_addr(x_196); -x_206 = lean_usize_dec_eq(x_204, x_205); -if (x_206 == 0) +size_t x_205; size_t x_206; uint8_t x_207; +x_205 = lean_ptr_addr(x_178); +lean_dec(x_178); +x_206 = lean_ptr_addr(x_197); +x_207 = lean_usize_dec_eq(x_205, x_206); +if (x_207 == 0) { -lean_object* x_207; lean_object* x_208; -lean_dec(x_198); -x_207 = l_Lean_Expr_lam___override(x_175, x_180, x_196, x_178); -x_208 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_208, 0, x_207); -lean_ctor_set(x_208, 1, x_197); -return x_208; +lean_object* x_208; lean_object* x_209; +lean_dec(x_199); +x_208 = l_Lean_Expr_lam___override(x_176, x_181, x_197, x_179); +x_209 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_209, 0, x_208); +lean_ctor_set(x_209, 1, x_198); +return x_209; } else { -uint8_t x_209; -x_209 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_178, x_178); -if (x_209 == 0) +uint8_t x_210; +x_210 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_179, x_179); +if (x_210 == 0) { -lean_object* x_210; lean_object* x_211; -lean_dec(x_198); -x_210 = l_Lean_Expr_lam___override(x_175, x_180, x_196, x_178); -x_211 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_211, 0, x_210); -lean_ctor_set(x_211, 1, x_197); -return x_211; -} -else -{ -lean_object* x_212; -lean_dec(x_196); -lean_dec(x_180); -lean_dec(x_175); +lean_object* x_211; lean_object* x_212; +lean_dec(x_199); +x_211 = l_Lean_Expr_lam___override(x_176, x_181, x_197, x_179); x_212 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_212, 0, x_198); -lean_ctor_set(x_212, 1, x_197); +lean_ctor_set(x_212, 0, x_211); +lean_ctor_set(x_212, 1, x_198); return x_212; } +else +{ +lean_object* x_213; +lean_dec(x_197); +lean_dec(x_181); +lean_dec(x_176); +x_213 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_213, 0, x_199); +lean_ctor_set(x_213, 1, x_198); +return x_213; +} } } } } case 7: { -lean_object* x_213; lean_object* x_214; lean_object* x_215; uint8_t x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; uint8_t x_221; -x_213 = lean_ctor_get(x_1, 0); -lean_inc(x_213); -x_214 = lean_ctor_get(x_1, 1); +lean_object* x_214; lean_object* x_215; lean_object* x_216; uint8_t x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; uint8_t x_222; +x_214 = lean_ctor_get(x_1, 0); lean_inc(x_214); -x_215 = lean_ctor_get(x_1, 2); +x_215 = lean_ctor_get(x_1, 1); lean_inc(x_215); -x_216 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8); +x_216 = lean_ctor_get(x_1, 2); +lean_inc(x_216); +x_217 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8); lean_dec(x_1); -lean_inc(x_214); -x_217 = l_Lean_Meta_AbstractMVars_abstractExprMVars(x_214, x_2); -x_218 = lean_ctor_get(x_217, 0); -lean_inc(x_218); -x_219 = lean_ctor_get(x_217, 1); +lean_inc(x_215); +x_218 = l_Lean_Meta_AbstractMVars_abstractExprMVars(x_215, x_2); +x_219 = lean_ctor_get(x_218, 0); lean_inc(x_219); -lean_dec(x_217); -lean_inc(x_215); -x_220 = l_Lean_Meta_AbstractMVars_abstractExprMVars(x_215, x_219); -x_221 = !lean_is_exclusive(x_220); -if (x_221 == 0) +x_220 = lean_ctor_get(x_218, 1); +lean_inc(x_220); +lean_dec(x_218); +lean_inc(x_216); +x_221 = l_Lean_Meta_AbstractMVars_abstractExprMVars(x_216, x_220); +x_222 = !lean_is_exclusive(x_221); +if (x_222 == 0) { -lean_object* x_222; lean_object* x_223; size_t x_224; size_t x_225; uint8_t x_226; -x_222 = lean_ctor_get(x_220, 0); +lean_object* x_223; lean_object* x_224; size_t x_225; size_t x_226; uint8_t x_227; +x_223 = lean_ctor_get(x_221, 0); +lean_inc(x_216); lean_inc(x_215); lean_inc(x_214); -lean_inc(x_213); -x_223 = l_Lean_Expr_forallE___override(x_213, x_214, x_215, x_216); -x_224 = lean_ptr_addr(x_214); +x_224 = l_Lean_Expr_forallE___override(x_214, x_215, x_216, x_217); +x_225 = lean_ptr_addr(x_215); +lean_dec(x_215); +x_226 = lean_ptr_addr(x_219); +x_227 = lean_usize_dec_eq(x_225, x_226); +if (x_227 == 0) +{ +lean_object* x_228; +lean_dec(x_224); +lean_dec(x_216); +x_228 = l_Lean_Expr_forallE___override(x_214, x_219, x_223, x_217); +lean_ctor_set(x_221, 0, x_228); +return x_221; +} +else +{ +size_t x_229; size_t x_230; uint8_t x_231; +x_229 = lean_ptr_addr(x_216); +lean_dec(x_216); +x_230 = lean_ptr_addr(x_223); +x_231 = lean_usize_dec_eq(x_229, x_230); +if (x_231 == 0) +{ +lean_object* x_232; +lean_dec(x_224); +x_232 = l_Lean_Expr_forallE___override(x_214, x_219, x_223, x_217); +lean_ctor_set(x_221, 0, x_232); +return x_221; +} +else +{ +uint8_t x_233; +x_233 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_217, x_217); +if (x_233 == 0) +{ +lean_object* x_234; +lean_dec(x_224); +x_234 = l_Lean_Expr_forallE___override(x_214, x_219, x_223, x_217); +lean_ctor_set(x_221, 0, x_234); +return x_221; +} +else +{ +lean_dec(x_223); +lean_dec(x_219); lean_dec(x_214); -x_225 = lean_ptr_addr(x_218); -x_226 = lean_usize_dec_eq(x_224, x_225); -if (x_226 == 0) -{ -lean_object* x_227; -lean_dec(x_223); -lean_dec(x_215); -x_227 = l_Lean_Expr_forallE___override(x_213, x_218, x_222, x_216); -lean_ctor_set(x_220, 0, x_227); -return x_220; -} -else -{ -size_t x_228; size_t x_229; uint8_t x_230; -x_228 = lean_ptr_addr(x_215); -lean_dec(x_215); -x_229 = lean_ptr_addr(x_222); -x_230 = lean_usize_dec_eq(x_228, x_229); -if (x_230 == 0) -{ -lean_object* x_231; -lean_dec(x_223); -x_231 = l_Lean_Expr_forallE___override(x_213, x_218, x_222, x_216); -lean_ctor_set(x_220, 0, x_231); -return x_220; -} -else -{ -uint8_t x_232; -x_232 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_216, x_216); -if (x_232 == 0) -{ -lean_object* x_233; -lean_dec(x_223); -x_233 = l_Lean_Expr_forallE___override(x_213, x_218, x_222, x_216); -lean_ctor_set(x_220, 0, x_233); -return x_220; -} -else -{ -lean_dec(x_222); -lean_dec(x_218); -lean_dec(x_213); -lean_ctor_set(x_220, 0, x_223); -return x_220; +lean_ctor_set(x_221, 0, x_224); +return x_221; } } } } else { -lean_object* x_234; lean_object* x_235; lean_object* x_236; size_t x_237; size_t x_238; uint8_t x_239; -x_234 = lean_ctor_get(x_220, 0); -x_235 = lean_ctor_get(x_220, 1); +lean_object* x_235; lean_object* x_236; lean_object* x_237; size_t x_238; size_t x_239; uint8_t x_240; +x_235 = lean_ctor_get(x_221, 0); +x_236 = lean_ctor_get(x_221, 1); +lean_inc(x_236); lean_inc(x_235); -lean_inc(x_234); -lean_dec(x_220); +lean_dec(x_221); +lean_inc(x_216); lean_inc(x_215); lean_inc(x_214); -lean_inc(x_213); -x_236 = l_Lean_Expr_forallE___override(x_213, x_214, x_215, x_216); -x_237 = lean_ptr_addr(x_214); -lean_dec(x_214); -x_238 = lean_ptr_addr(x_218); -x_239 = lean_usize_dec_eq(x_237, x_238); -if (x_239 == 0) -{ -lean_object* x_240; lean_object* x_241; -lean_dec(x_236); +x_237 = l_Lean_Expr_forallE___override(x_214, x_215, x_216, x_217); +x_238 = lean_ptr_addr(x_215); lean_dec(x_215); -x_240 = l_Lean_Expr_forallE___override(x_213, x_218, x_234, x_216); -x_241 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_241, 0, x_240); -lean_ctor_set(x_241, 1, x_235); -return x_241; +x_239 = lean_ptr_addr(x_219); +x_240 = lean_usize_dec_eq(x_238, x_239); +if (x_240 == 0) +{ +lean_object* x_241; lean_object* x_242; +lean_dec(x_237); +lean_dec(x_216); +x_241 = l_Lean_Expr_forallE___override(x_214, x_219, x_235, x_217); +x_242 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_242, 0, x_241); +lean_ctor_set(x_242, 1, x_236); +return x_242; } else { -size_t x_242; size_t x_243; uint8_t x_244; -x_242 = lean_ptr_addr(x_215); -lean_dec(x_215); -x_243 = lean_ptr_addr(x_234); -x_244 = lean_usize_dec_eq(x_242, x_243); -if (x_244 == 0) +size_t x_243; size_t x_244; uint8_t x_245; +x_243 = lean_ptr_addr(x_216); +lean_dec(x_216); +x_244 = lean_ptr_addr(x_235); +x_245 = lean_usize_dec_eq(x_243, x_244); +if (x_245 == 0) { -lean_object* x_245; lean_object* x_246; -lean_dec(x_236); -x_245 = l_Lean_Expr_forallE___override(x_213, x_218, x_234, x_216); -x_246 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_246, 0, x_245); -lean_ctor_set(x_246, 1, x_235); -return x_246; +lean_object* x_246; lean_object* x_247; +lean_dec(x_237); +x_246 = l_Lean_Expr_forallE___override(x_214, x_219, x_235, x_217); +x_247 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_247, 0, x_246); +lean_ctor_set(x_247, 1, x_236); +return x_247; } else { -uint8_t x_247; -x_247 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_216, x_216); -if (x_247 == 0) +uint8_t x_248; +x_248 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_217, x_217); +if (x_248 == 0) { -lean_object* x_248; lean_object* x_249; -lean_dec(x_236); -x_248 = l_Lean_Expr_forallE___override(x_213, x_218, x_234, x_216); -x_249 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_249, 0, x_248); -lean_ctor_set(x_249, 1, x_235); -return x_249; -} -else -{ -lean_object* x_250; -lean_dec(x_234); -lean_dec(x_218); -lean_dec(x_213); +lean_object* x_249; lean_object* x_250; +lean_dec(x_237); +x_249 = l_Lean_Expr_forallE___override(x_214, x_219, x_235, x_217); x_250 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_250, 0, x_236); -lean_ctor_set(x_250, 1, x_235); +lean_ctor_set(x_250, 0, x_249); +lean_ctor_set(x_250, 1, x_236); return x_250; } +else +{ +lean_object* x_251; +lean_dec(x_235); +lean_dec(x_219); +lean_dec(x_214); +x_251 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_251, 0, x_237); +lean_ctor_set(x_251, 1, x_236); +return x_251; +} } } } } case 8: { -lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; uint8_t x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; uint8_t x_263; -x_251 = lean_ctor_get(x_1, 0); -lean_inc(x_251); -x_252 = lean_ctor_get(x_1, 1); +lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; uint8_t x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; uint8_t x_264; +x_252 = lean_ctor_get(x_1, 0); lean_inc(x_252); -x_253 = lean_ctor_get(x_1, 2); +x_253 = lean_ctor_get(x_1, 1); lean_inc(x_253); -x_254 = lean_ctor_get(x_1, 3); +x_254 = lean_ctor_get(x_1, 2); lean_inc(x_254); -x_255 = lean_ctor_get_uint8(x_1, sizeof(void*)*4 + 8); -lean_inc(x_252); -x_256 = l_Lean_Meta_AbstractMVars_abstractExprMVars(x_252, x_2); -x_257 = lean_ctor_get(x_256, 0); -lean_inc(x_257); -x_258 = lean_ctor_get(x_256, 1); +x_255 = lean_ctor_get(x_1, 3); +lean_inc(x_255); +x_256 = lean_ctor_get_uint8(x_1, sizeof(void*)*4 + 8); +lean_inc(x_253); +x_257 = l_Lean_Meta_AbstractMVars_abstractExprMVars(x_253, x_2); +x_258 = lean_ctor_get(x_257, 0); lean_inc(x_258); -lean_dec(x_256); -lean_inc(x_253); -x_259 = l_Lean_Meta_AbstractMVars_abstractExprMVars(x_253, x_258); -x_260 = lean_ctor_get(x_259, 0); -lean_inc(x_260); -x_261 = lean_ctor_get(x_259, 1); -lean_inc(x_261); -lean_dec(x_259); +x_259 = lean_ctor_get(x_257, 1); +lean_inc(x_259); +lean_dec(x_257); lean_inc(x_254); -x_262 = l_Lean_Meta_AbstractMVars_abstractExprMVars(x_254, x_261); -x_263 = !lean_is_exclusive(x_262); -if (x_263 == 0) -{ -lean_object* x_264; size_t x_265; size_t x_266; uint8_t x_267; -x_264 = lean_ctor_get(x_262, 0); -x_265 = lean_ptr_addr(x_252); -lean_dec(x_252); -x_266 = lean_ptr_addr(x_257); -x_267 = lean_usize_dec_eq(x_265, x_266); -if (x_267 == 0) -{ -lean_object* x_268; -lean_dec(x_254); -lean_dec(x_253); -lean_dec(x_1); -x_268 = l_Lean_Expr_letE___override(x_251, x_257, x_260, x_264, x_255); -lean_ctor_set(x_262, 0, x_268); -return x_262; -} -else -{ -size_t x_269; size_t x_270; uint8_t x_271; -x_269 = lean_ptr_addr(x_253); -lean_dec(x_253); -x_270 = lean_ptr_addr(x_260); -x_271 = lean_usize_dec_eq(x_269, x_270); -if (x_271 == 0) -{ -lean_object* x_272; -lean_dec(x_254); -lean_dec(x_1); -x_272 = l_Lean_Expr_letE___override(x_251, x_257, x_260, x_264, x_255); -lean_ctor_set(x_262, 0, x_272); -return x_262; -} -else -{ -size_t x_273; size_t x_274; uint8_t x_275; -x_273 = lean_ptr_addr(x_254); -lean_dec(x_254); -x_274 = lean_ptr_addr(x_264); -x_275 = lean_usize_dec_eq(x_273, x_274); -if (x_275 == 0) -{ -lean_object* x_276; -lean_dec(x_1); -x_276 = l_Lean_Expr_letE___override(x_251, x_257, x_260, x_264, x_255); -lean_ctor_set(x_262, 0, x_276); -return x_262; -} -else -{ -lean_dec(x_264); +x_260 = l_Lean_Meta_AbstractMVars_abstractExprMVars(x_254, x_259); +x_261 = lean_ctor_get(x_260, 0); +lean_inc(x_261); +x_262 = lean_ctor_get(x_260, 1); +lean_inc(x_262); lean_dec(x_260); -lean_dec(x_257); -lean_dec(x_251); -lean_ctor_set(x_262, 0, x_1); -return x_262; +lean_inc(x_255); +x_263 = l_Lean_Meta_AbstractMVars_abstractExprMVars(x_255, x_262); +x_264 = !lean_is_exclusive(x_263); +if (x_264 == 0) +{ +lean_object* x_265; size_t x_266; size_t x_267; uint8_t x_268; +x_265 = lean_ctor_get(x_263, 0); +x_266 = lean_ptr_addr(x_253); +lean_dec(x_253); +x_267 = lean_ptr_addr(x_258); +x_268 = lean_usize_dec_eq(x_266, x_267); +if (x_268 == 0) +{ +lean_object* x_269; +lean_dec(x_255); +lean_dec(x_254); +lean_dec(x_1); +x_269 = l_Lean_Expr_letE___override(x_252, x_258, x_261, x_265, x_256); +lean_ctor_set(x_263, 0, x_269); +return x_263; +} +else +{ +size_t x_270; size_t x_271; uint8_t x_272; +x_270 = lean_ptr_addr(x_254); +lean_dec(x_254); +x_271 = lean_ptr_addr(x_261); +x_272 = lean_usize_dec_eq(x_270, x_271); +if (x_272 == 0) +{ +lean_object* x_273; +lean_dec(x_255); +lean_dec(x_1); +x_273 = l_Lean_Expr_letE___override(x_252, x_258, x_261, x_265, x_256); +lean_ctor_set(x_263, 0, x_273); +return x_263; +} +else +{ +size_t x_274; size_t x_275; uint8_t x_276; +x_274 = lean_ptr_addr(x_255); +lean_dec(x_255); +x_275 = lean_ptr_addr(x_265); +x_276 = lean_usize_dec_eq(x_274, x_275); +if (x_276 == 0) +{ +lean_object* x_277; +lean_dec(x_1); +x_277 = l_Lean_Expr_letE___override(x_252, x_258, x_261, x_265, x_256); +lean_ctor_set(x_263, 0, x_277); +return x_263; +} +else +{ +lean_dec(x_265); +lean_dec(x_261); +lean_dec(x_258); +lean_dec(x_252); +lean_ctor_set(x_263, 0, x_1); +return x_263; } } } } else { -lean_object* x_277; lean_object* x_278; size_t x_279; size_t x_280; uint8_t x_281; -x_277 = lean_ctor_get(x_262, 0); -x_278 = lean_ctor_get(x_262, 1); +lean_object* x_278; lean_object* x_279; size_t x_280; size_t x_281; uint8_t x_282; +x_278 = lean_ctor_get(x_263, 0); +x_279 = lean_ctor_get(x_263, 1); +lean_inc(x_279); lean_inc(x_278); -lean_inc(x_277); -lean_dec(x_262); -x_279 = lean_ptr_addr(x_252); -lean_dec(x_252); -x_280 = lean_ptr_addr(x_257); -x_281 = lean_usize_dec_eq(x_279, x_280); -if (x_281 == 0) -{ -lean_object* x_282; lean_object* x_283; -lean_dec(x_254); +lean_dec(x_263); +x_280 = lean_ptr_addr(x_253); lean_dec(x_253); -lean_dec(x_1); -x_282 = l_Lean_Expr_letE___override(x_251, x_257, x_260, x_277, x_255); -x_283 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_283, 0, x_282); -lean_ctor_set(x_283, 1, x_278); -return x_283; -} -else +x_281 = lean_ptr_addr(x_258); +x_282 = lean_usize_dec_eq(x_280, x_281); +if (x_282 == 0) { -size_t x_284; size_t x_285; uint8_t x_286; -x_284 = lean_ptr_addr(x_253); -lean_dec(x_253); -x_285 = lean_ptr_addr(x_260); -x_286 = lean_usize_dec_eq(x_284, x_285); -if (x_286 == 0) -{ -lean_object* x_287; lean_object* x_288; +lean_object* x_283; lean_object* x_284; +lean_dec(x_255); lean_dec(x_254); lean_dec(x_1); -x_287 = l_Lean_Expr_letE___override(x_251, x_257, x_260, x_277, x_255); -x_288 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_288, 0, x_287); -lean_ctor_set(x_288, 1, x_278); -return x_288; +x_283 = l_Lean_Expr_letE___override(x_252, x_258, x_261, x_278, x_256); +x_284 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_284, 0, x_283); +lean_ctor_set(x_284, 1, x_279); +return x_284; } else { -size_t x_289; size_t x_290; uint8_t x_291; -x_289 = lean_ptr_addr(x_254); +size_t x_285; size_t x_286; uint8_t x_287; +x_285 = lean_ptr_addr(x_254); lean_dec(x_254); -x_290 = lean_ptr_addr(x_277); -x_291 = lean_usize_dec_eq(x_289, x_290); -if (x_291 == 0) +x_286 = lean_ptr_addr(x_261); +x_287 = lean_usize_dec_eq(x_285, x_286); +if (x_287 == 0) { -lean_object* x_292; lean_object* x_293; +lean_object* x_288; lean_object* x_289; +lean_dec(x_255); lean_dec(x_1); -x_292 = l_Lean_Expr_letE___override(x_251, x_257, x_260, x_277, x_255); -x_293 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_293, 0, x_292); -lean_ctor_set(x_293, 1, x_278); -return x_293; +x_288 = l_Lean_Expr_letE___override(x_252, x_258, x_261, x_278, x_256); +x_289 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_289, 0, x_288); +lean_ctor_set(x_289, 1, x_279); +return x_289; } else { -lean_object* x_294; -lean_dec(x_277); -lean_dec(x_260); -lean_dec(x_257); -lean_dec(x_251); +size_t x_290; size_t x_291; uint8_t x_292; +x_290 = lean_ptr_addr(x_255); +lean_dec(x_255); +x_291 = lean_ptr_addr(x_278); +x_292 = lean_usize_dec_eq(x_290, x_291); +if (x_292 == 0) +{ +lean_object* x_293; lean_object* x_294; +lean_dec(x_1); +x_293 = l_Lean_Expr_letE___override(x_252, x_258, x_261, x_278, x_256); x_294 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_294, 0, x_1); -lean_ctor_set(x_294, 1, x_278); +lean_ctor_set(x_294, 0, x_293); +lean_ctor_set(x_294, 1, x_279); return x_294; } +else +{ +lean_object* x_295; +lean_dec(x_278); +lean_dec(x_261); +lean_dec(x_258); +lean_dec(x_252); +x_295 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_295, 0, x_1); +lean_ctor_set(x_295, 1, x_279); +return x_295; +} } } } } case 10: { -lean_object* x_295; lean_object* x_296; lean_object* x_297; uint8_t x_298; -x_295 = lean_ctor_get(x_1, 0); -lean_inc(x_295); -x_296 = lean_ctor_get(x_1, 1); +lean_object* x_296; lean_object* x_297; lean_object* x_298; uint8_t x_299; +x_296 = lean_ctor_get(x_1, 0); lean_inc(x_296); -lean_inc(x_296); -x_297 = l_Lean_Meta_AbstractMVars_abstractExprMVars(x_296, x_2); -x_298 = !lean_is_exclusive(x_297); -if (x_298 == 0) +x_297 = lean_ctor_get(x_1, 1); +lean_inc(x_297); +lean_inc(x_297); +x_298 = l_Lean_Meta_AbstractMVars_abstractExprMVars(x_297, x_2); +x_299 = !lean_is_exclusive(x_298); +if (x_299 == 0) { -lean_object* x_299; size_t x_300; size_t x_301; uint8_t x_302; -x_299 = lean_ctor_get(x_297, 0); -x_300 = lean_ptr_addr(x_296); -lean_dec(x_296); -x_301 = lean_ptr_addr(x_299); -x_302 = lean_usize_dec_eq(x_300, x_301); -if (x_302 == 0) -{ -lean_object* x_303; -lean_dec(x_1); -x_303 = l_Lean_Expr_mdata___override(x_295, x_299); -lean_ctor_set(x_297, 0, x_303); -return x_297; -} -else -{ -lean_dec(x_299); -lean_dec(x_295); -lean_ctor_set(x_297, 0, x_1); -return x_297; -} -} -else -{ -lean_object* x_304; lean_object* x_305; size_t x_306; size_t x_307; uint8_t x_308; -x_304 = lean_ctor_get(x_297, 0); -x_305 = lean_ctor_get(x_297, 1); -lean_inc(x_305); -lean_inc(x_304); +lean_object* x_300; size_t x_301; size_t x_302; uint8_t x_303; +x_300 = lean_ctor_get(x_298, 0); +x_301 = lean_ptr_addr(x_297); lean_dec(x_297); -x_306 = lean_ptr_addr(x_296); -lean_dec(x_296); -x_307 = lean_ptr_addr(x_304); -x_308 = lean_usize_dec_eq(x_306, x_307); -if (x_308 == 0) +x_302 = lean_ptr_addr(x_300); +x_303 = lean_usize_dec_eq(x_301, x_302); +if (x_303 == 0) { -lean_object* x_309; lean_object* x_310; +lean_object* x_304; lean_dec(x_1); -x_309 = l_Lean_Expr_mdata___override(x_295, x_304); -x_310 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_310, 0, x_309); -lean_ctor_set(x_310, 1, x_305); -return x_310; +x_304 = l_Lean_Expr_mdata___override(x_296, x_300); +lean_ctor_set(x_298, 0, x_304); +return x_298; } else { -lean_object* x_311; -lean_dec(x_304); -lean_dec(x_295); +lean_dec(x_300); +lean_dec(x_296); +lean_ctor_set(x_298, 0, x_1); +return x_298; +} +} +else +{ +lean_object* x_305; lean_object* x_306; size_t x_307; size_t x_308; uint8_t x_309; +x_305 = lean_ctor_get(x_298, 0); +x_306 = lean_ctor_get(x_298, 1); +lean_inc(x_306); +lean_inc(x_305); +lean_dec(x_298); +x_307 = lean_ptr_addr(x_297); +lean_dec(x_297); +x_308 = lean_ptr_addr(x_305); +x_309 = lean_usize_dec_eq(x_307, x_308); +if (x_309 == 0) +{ +lean_object* x_310; lean_object* x_311; +lean_dec(x_1); +x_310 = l_Lean_Expr_mdata___override(x_296, x_305); x_311 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_311, 0, x_1); -lean_ctor_set(x_311, 1, x_305); +lean_ctor_set(x_311, 0, x_310); +lean_ctor_set(x_311, 1, x_306); return x_311; } +else +{ +lean_object* x_312; +lean_dec(x_305); +lean_dec(x_296); +x_312 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_312, 0, x_1); +lean_ctor_set(x_312, 1, x_306); +return x_312; +} } } case 11: { -lean_object* x_312; lean_object* x_313; lean_object* x_314; lean_object* x_315; uint8_t x_316; -x_312 = lean_ctor_get(x_1, 0); -lean_inc(x_312); -x_313 = lean_ctor_get(x_1, 1); +lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_316; uint8_t x_317; +x_313 = lean_ctor_get(x_1, 0); lean_inc(x_313); -x_314 = lean_ctor_get(x_1, 2); +x_314 = lean_ctor_get(x_1, 1); lean_inc(x_314); -lean_inc(x_314); -x_315 = l_Lean_Meta_AbstractMVars_abstractExprMVars(x_314, x_2); -x_316 = !lean_is_exclusive(x_315); -if (x_316 == 0) +x_315 = lean_ctor_get(x_1, 2); +lean_inc(x_315); +lean_inc(x_315); +x_316 = l_Lean_Meta_AbstractMVars_abstractExprMVars(x_315, x_2); +x_317 = !lean_is_exclusive(x_316); +if (x_317 == 0) { -lean_object* x_317; size_t x_318; size_t x_319; uint8_t x_320; -x_317 = lean_ctor_get(x_315, 0); -x_318 = lean_ptr_addr(x_314); -lean_dec(x_314); -x_319 = lean_ptr_addr(x_317); -x_320 = lean_usize_dec_eq(x_318, x_319); -if (x_320 == 0) -{ -lean_object* x_321; -lean_dec(x_1); -x_321 = l_Lean_Expr_proj___override(x_312, x_313, x_317); -lean_ctor_set(x_315, 0, x_321); -return x_315; -} -else -{ -lean_dec(x_317); -lean_dec(x_313); -lean_dec(x_312); -lean_ctor_set(x_315, 0, x_1); -return x_315; -} -} -else -{ -lean_object* x_322; lean_object* x_323; size_t x_324; size_t x_325; uint8_t x_326; -x_322 = lean_ctor_get(x_315, 0); -x_323 = lean_ctor_get(x_315, 1); -lean_inc(x_323); -lean_inc(x_322); +lean_object* x_318; size_t x_319; size_t x_320; uint8_t x_321; +x_318 = lean_ctor_get(x_316, 0); +x_319 = lean_ptr_addr(x_315); lean_dec(x_315); -x_324 = lean_ptr_addr(x_314); -lean_dec(x_314); -x_325 = lean_ptr_addr(x_322); -x_326 = lean_usize_dec_eq(x_324, x_325); -if (x_326 == 0) +x_320 = lean_ptr_addr(x_318); +x_321 = lean_usize_dec_eq(x_319, x_320); +if (x_321 == 0) { -lean_object* x_327; lean_object* x_328; +lean_object* x_322; lean_dec(x_1); -x_327 = l_Lean_Expr_proj___override(x_312, x_313, x_322); -x_328 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_328, 0, x_327); -lean_ctor_set(x_328, 1, x_323); -return x_328; +x_322 = l_Lean_Expr_proj___override(x_313, x_314, x_318); +lean_ctor_set(x_316, 0, x_322); +return x_316; } else { -lean_object* x_329; -lean_dec(x_322); +lean_dec(x_318); +lean_dec(x_314); lean_dec(x_313); -lean_dec(x_312); +lean_ctor_set(x_316, 0, x_1); +return x_316; +} +} +else +{ +lean_object* x_323; lean_object* x_324; size_t x_325; size_t x_326; uint8_t x_327; +x_323 = lean_ctor_get(x_316, 0); +x_324 = lean_ctor_get(x_316, 1); +lean_inc(x_324); +lean_inc(x_323); +lean_dec(x_316); +x_325 = lean_ptr_addr(x_315); +lean_dec(x_315); +x_326 = lean_ptr_addr(x_323); +x_327 = lean_usize_dec_eq(x_325, x_326); +if (x_327 == 0) +{ +lean_object* x_328; lean_object* x_329; +lean_dec(x_1); +x_328 = l_Lean_Expr_proj___override(x_313, x_314, x_323); x_329 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_329, 0, x_1); -lean_ctor_set(x_329, 1, x_323); +lean_ctor_set(x_329, 0, x_328); +lean_ctor_set(x_329, 1, x_324); return x_329; } +else +{ +lean_object* x_330; +lean_dec(x_323); +lean_dec(x_314); +lean_dec(x_313); +x_330 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_330, 0, x_1); +lean_ctor_set(x_330, 1, x_324); +return x_330; +} } } default: { -lean_object* x_330; -x_330 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_330, 0, x_1); -lean_ctor_set(x_330, 1, x_2); -return x_330; +lean_object* x_331; +x_331 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_331, 0, x_1); +lean_ctor_set(x_331, 1, x_2); +return x_331; } } } diff --git a/stage0/stdlib/Lean/Meta/AppBuilder.c b/stage0/stdlib/Lean/Meta/AppBuilder.c index 43bda7bf26..20b06e5605 100644 --- a/stage0/stdlib/Lean/Meta/AppBuilder.c +++ b/stage0/stdlib/Lean/Meta/AppBuilder.c @@ -151,6 +151,7 @@ static lean_object* l_Lean_Meta_mkPure___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_infer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MVarId_getDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkAppN(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_crossEmoji; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_mkProjection___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_withAppBuilderTrace___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -206,7 +207,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___b static lean_object* l_Lean_Meta_mkNumeral___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkAppOptMAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_mkLetValCongr___closed__1; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_mkNoConfusion___closed__4; lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); static lean_object* l_Lean_Meta_mkNoConfusion___closed__2; @@ -216,7 +216,6 @@ LEAN_EXPORT lean_object* l_Lean_Meta_mkId(lean_object*, lean_object*, lean_objec lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); static lean_object* l_Lean_Meta_mkDecideProof___closed__4; static lean_object* l_Lean_Meta_mkListLit___closed__2; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkAppMArgs_loop___closed__4; lean_object* l_Lean_Meta_getDecLevel(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_mkSorry___closed__10; @@ -378,6 +377,7 @@ lean_object* lean_mk_array(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_mkEqHEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_isMonad_x3f___closed__2; static lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_withAppBuilderTrace___rarg___closed__4; +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_withAppBuilderTrace___at_Lean_Meta_mkAppM___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_indentD(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_withAppBuilderTrace___at_Lean_Meta_mkAppM_x27___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -5601,97 +5601,65 @@ lean_dec(x_3); return x_9; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___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_1) == 0) { -lean_object* x_7; lean_object* x_8; -x_7 = lean_box(0); -x_8 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_8, 0, x_7); -lean_ctor_set(x_8, 1, x_6); -return x_8; +lean_object* x_8; lean_object* x_9; +x_8 = l_List_reverse___rarg(x_2); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_7); +return x_9; } else { -uint8_t x_9; -x_9 = !lean_is_exclusive(x_1); -if (x_9 == 0) +uint8_t x_10; +x_10 = !lean_is_exclusive(x_1); +if (x_10 == 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; uint8_t x_16; -x_10 = lean_ctor_get(x_1, 1); -x_11 = lean_ctor_get(x_1, 0); -lean_dec(x_11); -x_12 = l_Lean_Meta_mkFreshLevelMVar(x_2, x_3, x_4, x_5, x_6); -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_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_11 = lean_ctor_get(x_1, 1); +x_12 = lean_ctor_get(x_1, 0); lean_dec(x_12); -x_15 = l_List_mapM___at___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___spec__1(x_10, x_2, x_3, x_4, x_5, x_14); -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) +x_13 = l_Lean_Meta_mkFreshLevelMVar(x_3, x_4, x_5, x_6, x_7); +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_14); { -lean_object* x_17; -x_17 = lean_ctor_get(x_15, 0); -lean_ctor_set(x_1, 1, x_17); -lean_ctor_set(x_1, 0, x_13); -lean_ctor_set(x_15, 0, x_1); -return x_15; +lean_object* _tmp_0 = x_11; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_6 = x_15; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_7 = _tmp_6; +} +goto _start; } else { -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_15, 0); -x_19 = lean_ctor_get(x_15, 1); -lean_inc(x_19); -lean_inc(x_18); -lean_dec(x_15); -lean_ctor_set(x_1, 1, x_18); -lean_ctor_set(x_1, 0, x_13); -x_20 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_20, 0, x_1); -lean_ctor_set(x_20, 1, x_19); -return x_20; -} -} -else -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_21 = lean_ctor_get(x_1, 1); -lean_inc(x_21); +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_17 = lean_ctor_get(x_1, 1); +lean_inc(x_17); lean_dec(x_1); -x_22 = l_Lean_Meta_mkFreshLevelMVar(x_2, x_3, x_4, x_5, x_6); -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = l_List_mapM___at___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___spec__1(x_21, x_2, x_3, x_4, x_5, x_24); -x_26 = lean_ctor_get(x_25, 0); -lean_inc(x_26); -x_27 = lean_ctor_get(x_25, 1); -lean_inc(x_27); -if (lean_is_exclusive(x_25)) { - lean_ctor_release(x_25, 0); - lean_ctor_release(x_25, 1); - x_28 = x_25; -} else { - lean_dec_ref(x_25); - x_28 = lean_box(0); -} -x_29 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_29, 0, x_23); -lean_ctor_set(x_29, 1, x_26); -if (lean_is_scalar(x_28)) { - x_30 = lean_alloc_ctor(0, 2, 0); -} else { - x_30 = x_28; -} -lean_ctor_set(x_30, 0, x_29); -lean_ctor_set(x_30, 1, x_27); -return x_30; +x_18 = l_Lean_Meta_mkFreshLevelMVar(x_3, x_4, x_5, x_6, x_7); +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_2); +x_1 = x_17; +x_2 = x_21; +x_7 = x_20; +goto _start; } } } @@ -5704,88 +5672,89 @@ lean_inc(x_1); x_7 = l_Lean_getConstInfo___at_Lean_Meta_mkConstWithFreshMVarLevels___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; lean_object* x_15; uint8_t x_16; +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; uint8_t x_17; x_8 = lean_ctor_get(x_7, 0); lean_inc(x_8); x_9 = lean_ctor_get(x_7, 1); lean_inc(x_9); lean_dec(x_7); x_10 = l_Lean_ConstantInfo_levelParams(x_8); -x_11 = l_List_mapM___at___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___spec__1(x_10, x_2, x_3, x_4, x_5, x_9); -x_12 = lean_ctor_get(x_11, 0); -lean_inc(x_12); -x_13 = lean_ctor_get(x_11, 1); +x_11 = lean_box(0); +x_12 = l_List_mapM_loop___at___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___spec__1(x_10, x_11, x_2, x_3, x_4, x_5, x_9); +x_13 = lean_ctor_get(x_12, 0); lean_inc(x_13); -lean_dec(x_11); -lean_inc(x_12); -x_14 = l_Lean_Expr_const___override(x_1, x_12); -x_15 = l_Lean_Core_instantiateTypeLevelParams(x_8, x_12, x_4, x_5, x_13); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +lean_inc(x_13); +x_15 = l_Lean_Expr_const___override(x_1, x_13); +x_16 = l_Lean_Core_instantiateTypeLevelParams(x_8, x_13, x_4, x_5, x_14); lean_dec(x_8); -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) +x_17 = !lean_is_exclusive(x_16); +if (x_17 == 0) { -lean_object* x_17; lean_object* x_18; -x_17 = lean_ctor_get(x_15, 0); -x_18 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_18, 0, x_14); -lean_ctor_set(x_18, 1, x_17); -lean_ctor_set(x_15, 0, x_18); -return x_15; +lean_object* x_18; lean_object* x_19; +x_18 = lean_ctor_get(x_16, 0); +x_19 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_19, 0, x_15); +lean_ctor_set(x_19, 1, x_18); +lean_ctor_set(x_16, 0, x_19); +return x_16; } else { -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_15, 0); -x_20 = lean_ctor_get(x_15, 1); +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_20 = lean_ctor_get(x_16, 0); +x_21 = lean_ctor_get(x_16, 1); +lean_inc(x_21); lean_inc(x_20); -lean_inc(x_19); -lean_dec(x_15); -x_21 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_21, 0, x_14); -lean_ctor_set(x_21, 1, x_19); +lean_dec(x_16); x_22 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_22, 0, x_21); +lean_ctor_set(x_22, 0, x_15); lean_ctor_set(x_22, 1, x_20); -return x_22; +x_23 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_23, 0, x_22); +lean_ctor_set(x_23, 1, x_21); +return x_23; } } else { -uint8_t x_23; +uint8_t x_24; lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_23 = !lean_is_exclusive(x_7); -if (x_23 == 0) +x_24 = !lean_is_exclusive(x_7); +if (x_24 == 0) { return x_7; } else { -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_7, 0); -x_25 = lean_ctor_get(x_7, 1); +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_7, 0); +x_26 = lean_ctor_get(x_7, 1); +lean_inc(x_26); lean_inc(x_25); -lean_inc(x_24); lean_dec(x_7); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; +x_27 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_27, 0, x_25); +lean_ctor_set(x_27, 1, x_26); +return x_27; } } } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___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_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___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_7; -x_7 = l_List_mapM___at___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); +lean_object* x_8; +x_8 = l_List_mapM_loop___at___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); -return x_7; +return x_8; } } LEAN_EXPORT lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { diff --git a/stage0/stdlib/Lean/Meta/Basic.c b/stage0/stdlib/Lean/Meta/Basic.c index 3eedad94e4..c5f80068ef 100644 --- a/stage0/stdlib/Lean/Meta/Basic.c +++ b/stage0/stdlib/Lean/Meta/Basic.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Meta.Basic -// Imports: Init Lean.Data.LOption Lean.Environment Lean.Class Lean.ReducibilityAttrs Lean.Util.Trace Lean.Util.RecDepth Lean.Util.PPExt Lean.Util.ReplaceExpr Lean.Util.OccursCheck Lean.Util.MonadBacktrack Lean.Compiler.InlineAttrs Lean.Meta.TransparencyMode Lean.Meta.DiscrTreeTypes Lean.Eval Lean.CoreM +// Imports: Init Lean.Data.LOption Lean.Environment Lean.Class Lean.ReducibilityAttrs Lean.Util.ReplaceExpr Lean.Util.MonadBacktrack Lean.Compiler.InlineAttrs Lean.Meta.TransparencyMode #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -233,7 +233,7 @@ LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___ LEAN_EXPORT lean_object* l_Lean_Meta_instMonadEnvMetaM___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingAuxAux_process___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_isClassExpensive_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -uint8_t l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10498_(uint8_t, uint8_t); +uint8_t l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10509_(uint8_t, uint8_t); static lean_object* l_Lean_Meta_instAlternativeMetaM___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_setInlineAttribute___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withConfig___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1425,7 +1425,7 @@ x_5 = lean_ctor_get(x_1, 1); x_6 = lean_ctor_get_uint8(x_2, sizeof(void*)*2); x_7 = lean_ctor_get(x_2, 0); x_8 = lean_ctor_get(x_2, 1); -x_9 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10498_(x_3, x_6); +x_9 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10509_(x_3, x_6); if (x_9 == 0) { uint8_t x_10; @@ -7262,7 +7262,7 @@ x_8 = lean_ctor_get(x_6, 0); x_9 = 0; x_10 = lean_unbox(x_8); lean_dec(x_8); -x_11 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10498_(x_10, x_9); +x_11 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10509_(x_10, x_9); x_12 = lean_box(x_11); lean_ctor_set(x_6, 0, x_12); return x_6; @@ -7278,7 +7278,7 @@ lean_dec(x_6); x_15 = 0; x_16 = lean_unbox(x_13); lean_dec(x_13); -x_17 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10498_(x_16, x_15); +x_17 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10509_(x_16, x_15); x_18 = lean_box(x_17); x_19 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_19, 0, x_18); @@ -7312,7 +7312,7 @@ x_8 = lean_ctor_get(x_6, 0); x_9 = 2; x_10 = lean_unbox(x_8); lean_dec(x_8); -x_11 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10498_(x_10, x_9); +x_11 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10509_(x_10, x_9); x_12 = lean_box(x_11); lean_ctor_set(x_6, 0, x_12); return x_6; @@ -7328,7 +7328,7 @@ lean_dec(x_6); x_15 = 2; x_16 = lean_unbox(x_13); lean_dec(x_13); -x_17 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10498_(x_16, x_15); +x_17 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10509_(x_16, x_15); x_18 = lean_box(x_17); x_19 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_19, 0, x_18); @@ -35920,17 +35920,10 @@ lean_object* initialize_Lean_Data_LOption(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Environment(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Class(uint8_t builtin, lean_object*); lean_object* initialize_Lean_ReducibilityAttrs(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Util_Trace(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Util_RecDepth(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Util_PPExt(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Util_ReplaceExpr(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Util_OccursCheck(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Util_MonadBacktrack(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Compiler_InlineAttrs(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_TransparencyMode(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_DiscrTreeTypes(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Eval(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_CoreM(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Meta_Basic(uint8_t builtin, lean_object* w) { lean_object * res; @@ -35951,21 +35944,9 @@ lean_dec_ref(res); res = initialize_Lean_ReducibilityAttrs(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Util_Trace(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Util_RecDepth(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Util_PPExt(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Util_ReplaceExpr(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Util_OccursCheck(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Util_MonadBacktrack(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); @@ -35975,15 +35956,6 @@ lean_dec_ref(res); res = initialize_Lean_Meta_TransparencyMode(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_DiscrTreeTypes(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Eval(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_CoreM(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_5____closed__1 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_5____closed__1(); lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_5____closed__1); l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_5____closed__2 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_5____closed__2(); diff --git a/stage0/stdlib/Lean/Meta/Closure.c b/stage0/stdlib/Lean/Meta/Closure.c index 44495f03d4..e1e2f7ca80 100644 --- a/stage0/stdlib/Lean/Meta/Closure.c +++ b/stage0/stdlib/Lean/Meta/Closure.c @@ -14,6 +14,7 @@ extern "C" { #endif LEAN_EXPORT lean_object* l_Lean_Meta_Closure_mkBinding(uint8_t, lean_object*, lean_object*); +lean_object* l_List_reverse___rarg(lean_object*); uint8_t l_Lean_isRecCore(lean_object*, lean_object*); static lean_object* l_Lean_Meta_Closure_collectExprAux___closed__5; static lean_object* l_Lean_Meta_Closure_collectExprAux___closed__18; @@ -120,7 +121,6 @@ uint8_t l_Lean_Expr_hasLevelParam(lean_object*); lean_object* l_Lean_Meta_getZetaFVarIds___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Closure_pickNextToProcess_x3f(uint8_t); lean_object* lean_nat_sub(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Closure_collectExprAux___spec__3(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_addDecl___at_Lean_Meta_mkAuxDefinition___spec__1___closed__2; lean_object* l_Lean_KernelException_toMessageData(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Closure_mkBinding___spec__1___boxed(lean_object*, lean_object*, lean_object*); @@ -180,7 +180,6 @@ LEAN_EXPORT lean_object* l_Lean_Meta_Closure_State_exprMVarArgs___default; LEAN_EXPORT lean_object* l_Lean_Meta_Closure_mkBinding___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Closure_preprocess___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_resetZetaFVarIds___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Closure_collectExprAux___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Closure_preprocess___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_warningAsError; size_t lean_usize_of_nat(lean_object*); @@ -261,6 +260,7 @@ static lean_object* l_Lean_Meta_Closure_collectExprAux___closed__19; static lean_object* l_Lean_Meta_Closure_collectLevelAux___closed__6; LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Meta_mkAuxDefinition___spec__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Closure_collectExprAux___closed__4; +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Closure_collectExprAux___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Meta_mkAuxDefinition___spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Environment_compileDecl(lean_object*, lean_object*, lean_object*); uint8_t l_Std_PersistentArray_anyM___at_Lean_MessageLog_hasErrors___spec__1(lean_object*); @@ -288,6 +288,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_Closure_mkValueTypeClosure___boxed(lean_obj LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Closure_process___spec__2(lean_object*, lean_object*, size_t, size_t, lean_object*); static lean_object* l_Lean_Meta_Closure_mkValueTypeClosure___closed__1; lean_object* l_Lean_Meta_check(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Closure_collectExprAux___spec__3(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Closure_pushToProcess___boxed(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* lean_add_decl(lean_object*, lean_object*); @@ -3900,98 +3901,66 @@ return x_12; } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Closure_collectExprAux___spec__3(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Closure_collectExprAux___spec__3(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_9; lean_object* x_10; -x_9 = lean_box(0); -x_10 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_10, 0, x_9); -lean_ctor_set(x_10, 1, x_8); -return x_10; +lean_object* x_10; lean_object* x_11; +x_10 = l_List_reverse___rarg(x_2); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_10); +lean_ctor_set(x_11, 1, x_9); +return x_11; } else { -uint8_t x_11; -x_11 = !lean_is_exclusive(x_1); -if (x_11 == 0) +uint8_t x_12; +x_12 = !lean_is_exclusive(x_1); +if (x_12 == 0) { -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; -x_12 = lean_ctor_get(x_1, 0); -x_13 = lean_ctor_get(x_1, 1); -x_14 = l_Lean_Meta_Closure_collectLevel(x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -x_15 = lean_ctor_get(x_14, 0); -lean_inc(x_15); -x_16 = lean_ctor_get(x_14, 1); +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_13 = lean_ctor_get(x_1, 0); +x_14 = lean_ctor_get(x_1, 1); +x_15 = l_Lean_Meta_Closure_collectLevel(x_13, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_16 = lean_ctor_get(x_15, 0); lean_inc(x_16); -lean_dec(x_14); -x_17 = l_List_mapM___at_Lean_Meta_Closure_collectExprAux___spec__3(x_13, x_2, x_3, x_4, x_5, x_6, x_7, x_16); -x_18 = !lean_is_exclusive(x_17); -if (x_18 == 0) +x_17 = lean_ctor_get(x_15, 1); +lean_inc(x_17); +lean_dec(x_15); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_16); { -lean_object* x_19; -x_19 = lean_ctor_get(x_17, 0); -lean_ctor_set(x_1, 1, x_19); -lean_ctor_set(x_1, 0, x_15); -lean_ctor_set(x_17, 0, x_1); -return x_17; +lean_object* _tmp_0 = x_14; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_8 = x_17; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_9 = _tmp_8; +} +goto _start; } else { -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_ctor_get(x_17, 0); -x_21 = lean_ctor_get(x_17, 1); -lean_inc(x_21); +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_19 = lean_ctor_get(x_1, 0); +x_20 = lean_ctor_get(x_1, 1); lean_inc(x_20); -lean_dec(x_17); -lean_ctor_set(x_1, 1, x_20); -lean_ctor_set(x_1, 0, x_15); -x_22 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_22, 0, x_1); -lean_ctor_set(x_22, 1, x_21); -return x_22; -} -} -else -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_23 = lean_ctor_get(x_1, 0); -x_24 = lean_ctor_get(x_1, 1); -lean_inc(x_24); -lean_inc(x_23); +lean_inc(x_19); lean_dec(x_1); -x_25 = l_Lean_Meta_Closure_collectLevel(x_23, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -x_26 = lean_ctor_get(x_25, 0); -lean_inc(x_26); -x_27 = lean_ctor_get(x_25, 1); -lean_inc(x_27); -lean_dec(x_25); -x_28 = l_List_mapM___at_Lean_Meta_Closure_collectExprAux___spec__3(x_24, x_2, x_3, x_4, x_5, x_6, x_7, x_27); -x_29 = lean_ctor_get(x_28, 0); -lean_inc(x_29); -x_30 = lean_ctor_get(x_28, 1); -lean_inc(x_30); -if (lean_is_exclusive(x_28)) { - lean_ctor_release(x_28, 0); - lean_ctor_release(x_28, 1); - x_31 = x_28; -} else { - lean_dec_ref(x_28); - x_31 = lean_box(0); -} -x_32 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_32, 0, x_26); -lean_ctor_set(x_32, 1, x_29); -if (lean_is_scalar(x_31)) { - x_33 = lean_alloc_ctor(0, 2, 0); -} else { - x_33 = x_31; -} -lean_ctor_set(x_33, 0, x_32); -lean_ctor_set(x_33, 1, x_30); -return x_33; +x_21 = l_Lean_Meta_Closure_collectLevel(x_19, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_22 = lean_ctor_get(x_21, 0); +lean_inc(x_22); +x_23 = lean_ctor_get(x_21, 1); +lean_inc(x_23); +lean_dec(x_21); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_2); +x_1 = x_20; +x_2 = x_24; +x_9 = x_23; +goto _start; } } } @@ -5349,1872 +5318,2011 @@ return x_328; } case 4: { -lean_object* x_329; lean_object* x_330; lean_object* x_331; uint8_t x_332; +lean_object* x_329; lean_object* x_330; lean_object* x_331; lean_object* x_332; uint8_t x_333; x_329 = lean_ctor_get(x_1, 0); lean_inc(x_329); x_330 = lean_ctor_get(x_1, 1); lean_inc(x_330); +x_331 = lean_box(0); lean_inc(x_330); -x_331 = l_List_mapM___at_Lean_Meta_Closure_collectExprAux___spec__3(x_330, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_332 = l_List_mapM_loop___at_Lean_Meta_Closure_collectExprAux___spec__3(x_330, x_331, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_332 = !lean_is_exclusive(x_331); -if (x_332 == 0) +x_333 = !lean_is_exclusive(x_332); +if (x_333 == 0) { -lean_object* x_333; uint8_t x_334; -x_333 = lean_ctor_get(x_331, 0); -x_334 = l_ptrEqList___rarg(x_330, x_333); +lean_object* x_334; uint8_t x_335; +x_334 = lean_ctor_get(x_332, 0); +x_335 = l_ptrEqList___rarg(x_330, x_334); lean_dec(x_330); -if (x_334 == 0) +if (x_335 == 0) { -lean_object* x_335; +lean_object* x_336; lean_dec(x_1); -x_335 = l_Lean_Expr_const___override(x_329, x_333); -lean_ctor_set(x_331, 0, x_335); -return x_331; +x_336 = l_Lean_Expr_const___override(x_329, x_334); +lean_ctor_set(x_332, 0, x_336); +return x_332; } else { -lean_dec(x_333); +lean_dec(x_334); lean_dec(x_329); -lean_ctor_set(x_331, 0, x_1); -return x_331; +lean_ctor_set(x_332, 0, x_1); +return x_332; } } else { -lean_object* x_336; lean_object* x_337; uint8_t x_338; -x_336 = lean_ctor_get(x_331, 0); -x_337 = lean_ctor_get(x_331, 1); +lean_object* x_337; lean_object* x_338; uint8_t x_339; +x_337 = lean_ctor_get(x_332, 0); +x_338 = lean_ctor_get(x_332, 1); +lean_inc(x_338); lean_inc(x_337); -lean_inc(x_336); -lean_dec(x_331); -x_338 = l_ptrEqList___rarg(x_330, x_336); +lean_dec(x_332); +x_339 = l_ptrEqList___rarg(x_330, x_337); lean_dec(x_330); -if (x_338 == 0) +if (x_339 == 0) { -lean_object* x_339; lean_object* x_340; +lean_object* x_340; lean_object* x_341; lean_dec(x_1); -x_339 = l_Lean_Expr_const___override(x_329, x_336); -x_340 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_340, 0, x_339); -lean_ctor_set(x_340, 1, x_337); -return x_340; +x_340 = l_Lean_Expr_const___override(x_329, x_337); +x_341 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_341, 0, x_340); +lean_ctor_set(x_341, 1, x_338); +return x_341; } else { -lean_object* x_341; -lean_dec(x_336); +lean_object* x_342; +lean_dec(x_337); lean_dec(x_329); -x_341 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_341, 0, x_1); -lean_ctor_set(x_341, 1, x_337); -return x_341; +x_342 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_342, 0, x_1); +lean_ctor_set(x_342, 1, x_338); +return x_342; } } } case 5: { -lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_410; uint8_t x_448; -x_342 = lean_ctor_get(x_1, 0); -lean_inc(x_342); -x_343 = lean_ctor_get(x_1, 1); +lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_411; uint8_t x_449; +x_343 = lean_ctor_get(x_1, 0); lean_inc(x_343); -x_448 = l_Lean_Expr_hasLevelParam(x_342); -if (x_448 == 0) -{ -uint8_t x_449; -x_449 = l_Lean_Expr_hasFVar(x_342); +x_344 = lean_ctor_get(x_1, 1); +lean_inc(x_344); +x_449 = l_Lean_Expr_hasLevelParam(x_343); if (x_449 == 0) { uint8_t x_450; -x_450 = l_Lean_Expr_hasMVar(x_342); +x_450 = l_Lean_Expr_hasFVar(x_343); if (x_450 == 0) { -x_344 = x_342; -x_345 = x_8; -goto block_409; -} -else +uint8_t x_451; +x_451 = l_Lean_Expr_hasMVar(x_343); +if (x_451 == 0) { -lean_object* x_451; -x_451 = lean_box(0); -x_410 = x_451; -goto block_447; -} +x_345 = x_343; +x_346 = x_8; +goto block_410; } else { lean_object* x_452; x_452 = lean_box(0); -x_410 = x_452; -goto block_447; +x_411 = x_452; +goto block_448; } } else { lean_object* x_453; x_453 = lean_box(0); -x_410 = x_453; -goto block_447; +x_411 = x_453; +goto block_448; } -block_409: +} +else { -lean_object* x_346; lean_object* x_347; lean_object* x_365; uint8_t x_403; -x_403 = l_Lean_Expr_hasLevelParam(x_343); -if (x_403 == 0) +lean_object* x_454; +x_454 = lean_box(0); +x_411 = x_454; +goto block_448; +} +block_410: { -uint8_t x_404; -x_404 = l_Lean_Expr_hasFVar(x_343); +lean_object* x_347; lean_object* x_348; lean_object* x_366; uint8_t x_404; +x_404 = l_Lean_Expr_hasLevelParam(x_344); if (x_404 == 0) { uint8_t x_405; -x_405 = l_Lean_Expr_hasMVar(x_343); +x_405 = l_Lean_Expr_hasFVar(x_344); if (x_405 == 0) { +uint8_t x_406; +x_406 = l_Lean_Expr_hasMVar(x_344); +if (x_406 == 0) +{ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_346 = x_343; -x_347 = x_345; -goto block_364; -} -else -{ -lean_object* x_406; -x_406 = lean_box(0); -x_365 = x_406; -goto block_402; -} +x_347 = x_344; +x_348 = x_346; +goto block_365; } else { lean_object* x_407; x_407 = lean_box(0); -x_365 = x_407; -goto block_402; +x_366 = x_407; +goto block_403; } } else { lean_object* x_408; x_408 = lean_box(0); -x_365 = x_408; -goto block_402; +x_366 = x_408; +goto block_403; } -block_364: +} +else +{ +lean_object* x_409; +x_409 = lean_box(0); +x_366 = x_409; +goto block_403; +} +block_365: { if (lean_obj_tag(x_1) == 5) { -lean_object* x_348; lean_object* x_349; size_t x_350; size_t x_351; uint8_t x_352; -x_348 = lean_ctor_get(x_1, 0); -lean_inc(x_348); -x_349 = lean_ctor_get(x_1, 1); +lean_object* x_349; lean_object* x_350; size_t x_351; size_t x_352; uint8_t x_353; +x_349 = lean_ctor_get(x_1, 0); lean_inc(x_349); -x_350 = lean_ptr_addr(x_348); -lean_dec(x_348); -x_351 = lean_ptr_addr(x_344); -x_352 = lean_usize_dec_eq(x_350, x_351); -if (x_352 == 0) -{ -lean_object* x_353; lean_object* x_354; +x_350 = lean_ctor_get(x_1, 1); +lean_inc(x_350); +x_351 = lean_ptr_addr(x_349); lean_dec(x_349); +x_352 = lean_ptr_addr(x_345); +x_353 = lean_usize_dec_eq(x_351, x_352); +if (x_353 == 0) +{ +lean_object* x_354; lean_object* x_355; +lean_dec(x_350); lean_dec(x_1); -x_353 = l_Lean_Expr_app___override(x_344, x_346); -x_354 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_354, 0, x_353); -lean_ctor_set(x_354, 1, x_347); -return x_354; +x_354 = l_Lean_Expr_app___override(x_345, x_347); +x_355 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_355, 0, x_354); +lean_ctor_set(x_355, 1, x_348); +return x_355; } else { -size_t x_355; size_t x_356; uint8_t x_357; -x_355 = lean_ptr_addr(x_349); -lean_dec(x_349); -x_356 = lean_ptr_addr(x_346); -x_357 = lean_usize_dec_eq(x_355, x_356); -if (x_357 == 0) +size_t x_356; size_t x_357; uint8_t x_358; +x_356 = lean_ptr_addr(x_350); +lean_dec(x_350); +x_357 = lean_ptr_addr(x_347); +x_358 = lean_usize_dec_eq(x_356, x_357); +if (x_358 == 0) { -lean_object* x_358; lean_object* x_359; +lean_object* x_359; lean_object* x_360; lean_dec(x_1); -x_358 = l_Lean_Expr_app___override(x_344, x_346); -x_359 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_359, 0, x_358); -lean_ctor_set(x_359, 1, x_347); -return x_359; -} -else -{ -lean_object* x_360; -lean_dec(x_346); -lean_dec(x_344); +x_359 = l_Lean_Expr_app___override(x_345, x_347); x_360 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_360, 0, x_1); -lean_ctor_set(x_360, 1, x_347); +lean_ctor_set(x_360, 0, x_359); +lean_ctor_set(x_360, 1, x_348); return x_360; } +else +{ +lean_object* x_361; +lean_dec(x_347); +lean_dec(x_345); +x_361 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_361, 0, x_1); +lean_ctor_set(x_361, 1, x_348); +return x_361; +} } } else { -lean_object* x_361; lean_object* x_362; lean_object* x_363; -lean_dec(x_346); -lean_dec(x_344); +lean_object* x_362; lean_object* x_363; lean_object* x_364; +lean_dec(x_347); +lean_dec(x_345); lean_dec(x_1); -x_361 = l_Lean_Meta_Closure_collectExprAux___closed__10; -x_362 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_361); -x_363 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_363, 0, x_362); -lean_ctor_set(x_363, 1, x_347); -return x_363; +x_362 = l_Lean_Meta_Closure_collectExprAux___closed__10; +x_363 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_362); +x_364 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_364, 0, x_363); +lean_ctor_set(x_364, 1, x_348); +return x_364; } } -block_402: +block_403: { -lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369; lean_object* x_370; lean_object* x_371; lean_object* x_372; -lean_dec(x_365); -x_366 = lean_st_ref_get(x_7, x_345); -x_367 = lean_ctor_get(x_366, 1); -lean_inc(x_367); +lean_object* x_367; lean_object* x_368; lean_object* x_369; lean_object* x_370; lean_object* x_371; lean_object* x_372; lean_object* x_373; lean_dec(x_366); -x_368 = lean_st_ref_get(x_3, x_367); -x_369 = lean_ctor_get(x_368, 0); -lean_inc(x_369); -x_370 = lean_ctor_get(x_368, 1); +x_367 = lean_st_ref_get(x_7, x_346); +x_368 = lean_ctor_get(x_367, 1); +lean_inc(x_368); +lean_dec(x_367); +x_369 = lean_st_ref_get(x_3, x_368); +x_370 = lean_ctor_get(x_369, 0); lean_inc(x_370); -lean_dec(x_368); x_371 = lean_ctor_get(x_369, 1); lean_inc(x_371); lean_dec(x_369); -lean_inc(x_343); -x_372 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_371, x_343); -if (lean_obj_tag(x_372) == 0) -{ -lean_object* x_373; -lean_inc(x_7); -lean_inc(x_343); -x_373 = l_Lean_Meta_Closure_collectExprAux(x_343, x_2, x_3, x_4, x_5, x_6, x_7, x_370); +x_372 = lean_ctor_get(x_370, 1); +lean_inc(x_372); +lean_dec(x_370); +lean_inc(x_344); +x_373 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_372, x_344); if (lean_obj_tag(x_373) == 0) { -lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_395; lean_object* x_396; -x_374 = lean_ctor_get(x_373, 0); -lean_inc(x_374); -x_375 = lean_ctor_get(x_373, 1); +lean_object* x_374; +lean_inc(x_7); +lean_inc(x_344); +x_374 = l_Lean_Meta_Closure_collectExprAux(x_344, x_2, x_3, x_4, x_5, x_6, x_7, x_371); +if (lean_obj_tag(x_374) == 0) +{ +lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_395; lean_object* x_396; lean_object* x_397; +x_375 = lean_ctor_get(x_374, 0); lean_inc(x_375); -lean_dec(x_373); -x_376 = lean_st_ref_get(x_7, x_375); +x_376 = lean_ctor_get(x_374, 1); +lean_inc(x_376); +lean_dec(x_374); +x_377 = lean_st_ref_get(x_7, x_376); lean_dec(x_7); -x_377 = lean_ctor_get(x_376, 1); -lean_inc(x_377); -lean_dec(x_376); -x_378 = lean_st_ref_take(x_3, x_377); -x_379 = lean_ctor_get(x_378, 0); -lean_inc(x_379); -x_380 = lean_ctor_get(x_378, 1); +x_378 = lean_ctor_get(x_377, 1); +lean_inc(x_378); +lean_dec(x_377); +x_379 = lean_st_ref_take(x_3, x_378); +x_380 = lean_ctor_get(x_379, 0); lean_inc(x_380); -lean_dec(x_378); -x_381 = lean_ctor_get(x_379, 0); +x_381 = lean_ctor_get(x_379, 1); lean_inc(x_381); -x_382 = lean_ctor_get(x_379, 1); -lean_inc(x_382); -lean_inc(x_374); -x_383 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_382, x_343, x_374); -x_384 = lean_ctor_get(x_379, 2); -lean_inc(x_384); -x_385 = lean_ctor_get(x_379, 3); -lean_inc(x_385); -x_386 = lean_ctor_get(x_379, 4); -lean_inc(x_386); -x_387 = lean_ctor_get(x_379, 5); -lean_inc(x_387); -x_388 = lean_ctor_get(x_379, 6); -lean_inc(x_388); -x_389 = lean_ctor_get(x_379, 7); -lean_inc(x_389); -x_390 = lean_ctor_get(x_379, 8); -lean_inc(x_390); -x_391 = lean_ctor_get(x_379, 9); -lean_inc(x_391); -x_392 = lean_ctor_get(x_379, 10); -lean_inc(x_392); -x_393 = lean_ctor_get(x_379, 11); -lean_inc(x_393); lean_dec(x_379); -x_394 = lean_alloc_ctor(0, 12, 0); -lean_ctor_set(x_394, 0, x_381); -lean_ctor_set(x_394, 1, x_383); -lean_ctor_set(x_394, 2, x_384); -lean_ctor_set(x_394, 3, x_385); -lean_ctor_set(x_394, 4, x_386); -lean_ctor_set(x_394, 5, x_387); -lean_ctor_set(x_394, 6, x_388); -lean_ctor_set(x_394, 7, x_389); -lean_ctor_set(x_394, 8, x_390); -lean_ctor_set(x_394, 9, x_391); -lean_ctor_set(x_394, 10, x_392); -lean_ctor_set(x_394, 11, x_393); -x_395 = lean_st_ref_set(x_3, x_394, x_380); -x_396 = lean_ctor_get(x_395, 1); -lean_inc(x_396); -lean_dec(x_395); -x_346 = x_374; -x_347 = x_396; -goto block_364; +x_382 = lean_ctor_get(x_380, 0); +lean_inc(x_382); +x_383 = lean_ctor_get(x_380, 1); +lean_inc(x_383); +lean_inc(x_375); +x_384 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_383, x_344, x_375); +x_385 = lean_ctor_get(x_380, 2); +lean_inc(x_385); +x_386 = lean_ctor_get(x_380, 3); +lean_inc(x_386); +x_387 = lean_ctor_get(x_380, 4); +lean_inc(x_387); +x_388 = lean_ctor_get(x_380, 5); +lean_inc(x_388); +x_389 = lean_ctor_get(x_380, 6); +lean_inc(x_389); +x_390 = lean_ctor_get(x_380, 7); +lean_inc(x_390); +x_391 = lean_ctor_get(x_380, 8); +lean_inc(x_391); +x_392 = lean_ctor_get(x_380, 9); +lean_inc(x_392); +x_393 = lean_ctor_get(x_380, 10); +lean_inc(x_393); +x_394 = lean_ctor_get(x_380, 11); +lean_inc(x_394); +lean_dec(x_380); +x_395 = lean_alloc_ctor(0, 12, 0); +lean_ctor_set(x_395, 0, x_382); +lean_ctor_set(x_395, 1, x_384); +lean_ctor_set(x_395, 2, x_385); +lean_ctor_set(x_395, 3, x_386); +lean_ctor_set(x_395, 4, x_387); +lean_ctor_set(x_395, 5, x_388); +lean_ctor_set(x_395, 6, x_389); +lean_ctor_set(x_395, 7, x_390); +lean_ctor_set(x_395, 8, x_391); +lean_ctor_set(x_395, 9, x_392); +lean_ctor_set(x_395, 10, x_393); +lean_ctor_set(x_395, 11, x_394); +x_396 = lean_st_ref_set(x_3, x_395, x_381); +x_397 = lean_ctor_get(x_396, 1); +lean_inc(x_397); +lean_dec(x_396); +x_347 = x_375; +x_348 = x_397; +goto block_365; } else { -uint8_t x_397; +uint8_t x_398; +lean_dec(x_345); lean_dec(x_344); -lean_dec(x_343); lean_dec(x_7); lean_dec(x_1); -x_397 = !lean_is_exclusive(x_373); -if (x_397 == 0) +x_398 = !lean_is_exclusive(x_374); +if (x_398 == 0) { -return x_373; +return x_374; } else { -lean_object* x_398; lean_object* x_399; lean_object* x_400; -x_398 = lean_ctor_get(x_373, 0); -x_399 = lean_ctor_get(x_373, 1); +lean_object* x_399; lean_object* x_400; lean_object* x_401; +x_399 = lean_ctor_get(x_374, 0); +x_400 = lean_ctor_get(x_374, 1); +lean_inc(x_400); lean_inc(x_399); -lean_inc(x_398); -lean_dec(x_373); -x_400 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_400, 0, x_398); -lean_ctor_set(x_400, 1, x_399); -return x_400; +lean_dec(x_374); +x_401 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_401, 0, x_399); +lean_ctor_set(x_401, 1, x_400); +return x_401; } } } else { -lean_object* x_401; -lean_dec(x_343); +lean_object* x_402; +lean_dec(x_344); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_401 = lean_ctor_get(x_372, 0); -lean_inc(x_401); -lean_dec(x_372); -x_346 = x_401; -x_347 = x_370; -goto block_364; +x_402 = lean_ctor_get(x_373, 0); +lean_inc(x_402); +lean_dec(x_373); +x_347 = x_402; +x_348 = x_371; +goto block_365; } } } -block_447: +block_448: { -lean_object* x_411; lean_object* x_412; lean_object* x_413; lean_object* x_414; lean_object* x_415; lean_object* x_416; lean_object* x_417; -lean_dec(x_410); -x_411 = lean_st_ref_get(x_7, x_8); -x_412 = lean_ctor_get(x_411, 1); -lean_inc(x_412); +lean_object* x_412; lean_object* x_413; lean_object* x_414; lean_object* x_415; lean_object* x_416; lean_object* x_417; lean_object* x_418; lean_dec(x_411); -x_413 = lean_st_ref_get(x_3, x_412); -x_414 = lean_ctor_get(x_413, 0); -lean_inc(x_414); -x_415 = lean_ctor_get(x_413, 1); +x_412 = lean_st_ref_get(x_7, x_8); +x_413 = lean_ctor_get(x_412, 1); +lean_inc(x_413); +lean_dec(x_412); +x_414 = lean_st_ref_get(x_3, x_413); +x_415 = lean_ctor_get(x_414, 0); lean_inc(x_415); -lean_dec(x_413); x_416 = lean_ctor_get(x_414, 1); lean_inc(x_416); lean_dec(x_414); -lean_inc(x_342); -x_417 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_416, x_342); -if (lean_obj_tag(x_417) == 0) +x_417 = lean_ctor_get(x_415, 1); +lean_inc(x_417); +lean_dec(x_415); +lean_inc(x_343); +x_418 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_417, x_343); +if (lean_obj_tag(x_418) == 0) { -lean_object* x_418; +lean_object* x_419; lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_342); -x_418 = l_Lean_Meta_Closure_collectExprAux(x_342, x_2, x_3, x_4, x_5, x_6, x_7, x_415); -if (lean_obj_tag(x_418) == 0) +lean_inc(x_343); +x_419 = l_Lean_Meta_Closure_collectExprAux(x_343, x_2, x_3, x_4, x_5, x_6, x_7, x_416); +if (lean_obj_tag(x_419) == 0) { -lean_object* x_419; lean_object* x_420; lean_object* x_421; lean_object* x_422; lean_object* x_423; lean_object* x_424; lean_object* x_425; lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; lean_object* x_434; lean_object* x_435; lean_object* x_436; lean_object* x_437; lean_object* x_438; lean_object* x_439; lean_object* x_440; lean_object* x_441; -x_419 = lean_ctor_get(x_418, 0); -lean_inc(x_419); -x_420 = lean_ctor_get(x_418, 1); +lean_object* x_420; lean_object* x_421; lean_object* x_422; lean_object* x_423; lean_object* x_424; lean_object* x_425; lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; lean_object* x_434; lean_object* x_435; lean_object* x_436; lean_object* x_437; lean_object* x_438; lean_object* x_439; lean_object* x_440; lean_object* x_441; lean_object* x_442; +x_420 = lean_ctor_get(x_419, 0); lean_inc(x_420); -lean_dec(x_418); -x_421 = lean_st_ref_get(x_7, x_420); -x_422 = lean_ctor_get(x_421, 1); -lean_inc(x_422); -lean_dec(x_421); -x_423 = lean_st_ref_take(x_3, x_422); -x_424 = lean_ctor_get(x_423, 0); -lean_inc(x_424); -x_425 = lean_ctor_get(x_423, 1); +x_421 = lean_ctor_get(x_419, 1); +lean_inc(x_421); +lean_dec(x_419); +x_422 = lean_st_ref_get(x_7, x_421); +x_423 = lean_ctor_get(x_422, 1); +lean_inc(x_423); +lean_dec(x_422); +x_424 = lean_st_ref_take(x_3, x_423); +x_425 = lean_ctor_get(x_424, 0); lean_inc(x_425); -lean_dec(x_423); -x_426 = lean_ctor_get(x_424, 0); +x_426 = lean_ctor_get(x_424, 1); lean_inc(x_426); -x_427 = lean_ctor_get(x_424, 1); -lean_inc(x_427); -lean_inc(x_419); -x_428 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_427, x_342, x_419); -x_429 = lean_ctor_get(x_424, 2); -lean_inc(x_429); -x_430 = lean_ctor_get(x_424, 3); -lean_inc(x_430); -x_431 = lean_ctor_get(x_424, 4); -lean_inc(x_431); -x_432 = lean_ctor_get(x_424, 5); -lean_inc(x_432); -x_433 = lean_ctor_get(x_424, 6); -lean_inc(x_433); -x_434 = lean_ctor_get(x_424, 7); -lean_inc(x_434); -x_435 = lean_ctor_get(x_424, 8); -lean_inc(x_435); -x_436 = lean_ctor_get(x_424, 9); -lean_inc(x_436); -x_437 = lean_ctor_get(x_424, 10); -lean_inc(x_437); -x_438 = lean_ctor_get(x_424, 11); -lean_inc(x_438); lean_dec(x_424); -x_439 = lean_alloc_ctor(0, 12, 0); -lean_ctor_set(x_439, 0, x_426); -lean_ctor_set(x_439, 1, x_428); -lean_ctor_set(x_439, 2, x_429); -lean_ctor_set(x_439, 3, x_430); -lean_ctor_set(x_439, 4, x_431); -lean_ctor_set(x_439, 5, x_432); -lean_ctor_set(x_439, 6, x_433); -lean_ctor_set(x_439, 7, x_434); -lean_ctor_set(x_439, 8, x_435); -lean_ctor_set(x_439, 9, x_436); -lean_ctor_set(x_439, 10, x_437); -lean_ctor_set(x_439, 11, x_438); -x_440 = lean_st_ref_set(x_3, x_439, x_425); -x_441 = lean_ctor_get(x_440, 1); -lean_inc(x_441); -lean_dec(x_440); -x_344 = x_419; -x_345 = x_441; -goto block_409; +x_427 = lean_ctor_get(x_425, 0); +lean_inc(x_427); +x_428 = lean_ctor_get(x_425, 1); +lean_inc(x_428); +lean_inc(x_420); +x_429 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_428, x_343, x_420); +x_430 = lean_ctor_get(x_425, 2); +lean_inc(x_430); +x_431 = lean_ctor_get(x_425, 3); +lean_inc(x_431); +x_432 = lean_ctor_get(x_425, 4); +lean_inc(x_432); +x_433 = lean_ctor_get(x_425, 5); +lean_inc(x_433); +x_434 = lean_ctor_get(x_425, 6); +lean_inc(x_434); +x_435 = lean_ctor_get(x_425, 7); +lean_inc(x_435); +x_436 = lean_ctor_get(x_425, 8); +lean_inc(x_436); +x_437 = lean_ctor_get(x_425, 9); +lean_inc(x_437); +x_438 = lean_ctor_get(x_425, 10); +lean_inc(x_438); +x_439 = lean_ctor_get(x_425, 11); +lean_inc(x_439); +lean_dec(x_425); +x_440 = lean_alloc_ctor(0, 12, 0); +lean_ctor_set(x_440, 0, x_427); +lean_ctor_set(x_440, 1, x_429); +lean_ctor_set(x_440, 2, x_430); +lean_ctor_set(x_440, 3, x_431); +lean_ctor_set(x_440, 4, x_432); +lean_ctor_set(x_440, 5, x_433); +lean_ctor_set(x_440, 6, x_434); +lean_ctor_set(x_440, 7, x_435); +lean_ctor_set(x_440, 8, x_436); +lean_ctor_set(x_440, 9, x_437); +lean_ctor_set(x_440, 10, x_438); +lean_ctor_set(x_440, 11, x_439); +x_441 = lean_st_ref_set(x_3, x_440, x_426); +x_442 = lean_ctor_get(x_441, 1); +lean_inc(x_442); +lean_dec(x_441); +x_345 = x_420; +x_346 = x_442; +goto block_410; } else { -uint8_t x_442; +uint8_t x_443; +lean_dec(x_344); lean_dec(x_343); -lean_dec(x_342); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_442 = !lean_is_exclusive(x_418); -if (x_442 == 0) +x_443 = !lean_is_exclusive(x_419); +if (x_443 == 0) { -return x_418; +return x_419; } else { -lean_object* x_443; lean_object* x_444; lean_object* x_445; -x_443 = lean_ctor_get(x_418, 0); -x_444 = lean_ctor_get(x_418, 1); +lean_object* x_444; lean_object* x_445; lean_object* x_446; +x_444 = lean_ctor_get(x_419, 0); +x_445 = lean_ctor_get(x_419, 1); +lean_inc(x_445); lean_inc(x_444); -lean_inc(x_443); -lean_dec(x_418); -x_445 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_445, 0, x_443); -lean_ctor_set(x_445, 1, x_444); -return x_445; +lean_dec(x_419); +x_446 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_446, 0, x_444); +lean_ctor_set(x_446, 1, x_445); +return x_446; } } } else { -lean_object* x_446; -lean_dec(x_342); -x_446 = lean_ctor_get(x_417, 0); -lean_inc(x_446); -lean_dec(x_417); -x_344 = x_446; -x_345 = x_415; -goto block_409; +lean_object* x_447; +lean_dec(x_343); +x_447 = lean_ctor_get(x_418, 0); +lean_inc(x_447); +lean_dec(x_418); +x_345 = x_447; +x_346 = x_416; +goto block_410; } } } case 6: { -lean_object* x_454; lean_object* x_455; lean_object* x_456; lean_object* x_457; lean_object* x_528; uint8_t x_566; -x_454 = lean_ctor_get(x_1, 1); -lean_inc(x_454); -x_455 = lean_ctor_get(x_1, 2); +lean_object* x_455; lean_object* x_456; lean_object* x_457; lean_object* x_458; lean_object* x_529; uint8_t x_567; +x_455 = lean_ctor_get(x_1, 1); lean_inc(x_455); -x_566 = l_Lean_Expr_hasLevelParam(x_454); -if (x_566 == 0) -{ -uint8_t x_567; -x_567 = l_Lean_Expr_hasFVar(x_454); +x_456 = lean_ctor_get(x_1, 2); +lean_inc(x_456); +x_567 = l_Lean_Expr_hasLevelParam(x_455); if (x_567 == 0) { uint8_t x_568; -x_568 = l_Lean_Expr_hasMVar(x_454); +x_568 = l_Lean_Expr_hasFVar(x_455); if (x_568 == 0) { -x_456 = x_454; -x_457 = x_8; -goto block_527; -} -else +uint8_t x_569; +x_569 = l_Lean_Expr_hasMVar(x_455); +if (x_569 == 0) { -lean_object* x_569; -x_569 = lean_box(0); -x_528 = x_569; -goto block_565; -} +x_457 = x_455; +x_458 = x_8; +goto block_528; } else { lean_object* x_570; x_570 = lean_box(0); -x_528 = x_570; -goto block_565; +x_529 = x_570; +goto block_566; } } else { lean_object* x_571; x_571 = lean_box(0); -x_528 = x_571; -goto block_565; +x_529 = x_571; +goto block_566; } -block_527: +} +else { -lean_object* x_458; lean_object* x_459; lean_object* x_483; uint8_t x_521; -x_521 = l_Lean_Expr_hasLevelParam(x_455); -if (x_521 == 0) +lean_object* x_572; +x_572 = lean_box(0); +x_529 = x_572; +goto block_566; +} +block_528: { -uint8_t x_522; -x_522 = l_Lean_Expr_hasFVar(x_455); +lean_object* x_459; lean_object* x_460; lean_object* x_484; uint8_t x_522; +x_522 = l_Lean_Expr_hasLevelParam(x_456); if (x_522 == 0) { uint8_t x_523; -x_523 = l_Lean_Expr_hasMVar(x_455); +x_523 = l_Lean_Expr_hasFVar(x_456); if (x_523 == 0) { +uint8_t x_524; +x_524 = l_Lean_Expr_hasMVar(x_456); +if (x_524 == 0) +{ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_458 = x_455; -x_459 = x_457; -goto block_482; -} -else -{ -lean_object* x_524; -x_524 = lean_box(0); -x_483 = x_524; -goto block_520; -} +x_459 = x_456; +x_460 = x_458; +goto block_483; } else { lean_object* x_525; x_525 = lean_box(0); -x_483 = x_525; -goto block_520; +x_484 = x_525; +goto block_521; } } else { lean_object* x_526; x_526 = lean_box(0); -x_483 = x_526; -goto block_520; +x_484 = x_526; +goto block_521; } -block_482: +} +else +{ +lean_object* x_527; +x_527 = lean_box(0); +x_484 = x_527; +goto block_521; +} +block_483: { if (lean_obj_tag(x_1) == 6) { -lean_object* x_460; lean_object* x_461; lean_object* x_462; uint8_t x_463; lean_object* x_464; size_t x_465; size_t x_466; uint8_t x_467; -x_460 = lean_ctor_get(x_1, 0); -lean_inc(x_460); -x_461 = lean_ctor_get(x_1, 1); +lean_object* x_461; lean_object* x_462; lean_object* x_463; uint8_t x_464; lean_object* x_465; size_t x_466; size_t x_467; uint8_t x_468; +x_461 = lean_ctor_get(x_1, 0); lean_inc(x_461); -x_462 = lean_ctor_get(x_1, 2); +x_462 = lean_ctor_get(x_1, 1); lean_inc(x_462); -x_463 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8); +x_463 = lean_ctor_get(x_1, 2); +lean_inc(x_463); +x_464 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8); lean_dec(x_1); +lean_inc(x_463); lean_inc(x_462); lean_inc(x_461); -lean_inc(x_460); -x_464 = l_Lean_Expr_lam___override(x_460, x_461, x_462, x_463); -x_465 = lean_ptr_addr(x_461); -lean_dec(x_461); -x_466 = lean_ptr_addr(x_456); -x_467 = lean_usize_dec_eq(x_465, x_466); -if (x_467 == 0) -{ -lean_object* x_468; lean_object* x_469; -lean_dec(x_464); +x_465 = l_Lean_Expr_lam___override(x_461, x_462, x_463, x_464); +x_466 = lean_ptr_addr(x_462); lean_dec(x_462); -x_468 = l_Lean_Expr_lam___override(x_460, x_456, x_458, x_463); -x_469 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_469, 0, x_468); -lean_ctor_set(x_469, 1, x_459); -return x_469; +x_467 = lean_ptr_addr(x_457); +x_468 = lean_usize_dec_eq(x_466, x_467); +if (x_468 == 0) +{ +lean_object* x_469; lean_object* x_470; +lean_dec(x_465); +lean_dec(x_463); +x_469 = l_Lean_Expr_lam___override(x_461, x_457, x_459, x_464); +x_470 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_470, 0, x_469); +lean_ctor_set(x_470, 1, x_460); +return x_470; } else { -size_t x_470; size_t x_471; uint8_t x_472; -x_470 = lean_ptr_addr(x_462); -lean_dec(x_462); -x_471 = lean_ptr_addr(x_458); -x_472 = lean_usize_dec_eq(x_470, x_471); -if (x_472 == 0) +size_t x_471; size_t x_472; uint8_t x_473; +x_471 = lean_ptr_addr(x_463); +lean_dec(x_463); +x_472 = lean_ptr_addr(x_459); +x_473 = lean_usize_dec_eq(x_471, x_472); +if (x_473 == 0) { -lean_object* x_473; lean_object* x_474; -lean_dec(x_464); -x_473 = l_Lean_Expr_lam___override(x_460, x_456, x_458, x_463); -x_474 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_474, 0, x_473); -lean_ctor_set(x_474, 1, x_459); -return x_474; +lean_object* x_474; lean_object* x_475; +lean_dec(x_465); +x_474 = l_Lean_Expr_lam___override(x_461, x_457, x_459, x_464); +x_475 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_475, 0, x_474); +lean_ctor_set(x_475, 1, x_460); +return x_475; } else { -uint8_t x_475; -x_475 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_463, x_463); -if (x_475 == 0) +uint8_t x_476; +x_476 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_464, x_464); +if (x_476 == 0) { -lean_object* x_476; lean_object* x_477; -lean_dec(x_464); -x_476 = l_Lean_Expr_lam___override(x_460, x_456, x_458, x_463); -x_477 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_477, 0, x_476); -lean_ctor_set(x_477, 1, x_459); -return x_477; -} -else -{ -lean_object* x_478; -lean_dec(x_460); -lean_dec(x_458); -lean_dec(x_456); +lean_object* x_477; lean_object* x_478; +lean_dec(x_465); +x_477 = l_Lean_Expr_lam___override(x_461, x_457, x_459, x_464); x_478 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_478, 0, x_464); -lean_ctor_set(x_478, 1, x_459); +lean_ctor_set(x_478, 0, x_477); +lean_ctor_set(x_478, 1, x_460); return x_478; } +else +{ +lean_object* x_479; +lean_dec(x_461); +lean_dec(x_459); +lean_dec(x_457); +x_479 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_479, 0, x_465); +lean_ctor_set(x_479, 1, x_460); +return x_479; +} } } } else { -lean_object* x_479; lean_object* x_480; lean_object* x_481; -lean_dec(x_458); -lean_dec(x_456); +lean_object* x_480; lean_object* x_481; lean_object* x_482; +lean_dec(x_459); +lean_dec(x_457); lean_dec(x_1); -x_479 = l_Lean_Meta_Closure_collectExprAux___closed__13; -x_480 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_479); -x_481 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_481, 0, x_480); -lean_ctor_set(x_481, 1, x_459); -return x_481; +x_480 = l_Lean_Meta_Closure_collectExprAux___closed__13; +x_481 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_480); +x_482 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_482, 0, x_481); +lean_ctor_set(x_482, 1, x_460); +return x_482; } } -block_520: +block_521: { -lean_object* x_484; lean_object* x_485; lean_object* x_486; lean_object* x_487; lean_object* x_488; lean_object* x_489; lean_object* x_490; -lean_dec(x_483); -x_484 = lean_st_ref_get(x_7, x_457); -x_485 = lean_ctor_get(x_484, 1); -lean_inc(x_485); +lean_object* x_485; lean_object* x_486; lean_object* x_487; lean_object* x_488; lean_object* x_489; lean_object* x_490; lean_object* x_491; lean_dec(x_484); -x_486 = lean_st_ref_get(x_3, x_485); -x_487 = lean_ctor_get(x_486, 0); -lean_inc(x_487); -x_488 = lean_ctor_get(x_486, 1); +x_485 = lean_st_ref_get(x_7, x_458); +x_486 = lean_ctor_get(x_485, 1); +lean_inc(x_486); +lean_dec(x_485); +x_487 = lean_st_ref_get(x_3, x_486); +x_488 = lean_ctor_get(x_487, 0); lean_inc(x_488); -lean_dec(x_486); x_489 = lean_ctor_get(x_487, 1); lean_inc(x_489); lean_dec(x_487); -lean_inc(x_455); -x_490 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_489, x_455); -if (lean_obj_tag(x_490) == 0) -{ -lean_object* x_491; -lean_inc(x_7); -lean_inc(x_455); -x_491 = l_Lean_Meta_Closure_collectExprAux(x_455, x_2, x_3, x_4, x_5, x_6, x_7, x_488); +x_490 = lean_ctor_get(x_488, 1); +lean_inc(x_490); +lean_dec(x_488); +lean_inc(x_456); +x_491 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_490, x_456); if (lean_obj_tag(x_491) == 0) { -lean_object* x_492; lean_object* x_493; lean_object* x_494; lean_object* x_495; lean_object* x_496; lean_object* x_497; lean_object* x_498; lean_object* x_499; lean_object* x_500; lean_object* x_501; lean_object* x_502; lean_object* x_503; lean_object* x_504; lean_object* x_505; lean_object* x_506; lean_object* x_507; lean_object* x_508; lean_object* x_509; lean_object* x_510; lean_object* x_511; lean_object* x_512; lean_object* x_513; lean_object* x_514; -x_492 = lean_ctor_get(x_491, 0); -lean_inc(x_492); -x_493 = lean_ctor_get(x_491, 1); +lean_object* x_492; +lean_inc(x_7); +lean_inc(x_456); +x_492 = l_Lean_Meta_Closure_collectExprAux(x_456, x_2, x_3, x_4, x_5, x_6, x_7, x_489); +if (lean_obj_tag(x_492) == 0) +{ +lean_object* x_493; lean_object* x_494; lean_object* x_495; lean_object* x_496; lean_object* x_497; lean_object* x_498; lean_object* x_499; lean_object* x_500; lean_object* x_501; lean_object* x_502; lean_object* x_503; lean_object* x_504; lean_object* x_505; lean_object* x_506; lean_object* x_507; lean_object* x_508; lean_object* x_509; lean_object* x_510; lean_object* x_511; lean_object* x_512; lean_object* x_513; lean_object* x_514; lean_object* x_515; +x_493 = lean_ctor_get(x_492, 0); lean_inc(x_493); -lean_dec(x_491); -x_494 = lean_st_ref_get(x_7, x_493); +x_494 = lean_ctor_get(x_492, 1); +lean_inc(x_494); +lean_dec(x_492); +x_495 = lean_st_ref_get(x_7, x_494); lean_dec(x_7); -x_495 = lean_ctor_get(x_494, 1); -lean_inc(x_495); -lean_dec(x_494); -x_496 = lean_st_ref_take(x_3, x_495); -x_497 = lean_ctor_get(x_496, 0); -lean_inc(x_497); -x_498 = lean_ctor_get(x_496, 1); +x_496 = lean_ctor_get(x_495, 1); +lean_inc(x_496); +lean_dec(x_495); +x_497 = lean_st_ref_take(x_3, x_496); +x_498 = lean_ctor_get(x_497, 0); lean_inc(x_498); -lean_dec(x_496); -x_499 = lean_ctor_get(x_497, 0); +x_499 = lean_ctor_get(x_497, 1); lean_inc(x_499); -x_500 = lean_ctor_get(x_497, 1); -lean_inc(x_500); -lean_inc(x_492); -x_501 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_500, x_455, x_492); -x_502 = lean_ctor_get(x_497, 2); -lean_inc(x_502); -x_503 = lean_ctor_get(x_497, 3); -lean_inc(x_503); -x_504 = lean_ctor_get(x_497, 4); -lean_inc(x_504); -x_505 = lean_ctor_get(x_497, 5); -lean_inc(x_505); -x_506 = lean_ctor_get(x_497, 6); -lean_inc(x_506); -x_507 = lean_ctor_get(x_497, 7); -lean_inc(x_507); -x_508 = lean_ctor_get(x_497, 8); -lean_inc(x_508); -x_509 = lean_ctor_get(x_497, 9); -lean_inc(x_509); -x_510 = lean_ctor_get(x_497, 10); -lean_inc(x_510); -x_511 = lean_ctor_get(x_497, 11); -lean_inc(x_511); lean_dec(x_497); -x_512 = lean_alloc_ctor(0, 12, 0); -lean_ctor_set(x_512, 0, x_499); -lean_ctor_set(x_512, 1, x_501); -lean_ctor_set(x_512, 2, x_502); -lean_ctor_set(x_512, 3, x_503); -lean_ctor_set(x_512, 4, x_504); -lean_ctor_set(x_512, 5, x_505); -lean_ctor_set(x_512, 6, x_506); -lean_ctor_set(x_512, 7, x_507); -lean_ctor_set(x_512, 8, x_508); -lean_ctor_set(x_512, 9, x_509); -lean_ctor_set(x_512, 10, x_510); -lean_ctor_set(x_512, 11, x_511); -x_513 = lean_st_ref_set(x_3, x_512, x_498); -x_514 = lean_ctor_get(x_513, 1); -lean_inc(x_514); -lean_dec(x_513); -x_458 = x_492; -x_459 = x_514; -goto block_482; +x_500 = lean_ctor_get(x_498, 0); +lean_inc(x_500); +x_501 = lean_ctor_get(x_498, 1); +lean_inc(x_501); +lean_inc(x_493); +x_502 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_501, x_456, x_493); +x_503 = lean_ctor_get(x_498, 2); +lean_inc(x_503); +x_504 = lean_ctor_get(x_498, 3); +lean_inc(x_504); +x_505 = lean_ctor_get(x_498, 4); +lean_inc(x_505); +x_506 = lean_ctor_get(x_498, 5); +lean_inc(x_506); +x_507 = lean_ctor_get(x_498, 6); +lean_inc(x_507); +x_508 = lean_ctor_get(x_498, 7); +lean_inc(x_508); +x_509 = lean_ctor_get(x_498, 8); +lean_inc(x_509); +x_510 = lean_ctor_get(x_498, 9); +lean_inc(x_510); +x_511 = lean_ctor_get(x_498, 10); +lean_inc(x_511); +x_512 = lean_ctor_get(x_498, 11); +lean_inc(x_512); +lean_dec(x_498); +x_513 = lean_alloc_ctor(0, 12, 0); +lean_ctor_set(x_513, 0, x_500); +lean_ctor_set(x_513, 1, x_502); +lean_ctor_set(x_513, 2, x_503); +lean_ctor_set(x_513, 3, x_504); +lean_ctor_set(x_513, 4, x_505); +lean_ctor_set(x_513, 5, x_506); +lean_ctor_set(x_513, 6, x_507); +lean_ctor_set(x_513, 7, x_508); +lean_ctor_set(x_513, 8, x_509); +lean_ctor_set(x_513, 9, x_510); +lean_ctor_set(x_513, 10, x_511); +lean_ctor_set(x_513, 11, x_512); +x_514 = lean_st_ref_set(x_3, x_513, x_499); +x_515 = lean_ctor_get(x_514, 1); +lean_inc(x_515); +lean_dec(x_514); +x_459 = x_493; +x_460 = x_515; +goto block_483; } else { -uint8_t x_515; +uint8_t x_516; +lean_dec(x_457); lean_dec(x_456); -lean_dec(x_455); lean_dec(x_7); lean_dec(x_1); -x_515 = !lean_is_exclusive(x_491); -if (x_515 == 0) +x_516 = !lean_is_exclusive(x_492); +if (x_516 == 0) { -return x_491; +return x_492; } else { -lean_object* x_516; lean_object* x_517; lean_object* x_518; -x_516 = lean_ctor_get(x_491, 0); -x_517 = lean_ctor_get(x_491, 1); +lean_object* x_517; lean_object* x_518; lean_object* x_519; +x_517 = lean_ctor_get(x_492, 0); +x_518 = lean_ctor_get(x_492, 1); +lean_inc(x_518); lean_inc(x_517); -lean_inc(x_516); -lean_dec(x_491); -x_518 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_518, 0, x_516); -lean_ctor_set(x_518, 1, x_517); -return x_518; +lean_dec(x_492); +x_519 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_519, 0, x_517); +lean_ctor_set(x_519, 1, x_518); +return x_519; } } } else { -lean_object* x_519; -lean_dec(x_455); +lean_object* x_520; +lean_dec(x_456); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_519 = lean_ctor_get(x_490, 0); -lean_inc(x_519); -lean_dec(x_490); -x_458 = x_519; -x_459 = x_488; -goto block_482; +x_520 = lean_ctor_get(x_491, 0); +lean_inc(x_520); +lean_dec(x_491); +x_459 = x_520; +x_460 = x_489; +goto block_483; } } } -block_565: +block_566: { -lean_object* x_529; lean_object* x_530; lean_object* x_531; lean_object* x_532; lean_object* x_533; lean_object* x_534; lean_object* x_535; -lean_dec(x_528); -x_529 = lean_st_ref_get(x_7, x_8); -x_530 = lean_ctor_get(x_529, 1); -lean_inc(x_530); +lean_object* x_530; lean_object* x_531; lean_object* x_532; lean_object* x_533; lean_object* x_534; lean_object* x_535; lean_object* x_536; lean_dec(x_529); -x_531 = lean_st_ref_get(x_3, x_530); -x_532 = lean_ctor_get(x_531, 0); -lean_inc(x_532); -x_533 = lean_ctor_get(x_531, 1); +x_530 = lean_st_ref_get(x_7, x_8); +x_531 = lean_ctor_get(x_530, 1); +lean_inc(x_531); +lean_dec(x_530); +x_532 = lean_st_ref_get(x_3, x_531); +x_533 = lean_ctor_get(x_532, 0); lean_inc(x_533); -lean_dec(x_531); x_534 = lean_ctor_get(x_532, 1); lean_inc(x_534); lean_dec(x_532); -lean_inc(x_454); -x_535 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_534, x_454); -if (lean_obj_tag(x_535) == 0) +x_535 = lean_ctor_get(x_533, 1); +lean_inc(x_535); +lean_dec(x_533); +lean_inc(x_455); +x_536 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_535, x_455); +if (lean_obj_tag(x_536) == 0) { -lean_object* x_536; +lean_object* x_537; lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_454); -x_536 = l_Lean_Meta_Closure_collectExprAux(x_454, x_2, x_3, x_4, x_5, x_6, x_7, x_533); -if (lean_obj_tag(x_536) == 0) +lean_inc(x_455); +x_537 = l_Lean_Meta_Closure_collectExprAux(x_455, x_2, x_3, x_4, x_5, x_6, x_7, x_534); +if (lean_obj_tag(x_537) == 0) { -lean_object* x_537; lean_object* x_538; lean_object* x_539; lean_object* x_540; lean_object* x_541; lean_object* x_542; lean_object* x_543; lean_object* x_544; lean_object* x_545; lean_object* x_546; lean_object* x_547; lean_object* x_548; lean_object* x_549; lean_object* x_550; lean_object* x_551; lean_object* x_552; lean_object* x_553; lean_object* x_554; lean_object* x_555; lean_object* x_556; lean_object* x_557; lean_object* x_558; lean_object* x_559; -x_537 = lean_ctor_get(x_536, 0); -lean_inc(x_537); -x_538 = lean_ctor_get(x_536, 1); +lean_object* x_538; lean_object* x_539; lean_object* x_540; lean_object* x_541; lean_object* x_542; lean_object* x_543; lean_object* x_544; lean_object* x_545; lean_object* x_546; lean_object* x_547; lean_object* x_548; lean_object* x_549; lean_object* x_550; lean_object* x_551; lean_object* x_552; lean_object* x_553; lean_object* x_554; lean_object* x_555; lean_object* x_556; lean_object* x_557; lean_object* x_558; lean_object* x_559; lean_object* x_560; +x_538 = lean_ctor_get(x_537, 0); lean_inc(x_538); -lean_dec(x_536); -x_539 = lean_st_ref_get(x_7, x_538); -x_540 = lean_ctor_get(x_539, 1); -lean_inc(x_540); -lean_dec(x_539); -x_541 = lean_st_ref_take(x_3, x_540); -x_542 = lean_ctor_get(x_541, 0); -lean_inc(x_542); -x_543 = lean_ctor_get(x_541, 1); +x_539 = lean_ctor_get(x_537, 1); +lean_inc(x_539); +lean_dec(x_537); +x_540 = lean_st_ref_get(x_7, x_539); +x_541 = lean_ctor_get(x_540, 1); +lean_inc(x_541); +lean_dec(x_540); +x_542 = lean_st_ref_take(x_3, x_541); +x_543 = lean_ctor_get(x_542, 0); lean_inc(x_543); -lean_dec(x_541); -x_544 = lean_ctor_get(x_542, 0); +x_544 = lean_ctor_get(x_542, 1); lean_inc(x_544); -x_545 = lean_ctor_get(x_542, 1); -lean_inc(x_545); -lean_inc(x_537); -x_546 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_545, x_454, x_537); -x_547 = lean_ctor_get(x_542, 2); -lean_inc(x_547); -x_548 = lean_ctor_get(x_542, 3); -lean_inc(x_548); -x_549 = lean_ctor_get(x_542, 4); -lean_inc(x_549); -x_550 = lean_ctor_get(x_542, 5); -lean_inc(x_550); -x_551 = lean_ctor_get(x_542, 6); -lean_inc(x_551); -x_552 = lean_ctor_get(x_542, 7); -lean_inc(x_552); -x_553 = lean_ctor_get(x_542, 8); -lean_inc(x_553); -x_554 = lean_ctor_get(x_542, 9); -lean_inc(x_554); -x_555 = lean_ctor_get(x_542, 10); -lean_inc(x_555); -x_556 = lean_ctor_get(x_542, 11); -lean_inc(x_556); lean_dec(x_542); -x_557 = lean_alloc_ctor(0, 12, 0); -lean_ctor_set(x_557, 0, x_544); -lean_ctor_set(x_557, 1, x_546); -lean_ctor_set(x_557, 2, x_547); -lean_ctor_set(x_557, 3, x_548); -lean_ctor_set(x_557, 4, x_549); -lean_ctor_set(x_557, 5, x_550); -lean_ctor_set(x_557, 6, x_551); -lean_ctor_set(x_557, 7, x_552); -lean_ctor_set(x_557, 8, x_553); -lean_ctor_set(x_557, 9, x_554); -lean_ctor_set(x_557, 10, x_555); -lean_ctor_set(x_557, 11, x_556); -x_558 = lean_st_ref_set(x_3, x_557, x_543); -x_559 = lean_ctor_get(x_558, 1); -lean_inc(x_559); -lean_dec(x_558); -x_456 = x_537; -x_457 = x_559; -goto block_527; +x_545 = lean_ctor_get(x_543, 0); +lean_inc(x_545); +x_546 = lean_ctor_get(x_543, 1); +lean_inc(x_546); +lean_inc(x_538); +x_547 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_546, x_455, x_538); +x_548 = lean_ctor_get(x_543, 2); +lean_inc(x_548); +x_549 = lean_ctor_get(x_543, 3); +lean_inc(x_549); +x_550 = lean_ctor_get(x_543, 4); +lean_inc(x_550); +x_551 = lean_ctor_get(x_543, 5); +lean_inc(x_551); +x_552 = lean_ctor_get(x_543, 6); +lean_inc(x_552); +x_553 = lean_ctor_get(x_543, 7); +lean_inc(x_553); +x_554 = lean_ctor_get(x_543, 8); +lean_inc(x_554); +x_555 = lean_ctor_get(x_543, 9); +lean_inc(x_555); +x_556 = lean_ctor_get(x_543, 10); +lean_inc(x_556); +x_557 = lean_ctor_get(x_543, 11); +lean_inc(x_557); +lean_dec(x_543); +x_558 = lean_alloc_ctor(0, 12, 0); +lean_ctor_set(x_558, 0, x_545); +lean_ctor_set(x_558, 1, x_547); +lean_ctor_set(x_558, 2, x_548); +lean_ctor_set(x_558, 3, x_549); +lean_ctor_set(x_558, 4, x_550); +lean_ctor_set(x_558, 5, x_551); +lean_ctor_set(x_558, 6, x_552); +lean_ctor_set(x_558, 7, x_553); +lean_ctor_set(x_558, 8, x_554); +lean_ctor_set(x_558, 9, x_555); +lean_ctor_set(x_558, 10, x_556); +lean_ctor_set(x_558, 11, x_557); +x_559 = lean_st_ref_set(x_3, x_558, x_544); +x_560 = lean_ctor_get(x_559, 1); +lean_inc(x_560); +lean_dec(x_559); +x_457 = x_538; +x_458 = x_560; +goto block_528; } else { -uint8_t x_560; +uint8_t x_561; +lean_dec(x_456); lean_dec(x_455); -lean_dec(x_454); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_560 = !lean_is_exclusive(x_536); -if (x_560 == 0) +x_561 = !lean_is_exclusive(x_537); +if (x_561 == 0) { -return x_536; +return x_537; } else { -lean_object* x_561; lean_object* x_562; lean_object* x_563; -x_561 = lean_ctor_get(x_536, 0); -x_562 = lean_ctor_get(x_536, 1); +lean_object* x_562; lean_object* x_563; lean_object* x_564; +x_562 = lean_ctor_get(x_537, 0); +x_563 = lean_ctor_get(x_537, 1); +lean_inc(x_563); lean_inc(x_562); -lean_inc(x_561); -lean_dec(x_536); -x_563 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_563, 0, x_561); -lean_ctor_set(x_563, 1, x_562); -return x_563; +lean_dec(x_537); +x_564 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_564, 0, x_562); +lean_ctor_set(x_564, 1, x_563); +return x_564; } } } else { -lean_object* x_564; -lean_dec(x_454); -x_564 = lean_ctor_get(x_535, 0); -lean_inc(x_564); -lean_dec(x_535); -x_456 = x_564; -x_457 = x_533; -goto block_527; +lean_object* x_565; +lean_dec(x_455); +x_565 = lean_ctor_get(x_536, 0); +lean_inc(x_565); +lean_dec(x_536); +x_457 = x_565; +x_458 = x_534; +goto block_528; } } } case 7: { -lean_object* x_572; lean_object* x_573; lean_object* x_574; lean_object* x_575; lean_object* x_646; uint8_t x_684; -x_572 = lean_ctor_get(x_1, 1); -lean_inc(x_572); -x_573 = lean_ctor_get(x_1, 2); +lean_object* x_573; lean_object* x_574; lean_object* x_575; lean_object* x_576; lean_object* x_647; uint8_t x_685; +x_573 = lean_ctor_get(x_1, 1); lean_inc(x_573); -x_684 = l_Lean_Expr_hasLevelParam(x_572); -if (x_684 == 0) -{ -uint8_t x_685; -x_685 = l_Lean_Expr_hasFVar(x_572); +x_574 = lean_ctor_get(x_1, 2); +lean_inc(x_574); +x_685 = l_Lean_Expr_hasLevelParam(x_573); if (x_685 == 0) { uint8_t x_686; -x_686 = l_Lean_Expr_hasMVar(x_572); +x_686 = l_Lean_Expr_hasFVar(x_573); if (x_686 == 0) { -x_574 = x_572; -x_575 = x_8; -goto block_645; -} -else +uint8_t x_687; +x_687 = l_Lean_Expr_hasMVar(x_573); +if (x_687 == 0) { -lean_object* x_687; -x_687 = lean_box(0); -x_646 = x_687; -goto block_683; -} +x_575 = x_573; +x_576 = x_8; +goto block_646; } else { lean_object* x_688; x_688 = lean_box(0); -x_646 = x_688; -goto block_683; +x_647 = x_688; +goto block_684; } } else { lean_object* x_689; x_689 = lean_box(0); -x_646 = x_689; -goto block_683; +x_647 = x_689; +goto block_684; } -block_645: +} +else { -lean_object* x_576; lean_object* x_577; lean_object* x_601; uint8_t x_639; -x_639 = l_Lean_Expr_hasLevelParam(x_573); -if (x_639 == 0) +lean_object* x_690; +x_690 = lean_box(0); +x_647 = x_690; +goto block_684; +} +block_646: { -uint8_t x_640; -x_640 = l_Lean_Expr_hasFVar(x_573); +lean_object* x_577; lean_object* x_578; lean_object* x_602; uint8_t x_640; +x_640 = l_Lean_Expr_hasLevelParam(x_574); if (x_640 == 0) { uint8_t x_641; -x_641 = l_Lean_Expr_hasMVar(x_573); +x_641 = l_Lean_Expr_hasFVar(x_574); if (x_641 == 0) { +uint8_t x_642; +x_642 = l_Lean_Expr_hasMVar(x_574); +if (x_642 == 0) +{ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_576 = x_573; -x_577 = x_575; -goto block_600; -} -else -{ -lean_object* x_642; -x_642 = lean_box(0); -x_601 = x_642; -goto block_638; -} +x_577 = x_574; +x_578 = x_576; +goto block_601; } else { lean_object* x_643; x_643 = lean_box(0); -x_601 = x_643; -goto block_638; +x_602 = x_643; +goto block_639; } } else { lean_object* x_644; x_644 = lean_box(0); -x_601 = x_644; -goto block_638; +x_602 = x_644; +goto block_639; } -block_600: +} +else +{ +lean_object* x_645; +x_645 = lean_box(0); +x_602 = x_645; +goto block_639; +} +block_601: { if (lean_obj_tag(x_1) == 7) { -lean_object* x_578; lean_object* x_579; lean_object* x_580; uint8_t x_581; lean_object* x_582; size_t x_583; size_t x_584; uint8_t x_585; -x_578 = lean_ctor_get(x_1, 0); -lean_inc(x_578); -x_579 = lean_ctor_get(x_1, 1); +lean_object* x_579; lean_object* x_580; lean_object* x_581; uint8_t x_582; lean_object* x_583; size_t x_584; size_t x_585; uint8_t x_586; +x_579 = lean_ctor_get(x_1, 0); lean_inc(x_579); -x_580 = lean_ctor_get(x_1, 2); +x_580 = lean_ctor_get(x_1, 1); lean_inc(x_580); -x_581 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8); +x_581 = lean_ctor_get(x_1, 2); +lean_inc(x_581); +x_582 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8); lean_dec(x_1); +lean_inc(x_581); lean_inc(x_580); lean_inc(x_579); -lean_inc(x_578); -x_582 = l_Lean_Expr_forallE___override(x_578, x_579, x_580, x_581); -x_583 = lean_ptr_addr(x_579); -lean_dec(x_579); -x_584 = lean_ptr_addr(x_574); -x_585 = lean_usize_dec_eq(x_583, x_584); -if (x_585 == 0) -{ -lean_object* x_586; lean_object* x_587; -lean_dec(x_582); +x_583 = l_Lean_Expr_forallE___override(x_579, x_580, x_581, x_582); +x_584 = lean_ptr_addr(x_580); lean_dec(x_580); -x_586 = l_Lean_Expr_forallE___override(x_578, x_574, x_576, x_581); -x_587 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_587, 0, x_586); -lean_ctor_set(x_587, 1, x_577); -return x_587; +x_585 = lean_ptr_addr(x_575); +x_586 = lean_usize_dec_eq(x_584, x_585); +if (x_586 == 0) +{ +lean_object* x_587; lean_object* x_588; +lean_dec(x_583); +lean_dec(x_581); +x_587 = l_Lean_Expr_forallE___override(x_579, x_575, x_577, x_582); +x_588 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_588, 0, x_587); +lean_ctor_set(x_588, 1, x_578); +return x_588; } else { -size_t x_588; size_t x_589; uint8_t x_590; -x_588 = lean_ptr_addr(x_580); -lean_dec(x_580); -x_589 = lean_ptr_addr(x_576); -x_590 = lean_usize_dec_eq(x_588, x_589); -if (x_590 == 0) +size_t x_589; size_t x_590; uint8_t x_591; +x_589 = lean_ptr_addr(x_581); +lean_dec(x_581); +x_590 = lean_ptr_addr(x_577); +x_591 = lean_usize_dec_eq(x_589, x_590); +if (x_591 == 0) { -lean_object* x_591; lean_object* x_592; -lean_dec(x_582); -x_591 = l_Lean_Expr_forallE___override(x_578, x_574, x_576, x_581); -x_592 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_592, 0, x_591); -lean_ctor_set(x_592, 1, x_577); -return x_592; +lean_object* x_592; lean_object* x_593; +lean_dec(x_583); +x_592 = l_Lean_Expr_forallE___override(x_579, x_575, x_577, x_582); +x_593 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_593, 0, x_592); +lean_ctor_set(x_593, 1, x_578); +return x_593; } else { -uint8_t x_593; -x_593 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_581, x_581); -if (x_593 == 0) +uint8_t x_594; +x_594 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_582, x_582); +if (x_594 == 0) { -lean_object* x_594; lean_object* x_595; -lean_dec(x_582); -x_594 = l_Lean_Expr_forallE___override(x_578, x_574, x_576, x_581); -x_595 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_595, 0, x_594); -lean_ctor_set(x_595, 1, x_577); -return x_595; -} -else -{ -lean_object* x_596; -lean_dec(x_578); -lean_dec(x_576); -lean_dec(x_574); +lean_object* x_595; lean_object* x_596; +lean_dec(x_583); +x_595 = l_Lean_Expr_forallE___override(x_579, x_575, x_577, x_582); x_596 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_596, 0, x_582); -lean_ctor_set(x_596, 1, x_577); +lean_ctor_set(x_596, 0, x_595); +lean_ctor_set(x_596, 1, x_578); return x_596; } +else +{ +lean_object* x_597; +lean_dec(x_579); +lean_dec(x_577); +lean_dec(x_575); +x_597 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_597, 0, x_583); +lean_ctor_set(x_597, 1, x_578); +return x_597; +} } } } else { -lean_object* x_597; lean_object* x_598; lean_object* x_599; -lean_dec(x_576); -lean_dec(x_574); +lean_object* x_598; lean_object* x_599; lean_object* x_600; +lean_dec(x_577); +lean_dec(x_575); lean_dec(x_1); -x_597 = l_Lean_Meta_Closure_collectExprAux___closed__16; -x_598 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_597); -x_599 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_599, 0, x_598); -lean_ctor_set(x_599, 1, x_577); -return x_599; +x_598 = l_Lean_Meta_Closure_collectExprAux___closed__16; +x_599 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_598); +x_600 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_600, 0, x_599); +lean_ctor_set(x_600, 1, x_578); +return x_600; } } -block_638: +block_639: { -lean_object* x_602; lean_object* x_603; lean_object* x_604; lean_object* x_605; lean_object* x_606; lean_object* x_607; lean_object* x_608; -lean_dec(x_601); -x_602 = lean_st_ref_get(x_7, x_575); -x_603 = lean_ctor_get(x_602, 1); -lean_inc(x_603); +lean_object* x_603; lean_object* x_604; lean_object* x_605; lean_object* x_606; lean_object* x_607; lean_object* x_608; lean_object* x_609; lean_dec(x_602); -x_604 = lean_st_ref_get(x_3, x_603); -x_605 = lean_ctor_get(x_604, 0); -lean_inc(x_605); -x_606 = lean_ctor_get(x_604, 1); +x_603 = lean_st_ref_get(x_7, x_576); +x_604 = lean_ctor_get(x_603, 1); +lean_inc(x_604); +lean_dec(x_603); +x_605 = lean_st_ref_get(x_3, x_604); +x_606 = lean_ctor_get(x_605, 0); lean_inc(x_606); -lean_dec(x_604); x_607 = lean_ctor_get(x_605, 1); lean_inc(x_607); lean_dec(x_605); -lean_inc(x_573); -x_608 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_607, x_573); -if (lean_obj_tag(x_608) == 0) -{ -lean_object* x_609; -lean_inc(x_7); -lean_inc(x_573); -x_609 = l_Lean_Meta_Closure_collectExprAux(x_573, x_2, x_3, x_4, x_5, x_6, x_7, x_606); +x_608 = lean_ctor_get(x_606, 1); +lean_inc(x_608); +lean_dec(x_606); +lean_inc(x_574); +x_609 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_608, x_574); if (lean_obj_tag(x_609) == 0) { -lean_object* x_610; lean_object* x_611; lean_object* x_612; lean_object* x_613; lean_object* x_614; lean_object* x_615; lean_object* x_616; lean_object* x_617; lean_object* x_618; lean_object* x_619; lean_object* x_620; lean_object* x_621; lean_object* x_622; lean_object* x_623; lean_object* x_624; lean_object* x_625; lean_object* x_626; lean_object* x_627; lean_object* x_628; lean_object* x_629; lean_object* x_630; lean_object* x_631; lean_object* x_632; -x_610 = lean_ctor_get(x_609, 0); -lean_inc(x_610); -x_611 = lean_ctor_get(x_609, 1); +lean_object* x_610; +lean_inc(x_7); +lean_inc(x_574); +x_610 = l_Lean_Meta_Closure_collectExprAux(x_574, x_2, x_3, x_4, x_5, x_6, x_7, x_607); +if (lean_obj_tag(x_610) == 0) +{ +lean_object* x_611; lean_object* x_612; lean_object* x_613; lean_object* x_614; lean_object* x_615; lean_object* x_616; lean_object* x_617; lean_object* x_618; lean_object* x_619; lean_object* x_620; lean_object* x_621; lean_object* x_622; lean_object* x_623; lean_object* x_624; lean_object* x_625; lean_object* x_626; lean_object* x_627; lean_object* x_628; lean_object* x_629; lean_object* x_630; lean_object* x_631; lean_object* x_632; lean_object* x_633; +x_611 = lean_ctor_get(x_610, 0); lean_inc(x_611); -lean_dec(x_609); -x_612 = lean_st_ref_get(x_7, x_611); +x_612 = lean_ctor_get(x_610, 1); +lean_inc(x_612); +lean_dec(x_610); +x_613 = lean_st_ref_get(x_7, x_612); lean_dec(x_7); -x_613 = lean_ctor_get(x_612, 1); -lean_inc(x_613); -lean_dec(x_612); -x_614 = lean_st_ref_take(x_3, x_613); -x_615 = lean_ctor_get(x_614, 0); -lean_inc(x_615); -x_616 = lean_ctor_get(x_614, 1); +x_614 = lean_ctor_get(x_613, 1); +lean_inc(x_614); +lean_dec(x_613); +x_615 = lean_st_ref_take(x_3, x_614); +x_616 = lean_ctor_get(x_615, 0); lean_inc(x_616); -lean_dec(x_614); -x_617 = lean_ctor_get(x_615, 0); +x_617 = lean_ctor_get(x_615, 1); lean_inc(x_617); -x_618 = lean_ctor_get(x_615, 1); -lean_inc(x_618); -lean_inc(x_610); -x_619 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_618, x_573, x_610); -x_620 = lean_ctor_get(x_615, 2); -lean_inc(x_620); -x_621 = lean_ctor_get(x_615, 3); -lean_inc(x_621); -x_622 = lean_ctor_get(x_615, 4); -lean_inc(x_622); -x_623 = lean_ctor_get(x_615, 5); -lean_inc(x_623); -x_624 = lean_ctor_get(x_615, 6); -lean_inc(x_624); -x_625 = lean_ctor_get(x_615, 7); -lean_inc(x_625); -x_626 = lean_ctor_get(x_615, 8); -lean_inc(x_626); -x_627 = lean_ctor_get(x_615, 9); -lean_inc(x_627); -x_628 = lean_ctor_get(x_615, 10); -lean_inc(x_628); -x_629 = lean_ctor_get(x_615, 11); -lean_inc(x_629); lean_dec(x_615); -x_630 = lean_alloc_ctor(0, 12, 0); -lean_ctor_set(x_630, 0, x_617); -lean_ctor_set(x_630, 1, x_619); -lean_ctor_set(x_630, 2, x_620); -lean_ctor_set(x_630, 3, x_621); -lean_ctor_set(x_630, 4, x_622); -lean_ctor_set(x_630, 5, x_623); -lean_ctor_set(x_630, 6, x_624); -lean_ctor_set(x_630, 7, x_625); -lean_ctor_set(x_630, 8, x_626); -lean_ctor_set(x_630, 9, x_627); -lean_ctor_set(x_630, 10, x_628); -lean_ctor_set(x_630, 11, x_629); -x_631 = lean_st_ref_set(x_3, x_630, x_616); -x_632 = lean_ctor_get(x_631, 1); -lean_inc(x_632); -lean_dec(x_631); -x_576 = x_610; -x_577 = x_632; -goto block_600; +x_618 = lean_ctor_get(x_616, 0); +lean_inc(x_618); +x_619 = lean_ctor_get(x_616, 1); +lean_inc(x_619); +lean_inc(x_611); +x_620 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_619, x_574, x_611); +x_621 = lean_ctor_get(x_616, 2); +lean_inc(x_621); +x_622 = lean_ctor_get(x_616, 3); +lean_inc(x_622); +x_623 = lean_ctor_get(x_616, 4); +lean_inc(x_623); +x_624 = lean_ctor_get(x_616, 5); +lean_inc(x_624); +x_625 = lean_ctor_get(x_616, 6); +lean_inc(x_625); +x_626 = lean_ctor_get(x_616, 7); +lean_inc(x_626); +x_627 = lean_ctor_get(x_616, 8); +lean_inc(x_627); +x_628 = lean_ctor_get(x_616, 9); +lean_inc(x_628); +x_629 = lean_ctor_get(x_616, 10); +lean_inc(x_629); +x_630 = lean_ctor_get(x_616, 11); +lean_inc(x_630); +lean_dec(x_616); +x_631 = lean_alloc_ctor(0, 12, 0); +lean_ctor_set(x_631, 0, x_618); +lean_ctor_set(x_631, 1, x_620); +lean_ctor_set(x_631, 2, x_621); +lean_ctor_set(x_631, 3, x_622); +lean_ctor_set(x_631, 4, x_623); +lean_ctor_set(x_631, 5, x_624); +lean_ctor_set(x_631, 6, x_625); +lean_ctor_set(x_631, 7, x_626); +lean_ctor_set(x_631, 8, x_627); +lean_ctor_set(x_631, 9, x_628); +lean_ctor_set(x_631, 10, x_629); +lean_ctor_set(x_631, 11, x_630); +x_632 = lean_st_ref_set(x_3, x_631, x_617); +x_633 = lean_ctor_get(x_632, 1); +lean_inc(x_633); +lean_dec(x_632); +x_577 = x_611; +x_578 = x_633; +goto block_601; } else { -uint8_t x_633; +uint8_t x_634; +lean_dec(x_575); lean_dec(x_574); -lean_dec(x_573); lean_dec(x_7); lean_dec(x_1); -x_633 = !lean_is_exclusive(x_609); -if (x_633 == 0) +x_634 = !lean_is_exclusive(x_610); +if (x_634 == 0) { -return x_609; +return x_610; } else { -lean_object* x_634; lean_object* x_635; lean_object* x_636; -x_634 = lean_ctor_get(x_609, 0); -x_635 = lean_ctor_get(x_609, 1); +lean_object* x_635; lean_object* x_636; lean_object* x_637; +x_635 = lean_ctor_get(x_610, 0); +x_636 = lean_ctor_get(x_610, 1); +lean_inc(x_636); lean_inc(x_635); -lean_inc(x_634); -lean_dec(x_609); -x_636 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_636, 0, x_634); -lean_ctor_set(x_636, 1, x_635); -return x_636; +lean_dec(x_610); +x_637 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_637, 0, x_635); +lean_ctor_set(x_637, 1, x_636); +return x_637; } } } else { -lean_object* x_637; -lean_dec(x_573); +lean_object* x_638; +lean_dec(x_574); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_637 = lean_ctor_get(x_608, 0); -lean_inc(x_637); -lean_dec(x_608); -x_576 = x_637; -x_577 = x_606; -goto block_600; +x_638 = lean_ctor_get(x_609, 0); +lean_inc(x_638); +lean_dec(x_609); +x_577 = x_638; +x_578 = x_607; +goto block_601; } } } -block_683: +block_684: { -lean_object* x_647; lean_object* x_648; lean_object* x_649; lean_object* x_650; lean_object* x_651; lean_object* x_652; lean_object* x_653; -lean_dec(x_646); -x_647 = lean_st_ref_get(x_7, x_8); -x_648 = lean_ctor_get(x_647, 1); -lean_inc(x_648); +lean_object* x_648; lean_object* x_649; lean_object* x_650; lean_object* x_651; lean_object* x_652; lean_object* x_653; lean_object* x_654; lean_dec(x_647); -x_649 = lean_st_ref_get(x_3, x_648); -x_650 = lean_ctor_get(x_649, 0); -lean_inc(x_650); -x_651 = lean_ctor_get(x_649, 1); +x_648 = lean_st_ref_get(x_7, x_8); +x_649 = lean_ctor_get(x_648, 1); +lean_inc(x_649); +lean_dec(x_648); +x_650 = lean_st_ref_get(x_3, x_649); +x_651 = lean_ctor_get(x_650, 0); lean_inc(x_651); -lean_dec(x_649); x_652 = lean_ctor_get(x_650, 1); lean_inc(x_652); lean_dec(x_650); -lean_inc(x_572); -x_653 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_652, x_572); -if (lean_obj_tag(x_653) == 0) +x_653 = lean_ctor_get(x_651, 1); +lean_inc(x_653); +lean_dec(x_651); +lean_inc(x_573); +x_654 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_653, x_573); +if (lean_obj_tag(x_654) == 0) { -lean_object* x_654; +lean_object* x_655; lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_572); -x_654 = l_Lean_Meta_Closure_collectExprAux(x_572, x_2, x_3, x_4, x_5, x_6, x_7, x_651); -if (lean_obj_tag(x_654) == 0) +lean_inc(x_573); +x_655 = l_Lean_Meta_Closure_collectExprAux(x_573, x_2, x_3, x_4, x_5, x_6, x_7, x_652); +if (lean_obj_tag(x_655) == 0) { -lean_object* x_655; lean_object* x_656; lean_object* x_657; lean_object* x_658; lean_object* x_659; lean_object* x_660; lean_object* x_661; lean_object* x_662; lean_object* x_663; lean_object* x_664; lean_object* x_665; lean_object* x_666; lean_object* x_667; lean_object* x_668; lean_object* x_669; lean_object* x_670; lean_object* x_671; lean_object* x_672; lean_object* x_673; lean_object* x_674; lean_object* x_675; lean_object* x_676; lean_object* x_677; -x_655 = lean_ctor_get(x_654, 0); -lean_inc(x_655); -x_656 = lean_ctor_get(x_654, 1); +lean_object* x_656; lean_object* x_657; lean_object* x_658; lean_object* x_659; lean_object* x_660; lean_object* x_661; lean_object* x_662; lean_object* x_663; lean_object* x_664; lean_object* x_665; lean_object* x_666; lean_object* x_667; lean_object* x_668; lean_object* x_669; lean_object* x_670; lean_object* x_671; lean_object* x_672; lean_object* x_673; lean_object* x_674; lean_object* x_675; lean_object* x_676; lean_object* x_677; lean_object* x_678; +x_656 = lean_ctor_get(x_655, 0); lean_inc(x_656); -lean_dec(x_654); -x_657 = lean_st_ref_get(x_7, x_656); -x_658 = lean_ctor_get(x_657, 1); -lean_inc(x_658); -lean_dec(x_657); -x_659 = lean_st_ref_take(x_3, x_658); -x_660 = lean_ctor_get(x_659, 0); -lean_inc(x_660); -x_661 = lean_ctor_get(x_659, 1); +x_657 = lean_ctor_get(x_655, 1); +lean_inc(x_657); +lean_dec(x_655); +x_658 = lean_st_ref_get(x_7, x_657); +x_659 = lean_ctor_get(x_658, 1); +lean_inc(x_659); +lean_dec(x_658); +x_660 = lean_st_ref_take(x_3, x_659); +x_661 = lean_ctor_get(x_660, 0); lean_inc(x_661); -lean_dec(x_659); -x_662 = lean_ctor_get(x_660, 0); +x_662 = lean_ctor_get(x_660, 1); lean_inc(x_662); -x_663 = lean_ctor_get(x_660, 1); -lean_inc(x_663); -lean_inc(x_655); -x_664 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_663, x_572, x_655); -x_665 = lean_ctor_get(x_660, 2); -lean_inc(x_665); -x_666 = lean_ctor_get(x_660, 3); -lean_inc(x_666); -x_667 = lean_ctor_get(x_660, 4); -lean_inc(x_667); -x_668 = lean_ctor_get(x_660, 5); -lean_inc(x_668); -x_669 = lean_ctor_get(x_660, 6); -lean_inc(x_669); -x_670 = lean_ctor_get(x_660, 7); -lean_inc(x_670); -x_671 = lean_ctor_get(x_660, 8); -lean_inc(x_671); -x_672 = lean_ctor_get(x_660, 9); -lean_inc(x_672); -x_673 = lean_ctor_get(x_660, 10); -lean_inc(x_673); -x_674 = lean_ctor_get(x_660, 11); -lean_inc(x_674); lean_dec(x_660); -x_675 = lean_alloc_ctor(0, 12, 0); -lean_ctor_set(x_675, 0, x_662); -lean_ctor_set(x_675, 1, x_664); -lean_ctor_set(x_675, 2, x_665); -lean_ctor_set(x_675, 3, x_666); -lean_ctor_set(x_675, 4, x_667); -lean_ctor_set(x_675, 5, x_668); -lean_ctor_set(x_675, 6, x_669); -lean_ctor_set(x_675, 7, x_670); -lean_ctor_set(x_675, 8, x_671); -lean_ctor_set(x_675, 9, x_672); -lean_ctor_set(x_675, 10, x_673); -lean_ctor_set(x_675, 11, x_674); -x_676 = lean_st_ref_set(x_3, x_675, x_661); -x_677 = lean_ctor_get(x_676, 1); -lean_inc(x_677); -lean_dec(x_676); -x_574 = x_655; -x_575 = x_677; -goto block_645; +x_663 = lean_ctor_get(x_661, 0); +lean_inc(x_663); +x_664 = lean_ctor_get(x_661, 1); +lean_inc(x_664); +lean_inc(x_656); +x_665 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_664, x_573, x_656); +x_666 = lean_ctor_get(x_661, 2); +lean_inc(x_666); +x_667 = lean_ctor_get(x_661, 3); +lean_inc(x_667); +x_668 = lean_ctor_get(x_661, 4); +lean_inc(x_668); +x_669 = lean_ctor_get(x_661, 5); +lean_inc(x_669); +x_670 = lean_ctor_get(x_661, 6); +lean_inc(x_670); +x_671 = lean_ctor_get(x_661, 7); +lean_inc(x_671); +x_672 = lean_ctor_get(x_661, 8); +lean_inc(x_672); +x_673 = lean_ctor_get(x_661, 9); +lean_inc(x_673); +x_674 = lean_ctor_get(x_661, 10); +lean_inc(x_674); +x_675 = lean_ctor_get(x_661, 11); +lean_inc(x_675); +lean_dec(x_661); +x_676 = lean_alloc_ctor(0, 12, 0); +lean_ctor_set(x_676, 0, x_663); +lean_ctor_set(x_676, 1, x_665); +lean_ctor_set(x_676, 2, x_666); +lean_ctor_set(x_676, 3, x_667); +lean_ctor_set(x_676, 4, x_668); +lean_ctor_set(x_676, 5, x_669); +lean_ctor_set(x_676, 6, x_670); +lean_ctor_set(x_676, 7, x_671); +lean_ctor_set(x_676, 8, x_672); +lean_ctor_set(x_676, 9, x_673); +lean_ctor_set(x_676, 10, x_674); +lean_ctor_set(x_676, 11, x_675); +x_677 = lean_st_ref_set(x_3, x_676, x_662); +x_678 = lean_ctor_get(x_677, 1); +lean_inc(x_678); +lean_dec(x_677); +x_575 = x_656; +x_576 = x_678; +goto block_646; } else { -uint8_t x_678; +uint8_t x_679; +lean_dec(x_574); lean_dec(x_573); -lean_dec(x_572); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_678 = !lean_is_exclusive(x_654); -if (x_678 == 0) +x_679 = !lean_is_exclusive(x_655); +if (x_679 == 0) { -return x_654; +return x_655; } else { -lean_object* x_679; lean_object* x_680; lean_object* x_681; -x_679 = lean_ctor_get(x_654, 0); -x_680 = lean_ctor_get(x_654, 1); +lean_object* x_680; lean_object* x_681; lean_object* x_682; +x_680 = lean_ctor_get(x_655, 0); +x_681 = lean_ctor_get(x_655, 1); +lean_inc(x_681); lean_inc(x_680); -lean_inc(x_679); -lean_dec(x_654); -x_681 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_681, 0, x_679); -lean_ctor_set(x_681, 1, x_680); -return x_681; +lean_dec(x_655); +x_682 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_682, 0, x_680); +lean_ctor_set(x_682, 1, x_681); +return x_682; } } } else { -lean_object* x_682; -lean_dec(x_572); -x_682 = lean_ctor_get(x_653, 0); -lean_inc(x_682); -lean_dec(x_653); -x_574 = x_682; -x_575 = x_651; -goto block_645; +lean_object* x_683; +lean_dec(x_573); +x_683 = lean_ctor_get(x_654, 0); +lean_inc(x_683); +lean_dec(x_654); +x_575 = x_683; +x_576 = x_652; +goto block_646; } } } case 8: { -lean_object* x_690; lean_object* x_691; lean_object* x_692; lean_object* x_693; lean_object* x_694; lean_object* x_814; uint8_t x_852; -x_690 = lean_ctor_get(x_1, 1); -lean_inc(x_690); -x_691 = lean_ctor_get(x_1, 2); +lean_object* x_691; lean_object* x_692; lean_object* x_693; lean_object* x_694; lean_object* x_695; lean_object* x_815; uint8_t x_853; +x_691 = lean_ctor_get(x_1, 1); lean_inc(x_691); -x_692 = lean_ctor_get(x_1, 3); +x_692 = lean_ctor_get(x_1, 2); lean_inc(x_692); -x_852 = l_Lean_Expr_hasLevelParam(x_690); -if (x_852 == 0) -{ -uint8_t x_853; -x_853 = l_Lean_Expr_hasFVar(x_690); +x_693 = lean_ctor_get(x_1, 3); +lean_inc(x_693); +x_853 = l_Lean_Expr_hasLevelParam(x_691); if (x_853 == 0) { uint8_t x_854; -x_854 = l_Lean_Expr_hasMVar(x_690); +x_854 = l_Lean_Expr_hasFVar(x_691); if (x_854 == 0) { -x_693 = x_690; -x_694 = x_8; -goto block_813; -} -else +uint8_t x_855; +x_855 = l_Lean_Expr_hasMVar(x_691); +if (x_855 == 0) { -lean_object* x_855; -x_855 = lean_box(0); -x_814 = x_855; -goto block_851; -} +x_694 = x_691; +x_695 = x_8; +goto block_814; } else { lean_object* x_856; x_856 = lean_box(0); -x_814 = x_856; -goto block_851; +x_815 = x_856; +goto block_852; } } else { lean_object* x_857; x_857 = lean_box(0); -x_814 = x_857; -goto block_851; +x_815 = x_857; +goto block_852; } -block_813: -{ -lean_object* x_695; lean_object* x_696; lean_object* x_769; uint8_t x_807; -x_807 = l_Lean_Expr_hasLevelParam(x_691); -if (x_807 == 0) -{ -uint8_t x_808; -x_808 = l_Lean_Expr_hasFVar(x_691); -if (x_808 == 0) -{ -uint8_t x_809; -x_809 = l_Lean_Expr_hasMVar(x_691); -if (x_809 == 0) -{ -x_695 = x_691; -x_696 = x_694; -goto block_768; } else { -lean_object* x_810; -x_810 = lean_box(0); -x_769 = x_810; -goto block_806; +lean_object* x_858; +x_858 = lean_box(0); +x_815 = x_858; +goto block_852; } +block_814: +{ +lean_object* x_696; lean_object* x_697; lean_object* x_770; uint8_t x_808; +x_808 = l_Lean_Expr_hasLevelParam(x_692); +if (x_808 == 0) +{ +uint8_t x_809; +x_809 = l_Lean_Expr_hasFVar(x_692); +if (x_809 == 0) +{ +uint8_t x_810; +x_810 = l_Lean_Expr_hasMVar(x_692); +if (x_810 == 0) +{ +x_696 = x_692; +x_697 = x_695; +goto block_769; } else { lean_object* x_811; x_811 = lean_box(0); -x_769 = x_811; -goto block_806; +x_770 = x_811; +goto block_807; } } else { lean_object* x_812; x_812 = lean_box(0); -x_769 = x_812; -goto block_806; +x_770 = x_812; +goto block_807; } -block_768: +} +else { -lean_object* x_697; lean_object* x_698; lean_object* x_724; uint8_t x_762; -x_762 = l_Lean_Expr_hasLevelParam(x_692); -if (x_762 == 0) +lean_object* x_813; +x_813 = lean_box(0); +x_770 = x_813; +goto block_807; +} +block_769: { -uint8_t x_763; -x_763 = l_Lean_Expr_hasFVar(x_692); +lean_object* x_698; lean_object* x_699; lean_object* x_725; uint8_t x_763; +x_763 = l_Lean_Expr_hasLevelParam(x_693); if (x_763 == 0) { uint8_t x_764; -x_764 = l_Lean_Expr_hasMVar(x_692); +x_764 = l_Lean_Expr_hasFVar(x_693); if (x_764 == 0) { +uint8_t x_765; +x_765 = l_Lean_Expr_hasMVar(x_693); +if (x_765 == 0) +{ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_697 = x_692; -x_698 = x_696; -goto block_723; -} -else -{ -lean_object* x_765; -x_765 = lean_box(0); -x_724 = x_765; -goto block_761; -} +x_698 = x_693; +x_699 = x_697; +goto block_724; } else { lean_object* x_766; x_766 = lean_box(0); -x_724 = x_766; -goto block_761; +x_725 = x_766; +goto block_762; } } else { lean_object* x_767; x_767 = lean_box(0); -x_724 = x_767; -goto block_761; +x_725 = x_767; +goto block_762; } -block_723: +} +else +{ +lean_object* x_768; +x_768 = lean_box(0); +x_725 = x_768; +goto block_762; +} +block_724: { if (lean_obj_tag(x_1) == 8) { -lean_object* x_699; lean_object* x_700; lean_object* x_701; lean_object* x_702; uint8_t x_703; size_t x_704; size_t x_705; uint8_t x_706; -x_699 = lean_ctor_get(x_1, 0); -lean_inc(x_699); -x_700 = lean_ctor_get(x_1, 1); +lean_object* x_700; lean_object* x_701; lean_object* x_702; lean_object* x_703; uint8_t x_704; size_t x_705; size_t x_706; uint8_t x_707; +x_700 = lean_ctor_get(x_1, 0); lean_inc(x_700); -x_701 = lean_ctor_get(x_1, 2); +x_701 = lean_ctor_get(x_1, 1); lean_inc(x_701); -x_702 = lean_ctor_get(x_1, 3); +x_702 = lean_ctor_get(x_1, 2); lean_inc(x_702); -x_703 = lean_ctor_get_uint8(x_1, sizeof(void*)*4 + 8); -x_704 = lean_ptr_addr(x_700); -lean_dec(x_700); -x_705 = lean_ptr_addr(x_693); -x_706 = lean_usize_dec_eq(x_704, x_705); -if (x_706 == 0) -{ -lean_object* x_707; lean_object* x_708; -lean_dec(x_702); +x_703 = lean_ctor_get(x_1, 3); +lean_inc(x_703); +x_704 = lean_ctor_get_uint8(x_1, sizeof(void*)*4 + 8); +x_705 = lean_ptr_addr(x_701); lean_dec(x_701); -lean_dec(x_1); -x_707 = l_Lean_Expr_letE___override(x_699, x_693, x_695, x_697, x_703); -x_708 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_708, 0, x_707); -lean_ctor_set(x_708, 1, x_698); -return x_708; -} -else +x_706 = lean_ptr_addr(x_694); +x_707 = lean_usize_dec_eq(x_705, x_706); +if (x_707 == 0) { -size_t x_709; size_t x_710; uint8_t x_711; -x_709 = lean_ptr_addr(x_701); -lean_dec(x_701); -x_710 = lean_ptr_addr(x_695); -x_711 = lean_usize_dec_eq(x_709, x_710); -if (x_711 == 0) -{ -lean_object* x_712; lean_object* x_713; +lean_object* x_708; lean_object* x_709; +lean_dec(x_703); lean_dec(x_702); lean_dec(x_1); -x_712 = l_Lean_Expr_letE___override(x_699, x_693, x_695, x_697, x_703); -x_713 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_713, 0, x_712); -lean_ctor_set(x_713, 1, x_698); -return x_713; +x_708 = l_Lean_Expr_letE___override(x_700, x_694, x_696, x_698, x_704); +x_709 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_709, 0, x_708); +lean_ctor_set(x_709, 1, x_699); +return x_709; } else { -size_t x_714; size_t x_715; uint8_t x_716; -x_714 = lean_ptr_addr(x_702); +size_t x_710; size_t x_711; uint8_t x_712; +x_710 = lean_ptr_addr(x_702); lean_dec(x_702); -x_715 = lean_ptr_addr(x_697); -x_716 = lean_usize_dec_eq(x_714, x_715); -if (x_716 == 0) +x_711 = lean_ptr_addr(x_696); +x_712 = lean_usize_dec_eq(x_710, x_711); +if (x_712 == 0) { -lean_object* x_717; lean_object* x_718; +lean_object* x_713; lean_object* x_714; +lean_dec(x_703); lean_dec(x_1); -x_717 = l_Lean_Expr_letE___override(x_699, x_693, x_695, x_697, x_703); -x_718 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_718, 0, x_717); -lean_ctor_set(x_718, 1, x_698); -return x_718; +x_713 = l_Lean_Expr_letE___override(x_700, x_694, x_696, x_698, x_704); +x_714 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_714, 0, x_713); +lean_ctor_set(x_714, 1, x_699); +return x_714; } else { -lean_object* x_719; -lean_dec(x_699); -lean_dec(x_697); -lean_dec(x_695); -lean_dec(x_693); +size_t x_715; size_t x_716; uint8_t x_717; +x_715 = lean_ptr_addr(x_703); +lean_dec(x_703); +x_716 = lean_ptr_addr(x_698); +x_717 = lean_usize_dec_eq(x_715, x_716); +if (x_717 == 0) +{ +lean_object* x_718; lean_object* x_719; +lean_dec(x_1); +x_718 = l_Lean_Expr_letE___override(x_700, x_694, x_696, x_698, x_704); x_719 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_719, 0, x_1); -lean_ctor_set(x_719, 1, x_698); +lean_ctor_set(x_719, 0, x_718); +lean_ctor_set(x_719, 1, x_699); return x_719; } +else +{ +lean_object* x_720; +lean_dec(x_700); +lean_dec(x_698); +lean_dec(x_696); +lean_dec(x_694); +x_720 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_720, 0, x_1); +lean_ctor_set(x_720, 1, x_699); +return x_720; +} } } } else { -lean_object* x_720; lean_object* x_721; lean_object* x_722; -lean_dec(x_697); -lean_dec(x_695); -lean_dec(x_693); +lean_object* x_721; lean_object* x_722; lean_object* x_723; +lean_dec(x_698); +lean_dec(x_696); +lean_dec(x_694); lean_dec(x_1); -x_720 = l_Lean_Meta_Closure_collectExprAux___closed__19; -x_721 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_720); -x_722 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_722, 0, x_721); -lean_ctor_set(x_722, 1, x_698); -return x_722; +x_721 = l_Lean_Meta_Closure_collectExprAux___closed__19; +x_722 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_721); +x_723 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_723, 0, x_722); +lean_ctor_set(x_723, 1, x_699); +return x_723; } } -block_761: +block_762: { -lean_object* x_725; lean_object* x_726; lean_object* x_727; lean_object* x_728; lean_object* x_729; lean_object* x_730; lean_object* x_731; -lean_dec(x_724); -x_725 = lean_st_ref_get(x_7, x_696); -x_726 = lean_ctor_get(x_725, 1); -lean_inc(x_726); +lean_object* x_726; lean_object* x_727; lean_object* x_728; lean_object* x_729; lean_object* x_730; lean_object* x_731; lean_object* x_732; lean_dec(x_725); -x_727 = lean_st_ref_get(x_3, x_726); -x_728 = lean_ctor_get(x_727, 0); -lean_inc(x_728); -x_729 = lean_ctor_get(x_727, 1); +x_726 = lean_st_ref_get(x_7, x_697); +x_727 = lean_ctor_get(x_726, 1); +lean_inc(x_727); +lean_dec(x_726); +x_728 = lean_st_ref_get(x_3, x_727); +x_729 = lean_ctor_get(x_728, 0); lean_inc(x_729); -lean_dec(x_727); x_730 = lean_ctor_get(x_728, 1); lean_inc(x_730); lean_dec(x_728); -lean_inc(x_692); -x_731 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_730, x_692); -if (lean_obj_tag(x_731) == 0) -{ -lean_object* x_732; -lean_inc(x_7); -lean_inc(x_692); -x_732 = l_Lean_Meta_Closure_collectExprAux(x_692, x_2, x_3, x_4, x_5, x_6, x_7, x_729); +x_731 = lean_ctor_get(x_729, 1); +lean_inc(x_731); +lean_dec(x_729); +lean_inc(x_693); +x_732 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_731, x_693); if (lean_obj_tag(x_732) == 0) { -lean_object* x_733; lean_object* x_734; lean_object* x_735; lean_object* x_736; lean_object* x_737; lean_object* x_738; lean_object* x_739; lean_object* x_740; lean_object* x_741; lean_object* x_742; lean_object* x_743; lean_object* x_744; lean_object* x_745; lean_object* x_746; lean_object* x_747; lean_object* x_748; lean_object* x_749; lean_object* x_750; lean_object* x_751; lean_object* x_752; lean_object* x_753; lean_object* x_754; lean_object* x_755; -x_733 = lean_ctor_get(x_732, 0); -lean_inc(x_733); -x_734 = lean_ctor_get(x_732, 1); +lean_object* x_733; +lean_inc(x_7); +lean_inc(x_693); +x_733 = l_Lean_Meta_Closure_collectExprAux(x_693, x_2, x_3, x_4, x_5, x_6, x_7, x_730); +if (lean_obj_tag(x_733) == 0) +{ +lean_object* x_734; lean_object* x_735; lean_object* x_736; lean_object* x_737; lean_object* x_738; lean_object* x_739; lean_object* x_740; lean_object* x_741; lean_object* x_742; lean_object* x_743; lean_object* x_744; lean_object* x_745; lean_object* x_746; lean_object* x_747; lean_object* x_748; lean_object* x_749; lean_object* x_750; lean_object* x_751; lean_object* x_752; lean_object* x_753; lean_object* x_754; lean_object* x_755; lean_object* x_756; +x_734 = lean_ctor_get(x_733, 0); lean_inc(x_734); -lean_dec(x_732); -x_735 = lean_st_ref_get(x_7, x_734); +x_735 = lean_ctor_get(x_733, 1); +lean_inc(x_735); +lean_dec(x_733); +x_736 = lean_st_ref_get(x_7, x_735); lean_dec(x_7); -x_736 = lean_ctor_get(x_735, 1); -lean_inc(x_736); -lean_dec(x_735); -x_737 = lean_st_ref_take(x_3, x_736); -x_738 = lean_ctor_get(x_737, 0); -lean_inc(x_738); -x_739 = lean_ctor_get(x_737, 1); +x_737 = lean_ctor_get(x_736, 1); +lean_inc(x_737); +lean_dec(x_736); +x_738 = lean_st_ref_take(x_3, x_737); +x_739 = lean_ctor_get(x_738, 0); lean_inc(x_739); -lean_dec(x_737); -x_740 = lean_ctor_get(x_738, 0); +x_740 = lean_ctor_get(x_738, 1); lean_inc(x_740); -x_741 = lean_ctor_get(x_738, 1); -lean_inc(x_741); -lean_inc(x_733); -x_742 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_741, x_692, x_733); -x_743 = lean_ctor_get(x_738, 2); -lean_inc(x_743); -x_744 = lean_ctor_get(x_738, 3); -lean_inc(x_744); -x_745 = lean_ctor_get(x_738, 4); -lean_inc(x_745); -x_746 = lean_ctor_get(x_738, 5); -lean_inc(x_746); -x_747 = lean_ctor_get(x_738, 6); -lean_inc(x_747); -x_748 = lean_ctor_get(x_738, 7); -lean_inc(x_748); -x_749 = lean_ctor_get(x_738, 8); -lean_inc(x_749); -x_750 = lean_ctor_get(x_738, 9); -lean_inc(x_750); -x_751 = lean_ctor_get(x_738, 10); -lean_inc(x_751); -x_752 = lean_ctor_get(x_738, 11); -lean_inc(x_752); lean_dec(x_738); -x_753 = lean_alloc_ctor(0, 12, 0); -lean_ctor_set(x_753, 0, x_740); -lean_ctor_set(x_753, 1, x_742); -lean_ctor_set(x_753, 2, x_743); -lean_ctor_set(x_753, 3, x_744); -lean_ctor_set(x_753, 4, x_745); -lean_ctor_set(x_753, 5, x_746); -lean_ctor_set(x_753, 6, x_747); -lean_ctor_set(x_753, 7, x_748); -lean_ctor_set(x_753, 8, x_749); -lean_ctor_set(x_753, 9, x_750); -lean_ctor_set(x_753, 10, x_751); -lean_ctor_set(x_753, 11, x_752); -x_754 = lean_st_ref_set(x_3, x_753, x_739); -x_755 = lean_ctor_get(x_754, 1); -lean_inc(x_755); -lean_dec(x_754); -x_697 = x_733; -x_698 = x_755; -goto block_723; +x_741 = lean_ctor_get(x_739, 0); +lean_inc(x_741); +x_742 = lean_ctor_get(x_739, 1); +lean_inc(x_742); +lean_inc(x_734); +x_743 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_742, x_693, x_734); +x_744 = lean_ctor_get(x_739, 2); +lean_inc(x_744); +x_745 = lean_ctor_get(x_739, 3); +lean_inc(x_745); +x_746 = lean_ctor_get(x_739, 4); +lean_inc(x_746); +x_747 = lean_ctor_get(x_739, 5); +lean_inc(x_747); +x_748 = lean_ctor_get(x_739, 6); +lean_inc(x_748); +x_749 = lean_ctor_get(x_739, 7); +lean_inc(x_749); +x_750 = lean_ctor_get(x_739, 8); +lean_inc(x_750); +x_751 = lean_ctor_get(x_739, 9); +lean_inc(x_751); +x_752 = lean_ctor_get(x_739, 10); +lean_inc(x_752); +x_753 = lean_ctor_get(x_739, 11); +lean_inc(x_753); +lean_dec(x_739); +x_754 = lean_alloc_ctor(0, 12, 0); +lean_ctor_set(x_754, 0, x_741); +lean_ctor_set(x_754, 1, x_743); +lean_ctor_set(x_754, 2, x_744); +lean_ctor_set(x_754, 3, x_745); +lean_ctor_set(x_754, 4, x_746); +lean_ctor_set(x_754, 5, x_747); +lean_ctor_set(x_754, 6, x_748); +lean_ctor_set(x_754, 7, x_749); +lean_ctor_set(x_754, 8, x_750); +lean_ctor_set(x_754, 9, x_751); +lean_ctor_set(x_754, 10, x_752); +lean_ctor_set(x_754, 11, x_753); +x_755 = lean_st_ref_set(x_3, x_754, x_740); +x_756 = lean_ctor_get(x_755, 1); +lean_inc(x_756); +lean_dec(x_755); +x_698 = x_734; +x_699 = x_756; +goto block_724; } else { -uint8_t x_756; -lean_dec(x_695); +uint8_t x_757; +lean_dec(x_696); +lean_dec(x_694); lean_dec(x_693); -lean_dec(x_692); lean_dec(x_7); lean_dec(x_1); -x_756 = !lean_is_exclusive(x_732); -if (x_756 == 0) +x_757 = !lean_is_exclusive(x_733); +if (x_757 == 0) { -return x_732; +return x_733; } else { -lean_object* x_757; lean_object* x_758; lean_object* x_759; -x_757 = lean_ctor_get(x_732, 0); -x_758 = lean_ctor_get(x_732, 1); +lean_object* x_758; lean_object* x_759; lean_object* x_760; +x_758 = lean_ctor_get(x_733, 0); +x_759 = lean_ctor_get(x_733, 1); +lean_inc(x_759); lean_inc(x_758); -lean_inc(x_757); -lean_dec(x_732); -x_759 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_759, 0, x_757); -lean_ctor_set(x_759, 1, x_758); -return x_759; +lean_dec(x_733); +x_760 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_760, 0, x_758); +lean_ctor_set(x_760, 1, x_759); +return x_760; } } } else { -lean_object* x_760; -lean_dec(x_692); +lean_object* x_761; +lean_dec(x_693); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_760 = lean_ctor_get(x_731, 0); -lean_inc(x_760); -lean_dec(x_731); -x_697 = x_760; -x_698 = x_729; -goto block_723; +x_761 = lean_ctor_get(x_732, 0); +lean_inc(x_761); +lean_dec(x_732); +x_698 = x_761; +x_699 = x_730; +goto block_724; } } } -block_806: +block_807: { -lean_object* x_770; lean_object* x_771; lean_object* x_772; lean_object* x_773; lean_object* x_774; lean_object* x_775; lean_object* x_776; -lean_dec(x_769); -x_770 = lean_st_ref_get(x_7, x_694); -x_771 = lean_ctor_get(x_770, 1); -lean_inc(x_771); +lean_object* x_771; lean_object* x_772; lean_object* x_773; lean_object* x_774; lean_object* x_775; lean_object* x_776; lean_object* x_777; lean_dec(x_770); -x_772 = lean_st_ref_get(x_3, x_771); -x_773 = lean_ctor_get(x_772, 0); -lean_inc(x_773); -x_774 = lean_ctor_get(x_772, 1); +x_771 = lean_st_ref_get(x_7, x_695); +x_772 = lean_ctor_get(x_771, 1); +lean_inc(x_772); +lean_dec(x_771); +x_773 = lean_st_ref_get(x_3, x_772); +x_774 = lean_ctor_get(x_773, 0); lean_inc(x_774); -lean_dec(x_772); x_775 = lean_ctor_get(x_773, 1); lean_inc(x_775); lean_dec(x_773); -lean_inc(x_691); -x_776 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_775, x_691); -if (lean_obj_tag(x_776) == 0) +x_776 = lean_ctor_get(x_774, 1); +lean_inc(x_776); +lean_dec(x_774); +lean_inc(x_692); +x_777 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_776, x_692); +if (lean_obj_tag(x_777) == 0) { -lean_object* x_777; +lean_object* x_778; +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_692); +x_778 = l_Lean_Meta_Closure_collectExprAux(x_692, x_2, x_3, x_4, x_5, x_6, x_7, x_775); +if (lean_obj_tag(x_778) == 0) +{ +lean_object* x_779; lean_object* x_780; lean_object* x_781; lean_object* x_782; lean_object* x_783; lean_object* x_784; lean_object* x_785; lean_object* x_786; lean_object* x_787; lean_object* x_788; lean_object* x_789; lean_object* x_790; lean_object* x_791; lean_object* x_792; lean_object* x_793; lean_object* x_794; lean_object* x_795; lean_object* x_796; lean_object* x_797; lean_object* x_798; lean_object* x_799; lean_object* x_800; lean_object* x_801; +x_779 = lean_ctor_get(x_778, 0); +lean_inc(x_779); +x_780 = lean_ctor_get(x_778, 1); +lean_inc(x_780); +lean_dec(x_778); +x_781 = lean_st_ref_get(x_7, x_780); +x_782 = lean_ctor_get(x_781, 1); +lean_inc(x_782); +lean_dec(x_781); +x_783 = lean_st_ref_take(x_3, x_782); +x_784 = lean_ctor_get(x_783, 0); +lean_inc(x_784); +x_785 = lean_ctor_get(x_783, 1); +lean_inc(x_785); +lean_dec(x_783); +x_786 = lean_ctor_get(x_784, 0); +lean_inc(x_786); +x_787 = lean_ctor_get(x_784, 1); +lean_inc(x_787); +lean_inc(x_779); +x_788 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_787, x_692, x_779); +x_789 = lean_ctor_get(x_784, 2); +lean_inc(x_789); +x_790 = lean_ctor_get(x_784, 3); +lean_inc(x_790); +x_791 = lean_ctor_get(x_784, 4); +lean_inc(x_791); +x_792 = lean_ctor_get(x_784, 5); +lean_inc(x_792); +x_793 = lean_ctor_get(x_784, 6); +lean_inc(x_793); +x_794 = lean_ctor_get(x_784, 7); +lean_inc(x_794); +x_795 = lean_ctor_get(x_784, 8); +lean_inc(x_795); +x_796 = lean_ctor_get(x_784, 9); +lean_inc(x_796); +x_797 = lean_ctor_get(x_784, 10); +lean_inc(x_797); +x_798 = lean_ctor_get(x_784, 11); +lean_inc(x_798); +lean_dec(x_784); +x_799 = lean_alloc_ctor(0, 12, 0); +lean_ctor_set(x_799, 0, x_786); +lean_ctor_set(x_799, 1, x_788); +lean_ctor_set(x_799, 2, x_789); +lean_ctor_set(x_799, 3, x_790); +lean_ctor_set(x_799, 4, x_791); +lean_ctor_set(x_799, 5, x_792); +lean_ctor_set(x_799, 6, x_793); +lean_ctor_set(x_799, 7, x_794); +lean_ctor_set(x_799, 8, x_795); +lean_ctor_set(x_799, 9, x_796); +lean_ctor_set(x_799, 10, x_797); +lean_ctor_set(x_799, 11, x_798); +x_800 = lean_st_ref_set(x_3, x_799, x_785); +x_801 = lean_ctor_get(x_800, 1); +lean_inc(x_801); +lean_dec(x_800); +x_696 = x_779; +x_697 = x_801; +goto block_769; +} +else +{ +uint8_t x_802; +lean_dec(x_694); +lean_dec(x_693); +lean_dec(x_692); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_802 = !lean_is_exclusive(x_778); +if (x_802 == 0) +{ +return x_778; +} +else +{ +lean_object* x_803; lean_object* x_804; lean_object* x_805; +x_803 = lean_ctor_get(x_778, 0); +x_804 = lean_ctor_get(x_778, 1); +lean_inc(x_804); +lean_inc(x_803); +lean_dec(x_778); +x_805 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_805, 0, x_803); +lean_ctor_set(x_805, 1, x_804); +return x_805; +} +} +} +else +{ +lean_object* x_806; +lean_dec(x_692); +x_806 = lean_ctor_get(x_777, 0); +lean_inc(x_806); +lean_dec(x_777); +x_696 = x_806; +x_697 = x_775; +goto block_769; +} +} +} +block_852: +{ +lean_object* x_816; lean_object* x_817; lean_object* x_818; lean_object* x_819; lean_object* x_820; lean_object* x_821; lean_object* x_822; +lean_dec(x_815); +x_816 = lean_st_ref_get(x_7, x_8); +x_817 = lean_ctor_get(x_816, 1); +lean_inc(x_817); +lean_dec(x_816); +x_818 = lean_st_ref_get(x_3, x_817); +x_819 = lean_ctor_get(x_818, 0); +lean_inc(x_819); +x_820 = lean_ctor_get(x_818, 1); +lean_inc(x_820); +lean_dec(x_818); +x_821 = lean_ctor_get(x_819, 1); +lean_inc(x_821); +lean_dec(x_819); +lean_inc(x_691); +x_822 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_821, x_691); +if (lean_obj_tag(x_822) == 0) +{ +lean_object* x_823; lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_691); -x_777 = l_Lean_Meta_Closure_collectExprAux(x_691, x_2, x_3, x_4, x_5, x_6, x_7, x_774); -if (lean_obj_tag(x_777) == 0) +x_823 = l_Lean_Meta_Closure_collectExprAux(x_691, x_2, x_3, x_4, x_5, x_6, x_7, x_820); +if (lean_obj_tag(x_823) == 0) { -lean_object* x_778; lean_object* x_779; lean_object* x_780; lean_object* x_781; lean_object* x_782; lean_object* x_783; lean_object* x_784; lean_object* x_785; lean_object* x_786; lean_object* x_787; lean_object* x_788; lean_object* x_789; lean_object* x_790; lean_object* x_791; lean_object* x_792; lean_object* x_793; lean_object* x_794; lean_object* x_795; lean_object* x_796; lean_object* x_797; lean_object* x_798; lean_object* x_799; lean_object* x_800; -x_778 = lean_ctor_get(x_777, 0); -lean_inc(x_778); -x_779 = lean_ctor_get(x_777, 1); -lean_inc(x_779); -lean_dec(x_777); -x_780 = lean_st_ref_get(x_7, x_779); -x_781 = lean_ctor_get(x_780, 1); -lean_inc(x_781); -lean_dec(x_780); -x_782 = lean_st_ref_take(x_3, x_781); -x_783 = lean_ctor_get(x_782, 0); -lean_inc(x_783); -x_784 = lean_ctor_get(x_782, 1); -lean_inc(x_784); -lean_dec(x_782); -x_785 = lean_ctor_get(x_783, 0); -lean_inc(x_785); -x_786 = lean_ctor_get(x_783, 1); -lean_inc(x_786); -lean_inc(x_778); -x_787 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_786, x_691, x_778); -x_788 = lean_ctor_get(x_783, 2); -lean_inc(x_788); -x_789 = lean_ctor_get(x_783, 3); -lean_inc(x_789); -x_790 = lean_ctor_get(x_783, 4); -lean_inc(x_790); -x_791 = lean_ctor_get(x_783, 5); -lean_inc(x_791); -x_792 = lean_ctor_get(x_783, 6); -lean_inc(x_792); -x_793 = lean_ctor_get(x_783, 7); -lean_inc(x_793); -x_794 = lean_ctor_get(x_783, 8); -lean_inc(x_794); -x_795 = lean_ctor_get(x_783, 9); -lean_inc(x_795); -x_796 = lean_ctor_get(x_783, 10); -lean_inc(x_796); -x_797 = lean_ctor_get(x_783, 11); -lean_inc(x_797); -lean_dec(x_783); -x_798 = lean_alloc_ctor(0, 12, 0); -lean_ctor_set(x_798, 0, x_785); -lean_ctor_set(x_798, 1, x_787); -lean_ctor_set(x_798, 2, x_788); -lean_ctor_set(x_798, 3, x_789); -lean_ctor_set(x_798, 4, x_790); -lean_ctor_set(x_798, 5, x_791); -lean_ctor_set(x_798, 6, x_792); -lean_ctor_set(x_798, 7, x_793); -lean_ctor_set(x_798, 8, x_794); -lean_ctor_set(x_798, 9, x_795); -lean_ctor_set(x_798, 10, x_796); -lean_ctor_set(x_798, 11, x_797); -x_799 = lean_st_ref_set(x_3, x_798, x_784); -x_800 = lean_ctor_get(x_799, 1); -lean_inc(x_800); -lean_dec(x_799); -x_695 = x_778; -x_696 = x_800; -goto block_768; +lean_object* x_824; lean_object* x_825; lean_object* x_826; lean_object* x_827; lean_object* x_828; lean_object* x_829; lean_object* x_830; lean_object* x_831; lean_object* x_832; lean_object* x_833; lean_object* x_834; lean_object* x_835; lean_object* x_836; lean_object* x_837; lean_object* x_838; lean_object* x_839; lean_object* x_840; lean_object* x_841; lean_object* x_842; lean_object* x_843; lean_object* x_844; lean_object* x_845; lean_object* x_846; +x_824 = lean_ctor_get(x_823, 0); +lean_inc(x_824); +x_825 = lean_ctor_get(x_823, 1); +lean_inc(x_825); +lean_dec(x_823); +x_826 = lean_st_ref_get(x_7, x_825); +x_827 = lean_ctor_get(x_826, 1); +lean_inc(x_827); +lean_dec(x_826); +x_828 = lean_st_ref_take(x_3, x_827); +x_829 = lean_ctor_get(x_828, 0); +lean_inc(x_829); +x_830 = lean_ctor_get(x_828, 1); +lean_inc(x_830); +lean_dec(x_828); +x_831 = lean_ctor_get(x_829, 0); +lean_inc(x_831); +x_832 = lean_ctor_get(x_829, 1); +lean_inc(x_832); +lean_inc(x_824); +x_833 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_832, x_691, x_824); +x_834 = lean_ctor_get(x_829, 2); +lean_inc(x_834); +x_835 = lean_ctor_get(x_829, 3); +lean_inc(x_835); +x_836 = lean_ctor_get(x_829, 4); +lean_inc(x_836); +x_837 = lean_ctor_get(x_829, 5); +lean_inc(x_837); +x_838 = lean_ctor_get(x_829, 6); +lean_inc(x_838); +x_839 = lean_ctor_get(x_829, 7); +lean_inc(x_839); +x_840 = lean_ctor_get(x_829, 8); +lean_inc(x_840); +x_841 = lean_ctor_get(x_829, 9); +lean_inc(x_841); +x_842 = lean_ctor_get(x_829, 10); +lean_inc(x_842); +x_843 = lean_ctor_get(x_829, 11); +lean_inc(x_843); +lean_dec(x_829); +x_844 = lean_alloc_ctor(0, 12, 0); +lean_ctor_set(x_844, 0, x_831); +lean_ctor_set(x_844, 1, x_833); +lean_ctor_set(x_844, 2, x_834); +lean_ctor_set(x_844, 3, x_835); +lean_ctor_set(x_844, 4, x_836); +lean_ctor_set(x_844, 5, x_837); +lean_ctor_set(x_844, 6, x_838); +lean_ctor_set(x_844, 7, x_839); +lean_ctor_set(x_844, 8, x_840); +lean_ctor_set(x_844, 9, x_841); +lean_ctor_set(x_844, 10, x_842); +lean_ctor_set(x_844, 11, x_843); +x_845 = lean_st_ref_set(x_3, x_844, x_830); +x_846 = lean_ctor_get(x_845, 1); +lean_inc(x_846); +lean_dec(x_845); +x_694 = x_824; +x_695 = x_846; +goto block_814; } else { -uint8_t x_801; +uint8_t x_847; lean_dec(x_693); lean_dec(x_692); lean_dec(x_691); @@ -7223,552 +7331,414 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_801 = !lean_is_exclusive(x_777); -if (x_801 == 0) +x_847 = !lean_is_exclusive(x_823); +if (x_847 == 0) { -return x_777; +return x_823; } else { -lean_object* x_802; lean_object* x_803; lean_object* x_804; -x_802 = lean_ctor_get(x_777, 0); -x_803 = lean_ctor_get(x_777, 1); -lean_inc(x_803); -lean_inc(x_802); -lean_dec(x_777); -x_804 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_804, 0, x_802); -lean_ctor_set(x_804, 1, x_803); -return x_804; -} -} -} -else -{ -lean_object* x_805; -lean_dec(x_691); -x_805 = lean_ctor_get(x_776, 0); -lean_inc(x_805); -lean_dec(x_776); -x_695 = x_805; -x_696 = x_774; -goto block_768; -} -} -} -block_851: -{ -lean_object* x_815; lean_object* x_816; lean_object* x_817; lean_object* x_818; lean_object* x_819; lean_object* x_820; lean_object* x_821; -lean_dec(x_814); -x_815 = lean_st_ref_get(x_7, x_8); -x_816 = lean_ctor_get(x_815, 1); -lean_inc(x_816); -lean_dec(x_815); -x_817 = lean_st_ref_get(x_3, x_816); -x_818 = lean_ctor_get(x_817, 0); -lean_inc(x_818); -x_819 = lean_ctor_get(x_817, 1); -lean_inc(x_819); -lean_dec(x_817); -x_820 = lean_ctor_get(x_818, 1); -lean_inc(x_820); -lean_dec(x_818); -lean_inc(x_690); -x_821 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_820, x_690); -if (lean_obj_tag(x_821) == 0) -{ -lean_object* x_822; -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_690); -x_822 = l_Lean_Meta_Closure_collectExprAux(x_690, x_2, x_3, x_4, x_5, x_6, x_7, x_819); -if (lean_obj_tag(x_822) == 0) -{ -lean_object* x_823; lean_object* x_824; lean_object* x_825; lean_object* x_826; lean_object* x_827; lean_object* x_828; lean_object* x_829; lean_object* x_830; lean_object* x_831; lean_object* x_832; lean_object* x_833; lean_object* x_834; lean_object* x_835; lean_object* x_836; lean_object* x_837; lean_object* x_838; lean_object* x_839; lean_object* x_840; lean_object* x_841; lean_object* x_842; lean_object* x_843; lean_object* x_844; lean_object* x_845; -x_823 = lean_ctor_get(x_822, 0); -lean_inc(x_823); -x_824 = lean_ctor_get(x_822, 1); -lean_inc(x_824); -lean_dec(x_822); -x_825 = lean_st_ref_get(x_7, x_824); -x_826 = lean_ctor_get(x_825, 1); -lean_inc(x_826); -lean_dec(x_825); -x_827 = lean_st_ref_take(x_3, x_826); -x_828 = lean_ctor_get(x_827, 0); -lean_inc(x_828); -x_829 = lean_ctor_get(x_827, 1); -lean_inc(x_829); -lean_dec(x_827); -x_830 = lean_ctor_get(x_828, 0); -lean_inc(x_830); -x_831 = lean_ctor_get(x_828, 1); -lean_inc(x_831); -lean_inc(x_823); -x_832 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_831, x_690, x_823); -x_833 = lean_ctor_get(x_828, 2); -lean_inc(x_833); -x_834 = lean_ctor_get(x_828, 3); -lean_inc(x_834); -x_835 = lean_ctor_get(x_828, 4); -lean_inc(x_835); -x_836 = lean_ctor_get(x_828, 5); -lean_inc(x_836); -x_837 = lean_ctor_get(x_828, 6); -lean_inc(x_837); -x_838 = lean_ctor_get(x_828, 7); -lean_inc(x_838); -x_839 = lean_ctor_get(x_828, 8); -lean_inc(x_839); -x_840 = lean_ctor_get(x_828, 9); -lean_inc(x_840); -x_841 = lean_ctor_get(x_828, 10); -lean_inc(x_841); -x_842 = lean_ctor_get(x_828, 11); -lean_inc(x_842); -lean_dec(x_828); -x_843 = lean_alloc_ctor(0, 12, 0); -lean_ctor_set(x_843, 0, x_830); -lean_ctor_set(x_843, 1, x_832); -lean_ctor_set(x_843, 2, x_833); -lean_ctor_set(x_843, 3, x_834); -lean_ctor_set(x_843, 4, x_835); -lean_ctor_set(x_843, 5, x_836); -lean_ctor_set(x_843, 6, x_837); -lean_ctor_set(x_843, 7, x_838); -lean_ctor_set(x_843, 8, x_839); -lean_ctor_set(x_843, 9, x_840); -lean_ctor_set(x_843, 10, x_841); -lean_ctor_set(x_843, 11, x_842); -x_844 = lean_st_ref_set(x_3, x_843, x_829); -x_845 = lean_ctor_get(x_844, 1); -lean_inc(x_845); -lean_dec(x_844); -x_693 = x_823; -x_694 = x_845; -goto block_813; -} -else -{ -uint8_t x_846; -lean_dec(x_692); -lean_dec(x_691); -lean_dec(x_690); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_1); -x_846 = !lean_is_exclusive(x_822); -if (x_846 == 0) -{ -return x_822; -} -else -{ -lean_object* x_847; lean_object* x_848; lean_object* x_849; -x_847 = lean_ctor_get(x_822, 0); -x_848 = lean_ctor_get(x_822, 1); +lean_object* x_848; lean_object* x_849; lean_object* x_850; +x_848 = lean_ctor_get(x_823, 0); +x_849 = lean_ctor_get(x_823, 1); +lean_inc(x_849); lean_inc(x_848); -lean_inc(x_847); -lean_dec(x_822); -x_849 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_849, 0, x_847); -lean_ctor_set(x_849, 1, x_848); -return x_849; +lean_dec(x_823); +x_850 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_850, 0, x_848); +lean_ctor_set(x_850, 1, x_849); +return x_850; } } } else { -lean_object* x_850; -lean_dec(x_690); -x_850 = lean_ctor_get(x_821, 0); -lean_inc(x_850); -lean_dec(x_821); -x_693 = x_850; -x_694 = x_819; -goto block_813; +lean_object* x_851; +lean_dec(x_691); +x_851 = lean_ctor_get(x_822, 0); +lean_inc(x_851); +lean_dec(x_822); +x_694 = x_851; +x_695 = x_820; +goto block_814; } } } case 10: { -lean_object* x_858; lean_object* x_859; uint8_t x_897; -x_858 = lean_ctor_get(x_1, 1); -lean_inc(x_858); -x_897 = l_Lean_Expr_hasLevelParam(x_858); -if (x_897 == 0) -{ -uint8_t x_898; -x_898 = l_Lean_Expr_hasFVar(x_858); +lean_object* x_859; lean_object* x_860; uint8_t x_898; +x_859 = lean_ctor_get(x_1, 1); +lean_inc(x_859); +x_898 = l_Lean_Expr_hasLevelParam(x_859); if (x_898 == 0) { uint8_t x_899; -x_899 = l_Lean_Expr_hasMVar(x_858); +x_899 = l_Lean_Expr_hasFVar(x_859); if (x_899 == 0) { +uint8_t x_900; +x_900 = l_Lean_Expr_hasMVar(x_859); +if (x_900 == 0) +{ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_9 = x_858; +x_9 = x_859; x_10 = x_8; goto block_22; } else { -lean_object* x_900; -x_900 = lean_box(0); -x_859 = x_900; -goto block_896; -} -} -else -{ lean_object* x_901; x_901 = lean_box(0); -x_859 = x_901; -goto block_896; +x_860 = x_901; +goto block_897; } } else { lean_object* x_902; x_902 = lean_box(0); -x_859 = x_902; -goto block_896; +x_860 = x_902; +goto block_897; } -block_896: +} +else { -lean_object* x_860; lean_object* x_861; lean_object* x_862; lean_object* x_863; lean_object* x_864; lean_object* x_865; lean_object* x_866; -lean_dec(x_859); -x_860 = lean_st_ref_get(x_7, x_8); -x_861 = lean_ctor_get(x_860, 1); -lean_inc(x_861); +lean_object* x_903; +x_903 = lean_box(0); +x_860 = x_903; +goto block_897; +} +block_897: +{ +lean_object* x_861; lean_object* x_862; lean_object* x_863; lean_object* x_864; lean_object* x_865; lean_object* x_866; lean_object* x_867; lean_dec(x_860); -x_862 = lean_st_ref_get(x_3, x_861); -x_863 = lean_ctor_get(x_862, 0); -lean_inc(x_863); -x_864 = lean_ctor_get(x_862, 1); +x_861 = lean_st_ref_get(x_7, x_8); +x_862 = lean_ctor_get(x_861, 1); +lean_inc(x_862); +lean_dec(x_861); +x_863 = lean_st_ref_get(x_3, x_862); +x_864 = lean_ctor_get(x_863, 0); lean_inc(x_864); -lean_dec(x_862); x_865 = lean_ctor_get(x_863, 1); lean_inc(x_865); lean_dec(x_863); -lean_inc(x_858); -x_866 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_865, x_858); -if (lean_obj_tag(x_866) == 0) -{ -lean_object* x_867; -lean_inc(x_7); -lean_inc(x_858); -x_867 = l_Lean_Meta_Closure_collectExprAux(x_858, x_2, x_3, x_4, x_5, x_6, x_7, x_864); +x_866 = lean_ctor_get(x_864, 1); +lean_inc(x_866); +lean_dec(x_864); +lean_inc(x_859); +x_867 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_866, x_859); if (lean_obj_tag(x_867) == 0) { -lean_object* x_868; lean_object* x_869; lean_object* x_870; lean_object* x_871; lean_object* x_872; lean_object* x_873; lean_object* x_874; lean_object* x_875; lean_object* x_876; lean_object* x_877; lean_object* x_878; lean_object* x_879; lean_object* x_880; lean_object* x_881; lean_object* x_882; lean_object* x_883; lean_object* x_884; lean_object* x_885; lean_object* x_886; lean_object* x_887; lean_object* x_888; lean_object* x_889; lean_object* x_890; -x_868 = lean_ctor_get(x_867, 0); -lean_inc(x_868); -x_869 = lean_ctor_get(x_867, 1); +lean_object* x_868; +lean_inc(x_7); +lean_inc(x_859); +x_868 = l_Lean_Meta_Closure_collectExprAux(x_859, x_2, x_3, x_4, x_5, x_6, x_7, x_865); +if (lean_obj_tag(x_868) == 0) +{ +lean_object* x_869; lean_object* x_870; lean_object* x_871; lean_object* x_872; lean_object* x_873; lean_object* x_874; lean_object* x_875; lean_object* x_876; lean_object* x_877; lean_object* x_878; lean_object* x_879; lean_object* x_880; lean_object* x_881; lean_object* x_882; lean_object* x_883; lean_object* x_884; lean_object* x_885; lean_object* x_886; lean_object* x_887; lean_object* x_888; lean_object* x_889; lean_object* x_890; lean_object* x_891; +x_869 = lean_ctor_get(x_868, 0); lean_inc(x_869); -lean_dec(x_867); -x_870 = lean_st_ref_get(x_7, x_869); +x_870 = lean_ctor_get(x_868, 1); +lean_inc(x_870); +lean_dec(x_868); +x_871 = lean_st_ref_get(x_7, x_870); lean_dec(x_7); -x_871 = lean_ctor_get(x_870, 1); -lean_inc(x_871); -lean_dec(x_870); -x_872 = lean_st_ref_take(x_3, x_871); -x_873 = lean_ctor_get(x_872, 0); -lean_inc(x_873); -x_874 = lean_ctor_get(x_872, 1); +x_872 = lean_ctor_get(x_871, 1); +lean_inc(x_872); +lean_dec(x_871); +x_873 = lean_st_ref_take(x_3, x_872); +x_874 = lean_ctor_get(x_873, 0); lean_inc(x_874); -lean_dec(x_872); -x_875 = lean_ctor_get(x_873, 0); +x_875 = lean_ctor_get(x_873, 1); lean_inc(x_875); -x_876 = lean_ctor_get(x_873, 1); -lean_inc(x_876); -lean_inc(x_868); -x_877 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_876, x_858, x_868); -x_878 = lean_ctor_get(x_873, 2); -lean_inc(x_878); -x_879 = lean_ctor_get(x_873, 3); -lean_inc(x_879); -x_880 = lean_ctor_get(x_873, 4); -lean_inc(x_880); -x_881 = lean_ctor_get(x_873, 5); -lean_inc(x_881); -x_882 = lean_ctor_get(x_873, 6); -lean_inc(x_882); -x_883 = lean_ctor_get(x_873, 7); -lean_inc(x_883); -x_884 = lean_ctor_get(x_873, 8); -lean_inc(x_884); -x_885 = lean_ctor_get(x_873, 9); -lean_inc(x_885); -x_886 = lean_ctor_get(x_873, 10); -lean_inc(x_886); -x_887 = lean_ctor_get(x_873, 11); -lean_inc(x_887); lean_dec(x_873); -x_888 = lean_alloc_ctor(0, 12, 0); -lean_ctor_set(x_888, 0, x_875); -lean_ctor_set(x_888, 1, x_877); -lean_ctor_set(x_888, 2, x_878); -lean_ctor_set(x_888, 3, x_879); -lean_ctor_set(x_888, 4, x_880); -lean_ctor_set(x_888, 5, x_881); -lean_ctor_set(x_888, 6, x_882); -lean_ctor_set(x_888, 7, x_883); -lean_ctor_set(x_888, 8, x_884); -lean_ctor_set(x_888, 9, x_885); -lean_ctor_set(x_888, 10, x_886); -lean_ctor_set(x_888, 11, x_887); -x_889 = lean_st_ref_set(x_3, x_888, x_874); -x_890 = lean_ctor_get(x_889, 1); -lean_inc(x_890); -lean_dec(x_889); -x_9 = x_868; -x_10 = x_890; +x_876 = lean_ctor_get(x_874, 0); +lean_inc(x_876); +x_877 = lean_ctor_get(x_874, 1); +lean_inc(x_877); +lean_inc(x_869); +x_878 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_877, x_859, x_869); +x_879 = lean_ctor_get(x_874, 2); +lean_inc(x_879); +x_880 = lean_ctor_get(x_874, 3); +lean_inc(x_880); +x_881 = lean_ctor_get(x_874, 4); +lean_inc(x_881); +x_882 = lean_ctor_get(x_874, 5); +lean_inc(x_882); +x_883 = lean_ctor_get(x_874, 6); +lean_inc(x_883); +x_884 = lean_ctor_get(x_874, 7); +lean_inc(x_884); +x_885 = lean_ctor_get(x_874, 8); +lean_inc(x_885); +x_886 = lean_ctor_get(x_874, 9); +lean_inc(x_886); +x_887 = lean_ctor_get(x_874, 10); +lean_inc(x_887); +x_888 = lean_ctor_get(x_874, 11); +lean_inc(x_888); +lean_dec(x_874); +x_889 = lean_alloc_ctor(0, 12, 0); +lean_ctor_set(x_889, 0, x_876); +lean_ctor_set(x_889, 1, x_878); +lean_ctor_set(x_889, 2, x_879); +lean_ctor_set(x_889, 3, x_880); +lean_ctor_set(x_889, 4, x_881); +lean_ctor_set(x_889, 5, x_882); +lean_ctor_set(x_889, 6, x_883); +lean_ctor_set(x_889, 7, x_884); +lean_ctor_set(x_889, 8, x_885); +lean_ctor_set(x_889, 9, x_886); +lean_ctor_set(x_889, 10, x_887); +lean_ctor_set(x_889, 11, x_888); +x_890 = lean_st_ref_set(x_3, x_889, x_875); +x_891 = lean_ctor_get(x_890, 1); +lean_inc(x_891); +lean_dec(x_890); +x_9 = x_869; +x_10 = x_891; goto block_22; } else { -uint8_t x_891; -lean_dec(x_858); +uint8_t x_892; +lean_dec(x_859); lean_dec(x_7); lean_dec(x_1); -x_891 = !lean_is_exclusive(x_867); -if (x_891 == 0) +x_892 = !lean_is_exclusive(x_868); +if (x_892 == 0) { -return x_867; +return x_868; } else { -lean_object* x_892; lean_object* x_893; lean_object* x_894; -x_892 = lean_ctor_get(x_867, 0); -x_893 = lean_ctor_get(x_867, 1); +lean_object* x_893; lean_object* x_894; lean_object* x_895; +x_893 = lean_ctor_get(x_868, 0); +x_894 = lean_ctor_get(x_868, 1); +lean_inc(x_894); lean_inc(x_893); -lean_inc(x_892); -lean_dec(x_867); -x_894 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_894, 0, x_892); -lean_ctor_set(x_894, 1, x_893); -return x_894; +lean_dec(x_868); +x_895 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_895, 0, x_893); +lean_ctor_set(x_895, 1, x_894); +return x_895; } } } else { -lean_object* x_895; -lean_dec(x_858); +lean_object* x_896; +lean_dec(x_859); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_895 = lean_ctor_get(x_866, 0); -lean_inc(x_895); -lean_dec(x_866); -x_9 = x_895; -x_10 = x_864; +x_896 = lean_ctor_get(x_867, 0); +lean_inc(x_896); +lean_dec(x_867); +x_9 = x_896; +x_10 = x_865; goto block_22; } } } case 11: { -lean_object* x_903; lean_object* x_904; uint8_t x_942; -x_903 = lean_ctor_get(x_1, 2); -lean_inc(x_903); -x_942 = l_Lean_Expr_hasLevelParam(x_903); -if (x_942 == 0) -{ -uint8_t x_943; -x_943 = l_Lean_Expr_hasFVar(x_903); +lean_object* x_904; lean_object* x_905; uint8_t x_943; +x_904 = lean_ctor_get(x_1, 2); +lean_inc(x_904); +x_943 = l_Lean_Expr_hasLevelParam(x_904); if (x_943 == 0) { uint8_t x_944; -x_944 = l_Lean_Expr_hasMVar(x_903); +x_944 = l_Lean_Expr_hasFVar(x_904); if (x_944 == 0) { +uint8_t x_945; +x_945 = l_Lean_Expr_hasMVar(x_904); +if (x_945 == 0) +{ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_23 = x_903; +x_23 = x_904; x_24 = x_8; goto block_37; } else { -lean_object* x_945; -x_945 = lean_box(0); -x_904 = x_945; -goto block_941; -} -} -else -{ lean_object* x_946; x_946 = lean_box(0); -x_904 = x_946; -goto block_941; +x_905 = x_946; +goto block_942; } } else { lean_object* x_947; x_947 = lean_box(0); -x_904 = x_947; -goto block_941; +x_905 = x_947; +goto block_942; } -block_941: +} +else { -lean_object* x_905; lean_object* x_906; lean_object* x_907; lean_object* x_908; lean_object* x_909; lean_object* x_910; lean_object* x_911; -lean_dec(x_904); -x_905 = lean_st_ref_get(x_7, x_8); -x_906 = lean_ctor_get(x_905, 1); -lean_inc(x_906); +lean_object* x_948; +x_948 = lean_box(0); +x_905 = x_948; +goto block_942; +} +block_942: +{ +lean_object* x_906; lean_object* x_907; lean_object* x_908; lean_object* x_909; lean_object* x_910; lean_object* x_911; lean_object* x_912; lean_dec(x_905); -x_907 = lean_st_ref_get(x_3, x_906); -x_908 = lean_ctor_get(x_907, 0); -lean_inc(x_908); -x_909 = lean_ctor_get(x_907, 1); +x_906 = lean_st_ref_get(x_7, x_8); +x_907 = lean_ctor_get(x_906, 1); +lean_inc(x_907); +lean_dec(x_906); +x_908 = lean_st_ref_get(x_3, x_907); +x_909 = lean_ctor_get(x_908, 0); lean_inc(x_909); -lean_dec(x_907); x_910 = lean_ctor_get(x_908, 1); lean_inc(x_910); lean_dec(x_908); -lean_inc(x_903); -x_911 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_910, x_903); -if (lean_obj_tag(x_911) == 0) -{ -lean_object* x_912; -lean_inc(x_7); -lean_inc(x_903); -x_912 = l_Lean_Meta_Closure_collectExprAux(x_903, x_2, x_3, x_4, x_5, x_6, x_7, x_909); +x_911 = lean_ctor_get(x_909, 1); +lean_inc(x_911); +lean_dec(x_909); +lean_inc(x_904); +x_912 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_911, x_904); if (lean_obj_tag(x_912) == 0) { -lean_object* x_913; lean_object* x_914; lean_object* x_915; lean_object* x_916; lean_object* x_917; lean_object* x_918; lean_object* x_919; lean_object* x_920; lean_object* x_921; lean_object* x_922; lean_object* x_923; lean_object* x_924; lean_object* x_925; lean_object* x_926; lean_object* x_927; lean_object* x_928; lean_object* x_929; lean_object* x_930; lean_object* x_931; lean_object* x_932; lean_object* x_933; lean_object* x_934; lean_object* x_935; -x_913 = lean_ctor_get(x_912, 0); -lean_inc(x_913); -x_914 = lean_ctor_get(x_912, 1); +lean_object* x_913; +lean_inc(x_7); +lean_inc(x_904); +x_913 = l_Lean_Meta_Closure_collectExprAux(x_904, x_2, x_3, x_4, x_5, x_6, x_7, x_910); +if (lean_obj_tag(x_913) == 0) +{ +lean_object* x_914; lean_object* x_915; lean_object* x_916; lean_object* x_917; lean_object* x_918; lean_object* x_919; lean_object* x_920; lean_object* x_921; lean_object* x_922; lean_object* x_923; lean_object* x_924; lean_object* x_925; lean_object* x_926; lean_object* x_927; lean_object* x_928; lean_object* x_929; lean_object* x_930; lean_object* x_931; lean_object* x_932; lean_object* x_933; lean_object* x_934; lean_object* x_935; lean_object* x_936; +x_914 = lean_ctor_get(x_913, 0); lean_inc(x_914); -lean_dec(x_912); -x_915 = lean_st_ref_get(x_7, x_914); +x_915 = lean_ctor_get(x_913, 1); +lean_inc(x_915); +lean_dec(x_913); +x_916 = lean_st_ref_get(x_7, x_915); lean_dec(x_7); -x_916 = lean_ctor_get(x_915, 1); -lean_inc(x_916); -lean_dec(x_915); -x_917 = lean_st_ref_take(x_3, x_916); -x_918 = lean_ctor_get(x_917, 0); -lean_inc(x_918); -x_919 = lean_ctor_get(x_917, 1); +x_917 = lean_ctor_get(x_916, 1); +lean_inc(x_917); +lean_dec(x_916); +x_918 = lean_st_ref_take(x_3, x_917); +x_919 = lean_ctor_get(x_918, 0); lean_inc(x_919); -lean_dec(x_917); -x_920 = lean_ctor_get(x_918, 0); +x_920 = lean_ctor_get(x_918, 1); lean_inc(x_920); -x_921 = lean_ctor_get(x_918, 1); -lean_inc(x_921); -lean_inc(x_913); -x_922 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_921, x_903, x_913); -x_923 = lean_ctor_get(x_918, 2); -lean_inc(x_923); -x_924 = lean_ctor_get(x_918, 3); -lean_inc(x_924); -x_925 = lean_ctor_get(x_918, 4); -lean_inc(x_925); -x_926 = lean_ctor_get(x_918, 5); -lean_inc(x_926); -x_927 = lean_ctor_get(x_918, 6); -lean_inc(x_927); -x_928 = lean_ctor_get(x_918, 7); -lean_inc(x_928); -x_929 = lean_ctor_get(x_918, 8); -lean_inc(x_929); -x_930 = lean_ctor_get(x_918, 9); -lean_inc(x_930); -x_931 = lean_ctor_get(x_918, 10); -lean_inc(x_931); -x_932 = lean_ctor_get(x_918, 11); -lean_inc(x_932); lean_dec(x_918); -x_933 = lean_alloc_ctor(0, 12, 0); -lean_ctor_set(x_933, 0, x_920); -lean_ctor_set(x_933, 1, x_922); -lean_ctor_set(x_933, 2, x_923); -lean_ctor_set(x_933, 3, x_924); -lean_ctor_set(x_933, 4, x_925); -lean_ctor_set(x_933, 5, x_926); -lean_ctor_set(x_933, 6, x_927); -lean_ctor_set(x_933, 7, x_928); -lean_ctor_set(x_933, 8, x_929); -lean_ctor_set(x_933, 9, x_930); -lean_ctor_set(x_933, 10, x_931); -lean_ctor_set(x_933, 11, x_932); -x_934 = lean_st_ref_set(x_3, x_933, x_919); -x_935 = lean_ctor_get(x_934, 1); -lean_inc(x_935); -lean_dec(x_934); -x_23 = x_913; -x_24 = x_935; +x_921 = lean_ctor_get(x_919, 0); +lean_inc(x_921); +x_922 = lean_ctor_get(x_919, 1); +lean_inc(x_922); +lean_inc(x_914); +x_923 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_922, x_904, x_914); +x_924 = lean_ctor_get(x_919, 2); +lean_inc(x_924); +x_925 = lean_ctor_get(x_919, 3); +lean_inc(x_925); +x_926 = lean_ctor_get(x_919, 4); +lean_inc(x_926); +x_927 = lean_ctor_get(x_919, 5); +lean_inc(x_927); +x_928 = lean_ctor_get(x_919, 6); +lean_inc(x_928); +x_929 = lean_ctor_get(x_919, 7); +lean_inc(x_929); +x_930 = lean_ctor_get(x_919, 8); +lean_inc(x_930); +x_931 = lean_ctor_get(x_919, 9); +lean_inc(x_931); +x_932 = lean_ctor_get(x_919, 10); +lean_inc(x_932); +x_933 = lean_ctor_get(x_919, 11); +lean_inc(x_933); +lean_dec(x_919); +x_934 = lean_alloc_ctor(0, 12, 0); +lean_ctor_set(x_934, 0, x_921); +lean_ctor_set(x_934, 1, x_923); +lean_ctor_set(x_934, 2, x_924); +lean_ctor_set(x_934, 3, x_925); +lean_ctor_set(x_934, 4, x_926); +lean_ctor_set(x_934, 5, x_927); +lean_ctor_set(x_934, 6, x_928); +lean_ctor_set(x_934, 7, x_929); +lean_ctor_set(x_934, 8, x_930); +lean_ctor_set(x_934, 9, x_931); +lean_ctor_set(x_934, 10, x_932); +lean_ctor_set(x_934, 11, x_933); +x_935 = lean_st_ref_set(x_3, x_934, x_920); +x_936 = lean_ctor_get(x_935, 1); +lean_inc(x_936); +lean_dec(x_935); +x_23 = x_914; +x_24 = x_936; goto block_37; } else { -uint8_t x_936; -lean_dec(x_903); +uint8_t x_937; +lean_dec(x_904); lean_dec(x_7); lean_dec(x_1); -x_936 = !lean_is_exclusive(x_912); -if (x_936 == 0) +x_937 = !lean_is_exclusive(x_913); +if (x_937 == 0) { -return x_912; +return x_913; } else { -lean_object* x_937; lean_object* x_938; lean_object* x_939; -x_937 = lean_ctor_get(x_912, 0); -x_938 = lean_ctor_get(x_912, 1); +lean_object* x_938; lean_object* x_939; lean_object* x_940; +x_938 = lean_ctor_get(x_913, 0); +x_939 = lean_ctor_get(x_913, 1); +lean_inc(x_939); lean_inc(x_938); -lean_inc(x_937); -lean_dec(x_912); -x_939 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_939, 0, x_937); -lean_ctor_set(x_939, 1, x_938); -return x_939; +lean_dec(x_913); +x_940 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_940, 0, x_938); +lean_ctor_set(x_940, 1, x_939); +return x_940; } } } else { -lean_object* x_940; -lean_dec(x_903); +lean_object* x_941; +lean_dec(x_904); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_940 = lean_ctor_get(x_911, 0); -lean_inc(x_940); -lean_dec(x_911); -x_23 = x_940; -x_24 = x_909; +x_941 = lean_ctor_get(x_912, 0); +lean_inc(x_941); +lean_dec(x_912); +x_23 = x_941; +x_24 = x_910; goto block_37; } } } default: { -lean_object* x_948; +lean_object* x_949; lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_948 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_948, 0, x_1); -lean_ctor_set(x_948, 1, x_8); -return x_948; +x_949 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_949, 0, x_1); +lean_ctor_set(x_949, 1, x_8); +return x_949; } } block_22: @@ -7908,19 +7878,19 @@ lean_dec(x_2); return x_9; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Closure_collectExprAux___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_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Closure_collectExprAux___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) { _start: { -uint8_t x_9; lean_object* x_10; -x_9 = lean_unbox(x_2); -lean_dec(x_2); -x_10 = l_List_mapM___at_Lean_Meta_Closure_collectExprAux___spec__3(x_1, x_9, x_3, x_4, x_5, x_6, x_7, x_8); +uint8_t x_10; lean_object* x_11; +x_10 = lean_unbox(x_3); +lean_dec(x_3); +x_11 = l_List_mapM_loop___at_Lean_Meta_Closure_collectExprAux___spec__3(x_1, x_2, x_10, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_3); -return x_10; +return x_11; } } LEAN_EXPORT lean_object* l_Lean_Meta_Closure_collectExprAux___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { diff --git a/stage0/stdlib/Lean/Meta/DiscrTree.c b/stage0/stdlib/Lean/Meta/DiscrTree.c index 1ec19bc2bb..16c182f321 100644 --- a/stage0/stdlib/Lean/Meta/DiscrTree.c +++ b/stage0/stdlib/Lean/Meta/DiscrTree.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Meta.DiscrTree -// Imports: Init Lean.Meta.Basic Lean.Meta.FunInfo Lean.Meta.InferType Lean.Meta.WHNF Lean.Meta.Match.MatcherInfo +// Imports: Init Lean.Meta.WHNF Lean.Meta.DiscrTreeTypes #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -8140,7 +8140,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Meta_DiscrTree_insertCore___rarg___closed__5; x_2 = l_Lean_Meta_DiscrTree_insertCore___rarg___closed__6; -x_3 = lean_unsigned_to_nat(353u); +x_3 = lean_unsigned_to_nat(350u); x_4 = lean_unsigned_to_nat(23u); x_5 = l_Lean_Meta_DiscrTree_insertCore___rarg___closed__7; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -18059,11 +18059,8 @@ return x_9; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Basic(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_FunInfo(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_InferType(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_WHNF(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Match_MatcherInfo(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Meta_DiscrTreeTypes(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Meta_DiscrTree(uint8_t builtin, lean_object* w) { lean_object * res; @@ -18072,19 +18069,10 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_Basic(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Meta_FunInfo(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Meta_InferType(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Meta_WHNF(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_Match_MatcherInfo(builtin, lean_io_mk_world()); +res = initialize_Lean_Meta_DiscrTreeTypes(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_Meta_DiscrTree_instLTKey = _init_l_Lean_Meta_DiscrTree_instLTKey(); diff --git a/stage0/stdlib/Lean/Meta/ExprDefEq.c b/stage0/stdlib/Lean/Meta/ExprDefEq.c index 285911011c..d1d006cf88 100644 --- a/stage0/stdlib/Lean/Meta/ExprDefEq.c +++ b/stage0/stdlib/Lean/Meta/ExprDefEq.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Meta.ExprDefEq -// Imports: Init Lean.ProjFns Lean.Structure Lean.Meta.WHNF Lean.Meta.InferType Lean.Meta.FunInfo Lean.Meta.Check Lean.Meta.Offset Lean.Meta.ForEachExpr Lean.Meta.UnificationHint +// Imports: Init Lean.Meta.Offset Lean.Meta.UnificationHint Lean.Util.OccursCheck #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -30,13 +30,13 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEta LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignment_checkMVar___spec__18(lean_object*, lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAtCollisionNodeAux___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_cacheResult___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAux___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_getCachedResult___spec__2___boxed(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__2___boxed(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignmentFOApprox_loop___closed__2; static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct_go___spec__1___lambda__2___closed__1; size_t lean_usize_add(size_t, size_t); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at_Lean_Meta_CheckAssignment_checkMVar___spec__19(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_checkpointDefEq___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqQuickMVarMVar___spec__2(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_CheckAssignment_checkMVar___spec__62(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_mkHashMap___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom___spec__2(lean_object*); lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_shouldVisit(lean_object*, lean_object*); lean_object* l_Lean_Expr_mvarId_x21(lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_hasLetDeclsInBetween___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -62,6 +62,7 @@ lean_object* lean_mk_empty_array_with_capacity(lean_object*); static lean_object* l_Lean_Meta_CheckAssignment_check___closed__10; LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at_Lean_Meta_CheckAssignment_checkMVar___spec__45___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignment_checkFVar___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_forallE___override(lean_object*, lean_object*, lean_object*, uint8_t); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isExprDefEqExpensive(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -70,8 +71,8 @@ LEAN_EXPORT lean_object* l_Lean_Meta_CheckAssignment_checkAssignmentAux___boxed( static lean_object* l_Lean_Meta_isExprDefEqAuxImpl___lambda__3___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkCacheKey(lean_object*, lean_object*); static lean_object* l_Lean_Meta_CheckAssignment_check___closed__12; +LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__1(lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct_go___spec__1___lambda__2___closed__11; -LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct_go___spec__1___closed__13; LEAN_EXPORT uint8_t l_Std_PersistentArray_anyMAux___at_Lean_Meta_CheckAssignment_checkMVar___spec__31(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_unfoldBothDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -123,6 +124,7 @@ size_t lean_usize_sub(size_t, size_t); lean_object* l___private_Lean_Expr_0__Lean_Expr_etaExpandedAux(lean_object*, lean_object*); static size_t l_Std_PersistentHashMap_findAux___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_getCachedResult___spec__2___closed__2; lean_object* l_ReaderT_instMonadFunctorReaderT(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Meta_CheckAssignment_checkFVar___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_findCached_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_environment_find(lean_object*, lean_object*); lean_object* lean_is_expr_def_eq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -134,6 +136,7 @@ static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWi lean_object* l_Lean_Expr_mdata___override(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqQuickOther___closed__2; static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqArgsFirstPass___spec__2___closed__2; +lean_object* l___private_Lean_Data_HashMap_0__Std_numBucketsForCapacity(lean_object*); lean_object* l_Std_PersistentArray_append___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_tryHeuristic___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getStuckMVar_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -161,6 +164,7 @@ uint8_t l_Lean_LocalContext_containsFVar(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_unfoldComparingHeadsDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Std_PersistentHashMap_contains___at_Lean_MVarId_isDelayedAssigned___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processConstApprox_go___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__8(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at_Lean_Meta_CheckAssignment_checkMVar___spec__21(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_expandDelayedAssigned_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isAppOf(lean_object*, lean_object*); @@ -180,7 +184,6 @@ lean_object* l_Std_PersistentHashMap_getCollisionNodeSize___rarg(lean_object*); static lean_object* l_Lean_Meta_CheckAssignment_check___closed__15; static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_hasLetDeclsInBetween___spec__1___closed__1; static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct_go___spec__1___lambda__2___closed__6; -LEAN_EXPORT lean_object* l_List_foldl___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__5(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at_Lean_Meta_CheckAssignment_checkMVar___spec__11(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalContext_findFVar_x3f(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqRight___closed__2; @@ -194,13 +197,12 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqArg lean_object* l_Lean_Meta_isTypeCorrect(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_assignConst___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct_go___spec__1___lambda__2___closed__13; -LEAN_EXPORT uint8_t l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__2(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__7(lean_object*, lean_object*); lean_object* l_Lean_Meta_getConst_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct_go___spec__1___closed__4; lean_object* l_Lean_Meta_unfoldDefinition_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_isDefEqNative(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processConstApprox_go___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__6(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignment_process___closed__1; static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct_go___spec__1___closed__8; lean_object* l_Std_mkHashSetImp___rarg(lean_object*); @@ -220,7 +222,7 @@ static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDefEq_0_ LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processConstApprox_defaultCase___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignment_process___closed__2; -uint8_t l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10498_(uint8_t, uint8_t); +uint8_t l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10509_(uint8_t, uint8_t); static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct_go___spec__1___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqArgsFirstPass(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_LocalContext_contains(lean_object*, lean_object*); @@ -259,6 +261,7 @@ LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_CheckAssignmen static lean_object* l_Lean_Meta_CheckAssignment_check___closed__7; LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignment_process___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MVarId_getDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__2(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_occursCheck___at_Lean_Meta_checkAssignment___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_unstuckMVar___closed__2; LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at_Lean_Meta_CheckAssignment_checkMVar___spec__36(lean_object*, lean_object*, lean_object*); @@ -267,6 +270,7 @@ lean_object* lean_is_level_def_eq(lean_object*, lean_object*, lean_object*, lean static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___lambda__2___closed__2; lean_object* l_Lean_FVarId_getValue_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__2___boxed(lean_object*, lean_object*); lean_object* l_Lean_mkAppN(lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqArgsFirstPass___spec__2___closed__1; size_t lean_uint64_to_usize(uint64_t); @@ -289,7 +293,6 @@ lean_object* l_StateRefT_x27_lift___rarg___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_CheckAssignment_check(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_anyM___at_Lean_Meta_CheckAssignment_checkMVar___spec__14___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at_Lean_Meta_CheckAssignment_checkMVar___spec__37(lean_object*, lean_object*, lean_object*); -lean_object* l_Std_HashMap_insert___at_Lean_Meta_forEachExpr_x27_visit___spec__12(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_checkpointDefEq___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct_go___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_checkpointDefEq___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqApp___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -304,7 +307,6 @@ LEAN_EXPORT lean_object* l_Lean_Meta_checkpointDefEq___at___private_Lean_Meta_Ex extern lean_object* l_Lean_inheritedTraceOptions; LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_expandDelayedAssigned_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_CheckAssignment_check___closed__14; -LEAN_EXPORT lean_object* l_Std_HashSetImp_expand___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__3(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_expandDelayedAssigned_x3f___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_isDefEqBindingDomain_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_trySynthPending(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -382,6 +384,7 @@ LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Meta_ExprDefEq_0_ uint8_t l_Lean_Expr_hasExprMVar(lean_object*); static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___lambda__1___closed__6; lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashSetImp_moveEntries___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__12(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_checkpointDefEq___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqQuickMVarMVar___spec__1(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_consumeLet___boxed(lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignment_checkMVar___spec__8(lean_object*, lean_object*, size_t, size_t); @@ -429,6 +432,7 @@ static lean_object* l_Lean_Meta_isDefEqStringLit___closed__4; lean_object* l_Lean_MVarId_isReadOnlyOrSyntheticOpaque(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Meta_ParamInfo_isInstImplicit(lean_object*); static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_unstuckMVar___closed__13; +LEAN_EXPORT lean_object* l_Std_HashMap_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__3(lean_object*, lean_object*, lean_object*); lean_object* lean_st_mk_ref(lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct_go___spec__1___lambda__2___closed__3; LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at_Lean_Meta_CheckAssignment_checkMVar___spec__43(lean_object*, lean_object*, lean_object*); @@ -436,6 +440,7 @@ LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignment_c LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqArgsFirstPass___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_is_matcher(lean_object*, lean_object*); static lean_object* l_Lean_Meta_CheckAssignment_run___closed__1; +static lean_object* l_Lean_Meta_CheckAssignment_State_cache___default___closed__1; extern lean_object* l_Lean_Expr_instHashableExpr; LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processConstApprox___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_foldlM___at_Lean_Meta_CheckAssignment_checkMVar___spec__52(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -459,6 +464,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFV LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_cacheResult___spec__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Array_back___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignment_checkMVar___spec__41___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_contains___at_Lean_Meta_CheckAssignment_checkFVar___spec__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_expandDelayedAssigned_x3f___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_CheckAssignment_checkMVar___spec__57(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignmentFOApprox(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -494,6 +500,7 @@ LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDef LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_CheckAssignment_checkMVar___spec__64(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_simpAssignmentArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_modn(size_t, lean_object*); +LEAN_EXPORT lean_object* l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__14___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_CheckAssignment_checkApp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_CheckAssignment_throwOutOfScopeFVar___rarg___closed__2; static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_checkAssignment___spec__6___closed__1; @@ -509,11 +516,8 @@ uint8_t l_Lean_Expr_isConst(lean_object*); uint8_t l_Array_isEmpty___rarg(lean_object*); lean_object* l_Lean_LocalDecl_toExpr(lean_object*); uint8_t l_Lean_Expr_isConstOf(lean_object*, lean_object*); -static lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_isEtaUnassignedMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MetavarContext_getExprAssignmentCore_x3f(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_HashSetImp_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignment_checkMVar___spec__25___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_whenUndefDo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_unfoldReducibeDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -574,6 +578,7 @@ static lean_object* l_Lean_Meta_CheckAssignment_checkMVar___closed__1; static lean_object* l_Lean_Meta_isExprDefEqAuxImpl___lambda__3___closed__16; lean_object* l_Lean_registerInternalExceptionId(lean_object*, lean_object*); static lean_object* l_Lean_Meta_checkpointDefEq___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct_go___spec__2___closed__5; +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignment_checkFVar___spec__2(lean_object*, lean_object*, size_t, size_t); static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct_go___closed__4; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_CheckAssignment_checkMVar___spec__66(lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_checkpointDefEq___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEta___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*); @@ -585,6 +590,7 @@ static lean_object* l_Lean_Meta_CheckAssignment_check___closed__1; lean_object* l_Lean_LocalDecl_value_x3f(lean_object*); lean_object* lean_local_ctx_mk_local_decl(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t); static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct_go___spec__1___lambda__1___closed__3; +LEAN_EXPORT uint8_t l_Std_AssocList_contains___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__4(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct_go___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentArray_0__Std_PersistentArray_foldlMAux___at_Lean_Meta_CheckAssignment_checkMVar___spec__61___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_checkpointDefEq___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_tryHeuristic___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -615,7 +621,8 @@ lean_object* l_Lean_exceptBoolEmoji___rarg(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqProjInst(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_addAssignmentInfo___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Meta_CheckAssignment_checkFVar___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__3___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_checkAssignment___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_isExprDefEqAuxImpl___lambda__3___closed__10; LEAN_EXPORT lean_object* l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg(lean_object*); @@ -627,6 +634,7 @@ static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAs uint8_t l_Lean_Expr_isMVar(lean_object*); static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct_go___spec__1___closed__7; lean_object* l_Lean_getDelayedMVarAssignment_x3f___at___private_Lean_Meta_WHNF_0__Lean_Meta_whnfDelayedAssigned_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashSetImp_expand___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__11(lean_object*, lean_object*); lean_object* l_Lean_instMonadTrace___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDeltaCandidate_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct_go___spec__1___lambda__1___closed__2; @@ -642,7 +650,6 @@ static lean_object* l_Lean_Meta_CheckAssignment_initFn____x40_Lean_Meta_ExprDefE uint8_t l_Lean_Expr_hasMVar(lean_object*); lean_object* l_Lean_throwMaxRecDepthAt___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthPendingImp___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__2; -LEAN_EXPORT lean_object* l_Std_HashSetImp_moveEntries___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__4(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_occursCheck_visitMVar___at_Lean_Meta_checkAssignment___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at_Lean_Meta_CheckAssignment_checkMVar___spec__20(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_expandDelayedAssigned_x3f___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -660,7 +667,6 @@ LEAN_EXPORT lean_object* l_Std_PersistentArray_anyMAux___at_Lean_Meta_CheckAssig LEAN_EXPORT uint8_t l_Lean_Meta_CheckAssignmentQuick_check(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_simpAssignmentArg___closed__1; LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignment_checkMVar___spec__49(lean_object*, lean_object*, size_t, size_t); -LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Meta_CheckAssignment_checkFVar___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct_go___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_cache___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_CheckAssignment_checkApp___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -676,6 +682,7 @@ lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Meta_addPPExplicitToEx static lean_object* l_Lean_Meta_checkpointDefEq___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct_go___spec__2___closed__6; static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct_go___spec__1___closed__10; lean_object* lean_synth_pending(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashSetImp_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__9(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentArray_0__Std_PersistentArray_foldlMAux___at_Lean_Meta_CheckAssignment_checkMVar___spec__61(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isAssignable(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -729,6 +736,7 @@ lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_obje lean_object* l_Lean_Meta_throwUnknownMVar___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_getDelayedMVarAssignment_x3f___at_Lean_Meta_checkAssignment___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_CheckAssignment_checkMVar___spec__59(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__10___boxed(lean_object*, lean_object*); LEAN_EXPORT uint8_t l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_hasLetDeclsInBetween___lambda__1(lean_object*); lean_object* l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -752,7 +760,6 @@ LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignment_c LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignment_checkMVar___spec__40(lean_object*, lean_object*, size_t, size_t); lean_object* l_instHashableProd___rarg___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_cacheResult(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__6___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getTransparency(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isStringLit(lean_object*); static lean_object* l_Lean_Meta_CheckAssignment_check___closed__4; @@ -764,10 +771,12 @@ lean_object* lean_mk_array(lean_object*, lean_object*); lean_object* l___private_Lean_Expr_0__Lean_mkAppRangeAux(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_addLetDeps___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*); uint8_t l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(uint8_t, uint8_t); +LEAN_EXPORT lean_object* l_List_foldl___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__13(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqLeft___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_addAssignmentInfo___closed__6; LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignmentQuick_check_visit___spec__2(lean_object*, lean_object*, size_t, size_t); uint64_t lean_uint64_mix_hash(uint64_t, uint64_t); +LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__5(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Std_PersistentArray_anyM___at_Lean_Meta_CheckAssignment_checkMVar___spec__6(lean_object*, lean_object*); static lean_object* l_Lean_Meta_CheckAssignment_check___closed__11; LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -790,11 +799,13 @@ lean_object* l_Lean_Meta_shouldReduceReducibleOnly(lean_object*, lean_object*, l LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_tryHeuristic___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_getExprMVarAssignment_x3f___at_Lean_Meta_CheckAssignment_checkMVar___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_proj___override(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__6(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDeltaCandidate_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_reduceNative_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqArgs___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqQuickOther___lambda__2(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_whnfD(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_Array_contains___at_Lean_Meta_CheckAssignment_checkFVar___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_expandDelayedAssigned_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_CheckAssignment_checkMVar___spec__55___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAtAux___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_getCachedResult___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -813,9 +824,11 @@ static lean_object* l_Lean_Meta_isExprDefEqAuxImpl___lambda__3___closed__15; LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_assignConst(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_getAppFn(lean_object*); LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at_Lean_Meta_CheckAssignment_checkMVar___spec__65(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignment___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_CheckAssignment_checkFVar___closed__1; LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at_Lean_Meta_CheckAssignment_checkMVar___spec__28___boxed(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_mkHashMap___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom___spec__2___boxed(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at_Lean_Meta_CheckAssignment_checkMVar___spec__13___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_CheckAssignment_run___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_CheckAssignment_checkFVar___closed__2; @@ -823,6 +836,7 @@ lean_object* l_Lean_MetavarContext_getDecl(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_checkpointDefEq___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqQuickMVarMVar___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignment_checkMVar___spec__24(lean_object*, lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_unfoldComparingHeadsDefEq___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Meta_CheckAssignment_checkFVar___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at_Lean_Meta_CheckAssignment_checkMVar___spec__19___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqLeftRight___closed__2; LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignment_checkApp___spec__3(lean_object*, size_t, size_t); @@ -837,8 +851,10 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isExprDefE LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_withProofIrrelTransparency___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at_Lean_Meta_CheckAssignment_checkMVar___spec__43___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_addAssignmentInfo___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_AssocList_contains___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__4___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_anyM___at_Lean_Meta_CheckAssignment_checkMVar___spec__6___boxed(lean_object*, lean_object*); lean_object* l_Std_instInhabitedPersistentArrayNode(lean_object*); +LEAN_EXPORT lean_object* l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__14(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processConstApprox_defaultCase(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_isStructureLike(lean_object*, lean_object*); lean_object* l_Lean_Meta_isProp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -857,6 +873,7 @@ LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_v LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux_traverse___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_cacheResult___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_unfoldNonProjFnDefEq_packedInstanceOf_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignment_checkApp___spec__3___boxed(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__10(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_tryHeuristic___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_setPostponed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct_go___closed__5; @@ -869,7 +886,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isExprDefE static lean_object* l_Lean_Meta_CheckAssignment_check___closed__9; static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqQuickOther___lambda__2___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_CheckAssignment_addAssignmentInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Meta_forEachExpr_x27_visit___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqMVarSelf(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_mkEmptyEntries(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeps___spec__2(lean_object*, size_t, size_t, lean_object*); @@ -885,7 +901,6 @@ uint8_t l_List_elem___at_Lean_catchInternalIds___spec__1(lean_object*, lean_obje uint8_t l_Lean_ReducibilityHints_lt(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_unstuckMVar___closed__10; static size_t l_Std_PersistentHashMap_findAux___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_getCachedResult___spec__2___closed__1; -uint8_t l_Array_contains___at_Lean_Meta_setMVarUserNamesAt___spec__1(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqLeft___closed__4; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_checkAssignment___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_EXPORT lean_object* l_Lean_instantiateMVars___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -900,7 +915,6 @@ uint8_t l_Lean_LocalDecl_isLet(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isAssigned(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqQuickOther(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom___closed__1; LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAtAux___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_getCachedResult___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_addLetDeps___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct_go___spec__1___closed__14; @@ -11596,7 +11610,379 @@ lean_dec(x_1); return x_7; } } -LEAN_EXPORT uint8_t l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__2(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__2(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_3; +x_3 = lean_box(0); +return x_3; +} +else +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7; +x_4 = lean_ctor_get(x_2, 0); +x_5 = lean_ctor_get(x_2, 1); +x_6 = lean_ctor_get(x_2, 2); +x_7 = lean_expr_eqv(x_4, x_1); +if (x_7 == 0) +{ +x_2 = x_6; +goto _start; +} +else +{ +lean_object* x_9; +lean_inc(x_5); +x_9 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_9, 0, x_5); +return x_9; +} +} +} +} +LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; uint64_t x_5; size_t x_6; size_t x_7; lean_object* x_8; lean_object* x_9; +x_3 = lean_ctor_get(x_1, 1); +lean_inc(x_3); +lean_dec(x_1); +x_4 = lean_array_get_size(x_3); +x_5 = l_Lean_Expr_hash(x_2); +x_6 = lean_uint64_to_usize(x_5); +x_7 = lean_usize_modn(x_6, x_4); +lean_dec(x_4); +x_8 = lean_array_uget(x_3, x_7); +lean_dec(x_3); +x_9 = l_Std_AssocList_find_x3f___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__2(x_2, x_8); +lean_dec(x_8); +lean_dec(x_2); +return x_9; +} +} +LEAN_EXPORT uint8_t l_Std_AssocList_contains___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__4(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +uint8_t x_3; +x_3 = 0; +return x_3; +} +else +{ +lean_object* x_4; lean_object* x_5; uint8_t x_6; +x_4 = lean_ctor_get(x_2, 0); +x_5 = lean_ctor_get(x_2, 2); +x_6 = lean_expr_eqv(x_4, x_1); +if (x_6 == 0) +{ +x_2 = x_5; +goto _start; +} +else +{ +uint8_t x_8; +x_8 = 1; +return x_8; +} +} +} +} +LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__7(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +return x_1; +} +else +{ +uint8_t x_3; +x_3 = !lean_is_exclusive(x_2); +if (x_3 == 0) +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; uint64_t x_7; size_t x_8; size_t x_9; lean_object* x_10; lean_object* x_11; +x_4 = lean_ctor_get(x_2, 0); +x_5 = lean_ctor_get(x_2, 2); +x_6 = lean_array_get_size(x_1); +x_7 = l_Lean_Expr_hash(x_4); +x_8 = lean_uint64_to_usize(x_7); +x_9 = lean_usize_modn(x_8, x_6); +lean_dec(x_6); +x_10 = lean_array_uget(x_1, x_9); +lean_ctor_set(x_2, 2, x_10); +x_11 = lean_array_uset(x_1, x_9, x_2); +x_1 = x_11; +x_2 = x_5; +goto _start; +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint64_t x_17; size_t x_18; size_t x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_13 = lean_ctor_get(x_2, 0); +x_14 = lean_ctor_get(x_2, 1); +x_15 = lean_ctor_get(x_2, 2); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_dec(x_2); +x_16 = lean_array_get_size(x_1); +x_17 = l_Lean_Expr_hash(x_13); +x_18 = lean_uint64_to_usize(x_17); +x_19 = lean_usize_modn(x_18, x_16); +lean_dec(x_16); +x_20 = lean_array_uget(x_1, x_19); +x_21 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_21, 0, x_13); +lean_ctor_set(x_21, 1, x_14); +lean_ctor_set(x_21, 2, x_20); +x_22 = lean_array_uset(x_1, x_19, x_21); +x_1 = x_22; +x_2 = x_15; +goto _start; +} +} +} +} +LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; uint8_t x_5; +x_4 = lean_array_get_size(x_2); +x_5 = lean_nat_dec_lt(x_1, x_4); +lean_dec(x_4); +if (x_5 == 0) +{ +lean_dec(x_2); +lean_dec(x_1); +return x_3; +} +else +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_6 = lean_array_fget(x_2, x_1); +x_7 = lean_box(0); +x_8 = lean_array_fset(x_2, x_1, x_7); +x_9 = l_Std_AssocList_foldlM___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__7(x_3, x_6); +x_10 = lean_unsigned_to_nat(1u); +x_11 = lean_nat_add(x_1, x_10); +lean_dec(x_1); +x_1 = x_11; +x_2 = x_8; +x_3 = x_9; +goto _start; +} +} +} +LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__5(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_3 = lean_array_get_size(x_2); +x_4 = lean_unsigned_to_nat(2u); +x_5 = lean_nat_mul(x_3, x_4); +lean_dec(x_3); +x_6 = lean_box(0); +x_7 = lean_mk_array(x_5, x_6); +x_8 = lean_unsigned_to_nat(0u); +x_9 = l_Std_HashMapImp_moveEntries___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__6(x_8, x_2, x_7); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_1); +lean_ctor_set(x_10, 1, x_9); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Std_AssocList_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_3) == 0) +{ +lean_object* x_4; +lean_dec(x_2); +lean_dec(x_1); +x_4 = lean_box(0); +return x_4; +} +else +{ +uint8_t x_5; +x_5 = !lean_is_exclusive(x_3); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9; +x_6 = lean_ctor_get(x_3, 0); +x_7 = lean_ctor_get(x_3, 1); +x_8 = lean_ctor_get(x_3, 2); +x_9 = lean_expr_eqv(x_6, x_1); +if (x_9 == 0) +{ +lean_object* x_10; +x_10 = l_Std_AssocList_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__8(x_1, x_2, x_8); +lean_ctor_set(x_3, 2, x_10); +return x_3; +} +else +{ +lean_dec(x_7); +lean_dec(x_6); +lean_ctor_set(x_3, 1, x_2); +lean_ctor_set(x_3, 0, x_1); +return x_3; +} +} +else +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; +x_11 = lean_ctor_get(x_3, 0); +x_12 = lean_ctor_get(x_3, 1); +x_13 = lean_ctor_get(x_3, 2); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_dec(x_3); +x_14 = lean_expr_eqv(x_11, x_1); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; +x_15 = l_Std_AssocList_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__8(x_1, x_2, x_13); +x_16 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_16, 0, x_11); +lean_ctor_set(x_16, 1, x_12); +lean_ctor_set(x_16, 2, x_15); +return x_16; +} +else +{ +lean_object* x_17; +lean_dec(x_12); +lean_dec(x_11); +x_17 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_17, 0, x_1); +lean_ctor_set(x_17, 1, x_2); +lean_ctor_set(x_17, 2, x_13); +return x_17; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Std_HashMap_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_1); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; uint64_t x_8; size_t x_9; size_t x_10; lean_object* x_11; uint8_t x_12; +x_5 = lean_ctor_get(x_1, 0); +x_6 = lean_ctor_get(x_1, 1); +x_7 = lean_array_get_size(x_6); +x_8 = l_Lean_Expr_hash(x_2); +x_9 = lean_uint64_to_usize(x_8); +x_10 = lean_usize_modn(x_9, x_7); +x_11 = lean_array_uget(x_6, x_10); +x_12 = l_Std_AssocList_contains___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__4(x_2, x_11); +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; +x_13 = lean_unsigned_to_nat(1u); +x_14 = lean_nat_add(x_5, x_13); +lean_dec(x_5); +x_15 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_15, 0, x_2); +lean_ctor_set(x_15, 1, x_3); +lean_ctor_set(x_15, 2, x_11); +x_16 = lean_array_uset(x_6, x_10, x_15); +x_17 = l___private_Lean_Data_HashMap_0__Std_numBucketsForCapacity(x_14); +x_18 = lean_nat_dec_le(x_17, x_7); +lean_dec(x_7); +lean_dec(x_17); +if (x_18 == 0) +{ +lean_object* x_19; +lean_free_object(x_1); +x_19 = l_Std_HashMapImp_expand___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__5(x_14, x_16); +return x_19; +} +else +{ +lean_ctor_set(x_1, 1, x_16); +lean_ctor_set(x_1, 0, x_14); +return x_1; +} +} +else +{ +lean_object* x_20; lean_object* x_21; +lean_dec(x_7); +x_20 = l_Std_AssocList_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__8(x_2, x_3, x_11); +x_21 = lean_array_uset(x_6, x_10, x_20); +lean_ctor_set(x_1, 1, x_21); +return x_1; +} +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; uint64_t x_25; size_t x_26; size_t x_27; lean_object* x_28; uint8_t x_29; +x_22 = lean_ctor_get(x_1, 0); +x_23 = lean_ctor_get(x_1, 1); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_1); +x_24 = lean_array_get_size(x_23); +x_25 = l_Lean_Expr_hash(x_2); +x_26 = lean_uint64_to_usize(x_25); +x_27 = lean_usize_modn(x_26, x_24); +x_28 = lean_array_uget(x_23, x_27); +x_29 = l_Std_AssocList_contains___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__4(x_2, x_28); +if (x_29 == 0) +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; +x_30 = lean_unsigned_to_nat(1u); +x_31 = lean_nat_add(x_22, x_30); +lean_dec(x_22); +x_32 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_32, 0, x_2); +lean_ctor_set(x_32, 1, x_3); +lean_ctor_set(x_32, 2, x_28); +x_33 = lean_array_uset(x_23, x_27, x_32); +x_34 = l___private_Lean_Data_HashMap_0__Std_numBucketsForCapacity(x_31); +x_35 = lean_nat_dec_le(x_34, x_24); +lean_dec(x_24); +lean_dec(x_34); +if (x_35 == 0) +{ +lean_object* x_36; +x_36 = l_Std_HashMapImp_expand___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__5(x_31, x_33); +return x_36; +} +else +{ +lean_object* x_37; +x_37 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_37, 0, x_31); +lean_ctor_set(x_37, 1, x_33); +return x_37; +} +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +lean_dec(x_24); +x_38 = l_Std_AssocList_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__8(x_2, x_3, x_28); +x_39 = lean_array_uset(x_23, x_27, x_38); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_22); +lean_ctor_set(x_40, 1, x_39); +return x_40; +} +} +} +} +LEAN_EXPORT uint8_t l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__10(lean_object* x_1, lean_object* x_2) { _start: { if (lean_obj_tag(x_2) == 0) @@ -11625,7 +12011,7 @@ return x_8; } } } -LEAN_EXPORT lean_object* l_List_foldl___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__5(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_List_foldl___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__13(lean_object* x_1, lean_object* x_2) { _start: { if (lean_obj_tag(x_2) == 0) @@ -11678,7 +12064,7 @@ goto _start; } } } -LEAN_EXPORT lean_object* l_Std_HashSetImp_moveEntries___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Std_HashSetImp_moveEntries___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__12(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; uint8_t x_5; @@ -11697,7 +12083,7 @@ lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_obj x_6 = lean_array_fget(x_2, x_1); x_7 = lean_box(0); x_8 = lean_array_fset(x_2, x_1, x_7); -x_9 = l_List_foldl___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__5(x_3, x_6); +x_9 = l_List_foldl___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__13(x_3, x_6); x_10 = lean_unsigned_to_nat(1u); x_11 = lean_nat_add(x_1, x_10); lean_dec(x_1); @@ -11708,7 +12094,7 @@ goto _start; } } } -LEAN_EXPORT lean_object* l_Std_HashSetImp_expand___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__3(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_HashSetImp_expand___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__11(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; @@ -11719,14 +12105,14 @@ lean_dec(x_3); x_6 = lean_box(0); x_7 = lean_mk_array(x_5, x_6); x_8 = lean_unsigned_to_nat(0u); -x_9 = l_Std_HashSetImp_moveEntries___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__4(x_8, x_2, x_7); +x_9 = l_Std_HashSetImp_moveEntries___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__12(x_8, x_2, x_7); x_10 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_10, 0, x_1); lean_ctor_set(x_10, 1, x_9); return x_10; } } -LEAN_EXPORT lean_object* l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__14(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_1) == 0) @@ -11749,7 +12135,7 @@ x_8 = lean_name_eq(x_6, x_2); if (x_8 == 0) { lean_object* x_9; -x_9 = l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__6(x_7, x_2, x_3); +x_9 = l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__14(x_7, x_2, x_3); lean_ctor_set(x_1, 1, x_9); return x_1; } @@ -11772,7 +12158,7 @@ x_12 = lean_name_eq(x_10, x_2); if (x_12 == 0) { lean_object* x_13; lean_object* x_14; -x_13 = l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__6(x_11, x_2, x_3); +x_13 = l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__14(x_11, x_2, x_3); x_14 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_14, 0, x_10); lean_ctor_set(x_14, 1, x_13); @@ -11791,7 +12177,7 @@ return x_15; } } } -LEAN_EXPORT lean_object* l_Std_HashSetImp_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__1(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_HashSetImp_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__9(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; @@ -11806,7 +12192,7 @@ x_7 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1681_(x_2) x_8 = lean_uint64_to_usize(x_7); x_9 = lean_usize_modn(x_8, x_6); x_10 = lean_array_uget(x_5, x_9); -x_11 = l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__2(x_2, x_10); +x_11 = l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__10(x_2, x_10); if (x_11 == 0) { lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; @@ -11823,7 +12209,7 @@ if (x_16 == 0) { lean_object* x_17; lean_free_object(x_1); -x_17 = l_Std_HashSetImp_expand___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__3(x_13, x_15); +x_17 = l_Std_HashSetImp_expand___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__11(x_13, x_15); return x_17; } else @@ -11838,7 +12224,7 @@ else lean_object* x_18; lean_object* x_19; lean_dec(x_6); lean_inc(x_2); -x_18 = l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__6(x_10, x_2, x_2); +x_18 = l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__14(x_10, x_2, x_2); lean_dec(x_2); x_19 = lean_array_uset(x_5, x_9, x_18); lean_ctor_set(x_1, 1, x_19); @@ -11858,7 +12244,7 @@ x_23 = l___private_Lean_Expr_0__Lean_hashFVarId____x40_Lean_Expr___hyg_1681_(x_2 x_24 = lean_uint64_to_usize(x_23); x_25 = lean_usize_modn(x_24, x_22); x_26 = lean_array_uget(x_21, x_25); -x_27 = l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__2(x_2, x_26); +x_27 = l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__10(x_2, x_26); if (x_27 == 0) { lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; @@ -11874,7 +12260,7 @@ lean_dec(x_22); if (x_32 == 0) { lean_object* x_33; -x_33 = l_Std_HashSetImp_expand___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__3(x_29, x_31); +x_33 = l_Std_HashSetImp_expand___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__11(x_29, x_31); return x_33; } else @@ -11891,7 +12277,7 @@ else lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_dec(x_22); lean_inc(x_2); -x_35 = l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__6(x_26, x_2, x_2); +x_35 = l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__14(x_26, x_2, x_2); lean_dec(x_2); x_36 = lean_array_uset(x_21, x_25, x_35); x_37 = lean_alloc_ctor(0, 2, 0); @@ -11918,7 +12304,7 @@ lean_object* x_14; lean_object* x_15; lean_object* x_16; x_14 = lean_ctor_get(x_12, 0); x_15 = lean_ctor_get(x_12, 1); lean_inc(x_1); -x_16 = l_Std_HashMapImp_find_x3f___at_Lean_Meta_forEachExpr_x27_visit___spec__1(x_14, x_1); +x_16 = l_Std_HashMapImp_find_x3f___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__1(x_14, x_1); if (lean_obj_tag(x_16) == 0) { lean_free_object(x_12); @@ -11977,7 +12363,7 @@ lean_inc(x_44); lean_dec(x_42); x_45 = l_Lean_LocalDecl_fvarId(x_33); lean_dec(x_33); -x_46 = l_Std_HashSetImp_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__1(x_43, x_45); +x_46 = l_Std_HashSetImp_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__9(x_43, x_45); x_47 = lean_st_ref_set(x_4, x_46, x_44); x_48 = lean_ctor_get(x_47, 1); lean_inc(x_48); @@ -12026,7 +12412,7 @@ x_24 = lean_ctor_get(x_22, 1); lean_inc(x_24); lean_dec(x_22); lean_inc(x_18); -x_25 = l_Std_HashMap_insert___at_Lean_Meta_forEachExpr_x27_visit___spec__12(x_23, x_1, x_18); +x_25 = l_Std_HashMap_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__3(x_23, x_1, x_18); x_26 = lean_st_ref_set(x_2, x_25, x_24); x_27 = !lean_is_exclusive(x_26); if (x_27 == 0) @@ -12085,7 +12471,7 @@ x_65 = lean_ctor_get(x_63, 1); lean_inc(x_65); lean_dec(x_63); lean_inc(x_59); -x_66 = l_Std_HashMap_insert___at_Lean_Meta_forEachExpr_x27_visit___spec__12(x_64, x_1, x_59); +x_66 = l_Std_HashMap_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__3(x_64, x_1, x_59); x_67 = lean_st_ref_set(x_2, x_66, x_65); x_68 = !lean_is_exclusive(x_67); if (x_68 == 0) @@ -12193,7 +12579,7 @@ x_91 = lean_ctor_get(x_89, 1); lean_inc(x_91); lean_dec(x_89); lean_inc(x_85); -x_92 = l_Std_HashMap_insert___at_Lean_Meta_forEachExpr_x27_visit___spec__12(x_90, x_1, x_85); +x_92 = l_Std_HashMap_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__3(x_90, x_1, x_85); x_93 = lean_st_ref_set(x_2, x_92, x_91); x_94 = !lean_is_exclusive(x_93); if (x_94 == 0) @@ -12301,7 +12687,7 @@ x_117 = lean_ctor_get(x_115, 1); lean_inc(x_117); lean_dec(x_115); lean_inc(x_111); -x_118 = l_Std_HashMap_insert___at_Lean_Meta_forEachExpr_x27_visit___spec__12(x_116, x_1, x_111); +x_118 = l_Std_HashMap_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__3(x_116, x_1, x_111); x_119 = lean_st_ref_set(x_2, x_118, x_117); x_120 = !lean_is_exclusive(x_119); if (x_120 == 0) @@ -12419,7 +12805,7 @@ x_146 = lean_ctor_get(x_144, 1); lean_inc(x_146); lean_dec(x_144); lean_inc(x_140); -x_147 = l_Std_HashMap_insert___at_Lean_Meta_forEachExpr_x27_visit___spec__12(x_145, x_1, x_140); +x_147 = l_Std_HashMap_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__3(x_145, x_1, x_140); x_148 = lean_st_ref_set(x_2, x_147, x_146); x_149 = !lean_is_exclusive(x_148); if (x_149 == 0) @@ -12544,7 +12930,7 @@ x_173 = lean_ctor_get(x_171, 1); lean_inc(x_173); lean_dec(x_171); lean_inc(x_167); -x_174 = l_Std_HashMap_insert___at_Lean_Meta_forEachExpr_x27_visit___spec__12(x_172, x_1, x_167); +x_174 = l_Std_HashMap_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__3(x_172, x_1, x_167); x_175 = lean_st_ref_set(x_2, x_174, x_173); x_176 = !lean_is_exclusive(x_175); if (x_176 == 0) @@ -12616,7 +13002,7 @@ x_192 = lean_ctor_get(x_190, 1); lean_inc(x_192); lean_dec(x_190); lean_inc(x_186); -x_193 = l_Std_HashMap_insert___at_Lean_Meta_forEachExpr_x27_visit___spec__12(x_191, x_1, x_186); +x_193 = l_Std_HashMap_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__3(x_191, x_1, x_186); x_194 = lean_st_ref_set(x_2, x_193, x_192); x_195 = !lean_is_exclusive(x_194); if (x_195 == 0) @@ -12678,7 +13064,7 @@ x_207 = lean_ctor_get(x_205, 1); lean_inc(x_207); lean_dec(x_205); x_208 = lean_box(0); -x_209 = l_Std_HashMap_insert___at_Lean_Meta_forEachExpr_x27_visit___spec__12(x_206, x_1, x_208); +x_209 = l_Std_HashMap_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__3(x_206, x_1, x_208); x_210 = lean_st_ref_set(x_2, x_209, x_207); x_211 = !lean_is_exclusive(x_210); if (x_211 == 0) @@ -12724,7 +13110,7 @@ lean_inc(x_217); lean_inc(x_216); lean_dec(x_12); lean_inc(x_1); -x_218 = l_Std_HashMapImp_find_x3f___at_Lean_Meta_forEachExpr_x27_visit___spec__1(x_216, x_1); +x_218 = l_Std_HashMapImp_find_x3f___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__1(x_216, x_1); if (lean_obj_tag(x_218) == 0) { switch (lean_obj_tag(x_1)) { @@ -12782,7 +13168,7 @@ lean_inc(x_245); lean_dec(x_243); x_246 = l_Lean_LocalDecl_fvarId(x_234); lean_dec(x_234); -x_247 = l_Std_HashSetImp_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__1(x_244, x_246); +x_247 = l_Std_HashSetImp_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__9(x_244, x_246); x_248 = lean_st_ref_set(x_4, x_247, x_245); x_249 = lean_ctor_get(x_248, 1); lean_inc(x_249); @@ -12833,7 +13219,7 @@ x_226 = lean_ctor_get(x_224, 1); lean_inc(x_226); lean_dec(x_224); lean_inc(x_220); -x_227 = l_Std_HashMap_insert___at_Lean_Meta_forEachExpr_x27_visit___spec__12(x_225, x_1, x_220); +x_227 = l_Std_HashMap_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__3(x_225, x_1, x_220); x_228 = lean_st_ref_set(x_2, x_227, x_226); x_229 = lean_ctor_get(x_228, 1); lean_inc(x_229); @@ -12890,7 +13276,7 @@ x_266 = lean_ctor_get(x_264, 1); lean_inc(x_266); lean_dec(x_264); lean_inc(x_260); -x_267 = l_Std_HashMap_insert___at_Lean_Meta_forEachExpr_x27_visit___spec__12(x_265, x_1, x_260); +x_267 = l_Std_HashMap_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__3(x_265, x_1, x_260); x_268 = lean_st_ref_set(x_2, x_267, x_266); x_269 = lean_ctor_get(x_268, 1); lean_inc(x_269); @@ -13000,7 +13386,7 @@ x_291 = lean_ctor_get(x_289, 1); lean_inc(x_291); lean_dec(x_289); lean_inc(x_285); -x_292 = l_Std_HashMap_insert___at_Lean_Meta_forEachExpr_x27_visit___spec__12(x_290, x_1, x_285); +x_292 = l_Std_HashMap_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__3(x_290, x_1, x_285); x_293 = lean_st_ref_set(x_2, x_292, x_291); x_294 = lean_ctor_get(x_293, 1); lean_inc(x_294); @@ -13110,7 +13496,7 @@ x_316 = lean_ctor_get(x_314, 1); lean_inc(x_316); lean_dec(x_314); lean_inc(x_310); -x_317 = l_Std_HashMap_insert___at_Lean_Meta_forEachExpr_x27_visit___spec__12(x_315, x_1, x_310); +x_317 = l_Std_HashMap_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__3(x_315, x_1, x_310); x_318 = lean_st_ref_set(x_2, x_317, x_316); x_319 = lean_ctor_get(x_318, 1); lean_inc(x_319); @@ -13230,7 +13616,7 @@ x_344 = lean_ctor_get(x_342, 1); lean_inc(x_344); lean_dec(x_342); lean_inc(x_338); -x_345 = l_Std_HashMap_insert___at_Lean_Meta_forEachExpr_x27_visit___spec__12(x_343, x_1, x_338); +x_345 = l_Std_HashMap_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__3(x_343, x_1, x_338); x_346 = lean_st_ref_set(x_2, x_345, x_344); x_347 = lean_ctor_get(x_346, 1); lean_inc(x_347); @@ -13359,7 +13745,7 @@ x_370 = lean_ctor_get(x_368, 1); lean_inc(x_370); lean_dec(x_368); lean_inc(x_364); -x_371 = l_Std_HashMap_insert___at_Lean_Meta_forEachExpr_x27_visit___spec__12(x_369, x_1, x_364); +x_371 = l_Std_HashMap_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__3(x_369, x_1, x_364); x_372 = lean_st_ref_set(x_2, x_371, x_370); x_373 = lean_ctor_get(x_372, 1); lean_inc(x_373); @@ -13431,7 +13817,7 @@ x_388 = lean_ctor_get(x_386, 1); lean_inc(x_388); lean_dec(x_386); lean_inc(x_382); -x_389 = l_Std_HashMap_insert___at_Lean_Meta_forEachExpr_x27_visit___spec__12(x_387, x_1, x_382); +x_389 = l_Std_HashMap_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__3(x_387, x_1, x_382); x_390 = lean_st_ref_set(x_2, x_389, x_388); x_391 = lean_ctor_get(x_390, 1); lean_inc(x_391); @@ -13493,7 +13879,7 @@ x_402 = lean_ctor_get(x_400, 1); lean_inc(x_402); lean_dec(x_400); x_403 = lean_box(0); -x_404 = l_Std_HashMap_insert___at_Lean_Meta_forEachExpr_x27_visit___spec__12(x_401, x_1, x_403); +x_404 = l_Std_HashMap_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__3(x_401, x_1, x_403); x_405 = lean_st_ref_set(x_2, x_404, x_402); x_406 = lean_ctor_get(x_405, 1); lean_inc(x_406); @@ -13532,22 +13918,43 @@ return x_410; } } } -LEAN_EXPORT lean_object* l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__2___boxed(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__2___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Std_AssocList_find_x3f___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__2(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Std_AssocList_contains___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__4___boxed(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; lean_object* x_4; -x_3 = l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__2(x_1, x_2); +x_3 = l_Std_AssocList_contains___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__4(x_1, x_2); lean_dec(x_2); lean_dec(x_1); x_4 = lean_box(x_3); return x_4; } } -LEAN_EXPORT lean_object* l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__10___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__10(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__14___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; -x_4 = l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__6(x_1, x_2, x_3); +x_4 = l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__14(x_1, x_2, x_3); lean_dec(x_2); return x_4; } @@ -13678,11 +14085,10 @@ return x_39; } } } -static lean_object* _init_l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom___closed__1() { +LEAN_EXPORT lean_object* l_Std_mkHashMap___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom___spec__2(lean_object* x_1) { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = lean_unsigned_to_nat(0u); +lean_object* x_2; x_2 = l_Std_mkHashMapImp___rarg(x_1); return x_2; } @@ -13690,81 +14096,82 @@ return x_2; LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; x_9 = l_Lean_instantiateMVars___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); x_10 = lean_ctor_get(x_9, 0); lean_inc(x_10); x_11 = lean_ctor_get(x_9, 1); lean_inc(x_11); lean_dec(x_9); -x_12 = lean_st_ref_get(x_7, x_11); -x_13 = lean_ctor_get(x_12, 1); -lean_inc(x_13); -lean_dec(x_12); -x_14 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom___closed__1; -x_15 = lean_st_mk_ref(x_14, x_13); -x_16 = lean_ctor_get(x_15, 0); -lean_inc(x_16); -x_17 = lean_ctor_get(x_15, 1); +x_12 = lean_unsigned_to_nat(0u); +x_13 = l_Std_mkHashMapImp___rarg(x_12); +x_14 = lean_st_ref_get(x_7, x_11); +x_15 = lean_ctor_get(x_14, 1); +lean_inc(x_15); +lean_dec(x_14); +x_16 = lean_st_mk_ref(x_13, x_15); +x_17 = lean_ctor_get(x_16, 0); lean_inc(x_17); -lean_dec(x_15); -x_18 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit(x_10, x_16, x_2, x_3, x_4, x_5, x_6, x_7, x_17); -if (lean_obj_tag(x_18) == 0) +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +x_19 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit(x_10, x_17, x_2, x_3, x_4, x_5, x_6, x_7, x_18); +if (lean_obj_tag(x_19) == 0) { -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; +x_20 = lean_ctor_get(x_19, 0); lean_inc(x_20); -lean_dec(x_18); -x_21 = lean_st_ref_get(x_7, x_20); -x_22 = lean_ctor_get(x_21, 1); -lean_inc(x_22); -lean_dec(x_21); -x_23 = lean_st_ref_get(x_16, x_22); -lean_dec(x_16); -x_24 = !lean_is_exclusive(x_23); -if (x_24 == 0) +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = lean_st_ref_get(x_7, x_21); +x_23 = lean_ctor_get(x_22, 1); +lean_inc(x_23); +lean_dec(x_22); +x_24 = lean_st_ref_get(x_17, x_23); +lean_dec(x_17); +x_25 = !lean_is_exclusive(x_24); +if (x_25 == 0) { -lean_object* x_25; -x_25 = lean_ctor_get(x_23, 0); -lean_dec(x_25); -lean_ctor_set(x_23, 0, x_19); -return x_23; +lean_object* x_26; +x_26 = lean_ctor_get(x_24, 0); +lean_dec(x_26); +lean_ctor_set(x_24, 0, x_20); +return x_24; } else { -lean_object* x_26; lean_object* x_27; -x_26 = lean_ctor_get(x_23, 1); -lean_inc(x_26); -lean_dec(x_23); -x_27 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_27, 0, x_19); -lean_ctor_set(x_27, 1, x_26); -return x_27; +lean_object* x_27; lean_object* x_28; +x_27 = lean_ctor_get(x_24, 1); +lean_inc(x_27); +lean_dec(x_24); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_20); +lean_ctor_set(x_28, 1, x_27); +return x_28; } } else { -uint8_t x_28; -lean_dec(x_16); -x_28 = !lean_is_exclusive(x_18); -if (x_28 == 0) +uint8_t x_29; +lean_dec(x_17); +x_29 = !lean_is_exclusive(x_19); +if (x_29 == 0) { -return x_18; +return x_19; } else { -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_18, 0); -x_30 = lean_ctor_get(x_18, 1); +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_19, 0); +x_31 = lean_ctor_get(x_19, 1); +lean_inc(x_31); lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_18); -x_31 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_31, 0, x_29); -lean_ctor_set(x_31, 1, x_30); -return x_31; +lean_dec(x_19); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +return x_32; } } } @@ -13783,6 +14190,15 @@ lean_dec(x_2); return x_9; } } +LEAN_EXPORT lean_object* l_Std_mkHashMap___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom___spec__2___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Std_mkHashMap___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom___spec__2(x_1); +lean_dec(x_1); +return x_2; +} +} LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom___boxed(lean_object* x_1, lean_object* x_2, 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: { @@ -13807,7 +14223,7 @@ x_6 = lean_uint64_to_usize(x_5); x_7 = lean_usize_modn(x_6, x_4); lean_dec(x_4); x_8 = lean_array_uget(x_3, x_7); -x_9 = l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__2(x_2, x_8); +x_9 = l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__10(x_2, x_8); lean_dec(x_8); return x_9; } @@ -14026,7 +14442,7 @@ x_6 = lean_array_uget(x_1, x_2); x_7 = l_Lean_Expr_fvarId_x21(x_6); x_8 = 1; x_9 = lean_usize_add(x_2, x_8); -x_10 = l_Std_HashSetImp_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__1(x_4, x_7); +x_10 = l_Std_HashSetImp_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__9(x_4, x_7); x_2 = x_9; x_4 = x_10; goto _start; @@ -14823,11 +15239,20 @@ x_3 = l_Lean_registerInternalExceptionId(x_2, x_1); return x_3; } } +static lean_object* _init_l_Lean_Meta_CheckAssignment_State_cache___default___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(0u); +x_2 = l_Std_mkHashMapImp___rarg(x_1); +return x_2; +} +} static lean_object* _init_l_Lean_Meta_CheckAssignment_State_cache___default() { _start: { lean_object* x_1; -x_1 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom___closed__1; +x_1 = l_Lean_Meta_CheckAssignment_State_cache___default___closed__1; return x_1; } } @@ -15411,7 +15836,7 @@ x_15 = lean_st_ref_get(x_9, x_13); x_16 = lean_ctor_get(x_15, 1); lean_inc(x_16); lean_dec(x_15); -x_17 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom___closed__1; +x_17 = l_Lean_Meta_CheckAssignment_State_cache___default___closed__1; x_18 = lean_st_mk_ref(x_17, x_16); x_19 = lean_ctor_get(x_18, 0); lean_inc(x_19); @@ -15604,7 +16029,78 @@ x_12 = l_Lean_Meta_CheckAssignment_run(x_1, x_2, x_3, x_11, x_5, x_6, x_7, x_8, return x_12; } } -static lean_object* _init_l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__1___closed__1() { +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignment_checkFVar___spec__2(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) { +_start: +{ +uint8_t x_5; +x_5 = lean_usize_dec_eq(x_3, x_4); +if (x_5 == 0) +{ +lean_object* x_6; uint8_t x_7; +x_6 = lean_array_uget(x_2, x_3); +x_7 = lean_expr_eqv(x_1, x_6); +lean_dec(x_6); +if (x_7 == 0) +{ +size_t x_8; size_t x_9; +x_8 = 1; +x_9 = lean_usize_add(x_3, x_8); +x_3 = x_9; +goto _start; +} +else +{ +uint8_t x_11; +x_11 = 1; +return x_11; +} +} +else +{ +uint8_t x_12; +x_12 = 0; +return x_12; +} +} +} +LEAN_EXPORT uint8_t l_Array_contains___at_Lean_Meta_CheckAssignment_checkFVar___spec__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; uint8_t x_5; +x_3 = lean_array_get_size(x_1); +x_4 = lean_unsigned_to_nat(0u); +x_5 = lean_nat_dec_lt(x_4, x_3); +if (x_5 == 0) +{ +uint8_t x_6; +lean_dec(x_3); +x_6 = 0; +return x_6; +} +else +{ +uint8_t x_7; +x_7 = lean_nat_dec_le(x_3, x_3); +if (x_7 == 0) +{ +uint8_t x_8; +lean_dec(x_3); +x_8 = 0; +return x_8; +} +else +{ +size_t x_9; size_t x_10; uint8_t x_11; +x_9 = 0; +x_10 = lean_usize_of_nat(x_3); +lean_dec(x_3); +x_11 = l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignment_checkFVar___spec__2(x_2, x_1, x_9, x_10); +return x_11; +} +} +} +} +static lean_object* _init_l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__3___closed__1() { _start: { lean_object* x_1; @@ -15612,7 +16108,7 @@ x_1 = l_Lean_inheritedTraceOptions; return x_1; } } -LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; @@ -15620,7 +16116,7 @@ x_9 = lean_st_ref_get(x_7, x_8); x_10 = lean_ctor_get(x_9, 1); lean_inc(x_10); lean_dec(x_9); -x_11 = l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__1___closed__1; +x_11 = l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__3___closed__1; x_12 = lean_st_ref_get(x_11, x_10); x_13 = !lean_is_exclusive(x_12); if (x_13 == 0) @@ -15653,7 +16149,7 @@ return x_23; } } } -LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Meta_CheckAssignment_checkFVar___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_EXPORT lean_object* l_Lean_addTrace___at_Lean_Meta_CheckAssignment_checkFVar___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; @@ -15814,7 +16310,7 @@ if (lean_obj_tag(x_13) == 0) lean_object* x_14; uint8_t x_15; x_14 = lean_ctor_get(x_2, 2); lean_inc(x_14); -x_15 = l_Array_contains___at_Lean_Meta_setMVarUserNamesAt___spec__1(x_14, x_1); +x_15 = l_Array_contains___at_Lean_Meta_CheckAssignment_checkFVar___spec__1(x_14, x_1); lean_dec(x_14); if (x_15 == 0) { @@ -15822,7 +16318,7 @@ lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint x_16 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_16, 0, x_1); x_17 = l_Lean_Meta_CheckAssignment_checkFVar___closed__2; -x_18 = l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__1(x_17, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_18 = l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__3(x_17, x_2, x_3, x_4, x_5, x_6, x_7, x_8); x_19 = lean_ctor_get(x_18, 0); lean_inc(x_19); x_20 = lean_unbox(x_19); @@ -15856,7 +16352,7 @@ lean_inc(x_25); x_26 = lean_ctor_get(x_24, 1); lean_inc(x_26); lean_dec(x_24); -x_27 = l_Lean_addTrace___at_Lean_Meta_CheckAssignment_checkFVar___spec__2(x_17, x_25, x_2, x_3, x_4, x_5, x_6, x_7, x_26); +x_27 = l_Lean_addTrace___at_Lean_Meta_CheckAssignment_checkFVar___spec__4(x_17, x_25, x_2, x_3, x_4, x_5, x_6, x_7, x_26); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -15897,7 +16393,7 @@ lean_object* x_32; uint8_t x_33; lean_dec(x_31); x_32 = lean_ctor_get(x_2, 2); lean_inc(x_32); -x_33 = l_Array_contains___at_Lean_Meta_setMVarUserNamesAt___spec__1(x_32, x_1); +x_33 = l_Array_contains___at_Lean_Meta_CheckAssignment_checkFVar___spec__1(x_32, x_1); lean_dec(x_32); if (x_33 == 0) { @@ -15905,7 +16401,7 @@ lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint x_34 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_34, 0, x_1); x_35 = l_Lean_Meta_CheckAssignment_checkFVar___closed__2; -x_36 = l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__1(x_35, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_36 = l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__3(x_35, x_2, x_3, x_4, x_5, x_6, x_7, x_8); x_37 = lean_ctor_get(x_36, 0); lean_inc(x_37); x_38 = lean_unbox(x_37); @@ -15939,7 +16435,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_addTrace___at_Lean_Meta_CheckAssignment_checkFVar___spec__2(x_35, x_43, x_2, x_3, x_4, x_5, x_6, x_7, x_44); +x_45 = l_Lean_addTrace___at_Lean_Meta_CheckAssignment_checkFVar___spec__4(x_35, x_43, x_2, x_3, x_4, x_5, x_6, x_7, x_44); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -30272,7 +30768,7 @@ x_14 = lean_st_ref_get(x_8, x_12); x_15 = lean_ctor_get(x_14, 1); lean_inc(x_15); lean_dec(x_14); -x_16 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom___closed__1; +x_16 = l_Lean_Meta_CheckAssignment_State_cache___default___closed__1; x_17 = lean_st_mk_ref(x_16, x_15); x_18 = lean_ctor_get(x_17, 0); lean_inc(x_18); @@ -41492,7 +41988,7 @@ x_36 = l_Lean_Expr_mvar___override(x_9); x_37 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_37, 0, x_36); x_38 = l_Lean_Meta_CheckAssignment_checkMVar___closed__2; -x_39 = l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__1(x_38, x_2, x_3, x_4, x_5, x_6, x_7, x_33); +x_39 = l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__3(x_38, x_2, x_3, x_4, x_5, x_6, x_7, x_33); x_40 = lean_ctor_get(x_39, 0); lean_inc(x_40); x_41 = lean_unbox(x_40); @@ -41526,7 +42022,7 @@ lean_inc(x_46); x_47 = lean_ctor_get(x_45, 1); lean_inc(x_47); lean_dec(x_45); -x_48 = l_Lean_addTrace___at_Lean_Meta_CheckAssignment_checkFVar___spec__2(x_38, x_46, x_2, x_3, x_4, x_5, x_6, x_7, x_47); +x_48 = l_Lean_addTrace___at_Lean_Meta_CheckAssignment_checkFVar___spec__4(x_38, x_46, x_2, x_3, x_4, x_5, x_6, x_7, x_47); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -42184,7 +42680,7 @@ x_185 = l_Lean_Expr_mvar___override(x_9); x_186 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_186, 0, x_185); x_187 = l_Lean_Meta_CheckAssignment_checkMVar___closed__2; -x_188 = l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__1(x_187, x_2, x_3, x_4, x_5, x_6, x_7, x_182); +x_188 = l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__3(x_187, x_2, x_3, x_4, x_5, x_6, x_7, x_182); x_189 = lean_ctor_get(x_188, 0); lean_inc(x_189); x_190 = lean_unbox(x_189); @@ -42218,7 +42714,7 @@ lean_inc(x_195); x_196 = lean_ctor_get(x_194, 1); lean_inc(x_196); lean_dec(x_194); -x_197 = l_Lean_addTrace___at_Lean_Meta_CheckAssignment_checkFVar___spec__2(x_187, x_195, x_2, x_3, x_4, x_5, x_6, x_7, x_196); +x_197 = l_Lean_addTrace___at_Lean_Meta_CheckAssignment_checkFVar___spec__4(x_187, x_195, x_2, x_3, x_4, x_5, x_6, x_7, x_196); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -42295,7 +42791,7 @@ lean_object* x_321; lean_object* x_322; lean_object* x_323; uint8_t x_324; lean_dec(x_9); lean_dec(x_1); x_321 = l_Lean_Meta_CheckAssignment_checkMVar___closed__4; -x_322 = l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__1(x_321, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_322 = l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__3(x_321, x_2, x_3, x_4, x_5, x_6, x_7, x_8); x_323 = lean_ctor_get(x_322, 0); lean_inc(x_323); x_324 = lean_unbox(x_323); @@ -42329,7 +42825,7 @@ lean_inc(x_330); x_331 = lean_ctor_get(x_329, 1); lean_inc(x_331); lean_dec(x_329); -x_332 = l_Lean_addTrace___at_Lean_Meta_CheckAssignment_checkFVar___spec__2(x_321, x_330, x_2, x_3, x_4, x_5, x_6, x_7, x_331); +x_332 = l_Lean_addTrace___at_Lean_Meta_CheckAssignment_checkFVar___spec__4(x_321, x_330, x_2, x_3, x_4, x_5, x_6, x_7, x_331); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -42345,11 +42841,37 @@ return x_334; } } } -LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___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_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignment_checkFVar___spec__2___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_Lean_Meta_CheckAssignment_checkFVar___spec__2(x_1, x_2, x_5, x_6); +lean_dec(x_2); +lean_dec(x_1); +x_8 = lean_box(x_7); +return x_8; +} +} +LEAN_EXPORT lean_object* l_Array_contains___at_Lean_Meta_CheckAssignment_checkFVar___spec__1___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_Array_contains___at_Lean_Meta_CheckAssignment_checkFVar___spec__1(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___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_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); @@ -42359,11 +42881,11 @@ lean_dec(x_2); return x_9; } } -LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Meta_CheckAssignment_checkFVar___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Meta_CheckAssignment_checkFVar___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; -x_10 = l_Lean_addTrace___at_Lean_Meta_CheckAssignment_checkFVar___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_10 = l_Lean_addTrace___at_Lean_Meta_CheckAssignment_checkFVar___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -66212,7 +66734,7 @@ x_11 = lean_ctor_get(x_8, 1); x_12 = 3; x_13 = lean_unbox(x_10); lean_dec(x_10); -x_14 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10498_(x_13, x_12); +x_14 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10509_(x_13, x_12); if (x_14 == 0) { uint8_t x_15; lean_object* x_16; @@ -66247,7 +66769,7 @@ lean_dec(x_8); x_21 = 3; x_22 = lean_unbox(x_19); lean_dec(x_19); -x_23 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10498_(x_22, x_21); +x_23 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10509_(x_22, x_21); if (x_23 == 0) { uint8_t x_24; lean_object* x_25; lean_object* x_26; @@ -71471,15 +71993,9 @@ return x_47; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_ProjFns(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Structure(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_WHNF(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_InferType(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_FunInfo(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Check(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Offset(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_ForEachExpr(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_UnificationHint(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Util_OccursCheck(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Meta_ExprDefEq(uint8_t builtin, lean_object* w) { lean_object * res; @@ -71488,31 +72004,13 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_ProjFns(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Structure(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Meta_WHNF(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Meta_InferType(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Meta_FunInfo(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Meta_Check(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Meta_Offset(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_ForEachExpr(builtin, lean_io_mk_world()); +res = initialize_Lean_Meta_UnificationHint(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_UnificationHint(builtin, lean_io_mk_world()); +res = initialize_Lean_Util_OccursCheck(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct_go___spec__1___lambda__1___closed__1 = _init_l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct_go___spec__1___lambda__1___closed__1(); @@ -71659,8 +72157,6 @@ l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_hasLetDecl lean_mark_persistent(l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_hasLetDeclsInBetween___closed__1); l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_hasLetDeclsInBetween___closed__2 = _init_l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_hasLetDeclsInBetween___closed__2(); lean_mark_persistent(l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_hasLetDeclsInBetween___closed__2); -l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom___closed__1 = _init_l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom___closed__1(); -lean_mark_persistent(l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom___closed__1); l_Lean_Meta_CheckAssignment_initFn____x40_Lean_Meta_ExprDefEq___hyg_5174____closed__1 = _init_l_Lean_Meta_CheckAssignment_initFn____x40_Lean_Meta_ExprDefEq___hyg_5174____closed__1(); lean_mark_persistent(l_Lean_Meta_CheckAssignment_initFn____x40_Lean_Meta_ExprDefEq___hyg_5174____closed__1); l_Lean_Meta_CheckAssignment_initFn____x40_Lean_Meta_ExprDefEq___hyg_5174____closed__2 = _init_l_Lean_Meta_CheckAssignment_initFn____x40_Lean_Meta_ExprDefEq___hyg_5174____closed__2(); @@ -71679,7 +72175,9 @@ if (lean_io_result_is_error(res)) return res; l_Lean_Meta_CheckAssignment_outOfScopeExceptionId = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_Meta_CheckAssignment_outOfScopeExceptionId); lean_dec_ref(res); -}l_Lean_Meta_CheckAssignment_State_cache___default = _init_l_Lean_Meta_CheckAssignment_State_cache___default(); +}l_Lean_Meta_CheckAssignment_State_cache___default___closed__1 = _init_l_Lean_Meta_CheckAssignment_State_cache___default___closed__1(); +lean_mark_persistent(l_Lean_Meta_CheckAssignment_State_cache___default___closed__1); +l_Lean_Meta_CheckAssignment_State_cache___default = _init_l_Lean_Meta_CheckAssignment_State_cache___default(); lean_mark_persistent(l_Lean_Meta_CheckAssignment_State_cache___default); l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg___closed__1 = _init_l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg___closed__1(); lean_mark_persistent(l_Lean_Meta_CheckAssignment_throwCheckAssignmentFailure___rarg___closed__1); @@ -71713,8 +72211,8 @@ l_Lean_Meta_CheckAssignment_run___closed__1 = _init_l_Lean_Meta_CheckAssignment_ lean_mark_persistent(l_Lean_Meta_CheckAssignment_run___closed__1); l_Lean_Meta_CheckAssignment_run___closed__2 = _init_l_Lean_Meta_CheckAssignment_run___closed__2(); lean_mark_persistent(l_Lean_Meta_CheckAssignment_run___closed__2); -l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__1___closed__1 = _init_l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__1___closed__1(); -lean_mark_persistent(l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__1___closed__1); +l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__3___closed__1 = _init_l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__3___closed__1(); +lean_mark_persistent(l_Lean_isTracingEnabledFor___at_Lean_Meta_CheckAssignment_checkFVar___spec__3___closed__1); l_Lean_Meta_CheckAssignment_checkFVar___closed__1 = _init_l_Lean_Meta_CheckAssignment_checkFVar___closed__1(); lean_mark_persistent(l_Lean_Meta_CheckAssignment_checkFVar___closed__1); l_Lean_Meta_CheckAssignment_checkFVar___closed__2 = _init_l_Lean_Meta_CheckAssignment_checkFVar___closed__2(); diff --git a/stage0/stdlib/Lean/Meta/GetConst.c b/stage0/stdlib/Lean/Meta/GetConst.c index 96f1c603e3..00fcd63451 100644 --- a/stage0/stdlib/Lean/Meta/GetConst.c +++ b/stage0/stdlib/Lean/Meta/GetConst.c @@ -21,7 +21,7 @@ lean_object* lean_st_ref_get(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_getConstNoEx_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_isReducible___at___private_Lean_Meta_GetConst_0__Lean_Meta_canUnfoldDefault___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_getConst_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -uint8_t l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10498_(uint8_t, uint8_t); +uint8_t l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10509_(uint8_t, uint8_t); uint8_t lean_get_reducibility_status(lean_object*, lean_object*); lean_object* l_Lean_ConstantInfo_name(lean_object*); LEAN_EXPORT lean_object* l_Lean_getReducibilityStatus___at___private_Lean_Meta_GetConst_0__Lean_Meta_canUnfoldDefault___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); @@ -315,7 +315,7 @@ x_39 = lean_ctor_get(x_38, 0); lean_inc(x_39); lean_dec(x_38); x_40 = 3; -x_41 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10498_(x_6, x_40); +x_41 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10509_(x_6, x_40); if (x_41 == 0) { uint8_t x_42; lean_object* x_43; @@ -360,7 +360,7 @@ x_51 = lean_ctor_get(x_49, 0); lean_inc(x_51); lean_dec(x_49); x_52 = 3; -x_53 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10498_(x_6, x_52); +x_53 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10509_(x_6, x_52); if (x_53 == 0) { uint8_t x_54; lean_object* x_55; lean_object* x_56; diff --git a/stage0/stdlib/Lean/Meta/IndPredBelow.c b/stage0/stdlib/Lean/Meta/IndPredBelow.c index 3fc31ff05b..de49d19287 100644 --- a/stage0/stdlib/Lean/Meta/IndPredBelow.c +++ b/stage0/stdlib/Lean/Meta/IndPredBelow.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Meta.IndPredBelow -// Imports: Init Lean.Meta.Constructions Lean.Meta.Transform Lean.Meta.Tactic Lean.Meta.Match.Match Lean.Meta.Reduce +// Imports: Init Lean.Meta.Constructions Lean.Meta.Match.Match #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -32,14 +32,17 @@ lean_object* l_Lean_stringToMessageData(lean_object*); static lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_closeGoal___closed__6; LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_backwardsChaining___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* 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_EXPORT 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_Meta_lambdaTelescope___at___private_Lean_Meta_Eqns_0__Lean_Meta_mkSimpleEqThm___spec__6___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkForallFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkBelowMatcher___spec__2(size_t, size_t, lean_object*); lean_object* l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(lean_object*, lean_object*, lean_object*); LEAN_EXPORT 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*); lean_object* l_Lean_LocalDecl_userName(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_LocalDecl_isAuxDecl(lean_object*); uint8_t lean_usize_dec_eq(size_t, size_t); lean_object* lean_array_uget(lean_object*, size_t); @@ -59,6 +62,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_IndPredBelow_mkBelowMatcher(lean_object*, l LEAN_EXPORT lean_object* l_Lean_setEnv___at_Lean_Meta_IndPredBelow_mkBelow___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_closeGoal___closed__10; +LEAN_EXPORT 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_EXPORT 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*); extern lean_object* l_Lean_maxRecDepthErrorMessage; lean_object* lean_array_uset(lean_object*, size_t, lean_object*); @@ -93,7 +97,6 @@ LEAN_EXPORT lean_object* l_Lean_throwKernelException___at_Lean_Meta_IndPredBelow LEAN_EXPORT 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_EXPORT lean_object* l_Lean_throwError___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBinder___spec__1(lean_object*); -lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__15___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_transform_visit_visitLambda___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_IndPredBelow_mkBelowMatcher_convertToBelow___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT 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*); @@ -120,7 +123,6 @@ LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_m LEAN_EXPORT 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_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext_mkHeader___spec__1(size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_findBelowIdx___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_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___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_EXPORT lean_object* l_Lean_Meta_IndPredBelow_mkBelowMatcher_convertToBelow(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT 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_EXPORT lean_object* l_Lean_Meta_IndPredBelow_mkCtorType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -134,14 +136,15 @@ lean_object* l_Lean_Expr_replaceFVars(lean_object*, lean_object*, lean_object*); uint8_t l___private_Lean_Message_0__Lean_beqMessageSeverity____x40_Lean_Message___hyg_101_(uint8_t, uint8_t); static lean_object* l_Lean_Meta_IndPredBelow_mkContext_motiveName___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_IndPredBelow_mkContext(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -uint8_t l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_IR_IRType_beq___spec__1(lean_object*, lean_object*); uint8_t lean_usize_dec_lt(size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_findBelowIdx___spec__2___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___spec__1___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_closeGoal___closed__13; static lean_object* l_Lean_logAt___at_Lean_Meta_IndPredBelow_mkBelow___spec__7___closed__1; LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_backwardsChaining___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_EXPORT lean_object* l_Lean_throwKernelException___at_Lean_Meta_IndPredBelow_mkBelow___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_IndPredBelow_mkBelowMatcher_newMotive(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MVarId_isAssigned___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthPendingImp___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_transform_visit_visitLet___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__6___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT 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*); @@ -149,7 +152,6 @@ extern lean_object* l_Lean_levelZero; static lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkBelowMatcher___spec__3___lambda__2___closed__5; LEAN_EXPORT lean_object* l_Lean_logWarning___at_Lean_Meta_IndPredBelow_mkBelow___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_ppGoal(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_IndPredBelow_mkBelow___closed__5; LEAN_EXPORT lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkCtorType_addHeaderVars___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -204,6 +206,7 @@ LEAN_EXPORT lean_object* l_List_foldl___at_Lean_Meta_IndPredBelow_mkBelowMatcher LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_IndPredBelow_findBelowIdx___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT 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*); static lean_object* l_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___closed__1; +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_IndPredBelow_mkBelowMatcher___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_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* l_Lean_Option_get___at_Std_Format_pretty_x27___spec__1(lean_object*, lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); @@ -238,9 +241,9 @@ static lean_object* l_Lean_mkCasesOn___at_Lean_Meta_IndPredBelow_mkBelow___spec_ static lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_closeGoal___closed__5; lean_object* l_Lean_ConstantInfo_name(lean_object*); LEAN_EXPORT 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_EXPORT lean_object* l_List_mapM___at_Lean_Meta_IndPredBelow_mkBelowMatcher___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_closeGoal___closed__4; LEAN_EXPORT 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_EXPORT 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___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_addDecl___at_Lean_Meta_IndPredBelow_mkBelow___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_addHeaderVars___spec__3(size_t, size_t, lean_object*); @@ -259,8 +262,10 @@ extern lean_object* l_Lean_Expr_instHashableExpr; lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withIncRecDepth___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__13(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___closed__2; +LEAN_EXPORT lean_object* l_List_mapM_loop___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*); lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); static lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___closed__1; +lean_object* l_panic___at_String_toNat_x21___spec__1(lean_object*); LEAN_EXPORT 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_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_backwardsChaining___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -280,7 +285,6 @@ lean_object* l_Lean_MVarId_apply(lean_object*, lean_object*, uint8_t, lean_objec static lean_object* l_Lean_Meta_IndPredBelow_mkBelowMatcher_convertToBelow___closed__2; lean_object* l_Lean_Meta_InfoCacheKey_instHashableInfoCacheKey___boxed(lean_object*); lean_object* l_Lean_mkArrow(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_indexOfAux___at_Lean_Meta_getElimInfo___spec__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_transform_visit_visitPost___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__3(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkBelowMatcher___spec__3___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_IndPredBelow_mkBelowMatcher___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -333,17 +337,15 @@ static lean_object* l_Lean_addDecl___at_Lean_Meta_IndPredBelow_mkBelow___spec__2 static lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__5___closed__1; extern lean_object* l_Lean_warningAsError; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkContext___spec__5___boxed(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___spec__1___boxed(lean_object**); LEAN_EXPORT lean_object* l_Lean_Meta_IndPredBelow_mkBelowMatcher___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Option_register___at_Lean_initFn____x40_Lean_Util_RecDepth___hyg_6____spec__1(lean_object*, lean_object*, lean_object*); size_t lean_usize_of_nat(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_IndPredBelow_mkContext_mkIndValConst(lean_object*); +LEAN_EXPORT 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*); static lean_object* l_Lean_Meta_IndPredBelow_initFn____x40_Lean_Meta_IndPredBelow___hyg_7____closed__3; static lean_object* l_Std_Range_forIn_loop___at_Lean_Meta_IndPredBelow_mkBelow___spec__8___closed__1; static lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn___closed__1; lean_object* l_instBEqProd___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwKernelException___at_Lean_Meta_evalExprCore___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT 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_EXPORT lean_object* l_Std_PersistentArray_anyM___at_Lean_Meta_IndPredBelow_backwardsChaining___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_transform_visit_visitLet___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__6___lambda__1(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Meta_mkSimpCongrTheorem___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -364,7 +366,6 @@ lean_object* l_Lean_Syntax_getPos_x3f(lean_object*, uint8_t); LEAN_EXPORT lean_object* l_Lean_Meta_IndPredBelow_mkBelowMatcher___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT 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_Expr_fvar___override(lean_object*); -lean_object* l_Lean_throwError___at_Lean_MVarId_congrImplies_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_ptr_addr(lean_object*); static lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_checkCount___closed__3; LEAN_EXPORT 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*); @@ -373,11 +374,9 @@ lean_object* l_Lean_MVarId_getType(lean_object*, lean_object*, lean_object*, lea lean_object* l_List_redLength___rarg(lean_object*); LEAN_EXPORT 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_Std_PersistentArray_push___rarg(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_closeGoal___closed__1; static lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___closed__1; static lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkBelowMatcher___spec__3___lambda__2___closed__8; -LEAN_EXPORT lean_object* l_panic___at_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___spec__2(lean_object*); static lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_closeGoal___closed__2; lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); static lean_object* l_Lean_Meta_IndPredBelow_mkBelow___closed__4; @@ -406,6 +405,7 @@ static lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorTyp static lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_IndPredBelow_mkBelowMatcher___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_log___at_Lean_Meta_IndPredBelow_mkBelow___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwKernelException___at_Lean_Meta_mkAuxLemma___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_IndPredBelow_0__Lean_Meta_IndPredBelow_belowType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT 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*); @@ -449,7 +449,6 @@ static lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkBelowMatch static lean_object* l_Lean_Meta_IndPredBelow_mkBelowMatcher_newMotive___lambda__1___closed__1; static lean_object* l_Lean_Meta_IndPredBelow_getBelowIndices_loop___closed__1; LEAN_EXPORT 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_addDecl___at_Lean_Meta_evalExprCore___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_mkCasesOn___at_Lean_Meta_IndPredBelow_mkBelow___spec__1___closed__8; LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Meta_IndPredBelow_mkBelow___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_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*); @@ -459,7 +458,6 @@ LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Meta_IndPredBelow_m LEAN_EXPORT lean_object* l_Lean_Meta_IndPredBelow_mkBelowMatcher_toInaccessible(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_findBelowIdx___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t, 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_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_IndPredBelow_mkCtorType_rebuild(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -470,7 +468,6 @@ lean_object* l_Lean_Expr_constName_x3f(lean_object*); lean_object* l_Lean_Expr_app___override(lean_object*, lean_object*); LEAN_EXPORT 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*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_backwardsChaining___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_panic___at_Lean_TSyntax_getNat___spec__1(lean_object*); lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_IndPredBelow_mkContext_motiveType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -497,6 +494,7 @@ uint8_t l_Lean_Expr_binderInfo(lean_object*); static lean_object* l_Lean_mkCasesOn___at_Lean_Meta_IndPredBelow_mkBelow___spec__1___closed__2; LEAN_EXPORT lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkBelowMatcher___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_log___at_Lean_Meta_IndPredBelow_mkBelow___spec__6(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_GeneralizeTelescope_generalizeTelescopeAux___spec__1___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_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_Lean_Syntax_getTailPos_x3f(lean_object*, uint8_t); LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -511,6 +509,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecls_loop___at_Lean_Meta_IndPredB LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_IndPredBelow_backwardsChaining___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_EXPORT 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_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_IndPredBelow_proveBrecOn_applyCtors___spec__4(lean_object*, size_t, size_t, lean_object*); +LEAN_EXPORT lean_object* l_panic___at_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___spec__3(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_IndPredBelow_findBelowIdx(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_proj___override(lean_object*, lean_object*, lean_object*); LEAN_EXPORT 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*); @@ -520,7 +519,6 @@ static lean_object* l_Lean_Meta_IndPredBelow_mkBelowMatcher_newMotive___lambda__ static lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkBelowMatcher___spec__3___lambda__2___closed__4; extern lean_object* l_Lean_instInhabitedInductiveVal; static lean_object* l_Lean_Meta_IndPredBelow_mkBrecOnDecl_mkIH___closed__2; -lean_object* l_Lean_Meta_lambdaTelescope___at_Lean_PrettyPrinter_Delaborator_returnsPi___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_brecOnSuffix; static lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkBelowMatcher___spec__3___lambda__1___closed__2; static lean_object* l_Lean_addDecl___at_Lean_Meta_IndPredBelow_mkBelow___spec__2___closed__3; @@ -548,16 +546,19 @@ lean_object* l_Lean_indentExpr(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_IndPredBelow_mkBelow(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT 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*); static lean_object* l_Lean_Meta_IndPredBelow_initFn____x40_Lean_Meta_IndPredBelow___hyg_7____closed__1; +LEAN_EXPORT uint8_t l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___spec__1(lean_object*, lean_object*); static lean_object* l_Lean_Meta_IndPredBelow_mkContext_motiveName___closed__3; LEAN_EXPORT 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*); static lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn___closed__3; static lean_object* l_Lean_Meta_transform___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___spec__1___closed__2; +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___spec__2___boxed(lean_object**); LEAN_EXPORT lean_object* l_Lean_Meta_IndPredBelow_getBelowIndices___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_constName_x21(lean_object*); static lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_closeGoal___closed__15; LEAN_EXPORT lean_object* l_Lean_Meta_IndPredBelow_proveBrecOn_closeGoal(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_transform___at_Lean_Meta_IndPredBelow_mkCtorType_checkCount___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_insertAt___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Array_indexOfAux___at___private_Lean_Meta_FunInfo_0__Lean_Meta_collectDeps_visit___spec__1(lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkBelowMatcher___spec__3___lambda__1___closed__4; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -802,7 +803,7 @@ lean_closure_set(x_17, 0, x_4); lean_closure_set(x_17, 1, x_1); lean_closure_set(x_17, 2, x_5); x_18 = 1; -x_19 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__15___rarg(x_3, x_18, x_15, x_17, x_6, x_7, x_8, x_9, x_16); +x_19 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_GeneralizeTelescope_generalizeTelescopeAux___spec__1___rarg(x_3, x_18, x_15, x_17, x_6, x_7, x_8, x_9, x_16); return x_19; } else @@ -4583,7 +4584,7 @@ lean_inc(x_45); lean_dec(x_43); x_46 = l_Lean_Expr_binderInfo(x_4); lean_dec(x_4); -x_47 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__15___rarg(x_44, x_46, x_40, x_6, x_11, x_12, x_13, x_14, x_45); +x_47 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_GeneralizeTelescope_generalizeTelescopeAux___spec__1___rarg(x_44, x_46, x_40, x_6, x_11, x_12, x_13, x_14, x_45); return x_47; } else @@ -4676,7 +4677,7 @@ lean_inc(x_67); lean_dec(x_65); x_68 = l_Lean_Expr_binderInfo(x_4); lean_dec(x_4); -x_69 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__15___rarg(x_66, x_68, x_62, x_6, x_11, x_12, x_13, x_14, x_67); +x_69 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_GeneralizeTelescope_generalizeTelescopeAux___spec__1___rarg(x_66, x_68, x_62, x_6, x_11, x_12, x_13, x_14, x_67); return x_69; } else @@ -5075,7 +5076,7 @@ lean_dec(x_67); x_70 = l_Lean_Expr_binderInfo(x_3); lean_dec(x_3); x_71 = lean_apply_1(x_5, x_41); -x_72 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__15___rarg(x_68, x_70, x_64, x_71, x_11, x_12, x_13, x_14, x_69); +x_72 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_GeneralizeTelescope_generalizeTelescopeAux___spec__1___rarg(x_68, x_70, x_64, x_71, x_11, x_12, x_13, x_14, x_69); return x_72; } else @@ -5172,7 +5173,7 @@ lean_dec(x_90); x_93 = l_Lean_Expr_binderInfo(x_3); lean_dec(x_3); x_94 = lean_apply_1(x_5, x_41); -x_95 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__15___rarg(x_91, x_93, x_87, x_94, x_11, x_12, x_13, x_14, x_92); +x_95 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_GeneralizeTelescope_generalizeTelescopeAux___spec__1___rarg(x_91, x_93, x_87, x_94, x_11, x_12, x_13, x_14, x_92); return x_95; } else @@ -8715,7 +8716,7 @@ lean_closure_set(x_22, 2, x_2); lean_closure_set(x_22, 3, x_3); x_23 = lean_unbox(x_17); lean_dec(x_17); -x_24 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__15___rarg(x_16, x_23, x_20, x_22, x_5, x_6, x_7, x_8, x_21); +x_24 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_GeneralizeTelescope_generalizeTelescopeAux___spec__1___rarg(x_16, x_23, x_20, x_22, x_5, x_6, x_7, x_8, x_21); return x_24; } else @@ -9366,241 +9367,154 @@ return x_51; } } } -LEAN_EXPORT 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) { +LEAN_EXPORT lean_object* l_List_mapM_loop___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, lean_object* x_9) { _start: { if (lean_obj_tag(x_3) == 0) { -lean_object* x_9; lean_object* x_10; +lean_object* x_10; lean_object* x_11; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_2); +lean_dec(x_1); +x_10 = l_List_reverse___rarg(x_4); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_10); +lean_ctor_set(x_11, 1, x_9); +return x_11; +} +else +{ +uint8_t x_12; +x_12 = !lean_is_exclusive(x_3); +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_3, 0); +x_14 = lean_ctor_get(x_3, 1); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_2); +lean_inc(x_1); +x_15 = l_Lean_Meta_IndPredBelow_mkConstructor(x_1, x_2, x_13, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_15) == 0) +{ +lean_object* x_16; lean_object* x_17; +x_16 = lean_ctor_get(x_15, 0); +lean_inc(x_16); +x_17 = lean_ctor_get(x_15, 1); +lean_inc(x_17); +lean_dec(x_15); +lean_ctor_set(x_3, 1, x_4); +lean_ctor_set(x_3, 0, x_16); +{ +lean_object* _tmp_2 = x_14; +lean_object* _tmp_3 = x_3; +lean_object* _tmp_8 = x_17; +x_3 = _tmp_2; +x_4 = _tmp_3; +x_9 = _tmp_8; +} +goto _start; +} +else +{ +uint8_t x_19; +lean_free_object(x_3); +lean_dec(x_14); +lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); lean_dec(x_1); -x_9 = lean_box(0); -x_10 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_10, 0, x_9); -lean_ctor_set(x_10, 1, x_8); -return x_10; -} -else +x_19 = !lean_is_exclusive(x_15); +if (x_19 == 0) { -uint8_t x_11; -x_11 = !lean_is_exclusive(x_3); -if (x_11 == 0) -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_12 = lean_ctor_get(x_3, 0); -x_13 = lean_ctor_get(x_3, 1); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_2); -lean_inc(x_1); -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; -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_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; -x_18 = !lean_is_exclusive(x_17); -if (x_18 == 0) -{ -lean_object* x_19; -x_19 = lean_ctor_get(x_17, 0); -lean_ctor_set(x_3, 1, x_19); -lean_ctor_set(x_3, 0, x_15); -lean_ctor_set(x_17, 0, x_3); -return x_17; +return x_15; } else { lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_ctor_get(x_17, 0); -x_21 = lean_ctor_get(x_17, 1); +x_20 = lean_ctor_get(x_15, 0); +x_21 = lean_ctor_get(x_15, 1); lean_inc(x_21); lean_inc(x_20); -lean_dec(x_17); -lean_ctor_set(x_3, 1, x_20); -lean_ctor_set(x_3, 0, x_15); -x_22 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_22, 0, x_3); +lean_dec(x_15); +x_22 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_22, 0, x_20); lean_ctor_set(x_22, 1, x_21); return x_22; } } -else -{ -uint8_t x_23; -lean_dec(x_15); -lean_free_object(x_3); -x_23 = !lean_is_exclusive(x_17); -if (x_23 == 0) -{ -return x_17; } else { -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_17, 0); -x_25 = lean_ctor_get(x_17, 1); -lean_inc(x_25); +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_3, 0); +x_24 = lean_ctor_get(x_3, 1); lean_inc(x_24); -lean_dec(x_17); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -} -else -{ -uint8_t x_27; -lean_free_object(x_3); -lean_dec(x_13); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -lean_dec(x_1); -x_27 = !lean_is_exclusive(x_14); -if (x_27 == 0) -{ -return x_14; -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_14, 0); -x_29 = lean_ctor_get(x_14, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_14); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -else -{ -lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_31 = lean_ctor_get(x_3, 0); -x_32 = lean_ctor_get(x_3, 1); -lean_inc(x_32); -lean_inc(x_31); +lean_inc(x_23); lean_dec(x_3); +lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -lean_inc(x_4); lean_inc(x_2); lean_inc(x_1); -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) +x_25 = l_Lean_Meta_IndPredBelow_mkConstructor(x_1, x_2, x_23, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_25) == 0) { -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_33, 0); -lean_inc(x_34); -x_35 = lean_ctor_get(x_33, 1); -lean_inc(x_35); -lean_dec(x_33); -x_36 = l_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; -x_37 = lean_ctor_get(x_36, 0); -lean_inc(x_37); -x_38 = lean_ctor_get(x_36, 1); -lean_inc(x_38); -if (lean_is_exclusive(x_36)) { - lean_ctor_release(x_36, 0); - lean_ctor_release(x_36, 1); - x_39 = x_36; -} else { - lean_dec_ref(x_36); - x_39 = lean_box(0); -} -x_40 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_40, 0, x_34); -lean_ctor_set(x_40, 1, x_37); -if (lean_is_scalar(x_39)) { - x_41 = lean_alloc_ctor(0, 2, 0); -} else { - x_41 = x_39; -} -lean_ctor_set(x_41, 0, x_40); -lean_ctor_set(x_41, 1, x_38); -return x_41; +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_25, 0); +lean_inc(x_26); +x_27 = lean_ctor_get(x_25, 1); +lean_inc(x_27); +lean_dec(x_25); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_4); +x_3 = x_24; +x_4 = x_28; +x_9 = x_27; +goto _start; } else { -lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; -lean_dec(x_34); -x_42 = lean_ctor_get(x_36, 0); -lean_inc(x_42); -x_43 = lean_ctor_get(x_36, 1); -lean_inc(x_43); -if (lean_is_exclusive(x_36)) { - lean_ctor_release(x_36, 0); - lean_ctor_release(x_36, 1); - x_44 = x_36; -} else { - lean_dec_ref(x_36); - x_44 = lean_box(0); -} -if (lean_is_scalar(x_44)) { - x_45 = lean_alloc_ctor(1, 2, 0); -} else { - x_45 = x_44; -} -lean_ctor_set(x_45, 0, x_42); -lean_ctor_set(x_45, 1, x_43); -return x_45; -} -} -else -{ -lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; -lean_dec(x_32); +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; +lean_dec(x_24); +lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); lean_dec(x_1); -x_46 = lean_ctor_get(x_33, 0); -lean_inc(x_46); -x_47 = lean_ctor_get(x_33, 1); -lean_inc(x_47); -if (lean_is_exclusive(x_33)) { - lean_ctor_release(x_33, 0); - lean_ctor_release(x_33, 1); - x_48 = x_33; +x_30 = lean_ctor_get(x_25, 0); +lean_inc(x_30); +x_31 = lean_ctor_get(x_25, 1); +lean_inc(x_31); +if (lean_is_exclusive(x_25)) { + lean_ctor_release(x_25, 0); + lean_ctor_release(x_25, 1); + x_32 = x_25; } else { - lean_dec_ref(x_33); - x_48 = lean_box(0); + lean_dec_ref(x_25); + x_32 = lean_box(0); } -if (lean_is_scalar(x_48)) { - x_49 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_32)) { + x_33 = lean_alloc_ctor(1, 2, 0); } else { - x_49 = x_48; + x_33 = x_32; } -lean_ctor_set(x_49, 0, x_46); -lean_ctor_set(x_49, 1, x_47); -return x_49; +lean_ctor_set(x_33, 0, x_30); +lean_ctor_set(x_33, 1, x_31); +return x_33; } } } @@ -9609,216 +9523,217 @@ return x_49; LEAN_EXPORT 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; +lean_object* x_9; lean_object* x_10; lean_object* x_11; x_9 = lean_ctor_get(x_3, 4); lean_inc(x_9); lean_dec(x_3); +x_10 = lean_box(0); lean_inc(x_2); lean_inc(x_1); -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) +x_11 = l_List_mapM_loop___at_Lean_Meta_IndPredBelow_mkInductiveType___spec__1(x_1, x_2, x_9, x_10, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_11) == 0) { -uint8_t x_11; -x_11 = !lean_is_exclusive(x_10); -if (x_11 == 0) +uint8_t x_12; +x_12 = !lean_is_exclusive(x_11); +if (x_12 == 0) { -lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; -x_12 = lean_ctor_get(x_10, 0); -x_13 = lean_ctor_get(x_1, 2); -lean_inc(x_13); -x_14 = lean_array_get_size(x_13); -x_15 = lean_nat_dec_lt(x_2, x_14); +lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; +x_13 = lean_ctor_get(x_11, 0); +x_14 = lean_ctor_get(x_1, 2); +lean_inc(x_14); +x_15 = lean_array_get_size(x_14); +x_16 = lean_nat_dec_lt(x_2, x_15); +lean_dec(x_15); +x_17 = lean_ctor_get(x_1, 3); +lean_inc(x_17); +lean_dec(x_1); +x_18 = lean_array_get_size(x_17); +x_19 = lean_nat_dec_lt(x_2, x_18); +lean_dec(x_18); +if (x_16 == 0) +{ +lean_object* x_20; lean_object* x_21; lean_dec(x_14); -x_16 = lean_ctor_get(x_1, 3); -lean_inc(x_16); -lean_dec(x_1); -x_17 = lean_array_get_size(x_16); -x_18 = lean_nat_dec_lt(x_2, x_17); +x_20 = l_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars___closed__4; +x_21 = l_panic___at___private_Init_Prelude_0__Lean_assembleParts___spec__1(x_20); +if (x_19 == 0) +{ +lean_object* x_22; lean_object* x_23; lean_dec(x_17); -if (x_15 == 0) -{ -lean_object* x_19; lean_object* x_20; -lean_dec(x_13); -x_19 = l_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars___closed__4; -x_20 = l_panic___at___private_Init_Prelude_0__Lean_assembleParts___spec__1(x_19); -if (x_18 == 0) -{ -lean_object* x_21; lean_object* x_22; -lean_dec(x_16); lean_dec(x_2); -x_21 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_19); -x_22 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_22, 0, x_20); -lean_ctor_set(x_22, 1, x_21); -lean_ctor_set(x_22, 2, x_12); -lean_ctor_set(x_10, 0, x_22); -return x_10; +x_22 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_20); +x_23 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_23, 0, x_21); +lean_ctor_set(x_23, 1, x_22); +lean_ctor_set(x_23, 2, x_13); +lean_ctor_set(x_11, 0, x_23); +return x_11; } else { -lean_object* x_23; lean_object* x_24; -x_23 = lean_array_fget(x_16, x_2); +lean_object* x_24; lean_object* x_25; +x_24 = lean_array_fget(x_17, x_2); lean_dec(x_2); -lean_dec(x_16); -x_24 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_24, 0, x_20); -lean_ctor_set(x_24, 1, x_23); -lean_ctor_set(x_24, 2, x_12); -lean_ctor_set(x_10, 0, x_24); -return x_10; +lean_dec(x_17); +x_25 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_25, 0, x_21); +lean_ctor_set(x_25, 1, x_24); +lean_ctor_set(x_25, 2, x_13); +lean_ctor_set(x_11, 0, x_25); +return x_11; } } else { -lean_object* x_25; -x_25 = lean_array_fget(x_13, x_2); -lean_dec(x_13); -if (x_18 == 0) +lean_object* x_26; +x_26 = lean_array_fget(x_14, x_2); +lean_dec(x_14); +if (x_19 == 0) { -lean_object* x_26; lean_object* x_27; lean_object* x_28; -lean_dec(x_16); +lean_object* x_27; lean_object* x_28; lean_object* x_29; +lean_dec(x_17); lean_dec(x_2); -x_26 = l_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars___closed__4; -x_27 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_26); -x_28 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_28, 0, x_25); -lean_ctor_set(x_28, 1, x_27); -lean_ctor_set(x_28, 2, x_12); -lean_ctor_set(x_10, 0, x_28); -return x_10; +x_27 = l_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars___closed__4; +x_28 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_27); +x_29 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_29, 0, x_26); +lean_ctor_set(x_29, 1, x_28); +lean_ctor_set(x_29, 2, x_13); +lean_ctor_set(x_11, 0, x_29); +return x_11; } else { -lean_object* x_29; lean_object* x_30; -x_29 = lean_array_fget(x_16, x_2); +lean_object* x_30; lean_object* x_31; +x_30 = lean_array_fget(x_17, x_2); lean_dec(x_2); -lean_dec(x_16); -x_30 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_30, 0, x_25); -lean_ctor_set(x_30, 1, x_29); -lean_ctor_set(x_30, 2, x_12); -lean_ctor_set(x_10, 0, x_30); -return x_10; +lean_dec(x_17); +x_31 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_31, 0, x_26); +lean_ctor_set(x_31, 1, x_30); +lean_ctor_set(x_31, 2, x_13); +lean_ctor_set(x_11, 0, x_31); +return x_11; } } } else { -lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; -x_31 = lean_ctor_get(x_10, 0); -x_32 = lean_ctor_get(x_10, 1); -lean_inc(x_32); -lean_inc(x_31); -lean_dec(x_10); -x_33 = lean_ctor_get(x_1, 2); +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; +x_32 = lean_ctor_get(x_11, 0); +x_33 = lean_ctor_get(x_11, 1); lean_inc(x_33); -x_34 = lean_array_get_size(x_33); -x_35 = lean_nat_dec_lt(x_2, x_34); +lean_inc(x_32); +lean_dec(x_11); +x_34 = lean_ctor_get(x_1, 2); +lean_inc(x_34); +x_35 = lean_array_get_size(x_34); +x_36 = lean_nat_dec_lt(x_2, x_35); +lean_dec(x_35); +x_37 = lean_ctor_get(x_1, 3); +lean_inc(x_37); +lean_dec(x_1); +x_38 = lean_array_get_size(x_37); +x_39 = lean_nat_dec_lt(x_2, x_38); +lean_dec(x_38); +if (x_36 == 0) +{ +lean_object* x_40; lean_object* x_41; lean_dec(x_34); -x_36 = lean_ctor_get(x_1, 3); -lean_inc(x_36); -lean_dec(x_1); -x_37 = lean_array_get_size(x_36); -x_38 = lean_nat_dec_lt(x_2, x_37); +x_40 = l_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars___closed__4; +x_41 = l_panic___at___private_Init_Prelude_0__Lean_assembleParts___spec__1(x_40); +if (x_39 == 0) +{ +lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_dec(x_37); -if (x_35 == 0) -{ -lean_object* x_39; lean_object* x_40; -lean_dec(x_33); -x_39 = l_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars___closed__4; -x_40 = l_panic___at___private_Init_Prelude_0__Lean_assembleParts___spec__1(x_39); -if (x_38 == 0) -{ -lean_object* x_41; lean_object* x_42; lean_object* x_43; -lean_dec(x_36); lean_dec(x_2); -x_41 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_39); -x_42 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_42, 0, x_40); -lean_ctor_set(x_42, 1, x_41); -lean_ctor_set(x_42, 2, x_31); -x_43 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_43, 0, x_42); -lean_ctor_set(x_43, 1, x_32); -return x_43; +x_42 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_40); +x_43 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_43, 0, x_41); +lean_ctor_set(x_43, 1, x_42); +lean_ctor_set(x_43, 2, x_32); +x_44 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_44, 0, x_43); +lean_ctor_set(x_44, 1, x_33); +return x_44; } else { -lean_object* x_44; lean_object* x_45; lean_object* x_46; -x_44 = lean_array_fget(x_36, x_2); +lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_45 = lean_array_fget(x_37, x_2); lean_dec(x_2); -lean_dec(x_36); -x_45 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_45, 0, x_40); -lean_ctor_set(x_45, 1, x_44); -lean_ctor_set(x_45, 2, x_31); -x_46 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_46, 0, x_45); -lean_ctor_set(x_46, 1, x_32); -return x_46; +lean_dec(x_37); +x_46 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_46, 0, x_41); +lean_ctor_set(x_46, 1, x_45); +lean_ctor_set(x_46, 2, x_32); +x_47 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_47, 0, x_46); +lean_ctor_set(x_47, 1, x_33); +return x_47; } } else { -lean_object* x_47; -x_47 = lean_array_fget(x_33, x_2); -lean_dec(x_33); -if (x_38 == 0) +lean_object* x_48; +x_48 = lean_array_fget(x_34, x_2); +lean_dec(x_34); +if (x_39 == 0) { -lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; -lean_dec(x_36); +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; +lean_dec(x_37); lean_dec(x_2); -x_48 = l_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars___closed__4; -x_49 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_48); -x_50 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_50, 0, x_47); -lean_ctor_set(x_50, 1, x_49); -lean_ctor_set(x_50, 2, x_31); -x_51 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_51, 0, x_50); -lean_ctor_set(x_51, 1, x_32); -return x_51; +x_49 = l_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars___closed__4; +x_50 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_49); +x_51 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_51, 0, x_48); +lean_ctor_set(x_51, 1, x_50); +lean_ctor_set(x_51, 2, x_32); +x_52 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_52, 0, x_51); +lean_ctor_set(x_52, 1, x_33); +return x_52; } else { -lean_object* x_52; lean_object* x_53; lean_object* x_54; -x_52 = lean_array_fget(x_36, x_2); +lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_53 = lean_array_fget(x_37, x_2); lean_dec(x_2); -lean_dec(x_36); -x_53 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_53, 0, x_47); -lean_ctor_set(x_53, 1, x_52); -lean_ctor_set(x_53, 2, x_31); -x_54 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_54, 0, x_53); -lean_ctor_set(x_54, 1, x_32); -return x_54; +lean_dec(x_37); +x_54 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_54, 0, x_48); +lean_ctor_set(x_54, 1, x_53); +lean_ctor_set(x_54, 2, x_32); +x_55 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_55, 0, x_54); +lean_ctor_set(x_55, 1, x_33); +return x_55; } } } } else { -uint8_t x_55; +uint8_t x_56; lean_dec(x_2); lean_dec(x_1); -x_55 = !lean_is_exclusive(x_10); -if (x_55 == 0) +x_56 = !lean_is_exclusive(x_11); +if (x_56 == 0) { -return x_10; +return x_11; } else { -lean_object* x_56; lean_object* x_57; lean_object* x_58; -x_56 = lean_ctor_get(x_10, 0); -x_57 = lean_ctor_get(x_10, 1); +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_11, 0); +x_58 = lean_ctor_get(x_11, 1); +lean_inc(x_58); lean_inc(x_57); -lean_inc(x_56); -lean_dec(x_10); -x_58 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_58, 0, x_56); -lean_ctor_set(x_58, 1, x_57); -return x_58; +lean_dec(x_11); +x_59 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_59, 0, x_57); +lean_ctor_set(x_59, 1, x_58); +return x_59; } } } @@ -11956,7 +11871,45 @@ lean_dec(x_1); return x_9; } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_IndPredBelow_proveBrecOn_applyIH___spec__1(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_EXPORT 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; +x_7 = lean_ctor_get(x_4, 5); +x_8 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); +x_9 = !lean_is_exclusive(x_8); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; +x_10 = lean_ctor_get(x_8, 0); +lean_inc(x_7); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_7); +lean_ctor_set(x_11, 1, x_10); +lean_ctor_set_tag(x_8, 1); +lean_ctor_set(x_8, 0, x_11); +return x_8; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_12 = lean_ctor_get(x_8, 0); +x_13 = lean_ctor_get(x_8, 1); +lean_inc(x_13); +lean_inc(x_12); +lean_dec(x_8); +lean_inc(x_7); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_7); +lean_ctor_set(x_14, 1, x_12); +x_15 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_13); +return x_15; +} +} +} +LEAN_EXPORT 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; @@ -12091,6 +12044,8 @@ _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; x_19 = lean_ctor_get(x_2, 4); +lean_inc(x_19); +lean_dec(x_2); x_20 = lean_box(0); x_21 = lean_array_get_size(x_19); x_22 = lean_usize_of_nat(x_21); @@ -12102,7 +12057,8 @@ 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_IndPredBelow_proveBrecOn_applyIH___spec__1(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); +lean_dec(x_19); x_26 = lean_ctor_get(x_25, 0); lean_inc(x_26); x_27 = lean_ctor_get(x_26, 0); @@ -12146,7 +12102,7 @@ x_13 = l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkCtorType_mkBelowBind 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_MVarId_congrImplies_x3f___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); @@ -12172,7 +12128,19 @@ return x_17; } } } -LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___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, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +LEAN_EXPORT lean_object* l_Lean_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_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); +lean_dec(x_2); +return x_7; +} +} +LEAN_EXPORT 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; @@ -12180,20 +12148,11 @@ 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_IndPredBelow_proveBrecOn_applyIH___spec__1(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_EXPORT 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_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_EXPORT 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: { @@ -13736,6 +13695,7 @@ lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); +lean_inc(x_18); 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) { @@ -15943,7 +15903,7 @@ if (x_20 == 0) { lean_object* x_22; lean_object* x_23; x_22 = l_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars___closed__4; -x_23 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_22); +x_23 = l_panic___at_String_toNat_x21___spec__1(x_22); if (x_21 == 0) { lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; @@ -16298,7 +16258,7 @@ lean_dec(x_19); x_22 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkBelowMatcher_convertToBelow___lambda__1___boxed), 7, 1); lean_closure_set(x_22, 0, x_11); x_23 = 0; -x_24 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__15___rarg(x_20, x_23, x_17, x_22, x_4, x_5, x_6, x_7, x_21); +x_24 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_GeneralizeTelescope_generalizeTelescopeAux___spec__1___rarg(x_20, x_23, x_17, x_22, x_4, x_5, x_6, x_7, x_21); return x_24; } else @@ -16818,7 +16778,44 @@ x_11 = l_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop(x_1, x_3, x_ return x_11; } } -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, 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_EXPORT uint8_t l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___spec__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +if (lean_obj_tag(x_2) == 0) +{ +uint8_t x_3; +x_3 = 1; +return x_3; +} +else +{ +uint8_t x_4; +x_4 = 0; +return x_4; +} +} +else +{ +if (lean_obj_tag(x_2) == 0) +{ +uint8_t x_5; +x_5 = 0; +return x_5; +} +else +{ +lean_object* x_6; lean_object* x_7; uint8_t x_8; +x_6 = lean_ctor_get(x_1, 0); +x_7 = lean_ctor_get(x_2, 0); +x_8 = lean_name_eq(x_6, x_7); +return x_8; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17) { _start: { if (lean_obj_tag(x_10) == 5) @@ -16848,7 +16845,7 @@ lean_dec(x_10); lean_inc(x_2); x_25 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_25, 0, x_2); -x_26 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_IR_IRType_beq___spec__1(x_24, x_25); +x_26 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___spec__1(x_24, x_25); lean_dec(x_25); lean_dec(x_24); if (x_26 == 0) @@ -16966,7 +16963,7 @@ return x_50; } } } -LEAN_EXPORT lean_object* l_panic___at_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___spec__2(lean_object* x_1) { +LEAN_EXPORT lean_object* l_panic___at_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___spec__3(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -17069,7 +17066,7 @@ if (x_57 == 0) { lean_object* x_58; lean_object* x_59; x_58 = l_Lean_Meta_IndPredBelow_mkCtorType_replaceTempVars___closed__4; -x_59 = l_panic___at_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___spec__2(x_58); +x_59 = l_panic___at_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___spec__3(x_58); if (lean_obj_tag(x_59) == 0) { lean_object* x_60; @@ -17167,7 +17164,7 @@ lean_closure_set(x_21, 3, x_1); lean_closure_set(x_21, 4, x_2); lean_closure_set(x_21, 5, x_4); x_22 = 0; -x_23 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__15___rarg(x_18, x_22, x_20, x_21, x_7, x_8, x_9, x_10, x_19); +x_23 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_GeneralizeTelescope_generalizeTelescopeAux___spec__1___rarg(x_18, x_22, x_20, x_21, x_7, x_8, x_9, x_10, x_19); return x_23; } else @@ -17245,7 +17242,7 @@ x_43 = lean_mk_array(x_41, x_42); x_44 = lean_unsigned_to_nat(1u); x_45 = lean_nat_sub(x_41, x_44); lean_dec(x_41); -x_46 = l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___spec__1(x_1, x_2, x_4, x_5, x_6, x_30, x_31, x_34, x_36, x_38, x_43, x_45, x_7, x_8, x_9, x_10, x_39); +x_46 = l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___spec__2(x_1, x_2, x_4, x_5, x_6, x_30, x_31, x_34, x_36, x_38, x_43, x_45, x_7, x_8, x_9, x_10, x_39); return x_46; } else @@ -17375,7 +17372,18 @@ lean_dec(x_3); return x_9; } } -LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___spec__1___boxed(lean_object** _args) { +LEAN_EXPORT lean_object* l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___spec__1___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___spec__1(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___spec__2___boxed(lean_object** _args) { lean_object* x_1 = _args[0]; lean_object* x_2 = _args[1]; lean_object* x_3 = _args[2]; @@ -17396,7 +17404,7 @@ lean_object* x_17 = _args[16]; _start: { lean_object* x_18; -x_18 = l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17); +x_18 = l_Lean_Expr_withAppAux___at_Lean_Meta_IndPredBelow_mkBelowMatcher_transformFields_loop___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, x_14, x_15, x_16, x_17); return x_18; } } @@ -17849,7 +17857,7 @@ lean_closure_set(x_18, 0, x_4); lean_closure_set(x_18, 1, x_12); lean_closure_set(x_18, 2, x_5); x_19 = 0; -x_20 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__15___rarg(x_15, x_19, x_17, x_18, x_6, x_7, x_8, x_9, x_16); +x_20 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_GeneralizeTelescope_generalizeTelescopeAux___spec__1___rarg(x_15, x_19, x_17, x_18, x_6, x_7, x_8, x_9, x_16); return x_20; } } @@ -17863,7 +17871,7 @@ x_10 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkBelowMatcher_newMot lean_closure_set(x_10, 0, x_1); lean_closure_set(x_10, 1, x_2); lean_closure_set(x_10, 2, x_3); -x_11 = l_Lean_Meta_lambdaTelescope___at_Lean_PrettyPrinter_Delaborator_returnsPi___spec__1___rarg(x_9, x_10, x_4, x_5, x_6, x_7, x_8); +x_11 = l_Lean_Meta_lambdaTelescope___at___private_Lean_Meta_Eqns_0__Lean_Meta_mkSimpleEqThm___spec__6___rarg(x_9, x_10, x_4, x_5, x_6, x_7, x_8); return x_11; } } @@ -17890,12 +17898,68 @@ lean_dec(x_1); return x_11; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_IndPredBelow_mkBelowMatcher___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_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_IndPredBelow_mkBelowMatcher___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_4) == 0) { -lean_object* x_10; lean_object* x_11; +lean_object* x_11; lean_object* x_12; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_11 = l_List_reverse___rarg(x_5); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_10); +return x_12; +} +else +{ +uint8_t x_13; +x_13 = !lean_is_exclusive(x_4); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_14 = lean_ctor_get(x_4, 0); +x_15 = lean_ctor_get(x_4, 1); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_1); +x_16 = l_Lean_Meta_IndPredBelow_mkBelowMatcher_addBelowPattern(x_1, x_2, x_3, x_14, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_16) == 0) +{ +lean_object* x_17; lean_object* x_18; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +lean_ctor_set(x_4, 1, x_5); +lean_ctor_set(x_4, 0, x_17); +{ +lean_object* _tmp_3 = x_15; +lean_object* _tmp_4 = x_4; +lean_object* _tmp_9 = x_18; +x_4 = _tmp_3; +x_5 = _tmp_4; +x_10 = _tmp_9; +} +goto _start; +} +else +{ +uint8_t x_20; +lean_free_object(x_4); +lean_dec(x_15); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -17903,206 +17967,63 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_10 = lean_box(0); -x_11 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_11, 0, x_10); -lean_ctor_set(x_11, 1, x_9); -return x_11; -} -else +x_20 = !lean_is_exclusive(x_16); +if (x_20 == 0) { -uint8_t x_12; -x_12 = !lean_is_exclusive(x_4); -if (x_12 == 0) -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_13 = lean_ctor_get(x_4, 0); -x_14 = lean_ctor_get(x_4, 1); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_15 = l_Lean_Meta_IndPredBelow_mkBelowMatcher_addBelowPattern(x_1, x_2, x_3, x_13, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_15) == 0) -{ -lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_16 = lean_ctor_get(x_15, 0); -lean_inc(x_16); -x_17 = lean_ctor_get(x_15, 1); -lean_inc(x_17); -lean_dec(x_15); -x_18 = l_List_mapM___at_Lean_Meta_IndPredBelow_mkBelowMatcher___spec__1(x_1, x_2, x_3, x_14, x_5, x_6, x_7, x_8, x_17); -if (lean_obj_tag(x_18) == 0) -{ -uint8_t x_19; -x_19 = !lean_is_exclusive(x_18); -if (x_19 == 0) -{ -lean_object* x_20; -x_20 = lean_ctor_get(x_18, 0); -lean_ctor_set(x_4, 1, x_20); -lean_ctor_set(x_4, 0, x_16); -lean_ctor_set(x_18, 0, x_4); -return x_18; +return x_16; } else { lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_21 = lean_ctor_get(x_18, 0); -x_22 = lean_ctor_get(x_18, 1); +x_21 = lean_ctor_get(x_16, 0); +x_22 = lean_ctor_get(x_16, 1); lean_inc(x_22); lean_inc(x_21); -lean_dec(x_18); -lean_ctor_set(x_4, 1, x_21); -lean_ctor_set(x_4, 0, x_16); -x_23 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_23, 0, x_4); +lean_dec(x_16); +x_23 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_23, 0, x_21); lean_ctor_set(x_23, 1, x_22); return x_23; } } -else -{ -uint8_t x_24; -lean_dec(x_16); -lean_free_object(x_4); -x_24 = !lean_is_exclusive(x_18); -if (x_24 == 0) -{ -return x_18; } else { -lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = lean_ctor_get(x_18, 0); -x_26 = lean_ctor_get(x_18, 1); -lean_inc(x_26); +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_4, 0); +x_25 = lean_ctor_get(x_4, 1); lean_inc(x_25); -lean_dec(x_18); -x_27 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_27, 0, x_25); -lean_ctor_set(x_27, 1, x_26); -return x_27; -} -} -} -else -{ -uint8_t x_28; -lean_free_object(x_4); -lean_dec(x_14); -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_28 = !lean_is_exclusive(x_15); -if (x_28 == 0) -{ -return x_15; -} -else -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_15, 0); -x_30 = lean_ctor_get(x_15, 1); -lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_15); -x_31 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_31, 0, x_29); -lean_ctor_set(x_31, 1, x_30); -return x_31; -} -} -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_4, 0); -x_33 = lean_ctor_get(x_4, 1); -lean_inc(x_33); -lean_inc(x_32); +lean_inc(x_24); lean_dec(x_4); +lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -lean_inc(x_5); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_34 = l_Lean_Meta_IndPredBelow_mkBelowMatcher_addBelowPattern(x_1, x_2, x_3, x_32, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_34) == 0) +x_26 = l_Lean_Meta_IndPredBelow_mkBelowMatcher_addBelowPattern(x_1, x_2, x_3, x_24, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_26) == 0) { -lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -x_36 = lean_ctor_get(x_34, 1); -lean_inc(x_36); -lean_dec(x_34); -x_37 = l_List_mapM___at_Lean_Meta_IndPredBelow_mkBelowMatcher___spec__1(x_1, x_2, x_3, x_33, x_5, x_6, x_7, x_8, x_36); -if (lean_obj_tag(x_37) == 0) -{ -lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_38 = lean_ctor_get(x_37, 0); -lean_inc(x_38); -x_39 = lean_ctor_get(x_37, 1); -lean_inc(x_39); -if (lean_is_exclusive(x_37)) { - lean_ctor_release(x_37, 0); - lean_ctor_release(x_37, 1); - x_40 = x_37; -} else { - lean_dec_ref(x_37); - x_40 = lean_box(0); -} -x_41 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_41, 0, x_35); -lean_ctor_set(x_41, 1, x_38); -if (lean_is_scalar(x_40)) { - x_42 = lean_alloc_ctor(0, 2, 0); -} else { - x_42 = x_40; -} -lean_ctor_set(x_42, 0, x_41); -lean_ctor_set(x_42, 1, x_39); -return x_42; +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_26, 0); +lean_inc(x_27); +x_28 = lean_ctor_get(x_26, 1); +lean_inc(x_28); +lean_dec(x_26); +x_29 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_29, 0, x_27); +lean_ctor_set(x_29, 1, x_5); +x_4 = x_25; +x_5 = x_29; +x_10 = x_28; +goto _start; } else { -lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; -lean_dec(x_35); -x_43 = lean_ctor_get(x_37, 0); -lean_inc(x_43); -x_44 = lean_ctor_get(x_37, 1); -lean_inc(x_44); -if (lean_is_exclusive(x_37)) { - lean_ctor_release(x_37, 0); - lean_ctor_release(x_37, 1); - x_45 = x_37; -} else { - lean_dec_ref(x_37); - x_45 = lean_box(0); -} -if (lean_is_scalar(x_45)) { - x_46 = lean_alloc_ctor(1, 2, 0); -} else { - x_46 = x_45; -} -lean_ctor_set(x_46, 0, x_43); -lean_ctor_set(x_46, 1, x_44); -return x_46; -} -} -else -{ -lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; -lean_dec(x_33); +lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; +lean_dec(x_25); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -18110,26 +18031,26 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_47 = lean_ctor_get(x_34, 0); -lean_inc(x_47); -x_48 = lean_ctor_get(x_34, 1); -lean_inc(x_48); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_49 = x_34; +x_31 = lean_ctor_get(x_26, 0); +lean_inc(x_31); +x_32 = lean_ctor_get(x_26, 1); +lean_inc(x_32); +if (lean_is_exclusive(x_26)) { + lean_ctor_release(x_26, 0); + lean_ctor_release(x_26, 1); + x_33 = x_26; } else { - lean_dec_ref(x_34); - x_49 = lean_box(0); + lean_dec_ref(x_26); + x_33 = lean_box(0); } -if (lean_is_scalar(x_49)) { - x_50 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_33)) { + x_34 = lean_alloc_ctor(1, 2, 0); } else { - x_50 = x_49; + x_34 = x_33; } -lean_ctor_set(x_50, 0, x_47); -lean_ctor_set(x_50, 1, x_48); -return x_50; +lean_ctor_set(x_34, 0, x_31); +lean_ctor_set(x_34, 1, x_32); +return x_34; } } } @@ -18620,7 +18541,7 @@ lean_closure_set(x_26, 0, x_23); lean_closure_set(x_26, 1, x_24); lean_closure_set(x_26, 2, x_6); lean_closure_set(x_26, 3, x_20); -x_27 = lean_alloc_closure((void*)(l_Lean_Meta_lambdaTelescope___at_Lean_PrettyPrinter_Delaborator_returnsPi___spec__1___rarg), 7, 2); +x_27 = lean_alloc_closure((void*)(l_Lean_Meta_lambdaTelescope___at___private_Lean_Meta_Eqns_0__Lean_Meta_mkSimpleEqThm___spec__6___rarg), 7, 2); lean_closure_set(x_27, 0, x_20); lean_closure_set(x_27, 1, x_26); lean_inc(x_12); @@ -19011,7 +18932,7 @@ lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_16); -x_23 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__15___rarg(x_19, x_22, x_16, x_21, x_6, x_7, x_8, x_9, x_20); +x_23 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_GeneralizeTelescope_generalizeTelescopeAux___spec__1___rarg(x_19, x_22, x_16, x_21, x_6, x_7, x_8, x_9, x_20); if (lean_obj_tag(x_23) == 0) { lean_object* x_24; lean_object* x_25; lean_object* x_26; @@ -19165,7 +19086,7 @@ lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_49); -x_56 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__15___rarg(x_52, x_55, x_49, x_54, x_6, x_7, x_8, x_9, x_53); +x_56 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_GeneralizeTelescope_generalizeTelescopeAux___spec__1___rarg(x_52, x_55, x_49, x_54, x_6, x_7, x_8, x_9, x_53); if (lean_obj_tag(x_56) == 0) { lean_object* x_57; lean_object* x_58; lean_object* x_59; @@ -19396,74 +19317,74 @@ lean_dec(x_18); x_23 = !lean_is_exclusive(x_20); if (x_23 == 0) { -lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; +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_20, 0); x_25 = lean_ctor_get(x_20, 1); x_26 = lean_ctor_get(x_11, 3); lean_inc(x_26); +x_27 = lean_box(0); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_26); -x_27 = l_List_mapM___at_Lean_Meta_IndPredBelow_mkBelowMatcher___spec__1(x_2, x_4, x_22, x_26, x_5, x_6, x_7, x_8, x_21); -if (lean_obj_tag(x_27) == 0) +x_28 = l_List_mapM_loop___at_Lean_Meta_IndPredBelow_mkBelowMatcher___spec__1(x_2, x_4, x_22, x_26, x_27, x_5, x_6, x_7, x_8, x_21); +if (lean_obj_tag(x_28) == 0) { -lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_28 = lean_ctor_get(x_27, 0); -lean_inc(x_28); -x_29 = lean_ctor_get(x_27, 1); +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_29 = lean_ctor_get(x_28, 0); lean_inc(x_29); -lean_dec(x_27); -lean_inc(x_28); -x_30 = l_List_zipWith___at_List_zip___spec__1___rarg(x_26, x_28); +x_30 = lean_ctor_get(x_28, 1); +lean_inc(x_30); +lean_dec(x_28); +lean_inc(x_29); +x_31 = l_List_zipWith___at_List_zip___spec__1___rarg(x_26, x_29); lean_dec(x_26); -x_31 = l_List_redLength___rarg(x_30); -x_32 = lean_mk_empty_array_with_capacity(x_31); -lean_dec(x_31); -x_33 = l_List_toArrayAux___rarg(x_30, x_32); -x_34 = lean_ctor_get(x_1, 7); -lean_inc(x_34); -x_35 = l_Array_zip___rarg(x_33, x_34); -lean_dec(x_34); -lean_dec(x_33); -x_36 = lean_array_get_size(x_35); -x_37 = lean_mk_empty_array_with_capacity(x_36); -x_38 = lean_unsigned_to_nat(0u); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -x_39 = l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkBelowMatcher___spec__3(x_1, x_11, x_28, x_35, x_36, x_38, lean_box(0), x_37, x_5, x_6, x_7, x_8, x_29); +x_32 = l_List_redLength___rarg(x_31); +x_33 = lean_mk_empty_array_with_capacity(x_32); +lean_dec(x_32); +x_34 = l_List_toArrayAux___rarg(x_31, x_33); +x_35 = lean_ctor_get(x_1, 7); +lean_inc(x_35); +x_36 = l_Array_zip___rarg(x_34, x_35); lean_dec(x_35); -if (lean_obj_tag(x_39) == 0) -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; -x_40 = lean_ctor_get(x_39, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_39, 1); -lean_inc(x_41); -lean_dec(x_39); -x_42 = lean_ctor_get(x_11, 0); -lean_inc(x_42); -lean_dec(x_11); -x_43 = l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(x_42, x_7, x_8, x_41); -x_44 = lean_ctor_get(x_43, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_43, 1); -lean_inc(x_45); -lean_dec(x_43); -x_46 = lean_box(0); -lean_inc(x_28); -x_47 = l_List_foldl___at_Lean_Meta_IndPredBelow_mkBelowMatcher___spec__4(x_46, x_28); -lean_inc(x_28); -x_48 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkBelowMatcher___lambda__3___boxed), 6, 1); -lean_closure_set(x_48, 0, x_28); +lean_dec(x_34); +x_37 = lean_array_get_size(x_36); +x_38 = lean_mk_empty_array_with_capacity(x_37); +x_39 = lean_unsigned_to_nat(0u); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -x_49 = l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__4___rarg(x_47, x_48, x_5, x_6, x_7, x_8, x_45); +x_40 = l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkBelowMatcher___spec__3(x_1, x_11, x_29, x_36, x_37, x_39, lean_box(0), x_38, x_5, x_6, x_7, x_8, x_30); +lean_dec(x_36); +if (lean_obj_tag(x_40) == 0) +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_41 = lean_ctor_get(x_40, 0); +lean_inc(x_41); +x_42 = lean_ctor_get(x_40, 1); +lean_inc(x_42); +lean_dec(x_40); +x_43 = lean_ctor_get(x_11, 0); +lean_inc(x_43); +lean_dec(x_11); +x_44 = l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(x_43, x_7, x_8, x_42); +x_45 = lean_ctor_get(x_44, 0); +lean_inc(x_45); +x_46 = lean_ctor_get(x_44, 1); +lean_inc(x_46); +lean_dec(x_44); +lean_inc(x_29); +x_47 = l_List_foldl___at_Lean_Meta_IndPredBelow_mkBelowMatcher___spec__4(x_27, x_29); +lean_inc(x_29); +x_48 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkBelowMatcher___lambda__3___boxed), 6, 1); +lean_closure_set(x_48, 0, x_29); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +x_49 = l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__4___rarg(x_47, x_48, x_5, x_6, x_7, x_8, x_46); if (lean_obj_tag(x_49) == 0) { lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; @@ -19476,10 +19397,10 @@ lean_dec(x_14); x_53 = lean_box(0); x_54 = lean_mk_array(x_52, x_53); x_55 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_55, 0, x_44); +lean_ctor_set(x_55, 0, x_45); lean_ctor_set(x_55, 1, x_25); lean_ctor_set(x_55, 2, x_54); -lean_ctor_set(x_55, 3, x_28); +lean_ctor_set(x_55, 3, x_29); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); @@ -19527,7 +19448,7 @@ lean_inc(x_67); lean_dec(x_1); x_68 = lean_array_push(x_67, x_3); x_69 = l_Lean_mkAppN(x_66, x_68); -x_70 = l_Lean_mkAppN(x_69, x_40); +x_70 = l_Lean_mkAppN(x_69, x_41); lean_ctor_set(x_20, 1, x_59); lean_ctor_set(x_20, 0, x_70); lean_ctor_set(x_63, 0, x_20); @@ -19545,7 +19466,7 @@ lean_inc(x_73); lean_dec(x_1); x_74 = lean_array_push(x_73, x_3); x_75 = l_Lean_mkAppN(x_72, x_74); -x_76 = l_Lean_mkAppN(x_75, x_40); +x_76 = l_Lean_mkAppN(x_75, x_41); lean_ctor_set(x_20, 1, x_59); lean_ctor_set(x_20, 0, x_76); x_77 = lean_alloc_ctor(0, 2, 0); @@ -19559,7 +19480,7 @@ else uint8_t x_78; lean_dec(x_62); lean_dec(x_59); -lean_dec(x_40); +lean_dec(x_41); lean_free_object(x_20); lean_dec(x_24); lean_dec(x_3); @@ -19589,7 +19510,7 @@ else uint8_t x_82; lean_dec(x_59); lean_dec(x_57); -lean_dec(x_40); +lean_dec(x_41); lean_free_object(x_20); lean_dec(x_24); lean_dec(x_8); @@ -19621,7 +19542,7 @@ return x_85; else { uint8_t x_86; -lean_dec(x_40); +lean_dec(x_41); lean_free_object(x_20); lean_dec(x_24); lean_dec(x_8); @@ -19653,9 +19574,9 @@ return x_89; else { uint8_t x_90; -lean_dec(x_44); -lean_dec(x_40); -lean_dec(x_28); +lean_dec(x_45); +lean_dec(x_41); +lean_dec(x_29); lean_free_object(x_20); lean_dec(x_25); lean_dec(x_24); @@ -19689,7 +19610,7 @@ return x_93; else { uint8_t x_94; -lean_dec(x_28); +lean_dec(x_29); lean_free_object(x_20); lean_dec(x_25); lean_dec(x_24); @@ -19701,19 +19622,19 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_3); lean_dec(x_1); -x_94 = !lean_is_exclusive(x_39); +x_94 = !lean_is_exclusive(x_40); if (x_94 == 0) { -return x_39; +return x_40; } else { lean_object* x_95; lean_object* x_96; lean_object* x_97; -x_95 = lean_ctor_get(x_39, 0); -x_96 = lean_ctor_get(x_39, 1); +x_95 = lean_ctor_get(x_40, 0); +x_96 = lean_ctor_get(x_40, 1); lean_inc(x_96); lean_inc(x_95); -lean_dec(x_39); +lean_dec(x_40); x_97 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_97, 0, x_95); lean_ctor_set(x_97, 1, x_96); @@ -19736,19 +19657,19 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_3); lean_dec(x_1); -x_98 = !lean_is_exclusive(x_27); +x_98 = !lean_is_exclusive(x_28); if (x_98 == 0) { -return x_27; +return x_28; } else { lean_object* x_99; lean_object* x_100; lean_object* x_101; -x_99 = lean_ctor_get(x_27, 0); -x_100 = lean_ctor_get(x_27, 1); +x_99 = lean_ctor_get(x_28, 0); +x_100 = lean_ctor_get(x_28, 1); lean_inc(x_100); lean_inc(x_99); -lean_dec(x_27); +lean_dec(x_28); x_101 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_101, 0, x_99); lean_ctor_set(x_101, 1, x_100); @@ -19758,7 +19679,7 @@ return x_101; } else { -lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; +lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; x_102 = lean_ctor_get(x_20, 0); x_103 = lean_ctor_get(x_20, 1); lean_inc(x_103); @@ -19766,69 +19687,69 @@ lean_inc(x_102); lean_dec(x_20); x_104 = lean_ctor_get(x_11, 3); lean_inc(x_104); +x_105 = lean_box(0); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_104); -x_105 = l_List_mapM___at_Lean_Meta_IndPredBelow_mkBelowMatcher___spec__1(x_2, x_4, x_22, x_104, x_5, x_6, x_7, x_8, x_21); -if (lean_obj_tag(x_105) == 0) +x_106 = l_List_mapM_loop___at_Lean_Meta_IndPredBelow_mkBelowMatcher___spec__1(x_2, x_4, x_22, x_104, x_105, x_5, x_6, x_7, x_8, x_21); +if (lean_obj_tag(x_106) == 0) { -lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; -x_106 = lean_ctor_get(x_105, 0); -lean_inc(x_106); -x_107 = lean_ctor_get(x_105, 1); +lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; +x_107 = lean_ctor_get(x_106, 0); lean_inc(x_107); -lean_dec(x_105); -lean_inc(x_106); -x_108 = l_List_zipWith___at_List_zip___spec__1___rarg(x_104, x_106); +x_108 = lean_ctor_get(x_106, 1); +lean_inc(x_108); +lean_dec(x_106); +lean_inc(x_107); +x_109 = l_List_zipWith___at_List_zip___spec__1___rarg(x_104, x_107); lean_dec(x_104); -x_109 = l_List_redLength___rarg(x_108); -x_110 = lean_mk_empty_array_with_capacity(x_109); -lean_dec(x_109); -x_111 = l_List_toArrayAux___rarg(x_108, x_110); -x_112 = lean_ctor_get(x_1, 7); -lean_inc(x_112); -x_113 = l_Array_zip___rarg(x_111, x_112); -lean_dec(x_112); -lean_dec(x_111); -x_114 = lean_array_get_size(x_113); -x_115 = lean_mk_empty_array_with_capacity(x_114); -x_116 = lean_unsigned_to_nat(0u); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -x_117 = l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkBelowMatcher___spec__3(x_1, x_11, x_106, x_113, x_114, x_116, lean_box(0), x_115, x_5, x_6, x_7, x_8, x_107); +x_110 = l_List_redLength___rarg(x_109); +x_111 = lean_mk_empty_array_with_capacity(x_110); +lean_dec(x_110); +x_112 = l_List_toArrayAux___rarg(x_109, x_111); +x_113 = lean_ctor_get(x_1, 7); +lean_inc(x_113); +x_114 = l_Array_zip___rarg(x_112, x_113); lean_dec(x_113); -if (lean_obj_tag(x_117) == 0) -{ -lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; -x_118 = lean_ctor_get(x_117, 0); -lean_inc(x_118); -x_119 = lean_ctor_get(x_117, 1); -lean_inc(x_119); -lean_dec(x_117); -x_120 = lean_ctor_get(x_11, 0); -lean_inc(x_120); -lean_dec(x_11); -x_121 = l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(x_120, x_7, x_8, x_119); -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_box(0); -lean_inc(x_106); -x_125 = l_List_foldl___at_Lean_Meta_IndPredBelow_mkBelowMatcher___spec__4(x_124, x_106); -lean_inc(x_106); -x_126 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkBelowMatcher___lambda__3___boxed), 6, 1); -lean_closure_set(x_126, 0, x_106); +lean_dec(x_112); +x_115 = lean_array_get_size(x_114); +x_116 = lean_mk_empty_array_with_capacity(x_115); +x_117 = lean_unsigned_to_nat(0u); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -x_127 = l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__4___rarg(x_125, x_126, x_5, x_6, x_7, x_8, x_123); +x_118 = l_Array_mapIdxM_map___at_Lean_Meta_IndPredBelow_mkBelowMatcher___spec__3(x_1, x_11, x_107, x_114, x_115, x_117, lean_box(0), x_116, x_5, x_6, x_7, x_8, x_108); +lean_dec(x_114); +if (lean_obj_tag(x_118) == 0) +{ +lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; +x_119 = lean_ctor_get(x_118, 0); +lean_inc(x_119); +x_120 = lean_ctor_get(x_118, 1); +lean_inc(x_120); +lean_dec(x_118); +x_121 = lean_ctor_get(x_11, 0); +lean_inc(x_121); +lean_dec(x_11); +x_122 = l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(x_121, x_7, x_8, x_120); +x_123 = lean_ctor_get(x_122, 0); +lean_inc(x_123); +x_124 = lean_ctor_get(x_122, 1); +lean_inc(x_124); +lean_dec(x_122); +lean_inc(x_107); +x_125 = l_List_foldl___at_Lean_Meta_IndPredBelow_mkBelowMatcher___spec__4(x_105, x_107); +lean_inc(x_107); +x_126 = lean_alloc_closure((void*)(l_Lean_Meta_IndPredBelow_mkBelowMatcher___lambda__3___boxed), 6, 1); +lean_closure_set(x_126, 0, x_107); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +x_127 = l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__4___rarg(x_125, x_126, x_5, x_6, x_7, x_8, x_124); if (lean_obj_tag(x_127) == 0) { lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; @@ -19841,10 +19762,10 @@ lean_dec(x_14); x_131 = lean_box(0); x_132 = lean_mk_array(x_130, x_131); x_133 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_133, 0, x_122); +lean_ctor_set(x_133, 0, x_123); lean_ctor_set(x_133, 1, x_103); lean_ctor_set(x_133, 2, x_132); -lean_ctor_set(x_133, 3, x_106); +lean_ctor_set(x_133, 3, x_107); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); @@ -19896,7 +19817,7 @@ lean_inc(x_145); lean_dec(x_1); x_146 = lean_array_push(x_145, x_3); x_147 = l_Lean_mkAppN(x_144, x_146); -x_148 = l_Lean_mkAppN(x_147, x_118); +x_148 = l_Lean_mkAppN(x_147, x_119); x_149 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_149, 0, x_148); lean_ctor_set(x_149, 1, x_137); @@ -19914,7 +19835,7 @@ else lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_dec(x_140); lean_dec(x_137); -lean_dec(x_118); +lean_dec(x_119); lean_dec(x_102); lean_dec(x_3); lean_dec(x_1); @@ -19945,7 +19866,7 @@ else lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_dec(x_137); lean_dec(x_135); -lean_dec(x_118); +lean_dec(x_119); lean_dec(x_102); lean_dec(x_8); lean_dec(x_7); @@ -19978,7 +19899,7 @@ return x_158; else { lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; -lean_dec(x_118); +lean_dec(x_119); lean_dec(x_102); lean_dec(x_8); lean_dec(x_7); @@ -20011,9 +19932,9 @@ return x_162; else { lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; -lean_dec(x_122); -lean_dec(x_118); -lean_dec(x_106); +lean_dec(x_123); +lean_dec(x_119); +lean_dec(x_107); lean_dec(x_103); lean_dec(x_102); lean_dec(x_14); @@ -20048,7 +19969,7 @@ return x_166; else { lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; -lean_dec(x_106); +lean_dec(x_107); lean_dec(x_103); lean_dec(x_102); lean_dec(x_14); @@ -20059,16 +19980,16 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_3); lean_dec(x_1); -x_167 = lean_ctor_get(x_117, 0); +x_167 = lean_ctor_get(x_118, 0); lean_inc(x_167); -x_168 = lean_ctor_get(x_117, 1); +x_168 = lean_ctor_get(x_118, 1); lean_inc(x_168); -if (lean_is_exclusive(x_117)) { - lean_ctor_release(x_117, 0); - lean_ctor_release(x_117, 1); - x_169 = x_117; +if (lean_is_exclusive(x_118)) { + lean_ctor_release(x_118, 0); + lean_ctor_release(x_118, 1); + x_169 = x_118; } else { - lean_dec_ref(x_117); + lean_dec_ref(x_118); x_169 = lean_box(0); } if (lean_is_scalar(x_169)) { @@ -20095,16 +20016,16 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_3); lean_dec(x_1); -x_171 = lean_ctor_get(x_105, 0); +x_171 = lean_ctor_get(x_106, 0); lean_inc(x_171); -x_172 = lean_ctor_get(x_105, 1); +x_172 = lean_ctor_get(x_106, 1); lean_inc(x_172); -if (lean_is_exclusive(x_105)) { - lean_ctor_release(x_105, 0); - lean_ctor_release(x_105, 1); - x_173 = x_105; +if (lean_is_exclusive(x_106)) { + lean_ctor_release(x_106, 0); + lean_ctor_release(x_106, 1); + x_173 = x_106; } else { - lean_dec_ref(x_105); + lean_dec_ref(x_106); x_173 = lean_box(0); } if (lean_is_scalar(x_173)) { @@ -20783,7 +20704,7 @@ x_21 = lean_ctor_get(x_18, 0); lean_inc(x_21); lean_dec(x_18); x_22 = lean_unsigned_to_nat(0u); -x_23 = l_Array_indexOfAux___at_Lean_Meta_getElimInfo___spec__1(x_1, x_3, x_22); +x_23 = l_Array_indexOfAux___at___private_Lean_Meta_FunInfo_0__Lean_Meta_collectDeps_visit___spec__1(x_1, x_3, x_22); if (lean_obj_tag(x_23) == 0) { lean_object* x_24; lean_object* x_25; @@ -21636,7 +21557,7 @@ lean_object* x_12; lean_object* x_13; x_12 = lean_ctor_get(x_11, 0); lean_inc(x_12); lean_dec(x_11); -x_13 = l_Lean_throwKernelException___at_Lean_Meta_evalExprCore___spec__3(x_12, x_2, x_3, x_4, x_5, x_9); +x_13 = l_Lean_throwKernelException___at_Lean_Meta_mkAuxLemma___spec__5(x_12, x_2, x_3, x_4, x_5, x_9); return x_13; } else @@ -23760,7 +23681,7 @@ lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); -x_49 = l_Lean_addDecl___at_Lean_Meta_evalExprCore___spec__2(x_47, x_2, x_3, x_4, x_5, x_48); +x_49 = l_Lean_addDecl___at_Lean_Meta_mkAuxLemma___spec__4(x_47, x_2, x_3, x_4, x_5, x_48); if (lean_obj_tag(x_49) == 0) { lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; uint8_t x_54; @@ -24097,10 +24018,7 @@ return x_11; } lean_object* initialize_Init(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Constructions(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Transform(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Tactic(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Match_Match(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Reduce(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Meta_IndPredBelow(uint8_t builtin, lean_object* w) { lean_object * res; @@ -24112,18 +24030,9 @@ lean_dec_ref(res); res = initialize_Lean_Meta_Constructions(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_Transform(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Meta_Tactic(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Meta_Match_Match(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_Reduce(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); l_Lean_Meta_IndPredBelow_initFn____x40_Lean_Meta_IndPredBelow___hyg_7____closed__1 = _init_l_Lean_Meta_IndPredBelow_initFn____x40_Lean_Meta_IndPredBelow___hyg_7____closed__1(); lean_mark_persistent(l_Lean_Meta_IndPredBelow_initFn____x40_Lean_Meta_IndPredBelow___hyg_7____closed__1); l_Lean_Meta_IndPredBelow_initFn____x40_Lean_Meta_IndPredBelow___hyg_7____closed__2 = _init_l_Lean_Meta_IndPredBelow_initFn____x40_Lean_Meta_IndPredBelow___hyg_7____closed__2(); diff --git a/stage0/stdlib/Lean/Meta/Instances.c b/stage0/stdlib/Lean/Meta/Instances.c index 835c1330f3..c7119c76c5 100644 --- a/stage0/stdlib/Lean/Meta/Instances.c +++ b/stage0/stdlib/Lean/Meta/Instances.c @@ -1861,7 +1861,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Meta_DiscrTree_insertCore___at_Lean_Meta_addInstanceEntry___spec__1___closed__5; x_2 = l_Lean_Meta_DiscrTree_insertCore___at_Lean_Meta_addInstanceEntry___spec__1___closed__6; -x_3 = lean_unsigned_to_nat(353u); +x_3 = lean_unsigned_to_nat(350u); x_4 = lean_unsigned_to_nat(23u); x_5 = l_Lean_Meta_DiscrTree_insertCore___at_Lean_Meta_addInstanceEntry___spec__1___closed__7; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Meta/Match/Basic.c b/stage0/stdlib/Lean/Meta/Match/Basic.c index 45858d11f7..be95054ed4 100644 --- a/stage0/stdlib/Lean/Meta/Match/Basic.c +++ b/stage0/stdlib/Lean/Meta/Match/Basic.c @@ -17,8 +17,6 @@ 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_EXPORT lean_object* l_Lean_Meta_Match_Example_applyFVarSubst(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_Pattern_toExpr_visit___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_add(size_t, size_t); lean_object* l_Lean_Meta_addPPExplicitToExposeDiff(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__7; @@ -29,10 +27,11 @@ lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_Pattern_hasExprMVar___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_Pattern_collectFVars___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__2(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Meta_Match_Alt_toMessageData___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Meta_Match_Example_applyFVarSubst___spec__1___boxed(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_instantiatePatternMVars___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_uget(lean_object*, size_t); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_toPattern___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__13; LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Meta_Match_Alt_replaceFVarId___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_mkNamedPattern___closed__3; @@ -49,9 +48,11 @@ lean_object* lean_environment_find(lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__4; lean_object* lean_st_ref_get(lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_Example_toMessageData___closed__5; static lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__12; LEAN_EXPORT lean_object* l_Lean_Meta_Match_instInhabitedAlt; +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_instantiatePatternMVars___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkNamedPattern(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forM___at_Lean_Meta_Match_AltLHS_collectFVars___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_Example_toMessageData(lean_object*); @@ -65,9 +66,8 @@ lean_object* l_Lean_MVarId_withContext___at___private_Lean_Meta_SynthInstance_0_ lean_object* l_Std_AssocList_find_x3f___at_Lean_Meta_FVarSubst_find_x3f___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forM___at_Lean_Meta_Match_AltLHS_collectFVars___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Match_toPattern___spec__2(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_Example_replaceFVarId___boxed(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__2(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__3(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MessageData_joinSep(lean_object*, lean_object*); lean_object* l_Lean_Expr_getRevArg_x21(lean_object*, lean_object*); @@ -80,10 +80,11 @@ lean_object* lean_nat_add(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_List_foldr___at_Lean_Meta_Match_Alt_isLocalDecl___spec__1(lean_object*, uint8_t, lean_object*); lean_object* l_Lean_mkAppN(lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_toPattern___closed__5; +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__18; LEAN_EXPORT lean_object* l_Lean_Meta_Match_Pattern_toExpr___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__15; -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_AltLHS_collectFVars___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_toPattern___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -101,17 +102,17 @@ lean_object* lean_nat_sub(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_Pattern_toExpr_visit(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__3___closed__4; LEAN_EXPORT lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Meta_Match_toPattern___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_CollectFVars_State_add(lean_object*, lean_object*); static lean_object* l_List_mapTRAux___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__1; lean_object* l_Lean_Meta_FVarSubst_apply(lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_instInhabitedProblem___closed__1; +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__11; -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_hasExprMVar(lean_object*); LEAN_EXPORT lean_object* l_List_forM___at_Lean_Meta_Match_Pattern_collectFVars___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_replaceRef(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_Problem_toMessageData___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldl___at_Lean_Meta_Match_Example_toMessageData___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_fvarId_x21(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_Pattern_collectFVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -120,13 +121,12 @@ lean_object* l_Lean_inaccessible_x3f(lean_object*); static lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__3___closed__2; LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Meta_Match_counterExamplesToMessageData___spec__1(lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__9; +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_toPattern___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_isNamedPattern_x3f(lean_object*); static lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__4; -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__8; -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkArrayLit(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__17; LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Meta_Match_Alt_checkAndReplaceFVarId___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -137,7 +137,6 @@ lean_object* l_Lean_Expr_sort___override(lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Meta_Match_Alt_replaceFVarId___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Meta_Match_Alt_checkAndReplaceFVarId___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_to_list(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forM___at_Lean_Meta_Match_Pattern_collectFVars___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_mapTRAux___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__2; @@ -153,6 +152,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_Match_Alt_toMessageData___lambda__1___boxed lean_object* l_Lean_LocalDecl_toExpr(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_instantiateAltLHSMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isConstOf(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_Problem_toMessageData___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_mkNamedPattern___closed__2; LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Meta_Match_Example_replaceFVarId___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_consumeMData(lean_object*); @@ -165,6 +165,7 @@ static lean_object* l_Lean_Meta_Match_toPattern___closed__2; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Match_toPattern___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_of_nat(lean_object*); static lean_object* l_Lean_Meta_Match_toPattern___closed__1; +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__3___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_Match_counterExampleToMessageData(lean_object*); lean_object* l_Lean_Expr_replaceFVarId(lean_object*, lean_object*, lean_object*); @@ -182,9 +183,9 @@ lean_object* l_Lean_Meta_FVarSubst_get(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2(uint8_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__1___boxed(lean_object*, lean_object*); lean_object* l_Lean_Expr_fvar___override(lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_Example_applyFVarSubst___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__2; -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_redLength___rarg(lean_object*); static lean_object* l_Lean_Meta_Match_toPattern___closed__3; lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); @@ -229,7 +230,6 @@ static lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__6; lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Meta_Match_Alt_replaceFVarId___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_arrayLit_x3f(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_withGoalOf___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -238,7 +238,6 @@ LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Meta_Match_Pattern_toMessageD LEAN_EXPORT lean_object* l_Lean_Meta_Match_Alt_isLocalDecl___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Meta_Match_Alt_toMessageData___spec__1(lean_object*, lean_object*); lean_object* lean_mk_array(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_filterTRAux___at_Lean_Meta_Match_Alt_replaceFVarId___spec__1___boxed(lean_object*, lean_object*, lean_object*); @@ -251,6 +250,7 @@ LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Meta_Match_Example_toMessageD static lean_object* l_Lean_Meta_Match_Example_toMessageData___closed__6; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Meta_Match_Alt_checkAndReplaceFVarId___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__3___closed__3; +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_getAppFn(lean_object*); static lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__14; static lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__1; @@ -798,461 +798,287 @@ return x_46; } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__1(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__1(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { if (lean_obj_tag(x_2) == 0) { -lean_object* x_8; lean_object* x_9; +lean_object* x_9; lean_object* x_10; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +x_9 = l_List_reverse___rarg(x_3); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_9); +lean_ctor_set(x_10, 1, x_8); +return x_10; +} +else +{ +uint8_t x_11; +x_11 = !lean_is_exclusive(x_2); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_2, 0); +x_13 = lean_ctor_get(x_2, 1); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_14 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_1, 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; +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); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_15); +{ +lean_object* _tmp_1 = x_13; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_7 = x_16; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_8 = _tmp_7; +} +goto _start; +} +else +{ +uint8_t x_18; +lean_free_object(x_2); +lean_dec(x_13); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_8 = lean_box(0); -x_9 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_9, 0, x_8); -lean_ctor_set(x_9, 1, x_7); -return x_9; -} -else +x_18 = !lean_is_exclusive(x_14); +if (x_18 == 0) { -uint8_t x_10; -x_10 = !lean_is_exclusive(x_2); -if (x_10 == 0) -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_11 = lean_ctor_get(x_2, 0); -x_12 = lean_ctor_get(x_2, 1); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -x_13 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_1, x_11, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_13) == 0) -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_14 = lean_ctor_get(x_13, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_13, 1); -lean_inc(x_15); -lean_dec(x_13); -x_16 = l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__1(x_1, x_12, x_3, x_4, x_5, x_6, x_15); -if (lean_obj_tag(x_16) == 0) -{ -uint8_t x_17; -x_17 = !lean_is_exclusive(x_16); -if (x_17 == 0) -{ -lean_object* x_18; -x_18 = lean_ctor_get(x_16, 0); -lean_ctor_set(x_2, 1, x_18); -lean_ctor_set(x_2, 0, x_14); -lean_ctor_set(x_16, 0, x_2); -return x_16; +return x_14; } else { lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_19 = lean_ctor_get(x_16, 0); -x_20 = lean_ctor_get(x_16, 1); +x_19 = lean_ctor_get(x_14, 0); +x_20 = lean_ctor_get(x_14, 1); lean_inc(x_20); lean_inc(x_19); -lean_dec(x_16); -lean_ctor_set(x_2, 1, x_19); -lean_ctor_set(x_2, 0, x_14); -x_21 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_21, 0, x_2); +lean_dec(x_14); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); lean_ctor_set(x_21, 1, x_20); return x_21; } } -else -{ -uint8_t x_22; -lean_dec(x_14); -lean_free_object(x_2); -x_22 = !lean_is_exclusive(x_16); -if (x_22 == 0) -{ -return x_16; } else { -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_16, 0); -x_24 = lean_ctor_get(x_16, 1); -lean_inc(x_24); +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_2, 0); +x_23 = lean_ctor_get(x_2, 1); lean_inc(x_23); -lean_dec(x_16); -x_25 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_25, 0, x_23); -lean_ctor_set(x_25, 1, x_24); -return x_25; -} -} -} -else -{ -uint8_t x_26; -lean_free_object(x_2); -lean_dec(x_12); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_26 = !lean_is_exclusive(x_13); -if (x_26 == 0) -{ -return x_13; -} -else -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_27 = lean_ctor_get(x_13, 0); -x_28 = lean_ctor_get(x_13, 1); -lean_inc(x_28); -lean_inc(x_27); -lean_dec(x_13); -x_29 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_29, 0, x_27); -lean_ctor_set(x_29, 1, x_28); -return x_29; -} -} -} -else -{ -lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_30 = lean_ctor_get(x_2, 0); -x_31 = lean_ctor_get(x_2, 1); -lean_inc(x_31); -lean_inc(x_30); +lean_inc(x_22); lean_dec(x_2); +lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); -x_32 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_1, x_30, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_32) == 0) +x_24 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_1, x_22, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_24) == 0) { -lean_object* x_33; lean_object* x_34; lean_object* x_35; -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_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__1(x_1, x_31, x_3, x_4, x_5, x_6, x_34); -if (lean_obj_tag(x_35) == 0) -{ -lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_36 = lean_ctor_get(x_35, 0); -lean_inc(x_36); -x_37 = lean_ctor_get(x_35, 1); -lean_inc(x_37); -if (lean_is_exclusive(x_35)) { - lean_ctor_release(x_35, 0); - lean_ctor_release(x_35, 1); - x_38 = x_35; -} else { - lean_dec_ref(x_35); - x_38 = lean_box(0); -} -x_39 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_39, 0, x_33); -lean_ctor_set(x_39, 1, x_36); -if (lean_is_scalar(x_38)) { - x_40 = lean_alloc_ctor(0, 2, 0); -} else { - x_40 = x_38; -} -lean_ctor_set(x_40, 0, x_39); -lean_ctor_set(x_40, 1, x_37); -return x_40; +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); +x_27 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_27, 0, x_25); +lean_ctor_set(x_27, 1, x_3); +x_2 = x_23; +x_3 = x_27; +x_8 = x_26; +goto _start; } else { -lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; -lean_dec(x_33); -x_41 = lean_ctor_get(x_35, 0); -lean_inc(x_41); -x_42 = lean_ctor_get(x_35, 1); -lean_inc(x_42); -if (lean_is_exclusive(x_35)) { - lean_ctor_release(x_35, 0); - lean_ctor_release(x_35, 1); - x_43 = x_35; -} else { - lean_dec_ref(x_35); - x_43 = lean_box(0); -} -if (lean_is_scalar(x_43)) { - x_44 = lean_alloc_ctor(1, 2, 0); -} else { - x_44 = x_43; -} -lean_ctor_set(x_44, 0, x_41); -lean_ctor_set(x_44, 1, x_42); -return x_44; -} -} -else -{ -lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; -lean_dec(x_31); +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +lean_dec(x_23); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_45 = lean_ctor_get(x_32, 0); -lean_inc(x_45); -x_46 = lean_ctor_get(x_32, 1); -lean_inc(x_46); -if (lean_is_exclusive(x_32)) { - lean_ctor_release(x_32, 0); - lean_ctor_release(x_32, 1); - x_47 = x_32; +x_29 = lean_ctor_get(x_24, 0); +lean_inc(x_29); +x_30 = lean_ctor_get(x_24, 1); +lean_inc(x_30); +if (lean_is_exclusive(x_24)) { + lean_ctor_release(x_24, 0); + lean_ctor_release(x_24, 1); + x_31 = x_24; } else { - lean_dec_ref(x_32); - x_47 = lean_box(0); + lean_dec_ref(x_24); + x_31 = lean_box(0); } -if (lean_is_scalar(x_47)) { - x_48 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_31)) { + x_32 = lean_alloc_ctor(1, 2, 0); } else { - x_48 = x_47; + x_32 = x_31; } -lean_ctor_set(x_48, 0, x_45); -lean_ctor_set(x_48, 1, x_46); -return x_48; +lean_ctor_set(x_32, 0, x_29); +lean_ctor_set(x_32, 1, x_30); +return x_32; } } } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__2(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__2(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { if (lean_obj_tag(x_2) == 0) { -lean_object* x_8; lean_object* x_9; +lean_object* x_9; lean_object* x_10; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +x_9 = l_List_reverse___rarg(x_3); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_9); +lean_ctor_set(x_10, 1, x_8); +return x_10; +} +else +{ +uint8_t x_11; +x_11 = !lean_is_exclusive(x_2); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_2, 0); +x_13 = lean_ctor_get(x_2, 1); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_14 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_1, 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; +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); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_15); +{ +lean_object* _tmp_1 = x_13; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_7 = x_16; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_8 = _tmp_7; +} +goto _start; +} +else +{ +uint8_t x_18; +lean_free_object(x_2); +lean_dec(x_13); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_8 = lean_box(0); -x_9 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_9, 0, x_8); -lean_ctor_set(x_9, 1, x_7); -return x_9; -} -else +x_18 = !lean_is_exclusive(x_14); +if (x_18 == 0) { -uint8_t x_10; -x_10 = !lean_is_exclusive(x_2); -if (x_10 == 0) -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_11 = lean_ctor_get(x_2, 0); -x_12 = lean_ctor_get(x_2, 1); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -x_13 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_1, x_11, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_13) == 0) -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_14 = lean_ctor_get(x_13, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_13, 1); -lean_inc(x_15); -lean_dec(x_13); -x_16 = l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__2(x_1, x_12, x_3, x_4, x_5, x_6, x_15); -if (lean_obj_tag(x_16) == 0) -{ -uint8_t x_17; -x_17 = !lean_is_exclusive(x_16); -if (x_17 == 0) -{ -lean_object* x_18; -x_18 = lean_ctor_get(x_16, 0); -lean_ctor_set(x_2, 1, x_18); -lean_ctor_set(x_2, 0, x_14); -lean_ctor_set(x_16, 0, x_2); -return x_16; +return x_14; } else { lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_19 = lean_ctor_get(x_16, 0); -x_20 = lean_ctor_get(x_16, 1); +x_19 = lean_ctor_get(x_14, 0); +x_20 = lean_ctor_get(x_14, 1); lean_inc(x_20); lean_inc(x_19); -lean_dec(x_16); -lean_ctor_set(x_2, 1, x_19); -lean_ctor_set(x_2, 0, x_14); -x_21 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_21, 0, x_2); +lean_dec(x_14); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); lean_ctor_set(x_21, 1, x_20); return x_21; } } -else -{ -uint8_t x_22; -lean_dec(x_14); -lean_free_object(x_2); -x_22 = !lean_is_exclusive(x_16); -if (x_22 == 0) -{ -return x_16; } else { -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_16, 0); -x_24 = lean_ctor_get(x_16, 1); -lean_inc(x_24); +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_2, 0); +x_23 = lean_ctor_get(x_2, 1); lean_inc(x_23); -lean_dec(x_16); -x_25 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_25, 0, x_23); -lean_ctor_set(x_25, 1, x_24); -return x_25; -} -} -} -else -{ -uint8_t x_26; -lean_free_object(x_2); -lean_dec(x_12); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_26 = !lean_is_exclusive(x_13); -if (x_26 == 0) -{ -return x_13; -} -else -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_27 = lean_ctor_get(x_13, 0); -x_28 = lean_ctor_get(x_13, 1); -lean_inc(x_28); -lean_inc(x_27); -lean_dec(x_13); -x_29 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_29, 0, x_27); -lean_ctor_set(x_29, 1, x_28); -return x_29; -} -} -} -else -{ -lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_30 = lean_ctor_get(x_2, 0); -x_31 = lean_ctor_get(x_2, 1); -lean_inc(x_31); -lean_inc(x_30); +lean_inc(x_22); lean_dec(x_2); +lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); -x_32 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_1, x_30, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_32) == 0) +x_24 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_1, x_22, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_24) == 0) { -lean_object* x_33; lean_object* x_34; lean_object* x_35; -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_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__2(x_1, x_31, x_3, x_4, x_5, x_6, x_34); -if (lean_obj_tag(x_35) == 0) -{ -lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_36 = lean_ctor_get(x_35, 0); -lean_inc(x_36); -x_37 = lean_ctor_get(x_35, 1); -lean_inc(x_37); -if (lean_is_exclusive(x_35)) { - lean_ctor_release(x_35, 0); - lean_ctor_release(x_35, 1); - x_38 = x_35; -} else { - lean_dec_ref(x_35); - x_38 = lean_box(0); -} -x_39 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_39, 0, x_33); -lean_ctor_set(x_39, 1, x_36); -if (lean_is_scalar(x_38)) { - x_40 = lean_alloc_ctor(0, 2, 0); -} else { - x_40 = x_38; -} -lean_ctor_set(x_40, 0, x_39); -lean_ctor_set(x_40, 1, x_37); -return x_40; +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); +x_27 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_27, 0, x_25); +lean_ctor_set(x_27, 1, x_3); +x_2 = x_23; +x_3 = x_27; +x_8 = x_26; +goto _start; } else { -lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; -lean_dec(x_33); -x_41 = lean_ctor_get(x_35, 0); -lean_inc(x_41); -x_42 = lean_ctor_get(x_35, 1); -lean_inc(x_42); -if (lean_is_exclusive(x_35)) { - lean_ctor_release(x_35, 0); - lean_ctor_release(x_35, 1); - x_43 = x_35; -} else { - lean_dec_ref(x_35); - x_43 = lean_box(0); -} -if (lean_is_scalar(x_43)) { - x_44 = lean_alloc_ctor(1, 2, 0); -} else { - x_44 = x_43; -} -lean_ctor_set(x_44, 0, x_41); -lean_ctor_set(x_44, 1, x_42); -return x_44; -} -} -else -{ -lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; -lean_dec(x_31); +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +lean_dec(x_23); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_45 = lean_ctor_get(x_32, 0); -lean_inc(x_45); -x_46 = lean_ctor_get(x_32, 1); -lean_inc(x_46); -if (lean_is_exclusive(x_32)) { - lean_ctor_release(x_32, 0); - lean_ctor_release(x_32, 1); - x_47 = x_32; +x_29 = lean_ctor_get(x_24, 0); +lean_inc(x_29); +x_30 = lean_ctor_get(x_24, 1); +lean_inc(x_30); +if (lean_is_exclusive(x_24)) { + lean_ctor_release(x_24, 0); + lean_ctor_release(x_24, 1); + x_31 = x_24; } else { - lean_dec_ref(x_32); - x_47 = lean_box(0); + lean_dec_ref(x_24); + x_31 = lean_box(0); } -if (lean_is_scalar(x_47)) { - x_48 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_31)) { + x_32 = lean_alloc_ctor(1, 2, 0); } else { - x_48 = x_47; + x_32 = x_31; } -lean_ctor_set(x_48, 0, x_45); -lean_ctor_set(x_48, 1, x_46); -return x_48; +lean_ctor_set(x_32, 0, x_29); +lean_ctor_set(x_32, 1, x_30); +return x_32; } } } @@ -1310,7 +1136,7 @@ return x_15; } case 2: { -lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; x_16 = lean_ctor_get(x_2, 0); lean_inc(x_16); x_17 = lean_ctor_get(x_2, 1); @@ -1320,136 +1146,138 @@ lean_inc(x_18); x_19 = lean_ctor_get(x_2, 3); lean_inc(x_19); lean_dec(x_2); -x_20 = l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__1(x_1, x_19, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_20) == 0) +x_20 = lean_box(0); +x_21 = l_List_mapM_loop___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__1(x_1, x_19, x_20, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_21) == 0) { -uint8_t x_21; -x_21 = !lean_is_exclusive(x_20); -if (x_21 == 0) +uint8_t x_22; +x_22 = !lean_is_exclusive(x_21); +if (x_22 == 0) { -lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_22 = lean_ctor_get(x_20, 0); -x_23 = l_Lean_Expr_const___override(x_16, x_17); -x_24 = l_List_appendTR___rarg(x_18, x_22); -x_25 = l_List_redLength___rarg(x_24); -x_26 = lean_mk_empty_array_with_capacity(x_25); -lean_dec(x_25); -x_27 = l_List_toArrayAux___rarg(x_24, x_26); -x_28 = l_Lean_mkAppN(x_23, x_27); -lean_ctor_set(x_20, 0, x_28); -return x_20; +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_23 = lean_ctor_get(x_21, 0); +x_24 = l_Lean_Expr_const___override(x_16, x_17); +x_25 = l_List_appendTR___rarg(x_18, x_23); +x_26 = l_List_redLength___rarg(x_25); +x_27 = lean_mk_empty_array_with_capacity(x_26); +lean_dec(x_26); +x_28 = l_List_toArrayAux___rarg(x_25, x_27); +x_29 = l_Lean_mkAppN(x_24, x_28); +lean_ctor_set(x_21, 0, x_29); +return x_21; } else { -lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_29 = lean_ctor_get(x_20, 0); -x_30 = lean_ctor_get(x_20, 1); +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_30 = lean_ctor_get(x_21, 0); +x_31 = lean_ctor_get(x_21, 1); +lean_inc(x_31); lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_20); -x_31 = l_Lean_Expr_const___override(x_16, x_17); -x_32 = l_List_appendTR___rarg(x_18, x_29); -x_33 = l_List_redLength___rarg(x_32); -x_34 = lean_mk_empty_array_with_capacity(x_33); -lean_dec(x_33); -x_35 = l_List_toArrayAux___rarg(x_32, x_34); -x_36 = l_Lean_mkAppN(x_31, x_35); -x_37 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_37, 0, x_36); -lean_ctor_set(x_37, 1, x_30); -return x_37; +lean_dec(x_21); +x_32 = l_Lean_Expr_const___override(x_16, x_17); +x_33 = l_List_appendTR___rarg(x_18, x_30); +x_34 = l_List_redLength___rarg(x_33); +x_35 = lean_mk_empty_array_with_capacity(x_34); +lean_dec(x_34); +x_36 = l_List_toArrayAux___rarg(x_33, x_35); +x_37 = l_Lean_mkAppN(x_32, x_36); +x_38 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_38, 0, x_37); +lean_ctor_set(x_38, 1, x_31); +return x_38; } } else { -uint8_t x_38; +uint8_t x_39; lean_dec(x_18); lean_dec(x_17); lean_dec(x_16); -x_38 = !lean_is_exclusive(x_20); -if (x_38 == 0) +x_39 = !lean_is_exclusive(x_21); +if (x_39 == 0) { -return x_20; +return x_21; } else { -lean_object* x_39; lean_object* x_40; lean_object* x_41; -x_39 = lean_ctor_get(x_20, 0); -x_40 = lean_ctor_get(x_20, 1); +lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_40 = lean_ctor_get(x_21, 0); +x_41 = lean_ctor_get(x_21, 1); +lean_inc(x_41); lean_inc(x_40); -lean_inc(x_39); -lean_dec(x_20); -x_41 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_41, 0, x_39); -lean_ctor_set(x_41, 1, x_40); -return x_41; +lean_dec(x_21); +x_42 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_42, 0, x_40); +lean_ctor_set(x_42, 1, x_41); +return x_42; } } } case 3: { -lean_object* x_42; lean_object* x_43; +lean_object* x_43; lean_object* x_44; lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_42 = lean_ctor_get(x_2, 0); -lean_inc(x_42); +x_43 = lean_ctor_get(x_2, 0); +lean_inc(x_43); lean_dec(x_2); -x_43 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_43, 0, x_42); -lean_ctor_set(x_43, 1, x_7); -return x_43; +x_44 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_44, 0, x_43); +lean_ctor_set(x_44, 1, x_7); +return x_44; } case 4: { -lean_object* x_44; lean_object* x_45; lean_object* x_46; -x_44 = lean_ctor_get(x_2, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_2, 1); +lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_45 = lean_ctor_get(x_2, 0); lean_inc(x_45); +x_46 = lean_ctor_get(x_2, 1); +lean_inc(x_46); lean_dec(x_2); +x_47 = lean_box(0); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -x_46 = l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__2(x_1, x_45, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_46) == 0) +x_48 = l_List_mapM_loop___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__2(x_1, x_46, x_47, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_48) == 0) { -lean_object* x_47; lean_object* x_48; lean_object* x_49; -x_47 = lean_ctor_get(x_46, 0); -lean_inc(x_47); -x_48 = lean_ctor_get(x_46, 1); -lean_inc(x_48); -lean_dec(x_46); -x_49 = l_Lean_Meta_mkArrayLit(x_44, x_47, x_3, x_4, x_5, x_6, x_48); -return x_49; +lean_object* x_49; lean_object* x_50; lean_object* x_51; +x_49 = lean_ctor_get(x_48, 0); +lean_inc(x_49); +x_50 = lean_ctor_get(x_48, 1); +lean_inc(x_50); +lean_dec(x_48); +x_51 = l_Lean_Meta_mkArrayLit(x_45, x_49, x_3, x_4, x_5, x_6, x_50); +return x_51; } else { -uint8_t x_50; -lean_dec(x_44); +uint8_t x_52; +lean_dec(x_45); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_50 = !lean_is_exclusive(x_46); -if (x_50 == 0) +x_52 = !lean_is_exclusive(x_48); +if (x_52 == 0) { -return x_46; +return x_48; } else { -lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_51 = lean_ctor_get(x_46, 0); -x_52 = lean_ctor_get(x_46, 1); -lean_inc(x_52); -lean_inc(x_51); -lean_dec(x_46); -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; +lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_53 = lean_ctor_get(x_48, 0); +x_54 = lean_ctor_get(x_48, 1); +lean_inc(x_54); +lean_inc(x_53); +lean_dec(x_48); +x_55 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_55, 0, x_53); +lean_ctor_set(x_55, 1, x_54); +return x_55; } } } @@ -1457,67 +1285,67 @@ default: { if (x_1 == 0) { -lean_object* x_54; -x_54 = lean_ctor_get(x_2, 1); -lean_inc(x_54); +lean_object* x_56; +x_56 = lean_ctor_get(x_2, 1); +lean_inc(x_56); lean_dec(x_2); -x_2 = x_54; +x_2 = x_56; goto _start; } else { -lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; -x_56 = lean_ctor_get(x_2, 0); -lean_inc(x_56); -x_57 = lean_ctor_get(x_2, 1); -lean_inc(x_57); -x_58 = lean_ctor_get(x_2, 2); +lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; +x_58 = lean_ctor_get(x_2, 0); lean_inc(x_58); +x_59 = lean_ctor_get(x_2, 1); +lean_inc(x_59); +x_60 = lean_ctor_get(x_2, 2); +lean_inc(x_60); lean_dec(x_2); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -x_59 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_1, x_57, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_59) == 0) +x_61 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_1, x_59, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_61) == 0) { -lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; -x_60 = lean_ctor_get(x_59, 0); -lean_inc(x_60); -x_61 = lean_ctor_get(x_59, 1); -lean_inc(x_61); -lean_dec(x_59); -x_62 = l_Lean_Expr_fvar___override(x_56); -x_63 = l_Lean_Expr_fvar___override(x_58); -x_64 = l_Lean_Meta_Match_mkNamedPattern(x_62, x_63, x_60, x_3, x_4, x_5, x_6, x_61); -return x_64; +lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; +x_62 = lean_ctor_get(x_61, 0); +lean_inc(x_62); +x_63 = lean_ctor_get(x_61, 1); +lean_inc(x_63); +lean_dec(x_61); +x_64 = l_Lean_Expr_fvar___override(x_58); +x_65 = l_Lean_Expr_fvar___override(x_60); +x_66 = l_Lean_Meta_Match_mkNamedPattern(x_64, x_65, x_62, x_3, x_4, x_5, x_6, x_63); +return x_66; } else { -uint8_t x_65; +uint8_t x_67; +lean_dec(x_60); lean_dec(x_58); -lean_dec(x_56); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_65 = !lean_is_exclusive(x_59); -if (x_65 == 0) +x_67 = !lean_is_exclusive(x_61); +if (x_67 == 0) { -return x_59; +return x_61; } else { -lean_object* x_66; lean_object* x_67; lean_object* x_68; -x_66 = lean_ctor_get(x_59, 0); -x_67 = lean_ctor_get(x_59, 1); -lean_inc(x_67); -lean_inc(x_66); -lean_dec(x_59); -x_68 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_68, 0, x_66); -lean_ctor_set(x_68, 1, x_67); -return x_68; +lean_object* x_68; lean_object* x_69; lean_object* x_70; +x_68 = lean_ctor_get(x_61, 0); +x_69 = lean_ctor_get(x_61, 1); +lean_inc(x_69); +lean_inc(x_68); +lean_dec(x_61); +x_70 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_70, 0, x_68); +lean_ctor_set(x_70, 1, x_69); +return x_70; } } } @@ -1525,24 +1353,24 @@ return x_68; } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_Pattern_toExpr_visit___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: { -uint8_t x_8; lean_object* x_9; -x_8 = lean_unbox(x_1); +uint8_t x_9; lean_object* x_10; +x_9 = lean_unbox(x_1); lean_dec(x_1); -x_9 = l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__1(x_8, x_2, x_3, x_4, x_5, x_6, x_7); -return x_9; +x_10 = l_List_mapM_loop___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__1(x_9, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +return x_10; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___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_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_Pattern_toExpr_visit___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: { -uint8_t x_8; lean_object* x_9; -x_8 = lean_unbox(x_1); +uint8_t x_9; lean_object* x_10; +x_9 = lean_unbox(x_1); lean_dec(x_1); -x_9 = l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__2(x_8, x_2, x_3, x_4, x_5, x_6, x_7); -return x_9; +x_10 = l_List_mapM_loop___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__2(x_9, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +return x_10; } } LEAN_EXPORT lean_object* l_Lean_Meta_Match_Pattern_toExpr_visit___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { @@ -2368,194 +2196,130 @@ lean_dec(x_2); return x_8; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___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_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_instantiatePatternMVars___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_1) == 0) { -lean_object* x_7; lean_object* x_8; -x_7 = lean_box(0); -x_8 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_8, 0, x_7); -lean_ctor_set(x_8, 1, x_6); -return x_8; +lean_object* x_8; lean_object* x_9; +x_8 = l_List_reverse___rarg(x_2); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_7); +return x_9; } else { -uint8_t x_9; -x_9 = !lean_is_exclusive(x_1); -if (x_9 == 0) +uint8_t x_10; +x_10 = !lean_is_exclusive(x_1); +if (x_10 == 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; uint8_t x_16; -x_10 = lean_ctor_get(x_1, 0); -x_11 = lean_ctor_get(x_1, 1); -x_12 = l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2(x_10, x_2, x_3, x_4, x_5, x_6); -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_11 = lean_ctor_get(x_1, 0); +x_12 = lean_ctor_get(x_1, 1); +x_13 = l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2(x_11, x_3, x_4, x_5, x_6, x_7); +x_14 = lean_ctor_get(x_13, 0); lean_inc(x_14); -lean_dec(x_12); -x_15 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(x_11, x_2, x_3, x_4, x_5, x_14); -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_14); { -lean_object* x_17; -x_17 = lean_ctor_get(x_15, 0); -lean_ctor_set(x_1, 1, x_17); -lean_ctor_set(x_1, 0, x_13); -lean_ctor_set(x_15, 0, x_1); -return x_15; +lean_object* _tmp_0 = x_12; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_6 = x_15; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_7 = _tmp_6; +} +goto _start; } else { -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_15, 0); -x_19 = lean_ctor_get(x_15, 1); -lean_inc(x_19); +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_17 = lean_ctor_get(x_1, 0); +x_18 = lean_ctor_get(x_1, 1); lean_inc(x_18); -lean_dec(x_15); -lean_ctor_set(x_1, 1, x_18); -lean_ctor_set(x_1, 0, x_13); -x_20 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_20, 0, x_1); -lean_ctor_set(x_20, 1, x_19); -return x_20; -} -} -else -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_21 = lean_ctor_get(x_1, 0); -x_22 = lean_ctor_get(x_1, 1); -lean_inc(x_22); -lean_inc(x_21); +lean_inc(x_17); lean_dec(x_1); -x_23 = l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2(x_21, x_2, x_3, x_4, x_5, x_6); -x_24 = lean_ctor_get(x_23, 0); -lean_inc(x_24); -x_25 = lean_ctor_get(x_23, 1); -lean_inc(x_25); -lean_dec(x_23); -x_26 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(x_22, x_2, x_3, x_4, x_5, x_25); -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); -lean_inc(x_28); -if (lean_is_exclusive(x_26)) { - lean_ctor_release(x_26, 0); - lean_ctor_release(x_26, 1); - x_29 = x_26; -} else { - lean_dec_ref(x_26); - x_29 = lean_box(0); -} -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_24); -lean_ctor_set(x_30, 1, x_27); -if (lean_is_scalar(x_29)) { - x_31 = lean_alloc_ctor(0, 2, 0); -} else { - x_31 = x_29; -} -lean_ctor_set(x_31, 0, x_30); -lean_ctor_set(x_31, 1, x_28); -return x_31; +x_19 = l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2(x_17, x_3, x_4, x_5, x_6, x_7); +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_22, 0, x_20); +lean_ctor_set(x_22, 1, x_2); +x_1 = x_18; +x_2 = x_22; +x_7 = x_21; +goto _start; } } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___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_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_instantiatePatternMVars___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: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_7; lean_object* x_8; -x_7 = lean_box(0); -x_8 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_8, 0, x_7); -lean_ctor_set(x_8, 1, x_6); -return x_8; +lean_object* x_8; lean_object* x_9; +x_8 = l_List_reverse___rarg(x_2); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_7); +return x_9; } else { -uint8_t x_9; -x_9 = !lean_is_exclusive(x_1); -if (x_9 == 0) +uint8_t x_10; +x_10 = !lean_is_exclusive(x_1); +if (x_10 == 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; uint8_t x_16; -x_10 = lean_ctor_get(x_1, 0); -x_11 = lean_ctor_get(x_1, 1); -x_12 = l_Lean_Meta_Match_instantiatePatternMVars(x_10, x_2, x_3, x_4, x_5, x_6); -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_11 = lean_ctor_get(x_1, 0); +x_12 = lean_ctor_get(x_1, 1); +x_13 = l_Lean_Meta_Match_instantiatePatternMVars(x_11, x_3, x_4, x_5, x_6, x_7); +x_14 = lean_ctor_get(x_13, 0); lean_inc(x_14); -lean_dec(x_12); -x_15 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_11, x_2, x_3, x_4, x_5, x_14); -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_14); { -lean_object* x_17; -x_17 = lean_ctor_get(x_15, 0); -lean_ctor_set(x_1, 1, x_17); -lean_ctor_set(x_1, 0, x_13); -lean_ctor_set(x_15, 0, x_1); -return x_15; +lean_object* _tmp_0 = x_12; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_6 = x_15; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_7 = _tmp_6; +} +goto _start; } else { -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_15, 0); -x_19 = lean_ctor_get(x_15, 1); -lean_inc(x_19); +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_17 = lean_ctor_get(x_1, 0); +x_18 = lean_ctor_get(x_1, 1); lean_inc(x_18); -lean_dec(x_15); -lean_ctor_set(x_1, 1, x_18); -lean_ctor_set(x_1, 0, x_13); -x_20 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_20, 0, x_1); -lean_ctor_set(x_20, 1, x_19); -return x_20; -} -} -else -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_21 = lean_ctor_get(x_1, 0); -x_22 = lean_ctor_get(x_1, 1); -lean_inc(x_22); -lean_inc(x_21); +lean_inc(x_17); lean_dec(x_1); -x_23 = l_Lean_Meta_Match_instantiatePatternMVars(x_21, x_2, x_3, x_4, x_5, x_6); -x_24 = lean_ctor_get(x_23, 0); -lean_inc(x_24); -x_25 = lean_ctor_get(x_23, 1); -lean_inc(x_25); -lean_dec(x_23); -x_26 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_22, x_2, x_3, x_4, x_5, x_25); -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); -lean_inc(x_28); -if (lean_is_exclusive(x_26)) { - lean_ctor_release(x_26, 0); - lean_ctor_release(x_26, 1); - x_29 = x_26; -} else { - lean_dec_ref(x_26); - x_29 = lean_box(0); -} -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_24); -lean_ctor_set(x_30, 1, x_27); -if (lean_is_scalar(x_29)) { - x_31 = lean_alloc_ctor(0, 2, 0); -} else { - x_31 = x_29; -} -lean_ctor_set(x_31, 0, x_30); -lean_ctor_set(x_31, 1, x_28); -return x_31; +x_19 = l_Lean_Meta_Match_instantiatePatternMVars(x_17, x_3, x_4, x_5, x_6, x_7); +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_22, 0, x_20); +lean_ctor_set(x_22, 1, x_2); +x_1 = x_18; +x_2 = x_22; +x_7 = x_21; +goto _start; } } } @@ -2642,329 +2406,333 @@ uint8_t x_23; x_23 = !lean_is_exclusive(x_1); if (x_23 == 0) { -lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_30; +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; x_24 = lean_ctor_get(x_1, 2); x_25 = lean_ctor_get(x_1, 3); -x_26 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(x_24, x_2, x_3, x_4, x_5, x_6); -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); +x_26 = lean_box(0); +x_27 = l_List_mapM_loop___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(x_24, x_26, x_2, x_3, x_4, x_5, x_6); +x_28 = lean_ctor_get(x_27, 0); lean_inc(x_28); -lean_dec(x_26); -x_29 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_25, x_2, x_3, x_4, x_5, x_28); -x_30 = !lean_is_exclusive(x_29); -if (x_30 == 0) +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +x_30 = l_List_mapM_loop___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_25, x_26, x_2, x_3, x_4, x_5, x_29); +x_31 = !lean_is_exclusive(x_30); +if (x_31 == 0) { -lean_object* x_31; -x_31 = lean_ctor_get(x_29, 0); -lean_ctor_set(x_1, 3, x_31); -lean_ctor_set(x_1, 2, x_27); -lean_ctor_set(x_29, 0, x_1); -return x_29; -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_29, 0); -x_33 = lean_ctor_get(x_29, 1); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_29); +lean_object* x_32; +x_32 = lean_ctor_get(x_30, 0); lean_ctor_set(x_1, 3, x_32); -lean_ctor_set(x_1, 2, x_27); -x_34 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_34, 0, x_1); -lean_ctor_set(x_34, 1, x_33); -return x_34; +lean_ctor_set(x_1, 2, x_28); +lean_ctor_set(x_30, 0, x_1); +return x_30; +} +else +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_33 = lean_ctor_get(x_30, 0); +x_34 = lean_ctor_get(x_30, 1); +lean_inc(x_34); +lean_inc(x_33); +lean_dec(x_30); +lean_ctor_set(x_1, 3, x_33); +lean_ctor_set(x_1, 2, x_28); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_1); +lean_ctor_set(x_35, 1, x_34); +return x_35; } } else { -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_35 = lean_ctor_get(x_1, 0); -x_36 = lean_ctor_get(x_1, 1); -x_37 = lean_ctor_get(x_1, 2); -x_38 = lean_ctor_get(x_1, 3); +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_36 = lean_ctor_get(x_1, 0); +x_37 = lean_ctor_get(x_1, 1); +x_38 = lean_ctor_get(x_1, 2); +x_39 = lean_ctor_get(x_1, 3); +lean_inc(x_39); lean_inc(x_38); lean_inc(x_37); lean_inc(x_36); -lean_inc(x_35); lean_dec(x_1); -x_39 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(x_37, x_2, x_3, x_4, x_5, x_6); -x_40 = lean_ctor_get(x_39, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_39, 1); -lean_inc(x_41); -lean_dec(x_39); -x_42 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_38, x_2, x_3, x_4, x_5, x_41); -x_43 = lean_ctor_get(x_42, 0); +x_40 = lean_box(0); +x_41 = l_List_mapM_loop___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(x_38, x_40, x_2, x_3, x_4, x_5, x_6); +x_42 = lean_ctor_get(x_41, 0); +lean_inc(x_42); +x_43 = lean_ctor_get(x_41, 1); lean_inc(x_43); -x_44 = lean_ctor_get(x_42, 1); -lean_inc(x_44); -if (lean_is_exclusive(x_42)) { - lean_ctor_release(x_42, 0); - lean_ctor_release(x_42, 1); - x_45 = x_42; +lean_dec(x_41); +x_44 = l_List_mapM_loop___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_39, x_40, x_2, x_3, x_4, x_5, x_43); +x_45 = lean_ctor_get(x_44, 0); +lean_inc(x_45); +x_46 = lean_ctor_get(x_44, 1); +lean_inc(x_46); +if (lean_is_exclusive(x_44)) { + lean_ctor_release(x_44, 0); + lean_ctor_release(x_44, 1); + x_47 = x_44; } else { - lean_dec_ref(x_42); - x_45 = lean_box(0); + lean_dec_ref(x_44); + x_47 = lean_box(0); } -x_46 = lean_alloc_ctor(2, 4, 0); -lean_ctor_set(x_46, 0, x_35); -lean_ctor_set(x_46, 1, x_36); -lean_ctor_set(x_46, 2, x_40); -lean_ctor_set(x_46, 3, x_43); -if (lean_is_scalar(x_45)) { - x_47 = lean_alloc_ctor(0, 2, 0); +x_48 = lean_alloc_ctor(2, 4, 0); +lean_ctor_set(x_48, 0, x_36); +lean_ctor_set(x_48, 1, x_37); +lean_ctor_set(x_48, 2, x_42); +lean_ctor_set(x_48, 3, x_45); +if (lean_is_scalar(x_47)) { + x_49 = lean_alloc_ctor(0, 2, 0); } else { - x_47 = x_45; + x_49 = x_47; } -lean_ctor_set(x_47, 0, x_46); -lean_ctor_set(x_47, 1, x_44); -return x_47; +lean_ctor_set(x_49, 0, x_48); +lean_ctor_set(x_49, 1, x_46); +return x_49; } } case 3: { -uint8_t x_48; -x_48 = !lean_is_exclusive(x_1); -if (x_48 == 0) +uint8_t x_50; +x_50 = !lean_is_exclusive(x_1); +if (x_50 == 0) { -lean_object* x_49; lean_object* x_50; uint8_t x_51; -x_49 = lean_ctor_get(x_1, 0); -x_50 = l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2(x_49, x_2, x_3, x_4, x_5, x_6); -x_51 = !lean_is_exclusive(x_50); -if (x_51 == 0) +lean_object* x_51; lean_object* x_52; uint8_t x_53; +x_51 = lean_ctor_get(x_1, 0); +x_52 = l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2(x_51, x_2, x_3, x_4, x_5, x_6); +x_53 = !lean_is_exclusive(x_52); +if (x_53 == 0) { -lean_object* x_52; -x_52 = lean_ctor_get(x_50, 0); -lean_ctor_set(x_1, 0, x_52); -lean_ctor_set(x_50, 0, x_1); -return x_50; +lean_object* x_54; +x_54 = lean_ctor_get(x_52, 0); +lean_ctor_set(x_1, 0, x_54); +lean_ctor_set(x_52, 0, x_1); +return x_52; } else { -lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_53 = lean_ctor_get(x_50, 0); -x_54 = lean_ctor_get(x_50, 1); -lean_inc(x_54); -lean_inc(x_53); -lean_dec(x_50); -lean_ctor_set(x_1, 0, x_53); -x_55 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_55, 0, x_1); -lean_ctor_set(x_55, 1, x_54); -return x_55; -} -} -else -{ -lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; -x_56 = lean_ctor_get(x_1, 0); +lean_object* x_55; lean_object* x_56; lean_object* x_57; +x_55 = lean_ctor_get(x_52, 0); +x_56 = lean_ctor_get(x_52, 1); lean_inc(x_56); -lean_dec(x_1); -x_57 = l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2(x_56, x_2, x_3, x_4, x_5, x_6); -x_58 = lean_ctor_get(x_57, 0); +lean_inc(x_55); +lean_dec(x_52); +lean_ctor_set(x_1, 0, x_55); +x_57 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_57, 0, x_1); +lean_ctor_set(x_57, 1, x_56); +return x_57; +} +} +else +{ +lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; +x_58 = lean_ctor_get(x_1, 0); lean_inc(x_58); -x_59 = lean_ctor_get(x_57, 1); -lean_inc(x_59); -if (lean_is_exclusive(x_57)) { - lean_ctor_release(x_57, 0); - lean_ctor_release(x_57, 1); - x_60 = x_57; +lean_dec(x_1); +x_59 = l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2(x_58, x_2, x_3, x_4, x_5, x_6); +x_60 = lean_ctor_get(x_59, 0); +lean_inc(x_60); +x_61 = lean_ctor_get(x_59, 1); +lean_inc(x_61); +if (lean_is_exclusive(x_59)) { + lean_ctor_release(x_59, 0); + lean_ctor_release(x_59, 1); + x_62 = x_59; } else { - lean_dec_ref(x_57); - x_60 = lean_box(0); + lean_dec_ref(x_59); + x_62 = lean_box(0); } -x_61 = lean_alloc_ctor(3, 1, 0); -lean_ctor_set(x_61, 0, x_58); -if (lean_is_scalar(x_60)) { - x_62 = lean_alloc_ctor(0, 2, 0); +x_63 = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(x_63, 0, x_60); +if (lean_is_scalar(x_62)) { + x_64 = lean_alloc_ctor(0, 2, 0); } else { - x_62 = x_60; + x_64 = x_62; } -lean_ctor_set(x_62, 0, x_61); -lean_ctor_set(x_62, 1, x_59); -return x_62; +lean_ctor_set(x_64, 0, x_63); +lean_ctor_set(x_64, 1, x_61); +return x_64; } } case 4: { -uint8_t x_63; -x_63 = !lean_is_exclusive(x_1); -if (x_63 == 0) +uint8_t x_65; +x_65 = !lean_is_exclusive(x_1); +if (x_65 == 0) { -lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; uint8_t x_70; -x_64 = lean_ctor_get(x_1, 0); -x_65 = lean_ctor_get(x_1, 1); -x_66 = l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2(x_64, x_2, x_3, x_4, x_5, x_6); -x_67 = lean_ctor_get(x_66, 0); -lean_inc(x_67); -x_68 = lean_ctor_get(x_66, 1); -lean_inc(x_68); -lean_dec(x_66); -x_69 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_65, x_2, x_3, x_4, x_5, x_68); -x_70 = !lean_is_exclusive(x_69); -if (x_70 == 0) +lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; uint8_t x_73; +x_66 = lean_ctor_get(x_1, 0); +x_67 = lean_ctor_get(x_1, 1); +x_68 = l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2(x_66, x_2, x_3, x_4, x_5, x_6); +x_69 = lean_ctor_get(x_68, 0); +lean_inc(x_69); +x_70 = lean_ctor_get(x_68, 1); +lean_inc(x_70); +lean_dec(x_68); +x_71 = lean_box(0); +x_72 = l_List_mapM_loop___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_67, x_71, x_2, x_3, x_4, x_5, x_70); +x_73 = !lean_is_exclusive(x_72); +if (x_73 == 0) { -lean_object* x_71; -x_71 = lean_ctor_get(x_69, 0); -lean_ctor_set(x_1, 1, x_71); -lean_ctor_set(x_1, 0, x_67); -lean_ctor_set(x_69, 0, x_1); -return x_69; +lean_object* x_74; +x_74 = lean_ctor_get(x_72, 0); +lean_ctor_set(x_1, 1, x_74); +lean_ctor_set(x_1, 0, x_69); +lean_ctor_set(x_72, 0, x_1); +return x_72; } else { -lean_object* x_72; lean_object* x_73; lean_object* x_74; -x_72 = lean_ctor_get(x_69, 0); -x_73 = lean_ctor_get(x_69, 1); -lean_inc(x_73); -lean_inc(x_72); -lean_dec(x_69); -lean_ctor_set(x_1, 1, x_72); -lean_ctor_set(x_1, 0, x_67); -x_74 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_74, 0, x_1); -lean_ctor_set(x_74, 1, x_73); -return x_74; -} -} -else -{ -lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; -x_75 = lean_ctor_get(x_1, 0); -x_76 = lean_ctor_get(x_1, 1); +lean_object* x_75; lean_object* x_76; lean_object* x_77; +x_75 = lean_ctor_get(x_72, 0); +x_76 = lean_ctor_get(x_72, 1); lean_inc(x_76); lean_inc(x_75); -lean_dec(x_1); -x_77 = l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2(x_75, x_2, x_3, x_4, x_5, x_6); -x_78 = lean_ctor_get(x_77, 0); -lean_inc(x_78); -x_79 = lean_ctor_get(x_77, 1); +lean_dec(x_72); +lean_ctor_set(x_1, 1, x_75); +lean_ctor_set(x_1, 0, x_69); +x_77 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_77, 0, x_1); +lean_ctor_set(x_77, 1, x_76); +return x_77; +} +} +else +{ +lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; +x_78 = lean_ctor_get(x_1, 0); +x_79 = lean_ctor_get(x_1, 1); lean_inc(x_79); -lean_dec(x_77); -x_80 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_76, x_2, x_3, x_4, x_5, x_79); +lean_inc(x_78); +lean_dec(x_1); +x_80 = l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2(x_78, x_2, x_3, x_4, x_5, x_6); x_81 = lean_ctor_get(x_80, 0); lean_inc(x_81); x_82 = lean_ctor_get(x_80, 1); lean_inc(x_82); -if (lean_is_exclusive(x_80)) { - lean_ctor_release(x_80, 0); - lean_ctor_release(x_80, 1); - x_83 = x_80; +lean_dec(x_80); +x_83 = lean_box(0); +x_84 = l_List_mapM_loop___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_79, x_83, x_2, x_3, x_4, x_5, x_82); +x_85 = lean_ctor_get(x_84, 0); +lean_inc(x_85); +x_86 = lean_ctor_get(x_84, 1); +lean_inc(x_86); +if (lean_is_exclusive(x_84)) { + lean_ctor_release(x_84, 0); + lean_ctor_release(x_84, 1); + x_87 = x_84; } else { - lean_dec_ref(x_80); - x_83 = lean_box(0); + lean_dec_ref(x_84); + x_87 = lean_box(0); } -x_84 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_84, 0, x_78); -lean_ctor_set(x_84, 1, x_81); -if (lean_is_scalar(x_83)) { - x_85 = lean_alloc_ctor(0, 2, 0); +x_88 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_88, 0, x_81); +lean_ctor_set(x_88, 1, x_85); +if (lean_is_scalar(x_87)) { + x_89 = lean_alloc_ctor(0, 2, 0); } else { - x_85 = x_83; + x_89 = x_87; } -lean_ctor_set(x_85, 0, x_84); -lean_ctor_set(x_85, 1, x_82); -return x_85; +lean_ctor_set(x_89, 0, x_88); +lean_ctor_set(x_89, 1, x_86); +return x_89; } } default: { -uint8_t x_86; -x_86 = !lean_is_exclusive(x_1); -if (x_86 == 0) +uint8_t x_90; +x_90 = !lean_is_exclusive(x_1); +if (x_90 == 0) { -lean_object* x_87; lean_object* x_88; uint8_t x_89; -x_87 = lean_ctor_get(x_1, 1); -x_88 = l_Lean_Meta_Match_instantiatePatternMVars(x_87, x_2, x_3, x_4, x_5, x_6); -x_89 = !lean_is_exclusive(x_88); -if (x_89 == 0) +lean_object* x_91; lean_object* x_92; uint8_t x_93; +x_91 = lean_ctor_get(x_1, 1); +x_92 = l_Lean_Meta_Match_instantiatePatternMVars(x_91, x_2, x_3, x_4, x_5, x_6); +x_93 = !lean_is_exclusive(x_92); +if (x_93 == 0) { -lean_object* x_90; -x_90 = lean_ctor_get(x_88, 0); -lean_ctor_set(x_1, 1, x_90); -lean_ctor_set(x_88, 0, x_1); -return x_88; +lean_object* x_94; +x_94 = lean_ctor_get(x_92, 0); +lean_ctor_set(x_1, 1, x_94); +lean_ctor_set(x_92, 0, x_1); +return x_92; } else { -lean_object* x_91; lean_object* x_92; lean_object* x_93; -x_91 = lean_ctor_get(x_88, 0); -x_92 = lean_ctor_get(x_88, 1); -lean_inc(x_92); -lean_inc(x_91); -lean_dec(x_88); -lean_ctor_set(x_1, 1, 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); -return x_93; -} -} -else -{ -lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; -x_94 = lean_ctor_get(x_1, 0); -x_95 = lean_ctor_get(x_1, 1); -x_96 = lean_ctor_get(x_1, 2); +lean_object* x_95; lean_object* x_96; lean_object* x_97; +x_95 = lean_ctor_get(x_92, 0); +x_96 = lean_ctor_get(x_92, 1); lean_inc(x_96); lean_inc(x_95); -lean_inc(x_94); -lean_dec(x_1); -x_97 = l_Lean_Meta_Match_instantiatePatternMVars(x_95, x_2, x_3, x_4, x_5, x_6); -x_98 = lean_ctor_get(x_97, 0); -lean_inc(x_98); -x_99 = lean_ctor_get(x_97, 1); +lean_dec(x_92); +lean_ctor_set(x_1, 1, x_95); +x_97 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_97, 0, x_1); +lean_ctor_set(x_97, 1, x_96); +return x_97; +} +} +else +{ +lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; +x_98 = lean_ctor_get(x_1, 0); +x_99 = lean_ctor_get(x_1, 1); +x_100 = lean_ctor_get(x_1, 2); +lean_inc(x_100); lean_inc(x_99); -if (lean_is_exclusive(x_97)) { - lean_ctor_release(x_97, 0); - lean_ctor_release(x_97, 1); - x_100 = x_97; +lean_inc(x_98); +lean_dec(x_1); +x_101 = l_Lean_Meta_Match_instantiatePatternMVars(x_99, x_2, x_3, x_4, x_5, x_6); +x_102 = lean_ctor_get(x_101, 0); +lean_inc(x_102); +x_103 = lean_ctor_get(x_101, 1); +lean_inc(x_103); +if (lean_is_exclusive(x_101)) { + lean_ctor_release(x_101, 0); + lean_ctor_release(x_101, 1); + x_104 = x_101; } else { - lean_dec_ref(x_97); - x_100 = lean_box(0); + lean_dec_ref(x_101); + x_104 = lean_box(0); } -x_101 = lean_alloc_ctor(5, 3, 0); -lean_ctor_set(x_101, 0, x_94); -lean_ctor_set(x_101, 1, x_98); -lean_ctor_set(x_101, 2, x_96); -if (lean_is_scalar(x_100)) { - x_102 = lean_alloc_ctor(0, 2, 0); +x_105 = lean_alloc_ctor(5, 3, 0); +lean_ctor_set(x_105, 0, x_98); +lean_ctor_set(x_105, 1, x_102); +lean_ctor_set(x_105, 2, x_100); +if (lean_is_scalar(x_104)) { + x_106 = lean_alloc_ctor(0, 2, 0); } else { - x_102 = x_100; + x_106 = x_104; } -lean_ctor_set(x_102, 0, x_101); -lean_ctor_set(x_102, 1, x_99); -return x_102; +lean_ctor_set(x_106, 0, x_105); +lean_ctor_set(x_106, 1, x_103); +return x_106; } } } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___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_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_instantiatePatternMVars___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_7; -x_7 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); +lean_object* x_8; +x_8 = l_List_mapM_loop___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); -return x_7; +return x_8; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_instantiatePatternMVars___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -lean_object* x_7; -x_7 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_1, x_2, x_3, x_4, x_5, x_6); +lean_object* x_8; +x_8 = l_List_mapM_loop___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); -return x_7; +return x_8; } } LEAN_EXPORT lean_object* l_Lean_Meta_Match_instantiatePatternMVars___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { @@ -3268,98 +3036,66 @@ return x_52; } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___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_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_instantiateAltLHSMVars___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: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_7; lean_object* x_8; -x_7 = lean_box(0); -x_8 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_8, 0, x_7); -lean_ctor_set(x_8, 1, x_6); -return x_8; +lean_object* x_8; lean_object* x_9; +x_8 = l_List_reverse___rarg(x_2); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_7); +return x_9; } else { -uint8_t x_9; -x_9 = !lean_is_exclusive(x_1); -if (x_9 == 0) +uint8_t x_10; +x_10 = !lean_is_exclusive(x_1); +if (x_10 == 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; uint8_t x_16; -x_10 = lean_ctor_get(x_1, 0); -x_11 = lean_ctor_get(x_1, 1); -x_12 = l_Lean_instantiateLocalDeclMVars___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__1(x_10, x_2, x_3, x_4, x_5, x_6); -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_11 = lean_ctor_get(x_1, 0); +x_12 = lean_ctor_get(x_1, 1); +x_13 = l_Lean_instantiateLocalDeclMVars___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__1(x_11, x_3, x_4, x_5, x_6, x_7); +x_14 = lean_ctor_get(x_13, 0); lean_inc(x_14); -lean_dec(x_12); -x_15 = l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(x_11, x_2, x_3, x_4, x_5, x_14); -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_14); { -lean_object* x_17; -x_17 = lean_ctor_get(x_15, 0); -lean_ctor_set(x_1, 1, x_17); -lean_ctor_set(x_1, 0, x_13); -lean_ctor_set(x_15, 0, x_1); -return x_15; +lean_object* _tmp_0 = x_12; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_6 = x_15; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_7 = _tmp_6; +} +goto _start; } else { -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_15, 0); -x_19 = lean_ctor_get(x_15, 1); -lean_inc(x_19); +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_17 = lean_ctor_get(x_1, 0); +x_18 = lean_ctor_get(x_1, 1); lean_inc(x_18); -lean_dec(x_15); -lean_ctor_set(x_1, 1, x_18); -lean_ctor_set(x_1, 0, x_13); -x_20 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_20, 0, x_1); -lean_ctor_set(x_20, 1, x_19); -return x_20; -} -} -else -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_21 = lean_ctor_get(x_1, 0); -x_22 = lean_ctor_get(x_1, 1); -lean_inc(x_22); -lean_inc(x_21); +lean_inc(x_17); lean_dec(x_1); -x_23 = l_Lean_instantiateLocalDeclMVars___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__1(x_21, x_2, x_3, x_4, x_5, x_6); -x_24 = lean_ctor_get(x_23, 0); -lean_inc(x_24); -x_25 = lean_ctor_get(x_23, 1); -lean_inc(x_25); -lean_dec(x_23); -x_26 = l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(x_22, x_2, x_3, x_4, x_5, x_25); -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); -lean_inc(x_28); -if (lean_is_exclusive(x_26)) { - lean_ctor_release(x_26, 0); - lean_ctor_release(x_26, 1); - x_29 = x_26; -} else { - lean_dec_ref(x_26); - x_29 = lean_box(0); -} -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_24); -lean_ctor_set(x_30, 1, x_27); -if (lean_is_scalar(x_29)) { - x_31 = lean_alloc_ctor(0, 2, 0); -} else { - x_31 = x_29; -} -lean_ctor_set(x_31, 0, x_30); -lean_ctor_set(x_31, 1, x_28); -return x_31; +x_19 = l_Lean_instantiateLocalDeclMVars___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__1(x_17, x_3, x_4, x_5, x_6, x_7); +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_22, 0, x_20); +lean_ctor_set(x_22, 1, x_2); +x_1 = x_18; +x_2 = x_22; +x_7 = x_21; +goto _start; } } } @@ -3371,83 +3107,85 @@ uint8_t x_7; x_7 = !lean_is_exclusive(x_1); if (x_7 == 0) { -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; x_8 = lean_ctor_get(x_1, 1); x_9 = lean_ctor_get(x_1, 2); -x_10 = l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(x_8, x_2, x_3, x_4, x_5, x_6); -x_11 = lean_ctor_get(x_10, 0); -lean_inc(x_11); -x_12 = lean_ctor_get(x_10, 1); +x_10 = lean_box(0); +x_11 = l_List_mapM_loop___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(x_8, x_10, x_2, x_3, x_4, x_5, x_6); +x_12 = lean_ctor_get(x_11, 0); lean_inc(x_12); -lean_dec(x_10); -x_13 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_9, x_2, x_3, x_4, x_5, x_12); -x_14 = !lean_is_exclusive(x_13); -if (x_14 == 0) +x_13 = lean_ctor_get(x_11, 1); +lean_inc(x_13); +lean_dec(x_11); +x_14 = l_List_mapM_loop___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_9, x_10, x_2, x_3, x_4, x_5, x_13); +x_15 = !lean_is_exclusive(x_14); +if (x_15 == 0) { -lean_object* x_15; -x_15 = lean_ctor_get(x_13, 0); -lean_ctor_set(x_1, 2, x_15); -lean_ctor_set(x_1, 1, x_11); -lean_ctor_set(x_13, 0, x_1); -return x_13; -} -else -{ -lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_16 = lean_ctor_get(x_13, 0); -x_17 = lean_ctor_get(x_13, 1); -lean_inc(x_17); -lean_inc(x_16); -lean_dec(x_13); +lean_object* x_16; +x_16 = lean_ctor_get(x_14, 0); lean_ctor_set(x_1, 2, x_16); -lean_ctor_set(x_1, 1, x_11); -x_18 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_18, 0, x_1); -lean_ctor_set(x_18, 1, x_17); -return x_18; +lean_ctor_set(x_1, 1, x_12); +lean_ctor_set(x_14, 0, x_1); +return x_14; +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_ctor_get(x_14, 0); +x_18 = lean_ctor_get(x_14, 1); +lean_inc(x_18); +lean_inc(x_17); +lean_dec(x_14); +lean_ctor_set(x_1, 2, x_17); +lean_ctor_set(x_1, 1, x_12); +x_19 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_19, 0, x_1); +lean_ctor_set(x_19, 1, x_18); +return x_19; } } else { -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_19 = lean_ctor_get(x_1, 0); -x_20 = lean_ctor_get(x_1, 1); -x_21 = lean_ctor_get(x_1, 2); +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_20 = lean_ctor_get(x_1, 0); +x_21 = lean_ctor_get(x_1, 1); +x_22 = lean_ctor_get(x_1, 2); +lean_inc(x_22); lean_inc(x_21); lean_inc(x_20); -lean_inc(x_19); lean_dec(x_1); -x_22 = l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(x_20, x_2, x_3, x_4, x_5, x_6); -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_21, x_2, x_3, x_4, x_5, x_24); -x_26 = lean_ctor_get(x_25, 0); +x_23 = lean_box(0); +x_24 = l_List_mapM_loop___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(x_21, x_23, x_2, x_3, x_4, x_5, x_6); +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_24, 1); lean_inc(x_26); -x_27 = lean_ctor_get(x_25, 1); -lean_inc(x_27); -if (lean_is_exclusive(x_25)) { - lean_ctor_release(x_25, 0); - lean_ctor_release(x_25, 1); - x_28 = x_25; +lean_dec(x_24); +x_27 = l_List_mapM_loop___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_22, x_23, x_2, x_3, x_4, x_5, x_26); +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +if (lean_is_exclusive(x_27)) { + lean_ctor_release(x_27, 0); + lean_ctor_release(x_27, 1); + x_30 = x_27; } else { - lean_dec_ref(x_25); - x_28 = lean_box(0); + lean_dec_ref(x_27); + x_30 = lean_box(0); } -x_29 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_29, 0, x_19); -lean_ctor_set(x_29, 1, x_23); -lean_ctor_set(x_29, 2, x_26); -if (lean_is_scalar(x_28)) { - x_30 = lean_alloc_ctor(0, 2, 0); +x_31 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_31, 0, x_20); +lean_ctor_set(x_31, 1, x_25); +lean_ctor_set(x_31, 2, x_28); +if (lean_is_scalar(x_30)) { + x_32 = lean_alloc_ctor(0, 2, 0); } else { - x_30 = x_28; + x_32 = x_30; } -lean_ctor_set(x_30, 0, x_29); -lean_ctor_set(x_30, 1, x_27); -return x_30; +lean_ctor_set(x_32, 0, x_31); +lean_ctor_set(x_32, 1, x_29); +return x_32; } } } @@ -3463,16 +3201,16 @@ lean_dec(x_2); return x_7; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -lean_object* x_7; -x_7 = l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(x_1, x_2, x_3, x_4, x_5, x_6); +lean_object* x_8; +x_8 = l_List_mapM_loop___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); -return x_7; +return x_8; } } LEAN_EXPORT lean_object* l_Lean_Meta_Match_instantiateAltLHSMVars___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { @@ -6147,503 +5885,329 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_withGoalOf___rarg), 7, 0); return x_2; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___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_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_Problem_toMessageData___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_1) == 0) { -lean_object* x_7; lean_object* x_8; +lean_object* x_8; lean_object* x_9; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_8 = l_List_reverse___rarg(x_2); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_7); +return x_9; +} +else +{ +uint8_t x_10; +x_10 = !lean_is_exclusive(x_1); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_11 = lean_ctor_get(x_1, 0); +x_12 = lean_ctor_get(x_1, 1); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_13 = l_Lean_Meta_Match_Alt_toMessageData(x_11, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_13) == 0) +{ +lean_object* x_14; lean_object* x_15; +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_14); +{ +lean_object* _tmp_0 = x_12; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_6 = x_15; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_7 = _tmp_6; +} +goto _start; +} +else +{ +uint8_t x_17; +lean_free_object(x_1); +lean_dec(x_12); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_7 = lean_box(0); -x_8 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_8, 0, x_7); -lean_ctor_set(x_8, 1, x_6); -return x_8; -} -else +x_17 = !lean_is_exclusive(x_13); +if (x_17 == 0) { -uint8_t x_9; -x_9 = !lean_is_exclusive(x_1); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_10 = lean_ctor_get(x_1, 0); -x_11 = lean_ctor_get(x_1, 1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_12 = l_Lean_Meta_Match_Alt_toMessageData(x_10, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_12) == 0) -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); -lean_inc(x_14); -lean_dec(x_12); -x_15 = l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__1(x_11, x_2, x_3, x_4, x_5, x_14); -if (lean_obj_tag(x_15) == 0) -{ -uint8_t x_16; -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) -{ -lean_object* x_17; -x_17 = lean_ctor_get(x_15, 0); -lean_ctor_set(x_1, 1, x_17); -lean_ctor_set(x_1, 0, x_13); -lean_ctor_set(x_15, 0, x_1); -return x_15; +return x_13; } else { lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_15, 0); -x_19 = lean_ctor_get(x_15, 1); +x_18 = lean_ctor_get(x_13, 0); +x_19 = lean_ctor_get(x_13, 1); lean_inc(x_19); lean_inc(x_18); -lean_dec(x_15); -lean_ctor_set(x_1, 1, x_18); -lean_ctor_set(x_1, 0, x_13); -x_20 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_20, 0, x_1); +lean_dec(x_13); +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 -{ -uint8_t x_21; -lean_dec(x_13); -lean_free_object(x_1); -x_21 = !lean_is_exclusive(x_15); -if (x_21 == 0) -{ -return x_15; } else { -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_15, 0); -x_23 = lean_ctor_get(x_15, 1); -lean_inc(x_23); +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_1, 0); +x_22 = lean_ctor_get(x_1, 1); lean_inc(x_22); -lean_dec(x_15); -x_24 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -return x_24; -} -} -} -else -{ -uint8_t x_25; -lean_free_object(x_1); -lean_dec(x_11); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_25 = !lean_is_exclusive(x_12); -if (x_25 == 0) -{ -return x_12; -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_12, 0); -x_27 = lean_ctor_get(x_12, 1); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_12); -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_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_1, 0); -x_30 = lean_ctor_get(x_1, 1); -lean_inc(x_30); -lean_inc(x_29); +lean_inc(x_21); lean_dec(x_1); +lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -lean_inc(x_2); -x_31 = l_Lean_Meta_Match_Alt_toMessageData(x_29, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_31) == 0) +x_23 = l_Lean_Meta_Match_Alt_toMessageData(x_21, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_23) == 0) { -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); -lean_inc(x_33); -lean_dec(x_31); -x_34 = l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__1(x_30, x_2, x_3, x_4, x_5, x_33); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -x_36 = lean_ctor_get(x_34, 1); -lean_inc(x_36); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_37 = x_34; -} else { - lean_dec_ref(x_34); - x_37 = lean_box(0); -} -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_32); -lean_ctor_set(x_38, 1, x_35); -if (lean_is_scalar(x_37)) { - x_39 = lean_alloc_ctor(0, 2, 0); -} else { - x_39 = x_37; -} -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_36); -return x_39; +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_23, 0); +lean_inc(x_24); +x_25 = lean_ctor_get(x_23, 1); +lean_inc(x_25); +lean_dec(x_23); +x_26 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_26, 0, x_24); +lean_ctor_set(x_26, 1, x_2); +x_1 = x_22; +x_2 = x_26; +x_7 = x_25; +goto _start; } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -lean_dec(x_32); -x_40 = lean_ctor_get(x_34, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_34, 1); -lean_inc(x_41); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_42 = x_34; -} else { - lean_dec_ref(x_34); - x_42 = lean_box(0); -} -if (lean_is_scalar(x_42)) { - x_43 = lean_alloc_ctor(1, 2, 0); -} else { - x_43 = x_42; -} -lean_ctor_set(x_43, 0, x_40); -lean_ctor_set(x_43, 1, x_41); -return x_43; -} -} -else -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; -lean_dec(x_30); +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; +lean_dec(x_22); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_44 = lean_ctor_get(x_31, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_31, 1); -lean_inc(x_45); -if (lean_is_exclusive(x_31)) { - lean_ctor_release(x_31, 0); - lean_ctor_release(x_31, 1); - x_46 = x_31; +x_28 = lean_ctor_get(x_23, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_23, 1); +lean_inc(x_29); +if (lean_is_exclusive(x_23)) { + lean_ctor_release(x_23, 0); + lean_ctor_release(x_23, 1); + x_30 = x_23; } else { - lean_dec_ref(x_31); - x_46 = lean_box(0); + lean_dec_ref(x_23); + x_30 = lean_box(0); } -if (lean_is_scalar(x_46)) { - x_47 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_30)) { + x_31 = lean_alloc_ctor(1, 2, 0); } else { - x_47 = x_46; + x_31 = x_30; } -lean_ctor_set(x_47, 0, x_44); -lean_ctor_set(x_47, 1, x_45); -return x_47; +lean_ctor_set(x_31, 0, x_28); +lean_ctor_set(x_31, 1, x_29); +return x_31; } } } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___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_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_Problem_toMessageData___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: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_7; lean_object* x_8; +lean_object* x_8; lean_object* x_9; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_8 = l_List_reverse___rarg(x_2); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_7); +return x_9; +} +else +{ +uint8_t x_10; +x_10 = !lean_is_exclusive(x_1); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_11 = lean_ctor_get(x_1, 0); +x_12 = lean_ctor_get(x_1, 1); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_11); +x_13 = lean_infer_type(x_11, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_13) == 0) +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +x_16 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_16, 0, x_11); +x_17 = l_Lean_Meta_Match_Pattern_toMessageData___closed__8; +x_18 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_18, 0, x_17); +lean_ctor_set(x_18, 1, x_16); +x_19 = l_List_mapTRAux___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__2; +x_20 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_20, 0, x_18); +lean_ctor_set(x_20, 1, x_19); +x_21 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_21, 0, x_14); +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_Meta_Match_Pattern_toMessageData___closed__4; +x_24 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_24); +{ +lean_object* _tmp_0 = x_12; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_6 = x_15; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_7 = _tmp_6; +} +goto _start; +} +else +{ +uint8_t x_26; +lean_free_object(x_1); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_7 = lean_box(0); -x_8 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_8, 0, x_7); -lean_ctor_set(x_8, 1, x_6); -return x_8; -} -else +x_26 = !lean_is_exclusive(x_13); +if (x_26 == 0) { -uint8_t x_9; -x_9 = !lean_is_exclusive(x_1); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_10 = lean_ctor_get(x_1, 0); -x_11 = lean_ctor_get(x_1, 1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_10); -x_12 = lean_infer_type(x_10, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_12) == 0) -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; 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; -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_alloc_ctor(2, 1, 0); -lean_ctor_set(x_15, 0, x_10); -x_16 = l_Lean_Meta_Match_Pattern_toMessageData___closed__8; -x_17 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_17, 0, x_16); -lean_ctor_set(x_17, 1, x_15); -x_18 = l_List_mapTRAux___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__2; -x_19 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_19, 0, x_17); -lean_ctor_set(x_19, 1, x_18); -x_20 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_20, 0, x_13); -x_21 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_21, 0, x_19); -lean_ctor_set(x_21, 1, x_20); -x_22 = l_Lean_Meta_Match_Pattern_toMessageData___closed__4; -x_23 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_23, 0, x_21); -lean_ctor_set(x_23, 1, x_22); -x_24 = l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__2(x_11, x_2, x_3, x_4, x_5, x_14); -if (lean_obj_tag(x_24) == 0) -{ -uint8_t x_25; -x_25 = !lean_is_exclusive(x_24); -if (x_25 == 0) -{ -lean_object* x_26; -x_26 = lean_ctor_get(x_24, 0); -lean_ctor_set(x_1, 1, x_26); -lean_ctor_set(x_1, 0, x_23); -lean_ctor_set(x_24, 0, x_1); -return x_24; +return x_13; } else { lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_27 = lean_ctor_get(x_24, 0); -x_28 = lean_ctor_get(x_24, 1); +x_27 = lean_ctor_get(x_13, 0); +x_28 = lean_ctor_get(x_13, 1); lean_inc(x_28); lean_inc(x_27); -lean_dec(x_24); -lean_ctor_set(x_1, 1, x_27); -lean_ctor_set(x_1, 0, x_23); -x_29 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_29, 0, x_1); +lean_dec(x_13); +x_29 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_29, 0, x_27); lean_ctor_set(x_29, 1, x_28); return x_29; } } -else -{ -uint8_t x_30; -lean_dec(x_23); -lean_free_object(x_1); -x_30 = !lean_is_exclusive(x_24); -if (x_30 == 0) -{ -return x_24; } else { -lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_31 = lean_ctor_get(x_24, 0); -x_32 = lean_ctor_get(x_24, 1); -lean_inc(x_32); +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_1, 0); +x_31 = lean_ctor_get(x_1, 1); lean_inc(x_31); -lean_dec(x_24); -x_33 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_33, 0, x_31); -lean_ctor_set(x_33, 1, x_32); -return x_33; -} -} -} -else -{ -uint8_t x_34; -lean_free_object(x_1); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_34 = !lean_is_exclusive(x_12); -if (x_34 == 0) -{ -return x_12; -} -else -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_35 = lean_ctor_get(x_12, 0); -x_36 = lean_ctor_get(x_12, 1); -lean_inc(x_36); -lean_inc(x_35); -lean_dec(x_12); -x_37 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_37, 0, x_35); -lean_ctor_set(x_37, 1, x_36); -return x_37; -} -} -} -else -{ -lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_38 = lean_ctor_get(x_1, 0); -x_39 = lean_ctor_get(x_1, 1); -lean_inc(x_39); -lean_inc(x_38); +lean_inc(x_30); lean_dec(x_1); +lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_38); -x_40 = lean_infer_type(x_38, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_40) == 0) +lean_inc(x_30); +x_32 = lean_infer_type(x_30, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_32) == 0) { -lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; -x_41 = lean_ctor_get(x_40, 0); -lean_inc(x_41); -x_42 = lean_ctor_get(x_40, 1); -lean_inc(x_42); -lean_dec(x_40); -x_43 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_43, 0, x_38); -x_44 = l_Lean_Meta_Match_Pattern_toMessageData___closed__8; -x_45 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_45, 0, x_44); -lean_ctor_set(x_45, 1, x_43); -x_46 = l_List_mapTRAux___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__2; -x_47 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_47, 0, x_45); -lean_ctor_set(x_47, 1, x_46); -x_48 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_48, 0, x_41); -x_49 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_49, 0, x_47); -lean_ctor_set(x_49, 1, x_48); -x_50 = l_Lean_Meta_Match_Pattern_toMessageData___closed__4; -x_51 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_51, 0, x_49); -lean_ctor_set(x_51, 1, x_50); -x_52 = l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__2(x_39, x_2, x_3, x_4, x_5, x_42); -if (lean_obj_tag(x_52) == 0) -{ -lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; -x_53 = lean_ctor_get(x_52, 0); -lean_inc(x_53); -x_54 = lean_ctor_get(x_52, 1); -lean_inc(x_54); -if (lean_is_exclusive(x_52)) { - lean_ctor_release(x_52, 0); - lean_ctor_release(x_52, 1); - x_55 = x_52; -} else { - lean_dec_ref(x_52); - x_55 = lean_box(0); -} -x_56 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_56, 0, x_51); -lean_ctor_set(x_56, 1, x_53); -if (lean_is_scalar(x_55)) { - x_57 = lean_alloc_ctor(0, 2, 0); -} else { - x_57 = x_55; -} -lean_ctor_set(x_57, 0, x_56); -lean_ctor_set(x_57, 1, x_54); -return x_57; +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; +x_33 = lean_ctor_get(x_32, 0); +lean_inc(x_33); +x_34 = lean_ctor_get(x_32, 1); +lean_inc(x_34); +lean_dec(x_32); +x_35 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_35, 0, x_30); +x_36 = l_Lean_Meta_Match_Pattern_toMessageData___closed__8; +x_37 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_37, 0, x_36); +lean_ctor_set(x_37, 1, x_35); +x_38 = l_List_mapTRAux___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__2; +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 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_40, 0, x_33); +x_41 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_41, 0, x_39); +lean_ctor_set(x_41, 1, x_40); +x_42 = l_Lean_Meta_Match_Pattern_toMessageData___closed__4; +x_43 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_43, 0, x_41); +lean_ctor_set(x_43, 1, x_42); +x_44 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_44, 0, x_43); +lean_ctor_set(x_44, 1, x_2); +x_1 = x_31; +x_2 = x_44; +x_7 = x_34; +goto _start; } else { -lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; -lean_dec(x_51); -x_58 = lean_ctor_get(x_52, 0); -lean_inc(x_58); -x_59 = lean_ctor_get(x_52, 1); -lean_inc(x_59); -if (lean_is_exclusive(x_52)) { - lean_ctor_release(x_52, 0); - lean_ctor_release(x_52, 1); - x_60 = x_52; -} else { - lean_dec_ref(x_52); - x_60 = lean_box(0); -} -if (lean_is_scalar(x_60)) { - x_61 = lean_alloc_ctor(1, 2, 0); -} else { - x_61 = x_60; -} -lean_ctor_set(x_61, 0, x_58); -lean_ctor_set(x_61, 1, x_59); -return x_61; -} -} -else -{ -lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; -lean_dec(x_39); -lean_dec(x_38); +lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; +lean_dec(x_31); +lean_dec(x_30); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_62 = lean_ctor_get(x_40, 0); -lean_inc(x_62); -x_63 = lean_ctor_get(x_40, 1); -lean_inc(x_63); -if (lean_is_exclusive(x_40)) { - lean_ctor_release(x_40, 0); - lean_ctor_release(x_40, 1); - x_64 = x_40; +x_46 = lean_ctor_get(x_32, 0); +lean_inc(x_46); +x_47 = lean_ctor_get(x_32, 1); +lean_inc(x_47); +if (lean_is_exclusive(x_32)) { + lean_ctor_release(x_32, 0); + lean_ctor_release(x_32, 1); + x_48 = x_32; } else { - lean_dec_ref(x_40); - x_64 = lean_box(0); + lean_dec_ref(x_32); + x_48 = lean_box(0); } -if (lean_is_scalar(x_64)) { - x_65 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_48)) { + x_49 = lean_alloc_ctor(1, 2, 0); } else { - x_65 = x_64; + x_49 = x_48; } -lean_ctor_set(x_65, 0, x_62); -lean_ctor_set(x_65, 1, x_63); -return x_65; +lean_ctor_set(x_49, 0, x_46); +lean_ctor_set(x_49, 1, x_47); +return x_49; } } } @@ -6727,36 +6291,37 @@ x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Meta_Match_Problem_toMessageData___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_EXPORT lean_object* l_Lean_Meta_Match_Problem_toMessageData___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_8; +lean_object* x_9; +lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); -x_8 = l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__1(x_1, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_8) == 0) +lean_inc(x_2); +x_9 = l_List_mapM_loop___at_Lean_Meta_Match_Problem_toMessageData___spec__1(x_1, x_2, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_9) == 0) { -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_9 = lean_ctor_get(x_8, 0); -lean_inc(x_9); -x_10 = lean_ctor_get(x_8, 1); +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_10 = lean_ctor_get(x_9, 0); lean_inc(x_10); -lean_dec(x_8); -x_11 = lean_ctor_get(x_2, 1); +x_11 = lean_ctor_get(x_9, 1); lean_inc(x_11); -x_12 = l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__2(x_11, x_3, x_4, x_5, x_6, x_10); -if (lean_obj_tag(x_12) == 0) +lean_dec(x_9); +x_12 = lean_ctor_get(x_3, 1); +lean_inc(x_12); +lean_inc(x_2); +x_13 = l_List_mapM_loop___at_Lean_Meta_Match_Problem_toMessageData___spec__2(x_12, x_2, x_4, x_5, x_6, x_7, x_11); +if (lean_obj_tag(x_13) == 0) { -uint8_t x_13; -x_13 = !lean_is_exclusive(x_12); -if (x_13 == 0) +uint8_t x_14; +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) { -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_14 = lean_ctor_get(x_12, 0); -x_15 = lean_box(0); -x_16 = l_List_mapTRAux___at_Lean_Meta_Match_Alt_toMessageData___spec__2(x_14, x_15); +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_15 = lean_ctor_get(x_13, 0); +x_16 = l_List_mapTRAux___at_Lean_Meta_Match_Alt_toMessageData___spec__2(x_15, x_2); x_17 = l_Lean_MessageData_ofList(x_16); lean_dec(x_16); x_18 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__2; @@ -6768,8 +6333,8 @@ x_21 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_21, 0, x_19); lean_ctor_set(x_21, 1, x_20); x_22 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__5; -x_23 = l_Lean_MessageData_joinSep(x_9, x_22); -lean_dec(x_9); +x_23 = l_Lean_MessageData_joinSep(x_10, x_22); +lean_dec(x_10); x_24 = l_Lean_indentD(x_23); x_25 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_25, 0, x_21); @@ -6778,9 +6343,9 @@ x_26 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__7; x_27 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_27, 0, x_25); lean_ctor_set(x_27, 1, x_26); -x_28 = lean_ctor_get(x_2, 3); +x_28 = lean_ctor_get(x_3, 3); lean_inc(x_28); -lean_dec(x_2); +lean_dec(x_3); x_29 = l_Lean_Meta_Match_examplesToMessageData(x_28); x_30 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_30, 0, x_27); @@ -6789,107 +6354,108 @@ x_31 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__9; x_32 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_32, 0, x_30); lean_ctor_set(x_32, 1, x_31); -lean_ctor_set(x_12, 0, x_32); -return x_12; +lean_ctor_set(x_13, 0, x_32); +return x_13; } else { -lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_33 = lean_ctor_get(x_12, 0); -x_34 = lean_ctor_get(x_12, 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; 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_33 = lean_ctor_get(x_13, 0); +x_34 = lean_ctor_get(x_13, 1); lean_inc(x_34); lean_inc(x_33); -lean_dec(x_12); -x_35 = lean_box(0); -x_36 = l_List_mapTRAux___at_Lean_Meta_Match_Alt_toMessageData___spec__2(x_33, x_35); -x_37 = l_Lean_MessageData_ofList(x_36); -lean_dec(x_36); -x_38 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__2; -x_39 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_37); -x_40 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__4; -x_41 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_41, 0, x_39); -lean_ctor_set(x_41, 1, x_40); -x_42 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__5; -x_43 = l_Lean_MessageData_joinSep(x_9, x_42); -lean_dec(x_9); -x_44 = l_Lean_indentD(x_43); -x_45 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_45, 0, x_41); -lean_ctor_set(x_45, 1, x_44); -x_46 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__7; -x_47 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_47, 0, x_45); -lean_ctor_set(x_47, 1, x_46); -x_48 = lean_ctor_get(x_2, 3); -lean_inc(x_48); -lean_dec(x_2); -x_49 = l_Lean_Meta_Match_examplesToMessageData(x_48); -x_50 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_50, 0, x_47); -lean_ctor_set(x_50, 1, x_49); -x_51 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__9; -x_52 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_52, 0, x_50); -lean_ctor_set(x_52, 1, x_51); -x_53 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_53, 0, x_52); -lean_ctor_set(x_53, 1, x_34); -return x_53; +lean_dec(x_13); +x_35 = l_List_mapTRAux___at_Lean_Meta_Match_Alt_toMessageData___spec__2(x_33, x_2); +x_36 = l_Lean_MessageData_ofList(x_35); +lean_dec(x_35); +x_37 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__2; +x_38 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_38, 0, x_37); +lean_ctor_set(x_38, 1, x_36); +x_39 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__4; +x_40 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_40, 0, x_38); +lean_ctor_set(x_40, 1, x_39); +x_41 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__5; +x_42 = l_Lean_MessageData_joinSep(x_10, x_41); +lean_dec(x_10); +x_43 = l_Lean_indentD(x_42); +x_44 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_44, 0, x_40); +lean_ctor_set(x_44, 1, x_43); +x_45 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__7; +x_46 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_46, 0, x_44); +lean_ctor_set(x_46, 1, x_45); +x_47 = lean_ctor_get(x_3, 3); +lean_inc(x_47); +lean_dec(x_3); +x_48 = l_Lean_Meta_Match_examplesToMessageData(x_47); +x_49 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_49, 0, x_46); +lean_ctor_set(x_49, 1, x_48); +x_50 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__9; +x_51 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_51, 0, x_49); +lean_ctor_set(x_51, 1, x_50); +x_52 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_52, 0, x_51); +lean_ctor_set(x_52, 1, x_34); +return x_52; } } else { -uint8_t x_54; -lean_dec(x_9); +uint8_t x_53; +lean_dec(x_10); +lean_dec(x_3); lean_dec(x_2); -x_54 = !lean_is_exclusive(x_12); -if (x_54 == 0) +x_53 = !lean_is_exclusive(x_13); +if (x_53 == 0) { -return x_12; +return x_13; } else { -lean_object* x_55; lean_object* x_56; lean_object* x_57; -x_55 = lean_ctor_get(x_12, 0); -x_56 = lean_ctor_get(x_12, 1); -lean_inc(x_56); +lean_object* x_54; lean_object* x_55; lean_object* x_56; +x_54 = lean_ctor_get(x_13, 0); +x_55 = lean_ctor_get(x_13, 1); lean_inc(x_55); -lean_dec(x_12); -x_57 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_57, 0, x_55); -lean_ctor_set(x_57, 1, x_56); -return x_57; +lean_inc(x_54); +lean_dec(x_13); +x_56 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_56, 0, x_54); +lean_ctor_set(x_56, 1, x_55); +return x_56; } } } else { -uint8_t x_58; +uint8_t x_57; +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_58 = !lean_is_exclusive(x_8); -if (x_58 == 0) +x_57 = !lean_is_exclusive(x_9); +if (x_57 == 0) { -return x_8; +return x_9; } else { -lean_object* x_59; lean_object* x_60; lean_object* x_61; -x_59 = lean_ctor_get(x_8, 0); -x_60 = lean_ctor_get(x_8, 1); -lean_inc(x_60); +lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_58 = lean_ctor_get(x_9, 0); +x_59 = lean_ctor_get(x_9, 1); lean_inc(x_59); -lean_dec(x_8); -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; +lean_inc(x_58); +lean_dec(x_9); +x_60 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_60, 0, x_58); +lean_ctor_set(x_60, 1, x_59); +return x_60; } } } @@ -6897,15 +6463,17 @@ return x_61; LEAN_EXPORT lean_object* l_Lean_Meta_Match_Problem_toMessageData(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_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; x_7 = lean_ctor_get(x_1, 2); lean_inc(x_7); +x_8 = lean_box(0); lean_inc(x_1); -x_8 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Problem_toMessageData___lambda__1), 7, 2); -lean_closure_set(x_8, 0, x_7); -lean_closure_set(x_8, 1, x_1); -x_9 = l_Lean_Meta_Match_withGoalOf___rarg(x_1, x_8, x_2, x_3, x_4, x_5, x_6); -return x_9; +x_9 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Problem_toMessageData___lambda__1), 8, 3); +lean_closure_set(x_9, 0, x_7); +lean_closure_set(x_9, 1, x_8); +lean_closure_set(x_9, 2, x_1); +x_10 = l_Lean_Meta_Match_withGoalOf___rarg(x_1, x_9, x_2, x_3, x_4, x_5, x_6); +return x_10; } } LEAN_EXPORT lean_object* l_Lean_Meta_Match_counterExampleToMessageData(lean_object* x_1) { @@ -7088,231 +6656,144 @@ return x_24; } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_Match_toPattern___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_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_Match_toPattern___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_7; lean_object* x_8; +lean_object* x_8; lean_object* x_9; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_8 = l_List_reverse___rarg(x_2); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_7); +return x_9; +} +else +{ +uint8_t x_10; +x_10 = !lean_is_exclusive(x_1); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_11 = lean_ctor_get(x_1, 0); +x_12 = lean_ctor_get(x_1, 1); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_13 = l_Lean_Meta_Match_toPattern(x_11, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_13) == 0) +{ +lean_object* x_14; lean_object* x_15; +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_14); +{ +lean_object* _tmp_0 = x_12; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_6 = x_15; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_7 = _tmp_6; +} +goto _start; +} +else +{ +uint8_t x_17; +lean_free_object(x_1); +lean_dec(x_12); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_7 = lean_box(0); -x_8 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_8, 0, x_7); -lean_ctor_set(x_8, 1, x_6); -return x_8; -} -else +x_17 = !lean_is_exclusive(x_13); +if (x_17 == 0) { -uint8_t x_9; -x_9 = !lean_is_exclusive(x_1); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_10 = lean_ctor_get(x_1, 0); -x_11 = lean_ctor_get(x_1, 1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_12 = l_Lean_Meta_Match_toPattern(x_10, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_12) == 0) -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); -lean_inc(x_14); -lean_dec(x_12); -x_15 = l_List_mapM___at_Lean_Meta_Match_toPattern___spec__3(x_11, x_2, x_3, x_4, x_5, x_14); -if (lean_obj_tag(x_15) == 0) -{ -uint8_t x_16; -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) -{ -lean_object* x_17; -x_17 = lean_ctor_get(x_15, 0); -lean_ctor_set(x_1, 1, x_17); -lean_ctor_set(x_1, 0, x_13); -lean_ctor_set(x_15, 0, x_1); -return x_15; +return x_13; } else { lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_15, 0); -x_19 = lean_ctor_get(x_15, 1); +x_18 = lean_ctor_get(x_13, 0); +x_19 = lean_ctor_get(x_13, 1); lean_inc(x_19); lean_inc(x_18); -lean_dec(x_15); -lean_ctor_set(x_1, 1, x_18); -lean_ctor_set(x_1, 0, x_13); -x_20 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_20, 0, x_1); +lean_dec(x_13); +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 -{ -uint8_t x_21; -lean_dec(x_13); -lean_free_object(x_1); -x_21 = !lean_is_exclusive(x_15); -if (x_21 == 0) -{ -return x_15; } else { -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_15, 0); -x_23 = lean_ctor_get(x_15, 1); -lean_inc(x_23); +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_1, 0); +x_22 = lean_ctor_get(x_1, 1); lean_inc(x_22); -lean_dec(x_15); -x_24 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -return x_24; -} -} -} -else -{ -uint8_t x_25; -lean_free_object(x_1); -lean_dec(x_11); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_25 = !lean_is_exclusive(x_12); -if (x_25 == 0) -{ -return x_12; -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_12, 0); -x_27 = lean_ctor_get(x_12, 1); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_12); -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_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_1, 0); -x_30 = lean_ctor_get(x_1, 1); -lean_inc(x_30); -lean_inc(x_29); +lean_inc(x_21); lean_dec(x_1); +lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -lean_inc(x_2); -x_31 = l_Lean_Meta_Match_toPattern(x_29, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_31) == 0) +x_23 = l_Lean_Meta_Match_toPattern(x_21, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_23) == 0) { -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); -lean_inc(x_33); -lean_dec(x_31); -x_34 = l_List_mapM___at_Lean_Meta_Match_toPattern___spec__3(x_30, x_2, x_3, x_4, x_5, x_33); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -x_36 = lean_ctor_get(x_34, 1); -lean_inc(x_36); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_37 = x_34; -} else { - lean_dec_ref(x_34); - x_37 = lean_box(0); -} -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_32); -lean_ctor_set(x_38, 1, x_35); -if (lean_is_scalar(x_37)) { - x_39 = lean_alloc_ctor(0, 2, 0); -} else { - x_39 = x_37; -} -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_36); -return x_39; +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_23, 0); +lean_inc(x_24); +x_25 = lean_ctor_get(x_23, 1); +lean_inc(x_25); +lean_dec(x_23); +x_26 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_26, 0, x_24); +lean_ctor_set(x_26, 1, x_2); +x_1 = x_22; +x_2 = x_26; +x_7 = x_25; +goto _start; } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -lean_dec(x_32); -x_40 = lean_ctor_get(x_34, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_34, 1); -lean_inc(x_41); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_42 = x_34; -} else { - lean_dec_ref(x_34); - x_42 = lean_box(0); -} -if (lean_is_scalar(x_42)) { - x_43 = lean_alloc_ctor(1, 2, 0); -} else { - x_43 = x_42; -} -lean_ctor_set(x_43, 0, x_40); -lean_ctor_set(x_43, 1, x_41); -return x_43; -} -} -else -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; -lean_dec(x_30); +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; +lean_dec(x_22); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_44 = lean_ctor_get(x_31, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_31, 1); -lean_inc(x_45); -if (lean_is_exclusive(x_31)) { - lean_ctor_release(x_31, 0); - lean_ctor_release(x_31, 1); - x_46 = x_31; +x_28 = lean_ctor_get(x_23, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_23, 1); +lean_inc(x_29); +if (lean_is_exclusive(x_23)) { + lean_ctor_release(x_23, 0); + lean_ctor_release(x_23, 1); + x_30 = x_23; } else { - lean_dec_ref(x_31); - x_46 = lean_box(0); + lean_dec_ref(x_23); + x_30 = lean_box(0); } -if (lean_is_scalar(x_46)) { - x_47 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_30)) { + x_31 = lean_alloc_ctor(1, 2, 0); } else { - x_47 = x_46; + x_31 = x_30; } -lean_ctor_set(x_47, 0, x_44); -lean_ctor_set(x_47, 1, x_45); -return x_47; +lean_ctor_set(x_31, 0, x_28); +lean_ctor_set(x_31, 1, x_29); +return x_31; } } } @@ -7935,7 +7416,7 @@ return x_124; } else { -lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; +lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_dec(x_1); x_125 = lean_ctor_get(x_8, 0); lean_inc(x_125); @@ -7945,80 +7426,81 @@ lean_inc(x_126); x_127 = lean_ctor_get(x_125, 1); lean_inc(x_127); lean_dec(x_125); -x_128 = l_List_mapM___at_Lean_Meta_Match_toPattern___spec__3(x_127, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_128) == 0) +x_128 = lean_box(0); +x_129 = l_List_mapM_loop___at_Lean_Meta_Match_toPattern___spec__3(x_127, x_128, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_129) == 0) { -uint8_t x_129; -x_129 = !lean_is_exclusive(x_128); -if (x_129 == 0) +uint8_t x_130; +x_130 = !lean_is_exclusive(x_129); +if (x_130 == 0) { -lean_object* x_130; lean_object* x_131; -x_130 = lean_ctor_get(x_128, 0); -x_131 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_131, 0, x_126); -lean_ctor_set(x_131, 1, x_130); -lean_ctor_set(x_128, 0, x_131); -return x_128; +lean_object* x_131; lean_object* x_132; +x_131 = lean_ctor_get(x_129, 0); +x_132 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_132, 0, x_126); +lean_ctor_set(x_132, 1, x_131); +lean_ctor_set(x_129, 0, x_132); +return x_129; } else { -lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; -x_132 = lean_ctor_get(x_128, 0); -x_133 = lean_ctor_get(x_128, 1); +lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; +x_133 = lean_ctor_get(x_129, 0); +x_134 = lean_ctor_get(x_129, 1); +lean_inc(x_134); lean_inc(x_133); -lean_inc(x_132); -lean_dec(x_128); -x_134 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_134, 0, x_126); -lean_ctor_set(x_134, 1, x_132); -x_135 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_135, 0, x_134); +lean_dec(x_129); +x_135 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_135, 0, x_126); lean_ctor_set(x_135, 1, x_133); -return x_135; +x_136 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_136, 0, x_135); +lean_ctor_set(x_136, 1, x_134); +return x_136; } } else { -uint8_t x_136; +uint8_t x_137; lean_dec(x_126); -x_136 = !lean_is_exclusive(x_128); -if (x_136 == 0) +x_137 = !lean_is_exclusive(x_129); +if (x_137 == 0) { -return x_128; +return x_129; } else { -lean_object* x_137; lean_object* x_138; lean_object* x_139; -x_137 = lean_ctor_get(x_128, 0); -x_138 = lean_ctor_get(x_128, 1); +lean_object* x_138; lean_object* x_139; lean_object* x_140; +x_138 = lean_ctor_get(x_129, 0); +x_139 = lean_ctor_get(x_129, 1); +lean_inc(x_139); lean_inc(x_138); -lean_inc(x_137); -lean_dec(x_128); -x_139 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_139, 0, x_137); -lean_ctor_set(x_139, 1, x_138); -return x_139; +lean_dec(x_129); +x_140 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_140, 0, x_138); +lean_ctor_set(x_140, 1, x_139); +return x_140; } } } } else { -lean_object* x_140; lean_object* x_141; lean_object* x_142; +lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_140 = lean_ctor_get(x_7, 0); -lean_inc(x_140); +x_141 = lean_ctor_get(x_7, 0); +lean_inc(x_141); lean_dec(x_7); -x_141 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_141, 0, x_140); -x_142 = lean_alloc_ctor(0, 2, 0); +x_142 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_142, 0, x_141); -lean_ctor_set(x_142, 1, x_6); -return x_142; +x_143 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_143, 0, x_142); +lean_ctor_set(x_143, 1, x_6); +return x_143; } } } diff --git a/stage0/stdlib/Lean/Meta/Match/Match.c b/stage0/stdlib/Lean/Meta/Match/Match.c index 6496dd8559..c3d41a1766 100644 --- a/stage0/stdlib/Lean/Meta/Match/Match.c +++ b/stage0/stdlib/Lean/Meta/Match/Match.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Meta.Match.Match -// Imports: Init Lean.Util.CollectLevelParams Lean.Util.CollectFVars Lean.Util.Recognizers Lean.Compiler.ExternAttr Lean.Meta.Check Lean.Meta.Closure Lean.Meta.Tactic.Cases Lean.Meta.Tactic.Contradiction Lean.Meta.GeneralizeTelescope Lean.Meta.Match.Basic Lean.Meta.Match.MVarRenaming Lean.Meta.Match.CaseValues +// Imports: Init Lean.Meta.Check Lean.Meta.Closure Lean.Meta.Tactic.Cases Lean.Meta.Tactic.Contradiction Lean.Meta.GeneralizeTelescope Lean.Meta.Match.Basic #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -63,16 +63,13 @@ lean_object* l_Lean_Meta_mkForallFVars(lean_object*, lean_object*, uint8_t, uint LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___lambda__9___boxed(lean_object**); LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_ReaderT_pure___at_Lean_Meta_Match_mkMatcher___spec__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_mkMatcher___lambda__3___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_mkMinorType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_userName(lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__1(lean_object*, lean_object*); -static lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__6(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___lambda__2___boxed(lean_object**); -static lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__2; lean_object* l_Lean_throwError___at_Lean_Meta_setInlineAttribute___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__1; LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_Match_withCleanLCtxFor___spec__19(lean_object*, lean_object*, size_t, size_t, lean_object*); @@ -101,7 +98,6 @@ static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_solveCn static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf_go___closed__2; LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_Match_withCleanLCtxFor___spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__1; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___lambda__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_MatcherApp_addArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -152,6 +148,7 @@ LEAN_EXPORT lean_object* l_List_filterTRAux___at___private_Lean_Meta_Match_Match lean_object* l_Lean_Expr_constructorApp_x3f(lean_object*, lean_object*, uint8_t); static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_solveCnstrs_go___lambda__3___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_filterTrivialCnstrs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___lambda__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwCasesException___rarg___closed__6; extern lean_object* l_Lean_Meta_Match_instInhabitedAlt; @@ -182,6 +179,7 @@ uint8_t l_Lean_Expr_isEq(lean_object*); static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwCasesException___rarg___closed__13; LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_Match_withCleanLCtxFor___spec__12(lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasNatValPattern(lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__7(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MessageData_ofList(lean_object*); static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___lambda__2___closed__3; @@ -247,6 +245,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcherAuxDefinition___lambda__2(le static lean_object* l_Lean_Meta_Match_getMkMatcherInputInContext___lambda__3___closed__4; LEAN_EXPORT lean_object* l_Lean_Meta_Match_getMkMatcherInputInContext___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withEqs___rarg___closed__1; +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_levelZero; static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__5; lean_object* lean_nat_add(lean_object*, lean_object*); @@ -256,13 +255,11 @@ static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlt static lean_object* l_Lean_Meta_Match_getMkMatcherInputInContext___lambda__2___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandNatValuePattern(lean_object*); static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__14; -static lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__2; LEAN_EXPORT lean_object* l_Array_mapIdxM_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___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*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkEqRefl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasNonTrivialExample___spec__1(uint8_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Meta_Match_withMkMatcherInput___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_solveCnstrs_go___closed__7; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNextPatternTypes___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_ReaderT_pure___at_Lean_Meta_Match_mkMatcher___spec__5(lean_object*); @@ -276,6 +273,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_ex static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__3; size_t lean_uint64_to_usize(uint64_t); lean_object* l_Std_PersistentHashMap_insert___at_Lean_MVarId_assign___spec__1(lean_object*, lean_object*, lean_object*); +static lean_object* l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Match_Match___hyg_13587_(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentArray_0__Std_PersistentArray_foldrMAux___at_Lean_Meta_Match_withCleanLCtxFor___spec__3(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Environment_hasUnsafe(lean_object*, lean_object*); @@ -288,7 +286,6 @@ static lean_object* l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean LEAN_EXPORT lean_object* l_List_foldl___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_solveCnstrs_go___spec__7(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_Match_withCleanLCtxFor___spec__8(lean_object*, lean_object*, size_t, size_t, lean_object*); static lean_object* l_Lean_Meta_Match_mkMatcher___lambda__19___closed__1; -lean_object* l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process___closed__3; lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___lambda__21(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -369,6 +366,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_ex LEAN_EXPORT lean_object* l_List_forIn_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNextPatternTypes___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor___closed__4; lean_object* l_Lean_Meta_FVarSubst_apply(lean_object*, lean_object*); +lean_object* l_List_mapM_loop___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Meta_Match_mkMatcher___spec__7(lean_object*, lean_object*); static lean_object* l_List_forIn_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNextPatternTypes___spec__2___closed__1; static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_solveCnstrs_go___closed__5; @@ -412,15 +410,13 @@ LEAN_EXPORT lean_object* l_Array_mapIdxM_map___at___private_Lean_Meta_Match_Matc lean_object* l_Lean_ConstantInfo_name(lean_object*); static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___lambda__1___closed__3; static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwCasesException___rarg___closed__3; -LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor___lambda__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___lambda__16___boxed(lean_object**); static lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_9303____closed__4; LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__2; LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_Meta_Match_mkMatcherAuxDefinition___spec__7(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___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*); static lean_object* l_Lean_Meta_Match_mkMatcherAuxDefinition___lambda__4___closed__3; static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__1; lean_object* l_Nat_repr(lean_object*); @@ -443,7 +439,6 @@ LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_Match_withClea LEAN_EXPORT uint8_t l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_9303____lambda__1(uint8_t, uint8_t); static lean_object* l_Array_mapIdxM_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__11___lambda__2___closed__2; LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_reorientCnstrs___spec__1(lean_object*, lean_object*, lean_object*); -static lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__1; extern lean_object* l_Lean_Expr_instHashableExpr; lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___lambda__12___boxed(lean_object**); @@ -459,6 +454,7 @@ lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_obje static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process___closed__5; static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f___closed__1; static lean_object* l_List_forIn_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNextPatternTypes___spec__2___closed__2; +lean_object* l_panic___at_String_toNat_x21___spec__1(lean_object*); LEAN_EXPORT uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isConstructorTransition(lean_object*); static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__8; LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -474,13 +470,14 @@ LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcherAuxDefinition___lambda__2___ LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__10(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf_go___closed__1; size_t lean_usize_shift_left(size_t, size_t); -LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___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_array_to_list(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_Match_withCleanLCtxFor___spec__17___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_InfoCacheKey_instHashableInfoCacheKey___boxed(lean_object*); LEAN_EXPORT lean_object* l_List_forIn_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNextPatternTypes___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapIdxM_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__11___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkArrow(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Meta_Match_mkMatcher___spec__9___at_Lean_Meta_Match_mkMatcher___spec__10___at_Lean_Meta_Match_mkMatcher___spec__11(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f___closed__2; LEAN_EXPORT uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isFirstPatternVar(lean_object*); @@ -543,6 +540,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor___lambda__1 static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___lambda__2___closed__4; static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf___lambda__1___closed__1; LEAN_EXPORT lean_object* l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasValPattern___spec__1___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___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*); LEAN_EXPORT uint8_t l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isValueTransition___spec__1(uint8_t, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentArray_0__Std_PersistentArray_foldrMAux___at_Lean_Meta_Match_withCleanLCtxFor___spec__9___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_solveSomeLocalFVarIdCnstr_x3f_go___closed__1; @@ -588,6 +586,7 @@ LEAN_EXPORT lean_object* l_Nat_foldRevM_loop___at_Lean_Meta_MatcherApp_addArg___ LEAN_EXPORT lean_object* l_Lean_Meta_Match_MkMatcherInput_collectDependencies___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_Meta_Match_mkMatcherAuxDefinition___spec__5___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf_go___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Match_mkMatcher___spec__16(lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_9303____closed__1; @@ -673,7 +672,6 @@ LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Meta_Match_withMkMatcherInp LEAN_EXPORT lean_object* l_Std_PersistentArray_foldrM___at_Lean_Meta_Match_withCleanLCtxFor___spec__2(lean_object*, lean_object*, lean_object*); static lean_object* l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__7___closed__2; lean_object* l_Lean_Meta_Match_Alt_replaceFVarId(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_mkMinorType___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insert___at_Lean_Meta_Match_mkMatcherAuxDefinition___spec__4(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasNatValPattern___boxed(lean_object*); @@ -698,12 +696,12 @@ static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwCa LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Match_mkMatcher___spec__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_indexOfAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Array_ofSubarray___rarg(lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getLevel(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withEqs_go___rarg___closed__2; static lean_object* l_Lean_Meta_MatcherApp_addArg___lambda__4___closed__2; LEAN_EXPORT lean_object* l_List_filterTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__8___boxed(lean_object*, lean_object*, lean_object*); lean_object* lean_nat_mul(lean_object*, lean_object*); +static lean_object* l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceState(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__5(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Match_mkMatcher___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -737,7 +735,6 @@ lean_object* l_Lean_Expr_app___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_Match_getMkMatcherInputInContext___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasArrayLitPattern___spec__1(uint8_t, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Match_mkMatcher___spec__6(lean_object*, size_t, size_t, lean_object*); -lean_object* l_panic___at_Lean_TSyntax_getNat___spec__1(lean_object*); lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_9303____closed__7; LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_Match_withCleanLCtxFor___spec__16(lean_object*, lean_object*, size_t, size_t, lean_object*); @@ -756,10 +753,11 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_pr static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___lambda__3___closed__1; lean_object* l_Lean_Meta_Match_withGoalOf___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_Match_withCleanLCtxFor___spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__2; lean_object* l_Lean_FVarId_getDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_filterTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__6___boxed(lean_object*, lean_object*, lean_object*); lean_object* lean_panic_fn(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_9272____closed__3; static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwCasesException___rarg___closed__17; LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Meta_Match_mkMatcher___spec__9(lean_object*, lean_object*, lean_object*, lean_object*); @@ -776,6 +774,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAl static lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor___closed__3; LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_Meta_Match_withCleanLCtxFor___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_mk_array(lean_object*, lean_object*); +static lean_object* l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__1; lean_object* l_Lean_Meta_mkEqHEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceStep___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceStep___closed__1; @@ -815,19 +814,20 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_so LEAN_EXPORT lean_object* l_Lean_Meta_Match_State_used___default; lean_object* l_List_lengthTRAux___rarg(lean_object*, lean_object*); static lean_object* l_Array_mapIdxM_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__11___closed__1; +static lean_object* l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__1; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Match_mkMatcher___spec__14___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_Meta_Match_mkMatcherAuxDefinition___spec__5(lean_object*, size_t, size_t, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwCasesException___rarg___closed__8; static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf_go___closed__3; lean_object* l_Lean_Meta_whnfD(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_instantiateLambdaAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__2; LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__3___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapIdxM_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__11___boxed(lean_object**); LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___lambda__2(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_getMkMatcherInputInContext___lambda__3___closed__1; LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_inLocalDecls___boxed(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___closed__1; lean_object* l_Lean_Meta_setInlineAttribute(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1630,60 +1630,59 @@ return x_3; LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, 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_object* x_23; +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_inc(x_15); x_21 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_21, 0, x_15); lean_ctor_set(x_21, 1, x_1); x_22 = lean_array_push(x_2, x_21); -x_23 = l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(x_3, x_16, x_17, x_18, x_19, x_20); +x_23 = lean_box(0); +x_24 = l_List_mapM_loop___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(x_3, x_23, x_16, x_17, x_18, x_19, x_20); if (x_4 == 0) { -lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; +lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_dec(x_14); -x_24 = lean_ctor_get(x_23, 0); -lean_inc(x_24); -x_25 = lean_ctor_get(x_23, 1); +x_25 = lean_ctor_get(x_24, 0); lean_inc(x_25); -lean_dec(x_23); -x_26 = lean_box(0); +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); x_27 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___lambda__1___closed__5; x_28 = l_Lean_Expr_app___override(x_15, x_27); x_29 = lean_alloc_ctor(0, 6, 0); lean_ctor_set(x_29, 0, x_5); lean_ctor_set(x_29, 1, x_6); lean_ctor_set(x_29, 2, x_28); -lean_ctor_set(x_29, 3, x_24); +lean_ctor_set(x_29, 3, x_25); lean_ctor_set(x_29, 4, x_7); -lean_ctor_set(x_29, 5, x_26); +lean_ctor_set(x_29, 5, x_23); x_30 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_30, 0, x_29); lean_ctor_set(x_30, 1, x_8); -x_31 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg(x_9, x_10, x_11, x_12, x_13, x_30, x_22, x_16, x_17, x_18, x_19, x_25); +x_31 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg(x_9, x_10, x_11, x_12, x_13, x_30, x_22, x_16, x_17, x_18, x_19, x_26); return x_31; } else { -lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_32 = lean_ctor_get(x_23, 0); +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_32 = lean_ctor_get(x_24, 0); lean_inc(x_32); -x_33 = lean_ctor_get(x_23, 1); +x_33 = lean_ctor_get(x_24, 1); lean_inc(x_33); -lean_dec(x_23); +lean_dec(x_24); x_34 = l_Lean_mkAppN(x_15, x_14); -x_35 = lean_box(0); -x_36 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_36, 0, x_5); -lean_ctor_set(x_36, 1, x_6); -lean_ctor_set(x_36, 2, x_34); -lean_ctor_set(x_36, 3, x_32); -lean_ctor_set(x_36, 4, x_7); -lean_ctor_set(x_36, 5, x_35); -x_37 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_37, 0, x_36); -lean_ctor_set(x_37, 1, x_8); -x_38 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg(x_9, x_10, x_11, x_12, x_13, x_37, x_22, x_16, x_17, x_18, x_19, x_33); -return x_38; +x_35 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_35, 0, x_5); +lean_ctor_set(x_35, 1, x_6); +lean_ctor_set(x_35, 2, x_34); +lean_ctor_set(x_35, 3, x_32); +lean_ctor_set(x_35, 4, x_7); +lean_ctor_set(x_35, 5, x_23); +x_36 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_36, 0, x_35); +lean_ctor_set(x_36, 1, x_8); +x_37 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg(x_9, x_10, x_11, x_12, x_13, x_36, x_22, x_16, x_17, x_18, x_19, x_33); +return x_37; } } } @@ -3266,7 +3265,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_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__1; x_2 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__2; -x_3 = lean_unsigned_to_nat(155u); +x_3 = lean_unsigned_to_nat(149u); x_4 = lean_unsigned_to_nat(48u); x_5 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -3584,7 +3583,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_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__1; x_2 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__2; -x_3 = lean_unsigned_to_nat(153u); +x_3 = lean_unsigned_to_nat(147u); x_4 = lean_unsigned_to_nat(26u); x_5 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -7485,475 +7484,618 @@ x_9 = lean_apply_5(x_8, x_2, x_3, x_4, x_5, x_6); return x_9; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___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: { if (lean_obj_tag(x_2) == 0) { -lean_object* x_8; lean_object* x_9; +lean_object* x_9; lean_object* x_10; +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_3); lean_dec(x_1); -x_8 = lean_box(0); -x_9 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_9, 0, x_8); -lean_ctor_set(x_9, 1, x_7); -return x_9; +x_9 = l_List_reverse___rarg(x_3); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_9); +lean_ctor_set(x_10, 1, x_8); +return x_10; } else { -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_28; -x_10 = lean_ctor_get(x_2, 0); -lean_inc(x_10); -x_11 = lean_ctor_get(x_2, 1); +lean_object* x_11; lean_object* x_12; +x_11 = lean_ctor_get(x_2, 0); lean_inc(x_11); -if (lean_is_exclusive(x_2)) { - lean_ctor_release(x_2, 0); - lean_ctor_release(x_2, 1); - x_12 = x_2; -} else { - lean_dec_ref(x_2); - x_12 = lean_box(0); -} -x_28 = lean_ctor_get(x_10, 4); -lean_inc(x_28); -if (lean_obj_tag(x_28) == 0) +x_12 = lean_ctor_get(x_11, 4); +lean_inc(x_12); +if (lean_obj_tag(x_12) == 0) { -x_13 = x_10; -x_14 = x_7; -goto block_27; +uint8_t x_13; +x_13 = !lean_is_exclusive(x_2); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; +x_14 = lean_ctor_get(x_2, 1); +x_15 = lean_ctor_get(x_2, 0); +lean_dec(x_15); +lean_ctor_set(x_2, 1, x_3); +{ +lean_object* _tmp_1 = x_14; +lean_object* _tmp_2 = x_2; +x_2 = _tmp_1; +x_3 = _tmp_2; +} +goto _start; } else { -lean_object* x_29; -x_29 = lean_ctor_get(x_28, 0); -lean_inc(x_29); -if (lean_obj_tag(x_29) == 5) +lean_object* x_17; lean_object* x_18; +x_17 = lean_ctor_get(x_2, 1); +lean_inc(x_17); +lean_dec(x_2); +x_18 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_18, 0, x_11); +lean_ctor_set(x_18, 1, x_3); +x_2 = x_17; +x_3 = x_18; +goto _start; +} +} +else { -uint8_t x_30; -x_30 = !lean_is_exclusive(x_10); -if (x_30 == 0) +lean_object* x_20; +x_20 = lean_ctor_get(x_12, 0); +lean_inc(x_20); +if (lean_obj_tag(x_20) == 5) { -lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; -x_31 = lean_ctor_get(x_10, 0); -x_32 = lean_ctor_get(x_10, 1); -x_33 = lean_ctor_get(x_10, 2); -x_34 = lean_ctor_get(x_10, 3); -x_35 = lean_ctor_get(x_10, 5); -x_36 = lean_ctor_get(x_10, 4); -lean_dec(x_36); -x_37 = !lean_is_exclusive(x_28); -if (x_37 == 0) +uint8_t x_21; +x_21 = !lean_is_exclusive(x_2); +if (x_21 == 0) { -lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_38 = lean_ctor_get(x_28, 1); -x_39 = lean_ctor_get(x_28, 0); -lean_dec(x_39); -x_40 = lean_ctor_get(x_29, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_29, 1); -lean_inc(x_41); -x_42 = lean_ctor_get(x_29, 2); -lean_inc(x_42); -lean_dec(x_29); +lean_object* x_22; lean_object* x_23; uint8_t x_24; +x_22 = lean_ctor_get(x_2, 1); +x_23 = lean_ctor_get(x_2, 0); +lean_dec(x_23); +x_24 = !lean_is_exclusive(x_11); +if (x_24 == 0) +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; +x_25 = lean_ctor_get(x_11, 0); +x_26 = lean_ctor_get(x_11, 1); +x_27 = lean_ctor_get(x_11, 2); +x_28 = lean_ctor_get(x_11, 3); +x_29 = lean_ctor_get(x_11, 5); +x_30 = lean_ctor_get(x_11, 4); +lean_dec(x_30); +x_31 = !lean_is_exclusive(x_12); +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 = lean_ctor_get(x_12, 1); +x_33 = lean_ctor_get(x_12, 0); +lean_dec(x_33); +x_34 = lean_ctor_get(x_20, 0); +lean_inc(x_34); +x_35 = lean_ctor_get(x_20, 1); +lean_inc(x_35); +x_36 = lean_ctor_get(x_20, 2); +lean_inc(x_36); +lean_dec(x_20); +lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); lean_inc(x_1); -x_43 = l_Lean_Meta_mkEqRefl(x_1, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_43) == 0) +x_37 = l_Lean_Meta_mkEqRefl(x_1, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_37) == 0) { -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; -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); -lean_ctor_set(x_28, 0, x_41); +lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_38 = lean_ctor_get(x_37, 0); +lean_inc(x_38); +x_39 = lean_ctor_get(x_37, 1); +lean_inc(x_39); +lean_dec(x_37); +lean_ctor_set(x_12, 0, x_35); lean_inc(x_1); -x_46 = l_Lean_Meta_Match_Alt_replaceFVarId(x_40, x_1, x_10); -x_47 = l_Lean_Meta_Match_Alt_replaceFVarId(x_42, x_44, x_46); -x_13 = x_47; -x_14 = x_45; -goto block_27; +x_40 = l_Lean_Meta_Match_Alt_replaceFVarId(x_34, x_1, x_11); +x_41 = l_Lean_Meta_Match_Alt_replaceFVarId(x_36, x_38, x_40); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_41); +{ +lean_object* _tmp_1 = x_22; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_7 = x_39; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_8 = _tmp_7; +} +goto _start; } else { -uint8_t x_48; -lean_dec(x_42); -lean_dec(x_41); -lean_dec(x_40); -lean_free_object(x_28); -lean_dec(x_38); -lean_free_object(x_10); +uint8_t x_43; +lean_dec(x_36); lean_dec(x_35); lean_dec(x_34); -lean_dec(x_33); +lean_free_object(x_12); lean_dec(x_32); -lean_dec(x_31); -lean_dec(x_12); -lean_dec(x_11); +lean_free_object(x_11); +lean_dec(x_29); +lean_dec(x_28); +lean_dec(x_27); +lean_dec(x_26); +lean_dec(x_25); +lean_free_object(x_2); +lean_dec(x_22); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_48 = !lean_is_exclusive(x_43); -if (x_48 == 0) +x_43 = !lean_is_exclusive(x_37); +if (x_43 == 0) { -return x_43; +return x_37; } else { -lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_49 = lean_ctor_get(x_43, 0); -x_50 = lean_ctor_get(x_43, 1); -lean_inc(x_50); +lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_44 = lean_ctor_get(x_37, 0); +x_45 = lean_ctor_get(x_37, 1); +lean_inc(x_45); +lean_inc(x_44); +lean_dec(x_37); +x_46 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_46, 0, x_44); +lean_ctor_set(x_46, 1, x_45); +return x_46; +} +} +} +else +{ +lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; +x_47 = lean_ctor_get(x_12, 1); +lean_inc(x_47); +lean_dec(x_12); +x_48 = lean_ctor_get(x_20, 0); +lean_inc(x_48); +x_49 = lean_ctor_get(x_20, 1); lean_inc(x_49); -lean_dec(x_43); -x_51 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_51, 0, x_49); -lean_ctor_set(x_51, 1, x_50); -return x_51; -} -} -} -else +x_50 = lean_ctor_get(x_20, 2); +lean_inc(x_50); +lean_dec(x_20); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_1); +x_51 = l_Lean_Meta_mkEqRefl(x_1, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_51) == 0) { lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; -x_52 = lean_ctor_get(x_28, 1); +x_52 = lean_ctor_get(x_51, 0); lean_inc(x_52); -lean_dec(x_28); -x_53 = lean_ctor_get(x_29, 0); +x_53 = lean_ctor_get(x_51, 1); lean_inc(x_53); -x_54 = lean_ctor_get(x_29, 1); -lean_inc(x_54); -x_55 = lean_ctor_get(x_29, 2); -lean_inc(x_55); -lean_dec(x_29); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); +lean_dec(x_51); +x_54 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_54, 0, x_49); +lean_ctor_set(x_54, 1, x_47); +lean_ctor_set(x_11, 4, x_54); lean_inc(x_1); -x_56 = l_Lean_Meta_mkEqRefl(x_1, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_56) == 0) +x_55 = l_Lean_Meta_Match_Alt_replaceFVarId(x_48, x_1, x_11); +x_56 = l_Lean_Meta_Match_Alt_replaceFVarId(x_50, x_52, x_55); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_56); { -lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; -x_57 = lean_ctor_get(x_56, 0); -lean_inc(x_57); -x_58 = lean_ctor_get(x_56, 1); -lean_inc(x_58); -lean_dec(x_56); -x_59 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_59, 0, x_54); -lean_ctor_set(x_59, 1, x_52); -lean_ctor_set(x_10, 4, x_59); -lean_inc(x_1); -x_60 = l_Lean_Meta_Match_Alt_replaceFVarId(x_53, x_1, x_10); -x_61 = l_Lean_Meta_Match_Alt_replaceFVarId(x_55, x_57, x_60); -x_13 = x_61; -x_14 = x_58; -goto block_27; +lean_object* _tmp_1 = x_22; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_7 = x_53; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_8 = _tmp_7; +} +goto _start; } else { -lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; -lean_dec(x_55); -lean_dec(x_54); -lean_dec(x_53); -lean_dec(x_52); -lean_free_object(x_10); -lean_dec(x_35); -lean_dec(x_34); -lean_dec(x_33); -lean_dec(x_32); -lean_dec(x_31); -lean_dec(x_12); -lean_dec(x_11); +lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; +lean_dec(x_50); +lean_dec(x_49); +lean_dec(x_48); +lean_dec(x_47); +lean_free_object(x_11); +lean_dec(x_29); +lean_dec(x_28); +lean_dec(x_27); +lean_dec(x_26); +lean_dec(x_25); +lean_free_object(x_2); +lean_dec(x_22); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_62 = lean_ctor_get(x_56, 0); -lean_inc(x_62); -x_63 = lean_ctor_get(x_56, 1); -lean_inc(x_63); -if (lean_is_exclusive(x_56)) { - lean_ctor_release(x_56, 0); - lean_ctor_release(x_56, 1); - x_64 = x_56; +x_58 = lean_ctor_get(x_51, 0); +lean_inc(x_58); +x_59 = lean_ctor_get(x_51, 1); +lean_inc(x_59); +if (lean_is_exclusive(x_51)) { + lean_ctor_release(x_51, 0); + lean_ctor_release(x_51, 1); + x_60 = x_51; } else { - lean_dec_ref(x_56); - x_64 = lean_box(0); + lean_dec_ref(x_51); + x_60 = lean_box(0); } -if (lean_is_scalar(x_64)) { - x_65 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_60)) { + x_61 = lean_alloc_ctor(1, 2, 0); } else { - x_65 = x_64; + x_61 = x_60; } -lean_ctor_set(x_65, 0, x_62); -lean_ctor_set(x_65, 1, x_63); -return x_65; +lean_ctor_set(x_61, 0, x_58); +lean_ctor_set(x_61, 1, x_59); +return x_61; } } } else { -lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; -x_66 = lean_ctor_get(x_10, 0); -x_67 = lean_ctor_get(x_10, 1); -x_68 = lean_ctor_get(x_10, 2); -x_69 = lean_ctor_get(x_10, 3); -x_70 = lean_ctor_get(x_10, 5); -lean_inc(x_70); -lean_inc(x_69); -lean_inc(x_68); -lean_inc(x_67); +lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; +x_62 = lean_ctor_get(x_11, 0); +x_63 = lean_ctor_get(x_11, 1); +x_64 = lean_ctor_get(x_11, 2); +x_65 = lean_ctor_get(x_11, 3); +x_66 = lean_ctor_get(x_11, 5); lean_inc(x_66); -lean_dec(x_10); -x_71 = lean_ctor_get(x_28, 1); -lean_inc(x_71); -if (lean_is_exclusive(x_28)) { - lean_ctor_release(x_28, 0); - lean_ctor_release(x_28, 1); - x_72 = x_28; +lean_inc(x_65); +lean_inc(x_64); +lean_inc(x_63); +lean_inc(x_62); +lean_dec(x_11); +x_67 = lean_ctor_get(x_12, 1); +lean_inc(x_67); +if (lean_is_exclusive(x_12)) { + lean_ctor_release(x_12, 0); + lean_ctor_release(x_12, 1); + x_68 = x_12; } else { - lean_dec_ref(x_28); - x_72 = lean_box(0); + lean_dec_ref(x_12); + x_68 = lean_box(0); } -x_73 = lean_ctor_get(x_29, 0); -lean_inc(x_73); -x_74 = lean_ctor_get(x_29, 1); -lean_inc(x_74); -x_75 = lean_ctor_get(x_29, 2); -lean_inc(x_75); -lean_dec(x_29); +x_69 = lean_ctor_get(x_20, 0); +lean_inc(x_69); +x_70 = lean_ctor_get(x_20, 1); +lean_inc(x_70); +x_71 = lean_ctor_get(x_20, 2); +lean_inc(x_71); +lean_dec(x_20); +lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); lean_inc(x_1); -x_76 = l_Lean_Meta_mkEqRefl(x_1, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_76) == 0) +x_72 = l_Lean_Meta_mkEqRefl(x_1, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_72) == 0) { -lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; -x_77 = lean_ctor_get(x_76, 0); -lean_inc(x_77); -x_78 = lean_ctor_get(x_76, 1); -lean_inc(x_78); -lean_dec(x_76); -if (lean_is_scalar(x_72)) { - x_79 = lean_alloc_ctor(1, 2, 0); +lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; +x_73 = lean_ctor_get(x_72, 0); +lean_inc(x_73); +x_74 = lean_ctor_get(x_72, 1); +lean_inc(x_74); +lean_dec(x_72); +if (lean_is_scalar(x_68)) { + x_75 = lean_alloc_ctor(1, 2, 0); } else { - x_79 = x_72; + x_75 = x_68; } -lean_ctor_set(x_79, 0, x_74); -lean_ctor_set(x_79, 1, x_71); -x_80 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_80, 0, x_66); -lean_ctor_set(x_80, 1, x_67); -lean_ctor_set(x_80, 2, x_68); -lean_ctor_set(x_80, 3, x_69); -lean_ctor_set(x_80, 4, x_79); -lean_ctor_set(x_80, 5, x_70); +lean_ctor_set(x_75, 0, x_70); +lean_ctor_set(x_75, 1, x_67); +x_76 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_76, 0, x_62); +lean_ctor_set(x_76, 1, x_63); +lean_ctor_set(x_76, 2, x_64); +lean_ctor_set(x_76, 3, x_65); +lean_ctor_set(x_76, 4, x_75); +lean_ctor_set(x_76, 5, x_66); lean_inc(x_1); -x_81 = l_Lean_Meta_Match_Alt_replaceFVarId(x_73, x_1, x_80); -x_82 = l_Lean_Meta_Match_Alt_replaceFVarId(x_75, x_77, x_81); -x_13 = x_82; -x_14 = x_78; -goto block_27; +x_77 = l_Lean_Meta_Match_Alt_replaceFVarId(x_69, x_1, x_76); +x_78 = l_Lean_Meta_Match_Alt_replaceFVarId(x_71, x_73, x_77); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_78); +{ +lean_object* _tmp_1 = x_22; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_7 = x_74; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_8 = _tmp_7; +} +goto _start; } else { -lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; -lean_dec(x_75); -lean_dec(x_74); -lean_dec(x_73); -lean_dec(x_72); +lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_dec(x_71); lean_dec(x_70); lean_dec(x_69); lean_dec(x_68); lean_dec(x_67); lean_dec(x_66); -lean_dec(x_12); -lean_dec(x_11); +lean_dec(x_65); +lean_dec(x_64); +lean_dec(x_63); +lean_dec(x_62); +lean_free_object(x_2); +lean_dec(x_22); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_83 = lean_ctor_get(x_76, 0); -lean_inc(x_83); -x_84 = lean_ctor_get(x_76, 1); +x_80 = lean_ctor_get(x_72, 0); +lean_inc(x_80); +x_81 = lean_ctor_get(x_72, 1); +lean_inc(x_81); +if (lean_is_exclusive(x_72)) { + lean_ctor_release(x_72, 0); + lean_ctor_release(x_72, 1); + x_82 = x_72; +} else { + lean_dec_ref(x_72); + x_82 = lean_box(0); +} +if (lean_is_scalar(x_82)) { + x_83 = lean_alloc_ctor(1, 2, 0); +} else { + x_83 = x_82; +} +lean_ctor_set(x_83, 0, x_80); +lean_ctor_set(x_83, 1, x_81); +return x_83; +} +} +} +else +{ +lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; +x_84 = lean_ctor_get(x_2, 1); lean_inc(x_84); -if (lean_is_exclusive(x_76)) { - lean_ctor_release(x_76, 0); - lean_ctor_release(x_76, 1); - x_85 = x_76; +lean_dec(x_2); +x_85 = lean_ctor_get(x_11, 0); +lean_inc(x_85); +x_86 = lean_ctor_get(x_11, 1); +lean_inc(x_86); +x_87 = lean_ctor_get(x_11, 2); +lean_inc(x_87); +x_88 = lean_ctor_get(x_11, 3); +lean_inc(x_88); +x_89 = lean_ctor_get(x_11, 5); +lean_inc(x_89); +if (lean_is_exclusive(x_11)) { + lean_ctor_release(x_11, 0); + lean_ctor_release(x_11, 1); + lean_ctor_release(x_11, 2); + lean_ctor_release(x_11, 3); + lean_ctor_release(x_11, 4); + lean_ctor_release(x_11, 5); + x_90 = x_11; } else { - lean_dec_ref(x_76); - x_85 = lean_box(0); + lean_dec_ref(x_11); + x_90 = lean_box(0); } -if (lean_is_scalar(x_85)) { - x_86 = lean_alloc_ctor(1, 2, 0); +x_91 = lean_ctor_get(x_12, 1); +lean_inc(x_91); +if (lean_is_exclusive(x_12)) { + lean_ctor_release(x_12, 0); + lean_ctor_release(x_12, 1); + x_92 = x_12; } else { - x_86 = x_85; + lean_dec_ref(x_12); + x_92 = lean_box(0); } -lean_ctor_set(x_86, 0, x_83); -lean_ctor_set(x_86, 1, x_84); -return x_86; -} -} -} -else +x_93 = lean_ctor_get(x_20, 0); +lean_inc(x_93); +x_94 = lean_ctor_get(x_20, 1); +lean_inc(x_94); +x_95 = lean_ctor_get(x_20, 2); +lean_inc(x_95); +lean_dec(x_20); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_1); +x_96 = l_Lean_Meta_mkEqRefl(x_1, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_96) == 0) { -lean_dec(x_29); -lean_dec(x_28); -x_13 = x_10; -x_14 = x_7; -goto block_27; -} -} -block_27: -{ -lean_object* x_15; -x_15 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___spec__2(x_1, x_11, x_3, x_4, x_5, x_6, x_14); -if (lean_obj_tag(x_15) == 0) -{ -uint8_t x_16; -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; -x_17 = lean_ctor_get(x_15, 0); -if (lean_is_scalar(x_12)) { - x_18 = lean_alloc_ctor(1, 2, 0); +lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; +x_97 = lean_ctor_get(x_96, 0); +lean_inc(x_97); +x_98 = lean_ctor_get(x_96, 1); +lean_inc(x_98); +lean_dec(x_96); +if (lean_is_scalar(x_92)) { + x_99 = lean_alloc_ctor(1, 2, 0); } else { - x_18 = x_12; + x_99 = x_92; } -lean_ctor_set(x_18, 0, x_13); -lean_ctor_set(x_18, 1, x_17); -lean_ctor_set(x_15, 0, x_18); -return x_15; -} -else -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_15, 0); -x_20 = lean_ctor_get(x_15, 1); -lean_inc(x_20); -lean_inc(x_19); -lean_dec(x_15); -if (lean_is_scalar(x_12)) { - x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_99, 0, x_94); +lean_ctor_set(x_99, 1, x_91); +if (lean_is_scalar(x_90)) { + x_100 = lean_alloc_ctor(0, 6, 0); } else { - x_21 = x_12; -} -lean_ctor_set(x_21, 0, x_13); -lean_ctor_set(x_21, 1, x_19); -x_22 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_22, 0, x_21); -lean_ctor_set(x_22, 1, x_20); -return x_22; + x_100 = x_90; } +lean_ctor_set(x_100, 0, x_85); +lean_ctor_set(x_100, 1, x_86); +lean_ctor_set(x_100, 2, x_87); +lean_ctor_set(x_100, 3, x_88); +lean_ctor_set(x_100, 4, x_99); +lean_ctor_set(x_100, 5, x_89); +lean_inc(x_1); +x_101 = l_Lean_Meta_Match_Alt_replaceFVarId(x_93, x_1, x_100); +x_102 = l_Lean_Meta_Match_Alt_replaceFVarId(x_95, x_97, x_101); +x_103 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_103, 0, x_102); +lean_ctor_set(x_103, 1, x_3); +x_2 = x_84; +x_3 = x_103; +x_8 = x_98; +goto _start; } else { -uint8_t x_23; -lean_dec(x_13); -lean_dec(x_12); -x_23 = !lean_is_exclusive(x_15); -if (x_23 == 0) -{ -return x_15; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_15, 0); -x_25 = lean_ctor_get(x_15, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_15); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -} -} -} -} -LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -lean_object* x_11; -x_11 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___spec__2(x_1, x_2, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_11) == 0) -{ -uint8_t x_12; -x_12 = !lean_is_exclusive(x_11); -if (x_12 == 0) -{ -lean_object* x_13; lean_object* x_14; -x_13 = lean_ctor_get(x_11, 0); -x_14 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_14, 0, x_3); -lean_ctor_set(x_14, 1, x_4); -lean_ctor_set(x_14, 2, x_13); -lean_ctor_set(x_14, 3, x_5); -lean_ctor_set(x_11, 0, x_14); -return x_11; -} -else -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_15 = lean_ctor_get(x_11, 0); -x_16 = lean_ctor_get(x_11, 1); -lean_inc(x_16); -lean_inc(x_15); -lean_dec(x_11); -x_17 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_17, 0, x_3); -lean_ctor_set(x_17, 1, x_4); -lean_ctor_set(x_17, 2, x_15); -lean_ctor_set(x_17, 3, x_5); -x_18 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_18, 0, x_17); -lean_ctor_set(x_18, 1, x_16); -return x_18; -} -} -else -{ -uint8_t x_19; +lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; +lean_dec(x_95); +lean_dec(x_94); +lean_dec(x_93); +lean_dec(x_92); +lean_dec(x_91); +lean_dec(x_90); +lean_dec(x_89); +lean_dec(x_88); +lean_dec(x_87); +lean_dec(x_86); +lean_dec(x_85); +lean_dec(x_84); +lean_dec(x_7); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_19 = !lean_is_exclusive(x_11); -if (x_19 == 0) -{ -return x_11; +lean_dec(x_1); +x_105 = lean_ctor_get(x_96, 0); +lean_inc(x_105); +x_106 = lean_ctor_get(x_96, 1); +lean_inc(x_106); +if (lean_is_exclusive(x_96)) { + lean_ctor_release(x_96, 0); + lean_ctor_release(x_96, 1); + x_107 = x_96; +} else { + lean_dec_ref(x_96); + x_107 = lean_box(0); +} +if (lean_is_scalar(x_107)) { + x_108 = lean_alloc_ctor(1, 2, 0); +} else { + x_108 = x_107; +} +lean_ctor_set(x_108, 0, x_105); +lean_ctor_set(x_108, 1, x_106); +return x_108; +} +} } else { -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_ctor_get(x_11, 0); -x_21 = lean_ctor_get(x_11, 1); +uint8_t x_109; +lean_dec(x_20); +x_109 = !lean_is_exclusive(x_12); +if (x_109 == 0) +{ +lean_object* x_110; lean_object* x_111; lean_object* x_112; +x_110 = lean_ctor_get(x_12, 1); +lean_dec(x_110); +x_111 = lean_ctor_get(x_12, 0); +lean_dec(x_111); +x_112 = lean_ctor_get(x_2, 1); +lean_inc(x_112); +lean_dec(x_2); +lean_ctor_set(x_12, 1, x_3); +lean_ctor_set(x_12, 0, x_11); +x_2 = x_112; +x_3 = x_12; +goto _start; +} +else +{ +lean_object* x_114; lean_object* x_115; +lean_dec(x_12); +x_114 = lean_ctor_get(x_2, 1); +lean_inc(x_114); +lean_dec(x_2); +x_115 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_115, 0, x_11); +lean_ctor_set(x_115, 1, x_3); +x_2 = x_114; +x_3 = x_115; +goto _start; +} +} +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +lean_object* x_12; +x_12 = l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___spec__2(x_1, x_2, x_3, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_12) == 0) +{ +uint8_t x_13; +x_13 = !lean_is_exclusive(x_12); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; +x_14 = lean_ctor_get(x_12, 0); +x_15 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_15, 0, x_4); +lean_ctor_set(x_15, 1, x_5); +lean_ctor_set(x_15, 2, x_14); +lean_ctor_set(x_15, 3, x_6); +lean_ctor_set(x_12, 0, x_15); +return x_12; +} +else +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_16 = lean_ctor_get(x_12, 0); +x_17 = lean_ctor_get(x_12, 1); +lean_inc(x_17); +lean_inc(x_16); +lean_dec(x_12); +x_18 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_18, 0, x_4); +lean_ctor_set(x_18, 1, x_5); +lean_ctor_set(x_18, 2, x_16); +lean_ctor_set(x_18, 3, x_6); +x_19 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_19, 0, x_18); +lean_ctor_set(x_19, 1, x_17); +return x_19; +} +} +else +{ +uint8_t x_20; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +x_20 = !lean_is_exclusive(x_12); +if (x_20 == 0) +{ +return x_12; +} +else +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_12, 0); +x_22 = lean_ctor_get(x_12, 1); +lean_inc(x_22); lean_inc(x_21); -lean_inc(x_20); -lean_dec(x_11); -x_22 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_22, 0, x_20); -lean_ctor_set(x_22, 1, x_21); -return x_22; +lean_dec(x_12); +x_23 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_23, 0, x_21); +lean_ctor_set(x_23, 1, x_22); +return x_23; } } } @@ -7972,7 +8114,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_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__1; x_2 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___closed__1; -x_3 = lean_unsigned_to_nat(258u); +x_3 = lean_unsigned_to_nat(252u); x_4 = lean_unsigned_to_nat(25u); x_5 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -7996,7 +8138,7 @@ return x_10; } else { -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; x_11 = lean_ctor_get(x_1, 0); lean_inc(x_11); x_12 = lean_ctor_get(x_1, 2); @@ -8005,14 +8147,16 @@ x_13 = lean_ctor_get(x_1, 3); lean_inc(x_13); x_14 = lean_ctor_get(x_7, 0); lean_inc(x_14); -x_15 = lean_alloc_closure((void*)(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___lambda__1), 10, 5); -lean_closure_set(x_15, 0, x_14); -lean_closure_set(x_15, 1, x_12); -lean_closure_set(x_15, 2, x_11); -lean_closure_set(x_15, 3, x_7); -lean_closure_set(x_15, 4, x_13); -x_16 = l_Lean_Meta_Match_withGoalOf___rarg(x_1, x_15, x_2, x_3, x_4, x_5, x_6); -return x_16; +x_15 = lean_box(0); +x_16 = lean_alloc_closure((void*)(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___lambda__1), 11, 6); +lean_closure_set(x_16, 0, x_14); +lean_closure_set(x_16, 1, x_12); +lean_closure_set(x_16, 2, x_15); +lean_closure_set(x_16, 3, x_11); +lean_closure_set(x_16, 4, x_7); +lean_closure_set(x_16, 5, x_13); +x_17 = l_Lean_Meta_Match_withGoalOf___rarg(x_1, x_16, x_2, x_3, x_4, x_5, x_6); +return x_17; } } } @@ -8026,7 +8170,7 @@ x_9 = lean_apply_5(x_8, x_2, x_3, x_4, x_5, x_6); return x_9; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___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* x_13) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___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* x_13) { _start: { lean_object* x_14; @@ -8225,7 +8369,7 @@ return x_50; } } } -static lean_object* _init_l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__1() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__1() { _start: { lean_object* x_1; @@ -8233,484 +8377,738 @@ x_1 = lean_mk_string_from_bytes("_private.Lean.Meta.Match.Match.0.Lean.Meta.Matc return x_1; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__2() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__1; -x_2 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__1; -x_3 = lean_unsigned_to_nat(302u); +x_2 = l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__1; +x_3 = lean_unsigned_to_nat(296u); x_4 = lean_unsigned_to_nat(12u); x_5 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); return x_6; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___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: { if (lean_obj_tag(x_2) == 0) { -lean_object* x_8; lean_object* x_9; +lean_object* x_9; lean_object* x_10; +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_3); lean_dec(x_1); -x_8 = lean_box(0); -x_9 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_9, 0, x_8); -lean_ctor_set(x_9, 1, x_7); -return x_9; +x_9 = l_List_reverse___rarg(x_3); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_9); +lean_ctor_set(x_10, 1, x_8); +return x_10; } else { -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_28; -x_10 = lean_ctor_get(x_2, 0); -lean_inc(x_10); -x_11 = lean_ctor_get(x_2, 1); +lean_object* x_11; lean_object* x_12; +x_11 = lean_ctor_get(x_2, 0); lean_inc(x_11); -if (lean_is_exclusive(x_2)) { - lean_ctor_release(x_2, 0); - lean_ctor_release(x_2, 1); - x_12 = x_2; -} else { - lean_dec_ref(x_2); - x_12 = lean_box(0); -} -x_28 = lean_ctor_get(x_10, 4); -lean_inc(x_28); -if (lean_obj_tag(x_28) == 0) +x_12 = lean_ctor_get(x_11, 4); +lean_inc(x_12); +if (lean_obj_tag(x_12) == 0) { -lean_object* x_29; lean_object* x_30; -lean_dec(x_10); -x_29 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__2; +uint8_t x_13; +lean_dec(x_11); +x_13 = !lean_is_exclusive(x_2); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_14 = lean_ctor_get(x_2, 1); +x_15 = lean_ctor_get(x_2, 0); +lean_dec(x_15); +x_16 = l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__2; +lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); -x_30 = l_panic___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1(x_29, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_30) == 0) +x_17 = l_panic___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1(x_16, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_17) == 0) { -lean_object* x_31; lean_object* x_32; -x_31 = lean_ctor_get(x_30, 0); -lean_inc(x_31); -x_32 = lean_ctor_get(x_30, 1); -lean_inc(x_32); -lean_dec(x_30); -x_13 = x_31; -x_14 = x_32; -goto block_27; +lean_object* x_18; lean_object* x_19; +x_18 = lean_ctor_get(x_17, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_17, 1); +lean_inc(x_19); +lean_dec(x_17); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_18); +{ +lean_object* _tmp_1 = x_14; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_7 = x_19; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_8 = _tmp_7; +} +goto _start; } else { -uint8_t x_33; -lean_dec(x_12); -lean_dec(x_11); +uint8_t x_21; +lean_free_object(x_2); +lean_dec(x_14); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_33 = !lean_is_exclusive(x_30); -if (x_33 == 0) +x_21 = !lean_is_exclusive(x_17); +if (x_21 == 0) { -return x_30; +return x_17; } else { -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_30, 0); -x_35 = lean_ctor_get(x_30, 1); -lean_inc(x_35); -lean_inc(x_34); -lean_dec(x_30); -x_36 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_36, 0, x_34); -lean_ctor_set(x_36, 1, x_35); -return x_36; +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_17, 0); +x_23 = lean_ctor_get(x_17, 1); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_17); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +return x_24; } } } else { -lean_object* x_37; -x_37 = lean_ctor_get(x_28, 0); -lean_inc(x_37); -switch (lean_obj_tag(x_37)) { +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_2, 1); +lean_inc(x_25); +lean_dec(x_2); +x_26 = l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__2; +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_27 = l_panic___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1(x_26, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_27) == 0) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_3); +x_2 = x_25; +x_3 = x_30; +x_8 = x_29; +goto _start; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +lean_dec(x_25); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_32 = lean_ctor_get(x_27, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_27, 1); +lean_inc(x_33); +if (lean_is_exclusive(x_27)) { + lean_ctor_release(x_27, 0); + lean_ctor_release(x_27, 1); + x_34 = x_27; +} else { + lean_dec_ref(x_27); + x_34 = lean_box(0); +} +if (lean_is_scalar(x_34)) { + x_35 = lean_alloc_ctor(1, 2, 0); +} else { + x_35 = x_34; +} +lean_ctor_set(x_35, 0, x_32); +lean_ctor_set(x_35, 1, x_33); +return x_35; +} +} +} +else +{ +lean_object* x_36; +x_36 = lean_ctor_get(x_12, 0); +lean_inc(x_36); +switch (lean_obj_tag(x_36)) { case 0: { -uint8_t x_38; -x_38 = !lean_is_exclusive(x_10); -if (x_38 == 0) +uint8_t x_37; +x_37 = !lean_is_exclusive(x_2); +if (x_37 == 0) { -lean_object* x_39; lean_object* x_40; uint8_t x_41; -x_39 = lean_ctor_get(x_10, 5); -x_40 = lean_ctor_get(x_10, 4); -lean_dec(x_40); -x_41 = !lean_is_exclusive(x_28); -if (x_41 == 0) +lean_object* x_38; lean_object* x_39; uint8_t x_40; +x_38 = lean_ctor_get(x_2, 1); +x_39 = lean_ctor_get(x_2, 0); +lean_dec(x_39); +x_40 = !lean_is_exclusive(x_11); +if (x_40 == 0) { -lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; -x_42 = lean_ctor_get(x_28, 1); -x_43 = lean_ctor_get(x_28, 0); -lean_dec(x_43); -x_44 = lean_ctor_get(x_37, 0); -lean_inc(x_44); -lean_dec(x_37); -lean_inc(x_1); -x_45 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_45, 0, x_1); -lean_ctor_set(x_45, 1, x_44); -lean_ctor_set(x_28, 1, x_39); -lean_ctor_set(x_28, 0, x_45); -lean_ctor_set(x_10, 5, x_28); -lean_ctor_set(x_10, 4, x_42); -x_13 = x_10; -x_14 = x_7; -goto block_27; -} -else +lean_object* x_41; lean_object* x_42; uint8_t x_43; +x_41 = lean_ctor_get(x_11, 5); +x_42 = lean_ctor_get(x_11, 4); +lean_dec(x_42); +x_43 = !lean_is_exclusive(x_12); +if (x_43 == 0) { -lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; -x_46 = lean_ctor_get(x_28, 1); +lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_44 = lean_ctor_get(x_12, 1); +x_45 = lean_ctor_get(x_12, 0); +lean_dec(x_45); +x_46 = lean_ctor_get(x_36, 0); lean_inc(x_46); -lean_dec(x_28); -x_47 = lean_ctor_get(x_37, 0); -lean_inc(x_47); -lean_dec(x_37); +lean_dec(x_36); lean_inc(x_1); -x_48 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_48, 0, x_1); -lean_ctor_set(x_48, 1, x_47); -x_49 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_49, 0, x_48); -lean_ctor_set(x_49, 1, x_39); -lean_ctor_set(x_10, 5, x_49); -lean_ctor_set(x_10, 4, x_46); -x_13 = x_10; -x_14 = x_7; -goto block_27; +x_47 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_47, 0, x_1); +lean_ctor_set(x_47, 1, x_46); +lean_ctor_set(x_12, 1, x_41); +lean_ctor_set(x_12, 0, x_47); +lean_ctor_set(x_11, 5, x_12); +lean_ctor_set(x_11, 4, x_44); +lean_ctor_set(x_2, 1, x_3); +{ +lean_object* _tmp_1 = x_38; +lean_object* _tmp_2 = x_2; +x_2 = _tmp_1; +x_3 = _tmp_2; +} +goto _start; +} +else +{ +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; +x_49 = lean_ctor_get(x_12, 1); +lean_inc(x_49); +lean_dec(x_12); +x_50 = lean_ctor_get(x_36, 0); +lean_inc(x_50); +lean_dec(x_36); +lean_inc(x_1); +x_51 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_51, 0, x_1); +lean_ctor_set(x_51, 1, x_50); +x_52 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_52, 0, x_51); +lean_ctor_set(x_52, 1, x_41); +lean_ctor_set(x_11, 5, x_52); +lean_ctor_set(x_11, 4, x_49); +lean_ctor_set(x_2, 1, x_3); +{ +lean_object* _tmp_1 = x_38; +lean_object* _tmp_2 = x_2; +x_2 = _tmp_1; +x_3 = _tmp_2; +} +goto _start; } } else { -lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_50 = lean_ctor_get(x_10, 0); -x_51 = lean_ctor_get(x_10, 1); -x_52 = lean_ctor_get(x_10, 2); -x_53 = lean_ctor_get(x_10, 3); -x_54 = lean_ctor_get(x_10, 5); -lean_inc(x_54); -lean_inc(x_53); -lean_inc(x_52); -lean_inc(x_51); -lean_inc(x_50); -lean_dec(x_10); -x_55 = lean_ctor_get(x_28, 1); -lean_inc(x_55); -if (lean_is_exclusive(x_28)) { - lean_ctor_release(x_28, 0); - lean_ctor_release(x_28, 1); - x_56 = x_28; -} else { - lean_dec_ref(x_28); - x_56 = lean_box(0); -} -x_57 = lean_ctor_get(x_37, 0); +lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; +x_54 = lean_ctor_get(x_11, 0); +x_55 = lean_ctor_get(x_11, 1); +x_56 = lean_ctor_get(x_11, 2); +x_57 = lean_ctor_get(x_11, 3); +x_58 = lean_ctor_get(x_11, 5); +lean_inc(x_58); lean_inc(x_57); -lean_dec(x_37); -lean_inc(x_1); -x_58 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_58, 0, x_1); -lean_ctor_set(x_58, 1, x_57); -if (lean_is_scalar(x_56)) { - x_59 = lean_alloc_ctor(1, 2, 0); +lean_inc(x_56); +lean_inc(x_55); +lean_inc(x_54); +lean_dec(x_11); +x_59 = lean_ctor_get(x_12, 1); +lean_inc(x_59); +if (lean_is_exclusive(x_12)) { + lean_ctor_release(x_12, 0); + lean_ctor_release(x_12, 1); + x_60 = x_12; } else { - x_59 = x_56; + lean_dec_ref(x_12); + x_60 = lean_box(0); } -lean_ctor_set(x_59, 0, x_58); -lean_ctor_set(x_59, 1, x_54); -x_60 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_60, 0, x_50); -lean_ctor_set(x_60, 1, x_51); -lean_ctor_set(x_60, 2, x_52); -lean_ctor_set(x_60, 3, x_53); -lean_ctor_set(x_60, 4, x_55); -lean_ctor_set(x_60, 5, x_59); -x_13 = x_60; -x_14 = x_7; -goto block_27; +x_61 = lean_ctor_get(x_36, 0); +lean_inc(x_61); +lean_dec(x_36); +lean_inc(x_1); +x_62 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_62, 0, x_1); +lean_ctor_set(x_62, 1, x_61); +if (lean_is_scalar(x_60)) { + x_63 = lean_alloc_ctor(1, 2, 0); +} else { + x_63 = x_60; +} +lean_ctor_set(x_63, 0, x_62); +lean_ctor_set(x_63, 1, x_58); +x_64 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_64, 0, x_54); +lean_ctor_set(x_64, 1, x_55); +lean_ctor_set(x_64, 2, x_56); +lean_ctor_set(x_64, 3, x_57); +lean_ctor_set(x_64, 4, x_59); +lean_ctor_set(x_64, 5, x_63); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_64); +{ +lean_object* _tmp_1 = x_38; +lean_object* _tmp_2 = x_2; +x_2 = _tmp_1; +x_3 = _tmp_2; +} +goto _start; +} +} +else +{ +lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; +x_66 = lean_ctor_get(x_2, 1); +lean_inc(x_66); +lean_dec(x_2); +x_67 = lean_ctor_get(x_11, 0); +lean_inc(x_67); +x_68 = lean_ctor_get(x_11, 1); +lean_inc(x_68); +x_69 = lean_ctor_get(x_11, 2); +lean_inc(x_69); +x_70 = lean_ctor_get(x_11, 3); +lean_inc(x_70); +x_71 = lean_ctor_get(x_11, 5); +lean_inc(x_71); +if (lean_is_exclusive(x_11)) { + lean_ctor_release(x_11, 0); + lean_ctor_release(x_11, 1); + lean_ctor_release(x_11, 2); + lean_ctor_release(x_11, 3); + lean_ctor_release(x_11, 4); + lean_ctor_release(x_11, 5); + x_72 = x_11; +} else { + lean_dec_ref(x_11); + x_72 = lean_box(0); +} +x_73 = lean_ctor_get(x_12, 1); +lean_inc(x_73); +if (lean_is_exclusive(x_12)) { + lean_ctor_release(x_12, 0); + lean_ctor_release(x_12, 1); + x_74 = x_12; +} else { + lean_dec_ref(x_12); + x_74 = lean_box(0); +} +x_75 = lean_ctor_get(x_36, 0); +lean_inc(x_75); +lean_dec(x_36); +lean_inc(x_1); +x_76 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_76, 0, x_1); +lean_ctor_set(x_76, 1, x_75); +if (lean_is_scalar(x_74)) { + x_77 = lean_alloc_ctor(1, 2, 0); +} else { + x_77 = x_74; +} +lean_ctor_set(x_77, 0, x_76); +lean_ctor_set(x_77, 1, x_71); +if (lean_is_scalar(x_72)) { + x_78 = lean_alloc_ctor(0, 6, 0); +} else { + x_78 = x_72; +} +lean_ctor_set(x_78, 0, x_67); +lean_ctor_set(x_78, 1, x_68); +lean_ctor_set(x_78, 2, x_69); +lean_ctor_set(x_78, 3, x_70); +lean_ctor_set(x_78, 4, x_73); +lean_ctor_set(x_78, 5, x_77); +x_79 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_79, 0, x_78); +lean_ctor_set(x_79, 1, x_3); +x_2 = x_66; +x_3 = x_79; +goto _start; } } case 1: { -lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; -x_61 = lean_ctor_get(x_10, 0); -lean_inc(x_61); -x_62 = lean_ctor_get(x_10, 1); -lean_inc(x_62); -x_63 = lean_ctor_get(x_10, 2); -lean_inc(x_63); -x_64 = lean_ctor_get(x_10, 3); -lean_inc(x_64); -x_65 = lean_ctor_get(x_10, 5); -lean_inc(x_65); -lean_dec(x_10); -x_66 = lean_ctor_get(x_28, 1); -lean_inc(x_66); -lean_dec(x_28); -x_67 = lean_ctor_get(x_37, 0); -lean_inc(x_67); -lean_dec(x_37); -lean_inc(x_64); +lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; uint8_t x_87; +x_81 = lean_ctor_get(x_2, 1); +lean_inc(x_81); +lean_dec(x_2); +x_82 = lean_ctor_get(x_11, 0); +lean_inc(x_82); +x_83 = lean_ctor_get(x_11, 1); +lean_inc(x_83); +x_84 = lean_ctor_get(x_11, 2); +lean_inc(x_84); +x_85 = lean_ctor_get(x_11, 3); +lean_inc(x_85); +x_86 = lean_ctor_get(x_11, 5); +lean_inc(x_86); +lean_dec(x_11); +x_87 = !lean_is_exclusive(x_12); +if (x_87 == 0) +{ +lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; +x_88 = lean_ctor_get(x_12, 1); +x_89 = lean_ctor_get(x_12, 0); +lean_dec(x_89); +x_90 = lean_ctor_get(x_36, 0); +lean_inc(x_90); +lean_dec(x_36); +lean_inc(x_85); lean_inc(x_1); -x_68 = lean_alloc_closure((void*)(l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___lambda__1), 13, 8); -lean_closure_set(x_68, 0, x_67); -lean_closure_set(x_68, 1, x_1); -lean_closure_set(x_68, 2, x_65); -lean_closure_set(x_68, 3, x_61); -lean_closure_set(x_68, 4, x_62); -lean_closure_set(x_68, 5, x_63); -lean_closure_set(x_68, 6, x_64); -lean_closure_set(x_68, 7, x_66); +x_91 = lean_alloc_closure((void*)(l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___lambda__1), 13, 8); +lean_closure_set(x_91, 0, x_90); +lean_closure_set(x_91, 1, x_1); +lean_closure_set(x_91, 2, x_86); +lean_closure_set(x_91, 3, x_82); +lean_closure_set(x_91, 4, x_83); +lean_closure_set(x_91, 5, x_84); +lean_closure_set(x_91, 6, x_85); +lean_closure_set(x_91, 7, x_88); +lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); -x_69 = l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__4___rarg(x_64, x_68, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_69) == 0) +x_92 = l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__4___rarg(x_85, x_91, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_92) == 0) { -lean_object* x_70; lean_object* x_71; -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_13 = x_70; -x_14 = x_71; -goto block_27; +lean_object* x_93; lean_object* x_94; +x_93 = lean_ctor_get(x_92, 0); +lean_inc(x_93); +x_94 = lean_ctor_get(x_92, 1); +lean_inc(x_94); +lean_dec(x_92); +lean_ctor_set(x_12, 1, x_3); +lean_ctor_set(x_12, 0, x_93); +x_2 = x_81; +x_3 = x_12; +x_8 = x_94; +goto _start; } else { -uint8_t x_72; -lean_dec(x_12); -lean_dec(x_11); +uint8_t x_96; +lean_free_object(x_12); +lean_dec(x_81); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_72 = !lean_is_exclusive(x_69); -if (x_72 == 0) +x_96 = !lean_is_exclusive(x_92); +if (x_96 == 0) { -return x_69; +return x_92; } else { -lean_object* x_73; lean_object* x_74; lean_object* x_75; -x_73 = lean_ctor_get(x_69, 0); -x_74 = lean_ctor_get(x_69, 1); -lean_inc(x_74); -lean_inc(x_73); -lean_dec(x_69); -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_97; lean_object* x_98; lean_object* x_99; +x_97 = lean_ctor_get(x_92, 0); +x_98 = lean_ctor_get(x_92, 1); +lean_inc(x_98); +lean_inc(x_97); +lean_dec(x_92); +x_99 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_99, 0, x_97); +lean_ctor_set(x_99, 1, x_98); +return x_99; +} +} +} +else +{ +lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; +x_100 = lean_ctor_get(x_12, 1); +lean_inc(x_100); +lean_dec(x_12); +x_101 = lean_ctor_get(x_36, 0); +lean_inc(x_101); +lean_dec(x_36); +lean_inc(x_85); +lean_inc(x_1); +x_102 = lean_alloc_closure((void*)(l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___lambda__1), 13, 8); +lean_closure_set(x_102, 0, x_101); +lean_closure_set(x_102, 1, x_1); +lean_closure_set(x_102, 2, x_86); +lean_closure_set(x_102, 3, x_82); +lean_closure_set(x_102, 4, x_83); +lean_closure_set(x_102, 5, x_84); +lean_closure_set(x_102, 6, x_85); +lean_closure_set(x_102, 7, x_100); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_103 = l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__4___rarg(x_85, x_102, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_103) == 0) +{ +lean_object* x_104; lean_object* x_105; lean_object* x_106; +x_104 = lean_ctor_get(x_103, 0); +lean_inc(x_104); +x_105 = lean_ctor_get(x_103, 1); +lean_inc(x_105); +lean_dec(x_103); +x_106 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_106, 0, x_104); +lean_ctor_set(x_106, 1, x_3); +x_2 = x_81; +x_3 = x_106; +x_8 = x_105; +goto _start; +} +else +{ +lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; +lean_dec(x_81); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_108 = lean_ctor_get(x_103, 0); +lean_inc(x_108); +x_109 = lean_ctor_get(x_103, 1); +lean_inc(x_109); +if (lean_is_exclusive(x_103)) { + lean_ctor_release(x_103, 0); + lean_ctor_release(x_103, 1); + x_110 = x_103; +} else { + lean_dec_ref(x_103); + x_110 = lean_box(0); +} +if (lean_is_scalar(x_110)) { + x_111 = lean_alloc_ctor(1, 2, 0); +} else { + x_111 = x_110; +} +lean_ctor_set(x_111, 0, x_108); +lean_ctor_set(x_111, 1, x_109); +return x_111; } } } default: { -lean_object* x_76; lean_object* x_77; -lean_dec(x_37); -lean_dec(x_28); -lean_dec(x_10); -x_76 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__2; +uint8_t x_112; +lean_dec(x_36); +lean_dec(x_11); +x_112 = !lean_is_exclusive(x_12); +if (x_112 == 0) +{ +lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; +x_113 = lean_ctor_get(x_12, 1); +lean_dec(x_113); +x_114 = lean_ctor_get(x_12, 0); +lean_dec(x_114); +x_115 = lean_ctor_get(x_2, 1); +lean_inc(x_115); +lean_dec(x_2); +x_116 = l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__2; +lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); -x_77 = l_panic___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1(x_76, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_77) == 0) +x_117 = l_panic___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1(x_116, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_117) == 0) { -lean_object* x_78; lean_object* x_79; -x_78 = lean_ctor_get(x_77, 0); -lean_inc(x_78); -x_79 = lean_ctor_get(x_77, 1); -lean_inc(x_79); -lean_dec(x_77); -x_13 = x_78; -x_14 = x_79; -goto block_27; +lean_object* x_118; lean_object* x_119; +x_118 = lean_ctor_get(x_117, 0); +lean_inc(x_118); +x_119 = lean_ctor_get(x_117, 1); +lean_inc(x_119); +lean_dec(x_117); +lean_ctor_set(x_12, 1, x_3); +lean_ctor_set(x_12, 0, x_118); +x_2 = x_115; +x_3 = x_12; +x_8 = x_119; +goto _start; } else { -uint8_t x_80; -lean_dec(x_12); -lean_dec(x_11); +uint8_t x_121; +lean_dec(x_115); +lean_free_object(x_12); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_80 = !lean_is_exclusive(x_77); -if (x_80 == 0) +x_121 = !lean_is_exclusive(x_117); +if (x_121 == 0) { -return x_77; +return x_117; } else { -lean_object* x_81; lean_object* x_82; lean_object* x_83; -x_81 = lean_ctor_get(x_77, 0); -x_82 = lean_ctor_get(x_77, 1); -lean_inc(x_82); -lean_inc(x_81); -lean_dec(x_77); -x_83 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_83, 0, x_81); -lean_ctor_set(x_83, 1, x_82); -return x_83; +lean_object* x_122; lean_object* x_123; lean_object* x_124; +x_122 = lean_ctor_get(x_117, 0); +x_123 = lean_ctor_get(x_117, 1); +lean_inc(x_123); +lean_inc(x_122); +lean_dec(x_117); +x_124 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_124, 0, x_122); +lean_ctor_set(x_124, 1, x_123); +return x_124; } } } -} -} -block_27: -{ -lean_object* x_15; -x_15 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2(x_1, x_11, x_3, x_4, x_5, x_6, x_14); -if (lean_obj_tag(x_15) == 0) -{ -uint8_t x_16; -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; -x_17 = lean_ctor_get(x_15, 0); -if (lean_is_scalar(x_12)) { - x_18 = lean_alloc_ctor(1, 2, 0); -} else { - x_18 = x_12; -} -lean_ctor_set(x_18, 0, x_13); -lean_ctor_set(x_18, 1, x_17); -lean_ctor_set(x_15, 0, x_18); -return x_15; -} -else -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_15, 0); -x_20 = lean_ctor_get(x_15, 1); -lean_inc(x_20); -lean_inc(x_19); -lean_dec(x_15); -if (lean_is_scalar(x_12)) { - x_21 = lean_alloc_ctor(1, 2, 0); -} else { - x_21 = x_12; -} -lean_ctor_set(x_21, 0, x_13); -lean_ctor_set(x_21, 1, x_19); -x_22 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_22, 0, x_21); -lean_ctor_set(x_22, 1, x_20); -return x_22; -} -} else { -uint8_t x_23; -lean_dec(x_13); +lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_dec(x_12); -x_23 = !lean_is_exclusive(x_15); -if (x_23 == 0) +x_125 = lean_ctor_get(x_2, 1); +lean_inc(x_125); +lean_dec(x_2); +x_126 = l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__2; +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_127 = l_panic___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1(x_126, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_127) == 0) { -return x_15; +lean_object* x_128; lean_object* x_129; lean_object* x_130; +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_alloc_ctor(1, 2, 0); +lean_ctor_set(x_130, 0, x_128); +lean_ctor_set(x_130, 1, x_3); +x_2 = x_125; +x_3 = x_130; +x_8 = x_129; +goto _start; } else { -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_15, 0); -x_25 = lean_ctor_get(x_15, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_15); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -} -} -} -} -LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -lean_object* x_11; -x_11 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2(x_1, x_2, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_11) == 0) -{ -uint8_t x_12; -x_12 = !lean_is_exclusive(x_11); -if (x_12 == 0) -{ -lean_object* x_13; lean_object* x_14; -x_13 = lean_ctor_get(x_11, 0); -x_14 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_14, 0, x_3); -lean_ctor_set(x_14, 1, x_4); -lean_ctor_set(x_14, 2, x_13); -lean_ctor_set(x_14, 3, x_5); -lean_ctor_set(x_11, 0, x_14); -return x_11; -} -else -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_15 = lean_ctor_get(x_11, 0); -x_16 = lean_ctor_get(x_11, 1); -lean_inc(x_16); -lean_inc(x_15); -lean_dec(x_11); -x_17 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_17, 0, x_3); -lean_ctor_set(x_17, 1, x_4); -lean_ctor_set(x_17, 2, x_15); -lean_ctor_set(x_17, 3, x_5); -x_18 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_18, 0, x_17); -lean_ctor_set(x_18, 1, x_16); -return x_18; -} -} -else -{ -uint8_t x_19; +lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; +lean_dec(x_125); +lean_dec(x_7); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_19 = !lean_is_exclusive(x_11); -if (x_19 == 0) +lean_dec(x_1); +x_132 = lean_ctor_get(x_127, 0); +lean_inc(x_132); +x_133 = lean_ctor_get(x_127, 1); +lean_inc(x_133); +if (lean_is_exclusive(x_127)) { + lean_ctor_release(x_127, 0); + lean_ctor_release(x_127, 1); + x_134 = x_127; +} else { + lean_dec_ref(x_127); + x_134 = lean_box(0); +} +if (lean_is_scalar(x_134)) { + x_135 = lean_alloc_ctor(1, 2, 0); +} else { + x_135 = x_134; +} +lean_ctor_set(x_135, 0, x_132); +lean_ctor_set(x_135, 1, x_133); +return x_135; +} +} +} +} +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___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: { -return x_11; +lean_object* x_12; +x_12 = l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2(x_1, x_2, x_3, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_12) == 0) +{ +uint8_t x_13; +x_13 = !lean_is_exclusive(x_12); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; +x_14 = lean_ctor_get(x_12, 0); +x_15 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_15, 0, x_4); +lean_ctor_set(x_15, 1, x_5); +lean_ctor_set(x_15, 2, x_14); +lean_ctor_set(x_15, 3, x_6); +lean_ctor_set(x_12, 0, x_15); +return x_12; } else { -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_ctor_get(x_11, 0); -x_21 = lean_ctor_get(x_11, 1); +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_16 = lean_ctor_get(x_12, 0); +x_17 = lean_ctor_get(x_12, 1); +lean_inc(x_17); +lean_inc(x_16); +lean_dec(x_12); +x_18 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_18, 0, x_4); +lean_ctor_set(x_18, 1, x_5); +lean_ctor_set(x_18, 2, x_16); +lean_ctor_set(x_18, 3, x_6); +x_19 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_19, 0, x_18); +lean_ctor_set(x_19, 1, x_17); +return x_19; +} +} +else +{ +uint8_t x_20; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +x_20 = !lean_is_exclusive(x_12); +if (x_20 == 0) +{ +return x_12; +} +else +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_12, 0); +x_22 = lean_ctor_get(x_12, 1); +lean_inc(x_22); lean_inc(x_21); -lean_inc(x_20); -lean_dec(x_11); -x_22 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_22, 0, x_20); -lean_ctor_set(x_22, 1, x_21); -return x_22; +lean_dec(x_12); +x_23 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_23, 0, x_21); +lean_ctor_set(x_23, 1, x_22); +return x_23; } } } @@ -8720,8 +9118,8 @@ _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_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__1; -x_2 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__1; -x_3 = lean_unsigned_to_nat(292u); +x_2 = l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__1; +x_3 = lean_unsigned_to_nat(286u); x_4 = lean_unsigned_to_nat(26u); x_5 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -8745,7 +9143,7 @@ return x_10; } else { -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; x_11 = lean_ctor_get(x_1, 0); lean_inc(x_11); x_12 = lean_ctor_get(x_1, 2); @@ -8757,14 +9155,16 @@ lean_inc(x_14); x_15 = lean_ctor_get(x_7, 1); lean_inc(x_15); lean_dec(x_7); -x_16 = lean_alloc_closure((void*)(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___lambda__1), 10, 5); -lean_closure_set(x_16, 0, x_14); -lean_closure_set(x_16, 1, x_12); -lean_closure_set(x_16, 2, x_11); -lean_closure_set(x_16, 3, x_15); -lean_closure_set(x_16, 4, x_13); -x_17 = l_Lean_Meta_Match_withGoalOf___rarg(x_1, x_16, x_2, x_3, x_4, x_5, x_6); -return x_17; +x_16 = lean_box(0); +x_17 = lean_alloc_closure((void*)(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___lambda__1), 11, 6); +lean_closure_set(x_17, 0, x_14); +lean_closure_set(x_17, 1, x_12); +lean_closure_set(x_17, 2, x_16); +lean_closure_set(x_17, 3, x_11); +lean_closure_set(x_17, 4, x_15); +lean_closure_set(x_17, 5, x_13); +x_18 = l_Lean_Meta_Match_withGoalOf___rarg(x_1, x_17, x_2, x_3, x_4, x_5, x_6); +return x_18; } } } @@ -10634,7 +11034,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_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__1; x_2 = l_Lean_Meta_Match_processInaccessibleAsCtor___closed__1; -x_3 = lean_unsigned_to_nat(396u); +x_3 = lean_unsigned_to_nat(390u); x_4 = lean_unsigned_to_nat(9u); x_5 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -12130,7 +12530,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_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__1; x_2 = l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__10___closed__1; -x_3 = lean_unsigned_to_nat(462u); +x_3 = lean_unsigned_to_nat(456u); x_4 = lean_unsigned_to_nat(37u); x_5 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -12913,7 +13313,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_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__1; x_2 = l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__10___closed__1; -x_3 = lean_unsigned_to_nat(415u); +x_3 = lean_unsigned_to_nat(409u); x_4 = lean_unsigned_to_nat(26u); x_5 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -13383,7 +13783,7 @@ x_9 = l_Lean_Meta_Match_withGoalOf___rarg(x_1, x_8, x_2, x_3, x_4, x_5, x_6); return x_9; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__1() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__1() { _start: { lean_object* x_1; @@ -13391,842 +13791,587 @@ x_1 = lean_mk_string_from_bytes("_private.Lean.Meta.Match.Match.0.Lean.Meta.Matc return x_1; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__2() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__1; -x_2 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__1; -x_3 = lean_unsigned_to_nat(489u); +x_2 = l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__1; +x_3 = lean_unsigned_to_nat(483u); x_4 = lean_unsigned_to_nat(16u); x_5 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); return x_6; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___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_2) == 0) { -lean_object* x_8; lean_object* x_9; +lean_object* x_9; lean_object* x_10; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_9 = l_List_reverse___rarg(x_3); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_9); +lean_ctor_set(x_10, 1, x_8); +return x_10; +} +else +{ +lean_object* x_11; lean_object* x_12; +x_11 = lean_ctor_get(x_2, 0); +lean_inc(x_11); +x_12 = lean_ctor_get(x_11, 4); +lean_inc(x_12); +if (lean_obj_tag(x_12) == 0) +{ +uint8_t x_13; +lean_dec(x_11); +x_13 = !lean_is_exclusive(x_2); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_14 = lean_ctor_get(x_2, 1); +x_15 = lean_ctor_get(x_2, 0); +lean_dec(x_15); +x_16 = l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__2; +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_17 = l_panic___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1(x_16, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_17) == 0) +{ +lean_object* x_18; lean_object* x_19; +x_18 = lean_ctor_get(x_17, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_17, 1); +lean_inc(x_19); +lean_dec(x_17); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_18); +{ +lean_object* _tmp_1 = x_14; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_7 = x_19; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_8 = _tmp_7; +} +goto _start; +} +else +{ +uint8_t x_21; +lean_free_object(x_2); +lean_dec(x_14); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_8 = lean_box(0); -x_9 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_9, 0, x_8); -lean_ctor_set(x_9, 1, x_7); -return x_9; -} -else +x_21 = !lean_is_exclusive(x_17); +if (x_21 == 0) { -lean_object* x_10; lean_object* x_11; -x_10 = lean_ctor_get(x_2, 0); -lean_inc(x_10); -x_11 = lean_ctor_get(x_10, 4); -lean_inc(x_11); -if (lean_obj_tag(x_11) == 0) -{ -uint8_t x_12; -lean_dec(x_10); -x_12 = !lean_is_exclusive(x_2); -if (x_12 == 0) -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_13 = lean_ctor_get(x_2, 1); -x_14 = lean_ctor_get(x_2, 0); -lean_dec(x_14); -x_15 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__2; -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -x_16 = l_panic___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1(x_15, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_16) == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -x_19 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1(x_1, x_13, x_3, x_4, x_5, x_6, x_18); -if (lean_obj_tag(x_19) == 0) -{ -uint8_t x_20; -x_20 = !lean_is_exclusive(x_19); -if (x_20 == 0) -{ -lean_object* x_21; -x_21 = lean_ctor_get(x_19, 0); -lean_ctor_set(x_2, 1, x_21); -lean_ctor_set(x_2, 0, x_17); -lean_ctor_set(x_19, 0, x_2); -return x_19; +return x_17; } else { lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_19, 0); -x_23 = lean_ctor_get(x_19, 1); +x_22 = lean_ctor_get(x_17, 0); +x_23 = lean_ctor_get(x_17, 1); lean_inc(x_23); lean_inc(x_22); -lean_dec(x_19); -lean_ctor_set(x_2, 1, x_22); -lean_ctor_set(x_2, 0, x_17); -x_24 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_24, 0, x_2); +lean_dec(x_17); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); lean_ctor_set(x_24, 1, x_23); return x_24; } } -else -{ -uint8_t x_25; -lean_dec(x_17); -lean_free_object(x_2); -x_25 = !lean_is_exclusive(x_19); -if (x_25 == 0) -{ -return x_19; } else { -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_19, 0); -x_27 = lean_ctor_get(x_19, 1); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_19); -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 -{ -uint8_t x_29; -lean_free_object(x_2); -lean_dec(x_13); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_29 = !lean_is_exclusive(x_16); -if (x_29 == 0) -{ -return x_16; -} -else -{ -lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_30 = lean_ctor_get(x_16, 0); -x_31 = lean_ctor_get(x_16, 1); -lean_inc(x_31); -lean_inc(x_30); -lean_dec(x_16); -x_32 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_32, 0, x_30); -lean_ctor_set(x_32, 1, x_31); -return x_32; -} -} -} -else -{ -lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_33 = lean_ctor_get(x_2, 1); -lean_inc(x_33); +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_2, 1); +lean_inc(x_25); lean_dec(x_2); -x_34 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__2; +x_26 = l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__2; +lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); -x_35 = l_panic___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1(x_34, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_35) == 0) +x_27 = l_panic___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1(x_26, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_27) == 0) { -lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_36 = lean_ctor_get(x_35, 0); -lean_inc(x_36); -x_37 = lean_ctor_get(x_35, 1); -lean_inc(x_37); -lean_dec(x_35); -x_38 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1(x_1, x_33, x_3, x_4, x_5, x_6, x_37); -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; -x_39 = lean_ctor_get(x_38, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_38, 1); -lean_inc(x_40); -if (lean_is_exclusive(x_38)) { - lean_ctor_release(x_38, 0); - lean_ctor_release(x_38, 1); - x_41 = x_38; -} else { - lean_dec_ref(x_38); - x_41 = lean_box(0); -} -x_42 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_42, 0, x_36); -lean_ctor_set(x_42, 1, x_39); -if (lean_is_scalar(x_41)) { - x_43 = lean_alloc_ctor(0, 2, 0); -} else { - x_43 = x_41; -} -lean_ctor_set(x_43, 0, x_42); -lean_ctor_set(x_43, 1, x_40); -return x_43; +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_3); +x_2 = x_25; +x_3 = x_30; +x_8 = x_29; +goto _start; } else { -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; -lean_dec(x_36); -x_44 = lean_ctor_get(x_38, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_38, 1); -lean_inc(x_45); -if (lean_is_exclusive(x_38)) { - lean_ctor_release(x_38, 0); - lean_ctor_release(x_38, 1); - x_46 = x_38; -} else { - lean_dec_ref(x_38); - x_46 = lean_box(0); -} -if (lean_is_scalar(x_46)) { - x_47 = lean_alloc_ctor(1, 2, 0); -} else { - x_47 = x_46; -} -lean_ctor_set(x_47, 0, x_44); -lean_ctor_set(x_47, 1, x_45); -return x_47; -} -} -else -{ -lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; -lean_dec(x_33); +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +lean_dec(x_25); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_48 = lean_ctor_get(x_35, 0); -lean_inc(x_48); -x_49 = lean_ctor_get(x_35, 1); -lean_inc(x_49); -if (lean_is_exclusive(x_35)) { - lean_ctor_release(x_35, 0); - lean_ctor_release(x_35, 1); - x_50 = x_35; +x_32 = lean_ctor_get(x_27, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_27, 1); +lean_inc(x_33); +if (lean_is_exclusive(x_27)) { + lean_ctor_release(x_27, 0); + lean_ctor_release(x_27, 1); + x_34 = x_27; } else { - lean_dec_ref(x_35); - x_50 = lean_box(0); + lean_dec_ref(x_27); + x_34 = lean_box(0); } -if (lean_is_scalar(x_50)) { - x_51 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_34)) { + x_35 = lean_alloc_ctor(1, 2, 0); } else { - x_51 = x_50; + x_35 = x_34; } -lean_ctor_set(x_51, 0, x_48); -lean_ctor_set(x_51, 1, x_49); -return x_51; +lean_ctor_set(x_35, 0, x_32); +lean_ctor_set(x_35, 1, x_33); +return x_35; } } } else { -uint8_t x_52; -x_52 = !lean_is_exclusive(x_2); -if (x_52 == 0) +uint8_t x_36; +x_36 = !lean_is_exclusive(x_2); +if (x_36 == 0) { -lean_object* x_53; lean_object* x_54; uint8_t x_55; -x_53 = lean_ctor_get(x_2, 1); -x_54 = lean_ctor_get(x_2, 0); -lean_dec(x_54); -x_55 = !lean_is_exclusive(x_10); +lean_object* x_37; lean_object* x_38; uint8_t x_39; +x_37 = lean_ctor_get(x_2, 1); +x_38 = lean_ctor_get(x_2, 0); +lean_dec(x_38); +x_39 = !lean_is_exclusive(x_11); +if (x_39 == 0) +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46; +x_40 = lean_ctor_get(x_11, 0); +x_41 = lean_ctor_get(x_11, 1); +x_42 = lean_ctor_get(x_11, 2); +x_43 = lean_ctor_get(x_11, 3); +x_44 = lean_ctor_get(x_11, 5); +x_45 = lean_ctor_get(x_11, 4); +lean_dec(x_45); +x_46 = !lean_is_exclusive(x_12); +if (x_46 == 0) +{ +lean_object* x_47; lean_object* x_48; uint8_t x_49; lean_object* x_50; +x_47 = lean_ctor_get(x_12, 0); +x_48 = lean_ctor_get(x_12, 1); +x_49 = 0; +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_50 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_49, x_47, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_50) == 0) +{ +lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_51 = lean_ctor_get(x_50, 0); +lean_inc(x_51); +x_52 = lean_ctor_get(x_50, 1); +lean_inc(x_52); +lean_dec(x_50); +lean_inc(x_1); +x_53 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_53, 0, x_1); +lean_ctor_set(x_53, 1, x_51); +lean_ctor_set(x_12, 1, x_44); +lean_ctor_set(x_12, 0, x_53); +lean_ctor_set(x_11, 5, x_12); +lean_ctor_set(x_11, 4, x_48); +lean_ctor_set(x_2, 1, x_3); +{ +lean_object* _tmp_1 = x_37; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_7 = x_52; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_8 = _tmp_7; +} +goto _start; +} +else +{ +uint8_t x_55; +lean_free_object(x_12); +lean_dec(x_48); +lean_free_object(x_11); +lean_dec(x_44); +lean_dec(x_43); +lean_dec(x_42); +lean_dec(x_41); +lean_dec(x_40); +lean_free_object(x_2); +lean_dec(x_37); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_55 = !lean_is_exclusive(x_50); if (x_55 == 0) { -lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; uint8_t x_62; -x_56 = lean_ctor_get(x_10, 0); -x_57 = lean_ctor_get(x_10, 1); -x_58 = lean_ctor_get(x_10, 2); -x_59 = lean_ctor_get(x_10, 3); -x_60 = lean_ctor_get(x_10, 5); -x_61 = lean_ctor_get(x_10, 4); -lean_dec(x_61); -x_62 = !lean_is_exclusive(x_11); -if (x_62 == 0) -{ -lean_object* x_63; lean_object* x_64; uint8_t x_65; lean_object* x_66; -x_63 = lean_ctor_get(x_11, 0); -x_64 = lean_ctor_get(x_11, 1); -x_65 = 0; -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -x_66 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_65, x_63, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_66) == 0) -{ -lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; -x_67 = lean_ctor_get(x_66, 0); -lean_inc(x_67); -x_68 = lean_ctor_get(x_66, 1); -lean_inc(x_68); -lean_dec(x_66); -lean_inc(x_1); -x_69 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_69, 0, x_1); -lean_ctor_set(x_69, 1, x_67); -lean_ctor_set(x_11, 1, x_60); -lean_ctor_set(x_11, 0, x_69); -lean_ctor_set(x_10, 5, x_11); -lean_ctor_set(x_10, 4, x_64); -x_70 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1(x_1, x_53, x_3, x_4, x_5, x_6, x_68); -if (lean_obj_tag(x_70) == 0) -{ -uint8_t x_71; -x_71 = !lean_is_exclusive(x_70); -if (x_71 == 0) -{ -lean_object* x_72; -x_72 = lean_ctor_get(x_70, 0); -lean_ctor_set(x_2, 1, x_72); -lean_ctor_set(x_70, 0, x_2); -return x_70; +return x_50; } else { -lean_object* x_73; lean_object* x_74; lean_object* x_75; -x_73 = lean_ctor_get(x_70, 0); -x_74 = lean_ctor_get(x_70, 1); +lean_object* x_56; lean_object* x_57; lean_object* x_58; +x_56 = lean_ctor_get(x_50, 0); +x_57 = lean_ctor_get(x_50, 1); +lean_inc(x_57); +lean_inc(x_56); +lean_dec(x_50); +x_58 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_58, 0, x_56); +lean_ctor_set(x_58, 1, x_57); +return x_58; +} +} +} +else +{ +lean_object* x_59; lean_object* x_60; uint8_t x_61; lean_object* x_62; +x_59 = lean_ctor_get(x_12, 0); +x_60 = lean_ctor_get(x_12, 1); +lean_inc(x_60); +lean_inc(x_59); +lean_dec(x_12); +x_61 = 0; +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_62 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_61, x_59, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_62) == 0) +{ +lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; +x_63 = lean_ctor_get(x_62, 0); +lean_inc(x_63); +x_64 = lean_ctor_get(x_62, 1); +lean_inc(x_64); +lean_dec(x_62); +lean_inc(x_1); +x_65 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_65, 0, x_1); +lean_ctor_set(x_65, 1, x_63); +x_66 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_66, 0, x_65); +lean_ctor_set(x_66, 1, x_44); +lean_ctor_set(x_11, 5, x_66); +lean_ctor_set(x_11, 4, x_60); +lean_ctor_set(x_2, 1, x_3); +{ +lean_object* _tmp_1 = x_37; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_7 = x_64; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_8 = _tmp_7; +} +goto _start; +} +else +{ +lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; +lean_dec(x_60); +lean_free_object(x_11); +lean_dec(x_44); +lean_dec(x_43); +lean_dec(x_42); +lean_dec(x_41); +lean_dec(x_40); +lean_free_object(x_2); +lean_dec(x_37); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_68 = lean_ctor_get(x_62, 0); +lean_inc(x_68); +x_69 = lean_ctor_get(x_62, 1); +lean_inc(x_69); +if (lean_is_exclusive(x_62)) { + lean_ctor_release(x_62, 0); + lean_ctor_release(x_62, 1); + x_70 = x_62; +} else { + lean_dec_ref(x_62); + x_70 = lean_box(0); +} +if (lean_is_scalar(x_70)) { + x_71 = lean_alloc_ctor(1, 2, 0); +} else { + x_71 = x_70; +} +lean_ctor_set(x_71, 0, x_68); +lean_ctor_set(x_71, 1, x_69); +return x_71; +} +} +} +else +{ +lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; uint8_t x_80; lean_object* x_81; +x_72 = lean_ctor_get(x_11, 0); +x_73 = lean_ctor_get(x_11, 1); +x_74 = lean_ctor_get(x_11, 2); +x_75 = lean_ctor_get(x_11, 3); +x_76 = lean_ctor_get(x_11, 5); +lean_inc(x_76); +lean_inc(x_75); lean_inc(x_74); lean_inc(x_73); -lean_dec(x_70); -lean_ctor_set(x_2, 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); -return x_75; -} -} -else -{ -uint8_t x_76; -lean_dec(x_10); -lean_free_object(x_2); -x_76 = !lean_is_exclusive(x_70); -if (x_76 == 0) -{ -return x_70; -} -else -{ -lean_object* x_77; lean_object* x_78; lean_object* x_79; -x_77 = lean_ctor_get(x_70, 0); -x_78 = lean_ctor_get(x_70, 1); -lean_inc(x_78); -lean_inc(x_77); -lean_dec(x_70); -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; -} -} -} -else -{ -uint8_t x_80; -lean_free_object(x_11); -lean_dec(x_64); -lean_free_object(x_10); -lean_dec(x_60); -lean_dec(x_59); -lean_dec(x_58); -lean_dec(x_57); -lean_dec(x_56); -lean_free_object(x_2); -lean_dec(x_53); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_80 = !lean_is_exclusive(x_66); -if (x_80 == 0) -{ -return x_66; -} -else -{ -lean_object* x_81; lean_object* x_82; lean_object* x_83; -x_81 = lean_ctor_get(x_66, 0); -x_82 = lean_ctor_get(x_66, 1); -lean_inc(x_82); -lean_inc(x_81); -lean_dec(x_66); -x_83 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_83, 0, x_81); -lean_ctor_set(x_83, 1, x_82); -return x_83; -} -} -} -else -{ -lean_object* x_84; lean_object* x_85; uint8_t x_86; lean_object* x_87; -x_84 = lean_ctor_get(x_11, 0); -x_85 = lean_ctor_get(x_11, 1); -lean_inc(x_85); -lean_inc(x_84); +lean_inc(x_72); lean_dec(x_11); -x_86 = 0; +x_77 = lean_ctor_get(x_12, 0); +lean_inc(x_77); +x_78 = lean_ctor_get(x_12, 1); +lean_inc(x_78); +if (lean_is_exclusive(x_12)) { + lean_ctor_release(x_12, 0); + lean_ctor_release(x_12, 1); + x_79 = x_12; +} else { + lean_dec_ref(x_12); + x_79 = lean_box(0); +} +x_80 = 0; +lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); -x_87 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_86, x_84, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_87) == 0) +x_81 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_80, x_77, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_81) == 0) { -lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; -x_88 = lean_ctor_get(x_87, 0); +lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; +x_82 = lean_ctor_get(x_81, 0); +lean_inc(x_82); +x_83 = lean_ctor_get(x_81, 1); +lean_inc(x_83); +lean_dec(x_81); +lean_inc(x_1); +x_84 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_84, 0, x_1); +lean_ctor_set(x_84, 1, x_82); +if (lean_is_scalar(x_79)) { + x_85 = lean_alloc_ctor(1, 2, 0); +} else { + x_85 = x_79; +} +lean_ctor_set(x_85, 0, x_84); +lean_ctor_set(x_85, 1, x_76); +x_86 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_86, 0, x_72); +lean_ctor_set(x_86, 1, x_73); +lean_ctor_set(x_86, 2, x_74); +lean_ctor_set(x_86, 3, x_75); +lean_ctor_set(x_86, 4, x_78); +lean_ctor_set(x_86, 5, x_85); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_86); +{ +lean_object* _tmp_1 = x_37; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_7 = x_83; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_8 = _tmp_7; +} +goto _start; +} +else +{ +lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; +lean_dec(x_79); +lean_dec(x_78); +lean_dec(x_76); +lean_dec(x_75); +lean_dec(x_74); +lean_dec(x_73); +lean_dec(x_72); +lean_free_object(x_2); +lean_dec(x_37); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_88 = lean_ctor_get(x_81, 0); lean_inc(x_88); -x_89 = lean_ctor_get(x_87, 1); +x_89 = lean_ctor_get(x_81, 1); lean_inc(x_89); -lean_dec(x_87); -lean_inc(x_1); -x_90 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_90, 0, x_1); -lean_ctor_set(x_90, 1, x_88); -x_91 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_91, 0, x_90); -lean_ctor_set(x_91, 1, x_60); -lean_ctor_set(x_10, 5, x_91); -lean_ctor_set(x_10, 4, x_85); -x_92 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1(x_1, x_53, x_3, x_4, x_5, x_6, x_89); -if (lean_obj_tag(x_92) == 0) -{ -lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; -x_93 = lean_ctor_get(x_92, 0); -lean_inc(x_93); -x_94 = lean_ctor_get(x_92, 1); -lean_inc(x_94); -if (lean_is_exclusive(x_92)) { - lean_ctor_release(x_92, 0); - lean_ctor_release(x_92, 1); - x_95 = x_92; +if (lean_is_exclusive(x_81)) { + lean_ctor_release(x_81, 0); + lean_ctor_release(x_81, 1); + x_90 = x_81; } else { - lean_dec_ref(x_92); - x_95 = lean_box(0); + lean_dec_ref(x_81); + x_90 = lean_box(0); } -lean_ctor_set(x_2, 1, x_93); -if (lean_is_scalar(x_95)) { - x_96 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_90)) { + x_91 = lean_alloc_ctor(1, 2, 0); } else { - x_96 = x_95; + x_91 = x_90; } -lean_ctor_set(x_96, 0, x_2); -lean_ctor_set(x_96, 1, x_94); -return x_96; -} -else -{ -lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; -lean_dec(x_10); -lean_free_object(x_2); -x_97 = lean_ctor_get(x_92, 0); -lean_inc(x_97); -x_98 = lean_ctor_get(x_92, 1); -lean_inc(x_98); -if (lean_is_exclusive(x_92)) { - lean_ctor_release(x_92, 0); - lean_ctor_release(x_92, 1); - x_99 = x_92; -} else { - lean_dec_ref(x_92); - x_99 = lean_box(0); -} -if (lean_is_scalar(x_99)) { - x_100 = lean_alloc_ctor(1, 2, 0); -} else { - x_100 = x_99; -} -lean_ctor_set(x_100, 0, x_97); -lean_ctor_set(x_100, 1, x_98); -return x_100; -} -} -else -{ -lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; -lean_dec(x_85); -lean_free_object(x_10); -lean_dec(x_60); -lean_dec(x_59); -lean_dec(x_58); -lean_dec(x_57); -lean_dec(x_56); -lean_free_object(x_2); -lean_dec(x_53); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_101 = lean_ctor_get(x_87, 0); -lean_inc(x_101); -x_102 = lean_ctor_get(x_87, 1); -lean_inc(x_102); -if (lean_is_exclusive(x_87)) { - lean_ctor_release(x_87, 0); - lean_ctor_release(x_87, 1); - x_103 = x_87; -} else { - lean_dec_ref(x_87); - x_103 = lean_box(0); -} -if (lean_is_scalar(x_103)) { - x_104 = lean_alloc_ctor(1, 2, 0); -} else { - x_104 = x_103; -} -lean_ctor_set(x_104, 0, x_101); -lean_ctor_set(x_104, 1, x_102); -return x_104; +lean_ctor_set(x_91, 0, x_88); +lean_ctor_set(x_91, 1, x_89); +return x_91; } } } else { -lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; uint8_t x_113; lean_object* x_114; -x_105 = lean_ctor_get(x_10, 0); -x_106 = lean_ctor_get(x_10, 1); -x_107 = lean_ctor_get(x_10, 2); -x_108 = lean_ctor_get(x_10, 3); -x_109 = lean_ctor_get(x_10, 5); -lean_inc(x_109); -lean_inc(x_108); -lean_inc(x_107); -lean_inc(x_106); -lean_inc(x_105); -lean_dec(x_10); -x_110 = lean_ctor_get(x_11, 0); -lean_inc(x_110); -x_111 = lean_ctor_get(x_11, 1); -lean_inc(x_111); -if (lean_is_exclusive(x_11)) { - lean_ctor_release(x_11, 0); - lean_ctor_release(x_11, 1); - x_112 = x_11; -} else { - lean_dec_ref(x_11); - x_112 = lean_box(0); -} -x_113 = 0; -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -x_114 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_113, x_110, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_114) == 0) -{ -lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; -x_115 = lean_ctor_get(x_114, 0); -lean_inc(x_115); -x_116 = lean_ctor_get(x_114, 1); -lean_inc(x_116); -lean_dec(x_114); -lean_inc(x_1); -x_117 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_117, 0, x_1); -lean_ctor_set(x_117, 1, x_115); -if (lean_is_scalar(x_112)) { - x_118 = lean_alloc_ctor(1, 2, 0); -} else { - x_118 = x_112; -} -lean_ctor_set(x_118, 0, x_117); -lean_ctor_set(x_118, 1, x_109); -x_119 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_119, 0, x_105); -lean_ctor_set(x_119, 1, x_106); -lean_ctor_set(x_119, 2, x_107); -lean_ctor_set(x_119, 3, x_108); -lean_ctor_set(x_119, 4, x_111); -lean_ctor_set(x_119, 5, x_118); -x_120 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1(x_1, x_53, x_3, x_4, x_5, x_6, x_116); -if (lean_obj_tag(x_120) == 0) -{ -lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; -x_121 = lean_ctor_get(x_120, 0); -lean_inc(x_121); -x_122 = lean_ctor_get(x_120, 1); -lean_inc(x_122); -if (lean_is_exclusive(x_120)) { - lean_ctor_release(x_120, 0); - lean_ctor_release(x_120, 1); - x_123 = x_120; -} else { - lean_dec_ref(x_120); - x_123 = lean_box(0); -} -lean_ctor_set(x_2, 1, x_121); -lean_ctor_set(x_2, 0, x_119); -if (lean_is_scalar(x_123)) { - x_124 = lean_alloc_ctor(0, 2, 0); -} else { - x_124 = x_123; -} -lean_ctor_set(x_124, 0, x_2); -lean_ctor_set(x_124, 1, x_122); -return x_124; -} -else -{ -lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; -lean_dec(x_119); -lean_free_object(x_2); -x_125 = lean_ctor_get(x_120, 0); -lean_inc(x_125); -x_126 = lean_ctor_get(x_120, 1); -lean_inc(x_126); -if (lean_is_exclusive(x_120)) { - lean_ctor_release(x_120, 0); - lean_ctor_release(x_120, 1); - x_127 = x_120; -} else { - lean_dec_ref(x_120); - x_127 = lean_box(0); -} -if (lean_is_scalar(x_127)) { - x_128 = lean_alloc_ctor(1, 2, 0); -} else { - x_128 = x_127; -} -lean_ctor_set(x_128, 0, x_125); -lean_ctor_set(x_128, 1, x_126); -return x_128; -} -} -else -{ -lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; -lean_dec(x_112); -lean_dec(x_111); -lean_dec(x_109); -lean_dec(x_108); -lean_dec(x_107); -lean_dec(x_106); -lean_dec(x_105); -lean_free_object(x_2); -lean_dec(x_53); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_129 = lean_ctor_get(x_114, 0); -lean_inc(x_129); -x_130 = lean_ctor_get(x_114, 1); -lean_inc(x_130); -if (lean_is_exclusive(x_114)) { - lean_ctor_release(x_114, 0); - lean_ctor_release(x_114, 1); - x_131 = x_114; -} else { - lean_dec_ref(x_114); - x_131 = lean_box(0); -} -if (lean_is_scalar(x_131)) { - x_132 = lean_alloc_ctor(1, 2, 0); -} else { - x_132 = x_131; -} -lean_ctor_set(x_132, 0, x_129); -lean_ctor_set(x_132, 1, x_130); -return x_132; -} -} -} -else -{ -lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; uint8_t x_143; lean_object* x_144; -x_133 = lean_ctor_get(x_2, 1); -lean_inc(x_133); +lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; uint8_t x_102; lean_object* x_103; +x_92 = lean_ctor_get(x_2, 1); +lean_inc(x_92); lean_dec(x_2); -x_134 = lean_ctor_get(x_10, 0); -lean_inc(x_134); -x_135 = lean_ctor_get(x_10, 1); -lean_inc(x_135); -x_136 = lean_ctor_get(x_10, 2); -lean_inc(x_136); -x_137 = lean_ctor_get(x_10, 3); -lean_inc(x_137); -x_138 = lean_ctor_get(x_10, 5); -lean_inc(x_138); -if (lean_is_exclusive(x_10)) { - lean_ctor_release(x_10, 0); - lean_ctor_release(x_10, 1); - lean_ctor_release(x_10, 2); - lean_ctor_release(x_10, 3); - lean_ctor_release(x_10, 4); - lean_ctor_release(x_10, 5); - x_139 = x_10; -} else { - lean_dec_ref(x_10); - x_139 = lean_box(0); -} -x_140 = lean_ctor_get(x_11, 0); -lean_inc(x_140); -x_141 = lean_ctor_get(x_11, 1); -lean_inc(x_141); +x_93 = lean_ctor_get(x_11, 0); +lean_inc(x_93); +x_94 = lean_ctor_get(x_11, 1); +lean_inc(x_94); +x_95 = lean_ctor_get(x_11, 2); +lean_inc(x_95); +x_96 = lean_ctor_get(x_11, 3); +lean_inc(x_96); +x_97 = lean_ctor_get(x_11, 5); +lean_inc(x_97); if (lean_is_exclusive(x_11)) { lean_ctor_release(x_11, 0); lean_ctor_release(x_11, 1); - x_142 = x_11; + lean_ctor_release(x_11, 2); + lean_ctor_release(x_11, 3); + lean_ctor_release(x_11, 4); + lean_ctor_release(x_11, 5); + x_98 = x_11; } else { lean_dec_ref(x_11); - x_142 = lean_box(0); + x_98 = lean_box(0); } -x_143 = 0; +x_99 = lean_ctor_get(x_12, 0); +lean_inc(x_99); +x_100 = lean_ctor_get(x_12, 1); +lean_inc(x_100); +if (lean_is_exclusive(x_12)) { + lean_ctor_release(x_12, 0); + lean_ctor_release(x_12, 1); + x_101 = x_12; +} else { + lean_dec_ref(x_12); + x_101 = lean_box(0); +} +x_102 = 0; +lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); -x_144 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_143, x_140, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_144) == 0) +x_103 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_102, x_99, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_103) == 0) { -lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; -x_145 = lean_ctor_get(x_144, 0); -lean_inc(x_145); -x_146 = lean_ctor_get(x_144, 1); -lean_inc(x_146); -lean_dec(x_144); +lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; +x_104 = lean_ctor_get(x_103, 0); +lean_inc(x_104); +x_105 = lean_ctor_get(x_103, 1); +lean_inc(x_105); +lean_dec(x_103); lean_inc(x_1); -x_147 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_147, 0, x_1); -lean_ctor_set(x_147, 1, x_145); -if (lean_is_scalar(x_142)) { - x_148 = lean_alloc_ctor(1, 2, 0); +x_106 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_106, 0, x_1); +lean_ctor_set(x_106, 1, x_104); +if (lean_is_scalar(x_101)) { + x_107 = lean_alloc_ctor(1, 2, 0); } else { - x_148 = x_142; + x_107 = x_101; } -lean_ctor_set(x_148, 0, x_147); -lean_ctor_set(x_148, 1, x_138); -if (lean_is_scalar(x_139)) { - x_149 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_107, 0, x_106); +lean_ctor_set(x_107, 1, x_97); +if (lean_is_scalar(x_98)) { + x_108 = lean_alloc_ctor(0, 6, 0); } else { - x_149 = x_139; + x_108 = x_98; } -lean_ctor_set(x_149, 0, x_134); -lean_ctor_set(x_149, 1, x_135); -lean_ctor_set(x_149, 2, x_136); -lean_ctor_set(x_149, 3, x_137); -lean_ctor_set(x_149, 4, x_141); -lean_ctor_set(x_149, 5, x_148); -x_150 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1(x_1, x_133, x_3, x_4, x_5, x_6, x_146); -if (lean_obj_tag(x_150) == 0) -{ -lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; -x_151 = lean_ctor_get(x_150, 0); -lean_inc(x_151); -x_152 = lean_ctor_get(x_150, 1); -lean_inc(x_152); -if (lean_is_exclusive(x_150)) { - lean_ctor_release(x_150, 0); - lean_ctor_release(x_150, 1); - x_153 = x_150; -} else { - lean_dec_ref(x_150); - x_153 = lean_box(0); -} -x_154 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_154, 0, x_149); -lean_ctor_set(x_154, 1, x_151); -if (lean_is_scalar(x_153)) { - x_155 = lean_alloc_ctor(0, 2, 0); -} else { - x_155 = x_153; -} -lean_ctor_set(x_155, 0, x_154); -lean_ctor_set(x_155, 1, x_152); -return x_155; +lean_ctor_set(x_108, 0, x_93); +lean_ctor_set(x_108, 1, x_94); +lean_ctor_set(x_108, 2, x_95); +lean_ctor_set(x_108, 3, x_96); +lean_ctor_set(x_108, 4, x_100); +lean_ctor_set(x_108, 5, x_107); +x_109 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_109, 0, x_108); +lean_ctor_set(x_109, 1, x_3); +x_2 = x_92; +x_3 = x_109; +x_8 = x_105; +goto _start; } else { -lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; -lean_dec(x_149); -x_156 = lean_ctor_get(x_150, 0); -lean_inc(x_156); -x_157 = lean_ctor_get(x_150, 1); -lean_inc(x_157); -if (lean_is_exclusive(x_150)) { - lean_ctor_release(x_150, 0); - lean_ctor_release(x_150, 1); - x_158 = x_150; -} else { - lean_dec_ref(x_150); - x_158 = lean_box(0); -} -if (lean_is_scalar(x_158)) { - x_159 = lean_alloc_ctor(1, 2, 0); -} else { - x_159 = x_158; -} -lean_ctor_set(x_159, 0, x_156); -lean_ctor_set(x_159, 1, x_157); -return x_159; -} -} -else -{ -lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; -lean_dec(x_142); -lean_dec(x_141); -lean_dec(x_139); -lean_dec(x_138); -lean_dec(x_137); -lean_dec(x_136); -lean_dec(x_135); -lean_dec(x_134); -lean_dec(x_133); +lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; +lean_dec(x_101); +lean_dec(x_100); +lean_dec(x_98); +lean_dec(x_97); +lean_dec(x_96); +lean_dec(x_95); +lean_dec(x_94); +lean_dec(x_93); +lean_dec(x_92); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_160 = lean_ctor_get(x_144, 0); -lean_inc(x_160); -x_161 = lean_ctor_get(x_144, 1); -lean_inc(x_161); -if (lean_is_exclusive(x_144)) { - lean_ctor_release(x_144, 0); - lean_ctor_release(x_144, 1); - x_162 = x_144; +x_111 = lean_ctor_get(x_103, 0); +lean_inc(x_111); +x_112 = lean_ctor_get(x_103, 1); +lean_inc(x_112); +if (lean_is_exclusive(x_103)) { + lean_ctor_release(x_103, 0); + lean_ctor_release(x_103, 1); + x_113 = x_103; } else { - lean_dec_ref(x_144); - x_162 = lean_box(0); + lean_dec_ref(x_103); + x_113 = lean_box(0); } -if (lean_is_scalar(x_162)) { - x_163 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_113)) { + x_114 = lean_alloc_ctor(1, 2, 0); } else { - x_163 = x_162; + x_114 = x_113; } -lean_ctor_set(x_163, 0, x_160); -lean_ctor_set(x_163, 1, x_161); -return x_163; +lean_ctor_set(x_114, 0, x_111); +lean_ctor_set(x_114, 1, x_112); +return x_114; } } } @@ -14238,8 +14383,8 @@ _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_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__1; -x_2 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__1; -x_3 = lean_unsigned_to_nat(483u); +x_2 = l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__1; +x_3 = lean_unsigned_to_nat(477u); x_4 = lean_unsigned_to_nat(15u); x_5 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -14609,66 +14754,67 @@ goto _start; LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -lean_object* x_12; -x_12 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1(x_1, x_2, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_12) == 0) +lean_object* x_12; lean_object* x_13; +x_12 = lean_box(0); +x_13 = l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1(x_1, x_2, x_12, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_13) == 0) { -uint8_t x_13; -x_13 = !lean_is_exclusive(x_12); -if (x_13 == 0) +uint8_t x_14; +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) { -lean_object* x_14; lean_object* x_15; -x_14 = lean_ctor_get(x_12, 0); -x_15 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_15, 0, x_3); -lean_ctor_set(x_15, 1, x_4); -lean_ctor_set(x_15, 2, x_14); -lean_ctor_set(x_15, 3, x_5); -lean_ctor_set(x_12, 0, x_15); -return x_12; +lean_object* x_15; lean_object* x_16; +x_15 = lean_ctor_get(x_13, 0); +x_16 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_16, 0, x_3); +lean_ctor_set(x_16, 1, x_4); +lean_ctor_set(x_16, 2, x_15); +lean_ctor_set(x_16, 3, x_5); +lean_ctor_set(x_13, 0, x_16); +return x_13; } else { -lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_16 = lean_ctor_get(x_12, 0); -x_17 = lean_ctor_get(x_12, 1); +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_13, 0); +x_18 = lean_ctor_get(x_13, 1); +lean_inc(x_18); lean_inc(x_17); -lean_inc(x_16); -lean_dec(x_12); -x_18 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_18, 0, x_3); -lean_ctor_set(x_18, 1, x_4); -lean_ctor_set(x_18, 2, x_16); -lean_ctor_set(x_18, 3, x_5); -x_19 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_19, 0, x_18); -lean_ctor_set(x_19, 1, x_17); -return x_19; +lean_dec(x_13); +x_19 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_19, 0, x_3); +lean_ctor_set(x_19, 1, x_4); +lean_ctor_set(x_19, 2, x_17); +lean_ctor_set(x_19, 3, x_5); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_19); +lean_ctor_set(x_20, 1, x_18); +return x_20; } } else { -uint8_t x_20; +uint8_t x_21; lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_20 = !lean_is_exclusive(x_12); -if (x_20 == 0) +x_21 = !lean_is_exclusive(x_13); +if (x_21 == 0) { -return x_12; +return x_13; } else { -lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_21 = lean_ctor_get(x_12, 0); -x_22 = lean_ctor_get(x_12, 1); +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_13, 0); +x_23 = lean_ctor_get(x_13, 1); +lean_inc(x_23); lean_inc(x_22); -lean_inc(x_21); -lean_dec(x_12); -x_23 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_23, 0, x_21); -lean_ctor_set(x_23, 1, x_22); -return x_23; +lean_dec(x_13); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +return x_24; } } } @@ -14908,8 +15054,8 @@ _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_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__1; -x_2 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__1; -x_3 = lean_unsigned_to_nat(472u); +x_2 = l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__1; +x_3 = lean_unsigned_to_nat(466u); x_4 = lean_unsigned_to_nat(26u); x_5 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -15485,7 +15631,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_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__1; x_2 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__7___closed__1; -x_3 = lean_unsigned_to_nat(527u); +x_3 = lean_unsigned_to_nat(521u); x_4 = lean_unsigned_to_nat(16u); x_5 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -16367,7 +16513,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_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__1; x_2 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__7___closed__1; -x_3 = lean_unsigned_to_nat(505u); +x_3 = lean_unsigned_to_nat(499u); x_4 = lean_unsigned_to_nat(26u); x_5 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -16741,218 +16887,131 @@ lean_dec(x_2); return x_3; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_7; lean_object* x_8; -lean_dec(x_2); -x_7 = lean_box(0); -x_8 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_8, 0, x_7); -lean_ctor_set(x_8, 1, x_6); -return x_8; +lean_object* x_8; lean_object* x_9; +lean_dec(x_3); +x_8 = l_List_reverse___rarg(x_2); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_7); +return x_9; } else { -uint8_t x_9; -x_9 = !lean_is_exclusive(x_1); -if (x_9 == 0) +uint8_t x_10; +x_10 = !lean_is_exclusive(x_1); +if (x_10 == 0) { -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_10 = lean_ctor_get(x_1, 0); -x_11 = lean_ctor_get(x_1, 1); -x_12 = l_Lean_Expr_fvarId_x21(x_10); -lean_inc(x_2); -x_13 = l_Lean_FVarId_getDecl(x_12, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_13) == 0) +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_11 = lean_ctor_get(x_1, 0); +x_12 = lean_ctor_get(x_1, 1); +x_13 = l_Lean_Expr_fvarId_x21(x_11); +lean_inc(x_3); +x_14 = l_Lean_FVarId_getDecl(x_13, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_14) == 0) { -lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_14 = lean_ctor_get(x_13, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_13, 1); +lean_object* x_15; lean_object* x_16; +x_15 = lean_ctor_get(x_14, 0); lean_inc(x_15); -lean_dec(x_13); -x_16 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___spec__1(x_11, x_2, x_3, x_4, x_5, x_15); -if (lean_obj_tag(x_16) == 0) +x_16 = lean_ctor_get(x_14, 1); +lean_inc(x_16); +lean_dec(x_14); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_15); { -uint8_t x_17; -x_17 = !lean_is_exclusive(x_16); -if (x_17 == 0) +lean_object* _tmp_0 = x_12; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_6 = x_16; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_7 = _tmp_6; +} +goto _start; +} +else { -lean_object* x_18; -x_18 = lean_ctor_get(x_16, 0); -lean_ctor_set(x_1, 1, x_18); -lean_ctor_set(x_1, 0, x_14); -lean_ctor_set(x_16, 0, x_1); -return x_16; +uint8_t x_18; +lean_free_object(x_1); +lean_dec(x_12); +lean_dec(x_3); +lean_dec(x_2); +x_18 = !lean_is_exclusive(x_14); +if (x_18 == 0) +{ +return x_14; } else { lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_19 = lean_ctor_get(x_16, 0); -x_20 = lean_ctor_get(x_16, 1); +x_19 = lean_ctor_get(x_14, 0); +x_20 = lean_ctor_get(x_14, 1); lean_inc(x_20); lean_inc(x_19); -lean_dec(x_16); -lean_ctor_set(x_1, 1, x_19); -lean_ctor_set(x_1, 0, x_14); -x_21 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_21, 0, x_1); +lean_dec(x_14); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); lean_ctor_set(x_21, 1, x_20); return x_21; } } -else -{ -uint8_t x_22; -lean_dec(x_14); -lean_free_object(x_1); -x_22 = !lean_is_exclusive(x_16); -if (x_22 == 0) -{ -return x_16; } else { -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_16, 0); -x_24 = lean_ctor_get(x_16, 1); -lean_inc(x_24); +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_22 = lean_ctor_get(x_1, 0); +x_23 = lean_ctor_get(x_1, 1); lean_inc(x_23); -lean_dec(x_16); -x_25 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_25, 0, x_23); -lean_ctor_set(x_25, 1, x_24); -return x_25; -} -} -} -else +lean_inc(x_22); +lean_dec(x_1); +x_24 = l_Lean_Expr_fvarId_x21(x_22); +lean_inc(x_3); +x_25 = l_Lean_FVarId_getDecl(x_24, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_25) == 0) { -uint8_t x_26; -lean_free_object(x_1); -lean_dec(x_11); -lean_dec(x_2); -x_26 = !lean_is_exclusive(x_13); -if (x_26 == 0) -{ -return x_13; -} -else -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_27 = lean_ctor_get(x_13, 0); -x_28 = lean_ctor_get(x_13, 1); -lean_inc(x_28); +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_25, 0); +lean_inc(x_26); +x_27 = lean_ctor_get(x_25, 1); lean_inc(x_27); -lean_dec(x_13); -x_29 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_29, 0, x_27); -lean_ctor_set(x_29, 1, x_28); -return x_29; -} -} +lean_dec(x_25); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_2); +x_1 = x_23; +x_2 = x_28; +x_7 = x_27; +goto _start; } else { lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_30 = lean_ctor_get(x_1, 0); -x_31 = lean_ctor_get(x_1, 1); -lean_inc(x_31); -lean_inc(x_30); -lean_dec(x_1); -x_32 = l_Lean_Expr_fvarId_x21(x_30); -lean_inc(x_2); -x_33 = l_Lean_FVarId_getDecl(x_32, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_33) == 0) -{ -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_33, 0); -lean_inc(x_34); -x_35 = lean_ctor_get(x_33, 1); -lean_inc(x_35); -lean_dec(x_33); -x_36 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___spec__1(x_31, x_2, x_3, x_4, x_5, 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; -x_37 = lean_ctor_get(x_36, 0); -lean_inc(x_37); -x_38 = lean_ctor_get(x_36, 1); -lean_inc(x_38); -if (lean_is_exclusive(x_36)) { - lean_ctor_release(x_36, 0); - lean_ctor_release(x_36, 1); - x_39 = x_36; -} else { - lean_dec_ref(x_36); - x_39 = lean_box(0); -} -x_40 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_40, 0, x_34); -lean_ctor_set(x_40, 1, x_37); -if (lean_is_scalar(x_39)) { - x_41 = lean_alloc_ctor(0, 2, 0); -} else { - x_41 = x_39; -} -lean_ctor_set(x_41, 0, x_40); -lean_ctor_set(x_41, 1, x_38); -return x_41; -} -else -{ -lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; -lean_dec(x_34); -x_42 = lean_ctor_get(x_36, 0); -lean_inc(x_42); -x_43 = lean_ctor_get(x_36, 1); -lean_inc(x_43); -if (lean_is_exclusive(x_36)) { - lean_ctor_release(x_36, 0); - lean_ctor_release(x_36, 1); - x_44 = x_36; -} else { - lean_dec_ref(x_36); - x_44 = lean_box(0); -} -if (lean_is_scalar(x_44)) { - x_45 = lean_alloc_ctor(1, 2, 0); -} else { - x_45 = x_44; -} -lean_ctor_set(x_45, 0, x_42); -lean_ctor_set(x_45, 1, x_43); -return x_45; -} -} -else -{ -lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; -lean_dec(x_31); +lean_dec(x_23); +lean_dec(x_3); lean_dec(x_2); -x_46 = lean_ctor_get(x_33, 0); -lean_inc(x_46); -x_47 = lean_ctor_get(x_33, 1); -lean_inc(x_47); -if (lean_is_exclusive(x_33)) { - lean_ctor_release(x_33, 0); - lean_ctor_release(x_33, 1); - x_48 = x_33; +x_30 = lean_ctor_get(x_25, 0); +lean_inc(x_30); +x_31 = lean_ctor_get(x_25, 1); +lean_inc(x_31); +if (lean_is_exclusive(x_25)) { + lean_ctor_release(x_25, 0); + lean_ctor_release(x_25, 1); + x_32 = x_25; } else { - lean_dec_ref(x_33); - x_48 = lean_box(0); + lean_dec_ref(x_25); + x_32 = lean_box(0); } -if (lean_is_scalar(x_48)) { - x_49 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_32)) { + x_33 = lean_alloc_ctor(1, 2, 0); } else { - x_49 = x_48; + x_33 = x_32; } -lean_ctor_set(x_49, 0, x_46); -lean_ctor_set(x_49, 1, x_47); -return x_49; +lean_ctor_set(x_33, 0, x_30); +lean_ctor_set(x_33, 1, x_31); +return x_33; } } } @@ -17059,7 +17118,7 @@ lean_inc(x_21); x_22 = l_Lean_Meta_mkArrayLit(x_3, x_21, x_7, x_8, x_9, x_10, x_11); if (lean_obj_tag(x_22) == 0) { -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; x_23 = lean_ctor_get(x_22, 0); lean_inc(x_23); x_24 = lean_ctor_get(x_22, 1); @@ -17067,21 +17126,21 @@ lean_inc(x_24); lean_dec(x_22); lean_inc(x_1); x_25 = l_Lean_Meta_Match_Alt_replaceFVarId(x_2, x_23, x_1); +x_26 = lean_box(0); lean_inc(x_21); -x_26 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___spec__1(x_21, x_7, x_8, x_9, x_10, x_24); +x_27 = l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___spec__1(x_21, x_26, x_7, x_8, x_9, x_10, x_24); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -if (lean_obj_tag(x_26) == 0) +if (lean_obj_tag(x_27) == 0) { -uint8_t x_27; -x_27 = !lean_is_exclusive(x_26); -if (x_27 == 0) +uint8_t x_28; +x_28 = !lean_is_exclusive(x_27); +if (x_28 == 0) { -lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33; -x_28 = lean_ctor_get(x_26, 0); -x_29 = lean_box(0); -x_30 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___spec__2(x_21, x_29); +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33; +x_29 = lean_ctor_get(x_27, 0); +x_30 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___spec__2(x_21, x_26); x_31 = lean_ctor_get(x_1, 0); lean_inc(x_31); x_32 = lean_ctor_get(x_1, 1); @@ -17097,14 +17156,14 @@ x_36 = lean_ctor_get(x_25, 1); lean_dec(x_36); x_37 = lean_ctor_get(x_25, 0); lean_dec(x_37); -x_38 = l_List_appendTR___rarg(x_28, x_34); +x_38 = l_List_appendTR___rarg(x_29, x_34); x_39 = l_List_appendTR___rarg(x_30, x_35); lean_ctor_set(x_25, 4, x_39); lean_ctor_set(x_25, 3, x_38); lean_ctor_set(x_25, 1, x_32); lean_ctor_set(x_25, 0, x_31); -lean_ctor_set(x_26, 0, x_25); -return x_26; +lean_ctor_set(x_27, 0, x_25); +return x_27; } else { @@ -17118,7 +17177,7 @@ lean_inc(x_42); lean_inc(x_41); lean_inc(x_40); lean_dec(x_25); -x_44 = l_List_appendTR___rarg(x_28, x_41); +x_44 = l_List_appendTR___rarg(x_29, x_41); x_45 = l_List_appendTR___rarg(x_30, x_42); x_46 = lean_alloc_ctor(0, 6, 0); lean_ctor_set(x_46, 0, x_31); @@ -17127,33 +17186,32 @@ lean_ctor_set(x_46, 2, x_40); lean_ctor_set(x_46, 3, x_44); lean_ctor_set(x_46, 4, x_45); lean_ctor_set(x_46, 5, x_43); -lean_ctor_set(x_26, 0, x_46); -return x_26; +lean_ctor_set(x_27, 0, x_46); +return x_27; } } else { -lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; -x_47 = lean_ctor_get(x_26, 0); -x_48 = lean_ctor_get(x_26, 1); +lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_47 = lean_ctor_get(x_27, 0); +x_48 = lean_ctor_get(x_27, 1); lean_inc(x_48); lean_inc(x_47); -lean_dec(x_26); -x_49 = lean_box(0); -x_50 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___spec__2(x_21, x_49); -x_51 = lean_ctor_get(x_1, 0); +lean_dec(x_27); +x_49 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___spec__2(x_21, x_26); +x_50 = lean_ctor_get(x_1, 0); +lean_inc(x_50); +x_51 = lean_ctor_get(x_1, 1); lean_inc(x_51); -x_52 = lean_ctor_get(x_1, 1); -lean_inc(x_52); lean_dec(x_1); -x_53 = lean_ctor_get(x_25, 2); +x_52 = lean_ctor_get(x_25, 2); +lean_inc(x_52); +x_53 = lean_ctor_get(x_25, 3); lean_inc(x_53); -x_54 = lean_ctor_get(x_25, 3); +x_54 = lean_ctor_get(x_25, 4); lean_inc(x_54); -x_55 = lean_ctor_get(x_25, 4); +x_55 = lean_ctor_get(x_25, 5); lean_inc(x_55); -x_56 = lean_ctor_get(x_25, 5); -lean_inc(x_56); if (lean_is_exclusive(x_25)) { lean_ctor_release(x_25, 0); lean_ctor_release(x_25, 1); @@ -17161,59 +17219,59 @@ if (lean_is_exclusive(x_25)) { lean_ctor_release(x_25, 3); lean_ctor_release(x_25, 4); lean_ctor_release(x_25, 5); - x_57 = x_25; + x_56 = x_25; } else { lean_dec_ref(x_25); - x_57 = lean_box(0); + x_56 = lean_box(0); } -x_58 = l_List_appendTR___rarg(x_47, x_54); -x_59 = l_List_appendTR___rarg(x_50, x_55); -if (lean_is_scalar(x_57)) { - x_60 = lean_alloc_ctor(0, 6, 0); +x_57 = l_List_appendTR___rarg(x_47, x_53); +x_58 = l_List_appendTR___rarg(x_49, x_54); +if (lean_is_scalar(x_56)) { + x_59 = lean_alloc_ctor(0, 6, 0); } else { - x_60 = x_57; + x_59 = x_56; } -lean_ctor_set(x_60, 0, x_51); -lean_ctor_set(x_60, 1, x_52); -lean_ctor_set(x_60, 2, x_53); -lean_ctor_set(x_60, 3, x_58); -lean_ctor_set(x_60, 4, x_59); -lean_ctor_set(x_60, 5, x_56); -x_61 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_61, 0, x_60); -lean_ctor_set(x_61, 1, x_48); -return x_61; +lean_ctor_set(x_59, 0, x_50); +lean_ctor_set(x_59, 1, x_51); +lean_ctor_set(x_59, 2, x_52); +lean_ctor_set(x_59, 3, x_57); +lean_ctor_set(x_59, 4, x_58); +lean_ctor_set(x_59, 5, x_55); +x_60 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_60, 0, x_59); +lean_ctor_set(x_60, 1, x_48); +return x_60; } } else { -uint8_t x_62; +uint8_t x_61; lean_dec(x_25); lean_dec(x_21); lean_dec(x_1); -x_62 = !lean_is_exclusive(x_26); -if (x_62 == 0) +x_61 = !lean_is_exclusive(x_27); +if (x_61 == 0) { -return x_26; +return x_27; } else { -lean_object* x_63; lean_object* x_64; lean_object* x_65; -x_63 = lean_ctor_get(x_26, 0); -x_64 = lean_ctor_get(x_26, 1); -lean_inc(x_64); +lean_object* x_62; lean_object* x_63; lean_object* x_64; +x_62 = lean_ctor_get(x_27, 0); +x_63 = lean_ctor_get(x_27, 1); lean_inc(x_63); -lean_dec(x_26); -x_65 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_65, 0, x_63); -lean_ctor_set(x_65, 1, x_64); -return x_65; +lean_inc(x_62); +lean_dec(x_27); +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_66; +uint8_t x_65; lean_dec(x_21); lean_dec(x_10); lean_dec(x_9); @@ -17221,37 +17279,37 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_2); lean_dec(x_1); -x_66 = !lean_is_exclusive(x_22); -if (x_66 == 0) +x_65 = !lean_is_exclusive(x_22); +if (x_65 == 0) { return x_22; } else { -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_object* x_66; lean_object* x_67; lean_object* x_68; +x_66 = lean_ctor_get(x_22, 0); +x_67 = lean_ctor_get(x_22, 1); lean_inc(x_67); +lean_inc(x_66); 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; +x_68 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_68, 0, x_66); +lean_ctor_set(x_68, 1, x_67); +return x_68; } } } } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -lean_object* x_7; -x_7 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); +lean_object* x_8; +x_8 = l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_3); -return x_7; +return x_8; } } LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_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) { @@ -17798,7 +17856,7 @@ goto _start; } } } -static lean_object* _init_l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__1() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__1() { _start: { lean_object* x_1; @@ -17806,82 +17864,88 @@ x_1 = lean_mk_string_from_bytes("_private.Lean.Meta.Match.Match.0.Lean.Meta.Matc return x_1; } } -static lean_object* _init_l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__2() { +static lean_object* _init_l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__1; -x_2 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__1; -x_3 = lean_unsigned_to_nat(584u); +x_2 = l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__1; +x_3 = lean_unsigned_to_nat(578u); x_4 = lean_unsigned_to_nat(16u); x_5 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); return x_6; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { if (lean_obj_tag(x_4) == 0) { -lean_object* x_10; lean_object* x_11; +lean_object* x_11; lean_object* x_12; +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_10 = lean_box(0); -x_11 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_11, 0, x_10); -lean_ctor_set(x_11, 1, x_9); -return x_11; +x_11 = l_List_reverse___rarg(x_5); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_10); +return x_12; } else { -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_30; -x_12 = lean_ctor_get(x_4, 0); -lean_inc(x_12); -x_13 = lean_ctor_get(x_4, 1); +lean_object* x_13; lean_object* x_14; +x_13 = lean_ctor_get(x_4, 0); lean_inc(x_13); -if (lean_is_exclusive(x_4)) { - lean_ctor_release(x_4, 0); - lean_ctor_release(x_4, 1); - x_14 = x_4; -} else { - lean_dec_ref(x_4); - x_14 = lean_box(0); -} -x_30 = lean_ctor_get(x_12, 4); -lean_inc(x_30); -if (lean_obj_tag(x_30) == 0) +x_14 = lean_ctor_get(x_13, 4); +lean_inc(x_14); +if (lean_obj_tag(x_14) == 0) { -lean_object* x_31; lean_object* x_32; -lean_dec(x_12); -x_31 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__2; +uint8_t x_15; +lean_dec(x_13); +x_15 = !lean_is_exclusive(x_4); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_16 = lean_ctor_get(x_4, 1); +x_17 = lean_ctor_get(x_4, 0); +lean_dec(x_17); +x_18 = l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__2; +lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -lean_inc(x_5); -x_32 = l_panic___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1(x_31, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_32) == 0) +x_19 = l_panic___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1(x_18, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_19) == 0) { -lean_object* x_33; lean_object* x_34; -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_15 = x_33; -x_16 = x_34; -goto block_29; +lean_object* x_20; lean_object* x_21; +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); +lean_ctor_set(x_4, 1, x_5); +lean_ctor_set(x_4, 0, x_20); +{ +lean_object* _tmp_3 = x_16; +lean_object* _tmp_4 = x_4; +lean_object* _tmp_9 = x_21; +x_4 = _tmp_3; +x_5 = _tmp_4; +x_10 = _tmp_9; +} +goto _start; } else { -uint8_t x_35; -lean_dec(x_14); -lean_dec(x_13); +uint8_t x_23; +lean_free_object(x_4); +lean_dec(x_16); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -17889,92 +17953,166 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_35 = !lean_is_exclusive(x_32); -if (x_35 == 0) +x_23 = !lean_is_exclusive(x_19); +if (x_23 == 0) { -return x_32; +return x_19; } else { -lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_36 = lean_ctor_get(x_32, 0); -x_37 = lean_ctor_get(x_32, 1); -lean_inc(x_37); -lean_inc(x_36); -lean_dec(x_32); -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_36); -lean_ctor_set(x_38, 1, x_37); -return x_38; +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_19, 0); +x_25 = lean_ctor_get(x_19, 1); +lean_inc(x_25); +lean_inc(x_24); +lean_dec(x_19); +x_26 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_26, 0, x_24); +lean_ctor_set(x_26, 1, x_25); +return x_26; } } } else { -lean_object* x_39; -x_39 = lean_ctor_get(x_30, 0); -lean_inc(x_39); -switch (lean_obj_tag(x_39)) { +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_4, 1); +lean_inc(x_27); +lean_dec(x_4); +x_28 = l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__2; +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_29 = l_panic___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1(x_28, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_29) == 0) +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_29, 0); +lean_inc(x_30); +x_31 = lean_ctor_get(x_29, 1); +lean_inc(x_31); +lean_dec(x_29); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_5); +x_4 = x_27; +x_5 = x_32; +x_10 = x_31; +goto _start; +} +else +{ +lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; +lean_dec(x_27); +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_34 = lean_ctor_get(x_29, 0); +lean_inc(x_34); +x_35 = lean_ctor_get(x_29, 1); +lean_inc(x_35); +if (lean_is_exclusive(x_29)) { + lean_ctor_release(x_29, 0); + lean_ctor_release(x_29, 1); + x_36 = x_29; +} else { + lean_dec_ref(x_29); + x_36 = lean_box(0); +} +if (lean_is_scalar(x_36)) { + x_37 = lean_alloc_ctor(1, 2, 0); +} else { + x_37 = x_36; +} +lean_ctor_set(x_37, 0, x_34); +lean_ctor_set(x_37, 1, x_35); +return x_37; +} +} +} +else +{ +lean_object* x_38; +x_38 = lean_ctor_get(x_14, 0); +lean_inc(x_38); +switch (lean_obj_tag(x_38)) { case 1: { -uint8_t x_40; -x_40 = !lean_is_exclusive(x_12); +lean_object* x_39; uint8_t x_40; +x_39 = lean_ctor_get(x_4, 1); +lean_inc(x_39); +lean_dec(x_4); +x_40 = !lean_is_exclusive(x_13); if (x_40 == 0) { -lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; -x_41 = lean_ctor_get(x_12, 0); -x_42 = lean_ctor_get(x_12, 1); -x_43 = lean_ctor_get(x_12, 2); -x_44 = lean_ctor_get(x_12, 3); -x_45 = lean_ctor_get(x_12, 5); -x_46 = lean_ctor_get(x_12, 4); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; +x_41 = lean_ctor_get(x_13, 0); +x_42 = lean_ctor_get(x_13, 1); +x_43 = lean_ctor_get(x_13, 2); +x_44 = lean_ctor_get(x_13, 3); +x_45 = lean_ctor_get(x_13, 5); +x_46 = lean_ctor_get(x_13, 4); lean_dec(x_46); -x_47 = lean_ctor_get(x_30, 1); -lean_inc(x_47); -lean_dec(x_30); -x_48 = lean_ctor_get(x_39, 0); -lean_inc(x_48); -lean_dec(x_39); +x_47 = !lean_is_exclusive(x_14); +if (x_47 == 0) +{ +lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; +x_48 = lean_ctor_get(x_14, 1); +x_49 = lean_ctor_get(x_14, 0); +lean_dec(x_49); +x_50 = lean_ctor_get(x_38, 0); +lean_inc(x_50); +lean_dec(x_38); lean_inc(x_1); lean_inc(x_3); -x_49 = l_Lean_Meta_FVarSubst_apply(x_3, x_1); +x_51 = l_Lean_Meta_FVarSubst_apply(x_3, x_1); +lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -lean_inc(x_5); -x_50 = l_Lean_Meta_getArrayArgType(x_49, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_50) == 0) +x_52 = l_Lean_Meta_getArrayArgType(x_51, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_52) == 0) { -lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_51 = lean_ctor_get(x_50, 0); -lean_inc(x_51); -x_52 = lean_ctor_get(x_50, 1); -lean_inc(x_52); -lean_dec(x_50); -lean_ctor_set(x_12, 4, x_47); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_2); -x_53 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit(x_12, x_48, x_51, x_2, x_5, x_6, x_7, x_8, x_52); -if (lean_obj_tag(x_53) == 0) -{ -lean_object* x_54; lean_object* x_55; -x_54 = lean_ctor_get(x_53, 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); -x_55 = lean_ctor_get(x_53, 1); -lean_inc(x_55); -lean_dec(x_53); -x_15 = x_54; -x_16 = x_55; -goto block_29; +lean_dec(x_52); +lean_ctor_set(x_13, 4, x_48); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_2); +x_55 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit(x_13, x_50, x_53, x_2, x_6, x_7, x_8, x_9, x_54); +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); +lean_ctor_set(x_14, 1, x_5); +lean_ctor_set(x_14, 0, x_56); +x_4 = x_39; +x_5 = x_14; +x_10 = x_57; +goto _start; } else { -uint8_t x_56; -lean_dec(x_14); -lean_dec(x_13); +uint8_t x_59; +lean_free_object(x_14); +lean_dec(x_39); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -17982,39 +18120,40 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_56 = !lean_is_exclusive(x_53); -if (x_56 == 0) +x_59 = !lean_is_exclusive(x_55); +if (x_59 == 0) { -return x_53; +return x_55; } else { -lean_object* x_57; lean_object* x_58; lean_object* x_59; -x_57 = lean_ctor_get(x_53, 0); -x_58 = lean_ctor_get(x_53, 1); -lean_inc(x_58); -lean_inc(x_57); -lean_dec(x_53); -x_59 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_59, 0, x_57); -lean_ctor_set(x_59, 1, x_58); -return x_59; +lean_object* x_60; lean_object* x_61; lean_object* x_62; +x_60 = lean_ctor_get(x_55, 0); +x_61 = lean_ctor_get(x_55, 1); +lean_inc(x_61); +lean_inc(x_60); +lean_dec(x_55); +x_62 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_62, 0, x_60); +lean_ctor_set(x_62, 1, x_61); +return x_62; } } } else { -uint8_t x_60; +uint8_t x_63; +lean_dec(x_50); +lean_free_object(x_14); lean_dec(x_48); -lean_dec(x_47); -lean_free_object(x_12); +lean_free_object(x_13); lean_dec(x_45); lean_dec(x_44); lean_dec(x_43); lean_dec(x_42); lean_dec(x_41); -lean_dec(x_14); -lean_dec(x_13); +lean_dec(x_39); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -18022,92 +18161,79 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_60 = !lean_is_exclusive(x_50); -if (x_60 == 0) +x_63 = !lean_is_exclusive(x_52); +if (x_63 == 0) { -return x_50; +return x_52; } else { -lean_object* x_61; lean_object* x_62; lean_object* x_63; -x_61 = lean_ctor_get(x_50, 0); -x_62 = lean_ctor_get(x_50, 1); -lean_inc(x_62); -lean_inc(x_61); -lean_dec(x_50); -x_63 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_63, 0, x_61); -lean_ctor_set(x_63, 1, x_62); -return x_63; -} -} -} -else -{ -lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; -x_64 = lean_ctor_get(x_12, 0); -x_65 = lean_ctor_get(x_12, 1); -x_66 = lean_ctor_get(x_12, 2); -x_67 = lean_ctor_get(x_12, 3); -x_68 = lean_ctor_get(x_12, 5); -lean_inc(x_68); -lean_inc(x_67); -lean_inc(x_66); +lean_object* x_64; lean_object* x_65; lean_object* x_66; +x_64 = lean_ctor_get(x_52, 0); +x_65 = lean_ctor_get(x_52, 1); lean_inc(x_65); lean_inc(x_64); -lean_dec(x_12); -x_69 = lean_ctor_get(x_30, 1); -lean_inc(x_69); -lean_dec(x_30); -x_70 = lean_ctor_get(x_39, 0); -lean_inc(x_70); -lean_dec(x_39); +lean_dec(x_52); +x_66 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_66, 0, x_64); +lean_ctor_set(x_66, 1, x_65); +return x_66; +} +} +} +else +{ +lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; +x_67 = lean_ctor_get(x_14, 1); +lean_inc(x_67); +lean_dec(x_14); +x_68 = lean_ctor_get(x_38, 0); +lean_inc(x_68); +lean_dec(x_38); lean_inc(x_1); lean_inc(x_3); -x_71 = l_Lean_Meta_FVarSubst_apply(x_3, x_1); +x_69 = l_Lean_Meta_FVarSubst_apply(x_3, x_1); +lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -lean_inc(x_5); -x_72 = l_Lean_Meta_getArrayArgType(x_71, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_72) == 0) +x_70 = l_Lean_Meta_getArrayArgType(x_69, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_70) == 0) { -lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; -x_73 = lean_ctor_get(x_72, 0); -lean_inc(x_73); -x_74 = lean_ctor_get(x_72, 1); -lean_inc(x_74); -lean_dec(x_72); -x_75 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_75, 0, x_64); -lean_ctor_set(x_75, 1, x_65); -lean_ctor_set(x_75, 2, x_66); -lean_ctor_set(x_75, 3, x_67); -lean_ctor_set(x_75, 4, x_69); -lean_ctor_set(x_75, 5, x_68); +lean_object* x_71; lean_object* x_72; lean_object* x_73; +x_71 = lean_ctor_get(x_70, 0); +lean_inc(x_71); +x_72 = lean_ctor_get(x_70, 1); +lean_inc(x_72); +lean_dec(x_70); +lean_ctor_set(x_13, 4, x_67); +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_76 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit(x_75, x_70, x_73, x_2, x_5, x_6, x_7, x_8, x_74); -if (lean_obj_tag(x_76) == 0) +x_73 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit(x_13, x_68, x_71, x_2, x_6, x_7, x_8, x_9, x_72); +if (lean_obj_tag(x_73) == 0) { -lean_object* x_77; lean_object* x_78; -x_77 = lean_ctor_get(x_76, 0); -lean_inc(x_77); -x_78 = lean_ctor_get(x_76, 1); -lean_inc(x_78); -lean_dec(x_76); -x_15 = x_77; -x_16 = x_78; -goto block_29; +lean_object* x_74; lean_object* x_75; lean_object* x_76; +x_74 = lean_ctor_get(x_73, 0); +lean_inc(x_74); +x_75 = lean_ctor_get(x_73, 1); +lean_inc(x_75); +lean_dec(x_73); +x_76 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_76, 0, x_74); +lean_ctor_set(x_76, 1, x_5); +x_4 = x_39; +x_5 = x_76; +x_10 = x_75; +goto _start; } else { -lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; -lean_dec(x_14); -lean_dec(x_13); +lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; +lean_dec(x_39); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -18115,40 +18241,41 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_79 = lean_ctor_get(x_76, 0); +x_78 = lean_ctor_get(x_73, 0); +lean_inc(x_78); +x_79 = lean_ctor_get(x_73, 1); lean_inc(x_79); -x_80 = lean_ctor_get(x_76, 1); -lean_inc(x_80); -if (lean_is_exclusive(x_76)) { - lean_ctor_release(x_76, 0); - lean_ctor_release(x_76, 1); - x_81 = x_76; +if (lean_is_exclusive(x_73)) { + lean_ctor_release(x_73, 0); + lean_ctor_release(x_73, 1); + x_80 = x_73; } else { - lean_dec_ref(x_76); - x_81 = lean_box(0); + lean_dec_ref(x_73); + x_80 = lean_box(0); } -if (lean_is_scalar(x_81)) { - x_82 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_80)) { + x_81 = lean_alloc_ctor(1, 2, 0); } else { - x_82 = x_81; + x_81 = x_80; } -lean_ctor_set(x_82, 0, x_79); -lean_ctor_set(x_82, 1, x_80); -return x_82; +lean_ctor_set(x_81, 0, x_78); +lean_ctor_set(x_81, 1, x_79); +return x_81; } } else { -lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; -lean_dec(x_70); -lean_dec(x_69); +lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_dec(x_68); lean_dec(x_67); -lean_dec(x_66); -lean_dec(x_65); -lean_dec(x_64); -lean_dec(x_14); -lean_dec(x_13); +lean_free_object(x_13); +lean_dec(x_45); +lean_dec(x_44); +lean_dec(x_43); +lean_dec(x_42); +lean_dec(x_41); +lean_dec(x_39); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -18156,112 +18283,322 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_83 = lean_ctor_get(x_72, 0); +x_82 = lean_ctor_get(x_70, 0); +lean_inc(x_82); +x_83 = lean_ctor_get(x_70, 1); lean_inc(x_83); -x_84 = lean_ctor_get(x_72, 1); -lean_inc(x_84); -if (lean_is_exclusive(x_72)) { - lean_ctor_release(x_72, 0); - lean_ctor_release(x_72, 1); - x_85 = x_72; +if (lean_is_exclusive(x_70)) { + lean_ctor_release(x_70, 0); + lean_ctor_release(x_70, 1); + x_84 = x_70; } else { - lean_dec_ref(x_72); - x_85 = lean_box(0); + lean_dec_ref(x_70); + x_84 = lean_box(0); } -if (lean_is_scalar(x_85)) { - x_86 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_84)) { + x_85 = lean_alloc_ctor(1, 2, 0); } else { - x_86 = x_85; + x_85 = x_84; } -lean_ctor_set(x_86, 0, x_83); -lean_ctor_set(x_86, 1, x_84); -return x_86; +lean_ctor_set(x_85, 0, x_82); +lean_ctor_set(x_85, 1, x_83); +return x_85; +} +} +} +else +{ +lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; +x_86 = lean_ctor_get(x_13, 0); +x_87 = lean_ctor_get(x_13, 1); +x_88 = lean_ctor_get(x_13, 2); +x_89 = lean_ctor_get(x_13, 3); +x_90 = lean_ctor_get(x_13, 5); +lean_inc(x_90); +lean_inc(x_89); +lean_inc(x_88); +lean_inc(x_87); +lean_inc(x_86); +lean_dec(x_13); +x_91 = lean_ctor_get(x_14, 1); +lean_inc(x_91); +if (lean_is_exclusive(x_14)) { + lean_ctor_release(x_14, 0); + lean_ctor_release(x_14, 1); + x_92 = x_14; +} else { + lean_dec_ref(x_14); + x_92 = lean_box(0); +} +x_93 = lean_ctor_get(x_38, 0); +lean_inc(x_93); +lean_dec(x_38); +lean_inc(x_1); +lean_inc(x_3); +x_94 = l_Lean_Meta_FVarSubst_apply(x_3, x_1); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_95 = l_Lean_Meta_getArrayArgType(x_94, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_95) == 0) +{ +lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; +x_96 = lean_ctor_get(x_95, 0); +lean_inc(x_96); +x_97 = lean_ctor_get(x_95, 1); +lean_inc(x_97); +lean_dec(x_95); +x_98 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_98, 0, x_86); +lean_ctor_set(x_98, 1, x_87); +lean_ctor_set(x_98, 2, x_88); +lean_ctor_set(x_98, 3, x_89); +lean_ctor_set(x_98, 4, x_91); +lean_ctor_set(x_98, 5, x_90); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_2); +x_99 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit(x_98, x_93, x_96, x_2, x_6, x_7, x_8, x_9, x_97); +if (lean_obj_tag(x_99) == 0) +{ +lean_object* x_100; lean_object* x_101; lean_object* x_102; +x_100 = lean_ctor_get(x_99, 0); +lean_inc(x_100); +x_101 = lean_ctor_get(x_99, 1); +lean_inc(x_101); +lean_dec(x_99); +if (lean_is_scalar(x_92)) { + x_102 = lean_alloc_ctor(1, 2, 0); +} else { + x_102 = x_92; +} +lean_ctor_set(x_102, 0, x_100); +lean_ctor_set(x_102, 1, x_5); +x_4 = x_39; +x_5 = x_102; +x_10 = x_101; +goto _start; +} +else +{ +lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; +lean_dec(x_92); +lean_dec(x_39); +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_104 = lean_ctor_get(x_99, 0); +lean_inc(x_104); +x_105 = lean_ctor_get(x_99, 1); +lean_inc(x_105); +if (lean_is_exclusive(x_99)) { + lean_ctor_release(x_99, 0); + lean_ctor_release(x_99, 1); + x_106 = x_99; +} else { + lean_dec_ref(x_99); + x_106 = lean_box(0); +} +if (lean_is_scalar(x_106)) { + x_107 = lean_alloc_ctor(1, 2, 0); +} else { + x_107 = x_106; +} +lean_ctor_set(x_107, 0, x_104); +lean_ctor_set(x_107, 1, x_105); +return x_107; +} +} +else +{ +lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; +lean_dec(x_93); +lean_dec(x_92); +lean_dec(x_91); +lean_dec(x_90); +lean_dec(x_89); +lean_dec(x_88); +lean_dec(x_87); +lean_dec(x_86); +lean_dec(x_39); +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_108 = lean_ctor_get(x_95, 0); +lean_inc(x_108); +x_109 = lean_ctor_get(x_95, 1); +lean_inc(x_109); +if (lean_is_exclusive(x_95)) { + lean_ctor_release(x_95, 0); + lean_ctor_release(x_95, 1); + x_110 = x_95; +} else { + lean_dec_ref(x_95); + x_110 = lean_box(0); +} +if (lean_is_scalar(x_110)) { + x_111 = lean_alloc_ctor(1, 2, 0); +} else { + x_111 = x_110; +} +lean_ctor_set(x_111, 0, x_108); +lean_ctor_set(x_111, 1, x_109); +return x_111; } } } case 4: { -uint8_t x_87; -x_87 = !lean_is_exclusive(x_12); -if (x_87 == 0) +lean_object* x_112; uint8_t x_113; +x_112 = lean_ctor_get(x_4, 1); +lean_inc(x_112); +lean_dec(x_4); +x_113 = !lean_is_exclusive(x_13); +if (x_113 == 0) { -lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; -x_88 = lean_ctor_get(x_12, 4); -lean_dec(x_88); -x_89 = lean_ctor_get(x_30, 1); -lean_inc(x_89); -lean_dec(x_30); -x_90 = lean_ctor_get(x_39, 1); -lean_inc(x_90); -lean_dec(x_39); -x_91 = l_List_appendTR___rarg(x_90, x_89); -lean_ctor_set(x_12, 4, x_91); -x_15 = x_12; -x_16 = x_9; -goto block_29; +lean_object* x_114; uint8_t x_115; +x_114 = lean_ctor_get(x_13, 4); +lean_dec(x_114); +x_115 = !lean_is_exclusive(x_14); +if (x_115 == 0) +{ +lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; +x_116 = lean_ctor_get(x_14, 1); +x_117 = lean_ctor_get(x_14, 0); +lean_dec(x_117); +x_118 = lean_ctor_get(x_38, 1); +lean_inc(x_118); +lean_dec(x_38); +x_119 = l_List_appendTR___rarg(x_118, x_116); +lean_ctor_set(x_13, 4, x_119); +lean_ctor_set(x_14, 1, x_5); +lean_ctor_set(x_14, 0, x_13); +x_4 = x_112; +x_5 = x_14; +goto _start; } else { -lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; -x_92 = lean_ctor_get(x_12, 0); -x_93 = lean_ctor_get(x_12, 1); -x_94 = lean_ctor_get(x_12, 2); -x_95 = lean_ctor_get(x_12, 3); -x_96 = lean_ctor_get(x_12, 5); -lean_inc(x_96); -lean_inc(x_95); -lean_inc(x_94); -lean_inc(x_93); -lean_inc(x_92); -lean_dec(x_12); -x_97 = lean_ctor_get(x_30, 1); -lean_inc(x_97); -lean_dec(x_30); -x_98 = lean_ctor_get(x_39, 1); -lean_inc(x_98); -lean_dec(x_39); -x_99 = l_List_appendTR___rarg(x_98, x_97); -x_100 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_100, 0, x_92); -lean_ctor_set(x_100, 1, x_93); -lean_ctor_set(x_100, 2, x_94); -lean_ctor_set(x_100, 3, x_95); -lean_ctor_set(x_100, 4, x_99); -lean_ctor_set(x_100, 5, x_96); -x_15 = x_100; -x_16 = x_9; -goto block_29; +lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; +x_121 = lean_ctor_get(x_14, 1); +lean_inc(x_121); +lean_dec(x_14); +x_122 = lean_ctor_get(x_38, 1); +lean_inc(x_122); +lean_dec(x_38); +x_123 = l_List_appendTR___rarg(x_122, x_121); +lean_ctor_set(x_13, 4, x_123); +x_124 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_124, 0, x_13); +lean_ctor_set(x_124, 1, x_5); +x_4 = x_112; +x_5 = x_124; +goto _start; +} +} +else +{ +lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; +x_126 = lean_ctor_get(x_13, 0); +x_127 = lean_ctor_get(x_13, 1); +x_128 = lean_ctor_get(x_13, 2); +x_129 = lean_ctor_get(x_13, 3); +x_130 = lean_ctor_get(x_13, 5); +lean_inc(x_130); +lean_inc(x_129); +lean_inc(x_128); +lean_inc(x_127); +lean_inc(x_126); +lean_dec(x_13); +x_131 = lean_ctor_get(x_14, 1); +lean_inc(x_131); +if (lean_is_exclusive(x_14)) { + lean_ctor_release(x_14, 0); + lean_ctor_release(x_14, 1); + x_132 = x_14; +} else { + lean_dec_ref(x_14); + x_132 = lean_box(0); +} +x_133 = lean_ctor_get(x_38, 1); +lean_inc(x_133); +lean_dec(x_38); +x_134 = l_List_appendTR___rarg(x_133, x_131); +x_135 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_135, 0, x_126); +lean_ctor_set(x_135, 1, x_127); +lean_ctor_set(x_135, 2, x_128); +lean_ctor_set(x_135, 3, x_129); +lean_ctor_set(x_135, 4, x_134); +lean_ctor_set(x_135, 5, x_130); +if (lean_is_scalar(x_132)) { + x_136 = lean_alloc_ctor(1, 2, 0); +} else { + x_136 = x_132; +} +lean_ctor_set(x_136, 0, x_135); +lean_ctor_set(x_136, 1, x_5); +x_4 = x_112; +x_5 = x_136; +goto _start; } } default: { -lean_object* x_101; lean_object* x_102; -lean_dec(x_39); -lean_dec(x_30); -lean_dec(x_12); -x_101 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__2; +uint8_t x_138; +lean_dec(x_38); +lean_dec(x_13); +x_138 = !lean_is_exclusive(x_14); +if (x_138 == 0) +{ +lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; +x_139 = lean_ctor_get(x_14, 1); +lean_dec(x_139); +x_140 = lean_ctor_get(x_14, 0); +lean_dec(x_140); +x_141 = lean_ctor_get(x_4, 1); +lean_inc(x_141); +lean_dec(x_4); +x_142 = l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__2; +lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -lean_inc(x_5); -x_102 = l_panic___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1(x_101, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_102) == 0) +x_143 = l_panic___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1(x_142, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_143) == 0) { -lean_object* x_103; lean_object* x_104; -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_15 = x_103; -x_16 = x_104; -goto block_29; +lean_object* x_144; lean_object* x_145; +x_144 = lean_ctor_get(x_143, 0); +lean_inc(x_144); +x_145 = lean_ctor_get(x_143, 1); +lean_inc(x_145); +lean_dec(x_143); +lean_ctor_set(x_14, 1, x_5); +lean_ctor_set(x_14, 0, x_144); +x_4 = x_141; +x_5 = x_14; +x_10 = x_145; +goto _start; } else { -uint8_t x_105; -lean_dec(x_14); -lean_dec(x_13); +uint8_t x_147; +lean_dec(x_141); +lean_free_object(x_14); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -18269,93 +18606,89 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_105 = !lean_is_exclusive(x_102); -if (x_105 == 0) +x_147 = !lean_is_exclusive(x_143); +if (x_147 == 0) { -return x_102; +return x_143; } else { -lean_object* x_106; lean_object* x_107; lean_object* x_108; -x_106 = lean_ctor_get(x_102, 0); -x_107 = lean_ctor_get(x_102, 1); -lean_inc(x_107); -lean_inc(x_106); -lean_dec(x_102); -x_108 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_108, 0, x_106); -lean_ctor_set(x_108, 1, x_107); -return x_108; +lean_object* x_148; lean_object* x_149; lean_object* x_150; +x_148 = lean_ctor_get(x_143, 0); +x_149 = lean_ctor_get(x_143, 1); +lean_inc(x_149); +lean_inc(x_148); +lean_dec(x_143); +x_150 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_150, 0, x_148); +lean_ctor_set(x_150, 1, x_149); +return x_150; } } } -} -} -block_29: -{ -lean_object* x_17; -x_17 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8(x_1, x_2, x_3, x_13, x_5, x_6, x_7, x_8, x_16); -if (lean_obj_tag(x_17) == 0) -{ -uint8_t x_18; -x_18 = !lean_is_exclusive(x_17); -if (x_18 == 0) -{ -lean_object* x_19; lean_object* x_20; -x_19 = lean_ctor_get(x_17, 0); -if (lean_is_scalar(x_14)) { - x_20 = lean_alloc_ctor(1, 2, 0); -} else { - x_20 = x_14; -} -lean_ctor_set(x_20, 0, x_15); -lean_ctor_set(x_20, 1, x_19); -lean_ctor_set(x_17, 0, x_20); -return x_17; -} -else -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_21 = lean_ctor_get(x_17, 0); -x_22 = lean_ctor_get(x_17, 1); -lean_inc(x_22); -lean_inc(x_21); -lean_dec(x_17); -if (lean_is_scalar(x_14)) { - x_23 = lean_alloc_ctor(1, 2, 0); -} else { - x_23 = x_14; -} -lean_ctor_set(x_23, 0, x_15); -lean_ctor_set(x_23, 1, x_21); -x_24 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_24, 0, x_23); -lean_ctor_set(x_24, 1, x_22); -return x_24; -} -} else { -uint8_t x_25; -lean_dec(x_15); +lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_dec(x_14); -x_25 = !lean_is_exclusive(x_17); -if (x_25 == 0) +x_151 = lean_ctor_get(x_4, 1); +lean_inc(x_151); +lean_dec(x_4); +x_152 = l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__2; +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_153 = l_panic___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1(x_152, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_153) == 0) { -return x_17; +lean_object* x_154; lean_object* x_155; lean_object* x_156; +x_154 = lean_ctor_get(x_153, 0); +lean_inc(x_154); +x_155 = lean_ctor_get(x_153, 1); +lean_inc(x_155); +lean_dec(x_153); +x_156 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_156, 0, x_154); +lean_ctor_set(x_156, 1, x_5); +x_4 = x_151; +x_5 = x_156; +x_10 = x_155; +goto _start; } else { -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_17, 0); -x_27 = lean_ctor_get(x_17, 1); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_17); -x_28 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -return x_28; +lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; +lean_dec(x_151); +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_158 = lean_ctor_get(x_153, 0); +lean_inc(x_158); +x_159 = lean_ctor_get(x_153, 1); +lean_inc(x_159); +if (lean_is_exclusive(x_153)) { + lean_ctor_release(x_153, 0); + lean_ctor_release(x_153, 1); + x_160 = x_153; +} else { + lean_dec_ref(x_153); + 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; +} +} } } } @@ -18447,7 +18780,7 @@ lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); lean_inc(x_2); -x_52 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8(x_2, x_35, x_38, x_51, x_12, x_13, x_14, x_15, x_16); +x_52 = l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8(x_2, x_35, x_38, x_51, x_40, x_12, x_13, x_14, x_15, x_16); if (lean_obj_tag(x_52) == 0) { lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; @@ -18532,8 +18865,8 @@ _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_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__1; -x_2 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__1; -x_3 = lean_unsigned_to_nat(560u); +x_2 = l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__1; +x_3 = lean_unsigned_to_nat(554u); x_4 = lean_unsigned_to_nat(26u); x_5 = l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__3___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -33882,7 +34215,7 @@ x_43 = lean_ctor_get(x_41, 1); lean_inc(x_43); lean_dec(x_41); x_44 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withEqs_go___rarg___closed__4; -x_45 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_44); +x_45 = l_panic___at_String_toNat_x21___spec__1(x_44); x_15 = x_45; x_16 = x_42; x_17 = x_43; @@ -35101,18 +35434,12 @@ return x_18; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Util_CollectLevelParams(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Util_CollectFVars(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Util_Recognizers(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Compiler_ExternAttr(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Check(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Closure(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Tactic_Cases(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Tactic_Contradiction(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_GeneralizeTelescope(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Match_Basic(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Match_MVarRenaming(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Match_CaseValues(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Meta_Match_Match(uint8_t builtin, lean_object* w) { lean_object * res; @@ -35121,18 +35448,6 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Util_CollectLevelParams(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Util_CollectFVars(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Util_Recognizers(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Compiler_ExternAttr(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Meta_Check(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); @@ -35151,12 +35466,6 @@ lean_dec_ref(res); res = initialize_Lean_Meta_Match_Basic(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_Match_MVarRenaming(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Meta_Match_CaseValues(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns___closed__1 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns___closed__1(); lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns___closed__1); l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns___closed__2 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns___closed__2(); @@ -35285,10 +35594,10 @@ l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___closed__ lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___closed__1); l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___closed__2 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___closed__2(); lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___closed__2); -l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__1 = _init_l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__1(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__1); -l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__2 = _init_l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__2(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__2); +l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__1 = _init_l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__1(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__1); +l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__2 = _init_l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__2(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__2___closed__2); l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___closed__1 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___closed__1(); lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___closed__1); l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___lambda__2___closed__1 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___lambda__2___closed__1(); @@ -35381,10 +35690,10 @@ l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___closed lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___closed__1); l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___closed__2 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___closed__2(); lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___closed__2); -l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__1 = _init_l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__1(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__1); -l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__2 = _init_l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__2(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__2); +l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__1 = _init_l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__1(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__1); +l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__2 = _init_l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__2(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__2); l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__2___closed__1 = _init_l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__2___closed__1(); lean_mark_persistent(l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__2___closed__1); l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___closed__1 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___closed__1(); @@ -35411,10 +35720,10 @@ l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___closed__1 = lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___closed__1); l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___closed__2 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___closed__2(); lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___closed__2); -l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__1 = _init_l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__1(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__1); -l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__2 = _init_l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__2(); -lean_mark_persistent(l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__2); +l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__1 = _init_l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__1(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__1); +l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__2 = _init_l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__2(); +lean_mark_persistent(l_List_mapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__2); l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___lambda__1___closed__1 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___lambda__1___closed__1(); lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___lambda__1___closed__1); l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___lambda__1___closed__2 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___lambda__1___closed__2(); diff --git a/stage0/stdlib/Lean/Meta/Match/MatchEqs.c b/stage0/stdlib/Lean/Meta/Match/MatchEqs.c index 2c2805ca46..62e06461a7 100644 --- a/stage0/stdlib/Lean/Meta/Match/MatchEqs.c +++ b/stage0/stdlib/Lean/Meta/Match/MatchEqs.c @@ -363,6 +363,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match uint8_t l_Array_contains___at___private_Lean_Meta_RecursorInfo_0__Lean_Meta_getMajorPosDepElim___spec__4(lean_object*, lean_object*); static lean_object* l_List_mapTRAux___at___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match_mkSplitterProof_convertTemplate___spec__3___at___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match_mkSplitterProof_convertTemplate___spec__4___at___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match_mkSplitterProof_convertTemplate___spec__5___closed__2; lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); +lean_object* l_panic___at_String_toNat_x21___spec__1(lean_object*); static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match_mkSplitterProof_convertCastEqRec___spec__8___lambda__7___closed__1; lean_object* l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match_mkSplitterProof_convertCastEqRec___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -593,7 +594,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match static lean_object* l___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match_mkSplitterProof___lambda__2___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match_mkSplitterProof_convertTemplate___spec__13___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match_mkSplitterProof_convertTemplate___spec__14___boxed(lean_object*, lean_object*); -lean_object* l_panic___at_Lean_TSyntax_getNat___spec__1(lean_object*); lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match_mkSplitterProof_convertCastEqRec___spec__8___lambda__12___closed__1; @@ -34553,7 +34553,7 @@ if (x_44 == 0) { lean_object* x_109; lean_object* x_110; x_109 = l_Lean_Meta_casesOnStuckLHS_findFVar_x3f___lambda__1___closed__4; -x_110 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_109); +x_110 = l_panic___at_String_toNat_x21___spec__1(x_109); x_50 = x_110; goto block_108; } diff --git a/stage0/stdlib/Lean/Meta/PPGoal.c b/stage0/stdlib/Lean/Meta/PPGoal.c index 9a4e815eef..d6f27fe12a 100644 --- a/stage0/stdlib/Lean/Meta/PPGoal.c +++ b/stage0/stdlib/Lean/Meta/PPGoal.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Meta.PPGoal -// Imports: Init Lean.Meta.InferType Lean.Meta.MatchUtil +// Imports: Init Lean.Meta.InferType #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -22158,7 +22158,6 @@ return x_14; } lean_object* initialize_Init(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_InferType(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_MatchUtil(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Meta_PPGoal(uint8_t builtin, lean_object* w) { lean_object * res; @@ -22170,9 +22169,6 @@ lean_dec_ref(res); res = initialize_Lean_Meta_InferType(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_MatchUtil(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); l_Lean_Meta_initFn____x40_Lean_Meta_PPGoal___hyg_6____closed__1 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_PPGoal___hyg_6____closed__1(); lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_PPGoal___hyg_6____closed__1); l_Lean_Meta_initFn____x40_Lean_Meta_PPGoal___hyg_6____closed__2 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_PPGoal___hyg_6____closed__2(); diff --git a/stage0/stdlib/Lean/Meta/Reduce.c b/stage0/stdlib/Lean/Meta/Reduce.c index 355080c8f7..aa096de92c 100644 --- a/stage0/stdlib/Lean/Meta/Reduce.c +++ b/stage0/stdlib/Lean/Meta/Reduce.c @@ -65,6 +65,7 @@ static lean_object* l_Lean_Meta_reduce_visit___lambda__4___closed__4; lean_object* lean_st_mk_ref(lean_object*, lean_object*); uint64_t l_Lean_Expr_hash(lean_object*); static lean_object* l_Lean_Meta_reduce_visit___lambda__4___closed__9; +lean_object* l_panic___at_String_toNat_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_reduce_visit___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_sort___override(lean_object*); lean_object* l_Lean_Expr_natLit_x3f(lean_object*); @@ -98,7 +99,6 @@ lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_reduce_visit___lambda__2(uint8_t, uint8_t, uint8_t, 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_EXPORT lean_object* l_Lean_Meta_reduce_visit___lambda__3(uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_panic___at_Lean_TSyntax_getNat___spec__1(lean_object*); lean_object* lean_mk_array(lean_object*, lean_object*); static lean_object* l_Lean_Meta_reduce_visit___lambda__4___closed__10; LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_Meta_reduce_visit___spec__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1765,7 +1765,7 @@ if (lean_obj_tag(x_42) == 0) { lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; x_43 = l_Lean_Meta_reduce_visit___lambda__4___closed__9; -x_44 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_43); +x_44 = l_panic___at_String_toNat_x21___spec__1(x_43); x_45 = lean_nat_add(x_44, x_29); lean_dec(x_44); x_46 = l_Lean_mkRawNatLit(x_45); @@ -1808,7 +1808,7 @@ if (lean_obj_tag(x_53) == 0) { lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; x_54 = l_Lean_Meta_reduce_visit___lambda__4___closed__9; -x_55 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_54); +x_55 = l_panic___at_String_toNat_x21___spec__1(x_54); x_56 = lean_nat_add(x_55, x_29); lean_dec(x_55); x_57 = l_Lean_mkRawNatLit(x_56); @@ -2007,7 +2007,7 @@ if (lean_obj_tag(x_101) == 0) { lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; x_102 = l_Lean_Meta_reduce_visit___lambda__4___closed__9; -x_103 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_102); +x_103 = l_panic___at_String_toNat_x21___spec__1(x_102); x_104 = lean_nat_add(x_103, x_88); lean_dec(x_103); x_105 = l_Lean_mkRawNatLit(x_104); @@ -2050,7 +2050,7 @@ if (lean_obj_tag(x_112) == 0) { lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; x_113 = l_Lean_Meta_reduce_visit___lambda__4___closed__9; -x_114 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_113); +x_114 = l_panic___at_String_toNat_x21___spec__1(x_113); x_115 = lean_nat_add(x_114, x_88); lean_dec(x_114); x_116 = l_Lean_mkRawNatLit(x_115); diff --git a/stage0/stdlib/Lean/Meta/SizeOf.c b/stage0/stdlib/Lean/Meta/SizeOf.c index bd5b736d74..e7aa9dba5a 100644 --- a/stage0/stdlib/Lean/Meta/SizeOf.c +++ b/stage0/stdlib/Lean/Meta/SizeOf.c @@ -13,6 +13,7 @@ #ifdef __cplusplus extern "C" { #endif +lean_object* l_List_reverse___rarg(lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_mkSizeOfSpecLemmaInstance___spec__1___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_getConstInfo___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof___spec__2___closed__2; static lean_object* l_Lean_Meta_mkSizeOfFn___lambda__2___closed__1; @@ -59,7 +60,7 @@ lean_object* lean_array_uset(lean_object*, size_t, lean_object*); lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Meta_getParamNames___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors___spec__1(lean_object*); static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__3; -LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Meta_mkSizeOfInstances___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Meta_mkSizeOfFns___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_getConstInfo___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -73,7 +74,7 @@ lean_object* lean_environment_find(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_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___closed__2; -LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__3___closed__1; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_SizeOf_0__Lean_Meta_isRecField_x3f___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___rarg___closed__3; @@ -236,7 +237,6 @@ LEAN_EXPORT lean_object* l_Lean_addDecl___at___private_Lean_Meta_SizeOf_0__Lean_ lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lambda__3___closed__2; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_sort___override(lean_object*); static lean_object* l_Lean_setEnv___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___spec__5___closed__9; static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_SizeOf___hyg_7271____closed__4; @@ -309,6 +309,7 @@ static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_SizeOf_0__ LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProofStep___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof___spec__6___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorem___lambda__4___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_SizeOfSpecNested_main_loop___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -478,14 +479,14 @@ lean_object* l_Lean_Expr_bindingBody_x21(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_SizeOfSpecNested_throwFailed___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___spec__10(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_mkSizeOfFn___lambda__8___boxed(lean_object**); -LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_getConstInfoRec___at_Lean_Meta_mkSizeOfFn___spec__1___closed__2; static lean_object* l_Lean_Meta_mkSizeOfSpecLemmaName___closed__2; LEAN_EXPORT lean_object* l_List_forIn_loop___at___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfSpecTheorems___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_ignoreField(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_mkSizeOfInstances___closed__2; lean_object* l_Lean_getAttributeImpl(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___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_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___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*); static lean_object* l_Lean_Meta_mkSizeOfSpecLemmaName___closed__1; LEAN_EXPORT lean_object* l_Lean_log___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___spec__7(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfRecFieldFormIH___closed__2; @@ -506,6 +507,7 @@ LEAN_EXPORT lean_object* l_Lean_getConstInfoInduct___at_Lean_Meta_mkSizeOfFns___ uint8_t lean_nat_dec_lt(lean_object*, lean_object*); static lean_object* l_Lean_Meta_SizeOfSpecNested_throwUnexpected___rarg___closed__3; static lean_object* l_Lean_getConstInfoInduct___at_Lean_Meta_mkSizeOfFns___spec__1___closed__1; +LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__2___boxed(lean_object**); lean_object* l_Lean_throwError___at_Lean_Expr_abstractRangeM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_add_decl(lean_object*, lean_object*); static lean_object* _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___rarg___lambda__1___closed__1() { @@ -10233,140 +10235,92 @@ return x_46; } } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___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_1) == 0) { -lean_object* x_8; lean_object* x_9; +lean_object* x_9; lean_object* x_10; +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); -x_8 = lean_box(0); -x_9 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_9, 0, x_8); -lean_ctor_set(x_9, 1, x_7); -return x_9; +x_9 = l_List_reverse___rarg(x_2); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_9); +lean_ctor_set(x_10, 1, x_8); +return x_10; } else { -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_10 = lean_ctor_get(x_1, 0); -lean_inc(x_10); -x_11 = lean_ctor_get(x_1, 1); +lean_object* x_11; +x_11 = lean_ctor_get(x_1, 0); lean_inc(x_11); -if (lean_is_exclusive(x_1)) { - lean_ctor_release(x_1, 0); - lean_ctor_release(x_1, 1); - x_12 = x_1; -} else { - lean_dec_ref(x_1); - x_12 = lean_box(0); -} -if (lean_obj_tag(x_10) == 4) +if (lean_obj_tag(x_11) == 4) { -lean_object* x_28; -x_28 = lean_ctor_get(x_10, 0); -lean_inc(x_28); -lean_dec(x_10); -x_13 = x_28; -x_14 = x_7; -goto block_27; -} -else +uint8_t x_12; +x_12 = !lean_is_exclusive(x_1); +if (x_12 == 0) { -lean_object* x_29; uint8_t x_30; -lean_dec(x_12); +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_1, 1); +x_14 = lean_ctor_get(x_1, 0); +lean_dec(x_14); +x_15 = lean_ctor_get(x_11, 0); +lean_inc(x_15); lean_dec(x_11); -lean_dec(x_10); -x_29 = l_Lean_Meta_SizeOfSpecNested_throwFailed___rarg(x_2, x_3, x_4, x_5, x_6, x_7); -x_30 = !lean_is_exclusive(x_29); -if (x_30 == 0) +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_15); { -return x_29; +lean_object* _tmp_0 = x_13; +lean_object* _tmp_1 = x_1; +x_1 = _tmp_0; +x_2 = _tmp_1; +} +goto _start; } else { -lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_31 = lean_ctor_get(x_29, 0); -x_32 = lean_ctor_get(x_29, 1); -lean_inc(x_32); -lean_inc(x_31); -lean_dec(x_29); -x_33 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_33, 0, x_31); -lean_ctor_set(x_33, 1, x_32); -return x_33; -} -} -block_27: -{ -lean_object* x_15; -x_15 = l_List_mapM___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___spec__1(x_11, x_2, x_3, x_4, x_5, x_6, x_14); -if (lean_obj_tag(x_15) == 0) -{ -uint8_t x_16; -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; -x_17 = lean_ctor_get(x_15, 0); -if (lean_is_scalar(x_12)) { - x_18 = lean_alloc_ctor(1, 2, 0); -} else { - x_18 = x_12; -} -lean_ctor_set(x_18, 0, x_13); -lean_ctor_set(x_18, 1, x_17); -lean_ctor_set(x_15, 0, x_18); -return x_15; -} -else -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_15, 0); -x_20 = lean_ctor_get(x_15, 1); -lean_inc(x_20); -lean_inc(x_19); -lean_dec(x_15); -if (lean_is_scalar(x_12)) { - x_21 = lean_alloc_ctor(1, 2, 0); -} else { - x_21 = x_12; -} -lean_ctor_set(x_21, 0, x_13); -lean_ctor_set(x_21, 1, x_19); -x_22 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_22, 0, x_21); -lean_ctor_set(x_22, 1, x_20); -return x_22; +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_ctor_get(x_1, 1); +lean_inc(x_17); +lean_dec(x_1); +x_18 = lean_ctor_get(x_11, 0); +lean_inc(x_18); +lean_dec(x_11); +x_19 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_19, 0, x_18); +lean_ctor_set(x_19, 1, x_2); +x_1 = x_17; +x_2 = x_19; +goto _start; } } else { -uint8_t x_23; -lean_dec(x_13); -lean_dec(x_12); -x_23 = !lean_is_exclusive(x_15); -if (x_23 == 0) +lean_object* x_21; uint8_t x_22; +lean_dec(x_11); +lean_dec(x_2); +lean_dec(x_1); +x_21 = l_Lean_Meta_SizeOfSpecNested_throwFailed___rarg(x_3, x_4, x_5, x_6, x_7, x_8); +x_22 = !lean_is_exclusive(x_21); +if (x_22 == 0) { -return x_15; +return x_21; } else { -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_15, 0); -x_25 = lean_ctor_get(x_15, 1); -lean_inc(x_25); +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_21, 0); +x_24 = lean_ctor_get(x_21, 1); lean_inc(x_24); -lean_dec(x_15); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} +lean_inc(x_23); +lean_dec(x_21); +x_25 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_24); +return x_25; } } } @@ -11912,27 +11866,26 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Meta_forallTelescopeReducing___at___priv return x_2; } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_inc(x_1); -x_14 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_14, 0, x_1); -lean_ctor_set(x_14, 1, x_2); -lean_ctor_set(x_14, 2, x_3); -x_15 = lean_box(0); +x_15 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_15, 0, x_1); +lean_ctor_set(x_15, 1, x_2); +lean_ctor_set(x_15, 2, x_3); lean_inc(x_1); x_16 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_16, 0, x_1); -lean_ctor_set(x_16, 1, x_15); +lean_ctor_set(x_16, 1, x_4); x_17 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_17, 0, x_14); -lean_ctor_set(x_17, 1, x_4); +lean_ctor_set(x_17, 0, x_15); +lean_ctor_set(x_17, 1, x_5); lean_ctor_set(x_17, 2, x_16); x_18 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_18, 0, x_17); -x_19 = l_Lean_addDecl___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___spec__2(x_18, x_8, x_9, x_10, x_11, x_12, x_13); +x_19 = l_Lean_addDecl___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___spec__2(x_18, x_9, x_10, x_11, x_12, x_13, x_14); if (lean_obj_tag(x_19) == 0) { uint8_t x_20; @@ -11942,8 +11895,8 @@ if (x_20 == 0) lean_object* x_21; lean_object* x_22; lean_object* x_23; x_21 = lean_ctor_get(x_19, 0); lean_dec(x_21); -x_22 = l_Lean_Expr_const___override(x_1, x_5); -x_23 = l_Lean_mkAppN(x_22, x_6); +x_22 = l_Lean_Expr_const___override(x_1, x_6); +x_23 = l_Lean_mkAppN(x_22, x_7); lean_ctor_set(x_19, 0, x_23); return x_19; } @@ -11953,8 +11906,8 @@ lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; x_24 = lean_ctor_get(x_19, 1); lean_inc(x_24); lean_dec(x_19); -x_25 = l_Lean_Expr_const___override(x_1, x_5); -x_26 = l_Lean_mkAppN(x_25, x_6); +x_25 = l_Lean_Expr_const___override(x_1, x_6); +x_26 = l_Lean_mkAppN(x_25, x_7); x_27 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_27, 0, x_26); lean_ctor_set(x_27, 1, x_24); @@ -11964,8 +11917,8 @@ return x_27; else { uint8_t x_28; +lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); lean_dec(x_1); x_28 = !lean_is_exclusive(x_19); if (x_28 == 0) @@ -12005,318 +11958,323 @@ x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___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_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17) { _start: { -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_17 = lean_unsigned_to_nat(0u); -x_18 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_1, x_17); -lean_inc(x_18); -x_19 = lean_mk_array(x_18, x_2); -x_20 = lean_unsigned_to_nat(1u); -x_21 = lean_nat_sub(x_18, x_20); -lean_dec(x_18); -x_22 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_19, x_21); -x_23 = lean_array_get_size(x_22); -x_24 = lean_nat_sub(x_23, x_20); -lean_dec(x_23); -x_25 = lean_array_get_size(x_3); -x_26 = lean_nat_sub(x_24, x_25); -lean_dec(x_25); +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_18 = lean_unsigned_to_nat(0u); +x_19 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_1, x_18); +lean_inc(x_19); +x_20 = lean_mk_array(x_19, x_2); +x_21 = lean_unsigned_to_nat(1u); +x_22 = lean_nat_sub(x_19, x_21); +lean_dec(x_19); +x_23 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_20, x_22); +x_24 = lean_array_get_size(x_23); +x_25 = lean_nat_sub(x_24, x_21); lean_dec(x_24); -lean_inc(x_22); -x_27 = l_Array_toSubarray___rarg(x_22, x_17, x_26); -x_28 = l_Array_ofSubarray___rarg(x_27); -x_29 = l_Array_append___rarg(x_28, x_3); -x_30 = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___rarg___lambda__1___closed__3; -x_31 = lean_array_push(x_30, x_10); -lean_inc(x_31); -x_32 = l_Array_append___rarg(x_29, x_31); +x_26 = lean_array_get_size(x_3); +x_27 = lean_nat_sub(x_25, x_26); +lean_dec(x_26); +lean_dec(x_25); +lean_inc(x_23); +x_28 = l_Array_toSubarray___rarg(x_23, x_18, x_27); +x_29 = l_Array_ofSubarray___rarg(x_28); +x_30 = l_Array_append___rarg(x_29, x_3); +x_31 = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkLocalInstances_loop___rarg___lambda__1___closed__3; +x_32 = lean_array_push(x_31, x_11); lean_inc(x_32); -x_33 = l_Lean_mkAppN(x_4, x_32); -x_34 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___spec__1___closed__1; -lean_inc(x_15); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -x_35 = l_Lean_Meta_mkAppM(x_34, x_31, x_12, x_13, x_14, x_15, x_16); -if (lean_obj_tag(x_35) == 0) -{ -lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_36 = lean_ctor_get(x_35, 0); -lean_inc(x_36); -x_37 = lean_ctor_get(x_35, 1); -lean_inc(x_37); -lean_dec(x_35); -lean_inc(x_15); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); +x_33 = l_Array_append___rarg(x_30, x_32); lean_inc(x_33); -x_38 = l_Lean_Meta_mkEq(x_33, x_36, x_12, x_13, x_14, x_15, x_37); -if (lean_obj_tag(x_38) == 0) +x_34 = l_Lean_mkAppN(x_4, x_33); +x_35 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMinors_loop___spec__1___closed__1; +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +x_36 = l_Lean_Meta_mkAppM(x_35, x_32, x_13, x_14, x_15, x_16, x_17); +if (lean_obj_tag(x_36) == 0) { -lean_object* x_39; lean_object* x_40; uint8_t x_41; uint8_t x_42; uint8_t x_43; lean_object* x_44; -x_39 = lean_ctor_get(x_38, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_38, 1); +lean_object* x_37; lean_object* x_38; lean_object* x_39; +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_16); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_34); +x_39 = l_Lean_Meta_mkEq(x_34, x_37, x_13, x_14, x_15, x_16, x_38); +if (lean_obj_tag(x_39) == 0) +{ +lean_object* x_40; lean_object* x_41; uint8_t x_42; uint8_t x_43; uint8_t x_44; lean_object* x_45; +x_40 = lean_ctor_get(x_39, 0); lean_inc(x_40); -lean_dec(x_38); -x_41 = 0; -x_42 = 1; +x_41 = lean_ctor_get(x_39, 1); +lean_inc(x_41); +lean_dec(x_39); +x_42 = 0; x_43 = 1; -lean_inc(x_32); -x_44 = l_Lean_Meta_mkForallFVars(x_32, x_39, x_41, x_42, x_43, x_12, x_13, x_14, x_15, x_40); -if (lean_obj_tag(x_44) == 0) +x_44 = 1; +lean_inc(x_33); +x_45 = l_Lean_Meta_mkForallFVars(x_33, x_40, x_42, x_43, x_44, x_13, x_14, x_15, x_16, x_41); +if (lean_obj_tag(x_45) == 0) { -lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_45 = lean_ctor_get(x_44, 0); -lean_inc(x_45); -x_46 = lean_ctor_get(x_44, 1); +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_45, 0); lean_inc(x_46); -lean_dec(x_44); +x_47 = lean_ctor_get(x_45, 1); +lean_inc(x_47); +lean_dec(x_45); +lean_inc(x_16); lean_inc(x_15); lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); -lean_inc(x_11); -x_47 = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof(x_5, x_33, x_11, x_12, x_13, x_14, x_15, x_46); -if (lean_obj_tag(x_47) == 0) +x_48 = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof(x_5, x_34, x_12, x_13, x_14, x_15, x_16, x_47); +if (lean_obj_tag(x_48) == 0) { -lean_object* x_48; lean_object* x_49; lean_object* x_50; -x_48 = lean_ctor_get(x_47, 0); -lean_inc(x_48); -x_49 = lean_ctor_get(x_47, 1); +lean_object* x_49; lean_object* x_50; lean_object* x_51; +x_49 = lean_ctor_get(x_48, 0); lean_inc(x_49); -lean_dec(x_47); -x_50 = l_Lean_Meta_mkLambdaFVars(x_32, x_48, x_41, x_42, x_43, x_12, x_13, x_14, x_15, x_49); -if (lean_obj_tag(x_50) == 0) +x_50 = lean_ctor_get(x_48, 1); +lean_inc(x_50); +lean_dec(x_48); +x_51 = l_Lean_Meta_mkLambdaFVars(x_33, x_49, x_42, x_43, x_44, x_13, x_14, x_15, x_16, x_50); +if (lean_obj_tag(x_51) == 0) { -lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; uint8_t x_55; -x_51 = lean_ctor_get(x_50, 0); -lean_inc(x_51); -x_52 = lean_ctor_get(x_50, 1); +lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; +x_52 = lean_ctor_get(x_51, 0); lean_inc(x_52); -lean_dec(x_50); +x_53 = lean_ctor_get(x_51, 1); +lean_inc(x_53); +lean_dec(x_51); lean_inc(x_6); -x_53 = l_Lean_isTracingEnabledFor___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___spec__1(x_6, x_11, x_12, x_13, x_14, x_15, x_52); -x_54 = lean_ctor_get(x_53, 0); -lean_inc(x_54); -x_55 = lean_unbox(x_54); +x_54 = l_Lean_isTracingEnabledFor___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___spec__1(x_6, x_12, x_13, x_14, x_15, x_16, x_53); +x_55 = lean_ctor_get(x_54, 0); +lean_inc(x_55); +x_56 = lean_unbox(x_55); +lean_dec(x_55); +if (x_56 == 0) +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; +lean_dec(x_6); +x_57 = lean_ctor_get(x_54, 1); +lean_inc(x_57); lean_dec(x_54); -if (x_55 == 0) -{ -lean_object* x_56; lean_object* x_57; lean_object* x_58; -lean_dec(x_6); -x_56 = lean_ctor_get(x_53, 1); -lean_inc(x_56); -lean_dec(x_53); -x_57 = lean_box(0); -x_58 = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__1(x_7, x_8, x_45, x_51, x_9, x_22, x_57, x_11, x_12, x_13, x_14, x_15, x_56); -return x_58; +x_58 = lean_box(0); +x_59 = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__1(x_7, x_8, x_46, x_9, x_52, x_10, x_23, x_58, x_12, x_13, x_14, x_15, x_16, x_57); +return x_59; } else { -lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; -x_59 = lean_ctor_get(x_53, 1); -lean_inc(x_59); -lean_dec(x_53); -lean_inc(x_51); -x_60 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_60, 0, x_51); -x_61 = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__2___closed__2; -x_62 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_62, 0, x_61); -lean_ctor_set(x_62, 1, x_60); -x_63 = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___rarg___closed__9; -x_64 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_64, 0, x_62); -lean_ctor_set(x_64, 1, x_63); -x_65 = l_Lean_addTrace___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___spec__2(x_6, x_64, x_11, x_12, x_13, x_14, x_15, x_59); -x_66 = lean_ctor_get(x_65, 0); -lean_inc(x_66); -x_67 = lean_ctor_get(x_65, 1); +lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; +x_60 = lean_ctor_get(x_54, 1); +lean_inc(x_60); +lean_dec(x_54); +lean_inc(x_52); +x_61 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_61, 0, x_52); +x_62 = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__2___closed__2; +x_63 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_63, 0, x_62); +lean_ctor_set(x_63, 1, x_61); +x_64 = l___private_Lean_Meta_SizeOf_0__Lean_Meta_mkSizeOfMotives_loop___rarg___closed__9; +x_65 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_65, 0, x_63); +lean_ctor_set(x_65, 1, x_64); +x_66 = l_Lean_addTrace___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkMinorProof___spec__2(x_6, x_65, x_12, x_13, x_14, x_15, x_16, x_60); +x_67 = lean_ctor_get(x_66, 0); lean_inc(x_67); -lean_dec(x_65); -x_68 = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__1(x_7, x_8, x_45, x_51, x_9, x_22, x_66, x_11, x_12, x_13, x_14, x_15, x_67); +x_68 = lean_ctor_get(x_66, 1); +lean_inc(x_68); lean_dec(x_66); -return x_68; +x_69 = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__1(x_7, x_8, x_46, x_9, x_52, x_10, x_23, x_67, x_12, x_13, x_14, x_15, x_16, x_68); +lean_dec(x_67); +return x_69; } } else { -uint8_t x_69; -lean_dec(x_45); -lean_dec(x_22); +uint8_t x_70; +lean_dec(x_46); +lean_dec(x_23); +lean_dec(x_16); lean_dec(x_15); lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); -lean_dec(x_11); +lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -x_69 = !lean_is_exclusive(x_50); -if (x_69 == 0) +x_70 = !lean_is_exclusive(x_51); +if (x_70 == 0) { -return x_50; +return x_51; } else { -lean_object* x_70; lean_object* x_71; lean_object* x_72; -x_70 = lean_ctor_get(x_50, 0); -x_71 = lean_ctor_get(x_50, 1); +lean_object* x_71; lean_object* x_72; lean_object* x_73; +x_71 = lean_ctor_get(x_51, 0); +x_72 = lean_ctor_get(x_51, 1); +lean_inc(x_72); lean_inc(x_71); -lean_inc(x_70); -lean_dec(x_50); -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_dec(x_51); +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_73; -lean_dec(x_45); -lean_dec(x_32); -lean_dec(x_22); +uint8_t x_74; +lean_dec(x_46); +lean_dec(x_33); +lean_dec(x_23); +lean_dec(x_16); lean_dec(x_15); lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); -lean_dec(x_11); +lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -x_73 = !lean_is_exclusive(x_47); -if (x_73 == 0) +x_74 = !lean_is_exclusive(x_48); +if (x_74 == 0) { -return x_47; +return x_48; } else { -lean_object* x_74; lean_object* x_75; lean_object* x_76; -x_74 = lean_ctor_get(x_47, 0); -x_75 = lean_ctor_get(x_47, 1); +lean_object* x_75; lean_object* x_76; lean_object* x_77; +x_75 = lean_ctor_get(x_48, 0); +x_76 = lean_ctor_get(x_48, 1); +lean_inc(x_76); lean_inc(x_75); -lean_inc(x_74); -lean_dec(x_47); -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; +lean_dec(x_48); +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; } } } else { -uint8_t x_77; +uint8_t x_78; +lean_dec(x_34); lean_dec(x_33); -lean_dec(x_32); -lean_dec(x_22); +lean_dec(x_23); +lean_dec(x_16); lean_dec(x_15); lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); -lean_dec(x_11); +lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_77 = !lean_is_exclusive(x_44); -if (x_77 == 0) +x_78 = !lean_is_exclusive(x_45); +if (x_78 == 0) { -return x_44; +return x_45; } else { -lean_object* x_78; lean_object* x_79; lean_object* x_80; -x_78 = lean_ctor_get(x_44, 0); -x_79 = lean_ctor_get(x_44, 1); +lean_object* x_79; lean_object* x_80; lean_object* x_81; +x_79 = lean_ctor_get(x_45, 0); +x_80 = lean_ctor_get(x_45, 1); +lean_inc(x_80); lean_inc(x_79); -lean_inc(x_78); -lean_dec(x_44); -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_dec(x_45); +x_81 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_81, 0, x_79); +lean_ctor_set(x_81, 1, x_80); +return x_81; } } } else { -uint8_t x_81; +uint8_t x_82; +lean_dec(x_34); lean_dec(x_33); -lean_dec(x_32); -lean_dec(x_22); +lean_dec(x_23); +lean_dec(x_16); lean_dec(x_15); lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); -lean_dec(x_11); +lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_81 = !lean_is_exclusive(x_38); -if (x_81 == 0) +x_82 = !lean_is_exclusive(x_39); +if (x_82 == 0) { -return x_38; +return x_39; } else { -lean_object* x_82; lean_object* x_83; lean_object* x_84; -x_82 = lean_ctor_get(x_38, 0); -x_83 = lean_ctor_get(x_38, 1); +lean_object* x_83; lean_object* x_84; lean_object* x_85; +x_83 = lean_ctor_get(x_39, 0); +x_84 = lean_ctor_get(x_39, 1); +lean_inc(x_84); lean_inc(x_83); -lean_inc(x_82); -lean_dec(x_38); -x_84 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_84, 0, x_82); -lean_ctor_set(x_84, 1, x_83); -return x_84; +lean_dec(x_39); +x_85 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_85, 0, x_83); +lean_ctor_set(x_85, 1, x_84); +return x_85; } } } else { -uint8_t x_85; +uint8_t x_86; +lean_dec(x_34); lean_dec(x_33); -lean_dec(x_32); -lean_dec(x_22); +lean_dec(x_23); +lean_dec(x_16); lean_dec(x_15); lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); -lean_dec(x_11); +lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_85 = !lean_is_exclusive(x_35); -if (x_85 == 0) +x_86 = !lean_is_exclusive(x_36); +if (x_86 == 0) { -return x_35; +return x_36; } else { -lean_object* x_86; lean_object* x_87; lean_object* x_88; -x_86 = lean_ctor_get(x_35, 0); -x_87 = lean_ctor_get(x_35, 1); +lean_object* x_87; lean_object* x_88; lean_object* x_89; +x_87 = lean_ctor_get(x_36, 0); +x_88 = lean_ctor_get(x_36, 1); +lean_inc(x_88); lean_inc(x_87); -lean_inc(x_86); -lean_dec(x_35); -x_88 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_88, 0, x_86); -lean_ctor_set(x_88, 1, x_87); -return x_88; +lean_dec(x_36); +x_89 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_89, 0, x_87); +lean_ctor_set(x_89, 1, x_88); +return x_89; } } } @@ -12339,26 +12297,27 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17) { +LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18) { _start: { -lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22; -lean_inc(x_10); -x_18 = l_Lean_mkAppN(x_1, x_10); -x_19 = lean_alloc_closure((void*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__2), 16, 9); -lean_closure_set(x_19, 0, x_2); -lean_closure_set(x_19, 1, x_3); -lean_closure_set(x_19, 2, x_10); -lean_closure_set(x_19, 3, x_4); -lean_closure_set(x_19, 4, x_5); -lean_closure_set(x_19, 5, x_6); -lean_closure_set(x_19, 6, x_7); -lean_closure_set(x_19, 7, x_8); -lean_closure_set(x_19, 8, x_9); -x_20 = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__3___closed__2; -x_21 = 0; -x_22 = l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___spec__9___rarg(x_20, x_21, x_18, x_19, x_12, x_13, x_14, x_15, x_16, x_17); -return x_22; +lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; lean_object* x_23; +lean_inc(x_11); +x_19 = l_Lean_mkAppN(x_1, x_11); +x_20 = lean_alloc_closure((void*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__2___boxed), 17, 10); +lean_closure_set(x_20, 0, x_2); +lean_closure_set(x_20, 1, x_3); +lean_closure_set(x_20, 2, x_11); +lean_closure_set(x_20, 3, x_4); +lean_closure_set(x_20, 4, x_5); +lean_closure_set(x_20, 5, x_6); +lean_closure_set(x_20, 6, x_7); +lean_closure_set(x_20, 7, x_8); +lean_closure_set(x_20, 8, x_9); +lean_closure_set(x_20, 9, x_10); +x_21 = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__3___closed__2; +x_22 = 0; +x_23 = l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___spec__9___rarg(x_21, x_22, x_19, x_20, x_13, x_14, x_15, x_16, x_17, x_18); +return x_23; } } static lean_object* _init_l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__4___closed__1() { @@ -12377,161 +12336,163 @@ lean_dec(x_3); x_10 = l_Lean_Expr_getAppFn(x_1); if (lean_obj_tag(x_10) == 4) { -lean_object* x_11; lean_object* x_12; lean_object* x_13; +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; x_11 = lean_ctor_get(x_10, 0); lean_inc(x_11); x_12 = lean_ctor_get(x_10, 1); lean_inc(x_12); +x_13 = lean_box(0); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_12); -x_13 = l_List_mapM___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___spec__1(x_12, x_4, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_13) == 0) +x_14 = l_List_mapM_loop___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___spec__1(x_12, x_13, x_4, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_14) == 0) { -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; -x_14 = lean_ctor_get(x_13, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_13, 1); +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; +x_15 = lean_ctor_get(x_14, 0); lean_inc(x_15); -lean_dec(x_13); -x_16 = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__4___closed__1; -x_17 = lean_name_append_after(x_11, x_16); -x_18 = lean_st_ref_get(x_8, x_15); -x_19 = !lean_is_exclusive(x_18); -if (x_19 == 0) +x_16 = lean_ctor_get(x_14, 1); +lean_inc(x_16); +lean_dec(x_14); +x_17 = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__4___closed__1; +x_18 = lean_name_append_after(x_11, x_17); +x_19 = lean_st_ref_get(x_8, x_16); +x_20 = !lean_is_exclusive(x_19); +if (x_20 == 0) { -lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; -x_20 = lean_ctor_get(x_18, 0); -x_21 = lean_ctor_get(x_18, 1); -x_22 = lean_ctor_get(x_20, 0); -lean_inc(x_22); -lean_dec(x_20); -lean_inc(x_17); -x_23 = l_Lean_Environment_contains(x_22, x_17); -if (x_23 == 0) +lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; +x_21 = lean_ctor_get(x_19, 0); +x_22 = lean_ctor_get(x_19, 1); +x_23 = lean_ctor_get(x_21, 0); +lean_inc(x_23); +lean_dec(x_21); +lean_inc(x_18); +x_24 = l_Lean_Environment_contains(x_23, x_18); +if (x_24 == 0) { -lean_object* x_24; lean_object* x_25; -lean_free_object(x_18); -x_24 = l_Lean_Expr_appArg_x21(x_1); +lean_object* x_25; lean_object* x_26; +lean_free_object(x_19); +x_25 = l_Lean_Expr_appArg_x21(x_1); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -x_25 = lean_infer_type(x_24, x_5, x_6, x_7, x_8, x_21); -if (lean_obj_tag(x_25) == 0) +x_26 = lean_infer_type(x_25, x_5, x_6, x_7, x_8, x_22); +if (lean_obj_tag(x_26) == 0) { -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_25, 0); -lean_inc(x_26); -x_27 = lean_ctor_get(x_25, 1); +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_26, 0); lean_inc(x_27); -lean_dec(x_25); +x_28 = lean_ctor_get(x_26, 1); +lean_inc(x_28); +lean_dec(x_26); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -x_28 = lean_whnf(x_26, x_5, x_6, x_7, x_8, x_27); -if (lean_obj_tag(x_28) == 0) +x_29 = lean_whnf(x_27, x_5, x_6, x_7, x_8, x_28); +if (lean_obj_tag(x_29) == 0) { -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_28, 0); -lean_inc(x_29); -x_30 = lean_ctor_get(x_28, 1); +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_29, 0); lean_inc(x_30); -lean_dec(x_28); -x_31 = l_Lean_Expr_getAppFn(x_29); -if (lean_obj_tag(x_31) == 4) +x_31 = lean_ctor_get(x_29, 1); +lean_inc(x_31); +lean_dec(x_29); +x_32 = l_Lean_Expr_getAppFn(x_30); +if (lean_obj_tag(x_32) == 4) { -lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -x_33 = lean_st_ref_get(x_8, x_30); -x_34 = lean_ctor_get(x_33, 0); -lean_inc(x_34); -x_35 = lean_ctor_get(x_33, 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; +x_33 = lean_ctor_get(x_32, 0); +lean_inc(x_33); +x_34 = lean_st_ref_get(x_8, x_31); +x_35 = lean_ctor_get(x_34, 0); lean_inc(x_35); -lean_dec(x_33); -x_36 = lean_ctor_get(x_34, 0); +x_36 = lean_ctor_get(x_34, 1); lean_inc(x_36); lean_dec(x_34); -x_37 = lean_environment_find(x_36, x_32); -if (lean_obj_tag(x_37) == 0) +x_37 = lean_ctor_get(x_35, 0); +lean_inc(x_37); +lean_dec(x_35); +x_38 = lean_environment_find(x_37, x_33); +if (lean_obj_tag(x_38) == 0) { -lean_object* x_38; -lean_dec(x_31); -lean_dec(x_29); -lean_dec(x_17); -lean_dec(x_14); +lean_object* x_39; +lean_dec(x_32); +lean_dec(x_30); +lean_dec(x_18); +lean_dec(x_15); lean_dec(x_12); lean_dec(x_10); lean_dec(x_2); lean_dec(x_1); -x_38 = l_Lean_Meta_SizeOfSpecNested_throwFailed___rarg(x_4, x_5, x_6, x_7, x_8, x_35); -return x_38; +x_39 = l_Lean_Meta_SizeOfSpecNested_throwFailed___rarg(x_4, x_5, x_6, x_7, x_8, x_36); +return x_39; } else { -lean_object* x_39; -x_39 = lean_ctor_get(x_37, 0); -lean_inc(x_39); -lean_dec(x_37); -if (lean_obj_tag(x_39) == 5) -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; -x_40 = lean_ctor_get(x_39, 0); +lean_object* x_40; +x_40 = lean_ctor_get(x_38, 0); lean_inc(x_40); -lean_dec(x_39); -x_41 = lean_unsigned_to_nat(0u); -x_42 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_29, x_41); -x_43 = l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3; -lean_inc(x_42); -x_44 = lean_mk_array(x_42, x_43); -x_45 = lean_unsigned_to_nat(1u); -x_46 = lean_nat_sub(x_42, x_45); -lean_dec(x_42); -x_47 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_29, x_44, x_46); -x_48 = lean_ctor_get(x_40, 1); -lean_inc(x_48); -x_49 = l_Array_toSubarray___rarg(x_47, x_41, x_48); -x_50 = l_Array_ofSubarray___rarg(x_49); -x_51 = l_Lean_mkAppN(x_31, x_50); +lean_dec(x_38); +if (lean_obj_tag(x_40) == 5) +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_41 = lean_ctor_get(x_40, 0); +lean_inc(x_41); +lean_dec(x_40); +x_42 = lean_unsigned_to_nat(0u); +x_43 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_30, x_42); +x_44 = l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3; +lean_inc(x_43); +x_45 = lean_mk_array(x_43, x_44); +x_46 = lean_unsigned_to_nat(1u); +x_47 = lean_nat_sub(x_43, x_46); +lean_dec(x_43); +x_48 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_30, x_45, x_47); +x_49 = lean_ctor_get(x_41, 1); +lean_inc(x_49); +x_50 = l_Array_toSubarray___rarg(x_48, x_42, x_49); +x_51 = l_Array_ofSubarray___rarg(x_50); +x_52 = l_Lean_mkAppN(x_32, x_51); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -lean_inc(x_51); -x_52 = lean_infer_type(x_51, x_5, x_6, x_7, x_8, x_35); -if (lean_obj_tag(x_52) == 0) +lean_inc(x_52); +x_53 = lean_infer_type(x_52, x_5, x_6, x_7, x_8, x_36); +if (lean_obj_tag(x_53) == 0) { -lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; -x_53 = lean_ctor_get(x_52, 0); -lean_inc(x_53); -x_54 = lean_ctor_get(x_52, 1); +lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; +x_54 = lean_ctor_get(x_53, 0); lean_inc(x_54); -lean_dec(x_52); -x_55 = lean_alloc_closure((void*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__3___boxed), 17, 9); -lean_closure_set(x_55, 0, x_51); -lean_closure_set(x_55, 1, x_1); -lean_closure_set(x_55, 2, x_43); -lean_closure_set(x_55, 3, x_10); -lean_closure_set(x_55, 4, x_40); -lean_closure_set(x_55, 5, x_2); -lean_closure_set(x_55, 6, x_17); -lean_closure_set(x_55, 7, x_14); -lean_closure_set(x_55, 8, x_12); -x_56 = l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___spec__10___rarg(x_53, x_55, x_4, x_5, x_6, x_7, x_8, x_54); -return x_56; +x_55 = lean_ctor_get(x_53, 1); +lean_inc(x_55); +lean_dec(x_53); +x_56 = lean_alloc_closure((void*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__3___boxed), 18, 10); +lean_closure_set(x_56, 0, x_52); +lean_closure_set(x_56, 1, x_1); +lean_closure_set(x_56, 2, x_44); +lean_closure_set(x_56, 3, x_10); +lean_closure_set(x_56, 4, x_41); +lean_closure_set(x_56, 5, x_2); +lean_closure_set(x_56, 6, x_18); +lean_closure_set(x_56, 7, x_15); +lean_closure_set(x_56, 8, x_13); +lean_closure_set(x_56, 9, x_12); +x_57 = l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___spec__10___rarg(x_54, x_56, x_4, x_5, x_6, x_7, x_8, x_55); +return x_57; } else { -uint8_t x_57; -lean_dec(x_51); -lean_dec(x_40); -lean_dec(x_17); -lean_dec(x_14); +uint8_t x_58; +lean_dec(x_52); +lean_dec(x_41); +lean_dec(x_18); +lean_dec(x_15); lean_dec(x_12); lean_dec(x_10); lean_dec(x_8); @@ -12541,39 +12502,22 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); lean_dec(x_1); -x_57 = !lean_is_exclusive(x_52); -if (x_57 == 0) +x_58 = !lean_is_exclusive(x_53); +if (x_58 == 0) { -return x_52; +return x_53; } else { -lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_58 = lean_ctor_get(x_52, 0); -x_59 = lean_ctor_get(x_52, 1); +lean_object* x_59; lean_object* x_60; lean_object* x_61; +x_59 = lean_ctor_get(x_53, 0); +x_60 = lean_ctor_get(x_53, 1); +lean_inc(x_60); lean_inc(x_59); -lean_inc(x_58); -lean_dec(x_52); -x_60 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_60, 0, x_58); -lean_ctor_set(x_60, 1, x_59); -return x_60; -} -} -} -else -{ -lean_object* x_61; -lean_dec(x_39); -lean_dec(x_31); -lean_dec(x_29); -lean_dec(x_17); -lean_dec(x_14); -lean_dec(x_12); -lean_dec(x_10); -lean_dec(x_2); -lean_dec(x_1); -x_61 = l_Lean_Meta_SizeOfSpecNested_throwFailed___rarg(x_4, x_5, x_6, x_7, x_8, x_35); +lean_dec(x_53); +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; } } @@ -12581,245 +12525,263 @@ return x_61; else { lean_object* x_62; -lean_dec(x_31); -lean_dec(x_29); -lean_dec(x_17); -lean_dec(x_14); +lean_dec(x_40); +lean_dec(x_32); +lean_dec(x_30); +lean_dec(x_18); +lean_dec(x_15); lean_dec(x_12); lean_dec(x_10); lean_dec(x_2); lean_dec(x_1); -x_62 = l_Lean_Meta_SizeOfSpecNested_throwFailed___rarg(x_4, x_5, x_6, x_7, x_8, x_30); +x_62 = l_Lean_Meta_SizeOfSpecNested_throwFailed___rarg(x_4, x_5, x_6, x_7, x_8, x_36); return x_62; } } -else -{ -uint8_t x_63; -lean_dec(x_17); -lean_dec(x_14); -lean_dec(x_12); -lean_dec(x_10); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -lean_dec(x_1); -x_63 = !lean_is_exclusive(x_28); -if (x_63 == 0) -{ -return x_28; } else { -lean_object* x_64; lean_object* x_65; lean_object* x_66; -x_64 = lean_ctor_get(x_28, 0); -x_65 = lean_ctor_get(x_28, 1); -lean_inc(x_65); -lean_inc(x_64); -lean_dec(x_28); -x_66 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_66, 0, x_64); -lean_ctor_set(x_66, 1, x_65); -return x_66; -} -} -} -else -{ -uint8_t x_67; -lean_dec(x_17); -lean_dec(x_14); -lean_dec(x_12); -lean_dec(x_10); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -lean_dec(x_1); -x_67 = !lean_is_exclusive(x_25); -if (x_67 == 0) -{ -return x_25; -} -else -{ -lean_object* x_68; lean_object* x_69; lean_object* x_70; -x_68 = lean_ctor_get(x_25, 0); -x_69 = lean_ctor_get(x_25, 1); -lean_inc(x_69); -lean_inc(x_68); -lean_dec(x_25); -x_70 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_70, 0, x_68); -lean_ctor_set(x_70, 1, x_69); -return x_70; -} -} -} -else -{ -lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; -lean_dec(x_14); -lean_dec(x_10); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -x_71 = l_Lean_Expr_const___override(x_17, x_12); -x_72 = lean_unsigned_to_nat(0u); -x_73 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_1, x_72); -x_74 = l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3; -lean_inc(x_73); -x_75 = lean_mk_array(x_73, x_74); -x_76 = lean_unsigned_to_nat(1u); -x_77 = lean_nat_sub(x_73, x_76); -lean_dec(x_73); -x_78 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_75, x_77); -x_79 = l_Lean_mkAppN(x_71, x_78); -lean_ctor_set(x_18, 0, x_79); -return x_18; -} -} -else -{ -lean_object* x_80; lean_object* x_81; lean_object* x_82; uint8_t x_83; -x_80 = lean_ctor_get(x_18, 0); -x_81 = lean_ctor_get(x_18, 1); -lean_inc(x_81); -lean_inc(x_80); +lean_object* x_63; +lean_dec(x_32); +lean_dec(x_30); lean_dec(x_18); -x_82 = lean_ctor_get(x_80, 0); +lean_dec(x_15); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_2); +lean_dec(x_1); +x_63 = l_Lean_Meta_SizeOfSpecNested_throwFailed___rarg(x_4, x_5, x_6, x_7, x_8, x_31); +return x_63; +} +} +else +{ +uint8_t x_64; +lean_dec(x_18); +lean_dec(x_15); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_64 = !lean_is_exclusive(x_29); +if (x_64 == 0) +{ +return x_29; +} +else +{ +lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_65 = lean_ctor_get(x_29, 0); +x_66 = lean_ctor_get(x_29, 1); +lean_inc(x_66); +lean_inc(x_65); +lean_dec(x_29); +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_18); +lean_dec(x_15); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_68 = !lean_is_exclusive(x_26); +if (x_68 == 0) +{ +return x_26; +} +else +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_69 = lean_ctor_get(x_26, 0); +x_70 = lean_ctor_get(x_26, 1); +lean_inc(x_70); +lean_inc(x_69); +lean_dec(x_26); +x_71 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_70); +return x_71; +} +} +} +else +{ +lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; +lean_dec(x_15); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +x_72 = l_Lean_Expr_const___override(x_18, x_12); +x_73 = lean_unsigned_to_nat(0u); +x_74 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_1, x_73); +x_75 = l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3; +lean_inc(x_74); +x_76 = lean_mk_array(x_74, x_75); +x_77 = lean_unsigned_to_nat(1u); +x_78 = lean_nat_sub(x_74, x_77); +lean_dec(x_74); +x_79 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_76, x_78); +x_80 = l_Lean_mkAppN(x_72, x_79); +lean_ctor_set(x_19, 0, x_80); +return x_19; +} +} +else +{ +lean_object* x_81; lean_object* x_82; lean_object* x_83; uint8_t x_84; +x_81 = lean_ctor_get(x_19, 0); +x_82 = lean_ctor_get(x_19, 1); lean_inc(x_82); -lean_dec(x_80); -lean_inc(x_17); -x_83 = l_Lean_Environment_contains(x_82, x_17); -if (x_83 == 0) +lean_inc(x_81); +lean_dec(x_19); +x_83 = lean_ctor_get(x_81, 0); +lean_inc(x_83); +lean_dec(x_81); +lean_inc(x_18); +x_84 = l_Lean_Environment_contains(x_83, x_18); +if (x_84 == 0) { -lean_object* x_84; lean_object* x_85; -x_84 = l_Lean_Expr_appArg_x21(x_1); +lean_object* x_85; lean_object* x_86; +x_85 = l_Lean_Expr_appArg_x21(x_1); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -x_85 = lean_infer_type(x_84, x_5, x_6, x_7, x_8, x_81); -if (lean_obj_tag(x_85) == 0) +x_86 = lean_infer_type(x_85, x_5, x_6, x_7, x_8, x_82); +if (lean_obj_tag(x_86) == 0) { -lean_object* x_86; lean_object* x_87; lean_object* x_88; -x_86 = lean_ctor_get(x_85, 0); -lean_inc(x_86); -x_87 = lean_ctor_get(x_85, 1); +lean_object* x_87; lean_object* x_88; lean_object* x_89; +x_87 = lean_ctor_get(x_86, 0); lean_inc(x_87); -lean_dec(x_85); +x_88 = lean_ctor_get(x_86, 1); +lean_inc(x_88); +lean_dec(x_86); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -x_88 = lean_whnf(x_86, x_5, x_6, x_7, x_8, x_87); -if (lean_obj_tag(x_88) == 0) +x_89 = lean_whnf(x_87, x_5, x_6, x_7, x_8, x_88); +if (lean_obj_tag(x_89) == 0) { -lean_object* x_89; lean_object* x_90; lean_object* x_91; -x_89 = lean_ctor_get(x_88, 0); -lean_inc(x_89); -x_90 = lean_ctor_get(x_88, 1); +lean_object* x_90; lean_object* x_91; lean_object* x_92; +x_90 = lean_ctor_get(x_89, 0); lean_inc(x_90); -lean_dec(x_88); -x_91 = l_Lean_Expr_getAppFn(x_89); -if (lean_obj_tag(x_91) == 4) +x_91 = lean_ctor_get(x_89, 1); +lean_inc(x_91); +lean_dec(x_89); +x_92 = l_Lean_Expr_getAppFn(x_90); +if (lean_obj_tag(x_92) == 4) { -lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; -x_92 = lean_ctor_get(x_91, 0); -lean_inc(x_92); -x_93 = lean_st_ref_get(x_8, x_90); -x_94 = lean_ctor_get(x_93, 0); -lean_inc(x_94); -x_95 = lean_ctor_get(x_93, 1); +lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; +x_93 = lean_ctor_get(x_92, 0); +lean_inc(x_93); +x_94 = lean_st_ref_get(x_8, x_91); +x_95 = lean_ctor_get(x_94, 0); lean_inc(x_95); -lean_dec(x_93); -x_96 = lean_ctor_get(x_94, 0); +x_96 = lean_ctor_get(x_94, 1); lean_inc(x_96); lean_dec(x_94); -x_97 = lean_environment_find(x_96, x_92); -if (lean_obj_tag(x_97) == 0) +x_97 = lean_ctor_get(x_95, 0); +lean_inc(x_97); +lean_dec(x_95); +x_98 = lean_environment_find(x_97, x_93); +if (lean_obj_tag(x_98) == 0) { -lean_object* x_98; -lean_dec(x_91); -lean_dec(x_89); -lean_dec(x_17); -lean_dec(x_14); +lean_object* x_99; +lean_dec(x_92); +lean_dec(x_90); +lean_dec(x_18); +lean_dec(x_15); lean_dec(x_12); lean_dec(x_10); lean_dec(x_2); lean_dec(x_1); -x_98 = l_Lean_Meta_SizeOfSpecNested_throwFailed___rarg(x_4, x_5, x_6, x_7, x_8, x_95); -return x_98; +x_99 = l_Lean_Meta_SizeOfSpecNested_throwFailed___rarg(x_4, x_5, x_6, x_7, x_8, x_96); +return x_99; } else { -lean_object* x_99; -x_99 = lean_ctor_get(x_97, 0); -lean_inc(x_99); -lean_dec(x_97); -if (lean_obj_tag(x_99) == 5) -{ -lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; -x_100 = lean_ctor_get(x_99, 0); +lean_object* x_100; +x_100 = lean_ctor_get(x_98, 0); lean_inc(x_100); -lean_dec(x_99); -x_101 = lean_unsigned_to_nat(0u); -x_102 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_89, x_101); -x_103 = l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3; -lean_inc(x_102); -x_104 = lean_mk_array(x_102, x_103); -x_105 = lean_unsigned_to_nat(1u); -x_106 = lean_nat_sub(x_102, x_105); -lean_dec(x_102); -x_107 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_89, x_104, x_106); -x_108 = lean_ctor_get(x_100, 1); -lean_inc(x_108); -x_109 = l_Array_toSubarray___rarg(x_107, x_101, x_108); -x_110 = l_Array_ofSubarray___rarg(x_109); -x_111 = l_Lean_mkAppN(x_91, x_110); +lean_dec(x_98); +if (lean_obj_tag(x_100) == 5) +{ +lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; +x_101 = lean_ctor_get(x_100, 0); +lean_inc(x_101); +lean_dec(x_100); +x_102 = lean_unsigned_to_nat(0u); +x_103 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_90, x_102); +x_104 = l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3; +lean_inc(x_103); +x_105 = lean_mk_array(x_103, x_104); +x_106 = lean_unsigned_to_nat(1u); +x_107 = lean_nat_sub(x_103, x_106); +lean_dec(x_103); +x_108 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_90, x_105, x_107); +x_109 = lean_ctor_get(x_101, 1); +lean_inc(x_109); +x_110 = l_Array_toSubarray___rarg(x_108, x_102, x_109); +x_111 = l_Array_ofSubarray___rarg(x_110); +x_112 = l_Lean_mkAppN(x_92, x_111); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -lean_inc(x_111); -x_112 = lean_infer_type(x_111, x_5, x_6, x_7, x_8, x_95); -if (lean_obj_tag(x_112) == 0) +lean_inc(x_112); +x_113 = lean_infer_type(x_112, x_5, x_6, x_7, x_8, x_96); +if (lean_obj_tag(x_113) == 0) { -lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; -x_113 = lean_ctor_get(x_112, 0); -lean_inc(x_113); -x_114 = lean_ctor_get(x_112, 1); +lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; +x_114 = lean_ctor_get(x_113, 0); lean_inc(x_114); -lean_dec(x_112); -x_115 = lean_alloc_closure((void*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__3___boxed), 17, 9); -lean_closure_set(x_115, 0, x_111); -lean_closure_set(x_115, 1, x_1); -lean_closure_set(x_115, 2, x_103); -lean_closure_set(x_115, 3, x_10); -lean_closure_set(x_115, 4, x_100); -lean_closure_set(x_115, 5, x_2); -lean_closure_set(x_115, 6, x_17); -lean_closure_set(x_115, 7, x_14); -lean_closure_set(x_115, 8, x_12); -x_116 = l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___spec__10___rarg(x_113, x_115, x_4, x_5, x_6, x_7, x_8, x_114); -return x_116; +x_115 = lean_ctor_get(x_113, 1); +lean_inc(x_115); +lean_dec(x_113); +x_116 = lean_alloc_closure((void*)(l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__3___boxed), 18, 10); +lean_closure_set(x_116, 0, x_112); +lean_closure_set(x_116, 1, x_1); +lean_closure_set(x_116, 2, x_104); +lean_closure_set(x_116, 3, x_10); +lean_closure_set(x_116, 4, x_101); +lean_closure_set(x_116, 5, x_2); +lean_closure_set(x_116, 6, x_18); +lean_closure_set(x_116, 7, x_15); +lean_closure_set(x_116, 8, x_13); +lean_closure_set(x_116, 9, x_12); +x_117 = l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___spec__10___rarg(x_114, x_116, x_4, x_5, x_6, x_7, x_8, x_115); +return x_117; } else { -lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; -lean_dec(x_111); -lean_dec(x_100); -lean_dec(x_17); -lean_dec(x_14); +lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; +lean_dec(x_112); +lean_dec(x_101); +lean_dec(x_18); +lean_dec(x_15); lean_dec(x_12); lean_dec(x_10); lean_dec(x_8); @@ -12829,65 +12791,65 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); lean_dec(x_1); -x_117 = lean_ctor_get(x_112, 0); -lean_inc(x_117); -x_118 = lean_ctor_get(x_112, 1); +x_118 = lean_ctor_get(x_113, 0); lean_inc(x_118); -if (lean_is_exclusive(x_112)) { - lean_ctor_release(x_112, 0); - lean_ctor_release(x_112, 1); - x_119 = x_112; +x_119 = lean_ctor_get(x_113, 1); +lean_inc(x_119); +if (lean_is_exclusive(x_113)) { + lean_ctor_release(x_113, 0); + lean_ctor_release(x_113, 1); + x_120 = x_113; } else { - lean_dec_ref(x_112); - x_119 = lean_box(0); + lean_dec_ref(x_113); + x_120 = lean_box(0); } -if (lean_is_scalar(x_119)) { - x_120 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_120)) { + x_121 = lean_alloc_ctor(1, 2, 0); } else { - x_120 = x_119; + x_121 = x_120; } -lean_ctor_set(x_120, 0, x_117); -lean_ctor_set(x_120, 1, x_118); -return x_120; -} -} -else -{ -lean_object* x_121; -lean_dec(x_99); -lean_dec(x_91); -lean_dec(x_89); -lean_dec(x_17); -lean_dec(x_14); -lean_dec(x_12); -lean_dec(x_10); -lean_dec(x_2); -lean_dec(x_1); -x_121 = l_Lean_Meta_SizeOfSpecNested_throwFailed___rarg(x_4, x_5, x_6, x_7, x_8, x_95); +lean_ctor_set(x_121, 0, x_118); +lean_ctor_set(x_121, 1, x_119); return x_121; } } -} else { lean_object* x_122; -lean_dec(x_91); -lean_dec(x_89); -lean_dec(x_17); -lean_dec(x_14); +lean_dec(x_100); +lean_dec(x_92); +lean_dec(x_90); +lean_dec(x_18); +lean_dec(x_15); lean_dec(x_12); lean_dec(x_10); lean_dec(x_2); lean_dec(x_1); -x_122 = l_Lean_Meta_SizeOfSpecNested_throwFailed___rarg(x_4, x_5, x_6, x_7, x_8, x_90); +x_122 = l_Lean_Meta_SizeOfSpecNested_throwFailed___rarg(x_4, x_5, x_6, x_7, x_8, x_96); return x_122; } } +} else { -lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; -lean_dec(x_17); -lean_dec(x_14); +lean_object* x_123; +lean_dec(x_92); +lean_dec(x_90); +lean_dec(x_18); +lean_dec(x_15); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_2); +lean_dec(x_1); +x_123 = l_Lean_Meta_SizeOfSpecNested_throwFailed___rarg(x_4, x_5, x_6, x_7, x_8, x_91); +return x_123; +} +} +else +{ +lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; +lean_dec(x_18); +lean_dec(x_15); lean_dec(x_12); lean_dec(x_10); lean_dec(x_8); @@ -12897,33 +12859,33 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); lean_dec(x_1); -x_123 = lean_ctor_get(x_88, 0); -lean_inc(x_123); -x_124 = lean_ctor_get(x_88, 1); +x_124 = lean_ctor_get(x_89, 0); lean_inc(x_124); -if (lean_is_exclusive(x_88)) { - lean_ctor_release(x_88, 0); - lean_ctor_release(x_88, 1); - x_125 = x_88; +x_125 = lean_ctor_get(x_89, 1); +lean_inc(x_125); +if (lean_is_exclusive(x_89)) { + lean_ctor_release(x_89, 0); + lean_ctor_release(x_89, 1); + x_126 = x_89; } else { - lean_dec_ref(x_88); - x_125 = lean_box(0); + lean_dec_ref(x_89); + x_126 = lean_box(0); } -if (lean_is_scalar(x_125)) { - x_126 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_126)) { + x_127 = lean_alloc_ctor(1, 2, 0); } else { - x_126 = x_125; + x_127 = x_126; } -lean_ctor_set(x_126, 0, x_123); -lean_ctor_set(x_126, 1, x_124); -return x_126; +lean_ctor_set(x_127, 0, x_124); +lean_ctor_set(x_127, 1, x_125); +return x_127; } } else { -lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; -lean_dec(x_17); -lean_dec(x_14); +lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; +lean_dec(x_18); +lean_dec(x_15); lean_dec(x_12); lean_dec(x_10); lean_dec(x_8); @@ -12933,32 +12895,32 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); lean_dec(x_1); -x_127 = lean_ctor_get(x_85, 0); -lean_inc(x_127); -x_128 = lean_ctor_get(x_85, 1); +x_128 = lean_ctor_get(x_86, 0); lean_inc(x_128); -if (lean_is_exclusive(x_85)) { - lean_ctor_release(x_85, 0); - lean_ctor_release(x_85, 1); - x_129 = x_85; +x_129 = lean_ctor_get(x_86, 1); +lean_inc(x_129); +if (lean_is_exclusive(x_86)) { + lean_ctor_release(x_86, 0); + lean_ctor_release(x_86, 1); + x_130 = x_86; } else { - lean_dec_ref(x_85); - x_129 = lean_box(0); + lean_dec_ref(x_86); + x_130 = lean_box(0); } -if (lean_is_scalar(x_129)) { - x_130 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_130)) { + x_131 = lean_alloc_ctor(1, 2, 0); } else { - x_130 = x_129; + x_131 = x_130; } -lean_ctor_set(x_130, 0, x_127); -lean_ctor_set(x_130, 1, x_128); -return x_130; +lean_ctor_set(x_131, 0, x_128); +lean_ctor_set(x_131, 1, x_129); +return x_131; } } else { -lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; -lean_dec(x_14); +lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; +lean_dec(x_15); lean_dec(x_10); lean_dec(x_8); lean_dec(x_7); @@ -12966,27 +12928,27 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); -x_131 = l_Lean_Expr_const___override(x_17, x_12); -x_132 = lean_unsigned_to_nat(0u); -x_133 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_1, x_132); -x_134 = l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3; -lean_inc(x_133); -x_135 = lean_mk_array(x_133, x_134); -x_136 = lean_unsigned_to_nat(1u); -x_137 = lean_nat_sub(x_133, x_136); -lean_dec(x_133); -x_138 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_135, x_137); -x_139 = l_Lean_mkAppN(x_131, x_138); -x_140 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_140, 0, x_139); -lean_ctor_set(x_140, 1, x_81); -return x_140; +x_132 = l_Lean_Expr_const___override(x_18, x_12); +x_133 = lean_unsigned_to_nat(0u); +x_134 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_1, x_133); +x_135 = l_Lean_Meta_mkSizeOfSpecLemmaInstance___closed__3; +lean_inc(x_134); +x_136 = lean_mk_array(x_134, x_135); +x_137 = lean_unsigned_to_nat(1u); +x_138 = lean_nat_sub(x_134, x_137); +lean_dec(x_134); +x_139 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_136, x_138); +x_140 = l_Lean_mkAppN(x_132, x_139); +x_141 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_141, 0, x_140); +lean_ctor_set(x_141, 1, x_82); +return x_141; } } } else { -uint8_t x_141; +uint8_t x_142; lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); @@ -12997,34 +12959,34 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); lean_dec(x_1); -x_141 = !lean_is_exclusive(x_13); -if (x_141 == 0) +x_142 = !lean_is_exclusive(x_14); +if (x_142 == 0) { -return x_13; +return x_14; } else { -lean_object* x_142; lean_object* x_143; lean_object* x_144; -x_142 = lean_ctor_get(x_13, 0); -x_143 = lean_ctor_get(x_13, 1); +lean_object* x_143; lean_object* x_144; lean_object* x_145; +x_143 = lean_ctor_get(x_14, 0); +x_144 = lean_ctor_get(x_14, 1); +lean_inc(x_144); lean_inc(x_143); -lean_inc(x_142); -lean_dec(x_13); -x_144 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_144, 0, x_142); -lean_ctor_set(x_144, 1, x_143); -return x_144; +lean_dec(x_14); +x_145 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_145, 0, x_143); +lean_ctor_set(x_145, 1, x_144); +return x_145; } } } else { -lean_object* x_145; +lean_object* x_146; lean_dec(x_10); lean_dec(x_2); lean_dec(x_1); -x_145 = l_Lean_Meta_SizeOfSpecNested_throwFailed___rarg(x_4, x_5, x_6, x_7, x_8, x_9); -return x_145; +x_146 = l_Lean_Meta_SizeOfSpecNested_throwFailed___rarg(x_4, x_5, x_6, x_7, x_8, x_9); +return x_146; } } } @@ -14947,16 +14909,16 @@ x_12 = l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_SizeOf_0__Lean_Meta_Si return x_12; } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { -lean_object* x_14; -x_14 = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___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_7); -return x_14; +lean_object* x_15; +x_15 = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_8); +return x_15; } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__3___boxed(lean_object** _args) { +LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__2___boxed(lean_object** _args) { lean_object* x_1 = _args[0]; lean_object* x_2 = _args[1]; lean_object* x_3 = _args[2]; @@ -14977,11 +14939,37 @@ lean_object* x_17 = _args[16]; _start: { lean_object* x_18; -x_18 = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17); -lean_dec(x_11); +x_18 = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17); return x_18; } } +LEAN_EXPORT lean_object* l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__3___boxed(lean_object** _args) { +lean_object* x_1 = _args[0]; +lean_object* x_2 = _args[1]; +lean_object* x_3 = _args[2]; +lean_object* x_4 = _args[3]; +lean_object* x_5 = _args[4]; +lean_object* x_6 = _args[5]; +lean_object* x_7 = _args[6]; +lean_object* x_8 = _args[7]; +lean_object* x_9 = _args[8]; +lean_object* x_10 = _args[9]; +lean_object* x_11 = _args[10]; +lean_object* x_12 = _args[11]; +lean_object* x_13 = _args[12]; +lean_object* x_14 = _args[13]; +lean_object* x_15 = _args[14]; +lean_object* x_16 = _args[15]; +lean_object* x_17 = _args[16]; +lean_object* x_18 = _args[17]; +_start: +{ +lean_object* x_19; +x_19 = l___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18); +lean_dec(x_12); +return x_19; +} +} LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemmaProof___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { diff --git a/stage0/stdlib/Lean/Meta/SynthInstance.c b/stage0/stdlib/Lean/Meta/SynthInstance.c index 0266d609f3..99bbd9fa1b 100644 --- a/stage0/stdlib/Lean/Meta/SynthInstance.c +++ b/stage0/stdlib/Lean/Meta/SynthInstance.c @@ -56,7 +56,6 @@ static lean_object* l_Lean_Meta_SynthInstance_initFn____x40_Lean_Meta_SynthInsta lean_object* l_Lean_Expr_forallE___override(lean_object*, lean_object*, lean_object*, uint8_t); LEAN_EXPORT lean_object* l_Lean_Meta_SynthInstance_tryAnswer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Option_toLOption___rarg(lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_SynthInstance_MkTableKey_normExpr___spec__2(lean_object*, lean_object*); static lean_object* l_Lean_Meta_SynthInstance_addAnswer___lambda__4___closed__12; static lean_object* l_Lean_Meta_SynthInstance_resume___lambda__1___closed__1; uint8_t lean_usize_dec_eq(size_t, size_t); @@ -163,7 +162,6 @@ LEAN_EXPORT lean_object* l_Lean_withTraceNode___at_Lean_Meta_SynthInstance_tryRe LEAN_EXPORT lean_object* l_Lean_MVarId_isAssigned___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthPendingImp___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_SynthInstance_getSubgoalsAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_levelZero; -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_SynthInstance_getInstances___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_SynthInstance_getInstances(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_synthInstance_x3f___lambda__4___closed__1; @@ -257,7 +255,6 @@ LEAN_EXPORT lean_object* l_Lean_Meta_SynthInstance_mapMetaM(lean_object*, lean_o static lean_object* l_Lean_Meta_SynthInstance_initFn____x40_Lean_Meta_SynthInstance___hyg_79____closed__8; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_SynthInstance_getInstances___spec__6(lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_SynthInstance_instInhabitedGeneratorNode; -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_SynthInstance_getInstances___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Meta_isDefEqStuckExceptionId; lean_object* l_Lean_mkLevelMax_x27(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_SynthInstance_resume___lambda__4(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*); @@ -314,6 +311,7 @@ lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___s uint64_t l_Lean_Expr_hash(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_SynthInstance_generate___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthPendingImp___lambda__2___closed__5; +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_SynthInstance_MkTableKey_normExpr___spec__2(lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocess(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_sort___override(lean_object*); @@ -331,6 +329,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_SynthInstance_getNextToResume___rarg___boxe static lean_object* l_Lean_Meta_trySynthInstance___closed__1; LEAN_EXPORT lean_object* l_Lean_hasAssignableLevelMVar___at_Lean_Meta_SynthInstance_tryResolve___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_SynthInstance_mkTableKey___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_SynthInstance_getInstances___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_SynthInstance_step(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_SynthInstance_tryAnswer___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_SynthInstance_0__Lean_Meta_preprocessArgs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -436,6 +435,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_synthInstance(lean_object*, lean_object*, l lean_object* l_List_redLength___rarg(lean_object*); static lean_object* l_Lean_Meta_SynthInstance_resume___lambda__1___closed__5; lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_SynthInstance_getInstances___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_synthInstance_x3f___lambda__4___closed__3; static lean_object* l_Lean_Meta_SynthInstance_getInstances___lambda__2___closed__6; LEAN_EXPORT lean_object* l_Lean_Meta_SynthInstance_State_tableEntries___default; @@ -1927,98 +1927,66 @@ lean_ctor_set(x_9, 1, x_2); return x_9; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_SynthInstance_MkTableKey_normExpr___spec__2(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_SynthInstance_MkTableKey_normExpr___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_3; lean_object* x_4; -x_3 = lean_box(0); -x_4 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_4, 0, x_3); -lean_ctor_set(x_4, 1, x_2); -return x_4; +lean_object* x_4; lean_object* x_5; +x_4 = l_List_reverse___rarg(x_2); +x_5 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_5, 0, x_4); +lean_ctor_set(x_5, 1, x_3); +return x_5; } else { -uint8_t x_5; -x_5 = !lean_is_exclusive(x_1); -if (x_5 == 0) +uint8_t x_6; +x_6 = !lean_is_exclusive(x_1); +if (x_6 == 0) { -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; -x_6 = lean_ctor_get(x_1, 0); -x_7 = lean_ctor_get(x_1, 1); -x_8 = l_Lean_Meta_SynthInstance_MkTableKey_normLevel(x_6, x_2); -x_9 = lean_ctor_get(x_8, 0); -lean_inc(x_9); -x_10 = lean_ctor_get(x_8, 1); +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_7 = lean_ctor_get(x_1, 0); +x_8 = lean_ctor_get(x_1, 1); +x_9 = l_Lean_Meta_SynthInstance_MkTableKey_normLevel(x_7, x_3); +x_10 = lean_ctor_get(x_9, 0); lean_inc(x_10); -lean_dec(x_8); -x_11 = l_List_mapM___at_Lean_Meta_SynthInstance_MkTableKey_normExpr___spec__2(x_7, x_10); -x_12 = !lean_is_exclusive(x_11); -if (x_12 == 0) +x_11 = lean_ctor_get(x_9, 1); +lean_inc(x_11); +lean_dec(x_9); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_10); { -lean_object* x_13; -x_13 = lean_ctor_get(x_11, 0); -lean_ctor_set(x_1, 1, x_13); -lean_ctor_set(x_1, 0, x_9); -lean_ctor_set(x_11, 0, x_1); -return x_11; +lean_object* _tmp_0 = x_8; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_2 = x_11; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_3 = _tmp_2; +} +goto _start; } else { -lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_14 = lean_ctor_get(x_11, 0); -x_15 = lean_ctor_get(x_11, 1); -lean_inc(x_15); +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_13 = lean_ctor_get(x_1, 0); +x_14 = lean_ctor_get(x_1, 1); lean_inc(x_14); -lean_dec(x_11); -lean_ctor_set(x_1, 1, x_14); -lean_ctor_set(x_1, 0, x_9); -x_16 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_16, 0, x_1); -lean_ctor_set(x_16, 1, x_15); -return x_16; -} -} -else -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_17 = lean_ctor_get(x_1, 0); -x_18 = lean_ctor_get(x_1, 1); -lean_inc(x_18); -lean_inc(x_17); +lean_inc(x_13); lean_dec(x_1); -x_19 = l_Lean_Meta_SynthInstance_MkTableKey_normLevel(x_17, x_2); -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_List_mapM___at_Lean_Meta_SynthInstance_MkTableKey_normExpr___spec__2(x_18, x_21); -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -if (lean_is_exclusive(x_22)) { - lean_ctor_release(x_22, 0); - lean_ctor_release(x_22, 1); - x_25 = x_22; -} else { - lean_dec_ref(x_22); - x_25 = lean_box(0); -} -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_20); -lean_ctor_set(x_26, 1, x_23); -if (lean_is_scalar(x_25)) { - x_27 = lean_alloc_ctor(0, 2, 0); -} else { - x_27 = x_25; -} -lean_ctor_set(x_27, 0, x_26); -lean_ctor_set(x_27, 1, x_24); -return x_27; +x_15 = l_Lean_Meta_SynthInstance_MkTableKey_normLevel(x_13, x_3); +x_16 = lean_ctor_get(x_15, 0); +lean_inc(x_16); +x_17 = lean_ctor_get(x_15, 1); +lean_inc(x_17); +lean_dec(x_15); +x_18 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_18, 0, x_16); +lean_ctor_set(x_18, 1, x_2); +x_1 = x_14; +x_2 = x_18; +x_3 = x_17; +goto _start; } } } @@ -2253,797 +2221,798 @@ return x_60; } case 4: { -lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64; +lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; uint8_t x_65; x_61 = lean_ctor_get(x_1, 0); lean_inc(x_61); x_62 = lean_ctor_get(x_1, 1); lean_inc(x_62); +x_63 = lean_box(0); lean_inc(x_62); -x_63 = l_List_mapM___at_Lean_Meta_SynthInstance_MkTableKey_normExpr___spec__2(x_62, x_2); -x_64 = !lean_is_exclusive(x_63); -if (x_64 == 0) +x_64 = l_List_mapM_loop___at_Lean_Meta_SynthInstance_MkTableKey_normExpr___spec__2(x_62, x_63, x_2); +x_65 = !lean_is_exclusive(x_64); +if (x_65 == 0) { -lean_object* x_65; uint8_t x_66; -x_65 = lean_ctor_get(x_63, 0); -x_66 = l_ptrEqList___rarg(x_62, x_65); +lean_object* x_66; uint8_t x_67; +x_66 = lean_ctor_get(x_64, 0); +x_67 = l_ptrEqList___rarg(x_62, x_66); lean_dec(x_62); -if (x_66 == 0) +if (x_67 == 0) { -lean_object* x_67; +lean_object* x_68; lean_dec(x_1); -x_67 = l_Lean_Expr_const___override(x_61, x_65); -lean_ctor_set(x_63, 0, x_67); -return x_63; +x_68 = l_Lean_Expr_const___override(x_61, x_66); +lean_ctor_set(x_64, 0, x_68); +return x_64; } else { -lean_dec(x_65); +lean_dec(x_66); lean_dec(x_61); -lean_ctor_set(x_63, 0, x_1); -return x_63; +lean_ctor_set(x_64, 0, x_1); +return x_64; } } else { -lean_object* x_68; lean_object* x_69; uint8_t x_70; -x_68 = lean_ctor_get(x_63, 0); -x_69 = lean_ctor_get(x_63, 1); +lean_object* x_69; lean_object* x_70; uint8_t x_71; +x_69 = lean_ctor_get(x_64, 0); +x_70 = lean_ctor_get(x_64, 1); +lean_inc(x_70); lean_inc(x_69); -lean_inc(x_68); -lean_dec(x_63); -x_70 = l_ptrEqList___rarg(x_62, x_68); +lean_dec(x_64); +x_71 = l_ptrEqList___rarg(x_62, x_69); lean_dec(x_62); -if (x_70 == 0) +if (x_71 == 0) { -lean_object* x_71; lean_object* x_72; +lean_object* x_72; lean_object* x_73; lean_dec(x_1); -x_71 = l_Lean_Expr_const___override(x_61, x_68); -x_72 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_72, 0, x_71); -lean_ctor_set(x_72, 1, x_69); -return x_72; +x_72 = l_Lean_Expr_const___override(x_61, x_69); +x_73 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_73, 0, x_72); +lean_ctor_set(x_73, 1, x_70); +return x_73; } else { -lean_object* x_73; -lean_dec(x_68); +lean_object* x_74; +lean_dec(x_69); lean_dec(x_61); -x_73 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_73, 0, x_1); -lean_ctor_set(x_73, 1, x_69); -return x_73; +x_74 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_74, 0, x_1); +lean_ctor_set(x_74, 1, x_70); +return x_74; } } } case 5: { -lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; uint8_t x_80; -x_74 = lean_ctor_get(x_1, 0); -lean_inc(x_74); -x_75 = lean_ctor_get(x_1, 1); +lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; uint8_t x_81; +x_75 = lean_ctor_get(x_1, 0); lean_inc(x_75); -lean_inc(x_74); -x_76 = l_Lean_Meta_SynthInstance_MkTableKey_normExpr(x_74, x_2); -x_77 = lean_ctor_get(x_76, 0); -lean_inc(x_77); -x_78 = lean_ctor_get(x_76, 1); +x_76 = lean_ctor_get(x_1, 1); +lean_inc(x_76); +lean_inc(x_75); +x_77 = l_Lean_Meta_SynthInstance_MkTableKey_normExpr(x_75, x_2); +x_78 = lean_ctor_get(x_77, 0); lean_inc(x_78); +x_79 = lean_ctor_get(x_77, 1); +lean_inc(x_79); +lean_dec(x_77); +lean_inc(x_76); +x_80 = l_Lean_Meta_SynthInstance_MkTableKey_normExpr(x_76, x_79); +x_81 = !lean_is_exclusive(x_80); +if (x_81 == 0) +{ +lean_object* x_82; size_t x_83; size_t x_84; uint8_t x_85; +x_82 = lean_ctor_get(x_80, 0); +x_83 = lean_ptr_addr(x_75); +lean_dec(x_75); +x_84 = lean_ptr_addr(x_78); +x_85 = lean_usize_dec_eq(x_83, x_84); +if (x_85 == 0) +{ +lean_object* x_86; lean_dec(x_76); -lean_inc(x_75); -x_79 = l_Lean_Meta_SynthInstance_MkTableKey_normExpr(x_75, x_78); -x_80 = !lean_is_exclusive(x_79); -if (x_80 == 0) -{ -lean_object* x_81; size_t x_82; size_t x_83; uint8_t x_84; -x_81 = lean_ctor_get(x_79, 0); -x_82 = lean_ptr_addr(x_74); -lean_dec(x_74); -x_83 = lean_ptr_addr(x_77); -x_84 = lean_usize_dec_eq(x_82, x_83); -if (x_84 == 0) -{ -lean_object* x_85; -lean_dec(x_75); lean_dec(x_1); -x_85 = l_Lean_Expr_app___override(x_77, x_81); -lean_ctor_set(x_79, 0, x_85); -return x_79; +x_86 = l_Lean_Expr_app___override(x_78, x_82); +lean_ctor_set(x_80, 0, x_86); +return x_80; } else { -size_t x_86; size_t x_87; uint8_t x_88; -x_86 = lean_ptr_addr(x_75); -lean_dec(x_75); -x_87 = lean_ptr_addr(x_81); -x_88 = lean_usize_dec_eq(x_86, x_87); -if (x_88 == 0) +size_t x_87; size_t x_88; uint8_t x_89; +x_87 = lean_ptr_addr(x_76); +lean_dec(x_76); +x_88 = lean_ptr_addr(x_82); +x_89 = lean_usize_dec_eq(x_87, x_88); +if (x_89 == 0) { -lean_object* x_89; +lean_object* x_90; lean_dec(x_1); -x_89 = l_Lean_Expr_app___override(x_77, x_81); -lean_ctor_set(x_79, 0, x_89); -return x_79; +x_90 = l_Lean_Expr_app___override(x_78, x_82); +lean_ctor_set(x_80, 0, x_90); +return x_80; } else { -lean_dec(x_81); -lean_dec(x_77); -lean_ctor_set(x_79, 0, x_1); -return x_79; +lean_dec(x_82); +lean_dec(x_78); +lean_ctor_set(x_80, 0, x_1); +return x_80; } } } else { -lean_object* x_90; lean_object* x_91; size_t x_92; size_t x_93; uint8_t x_94; -x_90 = lean_ctor_get(x_79, 0); -x_91 = lean_ctor_get(x_79, 1); +lean_object* x_91; lean_object* x_92; size_t x_93; size_t x_94; uint8_t x_95; +x_91 = lean_ctor_get(x_80, 0); +x_92 = lean_ctor_get(x_80, 1); +lean_inc(x_92); lean_inc(x_91); -lean_inc(x_90); -lean_dec(x_79); -x_92 = lean_ptr_addr(x_74); -lean_dec(x_74); -x_93 = lean_ptr_addr(x_77); -x_94 = lean_usize_dec_eq(x_92, x_93); -if (x_94 == 0) -{ -lean_object* x_95; lean_object* x_96; +lean_dec(x_80); +x_93 = lean_ptr_addr(x_75); lean_dec(x_75); +x_94 = lean_ptr_addr(x_78); +x_95 = lean_usize_dec_eq(x_93, x_94); +if (x_95 == 0) +{ +lean_object* x_96; lean_object* x_97; +lean_dec(x_76); lean_dec(x_1); -x_95 = l_Lean_Expr_app___override(x_77, x_90); -x_96 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_96, 0, x_95); -lean_ctor_set(x_96, 1, x_91); -return x_96; +x_96 = l_Lean_Expr_app___override(x_78, x_91); +x_97 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_97, 0, x_96); +lean_ctor_set(x_97, 1, x_92); +return x_97; } else { -size_t x_97; size_t x_98; uint8_t x_99; -x_97 = lean_ptr_addr(x_75); -lean_dec(x_75); -x_98 = lean_ptr_addr(x_90); -x_99 = lean_usize_dec_eq(x_97, x_98); -if (x_99 == 0) +size_t x_98; size_t x_99; uint8_t x_100; +x_98 = lean_ptr_addr(x_76); +lean_dec(x_76); +x_99 = lean_ptr_addr(x_91); +x_100 = lean_usize_dec_eq(x_98, x_99); +if (x_100 == 0) { -lean_object* x_100; lean_object* x_101; +lean_object* x_101; lean_object* x_102; lean_dec(x_1); -x_100 = l_Lean_Expr_app___override(x_77, x_90); -x_101 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_101, 0, x_100); -lean_ctor_set(x_101, 1, x_91); -return x_101; -} -else -{ -lean_object* x_102; -lean_dec(x_90); -lean_dec(x_77); +x_101 = l_Lean_Expr_app___override(x_78, x_91); x_102 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_102, 0, x_1); -lean_ctor_set(x_102, 1, x_91); +lean_ctor_set(x_102, 0, x_101); +lean_ctor_set(x_102, 1, x_92); return x_102; } +else +{ +lean_object* x_103; +lean_dec(x_91); +lean_dec(x_78); +x_103 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_103, 0, x_1); +lean_ctor_set(x_103, 1, x_92); +return x_103; +} } } } case 6: { -lean_object* x_103; lean_object* x_104; lean_object* x_105; uint8_t x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; uint8_t x_111; -x_103 = lean_ctor_get(x_1, 0); -lean_inc(x_103); -x_104 = lean_ctor_get(x_1, 1); +lean_object* x_104; lean_object* x_105; lean_object* x_106; uint8_t x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; uint8_t x_112; +x_104 = lean_ctor_get(x_1, 0); lean_inc(x_104); -x_105 = lean_ctor_get(x_1, 2); +x_105 = lean_ctor_get(x_1, 1); lean_inc(x_105); -x_106 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8); +x_106 = lean_ctor_get(x_1, 2); +lean_inc(x_106); +x_107 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8); lean_dec(x_1); -lean_inc(x_104); -x_107 = l_Lean_Meta_SynthInstance_MkTableKey_normExpr(x_104, x_2); -x_108 = lean_ctor_get(x_107, 0); -lean_inc(x_108); -x_109 = lean_ctor_get(x_107, 1); +lean_inc(x_105); +x_108 = l_Lean_Meta_SynthInstance_MkTableKey_normExpr(x_105, x_2); +x_109 = lean_ctor_get(x_108, 0); lean_inc(x_109); -lean_dec(x_107); -lean_inc(x_105); -x_110 = l_Lean_Meta_SynthInstance_MkTableKey_normExpr(x_105, x_109); -x_111 = !lean_is_exclusive(x_110); -if (x_111 == 0) +x_110 = lean_ctor_get(x_108, 1); +lean_inc(x_110); +lean_dec(x_108); +lean_inc(x_106); +x_111 = l_Lean_Meta_SynthInstance_MkTableKey_normExpr(x_106, x_110); +x_112 = !lean_is_exclusive(x_111); +if (x_112 == 0) { -lean_object* x_112; lean_object* x_113; size_t x_114; size_t x_115; uint8_t x_116; -x_112 = lean_ctor_get(x_110, 0); +lean_object* x_113; lean_object* x_114; size_t x_115; size_t x_116; uint8_t x_117; +x_113 = lean_ctor_get(x_111, 0); +lean_inc(x_106); lean_inc(x_105); lean_inc(x_104); -lean_inc(x_103); -x_113 = l_Lean_Expr_lam___override(x_103, x_104, x_105, x_106); -x_114 = lean_ptr_addr(x_104); +x_114 = l_Lean_Expr_lam___override(x_104, x_105, x_106, x_107); +x_115 = lean_ptr_addr(x_105); +lean_dec(x_105); +x_116 = lean_ptr_addr(x_109); +x_117 = lean_usize_dec_eq(x_115, x_116); +if (x_117 == 0) +{ +lean_object* x_118; +lean_dec(x_114); +lean_dec(x_106); +x_118 = l_Lean_Expr_lam___override(x_104, x_109, x_113, x_107); +lean_ctor_set(x_111, 0, x_118); +return x_111; +} +else +{ +size_t x_119; size_t x_120; uint8_t x_121; +x_119 = lean_ptr_addr(x_106); +lean_dec(x_106); +x_120 = lean_ptr_addr(x_113); +x_121 = lean_usize_dec_eq(x_119, x_120); +if (x_121 == 0) +{ +lean_object* x_122; +lean_dec(x_114); +x_122 = l_Lean_Expr_lam___override(x_104, x_109, x_113, x_107); +lean_ctor_set(x_111, 0, x_122); +return x_111; +} +else +{ +uint8_t x_123; +x_123 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_107, x_107); +if (x_123 == 0) +{ +lean_object* x_124; +lean_dec(x_114); +x_124 = l_Lean_Expr_lam___override(x_104, x_109, x_113, x_107); +lean_ctor_set(x_111, 0, x_124); +return x_111; +} +else +{ +lean_dec(x_113); +lean_dec(x_109); lean_dec(x_104); -x_115 = lean_ptr_addr(x_108); -x_116 = lean_usize_dec_eq(x_114, x_115); -if (x_116 == 0) -{ -lean_object* x_117; -lean_dec(x_113); -lean_dec(x_105); -x_117 = l_Lean_Expr_lam___override(x_103, x_108, x_112, x_106); -lean_ctor_set(x_110, 0, x_117); -return x_110; -} -else -{ -size_t x_118; size_t x_119; uint8_t x_120; -x_118 = lean_ptr_addr(x_105); -lean_dec(x_105); -x_119 = lean_ptr_addr(x_112); -x_120 = lean_usize_dec_eq(x_118, x_119); -if (x_120 == 0) -{ -lean_object* x_121; -lean_dec(x_113); -x_121 = l_Lean_Expr_lam___override(x_103, x_108, x_112, x_106); -lean_ctor_set(x_110, 0, x_121); -return x_110; -} -else -{ -uint8_t x_122; -x_122 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_106, x_106); -if (x_122 == 0) -{ -lean_object* x_123; -lean_dec(x_113); -x_123 = l_Lean_Expr_lam___override(x_103, x_108, x_112, x_106); -lean_ctor_set(x_110, 0, x_123); -return x_110; -} -else -{ -lean_dec(x_112); -lean_dec(x_108); -lean_dec(x_103); -lean_ctor_set(x_110, 0, x_113); -return x_110; +lean_ctor_set(x_111, 0, x_114); +return x_111; } } } } else { -lean_object* x_124; lean_object* x_125; lean_object* x_126; size_t x_127; size_t x_128; uint8_t x_129; -x_124 = lean_ctor_get(x_110, 0); -x_125 = lean_ctor_get(x_110, 1); +lean_object* x_125; lean_object* x_126; lean_object* x_127; size_t x_128; size_t x_129; uint8_t x_130; +x_125 = lean_ctor_get(x_111, 0); +x_126 = lean_ctor_get(x_111, 1); +lean_inc(x_126); lean_inc(x_125); -lean_inc(x_124); -lean_dec(x_110); +lean_dec(x_111); +lean_inc(x_106); lean_inc(x_105); lean_inc(x_104); -lean_inc(x_103); -x_126 = l_Lean_Expr_lam___override(x_103, x_104, x_105, x_106); -x_127 = lean_ptr_addr(x_104); -lean_dec(x_104); -x_128 = lean_ptr_addr(x_108); -x_129 = lean_usize_dec_eq(x_127, x_128); -if (x_129 == 0) -{ -lean_object* x_130; lean_object* x_131; -lean_dec(x_126); +x_127 = l_Lean_Expr_lam___override(x_104, x_105, x_106, x_107); +x_128 = lean_ptr_addr(x_105); lean_dec(x_105); -x_130 = l_Lean_Expr_lam___override(x_103, x_108, x_124, x_106); -x_131 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_131, 0, x_130); -lean_ctor_set(x_131, 1, x_125); -return x_131; +x_129 = lean_ptr_addr(x_109); +x_130 = lean_usize_dec_eq(x_128, x_129); +if (x_130 == 0) +{ +lean_object* x_131; lean_object* x_132; +lean_dec(x_127); +lean_dec(x_106); +x_131 = l_Lean_Expr_lam___override(x_104, x_109, x_125, x_107); +x_132 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_132, 0, x_131); +lean_ctor_set(x_132, 1, x_126); +return x_132; } else { -size_t x_132; size_t x_133; uint8_t x_134; -x_132 = lean_ptr_addr(x_105); -lean_dec(x_105); -x_133 = lean_ptr_addr(x_124); -x_134 = lean_usize_dec_eq(x_132, x_133); -if (x_134 == 0) +size_t x_133; size_t x_134; uint8_t x_135; +x_133 = lean_ptr_addr(x_106); +lean_dec(x_106); +x_134 = lean_ptr_addr(x_125); +x_135 = lean_usize_dec_eq(x_133, x_134); +if (x_135 == 0) { -lean_object* x_135; lean_object* x_136; -lean_dec(x_126); -x_135 = l_Lean_Expr_lam___override(x_103, x_108, x_124, x_106); -x_136 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_136, 0, x_135); -lean_ctor_set(x_136, 1, x_125); -return x_136; +lean_object* x_136; lean_object* x_137; +lean_dec(x_127); +x_136 = l_Lean_Expr_lam___override(x_104, x_109, x_125, x_107); +x_137 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_137, 0, x_136); +lean_ctor_set(x_137, 1, x_126); +return x_137; } else { -uint8_t x_137; -x_137 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_106, x_106); -if (x_137 == 0) +uint8_t x_138; +x_138 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_107, x_107); +if (x_138 == 0) { -lean_object* x_138; lean_object* x_139; -lean_dec(x_126); -x_138 = l_Lean_Expr_lam___override(x_103, x_108, x_124, x_106); -x_139 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_139, 0, x_138); -lean_ctor_set(x_139, 1, x_125); -return x_139; -} -else -{ -lean_object* x_140; -lean_dec(x_124); -lean_dec(x_108); -lean_dec(x_103); +lean_object* x_139; lean_object* x_140; +lean_dec(x_127); +x_139 = l_Lean_Expr_lam___override(x_104, x_109, x_125, x_107); x_140 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_140, 0, x_126); -lean_ctor_set(x_140, 1, x_125); +lean_ctor_set(x_140, 0, x_139); +lean_ctor_set(x_140, 1, x_126); return x_140; } +else +{ +lean_object* x_141; +lean_dec(x_125); +lean_dec(x_109); +lean_dec(x_104); +x_141 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_141, 0, x_127); +lean_ctor_set(x_141, 1, x_126); +return x_141; +} } } } } case 7: { -lean_object* x_141; lean_object* x_142; lean_object* x_143; uint8_t x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; uint8_t x_149; -x_141 = lean_ctor_get(x_1, 0); -lean_inc(x_141); -x_142 = lean_ctor_get(x_1, 1); +lean_object* x_142; lean_object* x_143; lean_object* x_144; uint8_t x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; uint8_t x_150; +x_142 = lean_ctor_get(x_1, 0); lean_inc(x_142); -x_143 = lean_ctor_get(x_1, 2); +x_143 = lean_ctor_get(x_1, 1); lean_inc(x_143); -x_144 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8); +x_144 = lean_ctor_get(x_1, 2); +lean_inc(x_144); +x_145 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8); lean_dec(x_1); -lean_inc(x_142); -x_145 = l_Lean_Meta_SynthInstance_MkTableKey_normExpr(x_142, x_2); -x_146 = lean_ctor_get(x_145, 0); -lean_inc(x_146); -x_147 = lean_ctor_get(x_145, 1); +lean_inc(x_143); +x_146 = l_Lean_Meta_SynthInstance_MkTableKey_normExpr(x_143, x_2); +x_147 = lean_ctor_get(x_146, 0); lean_inc(x_147); -lean_dec(x_145); -lean_inc(x_143); -x_148 = l_Lean_Meta_SynthInstance_MkTableKey_normExpr(x_143, x_147); -x_149 = !lean_is_exclusive(x_148); -if (x_149 == 0) +x_148 = lean_ctor_get(x_146, 1); +lean_inc(x_148); +lean_dec(x_146); +lean_inc(x_144); +x_149 = l_Lean_Meta_SynthInstance_MkTableKey_normExpr(x_144, x_148); +x_150 = !lean_is_exclusive(x_149); +if (x_150 == 0) { -lean_object* x_150; lean_object* x_151; size_t x_152; size_t x_153; uint8_t x_154; -x_150 = lean_ctor_get(x_148, 0); +lean_object* x_151; lean_object* x_152; size_t x_153; size_t x_154; uint8_t x_155; +x_151 = lean_ctor_get(x_149, 0); +lean_inc(x_144); lean_inc(x_143); lean_inc(x_142); -lean_inc(x_141); -x_151 = l_Lean_Expr_forallE___override(x_141, x_142, x_143, x_144); -x_152 = lean_ptr_addr(x_142); +x_152 = l_Lean_Expr_forallE___override(x_142, x_143, x_144, x_145); +x_153 = lean_ptr_addr(x_143); +lean_dec(x_143); +x_154 = lean_ptr_addr(x_147); +x_155 = lean_usize_dec_eq(x_153, x_154); +if (x_155 == 0) +{ +lean_object* x_156; +lean_dec(x_152); +lean_dec(x_144); +x_156 = l_Lean_Expr_forallE___override(x_142, x_147, x_151, x_145); +lean_ctor_set(x_149, 0, x_156); +return x_149; +} +else +{ +size_t x_157; size_t x_158; uint8_t x_159; +x_157 = lean_ptr_addr(x_144); +lean_dec(x_144); +x_158 = lean_ptr_addr(x_151); +x_159 = lean_usize_dec_eq(x_157, x_158); +if (x_159 == 0) +{ +lean_object* x_160; +lean_dec(x_152); +x_160 = l_Lean_Expr_forallE___override(x_142, x_147, x_151, x_145); +lean_ctor_set(x_149, 0, x_160); +return x_149; +} +else +{ +uint8_t x_161; +x_161 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_145, x_145); +if (x_161 == 0) +{ +lean_object* x_162; +lean_dec(x_152); +x_162 = l_Lean_Expr_forallE___override(x_142, x_147, x_151, x_145); +lean_ctor_set(x_149, 0, x_162); +return x_149; +} +else +{ +lean_dec(x_151); +lean_dec(x_147); lean_dec(x_142); -x_153 = lean_ptr_addr(x_146); -x_154 = lean_usize_dec_eq(x_152, x_153); -if (x_154 == 0) -{ -lean_object* x_155; -lean_dec(x_151); -lean_dec(x_143); -x_155 = l_Lean_Expr_forallE___override(x_141, x_146, x_150, x_144); -lean_ctor_set(x_148, 0, x_155); -return x_148; -} -else -{ -size_t x_156; size_t x_157; uint8_t x_158; -x_156 = lean_ptr_addr(x_143); -lean_dec(x_143); -x_157 = lean_ptr_addr(x_150); -x_158 = lean_usize_dec_eq(x_156, x_157); -if (x_158 == 0) -{ -lean_object* x_159; -lean_dec(x_151); -x_159 = l_Lean_Expr_forallE___override(x_141, x_146, x_150, x_144); -lean_ctor_set(x_148, 0, x_159); -return x_148; -} -else -{ -uint8_t x_160; -x_160 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_144, x_144); -if (x_160 == 0) -{ -lean_object* x_161; -lean_dec(x_151); -x_161 = l_Lean_Expr_forallE___override(x_141, x_146, x_150, x_144); -lean_ctor_set(x_148, 0, x_161); -return x_148; -} -else -{ -lean_dec(x_150); -lean_dec(x_146); -lean_dec(x_141); -lean_ctor_set(x_148, 0, x_151); -return x_148; +lean_ctor_set(x_149, 0, x_152); +return x_149; } } } } else { -lean_object* x_162; lean_object* x_163; lean_object* x_164; size_t x_165; size_t x_166; uint8_t x_167; -x_162 = lean_ctor_get(x_148, 0); -x_163 = lean_ctor_get(x_148, 1); +lean_object* x_163; lean_object* x_164; lean_object* x_165; size_t x_166; size_t x_167; uint8_t x_168; +x_163 = lean_ctor_get(x_149, 0); +x_164 = lean_ctor_get(x_149, 1); +lean_inc(x_164); lean_inc(x_163); -lean_inc(x_162); -lean_dec(x_148); +lean_dec(x_149); +lean_inc(x_144); lean_inc(x_143); lean_inc(x_142); -lean_inc(x_141); -x_164 = l_Lean_Expr_forallE___override(x_141, x_142, x_143, x_144); -x_165 = lean_ptr_addr(x_142); -lean_dec(x_142); -x_166 = lean_ptr_addr(x_146); -x_167 = lean_usize_dec_eq(x_165, x_166); -if (x_167 == 0) -{ -lean_object* x_168; lean_object* x_169; -lean_dec(x_164); +x_165 = l_Lean_Expr_forallE___override(x_142, x_143, x_144, x_145); +x_166 = lean_ptr_addr(x_143); lean_dec(x_143); -x_168 = l_Lean_Expr_forallE___override(x_141, x_146, x_162, x_144); -x_169 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_169, 0, x_168); -lean_ctor_set(x_169, 1, x_163); -return x_169; +x_167 = lean_ptr_addr(x_147); +x_168 = lean_usize_dec_eq(x_166, x_167); +if (x_168 == 0) +{ +lean_object* x_169; lean_object* x_170; +lean_dec(x_165); +lean_dec(x_144); +x_169 = l_Lean_Expr_forallE___override(x_142, x_147, x_163, x_145); +x_170 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_170, 0, x_169); +lean_ctor_set(x_170, 1, x_164); +return x_170; } else { -size_t x_170; size_t x_171; uint8_t x_172; -x_170 = lean_ptr_addr(x_143); -lean_dec(x_143); -x_171 = lean_ptr_addr(x_162); -x_172 = lean_usize_dec_eq(x_170, x_171); -if (x_172 == 0) +size_t x_171; size_t x_172; uint8_t x_173; +x_171 = lean_ptr_addr(x_144); +lean_dec(x_144); +x_172 = lean_ptr_addr(x_163); +x_173 = lean_usize_dec_eq(x_171, x_172); +if (x_173 == 0) { -lean_object* x_173; lean_object* x_174; -lean_dec(x_164); -x_173 = l_Lean_Expr_forallE___override(x_141, x_146, x_162, x_144); -x_174 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_174, 0, x_173); -lean_ctor_set(x_174, 1, x_163); -return x_174; +lean_object* x_174; lean_object* x_175; +lean_dec(x_165); +x_174 = l_Lean_Expr_forallE___override(x_142, x_147, x_163, x_145); +x_175 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_175, 0, x_174); +lean_ctor_set(x_175, 1, x_164); +return x_175; } else { -uint8_t x_175; -x_175 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_144, x_144); -if (x_175 == 0) +uint8_t x_176; +x_176 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_145, x_145); +if (x_176 == 0) { -lean_object* x_176; lean_object* x_177; -lean_dec(x_164); -x_176 = l_Lean_Expr_forallE___override(x_141, x_146, x_162, x_144); -x_177 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_177, 0, x_176); -lean_ctor_set(x_177, 1, x_163); -return x_177; -} -else -{ -lean_object* x_178; -lean_dec(x_162); -lean_dec(x_146); -lean_dec(x_141); +lean_object* x_177; lean_object* x_178; +lean_dec(x_165); +x_177 = l_Lean_Expr_forallE___override(x_142, x_147, x_163, x_145); x_178 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_178, 0, x_164); -lean_ctor_set(x_178, 1, x_163); +lean_ctor_set(x_178, 0, x_177); +lean_ctor_set(x_178, 1, x_164); return x_178; } +else +{ +lean_object* x_179; +lean_dec(x_163); +lean_dec(x_147); +lean_dec(x_142); +x_179 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_179, 0, x_165); +lean_ctor_set(x_179, 1, x_164); +return x_179; +} } } } } case 8: { -lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; uint8_t x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; uint8_t x_191; -x_179 = lean_ctor_get(x_1, 0); -lean_inc(x_179); -x_180 = lean_ctor_get(x_1, 1); +lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; uint8_t x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; uint8_t x_192; +x_180 = lean_ctor_get(x_1, 0); lean_inc(x_180); -x_181 = lean_ctor_get(x_1, 2); +x_181 = lean_ctor_get(x_1, 1); lean_inc(x_181); -x_182 = lean_ctor_get(x_1, 3); +x_182 = lean_ctor_get(x_1, 2); lean_inc(x_182); -x_183 = lean_ctor_get_uint8(x_1, sizeof(void*)*4 + 8); -lean_inc(x_180); -x_184 = l_Lean_Meta_SynthInstance_MkTableKey_normExpr(x_180, x_2); -x_185 = lean_ctor_get(x_184, 0); -lean_inc(x_185); -x_186 = lean_ctor_get(x_184, 1); +x_183 = lean_ctor_get(x_1, 3); +lean_inc(x_183); +x_184 = lean_ctor_get_uint8(x_1, sizeof(void*)*4 + 8); +lean_inc(x_181); +x_185 = l_Lean_Meta_SynthInstance_MkTableKey_normExpr(x_181, x_2); +x_186 = lean_ctor_get(x_185, 0); lean_inc(x_186); -lean_dec(x_184); -lean_inc(x_181); -x_187 = l_Lean_Meta_SynthInstance_MkTableKey_normExpr(x_181, x_186); -x_188 = lean_ctor_get(x_187, 0); -lean_inc(x_188); -x_189 = lean_ctor_get(x_187, 1); -lean_inc(x_189); -lean_dec(x_187); +x_187 = lean_ctor_get(x_185, 1); +lean_inc(x_187); +lean_dec(x_185); lean_inc(x_182); -x_190 = l_Lean_Meta_SynthInstance_MkTableKey_normExpr(x_182, x_189); -x_191 = !lean_is_exclusive(x_190); -if (x_191 == 0) -{ -lean_object* x_192; size_t x_193; size_t x_194; uint8_t x_195; -x_192 = lean_ctor_get(x_190, 0); -x_193 = lean_ptr_addr(x_180); -lean_dec(x_180); -x_194 = lean_ptr_addr(x_185); -x_195 = lean_usize_dec_eq(x_193, x_194); -if (x_195 == 0) -{ -lean_object* x_196; -lean_dec(x_182); -lean_dec(x_181); -lean_dec(x_1); -x_196 = l_Lean_Expr_letE___override(x_179, x_185, x_188, x_192, x_183); -lean_ctor_set(x_190, 0, x_196); -return x_190; -} -else -{ -size_t x_197; size_t x_198; uint8_t x_199; -x_197 = lean_ptr_addr(x_181); -lean_dec(x_181); -x_198 = lean_ptr_addr(x_188); -x_199 = lean_usize_dec_eq(x_197, x_198); -if (x_199 == 0) -{ -lean_object* x_200; -lean_dec(x_182); -lean_dec(x_1); -x_200 = l_Lean_Expr_letE___override(x_179, x_185, x_188, x_192, x_183); -lean_ctor_set(x_190, 0, x_200); -return x_190; -} -else -{ -size_t x_201; size_t x_202; uint8_t x_203; -x_201 = lean_ptr_addr(x_182); -lean_dec(x_182); -x_202 = lean_ptr_addr(x_192); -x_203 = lean_usize_dec_eq(x_201, x_202); -if (x_203 == 0) -{ -lean_object* x_204; -lean_dec(x_1); -x_204 = l_Lean_Expr_letE___override(x_179, x_185, x_188, x_192, x_183); -lean_ctor_set(x_190, 0, x_204); -return x_190; -} -else -{ -lean_dec(x_192); +x_188 = l_Lean_Meta_SynthInstance_MkTableKey_normExpr(x_182, x_187); +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_dec(x_185); -lean_dec(x_179); -lean_ctor_set(x_190, 0, x_1); -return x_190; +lean_inc(x_183); +x_191 = l_Lean_Meta_SynthInstance_MkTableKey_normExpr(x_183, x_190); +x_192 = !lean_is_exclusive(x_191); +if (x_192 == 0) +{ +lean_object* x_193; size_t x_194; size_t x_195; uint8_t x_196; +x_193 = lean_ctor_get(x_191, 0); +x_194 = lean_ptr_addr(x_181); +lean_dec(x_181); +x_195 = lean_ptr_addr(x_186); +x_196 = lean_usize_dec_eq(x_194, x_195); +if (x_196 == 0) +{ +lean_object* x_197; +lean_dec(x_183); +lean_dec(x_182); +lean_dec(x_1); +x_197 = l_Lean_Expr_letE___override(x_180, x_186, x_189, x_193, x_184); +lean_ctor_set(x_191, 0, x_197); +return x_191; +} +else +{ +size_t x_198; size_t x_199; uint8_t x_200; +x_198 = lean_ptr_addr(x_182); +lean_dec(x_182); +x_199 = lean_ptr_addr(x_189); +x_200 = lean_usize_dec_eq(x_198, x_199); +if (x_200 == 0) +{ +lean_object* x_201; +lean_dec(x_183); +lean_dec(x_1); +x_201 = l_Lean_Expr_letE___override(x_180, x_186, x_189, x_193, x_184); +lean_ctor_set(x_191, 0, x_201); +return x_191; +} +else +{ +size_t x_202; size_t x_203; uint8_t x_204; +x_202 = lean_ptr_addr(x_183); +lean_dec(x_183); +x_203 = lean_ptr_addr(x_193); +x_204 = lean_usize_dec_eq(x_202, x_203); +if (x_204 == 0) +{ +lean_object* x_205; +lean_dec(x_1); +x_205 = l_Lean_Expr_letE___override(x_180, x_186, x_189, x_193, x_184); +lean_ctor_set(x_191, 0, x_205); +return x_191; +} +else +{ +lean_dec(x_193); +lean_dec(x_189); +lean_dec(x_186); +lean_dec(x_180); +lean_ctor_set(x_191, 0, x_1); +return x_191; } } } } else { -lean_object* x_205; lean_object* x_206; size_t x_207; size_t x_208; uint8_t x_209; -x_205 = lean_ctor_get(x_190, 0); -x_206 = lean_ctor_get(x_190, 1); +lean_object* x_206; lean_object* x_207; size_t x_208; size_t x_209; uint8_t x_210; +x_206 = lean_ctor_get(x_191, 0); +x_207 = lean_ctor_get(x_191, 1); +lean_inc(x_207); lean_inc(x_206); -lean_inc(x_205); -lean_dec(x_190); -x_207 = lean_ptr_addr(x_180); -lean_dec(x_180); -x_208 = lean_ptr_addr(x_185); -x_209 = lean_usize_dec_eq(x_207, x_208); -if (x_209 == 0) -{ -lean_object* x_210; lean_object* x_211; -lean_dec(x_182); +lean_dec(x_191); +x_208 = lean_ptr_addr(x_181); lean_dec(x_181); -lean_dec(x_1); -x_210 = l_Lean_Expr_letE___override(x_179, x_185, x_188, x_205, x_183); -x_211 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_211, 0, x_210); -lean_ctor_set(x_211, 1, x_206); -return x_211; -} -else +x_209 = lean_ptr_addr(x_186); +x_210 = lean_usize_dec_eq(x_208, x_209); +if (x_210 == 0) { -size_t x_212; size_t x_213; uint8_t x_214; -x_212 = lean_ptr_addr(x_181); -lean_dec(x_181); -x_213 = lean_ptr_addr(x_188); -x_214 = lean_usize_dec_eq(x_212, x_213); -if (x_214 == 0) -{ -lean_object* x_215; lean_object* x_216; +lean_object* x_211; lean_object* x_212; +lean_dec(x_183); lean_dec(x_182); lean_dec(x_1); -x_215 = l_Lean_Expr_letE___override(x_179, x_185, x_188, x_205, x_183); -x_216 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_216, 0, x_215); -lean_ctor_set(x_216, 1, x_206); -return x_216; +x_211 = l_Lean_Expr_letE___override(x_180, x_186, x_189, x_206, x_184); +x_212 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_212, 0, x_211); +lean_ctor_set(x_212, 1, x_207); +return x_212; } else { -size_t x_217; size_t x_218; uint8_t x_219; -x_217 = lean_ptr_addr(x_182); +size_t x_213; size_t x_214; uint8_t x_215; +x_213 = lean_ptr_addr(x_182); lean_dec(x_182); -x_218 = lean_ptr_addr(x_205); -x_219 = lean_usize_dec_eq(x_217, x_218); -if (x_219 == 0) +x_214 = lean_ptr_addr(x_189); +x_215 = lean_usize_dec_eq(x_213, x_214); +if (x_215 == 0) { -lean_object* x_220; lean_object* x_221; +lean_object* x_216; lean_object* x_217; +lean_dec(x_183); lean_dec(x_1); -x_220 = l_Lean_Expr_letE___override(x_179, x_185, x_188, x_205, x_183); -x_221 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_221, 0, x_220); -lean_ctor_set(x_221, 1, x_206); -return x_221; +x_216 = l_Lean_Expr_letE___override(x_180, x_186, x_189, x_206, x_184); +x_217 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_217, 0, x_216); +lean_ctor_set(x_217, 1, x_207); +return x_217; } else { -lean_object* x_222; -lean_dec(x_205); -lean_dec(x_188); -lean_dec(x_185); -lean_dec(x_179); +size_t x_218; size_t x_219; uint8_t x_220; +x_218 = lean_ptr_addr(x_183); +lean_dec(x_183); +x_219 = lean_ptr_addr(x_206); +x_220 = lean_usize_dec_eq(x_218, x_219); +if (x_220 == 0) +{ +lean_object* x_221; lean_object* x_222; +lean_dec(x_1); +x_221 = l_Lean_Expr_letE___override(x_180, x_186, x_189, x_206, x_184); x_222 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_222, 0, x_1); -lean_ctor_set(x_222, 1, x_206); +lean_ctor_set(x_222, 0, x_221); +lean_ctor_set(x_222, 1, x_207); return x_222; } +else +{ +lean_object* x_223; +lean_dec(x_206); +lean_dec(x_189); +lean_dec(x_186); +lean_dec(x_180); +x_223 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_223, 0, x_1); +lean_ctor_set(x_223, 1, x_207); +return x_223; +} } } } } case 10: { -lean_object* x_223; lean_object* x_224; lean_object* x_225; uint8_t x_226; -x_223 = lean_ctor_get(x_1, 0); -lean_inc(x_223); -x_224 = lean_ctor_get(x_1, 1); +lean_object* x_224; lean_object* x_225; lean_object* x_226; uint8_t x_227; +x_224 = lean_ctor_get(x_1, 0); lean_inc(x_224); -lean_inc(x_224); -x_225 = l_Lean_Meta_SynthInstance_MkTableKey_normExpr(x_224, x_2); -x_226 = !lean_is_exclusive(x_225); -if (x_226 == 0) +x_225 = lean_ctor_get(x_1, 1); +lean_inc(x_225); +lean_inc(x_225); +x_226 = l_Lean_Meta_SynthInstance_MkTableKey_normExpr(x_225, x_2); +x_227 = !lean_is_exclusive(x_226); +if (x_227 == 0) { -lean_object* x_227; size_t x_228; size_t x_229; uint8_t x_230; -x_227 = lean_ctor_get(x_225, 0); -x_228 = lean_ptr_addr(x_224); -lean_dec(x_224); -x_229 = lean_ptr_addr(x_227); -x_230 = lean_usize_dec_eq(x_228, x_229); -if (x_230 == 0) -{ -lean_object* x_231; -lean_dec(x_1); -x_231 = l_Lean_Expr_mdata___override(x_223, x_227); -lean_ctor_set(x_225, 0, x_231); -return x_225; -} -else -{ -lean_dec(x_227); -lean_dec(x_223); -lean_ctor_set(x_225, 0, x_1); -return x_225; -} -} -else -{ -lean_object* x_232; lean_object* x_233; size_t x_234; size_t x_235; uint8_t x_236; -x_232 = lean_ctor_get(x_225, 0); -x_233 = lean_ctor_get(x_225, 1); -lean_inc(x_233); -lean_inc(x_232); +lean_object* x_228; size_t x_229; size_t x_230; uint8_t x_231; +x_228 = lean_ctor_get(x_226, 0); +x_229 = lean_ptr_addr(x_225); lean_dec(x_225); -x_234 = lean_ptr_addr(x_224); -lean_dec(x_224); -x_235 = lean_ptr_addr(x_232); -x_236 = lean_usize_dec_eq(x_234, x_235); -if (x_236 == 0) +x_230 = lean_ptr_addr(x_228); +x_231 = lean_usize_dec_eq(x_229, x_230); +if (x_231 == 0) { -lean_object* x_237; lean_object* x_238; +lean_object* x_232; lean_dec(x_1); -x_237 = l_Lean_Expr_mdata___override(x_223, x_232); -x_238 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_238, 0, x_237); -lean_ctor_set(x_238, 1, x_233); -return x_238; +x_232 = l_Lean_Expr_mdata___override(x_224, x_228); +lean_ctor_set(x_226, 0, x_232); +return x_226; } else { -lean_object* x_239; -lean_dec(x_232); -lean_dec(x_223); +lean_dec(x_228); +lean_dec(x_224); +lean_ctor_set(x_226, 0, x_1); +return x_226; +} +} +else +{ +lean_object* x_233; lean_object* x_234; size_t x_235; size_t x_236; uint8_t x_237; +x_233 = lean_ctor_get(x_226, 0); +x_234 = lean_ctor_get(x_226, 1); +lean_inc(x_234); +lean_inc(x_233); +lean_dec(x_226); +x_235 = lean_ptr_addr(x_225); +lean_dec(x_225); +x_236 = lean_ptr_addr(x_233); +x_237 = lean_usize_dec_eq(x_235, x_236); +if (x_237 == 0) +{ +lean_object* x_238; lean_object* x_239; +lean_dec(x_1); +x_238 = l_Lean_Expr_mdata___override(x_224, x_233); x_239 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_239, 0, x_1); -lean_ctor_set(x_239, 1, x_233); +lean_ctor_set(x_239, 0, x_238); +lean_ctor_set(x_239, 1, x_234); return x_239; } +else +{ +lean_object* x_240; +lean_dec(x_233); +lean_dec(x_224); +x_240 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_240, 0, x_1); +lean_ctor_set(x_240, 1, x_234); +return x_240; +} } } case 11: { -lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; uint8_t x_244; -x_240 = lean_ctor_get(x_1, 0); -lean_inc(x_240); -x_241 = lean_ctor_get(x_1, 1); +lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; uint8_t x_245; +x_241 = lean_ctor_get(x_1, 0); lean_inc(x_241); -x_242 = lean_ctor_get(x_1, 2); +x_242 = lean_ctor_get(x_1, 1); lean_inc(x_242); -lean_inc(x_242); -x_243 = l_Lean_Meta_SynthInstance_MkTableKey_normExpr(x_242, x_2); -x_244 = !lean_is_exclusive(x_243); -if (x_244 == 0) +x_243 = lean_ctor_get(x_1, 2); +lean_inc(x_243); +lean_inc(x_243); +x_244 = l_Lean_Meta_SynthInstance_MkTableKey_normExpr(x_243, x_2); +x_245 = !lean_is_exclusive(x_244); +if (x_245 == 0) { -lean_object* x_245; size_t x_246; size_t x_247; uint8_t x_248; -x_245 = lean_ctor_get(x_243, 0); -x_246 = lean_ptr_addr(x_242); -lean_dec(x_242); -x_247 = lean_ptr_addr(x_245); -x_248 = lean_usize_dec_eq(x_246, x_247); -if (x_248 == 0) -{ -lean_object* x_249; -lean_dec(x_1); -x_249 = l_Lean_Expr_proj___override(x_240, x_241, x_245); -lean_ctor_set(x_243, 0, x_249); -return x_243; -} -else -{ -lean_dec(x_245); -lean_dec(x_241); -lean_dec(x_240); -lean_ctor_set(x_243, 0, x_1); -return x_243; -} -} -else -{ -lean_object* x_250; lean_object* x_251; size_t x_252; size_t x_253; uint8_t x_254; -x_250 = lean_ctor_get(x_243, 0); -x_251 = lean_ctor_get(x_243, 1); -lean_inc(x_251); -lean_inc(x_250); +lean_object* x_246; size_t x_247; size_t x_248; uint8_t x_249; +x_246 = lean_ctor_get(x_244, 0); +x_247 = lean_ptr_addr(x_243); lean_dec(x_243); -x_252 = lean_ptr_addr(x_242); -lean_dec(x_242); -x_253 = lean_ptr_addr(x_250); -x_254 = lean_usize_dec_eq(x_252, x_253); -if (x_254 == 0) +x_248 = lean_ptr_addr(x_246); +x_249 = lean_usize_dec_eq(x_247, x_248); +if (x_249 == 0) { -lean_object* x_255; lean_object* x_256; +lean_object* x_250; lean_dec(x_1); -x_255 = l_Lean_Expr_proj___override(x_240, x_241, x_250); -x_256 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_256, 0, x_255); -lean_ctor_set(x_256, 1, x_251); -return x_256; +x_250 = l_Lean_Expr_proj___override(x_241, x_242, x_246); +lean_ctor_set(x_244, 0, x_250); +return x_244; } else { -lean_object* x_257; -lean_dec(x_250); +lean_dec(x_246); +lean_dec(x_242); lean_dec(x_241); -lean_dec(x_240); +lean_ctor_set(x_244, 0, x_1); +return x_244; +} +} +else +{ +lean_object* x_251; lean_object* x_252; size_t x_253; size_t x_254; uint8_t x_255; +x_251 = lean_ctor_get(x_244, 0); +x_252 = lean_ctor_get(x_244, 1); +lean_inc(x_252); +lean_inc(x_251); +lean_dec(x_244); +x_253 = lean_ptr_addr(x_243); +lean_dec(x_243); +x_254 = lean_ptr_addr(x_251); +x_255 = lean_usize_dec_eq(x_253, x_254); +if (x_255 == 0) +{ +lean_object* x_256; lean_object* x_257; +lean_dec(x_1); +x_256 = l_Lean_Expr_proj___override(x_241, x_242, x_251); x_257 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_257, 0, x_1); -lean_ctor_set(x_257, 1, x_251); +lean_ctor_set(x_257, 0, x_256); +lean_ctor_set(x_257, 1, x_252); return x_257; } +else +{ +lean_object* x_258; +lean_dec(x_251); +lean_dec(x_242); +lean_dec(x_241); +x_258 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_258, 0, x_1); +lean_ctor_set(x_258, 1, x_252); +return x_258; +} } } default: { -lean_object* x_258; -x_258 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_258, 0, x_1); -lean_ctor_set(x_258, 1, x_2); -return x_258; +lean_object* x_259; +x_259 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_259, 0, x_1); +lean_ctor_set(x_259, 1, x_2); +return x_259; } } } @@ -3427,97 +3396,65 @@ return x_1; } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_SynthInstance_getInstances___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_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_SynthInstance_getInstances___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_7; lean_object* x_8; -x_7 = lean_box(0); -x_8 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_8, 0, x_7); -lean_ctor_set(x_8, 1, x_6); -return x_8; +lean_object* x_8; lean_object* x_9; +x_8 = l_List_reverse___rarg(x_2); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_7); +return x_9; } else { -uint8_t x_9; -x_9 = !lean_is_exclusive(x_1); -if (x_9 == 0) +uint8_t x_10; +x_10 = !lean_is_exclusive(x_1); +if (x_10 == 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; uint8_t x_16; -x_10 = lean_ctor_get(x_1, 1); -x_11 = lean_ctor_get(x_1, 0); -lean_dec(x_11); -x_12 = l_Lean_Meta_mkFreshLevelMVar(x_2, x_3, x_4, x_5, x_6); -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_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_11 = lean_ctor_get(x_1, 1); +x_12 = lean_ctor_get(x_1, 0); lean_dec(x_12); -x_15 = l_List_mapM___at_Lean_Meta_SynthInstance_getInstances___spec__3(x_10, x_2, x_3, x_4, x_5, x_14); -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) +x_13 = l_Lean_Meta_mkFreshLevelMVar(x_3, x_4, x_5, x_6, x_7); +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_14); { -lean_object* x_17; -x_17 = lean_ctor_get(x_15, 0); -lean_ctor_set(x_1, 1, x_17); -lean_ctor_set(x_1, 0, x_13); -lean_ctor_set(x_15, 0, x_1); -return x_15; +lean_object* _tmp_0 = x_11; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_6 = x_15; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_7 = _tmp_6; +} +goto _start; } else { -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_15, 0); -x_19 = lean_ctor_get(x_15, 1); -lean_inc(x_19); -lean_inc(x_18); -lean_dec(x_15); -lean_ctor_set(x_1, 1, x_18); -lean_ctor_set(x_1, 0, x_13); -x_20 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_20, 0, x_1); -lean_ctor_set(x_20, 1, x_19); -return x_20; -} -} -else -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_21 = lean_ctor_get(x_1, 1); -lean_inc(x_21); +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_17 = lean_ctor_get(x_1, 1); +lean_inc(x_17); lean_dec(x_1); -x_22 = l_Lean_Meta_mkFreshLevelMVar(x_2, x_3, x_4, x_5, x_6); -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = l_List_mapM___at_Lean_Meta_SynthInstance_getInstances___spec__3(x_21, x_2, x_3, x_4, x_5, x_24); -x_26 = lean_ctor_get(x_25, 0); -lean_inc(x_26); -x_27 = lean_ctor_get(x_25, 1); -lean_inc(x_27); -if (lean_is_exclusive(x_25)) { - lean_ctor_release(x_25, 0); - lean_ctor_release(x_25, 1); - x_28 = x_25; -} else { - lean_dec_ref(x_25); - x_28 = lean_box(0); -} -x_29 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_29, 0, x_23); -lean_ctor_set(x_29, 1, x_26); -if (lean_is_scalar(x_28)) { - x_30 = lean_alloc_ctor(0, 2, 0); -} else { - x_30 = x_28; -} -lean_ctor_set(x_30, 0, x_29); -lean_ctor_set(x_30, 1, x_27); -return x_30; +x_18 = l_Lean_Meta_mkFreshLevelMVar(x_3, x_4, x_5, x_6, x_7); +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_2); +x_1 = x_17; +x_2 = x_21; +x_7 = x_20; +goto _start; } } } @@ -3583,102 +3520,103 @@ lean_inc(x_1); x_33 = l_Std_PersistentHashMap_contains___at_Lean_NameSSet_contains___spec__3(x_1, x_31); if (x_33 == 0) { -lean_object* x_34; uint8_t x_35; +lean_object* x_34; lean_object* x_35; uint8_t x_36; +x_34 = lean_box(0); lean_inc(x_32); -x_34 = l_List_mapM___at_Lean_Meta_SynthInstance_getInstances___spec__3(x_32, x_6, x_7, x_8, x_9, x_10); -x_35 = !lean_is_exclusive(x_34); -if (x_35 == 0) +x_35 = l_List_mapM_loop___at_Lean_Meta_SynthInstance_getInstances___spec__3(x_32, x_34, x_6, x_7, x_8, x_9, x_10); +x_36 = !lean_is_exclusive(x_35); +if (x_36 == 0) { -lean_object* x_36; uint8_t x_37; -x_36 = lean_ctor_get(x_34, 0); -x_37 = l_ptrEqList___rarg(x_32, x_36); +lean_object* x_37; uint8_t x_38; +x_37 = lean_ctor_get(x_35, 0); +x_38 = l_ptrEqList___rarg(x_32, x_37); lean_dec(x_32); -if (x_37 == 0) +if (x_38 == 0) { -lean_object* x_38; lean_object* x_39; +lean_object* x_39; lean_object* x_40; lean_dec(x_30); -x_38 = l_Lean_Expr_const___override(x_31, x_36); -x_39 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_34, 0, x_39); -x_13 = x_34; -goto block_29; -} -else -{ -lean_object* x_40; -lean_dec(x_36); -lean_dec(x_31); +x_39 = l_Lean_Expr_const___override(x_31, x_37); x_40 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_40, 0, x_30); -lean_ctor_set(x_34, 0, x_40); -x_13 = x_34; +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_35, 0, x_40); +x_13 = x_35; +goto block_29; +} +else +{ +lean_object* x_41; +lean_dec(x_37); +lean_dec(x_31); +x_41 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_41, 0, x_30); +lean_ctor_set(x_35, 0, x_41); +x_13 = x_35; goto block_29; } } else { -lean_object* x_41; lean_object* x_42; uint8_t x_43; -x_41 = lean_ctor_get(x_34, 0); -x_42 = lean_ctor_get(x_34, 1); +lean_object* x_42; lean_object* x_43; uint8_t x_44; +x_42 = lean_ctor_get(x_35, 0); +x_43 = lean_ctor_get(x_35, 1); +lean_inc(x_43); lean_inc(x_42); -lean_inc(x_41); -lean_dec(x_34); -x_43 = l_ptrEqList___rarg(x_32, x_41); +lean_dec(x_35); +x_44 = l_ptrEqList___rarg(x_32, x_42); lean_dec(x_32); -if (x_43 == 0) +if (x_44 == 0) { -lean_object* x_44; lean_object* x_45; lean_object* x_46; +lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_dec(x_30); -x_44 = l_Lean_Expr_const___override(x_31, x_41); -x_45 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_45, 0, x_44); -x_46 = lean_alloc_ctor(0, 2, 0); +x_45 = l_Lean_Expr_const___override(x_31, x_42); +x_46 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_46, 0, x_45); -lean_ctor_set(x_46, 1, x_42); -x_13 = x_46; +x_47 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_47, 0, x_46); +lean_ctor_set(x_47, 1, x_43); +x_13 = x_47; goto block_29; } else { -lean_object* x_47; lean_object* x_48; -lean_dec(x_41); +lean_object* x_48; lean_object* x_49; +lean_dec(x_42); lean_dec(x_31); -x_47 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_47, 0, x_30); -x_48 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_48, 0, x_47); -lean_ctor_set(x_48, 1, x_42); -x_13 = x_48; +x_48 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_48, 0, x_30); +x_49 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_49, 0, x_48); +lean_ctor_set(x_49, 1, x_43); +x_13 = x_49; goto block_29; } } } else { -lean_object* x_49; lean_object* x_50; +lean_object* x_50; lean_object* x_51; lean_dec(x_32); lean_dec(x_31); lean_dec(x_30); -x_49 = lean_box(0); -x_50 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_50, 0, x_49); -lean_ctor_set(x_50, 1, x_10); -x_13 = x_50; +x_50 = lean_box(0); +x_51 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_51, 0, x_50); +lean_ctor_set(x_51, 1, x_10); +x_13 = x_51; goto block_29; } } else { -lean_object* x_51; lean_object* x_52; +lean_object* x_52; lean_object* x_53; lean_dec(x_30); -x_51 = l_Array_foldlMUnsafe_fold___at_Lean_Meta_SynthInstance_getInstances___spec__5___closed__4; +x_52 = l_Array_foldlMUnsafe_fold___at_Lean_Meta_SynthInstance_getInstances___spec__5___closed__4; lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -x_52 = l_panic___at___private_Lean_Meta_WHNF_0__Lean_Meta_cached_x3f___spec__1(x_51, x_6, x_7, x_8, x_9, x_10); -x_13 = x_52; +x_53 = l_panic___at___private_Lean_Meta_WHNF_0__Lean_Meta_cached_x3f___spec__1(x_52, x_6, x_7, x_8, x_9, x_10); +x_13 = x_53; goto block_29; } block_29: @@ -3750,16 +3688,16 @@ return x_28; } else { -lean_object* x_53; +lean_object* x_54; lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_1); -x_53 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_53, 0, x_5); -lean_ctor_set(x_53, 1, x_10); -return x_53; +x_54 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_54, 0, x_5); +lean_ctor_set(x_54, 1, x_10); +return x_54; } } } @@ -4243,16 +4181,16 @@ x_11 = l_Lean_Meta_forallTelescopeReducing___at_Lean_Meta_getParamNames___spec__ return x_11; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_SynthInstance_getInstances___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_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_SynthInstance_getInstances___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -lean_object* x_7; -x_7 = l_List_mapM___at_Lean_Meta_SynthInstance_getInstances___spec__3(x_1, x_2, x_3, x_4, x_5, x_6); +lean_object* x_8; +x_8 = l_List_mapM_loop___at_Lean_Meta_SynthInstance_getInstances___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); -return x_7; +return x_8; } } LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_SynthInstance_getInstances___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) { diff --git a/stage0/stdlib/Lean/Meta/Tactic/AC/Main.c b/stage0/stdlib/Lean/Meta/Tactic/AC/Main.c index ff7312637a..e9681d06ff 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/AC/Main.c +++ b/stage0/stdlib/Lean/Meta/Tactic/AC/Main.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Meta.Tactic.AC.Main -// Imports: Init Init.Data.AC Lean.Meta.AppBuilder Lean.Meta.Tactic.Refl Lean.Elab.Tactic.Basic Lean.Elab.Tactic.Rewrite +// Imports: Init Lean.Meta.AppBuilder Lean.Meta.Tactic.Refl Lean.Meta.Tactic.Simp.Main Lean.Elab.Tactic.Rewrite #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -81,6 +81,7 @@ extern lean_object* l_Lean_levelZero; lean_object* lean_nat_add(lean_object*, lean_object*); static lean_object* l_Lean_Meta_AC_preContext___closed__7; lean_object* l_Lean_Meta_mkEqRefl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_TopDownAnalyze_analyzeAppStagedCore_maybeSetExplicit___spec__4(lean_object*); lean_object* l_Lean_mkAppN(lean_object*, lean_object*); size_t lean_uint64_to_usize(uint64_t); static lean_object* l_Lean_Meta_AC_buildNormProof___closed__3; @@ -204,6 +205,7 @@ static lean_object* l_Lean_Meta_AC_preContext___closed__8; LEAN_EXPORT lean_object* l_Array_insertionSort_swapLoop___at_Lean_Meta_AC_toACExpr___spec__5(lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_AC_buildNormProof_mkContext___spec__1___closed__8; static lean_object* l_Lean_Meta_AC_instEvalInformationPreContextACExpr___closed__4; +lean_object* l_Std_HashSetImp_insert___at_Lean_CollectLevelParams_visitExpr___spec__3(lean_object*, lean_object*); static lean_object* l_Lean_Meta_AC_preContext___closed__5; lean_object* l_panic___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Data_AC_evalList___at_Lean_Meta_AC_buildNormProof___spec__4___boxed(lean_object*, lean_object*); @@ -228,7 +230,6 @@ lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, l static lean_object* l_Lean_Meta_AC_buildNormProof_mkContext___closed__12; static lean_object* l_Lean_Meta_AC_preContext___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_AC_instEvalInformationPreContextACExpr; -lean_object* l_Std_HashSetImp_insert___at_Lean_CollectFVars_visit___spec__3(lean_object*, lean_object*); lean_object* lean_mk_array(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Data_AC_norm___at_Lean_Meta_AC_buildNormProof___spec__1___boxed(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Meta_AC_acRflTactic_declRange___closed__2; @@ -247,7 +248,6 @@ LEAN_EXPORT lean_object* l_Lean_Meta_AC_toACExpr_toPreExpr(lean_object*, lean_ob static lean_object* l___regBuiltin_Lean_Meta_AC_acRflTactic___closed__11; lean_object* l_Lean_mkNatLit(lean_object*); static lean_object* l_Lean_Meta_AC_rewriteUnnormalized___closed__1; -lean_object* l_panic___at_Lean_Meta_Match_mkMatcher___spec__13(lean_object*); static lean_object* l_Lean_Meta_AC_instInhabitedPreContext___closed__1; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_AC_toACExpr___spec__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Meta_AC_toACExpr___spec__15(lean_object*, lean_object*); @@ -347,7 +347,7 @@ if (x_5 == 0) { lean_object* x_6; lean_object* x_7; x_6 = l_Lean_Meta_AC_instContextInformationProdPreContextArrayBool___lambda__1___closed__4; -x_7 = l_panic___at_Lean_Meta_Match_mkMatcher___spec__13(x_6); +x_7 = l_panic___at_Lean_PrettyPrinter_Delaborator_TopDownAnalyze_analyzeAppStagedCore_maybeSetExplicit___spec__4(x_6); return x_7; } else @@ -1249,7 +1249,7 @@ lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_inc(x_1); x_9 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_9, 0, x_1); -x_10 = l_Std_HashSetImp_insert___at_Lean_CollectFVars_visit___spec__3(x_3, x_1); +x_10 = l_Std_HashSetImp_insert___at_Lean_CollectLevelParams_visitExpr___spec__3(x_3, x_1); x_11 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_11, 0, x_9); lean_ctor_set(x_11, 1, x_10); @@ -1503,7 +1503,7 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); lean_inc(x_2); -x_55 = l_Std_HashSetImp_insert___at_Lean_CollectFVars_visit___spec__3(x_3, x_2); +x_55 = l_Std_HashSetImp_insert___at_Lean_CollectLevelParams_visitExpr___spec__3(x_3, x_2); x_56 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_56, 0, x_2); x_57 = lean_alloc_ctor(0, 2, 0); @@ -1524,7 +1524,7 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); lean_inc(x_2); -x_59 = l_Std_HashSetImp_insert___at_Lean_CollectFVars_visit___spec__3(x_3, x_2); +x_59 = l_Std_HashSetImp_insert___at_Lean_CollectLevelParams_visitExpr___spec__3(x_3, x_2); x_60 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_60, 0, x_2); x_61 = lean_alloc_ctor(0, 2, 0); @@ -3538,7 +3538,7 @@ if (x_9 == 0) { lean_object* x_10; lean_object* x_11; uint8_t x_12; x_10 = l_Lean_Meta_AC_instContextInformationProdPreContextArrayBool___lambda__1___closed__4; -x_11 = l_panic___at_Lean_Meta_Match_mkMatcher___spec__13(x_10); +x_11 = l_panic___at_Lean_PrettyPrinter_Delaborator_TopDownAnalyze_analyzeAppStagedCore_maybeSetExplicit___spec__4(x_10); x_12 = lean_unbox(x_11); lean_dec(x_11); if (x_12 == 0) @@ -3594,7 +3594,7 @@ if (x_23 == 0) { lean_object* x_24; lean_object* x_25; uint8_t x_26; x_24 = l_Lean_Meta_AC_instContextInformationProdPreContextArrayBool___lambda__1___closed__4; -x_25 = l_panic___at_Lean_Meta_Match_mkMatcher___spec__13(x_24); +x_25 = l_panic___at_Lean_PrettyPrinter_Delaborator_TopDownAnalyze_analyzeAppStagedCore_maybeSetExplicit___spec__4(x_24); x_26 = lean_unbox(x_25); lean_dec(x_25); if (x_26 == 0) @@ -6012,7 +6012,7 @@ static lean_object* _init_l___regBuiltin_Lean_Meta_AC_acRflTactic_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(172u); +x_1 = lean_unsigned_to_nat(171u); x_2 = lean_unsigned_to_nat(23u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6024,7 +6024,7 @@ static lean_object* _init_l___regBuiltin_Lean_Meta_AC_acRflTactic_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(174u); +x_1 = lean_unsigned_to_nat(173u); x_2 = lean_unsigned_to_nat(46u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6052,7 +6052,7 @@ static lean_object* _init_l___regBuiltin_Lean_Meta_AC_acRflTactic_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(172u); +x_1 = lean_unsigned_to_nat(171u); x_2 = lean_unsigned_to_nat(27u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6064,7 +6064,7 @@ static lean_object* _init_l___regBuiltin_Lean_Meta_AC_acRflTactic_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(172u); +x_1 = lean_unsigned_to_nat(171u); x_2 = lean_unsigned_to_nat(38u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6121,10 +6121,9 @@ return x_4; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Init_Data_AC(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_AppBuilder(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Tactic_Refl(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Elab_Tactic_Basic(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Meta_Tactic_Simp_Main(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Tactic_Rewrite(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Meta_Tactic_AC_Main(uint8_t builtin, lean_object* w) { @@ -6134,16 +6133,13 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Init_Data_AC(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Meta_AppBuilder(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_Meta_Tactic_Refl(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Elab_Tactic_Basic(builtin, lean_io_mk_world()); +res = initialize_Lean_Meta_Tactic_Simp_Main(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_Elab_Tactic_Rewrite(builtin, lean_io_mk_world()); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Assert.c b/stage0/stdlib/Lean/Meta/Tactic/Assert.c index 5b22135f34..885675b6ec 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Assert.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Assert.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Meta.Tactic.Assert -// Imports: Init Lean.Meta.Tactic.Util Lean.Meta.Tactic.FVarSubst Lean.Meta.Tactic.Intro Lean.Meta.Tactic.Revert +// Imports: Init Lean.Meta.Tactic.FVarSubst Lean.Meta.Tactic.Intro #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -2484,10 +2484,8 @@ return x_8; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Tactic_Util(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Tactic_FVarSubst(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Tactic_Intro(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Tactic_Revert(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Meta_Tactic_Assert(uint8_t builtin, lean_object* w) { lean_object * res; @@ -2496,18 +2494,12 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_Tactic_Util(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Meta_Tactic_FVarSubst(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_Meta_Tactic_Intro(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_Tactic_Revert(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); l_Lean_MVarId_assert___closed__1 = _init_l_Lean_MVarId_assert___closed__1(); lean_mark_persistent(l_Lean_MVarId_assert___closed__1); l_Lean_MVarId_assert___closed__2 = _init_l_Lean_MVarId_assert___closed__2(); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Congr.c b/stage0/stdlib/Lean/Meta/Tactic/Congr.c index d46a246790..862acb37e2 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Congr.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Congr.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Meta.Tactic.Congr -// Imports: Init Lean.Meta.CongrTheorems Lean.Meta.Tactic.Assert Lean.Meta.Tactic.Apply Lean.Meta.Tactic.Refl Lean.Meta.Tactic.Assumption +// Imports: Init Lean.Meta.CongrTheorems Lean.Meta.Tactic.Assert Lean.Meta.Tactic.Apply Lean.Meta.Tactic.Clear Lean.Meta.Tactic.Refl Lean.Meta.Tactic.Assumption #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -42,6 +42,7 @@ lean_object* l_Lean_Expr_appArg_x21(lean_object*); lean_object* l_Lean_Meta_mkCongrSimp_x3f(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MVarId_hcongr_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MVarId_congr___lambda__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_Tactic_Congr_0__Lean_applyCongrThm_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MVarId_congrN(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_MVarId_congr___closed__1; lean_object* l_Lean_Meta_intro1Core(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -87,7 +88,6 @@ static lean_object* l_Lean_MVarId_congrImplies_x3f___lambda__1___closed__1; lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_Tactic_Congr_0__Lean_applyCongrThm_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MVarId_getType_x27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MVarId_congr___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_observing_x3f___at_Lean_MVarId_heqOfEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -593,236 +593,149 @@ lean_dec(x_2); return x_8; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_Tactic_Congr_0__Lean_applyCongrThm_x3f___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_Tactic_Congr_0__Lean_applyCongrThm_x3f___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { if (lean_obj_tag(x_2) == 0) { -lean_object* x_8; lean_object* x_9; +lean_object* x_9; lean_object* x_10; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_9 = l_List_reverse___rarg(x_3); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_9); +lean_ctor_set(x_10, 1, x_8); +return x_10; +} +else +{ +uint8_t x_11; +x_11 = !lean_is_exclusive(x_2); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_2, 0); +x_13 = lean_ctor_get(x_2, 1); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_1); +x_14 = l_Lean_MVarId_tryClear(x_12, x_1, 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; +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); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_15); +{ +lean_object* _tmp_1 = x_13; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_7 = x_16; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_8 = _tmp_7; +} +goto _start; +} +else +{ +uint8_t x_18; +lean_free_object(x_2); +lean_dec(x_13); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_8 = lean_box(0); -x_9 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_9, 0, x_8); -lean_ctor_set(x_9, 1, x_7); -return x_9; -} -else +x_18 = !lean_is_exclusive(x_14); +if (x_18 == 0) { -uint8_t x_10; -x_10 = !lean_is_exclusive(x_2); -if (x_10 == 0) -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_11 = lean_ctor_get(x_2, 0); -x_12 = lean_ctor_get(x_2, 1); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_1); -x_13 = l_Lean_MVarId_tryClear(x_11, x_1, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_13) == 0) -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_14 = lean_ctor_get(x_13, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_13, 1); -lean_inc(x_15); -lean_dec(x_13); -x_16 = l_List_mapM___at___private_Lean_Meta_Tactic_Congr_0__Lean_applyCongrThm_x3f___spec__1(x_1, x_12, x_3, x_4, x_5, x_6, x_15); -if (lean_obj_tag(x_16) == 0) -{ -uint8_t x_17; -x_17 = !lean_is_exclusive(x_16); -if (x_17 == 0) -{ -lean_object* x_18; -x_18 = lean_ctor_get(x_16, 0); -lean_ctor_set(x_2, 1, x_18); -lean_ctor_set(x_2, 0, x_14); -lean_ctor_set(x_16, 0, x_2); -return x_16; +return x_14; } else { lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_19 = lean_ctor_get(x_16, 0); -x_20 = lean_ctor_get(x_16, 1); +x_19 = lean_ctor_get(x_14, 0); +x_20 = lean_ctor_get(x_14, 1); lean_inc(x_20); lean_inc(x_19); -lean_dec(x_16); -lean_ctor_set(x_2, 1, x_19); -lean_ctor_set(x_2, 0, x_14); -x_21 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_21, 0, x_2); +lean_dec(x_14); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); lean_ctor_set(x_21, 1, x_20); return x_21; } } -else -{ -uint8_t x_22; -lean_dec(x_14); -lean_free_object(x_2); -x_22 = !lean_is_exclusive(x_16); -if (x_22 == 0) -{ -return x_16; } else { -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_16, 0); -x_24 = lean_ctor_get(x_16, 1); -lean_inc(x_24); +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_2, 0); +x_23 = lean_ctor_get(x_2, 1); lean_inc(x_23); -lean_dec(x_16); -x_25 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_25, 0, x_23); -lean_ctor_set(x_25, 1, x_24); -return x_25; -} -} -} -else -{ -uint8_t x_26; -lean_free_object(x_2); -lean_dec(x_12); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_26 = !lean_is_exclusive(x_13); -if (x_26 == 0) -{ -return x_13; -} -else -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_27 = lean_ctor_get(x_13, 0); -x_28 = lean_ctor_get(x_13, 1); -lean_inc(x_28); -lean_inc(x_27); -lean_dec(x_13); -x_29 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_29, 0, x_27); -lean_ctor_set(x_29, 1, x_28); -return x_29; -} -} -} -else -{ -lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_30 = lean_ctor_get(x_2, 0); -x_31 = lean_ctor_get(x_2, 1); -lean_inc(x_31); -lean_inc(x_30); +lean_inc(x_22); lean_dec(x_2); +lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); lean_inc(x_1); -x_32 = l_Lean_MVarId_tryClear(x_30, x_1, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_32) == 0) +x_24 = l_Lean_MVarId_tryClear(x_22, x_1, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_24) == 0) { -lean_object* x_33; lean_object* x_34; lean_object* x_35; -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_List_mapM___at___private_Lean_Meta_Tactic_Congr_0__Lean_applyCongrThm_x3f___spec__1(x_1, x_31, x_3, x_4, x_5, x_6, x_34); -if (lean_obj_tag(x_35) == 0) -{ -lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_36 = lean_ctor_get(x_35, 0); -lean_inc(x_36); -x_37 = lean_ctor_get(x_35, 1); -lean_inc(x_37); -if (lean_is_exclusive(x_35)) { - lean_ctor_release(x_35, 0); - lean_ctor_release(x_35, 1); - x_38 = x_35; -} else { - lean_dec_ref(x_35); - x_38 = lean_box(0); -} -x_39 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_39, 0, x_33); -lean_ctor_set(x_39, 1, x_36); -if (lean_is_scalar(x_38)) { - x_40 = lean_alloc_ctor(0, 2, 0); -} else { - x_40 = x_38; -} -lean_ctor_set(x_40, 0, x_39); -lean_ctor_set(x_40, 1, x_37); -return x_40; +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); +x_27 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_27, 0, x_25); +lean_ctor_set(x_27, 1, x_3); +x_2 = x_23; +x_3 = x_27; +x_8 = x_26; +goto _start; } else { -lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; -lean_dec(x_33); -x_41 = lean_ctor_get(x_35, 0); -lean_inc(x_41); -x_42 = lean_ctor_get(x_35, 1); -lean_inc(x_42); -if (lean_is_exclusive(x_35)) { - lean_ctor_release(x_35, 0); - lean_ctor_release(x_35, 1); - x_43 = x_35; -} else { - lean_dec_ref(x_35); - x_43 = lean_box(0); -} -if (lean_is_scalar(x_43)) { - x_44 = lean_alloc_ctor(1, 2, 0); -} else { - x_44 = x_43; -} -lean_ctor_set(x_44, 0, x_41); -lean_ctor_set(x_44, 1, x_42); -return x_44; -} -} -else -{ -lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; -lean_dec(x_31); +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +lean_dec(x_23); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_45 = lean_ctor_get(x_32, 0); -lean_inc(x_45); -x_46 = lean_ctor_get(x_32, 1); -lean_inc(x_46); -if (lean_is_exclusive(x_32)) { - lean_ctor_release(x_32, 0); - lean_ctor_release(x_32, 1); - x_47 = x_32; +x_29 = lean_ctor_get(x_24, 0); +lean_inc(x_29); +x_30 = lean_ctor_get(x_24, 1); +lean_inc(x_30); +if (lean_is_exclusive(x_24)) { + lean_ctor_release(x_24, 0); + lean_ctor_release(x_24, 1); + x_31 = x_24; } else { - lean_dec_ref(x_32); - x_47 = lean_box(0); + lean_dec_ref(x_24); + x_31 = lean_box(0); } -if (lean_is_scalar(x_47)) { - x_48 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_31)) { + x_32 = lean_alloc_ctor(1, 2, 0); } else { - x_48 = x_47; + x_32 = x_31; } -lean_ctor_set(x_48, 0, x_45); -lean_ctor_set(x_48, 1, x_46); -return x_48; +lean_ctor_set(x_32, 0, x_29); +lean_ctor_set(x_32, 1, x_30); +return x_32; } } } @@ -904,94 +817,95 @@ lean_inc(x_3); x_25 = l_Lean_MVarId_apply(x_22, x_23, x_24, x_3, x_4, x_5, x_6, x_20); if (lean_obj_tag(x_25) == 0) { -lean_object* x_26; lean_object* x_27; lean_object* x_28; +lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; x_26 = lean_ctor_get(x_25, 0); lean_inc(x_26); x_27 = lean_ctor_get(x_25, 1); lean_inc(x_27); lean_dec(x_25); -x_28 = l_List_mapM___at___private_Lean_Meta_Tactic_Congr_0__Lean_applyCongrThm_x3f___spec__1(x_21, x_26, x_3, x_4, x_5, x_6, x_27); -return x_28; +x_28 = lean_box(0); +x_29 = l_List_mapM_loop___at___private_Lean_Meta_Tactic_Congr_0__Lean_applyCongrThm_x3f___spec__1(x_21, x_26, x_28, x_3, x_4, x_5, x_6, x_27); +return x_29; } else { -uint8_t x_29; +uint8_t x_30; lean_dec(x_21); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_29 = !lean_is_exclusive(x_25); -if (x_29 == 0) +x_30 = !lean_is_exclusive(x_25); +if (x_30 == 0) { return x_25; } else { -lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_30 = lean_ctor_get(x_25, 0); -x_31 = lean_ctor_get(x_25, 1); +lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_31 = lean_ctor_get(x_25, 0); +x_32 = lean_ctor_get(x_25, 1); +lean_inc(x_32); lean_inc(x_31); -lean_inc(x_30); lean_dec(x_25); -x_32 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_32, 0, x_30); -lean_ctor_set(x_32, 1, x_31); -return x_32; +x_33 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_33, 0, x_31); +lean_ctor_set(x_33, 1, x_32); +return x_33; } } } else { -uint8_t x_33; +uint8_t x_34; lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_33 = !lean_is_exclusive(x_18); -if (x_33 == 0) +x_34 = !lean_is_exclusive(x_18); +if (x_34 == 0) { return x_18; } else { -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_18, 0); -x_35 = lean_ctor_get(x_18, 1); +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_18, 0); +x_36 = lean_ctor_get(x_18, 1); +lean_inc(x_36); lean_inc(x_35); -lean_inc(x_34); lean_dec(x_18); -x_36 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_36, 0, x_34); -lean_ctor_set(x_36, 1, x_35); -return x_36; +x_37 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_37, 0, x_35); +lean_ctor_set(x_37, 1, x_36); +return x_37; } } } else { -uint8_t x_37; +uint8_t x_38; lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_37 = !lean_is_exclusive(x_14); -if (x_37 == 0) +x_38 = !lean_is_exclusive(x_14); +if (x_38 == 0) { return x_14; } else { -lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_38 = lean_ctor_get(x_14, 0); -x_39 = lean_ctor_get(x_14, 1); +lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_39 = lean_ctor_get(x_14, 0); +x_40 = lean_ctor_get(x_14, 1); +lean_inc(x_40); lean_inc(x_39); -lean_inc(x_38); lean_dec(x_14); -x_40 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_40, 0, x_38); -lean_ctor_set(x_40, 1, x_39); -return x_40; +x_41 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_41, 0, x_39); +lean_ctor_set(x_41, 1, x_40); +return x_41; } } } @@ -2657,6 +2571,7 @@ lean_object* initialize_Init(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_CongrTheorems(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Tactic_Assert(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Tactic_Apply(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Meta_Tactic_Clear(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Tactic_Refl(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Tactic_Assumption(uint8_t builtin, lean_object*); static bool _G_initialized = false; @@ -2676,6 +2591,9 @@ lean_dec_ref(res); res = initialize_Lean_Meta_Tactic_Apply(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Meta_Tactic_Clear(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); res = initialize_Lean_Meta_Tactic_Refl(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Meta/Tactic/ElimInfo.c b/stage0/stdlib/Lean/Meta/Tactic/ElimInfo.c index 9fafc7293f..a05905054c 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/ElimInfo.c +++ b/stage0/stdlib/Lean/Meta/Tactic/ElimInfo.c @@ -253,6 +253,7 @@ static lean_object* l_Prod_repr___at___private_Lean_Meta_Tactic_ElimInfo_0__Lean LEAN_EXPORT lean_object* l_Lean_Meta_withNewMCtxDepth___at_Lean_Meta_addImplicitTargets___spec__9(lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_Meta_addCustomEliminatorEntry___spec__7(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); +lean_object* l_panic___at_String_toNat_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_mkCustomEliminator___spec__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_getElimInfo___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_sort___override(lean_object*); @@ -412,7 +413,6 @@ static lean_object* l___private_Lean_Meta_Tactic_ElimInfo_0__Lean_Meta_reprElimI uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_mkCustomEliminator___spec__17___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_panic___at_Lean_TSyntax_getNat___spec__1(lean_object*); lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_instReprCustomEliminator___closed__1; lean_object* l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -10243,7 +10243,7 @@ if (x_66 == 0) { lean_object* x_67; lean_object* x_68; x_67 = l_Std_Range_forIn_loop___at_Lean_Meta_getElimInfo___spec__6___closed__5; -x_68 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_67); +x_68 = l_panic___at_String_toNat_x21___spec__1(x_67); x_30 = x_68; goto block_65; } @@ -10568,7 +10568,7 @@ if (x_25 == 0) { lean_object* x_98; lean_object* x_99; uint8_t x_100; x_98 = l_Std_Range_forIn_loop___at_Lean_Meta_getElimInfo___spec__6___closed__5; -x_99 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_98); +x_99 = l_panic___at_String_toNat_x21___spec__1(x_98); x_100 = lean_nat_dec_lt(x_99, x_26); if (x_100 == 0) { diff --git a/stage0/stdlib/Lean/Meta/Tactic/Simp/Main.c b/stage0/stdlib/Lean/Meta/Tactic/Simp/Main.c index ec2690dac3..bd69a47ca3 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Simp/Main.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Simp/Main.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Meta.Tactic.Simp.Main -// Imports: Init Lean.Meta.Transform Lean.Meta.CongrTheorems Lean.Meta.Tactic.Replace Lean.Meta.Tactic.Util Lean.Meta.Tactic.Clear Lean.Meta.Tactic.UnifyEq Lean.Meta.Tactic.Simp.Types Lean.Meta.Tactic.Simp.Rewrite +// Imports: Init Lean.Meta.Transform Lean.Meta.Tactic.Replace Lean.Meta.Tactic.UnifyEq Lean.Meta.Tactic.Simp.Rewrite #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -258,6 +258,7 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_simp_tryAu LEAN_EXPORT lean_object* l_Lean_Meta_Simp_instInhabitedM___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Std_PersistentArray_anyM___at_Lean_Meta_Simp_simp_simpProj___spec__13(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_simp_simpLet___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_panic___at___private_Lean_Meta_CongrTheorems_0__Lean_Meta_fixKindsForDependencies___spec__2(lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Meta_Simp_simp___spec__2___boxed(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkCongrSimpCore_x3f(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_expr_has_loose_bvar(lean_object*, lean_object*); @@ -268,7 +269,6 @@ lean_object* l_Lean_MVarId_replaceTargetDefEq(lean_object*, lean_object*, lean_o LEAN_EXPORT lean_object* l_Std_PersistentArray_anyM___at_Lean_Meta_Simp_simp_simpProj___spec__13___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Simp_simp_trySimpCongrTheorem_x3f___lambda__4___boxed(lean_object**); static lean_object* l_Lean_Meta_Simp_simp_simpProj___lambda__1___closed__3; -lean_object* l_Lean_exprDependsOn___at_Lean_MVarId_clear___spec__56(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_Simp_simp_simpProj___spec__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_simp_simpStep___closed__3; LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at_Lean_Meta_Simp_simp_simpProj___spec__12___boxed(lean_object*, lean_object*, lean_object*); @@ -288,6 +288,7 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_simpTargetStar_ lean_object* l_Lean_Meta_intro1Core(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_simp_simpArrow___lambda__4___closed__10; LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at_Lean_Meta_Simp_simp_simpStep___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_exprDependsOn___at___private_Lean_Meta_CongrTheorems_0__Lean_Meta_mkCast_go___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_getProjectionFnInfo_x3f___at___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_reduceProjFn_x3f___spec__1___closed__1; LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_Simp_simp_simpForall___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isHEq(lean_object*); @@ -591,7 +592,6 @@ LEAN_EXPORT lean_object* l_Lean_Meta_transform_visit_visitLambda___at___private_ LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Meta_Simp_simp_trySimpCongrTheorem_x3f___spec__2(lean_object*, lean_object*, size_t, size_t); static lean_object* l_Lean_Meta_Simp_isOfNatNatLit___closed__4; static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_simp_congrArgs___spec__1___lambda__2___closed__1; -lean_object* l_panic___at_Lean_Meta_ACLt_lt_ltApp___spec__1(lean_object*); uint8_t l___private_Lean_Util_Trace_0__Lean_checkTraceOption(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_reduceFVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_dsimpGoal(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -10118,7 +10118,7 @@ x_26 = lean_ctor_get(x_24, 1); lean_inc(x_26); lean_dec(x_24); x_27 = l_Lean_Expr_fvarId_x21(x_2); -x_28 = l_Lean_exprDependsOn___at_Lean_MVarId_clear___spec__56(x_25, x_27, x_3, x_4, x_5, x_6, x_26); +x_28 = l_Lean_exprDependsOn___at___private_Lean_Meta_CongrTheorems_0__Lean_Meta_mkCast_go___spec__1(x_25, x_27, x_3, x_4, x_5, x_6, x_26); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); @@ -14779,7 +14779,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Meta_Simp_simp_simpStep___closed__1; x_2 = l_Lean_Meta_Simp_simp_simpStep___closed__2; -x_3 = lean_unsigned_to_nat(293u); +x_3 = lean_unsigned_to_nat(289u); x_4 = lean_unsigned_to_nat(26u); x_5 = l_Lean_Meta_Simp_simp_simpStep___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -16963,7 +16963,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Meta_Simp_simp_simpStep___closed__1; x_2 = l_Lean_Meta_Simp_simp_simpLet___closed__1; -x_3 = lean_unsigned_to_nat(657u); +x_3 = lean_unsigned_to_nat(653u); x_4 = lean_unsigned_to_nat(35u); x_5 = l_Lean_Meta_Simp_simp_simpStep___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -24513,7 +24513,7 @@ if (x_60 == 0) { lean_object* x_61; lean_object* x_62; uint8_t x_63; x_61 = l_Std_Range_forIn_loop___at_Lean_Meta_Simp_removeUnnecessaryCasts___spec__1___closed__4; -x_62 = l_panic___at_Lean_Meta_ACLt_lt_ltApp___spec__1(x_61); +x_62 = l_panic___at___private_Lean_Meta_CongrTheorems_0__Lean_Meta_fixKindsForDependencies___spec__2(x_61); x_63 = lean_ctor_get_uint8(x_62, sizeof(void*)*1 + 1); lean_dec(x_62); if (x_63 == 0) @@ -25464,7 +25464,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Meta_Simp_simp_simpStep___closed__1; x_2 = l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_simp_tryAutoCongrTheorem_x3f___spec__2___closed__1; -x_3 = lean_unsigned_to_nat(408u); +x_3 = lean_unsigned_to_nat(404u); x_4 = lean_unsigned_to_nat(13u); x_5 = l_Lean_Meta_Simp_simp_simpStep___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -28503,7 +28503,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Meta_Simp_simp_simpStep___closed__1; x_2 = l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_simp_tryAutoCongrTheorem_x3f___spec__2___closed__1; -x_3 = lean_unsigned_to_nat(466u); +x_3 = lean_unsigned_to_nat(462u); x_4 = lean_unsigned_to_nat(13u); x_5 = l_Lean_Meta_Simp_simp_simpStep___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -33221,7 +33221,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Meta_Simp_simp_simpStep___closed__1; x_2 = l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_simp_tryAutoCongrTheorem_x3f___spec__2___closed__1; -x_3 = lean_unsigned_to_nat(467u); +x_3 = lean_unsigned_to_nat(463u); x_4 = lean_unsigned_to_nat(63u); x_5 = l_Lean_Meta_Simp_simp_simpStep___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -42529,7 +42529,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Meta_Simp_simp_simpStep___closed__1; x_2 = l_Lean_Meta_Simp_dischargeEqnThmHypothesis_x3f___closed__4; -x_3 = lean_unsigned_to_nat(752u); +x_3 = lean_unsigned_to_nat(748u); x_4 = lean_unsigned_to_nat(2u); x_5 = l_Lean_Meta_Simp_dischargeEqnThmHypothesis_x3f___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -50421,12 +50421,8 @@ return x_11; } lean_object* initialize_Init(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Transform(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_CongrTheorems(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Tactic_Replace(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Tactic_Util(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Tactic_Clear(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Tactic_UnifyEq(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Tactic_Simp_Types(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Tactic_Simp_Rewrite(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Meta_Tactic_Simp_Main(uint8_t builtin, lean_object* w) { @@ -50439,24 +50435,12 @@ lean_dec_ref(res); res = initialize_Lean_Meta_Transform(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_CongrTheorems(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Meta_Tactic_Replace(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_Tactic_Util(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Meta_Tactic_Clear(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Meta_Tactic_UnifyEq(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_Tactic_Simp_Types(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Meta_Tactic_Simp_Rewrite(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Simp/SimpTheorems.c b/stage0/stdlib/Lean/Meta/Tactic/Simp/SimpTheorems.c index ce27c1e20b..93aa0e4999 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Simp/SimpTheorems.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Simp/SimpTheorems.c @@ -14,6 +14,7 @@ extern "C" { #endif LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorem_getName___boxed(lean_object*); +lean_object* l_List_reverse___rarg(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_SimpTheorems_addDeclToUnfold___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_SimpTheorems_erase___rarg___closed__2; static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4818____closed__2; @@ -178,10 +179,10 @@ static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems___ LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorems_erase(lean_object*); static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems______macroRules__Lean__Meta____root____Lean__Parser__Command__registerSimpAttr__1___closed__95; static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems______macroRules__Lean__Meta____root____Lean__Parser__Command__registerSimpAttr__1___closed__79; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___auto____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4087____closed__9; LEAN_EXPORT uint8_t l_Array_contains___at_Lean_Meta_addSimpTheoremEntry___spec__11(lean_object*, lean_object*); lean_object* l_Lean_mkAppN(lean_object*, lean_object*); +lean_object* l_List_mapM_loop___at___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_uint64_to_usize(uint64_t); uint8_t l___private_Lean_Meta_DiscrTreeTypes_0__Lean_Meta_DiscrTree_beqKey____x40_Lean_Meta_DiscrTreeTypes___hyg_90_(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Std_PersistentHashMap_contains___at_Lean_Meta_SimpTheorems_erase___spec__1(lean_object*, lean_object*); @@ -190,6 +191,7 @@ static lean_object* l_Lean_Parser_Command_registerSimpAttr___closed__16; LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_Meta_registerSimpAttr___spec__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_ScopedEnvExtension_add___at_Lean_Meta_mkSimpAttr___spec__1(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getAttrParamOptPrio(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___auto____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4087____closed__2; static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___lambda__3___closed__12; static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems______macroRules__Lean__Meta____root____Lean__Parser__Command__registerSimpAttr__1___closed__49; @@ -259,7 +261,6 @@ lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); lean_object* l_Std_mkHashMapImp___rarg(lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Meta_getSimpExtension_x3f___spec__2(lean_object*, lean_object*); static lean_object* l___auto____x40_Lean_Meta_Tactic_Simp_SimpTheorems___hyg_4087____closed__25; -lean_object* l_List_mapM___at___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_contains___at_Lean_Meta_SimpTheorems_erase___spec__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_getSimpTheorems___boxed(lean_object*, lean_object*, lean_object*); @@ -378,7 +379,6 @@ LEAN_EXPORT lean_object* l___private_Init_Data_Array_BinSearch_0__Array_binInser static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_checkTypeIsProp___closed__1; static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems______macroRules__Lean__Meta____root____Lean__Parser__Command__registerSimpAttr__1___closed__59; static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems______macroRules__Lean__Meta____root____Lean__Parser__Command__registerSimpAttr__1___closed__31; -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_mkSimpAttr___lambda__2(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_mkSimpTheoremCore___lambda__1(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorems_erased___default; @@ -555,6 +555,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorems_addConst___boxed(lean_object*, static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems______macroRules__Lean__Meta____root____Lean__Parser__Command__registerSimpAttr__1___closed__74; static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems______macroRules__Lean__Meta____root____Lean__Parser__Command__registerSimpAttr__1___closed__47; static lean_object* l_Lean_Parser_Command_registerSimpAttr___closed__8; +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Meta_SimpTheorem_post___default; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___lambda__6(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta___aux__Lean__Meta__Tactic__Simp__SimpTheorems______macroRules__Lean__Meta____root____Lean__Parser__Command__registerSimpAttr__1___closed__64; @@ -2795,7 +2796,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Meta_DiscrTree_insertCore___at_Lean_Meta_addSimpTheoremEntry___spec__1___closed__5; x_2 = l_Lean_Meta_DiscrTree_insertCore___at_Lean_Meta_addSimpTheoremEntry___spec__1___closed__6; -x_3 = lean_unsigned_to_nat(353u); +x_3 = lean_unsigned_to_nat(350u); x_4 = lean_unsigned_to_nat(23u); x_5 = l_Lean_Meta_DiscrTree_insertCore___at_Lean_Meta_addSimpTheoremEntry___spec__1___closed__7; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -4936,105 +4937,121 @@ lean_dec(x_1); return x_8; } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { if (lean_obj_tag(x_2) == 0) { -lean_object* x_8; lean_object* x_9; +lean_object* x_9; lean_object* x_10; lean_dec(x_1); -x_8 = lean_box(0); -x_9 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_9, 0, x_8); -lean_ctor_set(x_9, 1, x_7); -return x_9; +x_9 = l_List_reverse___rarg(x_3); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_9); +lean_ctor_set(x_10, 1, x_8); +return x_10; } else { -uint8_t x_10; -x_10 = !lean_is_exclusive(x_2); -if (x_10 == 0) +uint8_t x_11; +x_11 = !lean_is_exclusive(x_2); +if (x_11 == 0) { -lean_object* x_11; uint8_t x_12; -x_11 = lean_ctor_get(x_2, 0); -x_12 = !lean_is_exclusive(x_11); -if (x_12 == 0) +lean_object* x_12; uint8_t x_13; +x_12 = lean_ctor_get(x_2, 0); +x_13 = !lean_is_exclusive(x_12); +if (x_13 == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; uint8_t x_17; uint8_t x_18; lean_object* x_19; -x_13 = lean_ctor_get(x_2, 1); -x_14 = lean_ctor_get(x_11, 0); -x_15 = lean_ctor_get(x_11, 1); -x_16 = 0; -x_17 = 1; +lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; uint8_t x_18; uint8_t x_19; lean_object* x_20; +x_14 = lean_ctor_get(x_2, 1); +x_15 = lean_ctor_get(x_12, 0); +x_16 = lean_ctor_get(x_12, 1); +x_17 = 0; x_18 = 1; +x_19 = 1; lean_inc(x_1); -x_19 = l_Lean_Meta_mkLambdaFVars(x_1, x_14, x_16, x_17, x_18, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_19) == 0) +x_20 = l_Lean_Meta_mkLambdaFVars(x_1, x_15, x_17, x_18, x_19, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_20) == 0) { -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_ctor_get(x_19, 0); -lean_inc(x_20); -x_21 = lean_ctor_get(x_19, 1); +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_20, 0); lean_inc(x_21); -lean_dec(x_19); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); lean_inc(x_1); -x_22 = l_Lean_Meta_mkForallFVars(x_1, x_15, x_16, x_17, x_18, x_3, x_4, x_5, x_6, x_21); -if (lean_obj_tag(x_22) == 0) +x_23 = l_Lean_Meta_mkForallFVars(x_1, x_16, x_17, x_18, x_19, x_4, x_5, x_6, x_7, x_22); +if (lean_obj_tag(x_23) == 0) { -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); +lean_object* x_24; lean_object* x_25; +x_24 = lean_ctor_get(x_23, 0); lean_inc(x_24); -lean_dec(x_22); -lean_ctor_set(x_11, 1, x_23); -lean_ctor_set(x_11, 0, x_20); -x_25 = l_List_mapM___at___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___spec__1(x_1, x_13, x_3, x_4, x_5, x_6, x_24); -if (lean_obj_tag(x_25) == 0) +x_25 = lean_ctor_get(x_23, 1); +lean_inc(x_25); +lean_dec(x_23); +lean_ctor_set(x_12, 1, x_24); +lean_ctor_set(x_12, 0, x_21); +lean_ctor_set(x_2, 1, x_3); { -uint8_t x_26; -x_26 = !lean_is_exclusive(x_25); -if (x_26 == 0) +lean_object* _tmp_1 = x_14; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_7 = x_25; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_8 = _tmp_7; +} +goto _start; +} +else { -lean_object* x_27; -x_27 = lean_ctor_get(x_25, 0); -lean_ctor_set(x_2, 1, x_27); -lean_ctor_set(x_25, 0, x_2); -return x_25; +uint8_t x_27; +lean_dec(x_21); +lean_free_object(x_12); +lean_free_object(x_2); +lean_dec(x_14); +lean_dec(x_3); +lean_dec(x_1); +x_27 = !lean_is_exclusive(x_23); +if (x_27 == 0) +{ +return x_23; } else { lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_25, 0); -x_29 = lean_ctor_get(x_25, 1); +x_28 = lean_ctor_get(x_23, 0); +x_29 = lean_ctor_get(x_23, 1); lean_inc(x_29); lean_inc(x_28); -lean_dec(x_25); -lean_ctor_set(x_2, 1, x_28); -x_30 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_30, 0, x_2); +lean_dec(x_23); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); lean_ctor_set(x_30, 1, x_29); return x_30; } } +} else { uint8_t x_31; -lean_dec(x_11); +lean_free_object(x_12); +lean_dec(x_16); lean_free_object(x_2); -x_31 = !lean_is_exclusive(x_25); +lean_dec(x_14); +lean_dec(x_3); +lean_dec(x_1); +x_31 = !lean_is_exclusive(x_20); if (x_31 == 0) { -return x_25; +return x_20; } else { lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_25, 0); -x_33 = lean_ctor_get(x_25, 1); +x_32 = lean_ctor_get(x_20, 0); +x_33 = lean_ctor_get(x_20, 1); lean_inc(x_33); lean_inc(x_32); -lean_dec(x_25); +lean_dec(x_20); x_34 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_34, 0, x_32); lean_ctor_set(x_34, 1, x_33); @@ -5044,368 +5061,228 @@ return x_34; } else { -uint8_t x_35; -lean_dec(x_20); -lean_free_object(x_11); -lean_free_object(x_2); -lean_dec(x_13); -lean_dec(x_1); -x_35 = !lean_is_exclusive(x_22); -if (x_35 == 0) -{ -return x_22; -} -else -{ -lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_36 = lean_ctor_get(x_22, 0); -x_37 = lean_ctor_get(x_22, 1); +lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; uint8_t x_39; uint8_t x_40; lean_object* x_41; +x_35 = lean_ctor_get(x_2, 1); +x_36 = lean_ctor_get(x_12, 0); +x_37 = lean_ctor_get(x_12, 1); lean_inc(x_37); lean_inc(x_36); -lean_dec(x_22); -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_36); -lean_ctor_set(x_38, 1, x_37); -return x_38; -} -} -} -else +lean_dec(x_12); +x_38 = 0; +x_39 = 1; +x_40 = 1; +lean_inc(x_1); +x_41 = l_Lean_Meta_mkLambdaFVars(x_1, x_36, x_38, x_39, x_40, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_41) == 0) { -uint8_t x_39; -lean_free_object(x_11); -lean_dec(x_15); -lean_free_object(x_2); -lean_dec(x_13); -lean_dec(x_1); -x_39 = !lean_is_exclusive(x_19); -if (x_39 == 0) +lean_object* x_42; lean_object* x_43; lean_object* x_44; +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); +lean_inc(x_1); +x_44 = l_Lean_Meta_mkForallFVars(x_1, x_37, x_38, x_39, x_40, x_4, x_5, x_6, x_7, x_43); +if (lean_obj_tag(x_44) == 0) { -return x_19; -} -else -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_40 = lean_ctor_get(x_19, 0); -x_41 = lean_ctor_get(x_19, 1); -lean_inc(x_41); -lean_inc(x_40); -lean_dec(x_19); -x_42 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_42, 0, x_40); -lean_ctor_set(x_42, 1, x_41); -return x_42; -} -} -} -else -{ -lean_object* x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46; uint8_t x_47; uint8_t x_48; lean_object* x_49; -x_43 = lean_ctor_get(x_2, 1); -x_44 = lean_ctor_get(x_11, 0); -x_45 = lean_ctor_get(x_11, 1); +lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_45 = lean_ctor_get(x_44, 0); lean_inc(x_45); -lean_inc(x_44); -lean_dec(x_11); -x_46 = 0; -x_47 = 1; -x_48 = 1; -lean_inc(x_1); -x_49 = l_Lean_Meta_mkLambdaFVars(x_1, x_44, x_46, x_47, x_48, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_49) == 0) +x_46 = lean_ctor_get(x_44, 1); +lean_inc(x_46); +lean_dec(x_44); +x_47 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_47, 0, x_42); +lean_ctor_set(x_47, 1, x_45); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_47); { -lean_object* x_50; lean_object* x_51; lean_object* x_52; -x_50 = lean_ctor_get(x_49, 0); +lean_object* _tmp_1 = x_35; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_7 = x_46; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_8 = _tmp_7; +} +goto _start; +} +else +{ +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; +lean_dec(x_42); +lean_free_object(x_2); +lean_dec(x_35); +lean_dec(x_3); +lean_dec(x_1); +x_49 = lean_ctor_get(x_44, 0); +lean_inc(x_49); +x_50 = lean_ctor_get(x_44, 1); lean_inc(x_50); -x_51 = lean_ctor_get(x_49, 1); -lean_inc(x_51); -lean_dec(x_49); -lean_inc(x_1); -x_52 = l_Lean_Meta_mkForallFVars(x_1, x_45, x_46, x_47, x_48, x_3, x_4, x_5, x_6, x_51); -if (lean_obj_tag(x_52) == 0) +if (lean_is_exclusive(x_44)) { + lean_ctor_release(x_44, 0); + lean_ctor_release(x_44, 1); + x_51 = x_44; +} else { + lean_dec_ref(x_44); + x_51 = lean_box(0); +} +if (lean_is_scalar(x_51)) { + x_52 = lean_alloc_ctor(1, 2, 0); +} else { + x_52 = x_51; +} +lean_ctor_set(x_52, 0, x_49); +lean_ctor_set(x_52, 1, x_50); +return x_52; +} +} +else { lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; -x_53 = lean_ctor_get(x_52, 0); -lean_inc(x_53); -x_54 = lean_ctor_get(x_52, 1); -lean_inc(x_54); -lean_dec(x_52); -x_55 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_55, 0, x_50); -lean_ctor_set(x_55, 1, x_53); -x_56 = l_List_mapM___at___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___spec__1(x_1, x_43, x_3, x_4, x_5, x_6, x_54); -if (lean_obj_tag(x_56) == 0) -{ -lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_57 = lean_ctor_get(x_56, 0); -lean_inc(x_57); -x_58 = lean_ctor_get(x_56, 1); -lean_inc(x_58); -if (lean_is_exclusive(x_56)) { - lean_ctor_release(x_56, 0); - lean_ctor_release(x_56, 1); - x_59 = x_56; -} else { - lean_dec_ref(x_56); - x_59 = lean_box(0); -} -lean_ctor_set(x_2, 1, x_57); -lean_ctor_set(x_2, 0, x_55); -if (lean_is_scalar(x_59)) { - x_60 = lean_alloc_ctor(0, 2, 0); -} else { - x_60 = x_59; -} -lean_ctor_set(x_60, 0, x_2); -lean_ctor_set(x_60, 1, x_58); -return x_60; -} -else -{ -lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; -lean_dec(x_55); +lean_dec(x_37); lean_free_object(x_2); -x_61 = lean_ctor_get(x_56, 0); -lean_inc(x_61); -x_62 = lean_ctor_get(x_56, 1); -lean_inc(x_62); -if (lean_is_exclusive(x_56)) { - lean_ctor_release(x_56, 0); - lean_ctor_release(x_56, 1); - x_63 = x_56; -} else { - lean_dec_ref(x_56); - x_63 = lean_box(0); -} -if (lean_is_scalar(x_63)) { - x_64 = lean_alloc_ctor(1, 2, 0); -} else { - x_64 = x_63; -} -lean_ctor_set(x_64, 0, x_61); -lean_ctor_set(x_64, 1, x_62); -return x_64; -} -} -else -{ -lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; -lean_dec(x_50); -lean_free_object(x_2); -lean_dec(x_43); +lean_dec(x_35); +lean_dec(x_3); lean_dec(x_1); -x_65 = lean_ctor_get(x_52, 0); -lean_inc(x_65); -x_66 = lean_ctor_get(x_52, 1); -lean_inc(x_66); -if (lean_is_exclusive(x_52)) { - lean_ctor_release(x_52, 0); - lean_ctor_release(x_52, 1); - x_67 = x_52; +x_53 = lean_ctor_get(x_41, 0); +lean_inc(x_53); +x_54 = lean_ctor_get(x_41, 1); +lean_inc(x_54); +if (lean_is_exclusive(x_41)) { + lean_ctor_release(x_41, 0); + lean_ctor_release(x_41, 1); + x_55 = x_41; } else { - lean_dec_ref(x_52); - x_67 = lean_box(0); + lean_dec_ref(x_41); + x_55 = lean_box(0); } -if (lean_is_scalar(x_67)) { - x_68 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_55)) { + x_56 = lean_alloc_ctor(1, 2, 0); } else { - x_68 = x_67; + x_56 = x_55; +} +lean_ctor_set(x_56, 0, x_53); +lean_ctor_set(x_56, 1, x_54); +return x_56; } -lean_ctor_set(x_68, 0, x_65); -lean_ctor_set(x_68, 1, x_66); -return x_68; } } else { +lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; uint8_t x_62; uint8_t x_63; uint8_t x_64; lean_object* x_65; +x_57 = lean_ctor_get(x_2, 0); +x_58 = lean_ctor_get(x_2, 1); +lean_inc(x_58); +lean_inc(x_57); +lean_dec(x_2); +x_59 = lean_ctor_get(x_57, 0); +lean_inc(x_59); +x_60 = lean_ctor_get(x_57, 1); +lean_inc(x_60); +if (lean_is_exclusive(x_57)) { + lean_ctor_release(x_57, 0); + lean_ctor_release(x_57, 1); + x_61 = x_57; +} else { + lean_dec_ref(x_57); + x_61 = lean_box(0); +} +x_62 = 0; +x_63 = 1; +x_64 = 1; +lean_inc(x_1); +x_65 = l_Lean_Meta_mkLambdaFVars(x_1, x_59, x_62, x_63, x_64, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_65) == 0) +{ +lean_object* x_66; lean_object* x_67; lean_object* x_68; +x_66 = lean_ctor_get(x_65, 0); +lean_inc(x_66); +x_67 = lean_ctor_get(x_65, 1); +lean_inc(x_67); +lean_dec(x_65); +lean_inc(x_1); +x_68 = l_Lean_Meta_mkForallFVars(x_1, x_60, x_62, x_63, x_64, x_4, x_5, x_6, x_7, x_67); +if (lean_obj_tag(x_68) == 0) +{ lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; -lean_dec(x_45); -lean_free_object(x_2); -lean_dec(x_43); -lean_dec(x_1); -x_69 = lean_ctor_get(x_49, 0); +x_69 = lean_ctor_get(x_68, 0); lean_inc(x_69); -x_70 = lean_ctor_get(x_49, 1); +x_70 = lean_ctor_get(x_68, 1); lean_inc(x_70); -if (lean_is_exclusive(x_49)) { - lean_ctor_release(x_49, 0); - lean_ctor_release(x_49, 1); - x_71 = x_49; +lean_dec(x_68); +if (lean_is_scalar(x_61)) { + x_71 = lean_alloc_ctor(0, 2, 0); } else { - lean_dec_ref(x_49); - x_71 = lean_box(0); -} -if (lean_is_scalar(x_71)) { - x_72 = lean_alloc_ctor(1, 2, 0); -} else { - x_72 = x_71; -} -lean_ctor_set(x_72, 0, x_69); -lean_ctor_set(x_72, 1, x_70); -return x_72; -} + x_71 = x_61; } +lean_ctor_set(x_71, 0, x_66); +lean_ctor_set(x_71, 1, x_69); +x_72 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_72, 0, x_71); +lean_ctor_set(x_72, 1, x_3); +x_2 = x_58; +x_3 = x_72; +x_8 = x_70; +goto _start; } else { -lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; uint8_t x_78; uint8_t x_79; uint8_t x_80; lean_object* x_81; -x_73 = lean_ctor_get(x_2, 0); -x_74 = lean_ctor_get(x_2, 1); +lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; +lean_dec(x_66); +lean_dec(x_61); +lean_dec(x_58); +lean_dec(x_3); +lean_dec(x_1); +x_74 = lean_ctor_get(x_68, 0); lean_inc(x_74); -lean_inc(x_73); -lean_dec(x_2); -x_75 = lean_ctor_get(x_73, 0); +x_75 = lean_ctor_get(x_68, 1); lean_inc(x_75); -x_76 = lean_ctor_get(x_73, 1); -lean_inc(x_76); -if (lean_is_exclusive(x_73)) { - lean_ctor_release(x_73, 0); - lean_ctor_release(x_73, 1); - x_77 = x_73; +if (lean_is_exclusive(x_68)) { + lean_ctor_release(x_68, 0); + lean_ctor_release(x_68, 1); + x_76 = x_68; } else { - lean_dec_ref(x_73); - x_77 = lean_box(0); + lean_dec_ref(x_68); + x_76 = lean_box(0); } -x_78 = 0; -x_79 = 1; -x_80 = 1; -lean_inc(x_1); -x_81 = l_Lean_Meta_mkLambdaFVars(x_1, x_75, x_78, x_79, x_80, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_81) == 0) -{ -lean_object* x_82; lean_object* x_83; lean_object* x_84; -x_82 = lean_ctor_get(x_81, 0); -lean_inc(x_82); -x_83 = lean_ctor_get(x_81, 1); -lean_inc(x_83); -lean_dec(x_81); -lean_inc(x_1); -x_84 = l_Lean_Meta_mkForallFVars(x_1, x_76, x_78, x_79, x_80, x_3, x_4, x_5, x_6, x_83); -if (lean_obj_tag(x_84) == 0) -{ -lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; -x_85 = lean_ctor_get(x_84, 0); -lean_inc(x_85); -x_86 = lean_ctor_get(x_84, 1); -lean_inc(x_86); -lean_dec(x_84); -if (lean_is_scalar(x_77)) { - x_87 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_76)) { + x_77 = lean_alloc_ctor(1, 2, 0); } else { - x_87 = x_77; + x_77 = x_76; } -lean_ctor_set(x_87, 0, x_82); -lean_ctor_set(x_87, 1, x_85); -x_88 = l_List_mapM___at___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___spec__1(x_1, x_74, x_3, x_4, x_5, x_6, x_86); -if (lean_obj_tag(x_88) == 0) -{ -lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; -x_89 = lean_ctor_get(x_88, 0); -lean_inc(x_89); -x_90 = lean_ctor_get(x_88, 1); -lean_inc(x_90); -if (lean_is_exclusive(x_88)) { - lean_ctor_release(x_88, 0); - lean_ctor_release(x_88, 1); - x_91 = x_88; -} else { - lean_dec_ref(x_88); - x_91 = lean_box(0); -} -x_92 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_92, 0, x_87); -lean_ctor_set(x_92, 1, x_89); -if (lean_is_scalar(x_91)) { - x_93 = lean_alloc_ctor(0, 2, 0); -} else { - x_93 = x_91; -} -lean_ctor_set(x_93, 0, x_92); -lean_ctor_set(x_93, 1, x_90); -return x_93; -} -else -{ -lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; -lean_dec(x_87); -x_94 = lean_ctor_get(x_88, 0); -lean_inc(x_94); -x_95 = lean_ctor_get(x_88, 1); -lean_inc(x_95); -if (lean_is_exclusive(x_88)) { - lean_ctor_release(x_88, 0); - lean_ctor_release(x_88, 1); - x_96 = x_88; -} else { - lean_dec_ref(x_88); - x_96 = lean_box(0); -} -if (lean_is_scalar(x_96)) { - x_97 = lean_alloc_ctor(1, 2, 0); -} else { - x_97 = x_96; -} -lean_ctor_set(x_97, 0, x_94); -lean_ctor_set(x_97, 1, x_95); -return x_97; +lean_ctor_set(x_77, 0, x_74); +lean_ctor_set(x_77, 1, x_75); +return x_77; } } else { -lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; -lean_dec(x_82); -lean_dec(x_77); -lean_dec(x_74); +lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; +lean_dec(x_61); +lean_dec(x_60); +lean_dec(x_58); +lean_dec(x_3); lean_dec(x_1); -x_98 = lean_ctor_get(x_84, 0); -lean_inc(x_98); -x_99 = lean_ctor_get(x_84, 1); -lean_inc(x_99); -if (lean_is_exclusive(x_84)) { - lean_ctor_release(x_84, 0); - lean_ctor_release(x_84, 1); - x_100 = x_84; +x_78 = lean_ctor_get(x_65, 0); +lean_inc(x_78); +x_79 = lean_ctor_get(x_65, 1); +lean_inc(x_79); +if (lean_is_exclusive(x_65)) { + lean_ctor_release(x_65, 0); + lean_ctor_release(x_65, 1); + x_80 = x_65; } else { - lean_dec_ref(x_84); - x_100 = lean_box(0); + lean_dec_ref(x_65); + x_80 = lean_box(0); } -if (lean_is_scalar(x_100)) { - x_101 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_80)) { + x_81 = lean_alloc_ctor(1, 2, 0); } else { - x_101 = x_100; + x_81 = x_80; } -lean_ctor_set(x_101, 0, x_98); -lean_ctor_set(x_101, 1, x_99); -return x_101; -} -} -else -{ -lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; -lean_dec(x_77); -lean_dec(x_76); -lean_dec(x_74); -lean_dec(x_1); -x_102 = lean_ctor_get(x_81, 0); -lean_inc(x_102); -x_103 = lean_ctor_get(x_81, 1); -lean_inc(x_103); -if (lean_is_exclusive(x_81)) { - lean_ctor_release(x_81, 0); - lean_ctor_release(x_81, 1); - x_104 = x_81; -} else { - lean_dec_ref(x_81); - x_104 = lean_box(0); -} -if (lean_is_scalar(x_104)) { - x_105 = lean_alloc_ctor(1, 2, 0); -} else { - x_105 = x_104; -} -lean_ctor_set(x_105, 0, x_102); -lean_ctor_set(x_105, 1, x_103); -return x_105; +lean_ctor_set(x_81, 0, x_78); +lean_ctor_set(x_81, 1, x_79); +return x_81; } } } @@ -6880,44 +6757,45 @@ lean_inc(x_6); x_12 = l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go(x_2, x_3, x_11, x_5, x_6, x_7, x_8, x_9, x_10); if (lean_obj_tag(x_12) == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; x_13 = lean_ctor_get(x_12, 0); lean_inc(x_13); x_14 = lean_ctor_get(x_12, 1); lean_inc(x_14); lean_dec(x_12); -x_15 = l_List_mapM___at___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___spec__1(x_4, x_13, x_6, x_7, x_8, x_9, x_14); +x_15 = lean_box(0); +x_16 = l_List_mapM_loop___at___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___spec__1(x_4, x_13, x_15, x_6, x_7, x_8, x_9, x_14); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -return x_15; +return x_16; } else { -uint8_t x_16; +uint8_t x_17; lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_4); -x_16 = !lean_is_exclusive(x_12); -if (x_16 == 0) +x_17 = !lean_is_exclusive(x_12); +if (x_17 == 0) { return x_12; } else { -lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_17 = lean_ctor_get(x_12, 0); -x_18 = lean_ctor_get(x_12, 1); +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_inc(x_17); lean_dec(x_12); -x_19 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_19, 0, x_17); -lean_ctor_set(x_19, 1, x_18); -return x_19; +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; } } } @@ -7493,16 +7371,16 @@ return x_113; } } } -LEAN_EXPORT lean_object* l_List_mapM___at___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { -lean_object* x_8; -x_8 = l_List_mapM___at___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_object* x_9; +x_9 = l_List_mapM_loop___at___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_3); -return x_8; +return x_9; } } LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_preprocess_go___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { @@ -14352,102 +14230,103 @@ lean_dec(x_37); x_40 = l_List_isEmpty___rarg(x_39); if (x_40 == 0) { -lean_object* x_41; +lean_object* x_41; lean_object* x_42; lean_free_object(x_35); -x_41 = l_List_mapM___at___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___spec__1(x_39, x_2, x_3, x_4, x_5, x_38); +x_41 = lean_box(0); +x_42 = l_List_mapM_loop___at___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___spec__1(x_39, x_41, x_2, x_3, x_4, x_5, x_38); if (lean_obj_tag(x_7) == 4) { -uint8_t x_42; -x_42 = !lean_is_exclusive(x_41); -if (x_42 == 0) +uint8_t x_43; +x_43 = !lean_is_exclusive(x_42); +if (x_43 == 0) { -lean_object* x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46; -x_43 = lean_ctor_get(x_41, 0); -x_44 = lean_ctor_get(x_7, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_7, 1); +lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; +x_44 = lean_ctor_get(x_42, 0); +x_45 = lean_ctor_get(x_7, 0); lean_inc(x_45); -x_46 = l_ptrEqList___rarg(x_45, x_43); +x_46 = lean_ctor_get(x_7, 1); +lean_inc(x_46); +x_47 = l_ptrEqList___rarg(x_46, x_44); +lean_dec(x_46); +if (x_47 == 0) +{ +lean_object* x_48; +lean_dec(x_7); +x_48 = l_Lean_Expr_const___override(x_45, x_44); +lean_ctor_set(x_42, 0, x_48); +return x_42; +} +else +{ lean_dec(x_45); -if (x_46 == 0) -{ -lean_object* x_47; -lean_dec(x_7); -x_47 = l_Lean_Expr_const___override(x_44, x_43); -lean_ctor_set(x_41, 0, x_47); -return x_41; -} -else -{ lean_dec(x_44); -lean_dec(x_43); -lean_ctor_set(x_41, 0, x_7); -return x_41; +lean_ctor_set(x_42, 0, x_7); +return x_42; } } else { -lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; -x_48 = lean_ctor_get(x_41, 0); -x_49 = lean_ctor_get(x_41, 1); -lean_inc(x_49); -lean_inc(x_48); -lean_dec(x_41); -x_50 = lean_ctor_get(x_7, 0); +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; uint8_t x_53; +x_49 = lean_ctor_get(x_42, 0); +x_50 = lean_ctor_get(x_42, 1); lean_inc(x_50); -x_51 = lean_ctor_get(x_7, 1); +lean_inc(x_49); +lean_dec(x_42); +x_51 = lean_ctor_get(x_7, 0); lean_inc(x_51); -x_52 = l_ptrEqList___rarg(x_51, x_48); -lean_dec(x_51); -if (x_52 == 0) +x_52 = lean_ctor_get(x_7, 1); +lean_inc(x_52); +x_53 = l_ptrEqList___rarg(x_52, x_49); +lean_dec(x_52); +if (x_53 == 0) { -lean_object* x_53; lean_object* x_54; +lean_object* x_54; lean_object* x_55; lean_dec(x_7); -x_53 = l_Lean_Expr_const___override(x_50, x_48); -x_54 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_54, 0, x_53); -lean_ctor_set(x_54, 1, x_49); -return x_54; -} -else -{ -lean_object* x_55; -lean_dec(x_50); -lean_dec(x_48); +x_54 = l_Lean_Expr_const___override(x_51, x_49); x_55 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_55, 0, x_7); -lean_ctor_set(x_55, 1, x_49); +lean_ctor_set(x_55, 0, x_54); +lean_ctor_set(x_55, 1, x_50); return x_55; } +else +{ +lean_object* x_56; +lean_dec(x_51); +lean_dec(x_49); +x_56 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_56, 0, x_7); +lean_ctor_set(x_56, 1, x_50); +return x_56; +} } } else { -uint8_t x_56; +uint8_t x_57; lean_dec(x_7); -x_56 = !lean_is_exclusive(x_41); -if (x_56 == 0) +x_57 = !lean_is_exclusive(x_42); +if (x_57 == 0) { -lean_object* x_57; lean_object* x_58; lean_object* x_59; -x_57 = lean_ctor_get(x_41, 0); -lean_dec(x_57); -x_58 = l_Lean_Meta_SimpTheorem_getValue___closed__4; -x_59 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_58); -lean_ctor_set(x_41, 0, x_59); -return x_41; +lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_58 = lean_ctor_get(x_42, 0); +lean_dec(x_58); +x_59 = l_Lean_Meta_SimpTheorem_getValue___closed__4; +x_60 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_59); +lean_ctor_set(x_42, 0, x_60); +return x_42; } else { -lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; -x_60 = lean_ctor_get(x_41, 1); -lean_inc(x_60); -lean_dec(x_41); -x_61 = l_Lean_Meta_SimpTheorem_getValue___closed__4; -x_62 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_61); -x_63 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_63, 0, x_62); -lean_ctor_set(x_63, 1, x_60); -return x_63; +lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; +x_61 = lean_ctor_get(x_42, 1); +lean_inc(x_61); +lean_dec(x_42); +x_62 = l_Lean_Meta_SimpTheorem_getValue___closed__4; +x_63 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_62); +x_64 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_64, 0, x_63); +lean_ctor_set(x_64, 1, x_61); +return x_64; } } } @@ -14460,127 +14339,128 @@ return x_35; } else { -lean_object* x_64; lean_object* x_65; lean_object* x_66; uint8_t x_67; -x_64 = lean_ctor_get(x_35, 0); -x_65 = lean_ctor_get(x_35, 1); +lean_object* x_65; lean_object* x_66; lean_object* x_67; uint8_t x_68; +x_65 = lean_ctor_get(x_35, 0); +x_66 = lean_ctor_get(x_35, 1); +lean_inc(x_66); lean_inc(x_65); -lean_inc(x_64); lean_dec(x_35); -x_66 = l_Lean_ConstantInfo_levelParams(x_64); -lean_dec(x_64); -x_67 = l_List_isEmpty___rarg(x_66); -if (x_67 == 0) +x_67 = l_Lean_ConstantInfo_levelParams(x_65); +lean_dec(x_65); +x_68 = l_List_isEmpty___rarg(x_67); +if (x_68 == 0) { -lean_object* x_68; -x_68 = l_List_mapM___at___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___spec__1(x_66, x_2, x_3, x_4, x_5, x_65); +lean_object* x_69; lean_object* x_70; +x_69 = lean_box(0); +x_70 = l_List_mapM_loop___at___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkFun___spec__1(x_67, x_69, x_2, x_3, x_4, x_5, x_66); if (lean_obj_tag(x_7) == 4) { -lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; uint8_t x_74; -x_69 = lean_ctor_get(x_68, 0); -lean_inc(x_69); -x_70 = lean_ctor_get(x_68, 1); -lean_inc(x_70); -if (lean_is_exclusive(x_68)) { - lean_ctor_release(x_68, 0); - lean_ctor_release(x_68, 1); - x_71 = x_68; -} else { - lean_dec_ref(x_68); - x_71 = lean_box(0); -} -x_72 = lean_ctor_get(x_7, 0); +lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; uint8_t x_76; +x_71 = lean_ctor_get(x_70, 0); +lean_inc(x_71); +x_72 = lean_ctor_get(x_70, 1); lean_inc(x_72); -x_73 = lean_ctor_get(x_7, 1); -lean_inc(x_73); -x_74 = l_ptrEqList___rarg(x_73, x_69); -lean_dec(x_73); -if (x_74 == 0) +if (lean_is_exclusive(x_70)) { + lean_ctor_release(x_70, 0); + lean_ctor_release(x_70, 1); + x_73 = x_70; +} else { + lean_dec_ref(x_70); + x_73 = lean_box(0); +} +x_74 = lean_ctor_get(x_7, 0); +lean_inc(x_74); +x_75 = lean_ctor_get(x_7, 1); +lean_inc(x_75); +x_76 = l_ptrEqList___rarg(x_75, x_71); +lean_dec(x_75); +if (x_76 == 0) { -lean_object* x_75; lean_object* x_76; +lean_object* x_77; lean_object* x_78; lean_dec(x_7); -x_75 = l_Lean_Expr_const___override(x_72, x_69); -if (lean_is_scalar(x_71)) { - x_76 = lean_alloc_ctor(0, 2, 0); +x_77 = l_Lean_Expr_const___override(x_74, x_71); +if (lean_is_scalar(x_73)) { + x_78 = lean_alloc_ctor(0, 2, 0); } else { - x_76 = x_71; + x_78 = x_73; } -lean_ctor_set(x_76, 0, x_75); -lean_ctor_set(x_76, 1, x_70); -return x_76; +lean_ctor_set(x_78, 0, x_77); +lean_ctor_set(x_78, 1, x_72); +return x_78; } else { -lean_object* x_77; -lean_dec(x_72); -lean_dec(x_69); -if (lean_is_scalar(x_71)) { - x_77 = lean_alloc_ctor(0, 2, 0); +lean_object* x_79; +lean_dec(x_74); +lean_dec(x_71); +if (lean_is_scalar(x_73)) { + x_79 = lean_alloc_ctor(0, 2, 0); } else { - x_77 = x_71; + x_79 = x_73; } -lean_ctor_set(x_77, 0, x_7); -lean_ctor_set(x_77, 1, x_70); -return x_77; +lean_ctor_set(x_79, 0, x_7); +lean_ctor_set(x_79, 1, x_72); +return x_79; } } else { -lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; +lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_dec(x_7); -x_78 = lean_ctor_get(x_68, 1); -lean_inc(x_78); -if (lean_is_exclusive(x_68)) { - lean_ctor_release(x_68, 0); - lean_ctor_release(x_68, 1); - x_79 = x_68; +x_80 = lean_ctor_get(x_70, 1); +lean_inc(x_80); +if (lean_is_exclusive(x_70)) { + lean_ctor_release(x_70, 0); + lean_ctor_release(x_70, 1); + x_81 = x_70; } else { - lean_dec_ref(x_68); - x_79 = lean_box(0); + lean_dec_ref(x_70); + x_81 = lean_box(0); } -x_80 = l_Lean_Meta_SimpTheorem_getValue___closed__4; -x_81 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_80); -if (lean_is_scalar(x_79)) { - x_82 = lean_alloc_ctor(0, 2, 0); +x_82 = l_Lean_Meta_SimpTheorem_getValue___closed__4; +x_83 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_82); +if (lean_is_scalar(x_81)) { + x_84 = lean_alloc_ctor(0, 2, 0); } else { - x_82 = x_79; + x_84 = x_81; } -lean_ctor_set(x_82, 0, x_81); -lean_ctor_set(x_82, 1, x_78); -return x_82; +lean_ctor_set(x_84, 0, x_83); +lean_ctor_set(x_84, 1, x_80); +return x_84; } } else { -lean_object* x_83; -lean_dec(x_66); -x_83 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_83, 0, x_7); -lean_ctor_set(x_83, 1, x_65); -return x_83; +lean_object* x_85; +lean_dec(x_67); +x_85 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_85, 0, x_7); +lean_ctor_set(x_85, 1, x_66); +return x_85; } } } else { -uint8_t x_84; +uint8_t x_86; lean_dec(x_7); -x_84 = !lean_is_exclusive(x_35); -if (x_84 == 0) +x_86 = !lean_is_exclusive(x_35); +if (x_86 == 0) { return x_35; } else { -lean_object* x_85; lean_object* x_86; lean_object* x_87; -x_85 = lean_ctor_get(x_35, 0); -x_86 = lean_ctor_get(x_35, 1); -lean_inc(x_86); -lean_inc(x_85); +lean_object* x_87; lean_object* x_88; lean_object* x_89; +x_87 = lean_ctor_get(x_35, 0); +x_88 = lean_ctor_get(x_35, 1); +lean_inc(x_88); +lean_inc(x_87); lean_dec(x_35); -x_87 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_87, 0, x_85); -lean_ctor_set(x_87, 1, x_86); -return x_87; +x_89 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_89, 0, x_87); +lean_ctor_set(x_89, 1, x_88); +return x_89; } } } diff --git a/stage0/stdlib/Lean/Meta/Tactic/Split.c b/stage0/stdlib/Lean/Meta/Tactic/Split.c index 7f2e096137..2b8d93a4c0 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Split.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Split.c @@ -97,6 +97,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_w lean_object* l_Std_mkHashSetImp___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Meta_Split_applyMatchSplitter___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_splitTarget_x3f_go___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_splitLocalDecl_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_foldlM___at_Lean_Meta_Split_applyMatchSplitter___spec__2___lambda__2___closed__1; lean_object* l_Lean_Expr_appArg_x21(lean_object*); static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__2___lambda__3___closed__1; @@ -147,7 +148,6 @@ lean_object* l_Lean_Meta_isRflTheorem(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_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_simpMatchTargetCore___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Std_HashSetImp_insert___at_Lean_CollectMVars_visit___spec__3(lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -181,6 +181,7 @@ static lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__3___closed__2 lean_object* lean_st_mk_ref(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_panic___at_String_toNat_x21___spec__1(lean_object*); static lean_object* l_Lean_Meta_Split_applyMatchSplitter___closed__5; lean_object* l_Lean_Expr_sort___override(lean_object*); lean_object* l_Lean_MVarId_replaceTargetEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -188,7 +189,6 @@ LEAN_EXPORT lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__6(lean_o LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___lambda__1___boxed(lean_object**); static lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__10___closed__2; static lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___lambda__1___closed__1; -uint8_t l_Std_HashSetImp_contains___at_Lean_CollectMVars_visit___spec__1(lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__1___lambda__1___closed__2; lean_object* lean_array_to_list(lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__1___lambda__1___closed__1; @@ -218,7 +218,6 @@ static lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_genera size_t lean_usize_of_nat(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_splitLocalDecl_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs___lambda__2___closed__2; -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_splitLocalDecl_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Split_simpMatch___lambda__2___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_mkSimpCongrTheorem___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -277,7 +276,6 @@ lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_app___override(lean_object*, lean_object*); -lean_object* l_panic___at_Lean_TSyntax_getNat___spec__1(lean_object*); LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Meta_Split_applyMatchSplitter___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_get_match_equations_for(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_splitTarget_x3f_go___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -296,6 +294,7 @@ uint8_t l_Lean_Expr_hasLooseBVars(lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__1___closed__5; lean_object* l_Lean_Meta_Match_MatcherInfo_arity(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__8___boxed(lean_object**); +lean_object* l_Std_HashSetImp_insert___at_Lean_CollectFVars_visit___spec__3(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_substDiscrEqs___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__1___closed__3; lean_object* l_Lean_Meta_Match_MatcherInfo_getNumDiscrEqs(lean_object*); @@ -312,6 +311,7 @@ LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Meta_Split_findSplit_x uint8_t l_Lean_Level_isZero(lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getMatcherInfo_x3f___at_Lean_Meta_reduceMatcher_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_Std_HashSetImp_contains___at_Lean_CollectFVars_visit___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Meta_Split_applyMatchSplitter___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_generalizeTargetsEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Split_splitMatch___closed__4; @@ -4063,7 +4063,7 @@ if (x_30 == 0) { lean_object* x_45; lean_object* x_46; x_45 = l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_withEqs_go___rarg___closed__6; -x_46 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_45); +x_46 = l_panic___at_String_toNat_x21___spec__1(x_45); x_32 = x_46; goto block_44; } @@ -6332,7 +6332,7 @@ if (x_62 == 0) { lean_object* x_63; lean_object* x_64; x_63 = l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_withEqs_go___rarg___closed__6; -x_64 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_63); +x_64 = l_panic___at_String_toNat_x21___spec__1(x_63); x_19 = x_64; goto block_59; } @@ -9069,7 +9069,7 @@ _start: { lean_object* x_5; uint8_t x_26; lean_inc(x_4); -x_26 = l_Std_HashSetImp_contains___at_Lean_CollectMVars_visit___spec__1(x_3, x_4); +x_26 = l_Std_HashSetImp_contains___at_Lean_CollectFVars_visit___spec__1(x_3, x_4); if (x_26 == 0) { if (x_2 == 0) @@ -9646,7 +9646,7 @@ lean_free_object(x_14); x_42 = lean_ctor_get(x_36, 1); lean_inc(x_42); lean_dec(x_36); -x_43 = l_Std_HashSetImp_insert___at_Lean_CollectMVars_visit___spec__3(x_4, x_33); +x_43 = l_Std_HashSetImp_insert___at_Lean_CollectFVars_visit___spec__3(x_4, x_33); x_4 = x_43; x_9 = x_42; goto _start; @@ -10053,7 +10053,7 @@ lean_object* x_136; lean_object* x_137; x_136 = lean_ctor_get(x_130, 1); lean_inc(x_136); lean_dec(x_130); -x_137 = l_Std_HashSetImp_insert___at_Lean_CollectMVars_visit___spec__3(x_4, x_127); +x_137 = l_Std_HashSetImp_insert___at_Lean_CollectFVars_visit___spec__3(x_4, x_127); x_4 = x_137; x_9 = x_136; goto _start; @@ -10715,248 +10715,161 @@ x_9 = l_Lean_Meta_splitTarget_x3f(x_1, x_8, x_3, x_4, x_5, x_6, x_7); return x_9; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_splitLocalDecl_x3f___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_splitLocalDecl_x3f___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { if (lean_obj_tag(x_2) == 0) { -lean_object* x_8; lean_object* x_9; +lean_object* x_9; lean_object* x_10; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_9 = l_List_reverse___rarg(x_3); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_9); +lean_ctor_set(x_10, 1, x_8); +return x_10; +} +else +{ +uint8_t x_11; +x_11 = !lean_is_exclusive(x_2); +if (x_11 == 0) +{ +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_12 = lean_ctor_get(x_2, 0); +x_13 = lean_ctor_get(x_2, 1); +x_14 = lean_box(0); +x_15 = 0; +x_16 = 1; +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_1); +x_17 = l_Lean_Meta_introNCore(x_12, x_1, x_14, x_15, x_16, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_17) == 0) +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_17, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_17, 1); +lean_inc(x_19); +lean_dec(x_17); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_20); +{ +lean_object* _tmp_1 = x_13; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_7 = x_19; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_8 = _tmp_7; +} +goto _start; +} +else +{ +uint8_t x_22; +lean_free_object(x_2); +lean_dec(x_13); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_8 = lean_box(0); -x_9 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_9, 0, x_8); -lean_ctor_set(x_9, 1, x_7); -return x_9; -} -else +x_22 = !lean_is_exclusive(x_17); +if (x_22 == 0) { -uint8_t x_10; -x_10 = !lean_is_exclusive(x_2); -if (x_10 == 0) -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; uint8_t x_15; lean_object* x_16; -x_11 = lean_ctor_get(x_2, 0); -x_12 = lean_ctor_get(x_2, 1); -x_13 = lean_box(0); -x_14 = 0; -x_15 = 1; -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_1); -x_16 = l_Lean_Meta_introNCore(x_11, x_1, x_13, x_14, x_15, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_16) == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -x_19 = lean_ctor_get(x_17, 1); -lean_inc(x_19); -lean_dec(x_17); -x_20 = l_List_mapM___at_Lean_Meta_splitLocalDecl_x3f___spec__1(x_1, x_12, x_3, x_4, x_5, x_6, x_18); -if (lean_obj_tag(x_20) == 0) -{ -uint8_t x_21; -x_21 = !lean_is_exclusive(x_20); -if (x_21 == 0) -{ -lean_object* x_22; -x_22 = lean_ctor_get(x_20, 0); -lean_ctor_set(x_2, 1, x_22); -lean_ctor_set(x_2, 0, x_19); -lean_ctor_set(x_20, 0, x_2); -return x_20; +return x_17; } else { lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_20, 0); -x_24 = lean_ctor_get(x_20, 1); +x_23 = lean_ctor_get(x_17, 0); +x_24 = lean_ctor_get(x_17, 1); lean_inc(x_24); lean_inc(x_23); -lean_dec(x_20); -lean_ctor_set(x_2, 1, x_23); -lean_ctor_set(x_2, 0, x_19); -x_25 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_25, 0, x_2); +lean_dec(x_17); +x_25 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_25, 0, x_23); lean_ctor_set(x_25, 1, x_24); return x_25; } } -else -{ -uint8_t x_26; -lean_dec(x_19); -lean_free_object(x_2); -x_26 = !lean_is_exclusive(x_20); -if (x_26 == 0) -{ -return x_20; } else { -lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_27 = lean_ctor_get(x_20, 0); -x_28 = lean_ctor_get(x_20, 1); -lean_inc(x_28); +lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; uint8_t x_30; lean_object* x_31; +x_26 = lean_ctor_get(x_2, 0); +x_27 = lean_ctor_get(x_2, 1); lean_inc(x_27); -lean_dec(x_20); -x_29 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_29, 0, x_27); -lean_ctor_set(x_29, 1, x_28); -return x_29; -} -} -} -else -{ -uint8_t x_30; -lean_free_object(x_2); -lean_dec(x_12); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_30 = !lean_is_exclusive(x_16); -if (x_30 == 0) -{ -return x_16; -} -else -{ -lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_31 = lean_ctor_get(x_16, 0); -x_32 = lean_ctor_get(x_16, 1); -lean_inc(x_32); -lean_inc(x_31); -lean_dec(x_16); -x_33 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_33, 0, x_31); -lean_ctor_set(x_33, 1, x_32); -return x_33; -} -} -} -else -{ -lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; uint8_t x_38; lean_object* x_39; -x_34 = lean_ctor_get(x_2, 0); -x_35 = lean_ctor_get(x_2, 1); -lean_inc(x_35); -lean_inc(x_34); +lean_inc(x_26); lean_dec(x_2); -x_36 = lean_box(0); -x_37 = 0; -x_38 = 1; +x_28 = lean_box(0); +x_29 = 0; +x_30 = 1; +lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); lean_inc(x_1); -x_39 = l_Lean_Meta_introNCore(x_34, x_1, x_36, x_37, x_38, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_39) == 0) +x_31 = l_Lean_Meta_introNCore(x_26, x_1, x_28, x_29, x_30, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_31) == 0) { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_39, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_39, 1); -lean_inc(x_41); -lean_dec(x_39); -x_42 = lean_ctor_get(x_40, 1); -lean_inc(x_42); -lean_dec(x_40); -x_43 = l_List_mapM___at_Lean_Meta_splitLocalDecl_x3f___spec__1(x_1, x_35, x_3, x_4, x_5, x_6, x_41); -if (lean_obj_tag(x_43) == 0) -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_44 = lean_ctor_get(x_43, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_43, 1); -lean_inc(x_45); -if (lean_is_exclusive(x_43)) { - lean_ctor_release(x_43, 0); - lean_ctor_release(x_43, 1); - x_46 = x_43; -} else { - lean_dec_ref(x_43); - x_46 = lean_box(0); -} -x_47 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_47, 0, x_42); -lean_ctor_set(x_47, 1, x_44); -if (lean_is_scalar(x_46)) { - x_48 = lean_alloc_ctor(0, 2, 0); -} else { - x_48 = x_46; -} -lean_ctor_set(x_48, 0, x_47); -lean_ctor_set(x_48, 1, x_45); -return x_48; +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +lean_dec(x_31); +x_34 = lean_ctor_get(x_32, 1); +lean_inc(x_34); +lean_dec(x_32); +x_35 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_35, 0, x_34); +lean_ctor_set(x_35, 1, x_3); +x_2 = x_27; +x_3 = x_35; +x_8 = x_33; +goto _start; } else { -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; -lean_dec(x_42); -x_49 = lean_ctor_get(x_43, 0); -lean_inc(x_49); -x_50 = lean_ctor_get(x_43, 1); -lean_inc(x_50); -if (lean_is_exclusive(x_43)) { - lean_ctor_release(x_43, 0); - lean_ctor_release(x_43, 1); - x_51 = x_43; -} else { - lean_dec_ref(x_43); - x_51 = lean_box(0); -} -if (lean_is_scalar(x_51)) { - x_52 = lean_alloc_ctor(1, 2, 0); -} else { - x_52 = x_51; -} -lean_ctor_set(x_52, 0, x_49); -lean_ctor_set(x_52, 1, x_50); -return x_52; -} -} -else -{ -lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; -lean_dec(x_35); +lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; +lean_dec(x_27); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_53 = lean_ctor_get(x_39, 0); -lean_inc(x_53); -x_54 = lean_ctor_get(x_39, 1); -lean_inc(x_54); -if (lean_is_exclusive(x_39)) { - lean_ctor_release(x_39, 0); - lean_ctor_release(x_39, 1); - x_55 = x_39; +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_39); - x_55 = lean_box(0); + lean_dec_ref(x_31); + x_39 = lean_box(0); } -if (lean_is_scalar(x_55)) { - x_56 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_39)) { + x_40 = lean_alloc_ctor(1, 2, 0); } else { - x_56 = x_55; + x_40 = x_39; } -lean_ctor_set(x_56, 0, x_53); -lean_ctor_set(x_56, 1, x_54); -return x_56; +lean_ctor_set(x_40, 0, x_37); +lean_ctor_set(x_40, 1, x_38); +return x_40; } } } @@ -11069,811 +10982,813 @@ lean_inc(x_3); x_37 = l_Lean_Meta_Split_splitMatch(x_35, x_25, x_3, x_4, x_5, x_6, x_33); if (lean_obj_tag(x_37) == 0) { -lean_object* x_38; lean_object* x_39; lean_object* x_40; +lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; x_38 = lean_ctor_get(x_37, 0); lean_inc(x_38); x_39 = lean_ctor_get(x_37, 1); lean_inc(x_39); lean_dec(x_37); -x_40 = l_List_mapM___at_Lean_Meta_splitLocalDecl_x3f___spec__1(x_36, x_38, x_3, x_4, x_5, x_6, x_39); -if (lean_obj_tag(x_40) == 0) +x_40 = lean_box(0); +x_41 = l_List_mapM_loop___at_Lean_Meta_splitLocalDecl_x3f___spec__1(x_36, x_38, x_40, x_3, x_4, x_5, x_6, x_39); +if (lean_obj_tag(x_41) == 0) { -uint8_t x_41; -x_41 = !lean_is_exclusive(x_40); -if (x_41 == 0) +uint8_t x_42; +x_42 = !lean_is_exclusive(x_41); +if (x_42 == 0) { -lean_object* x_42; -x_42 = lean_ctor_get(x_40, 0); -lean_ctor_set(x_22, 0, x_42); -lean_ctor_set(x_40, 0, x_22); -return x_40; -} -else -{ -lean_object* x_43; lean_object* x_44; lean_object* x_45; -x_43 = lean_ctor_get(x_40, 0); -x_44 = lean_ctor_get(x_40, 1); -lean_inc(x_44); -lean_inc(x_43); -lean_dec(x_40); +lean_object* x_43; +x_43 = lean_ctor_get(x_41, 0); lean_ctor_set(x_22, 0, x_43); -x_45 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_45, 0, x_22); -lean_ctor_set(x_45, 1, x_44); -return x_45; +lean_ctor_set(x_41, 0, x_22); +return x_41; +} +else +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_44 = lean_ctor_get(x_41, 0); +x_45 = lean_ctor_get(x_41, 1); +lean_inc(x_45); +lean_inc(x_44); +lean_dec(x_41); +lean_ctor_set(x_22, 0, x_44); +x_46 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_46, 0, x_22); +lean_ctor_set(x_46, 1, x_45); +return x_46; } } else { -uint8_t x_46; +uint8_t x_47; lean_free_object(x_22); -x_46 = !lean_is_exclusive(x_40); -if (x_46 == 0) +x_47 = !lean_is_exclusive(x_41); +if (x_47 == 0) { -return x_40; +return x_41; } else { -lean_object* x_47; lean_object* x_48; lean_object* x_49; -x_47 = lean_ctor_get(x_40, 0); -x_48 = lean_ctor_get(x_40, 1); +lean_object* x_48; lean_object* x_49; lean_object* x_50; +x_48 = lean_ctor_get(x_41, 0); +x_49 = lean_ctor_get(x_41, 1); +lean_inc(x_49); lean_inc(x_48); -lean_inc(x_47); -lean_dec(x_40); -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_dec(x_41); +x_50 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_50, 0, x_48); +lean_ctor_set(x_50, 1, x_49); +return x_50; } } } else { -uint8_t x_50; +uint8_t x_51; lean_dec(x_36); lean_free_object(x_22); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_50 = !lean_is_exclusive(x_37); -if (x_50 == 0) +x_51 = !lean_is_exclusive(x_37); +if (x_51 == 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_object* x_52; lean_object* x_53; lean_object* x_54; +x_52 = lean_ctor_get(x_37, 0); +x_53 = lean_ctor_get(x_37, 1); +lean_inc(x_53); 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; +x_54 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_54, 0, x_52); +lean_ctor_set(x_54, 1, x_53); +return x_54; } } } else { -uint8_t x_54; +uint8_t x_55; lean_free_object(x_22); lean_dec(x_25); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_54 = !lean_is_exclusive(x_31); -if (x_54 == 0) +x_55 = !lean_is_exclusive(x_31); +if (x_55 == 0) { return x_31; } else { -lean_object* x_55; lean_object* x_56; lean_object* x_57; -x_55 = lean_ctor_get(x_31, 0); -x_56 = lean_ctor_get(x_31, 1); +lean_object* x_56; lean_object* x_57; lean_object* x_58; +x_56 = lean_ctor_get(x_31, 0); +x_57 = lean_ctor_get(x_31, 1); +lean_inc(x_57); lean_inc(x_56); -lean_inc(x_55); lean_dec(x_31); -x_57 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_57, 0, x_55); -lean_ctor_set(x_57, 1, x_56); -return x_57; +x_58 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_58, 0, x_56); +lean_ctor_set(x_58, 1, x_57); +return x_58; } } } else { -lean_object* x_58; lean_object* x_59; +lean_object* x_59; lean_object* x_60; lean_free_object(x_22); lean_dec(x_25); -x_58 = lean_box(0); -x_59 = l_Lean_Meta_splitIfLocalDecl_x3f(x_2, x_1, x_58, x_3, x_4, x_5, x_6, x_19); -if (lean_obj_tag(x_59) == 0) -{ -lean_object* x_60; -x_60 = lean_ctor_get(x_59, 0); -lean_inc(x_60); +x_59 = lean_box(0); +x_60 = l_Lean_Meta_splitIfLocalDecl_x3f(x_2, x_1, x_59, x_3, x_4, x_5, x_6, x_19); if (lean_obj_tag(x_60) == 0) { -uint8_t x_61; -x_61 = !lean_is_exclusive(x_59); -if (x_61 == 0) +lean_object* x_61; +x_61 = lean_ctor_get(x_60, 0); +lean_inc(x_61); +if (lean_obj_tag(x_61) == 0) { -lean_object* x_62; -x_62 = lean_ctor_get(x_59, 0); -lean_dec(x_62); -lean_ctor_set(x_59, 0, x_58); -return x_59; +uint8_t x_62; +x_62 = !lean_is_exclusive(x_60); +if (x_62 == 0) +{ +lean_object* x_63; +x_63 = lean_ctor_get(x_60, 0); +lean_dec(x_63); +lean_ctor_set(x_60, 0, x_59); +return x_60; } else { -lean_object* x_63; lean_object* x_64; -x_63 = lean_ctor_get(x_59, 1); -lean_inc(x_63); -lean_dec(x_59); -x_64 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_64, 0, x_58); -lean_ctor_set(x_64, 1, x_63); -return x_64; +lean_object* x_64; lean_object* x_65; +x_64 = lean_ctor_get(x_60, 1); +lean_inc(x_64); +lean_dec(x_60); +x_65 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_65, 0, x_59); +lean_ctor_set(x_65, 1, x_64); +return x_65; } } else { -uint8_t x_65; -x_65 = !lean_is_exclusive(x_60); -if (x_65 == 0) -{ uint8_t x_66; -x_66 = !lean_is_exclusive(x_59); +x_66 = !lean_is_exclusive(x_61); if (x_66 == 0) { -lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; -x_67 = lean_ctor_get(x_60, 0); -x_68 = lean_ctor_get(x_59, 0); -lean_dec(x_68); -x_69 = lean_ctor_get(x_67, 0); -lean_inc(x_69); -x_70 = lean_ctor_get(x_67, 1); +uint8_t x_67; +x_67 = !lean_is_exclusive(x_60); +if (x_67 == 0) +{ +lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; +x_68 = lean_ctor_get(x_61, 0); +x_69 = lean_ctor_get(x_60, 0); +lean_dec(x_69); +x_70 = lean_ctor_get(x_68, 0); lean_inc(x_70); -lean_dec(x_67); -x_71 = lean_box(0); -x_72 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_72, 0, x_70); -lean_ctor_set(x_72, 1, x_71); +x_71 = lean_ctor_get(x_68, 1); +lean_inc(x_71); +lean_dec(x_68); +x_72 = lean_box(0); x_73 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_73, 0, x_69); +lean_ctor_set(x_73, 0, x_71); lean_ctor_set(x_73, 1, x_72); -lean_ctor_set(x_60, 0, x_73); -return x_59; +x_74 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_74, 0, x_70); +lean_ctor_set(x_74, 1, x_73); +lean_ctor_set(x_61, 0, x_74); +return x_60; } else { -lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; -x_74 = lean_ctor_get(x_60, 0); -x_75 = lean_ctor_get(x_59, 1); -lean_inc(x_75); -lean_dec(x_59); -x_76 = lean_ctor_get(x_74, 0); +lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; +x_75 = lean_ctor_get(x_61, 0); +x_76 = lean_ctor_get(x_60, 1); lean_inc(x_76); -x_77 = lean_ctor_get(x_74, 1); -lean_inc(x_77); -lean_dec(x_74); -x_78 = lean_box(0); -x_79 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_79, 0, x_77); -lean_ctor_set(x_79, 1, x_78); -x_80 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_80, 0, x_76); -lean_ctor_set(x_80, 1, x_79); -lean_ctor_set(x_60, 0, x_80); -x_81 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_81, 0, x_60); -lean_ctor_set(x_81, 1, x_75); -return x_81; -} -} -else -{ -lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; -x_82 = lean_ctor_get(x_60, 0); -lean_inc(x_82); lean_dec(x_60); -x_83 = lean_ctor_get(x_59, 1); +x_77 = lean_ctor_get(x_75, 0); +lean_inc(x_77); +x_78 = lean_ctor_get(x_75, 1); +lean_inc(x_78); +lean_dec(x_75); +x_79 = lean_box(0); +x_80 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_80, 0, x_78); +lean_ctor_set(x_80, 1, x_79); +x_81 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_81, 0, x_77); +lean_ctor_set(x_81, 1, x_80); +lean_ctor_set(x_61, 0, x_81); +x_82 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_82, 0, x_61); +lean_ctor_set(x_82, 1, x_76); +return x_82; +} +} +else +{ +lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; +x_83 = lean_ctor_get(x_61, 0); lean_inc(x_83); -if (lean_is_exclusive(x_59)) { - lean_ctor_release(x_59, 0); - lean_ctor_release(x_59, 1); - x_84 = x_59; +lean_dec(x_61); +x_84 = lean_ctor_get(x_60, 1); +lean_inc(x_84); +if (lean_is_exclusive(x_60)) { + lean_ctor_release(x_60, 0); + lean_ctor_release(x_60, 1); + x_85 = x_60; } else { - lean_dec_ref(x_59); - x_84 = lean_box(0); + lean_dec_ref(x_60); + x_85 = lean_box(0); } -x_85 = lean_ctor_get(x_82, 0); -lean_inc(x_85); -x_86 = lean_ctor_get(x_82, 1); +x_86 = lean_ctor_get(x_83, 0); lean_inc(x_86); -lean_dec(x_82); -x_87 = lean_box(0); -x_88 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_88, 0, x_86); -lean_ctor_set(x_88, 1, x_87); +x_87 = lean_ctor_get(x_83, 1); +lean_inc(x_87); +lean_dec(x_83); +x_88 = lean_box(0); x_89 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_89, 0, x_85); +lean_ctor_set(x_89, 0, x_87); lean_ctor_set(x_89, 1, x_88); -x_90 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_90, 0, x_89); -if (lean_is_scalar(x_84)) { - x_91 = lean_alloc_ctor(0, 2, 0); -} else { - x_91 = x_84; -} +x_90 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_90, 0, x_86); +lean_ctor_set(x_90, 1, x_89); +x_91 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_91, 0, x_90); -lean_ctor_set(x_91, 1, x_83); -return x_91; +if (lean_is_scalar(x_85)) { + x_92 = lean_alloc_ctor(0, 2, 0); +} else { + x_92 = x_85; +} +lean_ctor_set(x_92, 0, x_91); +lean_ctor_set(x_92, 1, x_84); +return x_92; } } } else { -uint8_t x_92; -x_92 = !lean_is_exclusive(x_59); -if (x_92 == 0) +uint8_t x_93; +x_93 = !lean_is_exclusive(x_60); +if (x_93 == 0) { -return x_59; +return x_60; } else { -lean_object* x_93; lean_object* x_94; lean_object* x_95; -x_93 = lean_ctor_get(x_59, 0); -x_94 = lean_ctor_get(x_59, 1); +lean_object* x_94; lean_object* x_95; lean_object* x_96; +x_94 = lean_ctor_get(x_60, 0); +x_95 = lean_ctor_get(x_60, 1); +lean_inc(x_95); lean_inc(x_94); -lean_inc(x_93); -lean_dec(x_59); -x_95 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_95, 0, x_93); -lean_ctor_set(x_95, 1, x_94); -return x_95; +lean_dec(x_60); +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_96; lean_object* x_97; +lean_object* x_97; lean_object* x_98; lean_free_object(x_22); lean_dec(x_25); -x_96 = lean_box(0); -x_97 = l_Lean_Meta_splitIfLocalDecl_x3f(x_2, x_1, x_96, x_3, x_4, x_5, x_6, x_19); -if (lean_obj_tag(x_97) == 0) -{ -lean_object* x_98; -x_98 = lean_ctor_get(x_97, 0); -lean_inc(x_98); +x_97 = lean_box(0); +x_98 = l_Lean_Meta_splitIfLocalDecl_x3f(x_2, x_1, x_97, x_3, x_4, x_5, x_6, x_19); if (lean_obj_tag(x_98) == 0) { -uint8_t x_99; -x_99 = !lean_is_exclusive(x_97); -if (x_99 == 0) +lean_object* x_99; +x_99 = lean_ctor_get(x_98, 0); +lean_inc(x_99); +if (lean_obj_tag(x_99) == 0) { -lean_object* x_100; -x_100 = lean_ctor_get(x_97, 0); -lean_dec(x_100); -lean_ctor_set(x_97, 0, x_96); -return x_97; +uint8_t x_100; +x_100 = !lean_is_exclusive(x_98); +if (x_100 == 0) +{ +lean_object* x_101; +x_101 = lean_ctor_get(x_98, 0); +lean_dec(x_101); +lean_ctor_set(x_98, 0, x_97); +return x_98; } else { -lean_object* x_101; lean_object* x_102; -x_101 = lean_ctor_get(x_97, 1); -lean_inc(x_101); -lean_dec(x_97); -x_102 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_102, 0, x_96); -lean_ctor_set(x_102, 1, x_101); -return x_102; +lean_object* x_102; lean_object* x_103; +x_102 = lean_ctor_get(x_98, 1); +lean_inc(x_102); +lean_dec(x_98); +x_103 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_103, 0, x_97); +lean_ctor_set(x_103, 1, x_102); +return x_103; } } else { -uint8_t x_103; -x_103 = !lean_is_exclusive(x_98); -if (x_103 == 0) -{ uint8_t x_104; -x_104 = !lean_is_exclusive(x_97); +x_104 = !lean_is_exclusive(x_99); if (x_104 == 0) { -lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; -x_105 = lean_ctor_get(x_98, 0); -x_106 = lean_ctor_get(x_97, 0); -lean_dec(x_106); -x_107 = lean_ctor_get(x_105, 0); -lean_inc(x_107); -x_108 = lean_ctor_get(x_105, 1); +uint8_t x_105; +x_105 = !lean_is_exclusive(x_98); +if (x_105 == 0) +{ +lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; +x_106 = lean_ctor_get(x_99, 0); +x_107 = lean_ctor_get(x_98, 0); +lean_dec(x_107); +x_108 = lean_ctor_get(x_106, 0); lean_inc(x_108); -lean_dec(x_105); -x_109 = lean_box(0); -x_110 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_110, 0, x_108); -lean_ctor_set(x_110, 1, x_109); +x_109 = lean_ctor_get(x_106, 1); +lean_inc(x_109); +lean_dec(x_106); +x_110 = lean_box(0); x_111 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_111, 0, x_107); +lean_ctor_set(x_111, 0, x_109); lean_ctor_set(x_111, 1, x_110); -lean_ctor_set(x_98, 0, x_111); -return x_97; +x_112 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_112, 0, x_108); +lean_ctor_set(x_112, 1, x_111); +lean_ctor_set(x_99, 0, x_112); +return x_98; } else { -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; -x_112 = lean_ctor_get(x_98, 0); -x_113 = lean_ctor_get(x_97, 1); -lean_inc(x_113); -lean_dec(x_97); -x_114 = lean_ctor_get(x_112, 0); +lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; +x_113 = lean_ctor_get(x_99, 0); +x_114 = lean_ctor_get(x_98, 1); lean_inc(x_114); -x_115 = lean_ctor_get(x_112, 1); -lean_inc(x_115); -lean_dec(x_112); -x_116 = lean_box(0); -x_117 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_117, 0, x_115); -lean_ctor_set(x_117, 1, x_116); -x_118 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_118, 0, x_114); -lean_ctor_set(x_118, 1, x_117); -lean_ctor_set(x_98, 0, x_118); -x_119 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_119, 0, x_98); -lean_ctor_set(x_119, 1, x_113); -return x_119; -} -} -else -{ -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_120 = lean_ctor_get(x_98, 0); -lean_inc(x_120); lean_dec(x_98); -x_121 = lean_ctor_get(x_97, 1); +x_115 = lean_ctor_get(x_113, 0); +lean_inc(x_115); +x_116 = lean_ctor_get(x_113, 1); +lean_inc(x_116); +lean_dec(x_113); +x_117 = lean_box(0); +x_118 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_118, 0, x_116); +lean_ctor_set(x_118, 1, x_117); +x_119 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_119, 0, x_115); +lean_ctor_set(x_119, 1, x_118); +lean_ctor_set(x_99, 0, x_119); +x_120 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_120, 0, x_99); +lean_ctor_set(x_120, 1, x_114); +return x_120; +} +} +else +{ +lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; +x_121 = lean_ctor_get(x_99, 0); lean_inc(x_121); -if (lean_is_exclusive(x_97)) { - lean_ctor_release(x_97, 0); - lean_ctor_release(x_97, 1); - x_122 = x_97; +lean_dec(x_99); +x_122 = lean_ctor_get(x_98, 1); +lean_inc(x_122); +if (lean_is_exclusive(x_98)) { + lean_ctor_release(x_98, 0); + lean_ctor_release(x_98, 1); + x_123 = x_98; } else { - lean_dec_ref(x_97); - x_122 = lean_box(0); + lean_dec_ref(x_98); + x_123 = lean_box(0); } -x_123 = lean_ctor_get(x_120, 0); -lean_inc(x_123); -x_124 = lean_ctor_get(x_120, 1); +x_124 = lean_ctor_get(x_121, 0); lean_inc(x_124); -lean_dec(x_120); -x_125 = lean_box(0); -x_126 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_126, 0, x_124); -lean_ctor_set(x_126, 1, x_125); +x_125 = lean_ctor_get(x_121, 1); +lean_inc(x_125); +lean_dec(x_121); +x_126 = lean_box(0); x_127 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_127, 0, x_123); +lean_ctor_set(x_127, 0, x_125); lean_ctor_set(x_127, 1, x_126); -x_128 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_128, 0, x_127); -if (lean_is_scalar(x_122)) { - x_129 = lean_alloc_ctor(0, 2, 0); -} else { - x_129 = x_122; -} +x_128 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_128, 0, x_124); +lean_ctor_set(x_128, 1, x_127); +x_129 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_129, 0, x_128); -lean_ctor_set(x_129, 1, x_121); -return x_129; +if (lean_is_scalar(x_123)) { + x_130 = lean_alloc_ctor(0, 2, 0); +} else { + x_130 = x_123; +} +lean_ctor_set(x_130, 0, x_129); +lean_ctor_set(x_130, 1, x_122); +return x_130; } } } else { -uint8_t x_130; -x_130 = !lean_is_exclusive(x_97); -if (x_130 == 0) +uint8_t x_131; +x_131 = !lean_is_exclusive(x_98); +if (x_131 == 0) { -return x_97; +return x_98; } else { -lean_object* x_131; lean_object* x_132; lean_object* x_133; -x_131 = lean_ctor_get(x_97, 0); -x_132 = lean_ctor_get(x_97, 1); +lean_object* x_132; lean_object* x_133; lean_object* x_134; +x_132 = lean_ctor_get(x_98, 0); +x_133 = lean_ctor_get(x_98, 1); +lean_inc(x_133); lean_inc(x_132); -lean_inc(x_131); -lean_dec(x_97); -x_133 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_133, 0, x_131); -lean_ctor_set(x_133, 1, x_132); -return x_133; +lean_dec(x_98); +x_134 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_134, 0, x_132); +lean_ctor_set(x_134, 1, x_133); +return x_134; } } } } else { -lean_object* x_134; uint8_t x_135; -x_134 = lean_ctor_get(x_22, 0); -lean_inc(x_134); +lean_object* x_135; uint8_t x_136; +x_135 = lean_ctor_get(x_22, 0); +lean_inc(x_135); lean_dec(x_22); -x_135 = l_Lean_Expr_isIte(x_134); -if (x_135 == 0) -{ -uint8_t x_136; -x_136 = l_Lean_Expr_isDIte(x_134); +x_136 = l_Lean_Expr_isIte(x_135); if (x_136 == 0) { -lean_object* x_137; lean_object* x_138; uint8_t x_139; lean_object* x_140; -x_137 = l_Lean_Meta_splitLocalDecl_x3f___lambda__1___closed__1; -x_138 = lean_array_push(x_137, x_1); -x_139 = 0; +uint8_t x_137; +x_137 = l_Lean_Expr_isDIte(x_135); +if (x_137 == 0) +{ +lean_object* x_138; lean_object* x_139; uint8_t x_140; lean_object* x_141; +x_138 = l_Lean_Meta_splitLocalDecl_x3f___lambda__1___closed__1; +x_139 = lean_array_push(x_138, x_1); +x_140 = 0; lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -x_140 = l_Lean_MVarId_revert(x_2, x_138, x_139, x_3, x_4, x_5, x_6, x_19); -if (lean_obj_tag(x_140) == 0) +x_141 = l_Lean_MVarId_revert(x_2, x_139, x_140, x_3, x_4, x_5, x_6, x_19); +if (lean_obj_tag(x_141) == 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; -x_141 = lean_ctor_get(x_140, 0); -lean_inc(x_141); -x_142 = lean_ctor_get(x_140, 1); +lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; +x_142 = lean_ctor_get(x_141, 0); lean_inc(x_142); -lean_dec(x_140); -x_143 = lean_ctor_get(x_141, 0); +x_143 = lean_ctor_get(x_141, 1); lean_inc(x_143); -x_144 = lean_ctor_get(x_141, 1); -lean_inc(x_144); lean_dec(x_141); -x_145 = lean_array_get_size(x_143); -lean_dec(x_143); +x_144 = lean_ctor_get(x_142, 0); +lean_inc(x_144); +x_145 = lean_ctor_get(x_142, 1); +lean_inc(x_145); +lean_dec(x_142); +x_146 = lean_array_get_size(x_144); +lean_dec(x_144); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -x_146 = l_Lean_Meta_Split_splitMatch(x_144, x_134, x_3, x_4, x_5, x_6, x_142); -if (lean_obj_tag(x_146) == 0) +x_147 = l_Lean_Meta_Split_splitMatch(x_145, x_135, x_3, x_4, x_5, x_6, x_143); +if (lean_obj_tag(x_147) == 0) { -lean_object* x_147; lean_object* x_148; lean_object* x_149; -x_147 = lean_ctor_get(x_146, 0); -lean_inc(x_147); -x_148 = lean_ctor_get(x_146, 1); +lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; +x_148 = lean_ctor_get(x_147, 0); lean_inc(x_148); +x_149 = lean_ctor_get(x_147, 1); +lean_inc(x_149); +lean_dec(x_147); +x_150 = lean_box(0); +x_151 = l_List_mapM_loop___at_Lean_Meta_splitLocalDecl_x3f___spec__1(x_146, x_148, x_150, x_3, x_4, x_5, x_6, x_149); +if (lean_obj_tag(x_151) == 0) +{ +lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; +x_152 = lean_ctor_get(x_151, 0); +lean_inc(x_152); +x_153 = lean_ctor_get(x_151, 1); +lean_inc(x_153); +if (lean_is_exclusive(x_151)) { + lean_ctor_release(x_151, 0); + lean_ctor_release(x_151, 1); + x_154 = x_151; +} else { + lean_dec_ref(x_151); + x_154 = lean_box(0); +} +x_155 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_155, 0, x_152); +if (lean_is_scalar(x_154)) { + x_156 = lean_alloc_ctor(0, 2, 0); +} else { + x_156 = x_154; +} +lean_ctor_set(x_156, 0, x_155); +lean_ctor_set(x_156, 1, x_153); +return x_156; +} +else +{ +lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; +x_157 = lean_ctor_get(x_151, 0); +lean_inc(x_157); +x_158 = lean_ctor_get(x_151, 1); +lean_inc(x_158); +if (lean_is_exclusive(x_151)) { + lean_ctor_release(x_151, 0); + lean_ctor_release(x_151, 1); + x_159 = x_151; +} else { + lean_dec_ref(x_151); + x_159 = lean_box(0); +} +if (lean_is_scalar(x_159)) { + x_160 = lean_alloc_ctor(1, 2, 0); +} else { + x_160 = x_159; +} +lean_ctor_set(x_160, 0, x_157); +lean_ctor_set(x_160, 1, x_158); +return x_160; +} +} +else +{ +lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_dec(x_146); -x_149 = l_List_mapM___at_Lean_Meta_splitLocalDecl_x3f___spec__1(x_145, x_147, x_3, x_4, x_5, x_6, x_148); -if (lean_obj_tag(x_149) == 0) -{ -lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; -x_150 = lean_ctor_get(x_149, 0); -lean_inc(x_150); -x_151 = lean_ctor_get(x_149, 1); -lean_inc(x_151); -if (lean_is_exclusive(x_149)) { - lean_ctor_release(x_149, 0); - lean_ctor_release(x_149, 1); - x_152 = x_149; -} else { - lean_dec_ref(x_149); - x_152 = lean_box(0); -} -x_153 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_153, 0, x_150); -if (lean_is_scalar(x_152)) { - x_154 = lean_alloc_ctor(0, 2, 0); -} else { - x_154 = x_152; -} -lean_ctor_set(x_154, 0, x_153); -lean_ctor_set(x_154, 1, x_151); -return x_154; -} -else -{ -lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; -x_155 = lean_ctor_get(x_149, 0); -lean_inc(x_155); -x_156 = lean_ctor_get(x_149, 1); -lean_inc(x_156); -if (lean_is_exclusive(x_149)) { - lean_ctor_release(x_149, 0); - lean_ctor_release(x_149, 1); - x_157 = x_149; -} else { - lean_dec_ref(x_149); - x_157 = lean_box(0); -} -if (lean_is_scalar(x_157)) { - x_158 = lean_alloc_ctor(1, 2, 0); -} else { - x_158 = x_157; -} -lean_ctor_set(x_158, 0, x_155); -lean_ctor_set(x_158, 1, x_156); -return x_158; -} -} -else -{ -lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; -lean_dec(x_145); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_159 = lean_ctor_get(x_146, 0); -lean_inc(x_159); -x_160 = lean_ctor_get(x_146, 1); -lean_inc(x_160); -if (lean_is_exclusive(x_146)) { - lean_ctor_release(x_146, 0); - lean_ctor_release(x_146, 1); - x_161 = x_146; +x_161 = lean_ctor_get(x_147, 0); +lean_inc(x_161); +x_162 = lean_ctor_get(x_147, 1); +lean_inc(x_162); +if (lean_is_exclusive(x_147)) { + lean_ctor_release(x_147, 0); + lean_ctor_release(x_147, 1); + x_163 = x_147; } else { - lean_dec_ref(x_146); - x_161 = lean_box(0); + lean_dec_ref(x_147); + x_163 = lean_box(0); } -if (lean_is_scalar(x_161)) { - x_162 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_163)) { + x_164 = lean_alloc_ctor(1, 2, 0); } else { - x_162 = x_161; + x_164 = x_163; } -lean_ctor_set(x_162, 0, x_159); -lean_ctor_set(x_162, 1, x_160); -return x_162; +lean_ctor_set(x_164, 0, x_161); +lean_ctor_set(x_164, 1, x_162); +return x_164; } } else { -lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; -lean_dec(x_134); +lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; +lean_dec(x_135); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_163 = lean_ctor_get(x_140, 0); -lean_inc(x_163); -x_164 = lean_ctor_get(x_140, 1); -lean_inc(x_164); -if (lean_is_exclusive(x_140)) { - lean_ctor_release(x_140, 0); - lean_ctor_release(x_140, 1); - x_165 = x_140; +x_165 = lean_ctor_get(x_141, 0); +lean_inc(x_165); +x_166 = lean_ctor_get(x_141, 1); +lean_inc(x_166); +if (lean_is_exclusive(x_141)) { + lean_ctor_release(x_141, 0); + lean_ctor_release(x_141, 1); + x_167 = x_141; } else { - lean_dec_ref(x_140); - x_165 = lean_box(0); + lean_dec_ref(x_141); + x_167 = lean_box(0); } -if (lean_is_scalar(x_165)) { - x_166 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_167)) { + x_168 = lean_alloc_ctor(1, 2, 0); } else { - x_166 = x_165; + x_168 = x_167; } -lean_ctor_set(x_166, 0, x_163); -lean_ctor_set(x_166, 1, x_164); -return x_166; +lean_ctor_set(x_168, 0, x_165); +lean_ctor_set(x_168, 1, x_166); +return x_168; } } else { -lean_object* x_167; lean_object* x_168; -lean_dec(x_134); -x_167 = lean_box(0); -x_168 = l_Lean_Meta_splitIfLocalDecl_x3f(x_2, x_1, x_167, x_3, x_4, x_5, x_6, x_19); -if (lean_obj_tag(x_168) == 0) +lean_object* x_169; lean_object* x_170; +lean_dec(x_135); +x_169 = lean_box(0); +x_170 = l_Lean_Meta_splitIfLocalDecl_x3f(x_2, x_1, x_169, x_3, x_4, x_5, x_6, x_19); +if (lean_obj_tag(x_170) == 0) { -lean_object* x_169; -x_169 = lean_ctor_get(x_168, 0); -lean_inc(x_169); -if (lean_obj_tag(x_169) == 0) +lean_object* x_171; +x_171 = lean_ctor_get(x_170, 0); +lean_inc(x_171); +if (lean_obj_tag(x_171) == 0) { -lean_object* x_170; lean_object* x_171; lean_object* x_172; -x_170 = lean_ctor_get(x_168, 1); -lean_inc(x_170); -if (lean_is_exclusive(x_168)) { - lean_ctor_release(x_168, 0); - lean_ctor_release(x_168, 1); - x_171 = x_168; +lean_object* x_172; lean_object* x_173; lean_object* x_174; +x_172 = lean_ctor_get(x_170, 1); +lean_inc(x_172); +if (lean_is_exclusive(x_170)) { + lean_ctor_release(x_170, 0); + lean_ctor_release(x_170, 1); + x_173 = x_170; } else { - lean_dec_ref(x_168); - x_171 = lean_box(0); + lean_dec_ref(x_170); + x_173 = lean_box(0); } -if (lean_is_scalar(x_171)) { - x_172 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_173)) { + x_174 = lean_alloc_ctor(0, 2, 0); } else { - x_172 = x_171; + x_174 = x_173; } -lean_ctor_set(x_172, 0, x_167); -lean_ctor_set(x_172, 1, x_170); -return x_172; +lean_ctor_set(x_174, 0, x_169); +lean_ctor_set(x_174, 1, x_172); +return x_174; } else { -lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; -x_173 = lean_ctor_get(x_169, 0); -lean_inc(x_173); -if (lean_is_exclusive(x_169)) { - lean_ctor_release(x_169, 0); - x_174 = x_169; -} else { - lean_dec_ref(x_169); - x_174 = lean_box(0); -} -x_175 = lean_ctor_get(x_168, 1); +lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; +x_175 = lean_ctor_get(x_171, 0); lean_inc(x_175); -if (lean_is_exclusive(x_168)) { - lean_ctor_release(x_168, 0); - lean_ctor_release(x_168, 1); - x_176 = x_168; +if (lean_is_exclusive(x_171)) { + lean_ctor_release(x_171, 0); + x_176 = x_171; } else { - lean_dec_ref(x_168); + lean_dec_ref(x_171); x_176 = lean_box(0); } -x_177 = lean_ctor_get(x_173, 0); +x_177 = lean_ctor_get(x_170, 1); lean_inc(x_177); -x_178 = lean_ctor_get(x_173, 1); -lean_inc(x_178); -lean_dec(x_173); -x_179 = lean_box(0); -x_180 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_180, 0, x_178); -lean_ctor_set(x_180, 1, x_179); -x_181 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_181, 0, x_177); -lean_ctor_set(x_181, 1, x_180); -if (lean_is_scalar(x_174)) { - x_182 = lean_alloc_ctor(1, 1, 0); +if (lean_is_exclusive(x_170)) { + lean_ctor_release(x_170, 0); + lean_ctor_release(x_170, 1); + x_178 = x_170; } else { - x_182 = x_174; + lean_dec_ref(x_170); + x_178 = lean_box(0); } -lean_ctor_set(x_182, 0, x_181); +x_179 = lean_ctor_get(x_175, 0); +lean_inc(x_179); +x_180 = lean_ctor_get(x_175, 1); +lean_inc(x_180); +lean_dec(x_175); +x_181 = lean_box(0); +x_182 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_182, 0, x_180); +lean_ctor_set(x_182, 1, x_181); +x_183 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_183, 0, x_179); +lean_ctor_set(x_183, 1, x_182); if (lean_is_scalar(x_176)) { - x_183 = lean_alloc_ctor(0, 2, 0); + x_184 = lean_alloc_ctor(1, 1, 0); } else { - x_183 = x_176; + x_184 = x_176; } -lean_ctor_set(x_183, 0, x_182); -lean_ctor_set(x_183, 1, x_175); -return x_183; +lean_ctor_set(x_184, 0, x_183); +if (lean_is_scalar(x_178)) { + x_185 = lean_alloc_ctor(0, 2, 0); +} else { + x_185 = x_178; +} +lean_ctor_set(x_185, 0, x_184); +lean_ctor_set(x_185, 1, x_177); +return x_185; } } else { -lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; -x_184 = lean_ctor_get(x_168, 0); -lean_inc(x_184); -x_185 = lean_ctor_get(x_168, 1); -lean_inc(x_185); -if (lean_is_exclusive(x_168)) { - lean_ctor_release(x_168, 0); - lean_ctor_release(x_168, 1); - x_186 = x_168; +lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; +x_186 = lean_ctor_get(x_170, 0); +lean_inc(x_186); +x_187 = lean_ctor_get(x_170, 1); +lean_inc(x_187); +if (lean_is_exclusive(x_170)) { + lean_ctor_release(x_170, 0); + lean_ctor_release(x_170, 1); + x_188 = x_170; } else { - lean_dec_ref(x_168); - x_186 = lean_box(0); + lean_dec_ref(x_170); + x_188 = lean_box(0); } -if (lean_is_scalar(x_186)) { - x_187 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_188)) { + x_189 = lean_alloc_ctor(1, 2, 0); } else { - x_187 = x_186; + x_189 = x_188; } -lean_ctor_set(x_187, 0, x_184); -lean_ctor_set(x_187, 1, x_185); -return x_187; +lean_ctor_set(x_189, 0, x_186); +lean_ctor_set(x_189, 1, x_187); +return x_189; } } } else { -lean_object* x_188; lean_object* x_189; -lean_dec(x_134); -x_188 = lean_box(0); -x_189 = l_Lean_Meta_splitIfLocalDecl_x3f(x_2, x_1, x_188, x_3, x_4, x_5, x_6, x_19); -if (lean_obj_tag(x_189) == 0) +lean_object* x_190; lean_object* x_191; +lean_dec(x_135); +x_190 = lean_box(0); +x_191 = l_Lean_Meta_splitIfLocalDecl_x3f(x_2, x_1, x_190, x_3, x_4, x_5, x_6, x_19); +if (lean_obj_tag(x_191) == 0) { -lean_object* x_190; -x_190 = lean_ctor_get(x_189, 0); -lean_inc(x_190); -if (lean_obj_tag(x_190) == 0) +lean_object* x_192; +x_192 = lean_ctor_get(x_191, 0); +lean_inc(x_192); +if (lean_obj_tag(x_192) == 0) { -lean_object* x_191; lean_object* x_192; lean_object* x_193; -x_191 = lean_ctor_get(x_189, 1); -lean_inc(x_191); -if (lean_is_exclusive(x_189)) { - lean_ctor_release(x_189, 0); - lean_ctor_release(x_189, 1); - x_192 = x_189; +lean_object* x_193; lean_object* x_194; lean_object* x_195; +x_193 = lean_ctor_get(x_191, 1); +lean_inc(x_193); +if (lean_is_exclusive(x_191)) { + lean_ctor_release(x_191, 0); + lean_ctor_release(x_191, 1); + x_194 = x_191; } else { - lean_dec_ref(x_189); - x_192 = lean_box(0); + lean_dec_ref(x_191); + x_194 = lean_box(0); } -if (lean_is_scalar(x_192)) { - x_193 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_194)) { + x_195 = lean_alloc_ctor(0, 2, 0); } else { - x_193 = x_192; + x_195 = x_194; } -lean_ctor_set(x_193, 0, x_188); -lean_ctor_set(x_193, 1, x_191); -return x_193; +lean_ctor_set(x_195, 0, x_190); +lean_ctor_set(x_195, 1, x_193); +return x_195; } else { -lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; -x_194 = lean_ctor_get(x_190, 0); -lean_inc(x_194); -if (lean_is_exclusive(x_190)) { - lean_ctor_release(x_190, 0); - x_195 = x_190; -} else { - lean_dec_ref(x_190); - x_195 = lean_box(0); -} -x_196 = lean_ctor_get(x_189, 1); +lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; +x_196 = lean_ctor_get(x_192, 0); lean_inc(x_196); -if (lean_is_exclusive(x_189)) { - lean_ctor_release(x_189, 0); - lean_ctor_release(x_189, 1); - x_197 = x_189; +if (lean_is_exclusive(x_192)) { + lean_ctor_release(x_192, 0); + x_197 = x_192; } else { - lean_dec_ref(x_189); + lean_dec_ref(x_192); x_197 = lean_box(0); } -x_198 = lean_ctor_get(x_194, 0); +x_198 = lean_ctor_get(x_191, 1); lean_inc(x_198); -x_199 = lean_ctor_get(x_194, 1); -lean_inc(x_199); -lean_dec(x_194); -x_200 = lean_box(0); -x_201 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_201, 0, x_199); -lean_ctor_set(x_201, 1, x_200); -x_202 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_202, 0, x_198); -lean_ctor_set(x_202, 1, x_201); -if (lean_is_scalar(x_195)) { - x_203 = lean_alloc_ctor(1, 1, 0); +if (lean_is_exclusive(x_191)) { + lean_ctor_release(x_191, 0); + lean_ctor_release(x_191, 1); + x_199 = x_191; } else { - x_203 = x_195; + lean_dec_ref(x_191); + x_199 = lean_box(0); } -lean_ctor_set(x_203, 0, x_202); +x_200 = lean_ctor_get(x_196, 0); +lean_inc(x_200); +x_201 = lean_ctor_get(x_196, 1); +lean_inc(x_201); +lean_dec(x_196); +x_202 = lean_box(0); +x_203 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_203, 0, x_201); +lean_ctor_set(x_203, 1, x_202); +x_204 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_204, 0, x_200); +lean_ctor_set(x_204, 1, x_203); if (lean_is_scalar(x_197)) { - x_204 = lean_alloc_ctor(0, 2, 0); + x_205 = lean_alloc_ctor(1, 1, 0); } else { - x_204 = x_197; + x_205 = x_197; } -lean_ctor_set(x_204, 0, x_203); -lean_ctor_set(x_204, 1, x_196); -return x_204; +lean_ctor_set(x_205, 0, x_204); +if (lean_is_scalar(x_199)) { + x_206 = lean_alloc_ctor(0, 2, 0); +} else { + x_206 = x_199; +} +lean_ctor_set(x_206, 0, x_205); +lean_ctor_set(x_206, 1, x_198); +return x_206; } } else { -lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; -x_205 = lean_ctor_get(x_189, 0); -lean_inc(x_205); -x_206 = lean_ctor_get(x_189, 1); -lean_inc(x_206); -if (lean_is_exclusive(x_189)) { - lean_ctor_release(x_189, 0); - lean_ctor_release(x_189, 1); - x_207 = x_189; +lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; +x_207 = lean_ctor_get(x_191, 0); +lean_inc(x_207); +x_208 = lean_ctor_get(x_191, 1); +lean_inc(x_208); +if (lean_is_exclusive(x_191)) { + lean_ctor_release(x_191, 0); + lean_ctor_release(x_191, 1); + x_209 = x_191; } else { - lean_dec_ref(x_189); - x_207 = lean_box(0); + lean_dec_ref(x_191); + x_209 = lean_box(0); } -if (lean_is_scalar(x_207)) { - x_208 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_209)) { + x_210 = lean_alloc_ctor(1, 2, 0); } else { - x_208 = x_207; + x_210 = x_209; } -lean_ctor_set(x_208, 0, x_205); -lean_ctor_set(x_208, 1, x_206); -return x_208; +lean_ctor_set(x_210, 0, x_207); +lean_ctor_set(x_210, 1, x_208); +return x_210; } } } @@ -11881,422 +11796,423 @@ return x_208; } else { -lean_object* x_209; lean_object* x_210; uint8_t x_211; lean_object* x_212; lean_object* x_213; -x_209 = lean_ctor_get(x_16, 0); -x_210 = lean_ctor_get(x_16, 1); -lean_inc(x_210); -lean_inc(x_209); +lean_object* x_211; lean_object* x_212; uint8_t x_213; lean_object* x_214; lean_object* x_215; +x_211 = lean_ctor_get(x_16, 0); +x_212 = lean_ctor_get(x_16, 1); +lean_inc(x_212); +lean_inc(x_211); lean_dec(x_16); -x_211 = 1; -x_212 = l_Lean_commitWhenSome_x3f___at_Lean_Meta_splitTarget_x3f___spec__1___at_Lean_Meta_splitTarget_x3f___spec__2___closed__1; -x_213 = l_Lean_Meta_Split_findSplit_x3f_go(x_11, x_211, x_212, x_209); -if (lean_obj_tag(x_213) == 0) +x_213 = 1; +x_214 = l_Lean_commitWhenSome_x3f___at_Lean_Meta_splitTarget_x3f___spec__1___at_Lean_Meta_splitTarget_x3f___spec__2___closed__1; +x_215 = l_Lean_Meta_Split_findSplit_x3f_go(x_11, x_213, x_214, x_211); +if (lean_obj_tag(x_215) == 0) { -lean_object* x_214; lean_object* x_215; +lean_object* x_216; lean_object* x_217; 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_214 = lean_box(0); -x_215 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_215, 0, x_214); -lean_ctor_set(x_215, 1, x_210); -return x_215; +x_216 = lean_box(0); +x_217 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_217, 0, x_216); +lean_ctor_set(x_217, 1, x_212); +return x_217; } else { -lean_object* x_216; lean_object* x_217; uint8_t x_218; -x_216 = lean_ctor_get(x_213, 0); -lean_inc(x_216); -if (lean_is_exclusive(x_213)) { - lean_ctor_release(x_213, 0); - x_217 = x_213; +lean_object* x_218; lean_object* x_219; uint8_t x_220; +x_218 = lean_ctor_get(x_215, 0); +lean_inc(x_218); +if (lean_is_exclusive(x_215)) { + lean_ctor_release(x_215, 0); + x_219 = x_215; } else { - lean_dec_ref(x_213); - x_217 = lean_box(0); + lean_dec_ref(x_215); + x_219 = lean_box(0); } -x_218 = l_Lean_Expr_isIte(x_216); -if (x_218 == 0) +x_220 = l_Lean_Expr_isIte(x_218); +if (x_220 == 0) { -uint8_t x_219; -x_219 = l_Lean_Expr_isDIte(x_216); -if (x_219 == 0) +uint8_t x_221; +x_221 = l_Lean_Expr_isDIte(x_218); +if (x_221 == 0) { -lean_object* x_220; lean_object* x_221; uint8_t x_222; lean_object* x_223; -x_220 = l_Lean_Meta_splitLocalDecl_x3f___lambda__1___closed__1; -x_221 = lean_array_push(x_220, x_1); -x_222 = 0; +lean_object* x_222; lean_object* x_223; uint8_t x_224; lean_object* x_225; +x_222 = l_Lean_Meta_splitLocalDecl_x3f___lambda__1___closed__1; +x_223 = lean_array_push(x_222, x_1); +x_224 = 0; lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -x_223 = l_Lean_MVarId_revert(x_2, x_221, x_222, x_3, x_4, x_5, x_6, x_210); -if (lean_obj_tag(x_223) == 0) +x_225 = l_Lean_MVarId_revert(x_2, x_223, x_224, x_3, x_4, x_5, x_6, x_212); +if (lean_obj_tag(x_225) == 0) { -lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; -x_224 = lean_ctor_get(x_223, 0); -lean_inc(x_224); -x_225 = lean_ctor_get(x_223, 1); -lean_inc(x_225); -lean_dec(x_223); -x_226 = lean_ctor_get(x_224, 0); +lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; +x_226 = lean_ctor_get(x_225, 0); lean_inc(x_226); -x_227 = lean_ctor_get(x_224, 1); +x_227 = lean_ctor_get(x_225, 1); lean_inc(x_227); -lean_dec(x_224); -x_228 = lean_array_get_size(x_226); +lean_dec(x_225); +x_228 = lean_ctor_get(x_226, 0); +lean_inc(x_228); +x_229 = lean_ctor_get(x_226, 1); +lean_inc(x_229); lean_dec(x_226); +x_230 = lean_array_get_size(x_228); +lean_dec(x_228); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -x_229 = l_Lean_Meta_Split_splitMatch(x_227, x_216, x_3, x_4, x_5, x_6, x_225); -if (lean_obj_tag(x_229) == 0) +x_231 = l_Lean_Meta_Split_splitMatch(x_229, x_218, x_3, x_4, x_5, x_6, x_227); +if (lean_obj_tag(x_231) == 0) { -lean_object* x_230; lean_object* x_231; lean_object* x_232; -x_230 = lean_ctor_get(x_229, 0); -lean_inc(x_230); -x_231 = lean_ctor_get(x_229, 1); -lean_inc(x_231); -lean_dec(x_229); -x_232 = l_List_mapM___at_Lean_Meta_splitLocalDecl_x3f___spec__1(x_228, x_230, x_3, x_4, x_5, x_6, x_231); -if (lean_obj_tag(x_232) == 0) -{ -lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; -x_233 = lean_ctor_get(x_232, 0); +lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; +x_232 = lean_ctor_get(x_231, 0); +lean_inc(x_232); +x_233 = lean_ctor_get(x_231, 1); lean_inc(x_233); -x_234 = lean_ctor_get(x_232, 1); -lean_inc(x_234); -if (lean_is_exclusive(x_232)) { - lean_ctor_release(x_232, 0); - lean_ctor_release(x_232, 1); - x_235 = x_232; +lean_dec(x_231); +x_234 = lean_box(0); +x_235 = l_List_mapM_loop___at_Lean_Meta_splitLocalDecl_x3f___spec__1(x_230, x_232, x_234, x_3, x_4, x_5, x_6, x_233); +if (lean_obj_tag(x_235) == 0) +{ +lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; +x_236 = lean_ctor_get(x_235, 0); +lean_inc(x_236); +x_237 = lean_ctor_get(x_235, 1); +lean_inc(x_237); +if (lean_is_exclusive(x_235)) { + lean_ctor_release(x_235, 0); + lean_ctor_release(x_235, 1); + x_238 = x_235; } else { - lean_dec_ref(x_232); - x_235 = lean_box(0); + lean_dec_ref(x_235); + x_238 = lean_box(0); } -if (lean_is_scalar(x_217)) { - x_236 = lean_alloc_ctor(1, 1, 0); +if (lean_is_scalar(x_219)) { + x_239 = lean_alloc_ctor(1, 1, 0); } else { - x_236 = x_217; + x_239 = x_219; } -lean_ctor_set(x_236, 0, x_233); -if (lean_is_scalar(x_235)) { - x_237 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_239, 0, x_236); +if (lean_is_scalar(x_238)) { + x_240 = lean_alloc_ctor(0, 2, 0); } else { - x_237 = x_235; + x_240 = x_238; } -lean_ctor_set(x_237, 0, x_236); -lean_ctor_set(x_237, 1, x_234); -return x_237; +lean_ctor_set(x_240, 0, x_239); +lean_ctor_set(x_240, 1, x_237); +return x_240; } else { -lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; -lean_dec(x_217); -x_238 = lean_ctor_get(x_232, 0); -lean_inc(x_238); -x_239 = lean_ctor_get(x_232, 1); -lean_inc(x_239); -if (lean_is_exclusive(x_232)) { - lean_ctor_release(x_232, 0); - lean_ctor_release(x_232, 1); - x_240 = x_232; -} else { - lean_dec_ref(x_232); - x_240 = lean_box(0); -} -if (lean_is_scalar(x_240)) { - x_241 = lean_alloc_ctor(1, 2, 0); -} else { - x_241 = x_240; -} -lean_ctor_set(x_241, 0, x_238); -lean_ctor_set(x_241, 1, x_239); -return x_241; -} -} -else -{ -lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; -lean_dec(x_228); -lean_dec(x_217); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_242 = lean_ctor_get(x_229, 0); +lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; +lean_dec(x_219); +x_241 = lean_ctor_get(x_235, 0); +lean_inc(x_241); +x_242 = lean_ctor_get(x_235, 1); lean_inc(x_242); -x_243 = lean_ctor_get(x_229, 1); -lean_inc(x_243); -if (lean_is_exclusive(x_229)) { - lean_ctor_release(x_229, 0); - lean_ctor_release(x_229, 1); - x_244 = x_229; +if (lean_is_exclusive(x_235)) { + lean_ctor_release(x_235, 0); + lean_ctor_release(x_235, 1); + x_243 = x_235; } else { - lean_dec_ref(x_229); - x_244 = lean_box(0); + lean_dec_ref(x_235); + x_243 = lean_box(0); } -if (lean_is_scalar(x_244)) { - x_245 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_243)) { + x_244 = lean_alloc_ctor(1, 2, 0); } else { - x_245 = x_244; + x_244 = x_243; } -lean_ctor_set(x_245, 0, x_242); -lean_ctor_set(x_245, 1, x_243); -return x_245; +lean_ctor_set(x_244, 0, x_241); +lean_ctor_set(x_244, 1, x_242); +return x_244; } } else { -lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; -lean_dec(x_217); -lean_dec(x_216); +lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; +lean_dec(x_230); +lean_dec(x_219); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_246 = lean_ctor_get(x_223, 0); +x_245 = lean_ctor_get(x_231, 0); +lean_inc(x_245); +x_246 = lean_ctor_get(x_231, 1); lean_inc(x_246); -x_247 = lean_ctor_get(x_223, 1); -lean_inc(x_247); -if (lean_is_exclusive(x_223)) { - lean_ctor_release(x_223, 0); - lean_ctor_release(x_223, 1); - x_248 = x_223; +if (lean_is_exclusive(x_231)) { + lean_ctor_release(x_231, 0); + lean_ctor_release(x_231, 1); + x_247 = x_231; } else { - lean_dec_ref(x_223); - x_248 = lean_box(0); + lean_dec_ref(x_231); + x_247 = lean_box(0); } -if (lean_is_scalar(x_248)) { - x_249 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_247)) { + x_248 = lean_alloc_ctor(1, 2, 0); } else { - x_249 = x_248; + x_248 = x_247; } -lean_ctor_set(x_249, 0, x_246); -lean_ctor_set(x_249, 1, x_247); -return x_249; +lean_ctor_set(x_248, 0, x_245); +lean_ctor_set(x_248, 1, x_246); +return x_248; } } else { -lean_object* x_250; lean_object* x_251; -lean_dec(x_217); -lean_dec(x_216); -x_250 = lean_box(0); -x_251 = l_Lean_Meta_splitIfLocalDecl_x3f(x_2, x_1, x_250, x_3, x_4, x_5, x_6, x_210); -if (lean_obj_tag(x_251) == 0) -{ -lean_object* x_252; -x_252 = lean_ctor_get(x_251, 0); -lean_inc(x_252); -if (lean_obj_tag(x_252) == 0) -{ -lean_object* x_253; lean_object* x_254; lean_object* x_255; -x_253 = lean_ctor_get(x_251, 1); -lean_inc(x_253); -if (lean_is_exclusive(x_251)) { - lean_ctor_release(x_251, 0); - lean_ctor_release(x_251, 1); - x_254 = x_251; +lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; +lean_dec(x_219); +lean_dec(x_218); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_249 = lean_ctor_get(x_225, 0); +lean_inc(x_249); +x_250 = lean_ctor_get(x_225, 1); +lean_inc(x_250); +if (lean_is_exclusive(x_225)) { + lean_ctor_release(x_225, 0); + lean_ctor_release(x_225, 1); + x_251 = x_225; } else { - lean_dec_ref(x_251); - x_254 = lean_box(0); + lean_dec_ref(x_225); + x_251 = lean_box(0); } -if (lean_is_scalar(x_254)) { - x_255 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_251)) { + x_252 = lean_alloc_ctor(1, 2, 0); } else { - x_255 = x_254; + x_252 = x_251; +} +lean_ctor_set(x_252, 0, x_249); +lean_ctor_set(x_252, 1, x_250); +return x_252; } -lean_ctor_set(x_255, 0, x_250); -lean_ctor_set(x_255, 1, x_253); -return x_255; } else { -lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; -x_256 = lean_ctor_get(x_252, 0); +lean_object* x_253; lean_object* x_254; +lean_dec(x_219); +lean_dec(x_218); +x_253 = lean_box(0); +x_254 = l_Lean_Meta_splitIfLocalDecl_x3f(x_2, x_1, x_253, x_3, x_4, x_5, x_6, x_212); +if (lean_obj_tag(x_254) == 0) +{ +lean_object* x_255; +x_255 = lean_ctor_get(x_254, 0); +lean_inc(x_255); +if (lean_obj_tag(x_255) == 0) +{ +lean_object* x_256; lean_object* x_257; lean_object* x_258; +x_256 = lean_ctor_get(x_254, 1); lean_inc(x_256); -if (lean_is_exclusive(x_252)) { - lean_ctor_release(x_252, 0); - x_257 = x_252; +if (lean_is_exclusive(x_254)) { + lean_ctor_release(x_254, 0); + lean_ctor_release(x_254, 1); + x_257 = x_254; } else { - lean_dec_ref(x_252); + lean_dec_ref(x_254); x_257 = lean_box(0); } -x_258 = lean_ctor_get(x_251, 1); -lean_inc(x_258); -if (lean_is_exclusive(x_251)) { - lean_ctor_release(x_251, 0); - lean_ctor_release(x_251, 1); - x_259 = x_251; -} else { - lean_dec_ref(x_251); - x_259 = lean_box(0); -} -x_260 = lean_ctor_get(x_256, 0); -lean_inc(x_260); -x_261 = lean_ctor_get(x_256, 1); -lean_inc(x_261); -lean_dec(x_256); -x_262 = lean_box(0); -x_263 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_263, 0, x_261); -lean_ctor_set(x_263, 1, x_262); -x_264 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_264, 0, x_260); -lean_ctor_set(x_264, 1, x_263); if (lean_is_scalar(x_257)) { - x_265 = lean_alloc_ctor(1, 1, 0); + x_258 = lean_alloc_ctor(0, 2, 0); } else { - x_265 = x_257; + x_258 = x_257; } -lean_ctor_set(x_265, 0, x_264); -if (lean_is_scalar(x_259)) { - x_266 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_258, 0, x_253); +lean_ctor_set(x_258, 1, x_256); +return x_258; +} +else +{ +lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; +x_259 = lean_ctor_get(x_255, 0); +lean_inc(x_259); +if (lean_is_exclusive(x_255)) { + lean_ctor_release(x_255, 0); + x_260 = x_255; } else { - x_266 = x_259; + lean_dec_ref(x_255); + x_260 = lean_box(0); } -lean_ctor_set(x_266, 0, x_265); -lean_ctor_set(x_266, 1, x_258); -return x_266; +x_261 = lean_ctor_get(x_254, 1); +lean_inc(x_261); +if (lean_is_exclusive(x_254)) { + lean_ctor_release(x_254, 0); + lean_ctor_release(x_254, 1); + x_262 = x_254; +} else { + lean_dec_ref(x_254); + x_262 = lean_box(0); +} +x_263 = lean_ctor_get(x_259, 0); +lean_inc(x_263); +x_264 = lean_ctor_get(x_259, 1); +lean_inc(x_264); +lean_dec(x_259); +x_265 = lean_box(0); +x_266 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_266, 0, x_264); +lean_ctor_set(x_266, 1, x_265); +x_267 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_267, 0, x_263); +lean_ctor_set(x_267, 1, x_266); +if (lean_is_scalar(x_260)) { + x_268 = lean_alloc_ctor(1, 1, 0); +} else { + x_268 = x_260; +} +lean_ctor_set(x_268, 0, x_267); +if (lean_is_scalar(x_262)) { + x_269 = lean_alloc_ctor(0, 2, 0); +} else { + x_269 = x_262; +} +lean_ctor_set(x_269, 0, x_268); +lean_ctor_set(x_269, 1, x_261); +return x_269; } } else { -lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; -x_267 = lean_ctor_get(x_251, 0); -lean_inc(x_267); -x_268 = lean_ctor_get(x_251, 1); -lean_inc(x_268); -if (lean_is_exclusive(x_251)) { - lean_ctor_release(x_251, 0); - lean_ctor_release(x_251, 1); - x_269 = x_251; +lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; +x_270 = lean_ctor_get(x_254, 0); +lean_inc(x_270); +x_271 = lean_ctor_get(x_254, 1); +lean_inc(x_271); +if (lean_is_exclusive(x_254)) { + lean_ctor_release(x_254, 0); + lean_ctor_release(x_254, 1); + x_272 = x_254; } else { - lean_dec_ref(x_251); - x_269 = lean_box(0); + lean_dec_ref(x_254); + x_272 = lean_box(0); } -if (lean_is_scalar(x_269)) { - x_270 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_272)) { + x_273 = lean_alloc_ctor(1, 2, 0); } else { - x_270 = x_269; + x_273 = x_272; } -lean_ctor_set(x_270, 0, x_267); -lean_ctor_set(x_270, 1, x_268); -return x_270; +lean_ctor_set(x_273, 0, x_270); +lean_ctor_set(x_273, 1, x_271); +return x_273; } } } else { -lean_object* x_271; lean_object* x_272; -lean_dec(x_217); -lean_dec(x_216); -x_271 = lean_box(0); -x_272 = l_Lean_Meta_splitIfLocalDecl_x3f(x_2, x_1, x_271, x_3, x_4, x_5, x_6, x_210); -if (lean_obj_tag(x_272) == 0) +lean_object* x_274; lean_object* x_275; +lean_dec(x_219); +lean_dec(x_218); +x_274 = lean_box(0); +x_275 = l_Lean_Meta_splitIfLocalDecl_x3f(x_2, x_1, x_274, x_3, x_4, x_5, x_6, x_212); +if (lean_obj_tag(x_275) == 0) { -lean_object* x_273; -x_273 = lean_ctor_get(x_272, 0); -lean_inc(x_273); -if (lean_obj_tag(x_273) == 0) +lean_object* x_276; +x_276 = lean_ctor_get(x_275, 0); +lean_inc(x_276); +if (lean_obj_tag(x_276) == 0) { -lean_object* x_274; lean_object* x_275; lean_object* x_276; -x_274 = lean_ctor_get(x_272, 1); -lean_inc(x_274); -if (lean_is_exclusive(x_272)) { - lean_ctor_release(x_272, 0); - lean_ctor_release(x_272, 1); - x_275 = x_272; -} else { - lean_dec_ref(x_272); - x_275 = lean_box(0); -} -if (lean_is_scalar(x_275)) { - x_276 = lean_alloc_ctor(0, 2, 0); -} else { - x_276 = x_275; -} -lean_ctor_set(x_276, 0, x_271); -lean_ctor_set(x_276, 1, x_274); -return x_276; -} -else -{ -lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; -x_277 = lean_ctor_get(x_273, 0); +lean_object* x_277; lean_object* x_278; lean_object* x_279; +x_277 = lean_ctor_get(x_275, 1); lean_inc(x_277); -if (lean_is_exclusive(x_273)) { - lean_ctor_release(x_273, 0); - x_278 = x_273; +if (lean_is_exclusive(x_275)) { + lean_ctor_release(x_275, 0); + lean_ctor_release(x_275, 1); + x_278 = x_275; } else { - lean_dec_ref(x_273); + lean_dec_ref(x_275); x_278 = lean_box(0); } -x_279 = lean_ctor_get(x_272, 1); -lean_inc(x_279); -if (lean_is_exclusive(x_272)) { - lean_ctor_release(x_272, 0); - lean_ctor_release(x_272, 1); - x_280 = x_272; -} else { - lean_dec_ref(x_272); - x_280 = lean_box(0); -} -x_281 = lean_ctor_get(x_277, 0); -lean_inc(x_281); -x_282 = lean_ctor_get(x_277, 1); -lean_inc(x_282); -lean_dec(x_277); -x_283 = lean_box(0); -x_284 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_284, 0, x_282); -lean_ctor_set(x_284, 1, x_283); -x_285 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_285, 0, x_281); -lean_ctor_set(x_285, 1, x_284); if (lean_is_scalar(x_278)) { - x_286 = lean_alloc_ctor(1, 1, 0); + x_279 = lean_alloc_ctor(0, 2, 0); } else { - x_286 = x_278; + x_279 = x_278; } -lean_ctor_set(x_286, 0, x_285); -if (lean_is_scalar(x_280)) { - x_287 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_279, 0, x_274); +lean_ctor_set(x_279, 1, x_277); +return x_279; +} +else +{ +lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; +x_280 = lean_ctor_get(x_276, 0); +lean_inc(x_280); +if (lean_is_exclusive(x_276)) { + lean_ctor_release(x_276, 0); + x_281 = x_276; } else { - x_287 = x_280; + lean_dec_ref(x_276); + x_281 = lean_box(0); } -lean_ctor_set(x_287, 0, x_286); -lean_ctor_set(x_287, 1, x_279); -return x_287; +x_282 = lean_ctor_get(x_275, 1); +lean_inc(x_282); +if (lean_is_exclusive(x_275)) { + lean_ctor_release(x_275, 0); + lean_ctor_release(x_275, 1); + x_283 = x_275; +} else { + lean_dec_ref(x_275); + x_283 = lean_box(0); +} +x_284 = lean_ctor_get(x_280, 0); +lean_inc(x_284); +x_285 = lean_ctor_get(x_280, 1); +lean_inc(x_285); +lean_dec(x_280); +x_286 = lean_box(0); +x_287 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_287, 0, x_285); +lean_ctor_set(x_287, 1, x_286); +x_288 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_288, 0, x_284); +lean_ctor_set(x_288, 1, x_287); +if (lean_is_scalar(x_281)) { + x_289 = lean_alloc_ctor(1, 1, 0); +} else { + x_289 = x_281; +} +lean_ctor_set(x_289, 0, x_288); +if (lean_is_scalar(x_283)) { + x_290 = lean_alloc_ctor(0, 2, 0); +} else { + x_290 = x_283; +} +lean_ctor_set(x_290, 0, x_289); +lean_ctor_set(x_290, 1, x_282); +return x_290; } } else { -lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; -x_288 = lean_ctor_get(x_272, 0); -lean_inc(x_288); -x_289 = lean_ctor_get(x_272, 1); -lean_inc(x_289); -if (lean_is_exclusive(x_272)) { - lean_ctor_release(x_272, 0); - lean_ctor_release(x_272, 1); - x_290 = x_272; +lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; +x_291 = lean_ctor_get(x_275, 0); +lean_inc(x_291); +x_292 = lean_ctor_get(x_275, 1); +lean_inc(x_292); +if (lean_is_exclusive(x_275)) { + lean_ctor_release(x_275, 0); + lean_ctor_release(x_275, 1); + x_293 = x_275; } else { - lean_dec_ref(x_272); - x_290 = lean_box(0); + lean_dec_ref(x_275); + x_293 = lean_box(0); } -if (lean_is_scalar(x_290)) { - x_291 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_293)) { + x_294 = lean_alloc_ctor(1, 2, 0); } else { - x_291 = x_290; + x_294 = x_293; } -lean_ctor_set(x_291, 0, x_288); -lean_ctor_set(x_291, 1, x_289); -return x_291; +lean_ctor_set(x_294, 0, x_291); +lean_ctor_set(x_294, 1, x_292); +return x_294; } } } @@ -12304,7 +12220,7 @@ return x_291; } else { -uint8_t x_292; +uint8_t x_295; lean_dec(x_11); lean_dec(x_6); lean_dec(x_5); @@ -12312,23 +12228,23 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_292 = !lean_is_exclusive(x_13); -if (x_292 == 0) +x_295 = !lean_is_exclusive(x_13); +if (x_295 == 0) { return x_13; } else { -lean_object* x_293; lean_object* x_294; lean_object* x_295; -x_293 = lean_ctor_get(x_13, 0); -x_294 = lean_ctor_get(x_13, 1); -lean_inc(x_294); -lean_inc(x_293); +lean_object* x_296; lean_object* x_297; lean_object* x_298; +x_296 = lean_ctor_get(x_13, 0); +x_297 = lean_ctor_get(x_13, 1); +lean_inc(x_297); +lean_inc(x_296); lean_dec(x_13); -x_295 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_295, 0, x_293); -lean_ctor_set(x_295, 1, x_294); -return x_295; +x_298 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_298, 0, x_296); +lean_ctor_set(x_298, 1, x_297); +return x_298; } } } diff --git a/stage0/stdlib/Lean/Meta/UnificationHint.c b/stage0/stdlib/Lean/Meta/UnificationHint.c index 296a38c188..4c8c208da6 100644 --- a/stage0/stdlib/Lean/Meta/UnificationHint.c +++ b/stage0/stdlib/Lean/Meta/UnificationHint.c @@ -198,7 +198,6 @@ lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_MetavarContext_getExprA LEAN_EXPORT lean_object* l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_instInhabitedUnificationHintEntry___closed__2; uint8_t l_Lean_Expr_isAppOfArity(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_UnificationHint___hyg_81____closed__1; lean_object* l_Lean_Core_instantiateValueLevelParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_UnificationHint___hyg_81____closed__2; @@ -264,9 +263,9 @@ static lean_object* l_Lean_ScopedEnvExtension_add___at_Lean_Meta_addUnificationH LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAtAux___at_Lean_Meta_UnificationHints_add___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_ScopedEnvExtension_add___at_Lean_Meta_addUnificationHint___spec__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__1(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*); static lean_object* l_Lean_Meta_DiscrTree_format___at_Lean_Meta_instToFormatUnificationHints___spec__1___closed__2; -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_tryUnificationHints_isDefEqPattern(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_UnificationHint___hyg_763____closed__7; @@ -286,6 +285,7 @@ static lean_object* l_List_format___at_Lean_Meta_instToFormatUnificationHints___ uint8_t l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(uint8_t, uint8_t); lean_object* l_Lean_Meta_DiscrTree_getMatch___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Expr_instBEqExpr; +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_ScopedEnvExtension_add___at_Lean_Meta_addUnificationHint___spec__1___closed__6; static lean_object* l_List_format___at_Lean_Meta_instToFormatUnificationHints___spec__4___closed__9; lean_object* l_Lean_ScopedEnvExtension_addEntry___rarg(lean_object*, lean_object*, lean_object*); @@ -2305,7 +2305,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Meta_DiscrTree_insertCore___at_Lean_Meta_UnificationHints_add___spec__1___closed__5; x_2 = l_Lean_Meta_DiscrTree_insertCore___at_Lean_Meta_UnificationHints_add___spec__1___closed__6; -x_3 = lean_unsigned_to_nat(353u); +x_3 = lean_unsigned_to_nat(350u); x_4 = lean_unsigned_to_nat(23u); x_5 = l_Lean_Meta_DiscrTree_insertCore___at_Lean_Meta_UnificationHints_add___spec__1___closed__7; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -4976,97 +4976,65 @@ return x_76; } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_tryUnificationHints_tryCandidate___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_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_tryUnificationHints_tryCandidate___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_1) == 0) { -lean_object* x_7; lean_object* x_8; -x_7 = lean_box(0); -x_8 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_8, 0, x_7); -lean_ctor_set(x_8, 1, x_6); -return x_8; +lean_object* x_8; lean_object* x_9; +x_8 = l_List_reverse___rarg(x_2); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_7); +return x_9; } else { -uint8_t x_9; -x_9 = !lean_is_exclusive(x_1); -if (x_9 == 0) +uint8_t x_10; +x_10 = !lean_is_exclusive(x_1); +if (x_10 == 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; uint8_t x_16; -x_10 = lean_ctor_get(x_1, 1); -x_11 = lean_ctor_get(x_1, 0); -lean_dec(x_11); -x_12 = l_Lean_Meta_mkFreshLevelMVar(x_2, x_3, x_4, x_5, x_6); -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_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_11 = lean_ctor_get(x_1, 1); +x_12 = lean_ctor_get(x_1, 0); lean_dec(x_12); -x_15 = l_List_mapM___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__1(x_10, x_2, x_3, x_4, x_5, x_14); -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) +x_13 = l_Lean_Meta_mkFreshLevelMVar(x_3, x_4, x_5, x_6, x_7); +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_14); { -lean_object* x_17; -x_17 = lean_ctor_get(x_15, 0); -lean_ctor_set(x_1, 1, x_17); -lean_ctor_set(x_1, 0, x_13); -lean_ctor_set(x_15, 0, x_1); -return x_15; +lean_object* _tmp_0 = x_11; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_6 = x_15; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_7 = _tmp_6; +} +goto _start; } else { -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_15, 0); -x_19 = lean_ctor_get(x_15, 1); -lean_inc(x_19); -lean_inc(x_18); -lean_dec(x_15); -lean_ctor_set(x_1, 1, x_18); -lean_ctor_set(x_1, 0, x_13); -x_20 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_20, 0, x_1); -lean_ctor_set(x_20, 1, x_19); -return x_20; -} -} -else -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_21 = lean_ctor_get(x_1, 1); -lean_inc(x_21); +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_17 = lean_ctor_get(x_1, 1); +lean_inc(x_17); lean_dec(x_1); -x_22 = l_Lean_Meta_mkFreshLevelMVar(x_2, x_3, x_4, x_5, x_6); -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = l_List_mapM___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__1(x_21, x_2, x_3, x_4, x_5, x_24); -x_26 = lean_ctor_get(x_25, 0); -lean_inc(x_26); -x_27 = lean_ctor_get(x_25, 1); -lean_inc(x_27); -if (lean_is_exclusive(x_25)) { - lean_ctor_release(x_25, 0); - lean_ctor_release(x_25, 1); - x_28 = x_25; -} else { - lean_dec_ref(x_25); - x_28 = lean_box(0); -} -x_29 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_29, 0, x_23); -lean_ctor_set(x_29, 1, x_26); -if (lean_is_scalar(x_28)) { - x_30 = lean_alloc_ctor(0, 2, 0); -} else { - x_30 = x_28; -} -lean_ctor_set(x_30, 0, x_29); -lean_ctor_set(x_30, 1, x_27); -return x_30; +x_18 = l_Lean_Meta_mkFreshLevelMVar(x_3, x_4, x_5, x_6, x_7); +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_2); +x_1 = x_17; +x_2 = x_21; +x_7 = x_20; +goto _start; } } } @@ -6342,481 +6310,482 @@ lean_inc(x_3); x_78 = l_Lean_getConstInfo___at_Lean_Meta_mkConstWithFreshMVarLevels___spec__1(x_3, x_6, x_7, x_8, x_9, x_29); if (lean_obj_tag(x_78) == 0) { -lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_127; +lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_128; x_79 = lean_ctor_get(x_78, 0); lean_inc(x_79); x_80 = lean_ctor_get(x_78, 1); lean_inc(x_80); lean_dec(x_78); x_81 = l_Lean_ConstantInfo_levelParams(x_79); -x_82 = l_List_mapM___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__1(x_81, x_6, x_7, x_8, x_9, x_80); -x_83 = lean_ctor_get(x_82, 0); -lean_inc(x_83); -x_84 = lean_ctor_get(x_82, 1); +x_82 = lean_box(0); +x_83 = l_List_mapM_loop___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__1(x_81, x_82, x_6, x_7, x_8, x_9, x_80); +x_84 = lean_ctor_get(x_83, 0); lean_inc(x_84); -lean_dec(x_82); +x_85 = lean_ctor_get(x_83, 1); +lean_inc(x_85); +lean_dec(x_83); lean_inc(x_9); lean_inc(x_8); -x_85 = l_Lean_Core_instantiateValueLevelParams(x_79, x_83, x_8, x_9, x_84); +x_86 = l_Lean_Core_instantiateValueLevelParams(x_79, x_84, x_8, x_9, x_85); lean_dec(x_79); -x_86 = lean_ctor_get(x_85, 0); -lean_inc(x_86); -x_87 = lean_ctor_get(x_85, 1); +x_87 = lean_ctor_get(x_86, 0); lean_inc(x_87); -lean_dec(x_85); -x_88 = lean_box(0); -lean_inc(x_6); -x_89 = l_Lean_Meta_lambdaMetaTelescope(x_86, x_88, x_6, x_7, x_8, x_9, x_87); +x_88 = lean_ctor_get(x_86, 1); +lean_inc(x_88); lean_dec(x_86); -x_90 = lean_ctor_get(x_89, 0); -lean_inc(x_90); -x_91 = lean_ctor_get(x_90, 1); +x_89 = lean_box(0); +lean_inc(x_6); +x_90 = l_Lean_Meta_lambdaMetaTelescope(x_87, x_89, x_6, x_7, x_8, x_9, x_88); +lean_dec(x_87); +x_91 = lean_ctor_get(x_90, 0); lean_inc(x_91); -x_92 = lean_ctor_get(x_89, 1); +x_92 = lean_ctor_get(x_91, 1); lean_inc(x_92); -lean_dec(x_89); -x_93 = lean_ctor_get(x_90, 0); +x_93 = lean_ctor_get(x_90, 1); lean_inc(x_93); lean_dec(x_90); x_94 = lean_ctor_get(x_91, 0); lean_inc(x_94); -x_95 = lean_ctor_get(x_91, 1); -lean_inc(x_95); lean_dec(x_91); -x_127 = l___private_Lean_Meta_UnificationHint_0__Lean_Meta_decodeUnificationHint(x_95); -if (lean_obj_tag(x_127) == 0) +x_95 = lean_ctor_get(x_92, 0); +lean_inc(x_95); +x_96 = lean_ctor_get(x_92, 1); +lean_inc(x_96); +lean_dec(x_92); +x_128 = l___private_Lean_Meta_UnificationHint_0__Lean_Meta_decodeUnificationHint(x_96); +if (lean_obj_tag(x_128) == 0) { -lean_dec(x_127); -lean_dec(x_2); -lean_dec(x_1); -x_96 = x_88; -x_97 = x_92; -goto block_126; -} -else -{ -lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; uint8_t x_135; -x_128 = lean_ctor_get(x_6, 0); -lean_inc(x_128); -x_129 = lean_ctor_get(x_127, 0); -lean_inc(x_129); -lean_dec(x_127); -x_130 = lean_ctor_get(x_6, 1); -lean_inc(x_130); -x_131 = lean_ctor_get(x_6, 2); -lean_inc(x_131); -x_132 = lean_ctor_get(x_6, 3); -lean_inc(x_132); -x_133 = lean_ctor_get(x_6, 4); -lean_inc(x_133); -x_134 = lean_ctor_get(x_6, 5); -lean_inc(x_134); -x_135 = !lean_is_exclusive(x_128); -if (x_135 == 0) -{ -uint8_t x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; -x_136 = 0; -lean_ctor_set_uint8(x_128, 8, x_136); -x_137 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_137, 0, x_128); -lean_ctor_set(x_137, 1, x_130); -lean_ctor_set(x_137, 2, x_131); -lean_ctor_set(x_137, 3, x_132); -lean_ctor_set(x_137, 4, x_133); -lean_ctor_set(x_137, 5, x_134); -x_138 = lean_ctor_get(x_129, 0); -lean_inc(x_138); -x_139 = lean_ctor_get(x_138, 0); -lean_inc(x_139); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_137); -x_140 = l_Lean_Meta_tryUnificationHints_isDefEqPattern(x_139, x_1, x_137, x_7, x_8, x_9, x_92); -if (lean_obj_tag(x_140) == 0) -{ -lean_object* x_141; uint8_t x_142; -x_141 = lean_ctor_get(x_140, 0); -lean_inc(x_141); -x_142 = lean_unbox(x_141); -lean_dec(x_141); -if (x_142 == 0) -{ -lean_object* x_143; -lean_dec(x_138); -lean_dec(x_137); -lean_dec(x_129); -lean_dec(x_2); -x_143 = lean_ctor_get(x_140, 1); -lean_inc(x_143); -lean_dec(x_140); -x_96 = x_88; -x_97 = x_143; -goto block_126; -} -else -{ -lean_object* x_144; lean_object* x_145; lean_object* x_146; -x_144 = lean_ctor_get(x_140, 1); -lean_inc(x_144); -lean_dec(x_140); -x_145 = lean_ctor_get(x_138, 1); -lean_inc(x_145); -lean_dec(x_138); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_146 = l_Lean_Meta_tryUnificationHints_isDefEqPattern(x_145, x_2, x_137, x_7, x_8, x_9, x_144); -if (lean_obj_tag(x_146) == 0) -{ -lean_object* x_147; uint8_t x_148; -x_147 = lean_ctor_get(x_146, 0); -lean_inc(x_147); -x_148 = lean_unbox(x_147); -lean_dec(x_147); -if (x_148 == 0) -{ -lean_object* x_149; -lean_dec(x_129); -x_149 = lean_ctor_get(x_146, 1); -lean_inc(x_149); -lean_dec(x_146); -x_96 = x_88; -x_97 = x_149; -goto block_126; -} -else -{ -lean_object* x_150; lean_object* x_151; -x_150 = lean_ctor_get(x_146, 1); -lean_inc(x_150); -lean_dec(x_146); -x_151 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_151, 0, x_129); -x_96 = x_151; -x_97 = x_150; -goto block_126; -} -} -else -{ -lean_object* x_152; lean_object* x_153; -lean_dec(x_129); -lean_dec(x_94); -lean_dec(x_93); -lean_dec(x_28); -lean_dec(x_4); -lean_dec(x_3); -x_152 = lean_ctor_get(x_146, 0); -lean_inc(x_152); -x_153 = lean_ctor_get(x_146, 1); -lean_inc(x_153); -lean_dec(x_146); -x_30 = x_152; -x_31 = x_153; -goto block_37; -} -} -} -else -{ -lean_object* x_154; lean_object* x_155; -lean_dec(x_138); -lean_dec(x_137); -lean_dec(x_129); -lean_dec(x_94); -lean_dec(x_93); -lean_dec(x_28); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_154 = lean_ctor_get(x_140, 0); -lean_inc(x_154); -x_155 = lean_ctor_get(x_140, 1); -lean_inc(x_155); -lean_dec(x_140); -x_30 = x_154; -x_31 = x_155; -goto block_37; -} -} -else -{ -uint8_t x_156; uint8_t x_157; uint8_t x_158; uint8_t x_159; uint8_t x_160; uint8_t x_161; uint8_t x_162; uint8_t x_163; uint8_t x_164; uint8_t x_165; uint8_t x_166; uint8_t x_167; uint8_t x_168; uint8_t x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; -x_156 = lean_ctor_get_uint8(x_128, 0); -x_157 = lean_ctor_get_uint8(x_128, 1); -x_158 = lean_ctor_get_uint8(x_128, 2); -x_159 = lean_ctor_get_uint8(x_128, 3); -x_160 = lean_ctor_get_uint8(x_128, 4); -x_161 = lean_ctor_get_uint8(x_128, 5); -x_162 = lean_ctor_get_uint8(x_128, 6); -x_163 = lean_ctor_get_uint8(x_128, 7); -x_164 = lean_ctor_get_uint8(x_128, 9); -x_165 = lean_ctor_get_uint8(x_128, 10); -x_166 = lean_ctor_get_uint8(x_128, 11); -x_167 = lean_ctor_get_uint8(x_128, 12); -x_168 = lean_ctor_get_uint8(x_128, 13); lean_dec(x_128); -x_169 = 0; -x_170 = lean_alloc_ctor(0, 0, 14); -lean_ctor_set_uint8(x_170, 0, x_156); -lean_ctor_set_uint8(x_170, 1, x_157); -lean_ctor_set_uint8(x_170, 2, x_158); -lean_ctor_set_uint8(x_170, 3, x_159); -lean_ctor_set_uint8(x_170, 4, x_160); -lean_ctor_set_uint8(x_170, 5, x_161); -lean_ctor_set_uint8(x_170, 6, x_162); -lean_ctor_set_uint8(x_170, 7, x_163); -lean_ctor_set_uint8(x_170, 8, x_169); -lean_ctor_set_uint8(x_170, 9, x_164); -lean_ctor_set_uint8(x_170, 10, x_165); -lean_ctor_set_uint8(x_170, 11, x_166); -lean_ctor_set_uint8(x_170, 12, x_167); -lean_ctor_set_uint8(x_170, 13, x_168); -x_171 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_171, 0, x_170); -lean_ctor_set(x_171, 1, x_130); -lean_ctor_set(x_171, 2, x_131); -lean_ctor_set(x_171, 3, x_132); -lean_ctor_set(x_171, 4, x_133); -lean_ctor_set(x_171, 5, x_134); -x_172 = lean_ctor_get(x_129, 0); -lean_inc(x_172); -x_173 = lean_ctor_get(x_172, 0); +lean_dec(x_2); +lean_dec(x_1); +x_97 = x_89; +x_98 = x_93; +goto block_127; +} +else +{ +lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; uint8_t x_136; +x_129 = lean_ctor_get(x_6, 0); +lean_inc(x_129); +x_130 = lean_ctor_get(x_128, 0); +lean_inc(x_130); +lean_dec(x_128); +x_131 = lean_ctor_get(x_6, 1); +lean_inc(x_131); +x_132 = lean_ctor_get(x_6, 2); +lean_inc(x_132); +x_133 = lean_ctor_get(x_6, 3); +lean_inc(x_133); +x_134 = lean_ctor_get(x_6, 4); +lean_inc(x_134); +x_135 = lean_ctor_get(x_6, 5); +lean_inc(x_135); +x_136 = !lean_is_exclusive(x_129); +if (x_136 == 0) +{ +uint8_t x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; +x_137 = 0; +lean_ctor_set_uint8(x_129, 8, x_137); +x_138 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_138, 0, x_129); +lean_ctor_set(x_138, 1, x_131); +lean_ctor_set(x_138, 2, x_132); +lean_ctor_set(x_138, 3, x_133); +lean_ctor_set(x_138, 4, x_134); +lean_ctor_set(x_138, 5, x_135); +x_139 = lean_ctor_get(x_130, 0); +lean_inc(x_139); +x_140 = lean_ctor_get(x_139, 0); +lean_inc(x_140); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_138); +x_141 = l_Lean_Meta_tryUnificationHints_isDefEqPattern(x_140, x_1, x_138, x_7, x_8, x_9, x_93); +if (lean_obj_tag(x_141) == 0) +{ +lean_object* x_142; uint8_t x_143; +x_142 = lean_ctor_get(x_141, 0); +lean_inc(x_142); +x_143 = lean_unbox(x_142); +lean_dec(x_142); +if (x_143 == 0) +{ +lean_object* x_144; +lean_dec(x_139); +lean_dec(x_138); +lean_dec(x_130); +lean_dec(x_2); +x_144 = lean_ctor_get(x_141, 1); +lean_inc(x_144); +lean_dec(x_141); +x_97 = x_89; +x_98 = x_144; +goto block_127; +} +else +{ +lean_object* x_145; lean_object* x_146; lean_object* x_147; +x_145 = lean_ctor_get(x_141, 1); +lean_inc(x_145); +lean_dec(x_141); +x_146 = lean_ctor_get(x_139, 1); +lean_inc(x_146); +lean_dec(x_139); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_147 = l_Lean_Meta_tryUnificationHints_isDefEqPattern(x_146, x_2, x_138, x_7, x_8, x_9, x_145); +if (lean_obj_tag(x_147) == 0) +{ +lean_object* x_148; uint8_t x_149; +x_148 = lean_ctor_get(x_147, 0); +lean_inc(x_148); +x_149 = lean_unbox(x_148); +lean_dec(x_148); +if (x_149 == 0) +{ +lean_object* x_150; +lean_dec(x_130); +x_150 = lean_ctor_get(x_147, 1); +lean_inc(x_150); +lean_dec(x_147); +x_97 = x_89; +x_98 = x_150; +goto block_127; +} +else +{ +lean_object* x_151; lean_object* x_152; +x_151 = lean_ctor_get(x_147, 1); +lean_inc(x_151); +lean_dec(x_147); +x_152 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_152, 0, x_130); +x_97 = x_152; +x_98 = x_151; +goto block_127; +} +} +else +{ +lean_object* x_153; lean_object* x_154; +lean_dec(x_130); +lean_dec(x_95); +lean_dec(x_94); +lean_dec(x_28); +lean_dec(x_4); +lean_dec(x_3); +x_153 = lean_ctor_get(x_147, 0); +lean_inc(x_153); +x_154 = lean_ctor_get(x_147, 1); +lean_inc(x_154); +lean_dec(x_147); +x_30 = x_153; +x_31 = x_154; +goto block_37; +} +} +} +else +{ +lean_object* x_155; lean_object* x_156; +lean_dec(x_139); +lean_dec(x_138); +lean_dec(x_130); +lean_dec(x_95); +lean_dec(x_94); +lean_dec(x_28); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_155 = lean_ctor_get(x_141, 0); +lean_inc(x_155); +x_156 = lean_ctor_get(x_141, 1); +lean_inc(x_156); +lean_dec(x_141); +x_30 = x_155; +x_31 = x_156; +goto block_37; +} +} +else +{ +uint8_t x_157; uint8_t x_158; uint8_t x_159; uint8_t x_160; uint8_t x_161; uint8_t x_162; uint8_t x_163; uint8_t x_164; uint8_t x_165; uint8_t x_166; uint8_t x_167; uint8_t x_168; uint8_t x_169; uint8_t x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; +x_157 = lean_ctor_get_uint8(x_129, 0); +x_158 = lean_ctor_get_uint8(x_129, 1); +x_159 = lean_ctor_get_uint8(x_129, 2); +x_160 = lean_ctor_get_uint8(x_129, 3); +x_161 = lean_ctor_get_uint8(x_129, 4); +x_162 = lean_ctor_get_uint8(x_129, 5); +x_163 = lean_ctor_get_uint8(x_129, 6); +x_164 = lean_ctor_get_uint8(x_129, 7); +x_165 = lean_ctor_get_uint8(x_129, 9); +x_166 = lean_ctor_get_uint8(x_129, 10); +x_167 = lean_ctor_get_uint8(x_129, 11); +x_168 = lean_ctor_get_uint8(x_129, 12); +x_169 = lean_ctor_get_uint8(x_129, 13); +lean_dec(x_129); +x_170 = 0; +x_171 = lean_alloc_ctor(0, 0, 14); +lean_ctor_set_uint8(x_171, 0, x_157); +lean_ctor_set_uint8(x_171, 1, x_158); +lean_ctor_set_uint8(x_171, 2, x_159); +lean_ctor_set_uint8(x_171, 3, x_160); +lean_ctor_set_uint8(x_171, 4, x_161); +lean_ctor_set_uint8(x_171, 5, x_162); +lean_ctor_set_uint8(x_171, 6, x_163); +lean_ctor_set_uint8(x_171, 7, x_164); +lean_ctor_set_uint8(x_171, 8, x_170); +lean_ctor_set_uint8(x_171, 9, x_165); +lean_ctor_set_uint8(x_171, 10, x_166); +lean_ctor_set_uint8(x_171, 11, x_167); +lean_ctor_set_uint8(x_171, 12, x_168); +lean_ctor_set_uint8(x_171, 13, x_169); +x_172 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_172, 0, x_171); +lean_ctor_set(x_172, 1, x_131); +lean_ctor_set(x_172, 2, x_132); +lean_ctor_set(x_172, 3, x_133); +lean_ctor_set(x_172, 4, x_134); +lean_ctor_set(x_172, 5, x_135); +x_173 = lean_ctor_get(x_130, 0); lean_inc(x_173); +x_174 = lean_ctor_get(x_173, 0); +lean_inc(x_174); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); -lean_inc(x_171); -x_174 = l_Lean_Meta_tryUnificationHints_isDefEqPattern(x_173, x_1, x_171, x_7, x_8, x_9, x_92); -if (lean_obj_tag(x_174) == 0) +lean_inc(x_172); +x_175 = l_Lean_Meta_tryUnificationHints_isDefEqPattern(x_174, x_1, x_172, x_7, x_8, x_9, x_93); +if (lean_obj_tag(x_175) == 0) { -lean_object* x_175; uint8_t x_176; -x_175 = lean_ctor_get(x_174, 0); -lean_inc(x_175); -x_176 = lean_unbox(x_175); -lean_dec(x_175); -if (x_176 == 0) +lean_object* x_176; uint8_t x_177; +x_176 = lean_ctor_get(x_175, 0); +lean_inc(x_176); +x_177 = lean_unbox(x_176); +lean_dec(x_176); +if (x_177 == 0) { -lean_object* x_177; +lean_object* x_178; +lean_dec(x_173); lean_dec(x_172); -lean_dec(x_171); -lean_dec(x_129); +lean_dec(x_130); lean_dec(x_2); -x_177 = lean_ctor_get(x_174, 1); -lean_inc(x_177); -lean_dec(x_174); -x_96 = x_88; -x_97 = x_177; -goto block_126; -} -else -{ -lean_object* x_178; lean_object* x_179; lean_object* x_180; -x_178 = lean_ctor_get(x_174, 1); +x_178 = lean_ctor_get(x_175, 1); lean_inc(x_178); -lean_dec(x_174); -x_179 = lean_ctor_get(x_172, 1); +lean_dec(x_175); +x_97 = x_89; +x_98 = x_178; +goto block_127; +} +else +{ +lean_object* x_179; lean_object* x_180; lean_object* x_181; +x_179 = lean_ctor_get(x_175, 1); lean_inc(x_179); -lean_dec(x_172); +lean_dec(x_175); +x_180 = lean_ctor_get(x_173, 1); +lean_inc(x_180); +lean_dec(x_173); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); -x_180 = l_Lean_Meta_tryUnificationHints_isDefEqPattern(x_179, x_2, x_171, x_7, x_8, x_9, x_178); -if (lean_obj_tag(x_180) == 0) +x_181 = l_Lean_Meta_tryUnificationHints_isDefEqPattern(x_180, x_2, x_172, x_7, x_8, x_9, x_179); +if (lean_obj_tag(x_181) == 0) { -lean_object* x_181; uint8_t x_182; -x_181 = lean_ctor_get(x_180, 0); -lean_inc(x_181); -x_182 = lean_unbox(x_181); -lean_dec(x_181); -if (x_182 == 0) +lean_object* x_182; uint8_t x_183; +x_182 = lean_ctor_get(x_181, 0); +lean_inc(x_182); +x_183 = lean_unbox(x_182); +lean_dec(x_182); +if (x_183 == 0) { -lean_object* x_183; -lean_dec(x_129); -x_183 = lean_ctor_get(x_180, 1); -lean_inc(x_183); -lean_dec(x_180); -x_96 = x_88; -x_97 = x_183; -goto block_126; -} -else -{ -lean_object* x_184; lean_object* x_185; -x_184 = lean_ctor_get(x_180, 1); +lean_object* x_184; +lean_dec(x_130); +x_184 = lean_ctor_get(x_181, 1); lean_inc(x_184); -lean_dec(x_180); -x_185 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_185, 0, x_129); -x_96 = x_185; -x_97 = x_184; -goto block_126; +lean_dec(x_181); +x_97 = x_89; +x_98 = x_184; +goto block_127; +} +else +{ +lean_object* x_185; lean_object* x_186; +x_185 = lean_ctor_get(x_181, 1); +lean_inc(x_185); +lean_dec(x_181); +x_186 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_186, 0, x_130); +x_97 = x_186; +x_98 = x_185; +goto block_127; } } else { -lean_object* x_186; lean_object* x_187; -lean_dec(x_129); +lean_object* x_187; lean_object* x_188; +lean_dec(x_130); +lean_dec(x_95); lean_dec(x_94); -lean_dec(x_93); lean_dec(x_28); lean_dec(x_4); lean_dec(x_3); -x_186 = lean_ctor_get(x_180, 0); -lean_inc(x_186); -x_187 = lean_ctor_get(x_180, 1); +x_187 = lean_ctor_get(x_181, 0); lean_inc(x_187); -lean_dec(x_180); -x_30 = x_186; -x_31 = x_187; +x_188 = lean_ctor_get(x_181, 1); +lean_inc(x_188); +lean_dec(x_181); +x_30 = x_187; +x_31 = x_188; goto block_37; } } } else { -lean_object* x_188; lean_object* x_189; +lean_object* x_189; lean_object* x_190; +lean_dec(x_173); lean_dec(x_172); -lean_dec(x_171); -lean_dec(x_129); +lean_dec(x_130); +lean_dec(x_95); lean_dec(x_94); -lean_dec(x_93); lean_dec(x_28); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_188 = lean_ctor_get(x_174, 0); -lean_inc(x_188); -x_189 = lean_ctor_get(x_174, 1); +x_189 = lean_ctor_get(x_175, 0); lean_inc(x_189); -lean_dec(x_174); -x_30 = x_188; -x_31 = x_189; +x_190 = lean_ctor_get(x_175, 1); +lean_inc(x_190); +lean_dec(x_175); +x_30 = x_189; +x_31 = x_190; goto block_37; } } } -block_126: +block_127: { -if (lean_obj_tag(x_96) == 0) +if (lean_obj_tag(x_97) == 0) { -uint8_t x_98; +uint8_t x_99; +lean_dec(x_95); lean_dec(x_94); -lean_dec(x_93); lean_dec(x_4); lean_dec(x_3); -x_98 = 0; -x_38 = x_98; -x_39 = x_97; +x_99 = 0; +x_38 = x_99; +x_39 = x_98; goto block_77; } else { -lean_object* x_99; lean_object* x_100; lean_object* x_101; uint8_t x_102; -x_99 = lean_ctor_get(x_96, 0); -lean_inc(x_99); -lean_dec(x_96); +lean_object* x_100; lean_object* x_101; lean_object* x_102; uint8_t x_103; +x_100 = lean_ctor_get(x_97, 0); +lean_inc(x_100); +lean_dec(x_97); lean_inc(x_4); -x_100 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_4, x_6, x_7, x_8, x_9, x_97); -x_101 = lean_ctor_get(x_100, 0); -lean_inc(x_101); -x_102 = lean_unbox(x_101); -lean_dec(x_101); -if (x_102 == 0) +x_101 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_4, x_6, x_7, x_8, x_9, x_98); +x_102 = lean_ctor_get(x_101, 0); +lean_inc(x_102); +x_103 = lean_unbox(x_102); +lean_dec(x_102); +if (x_103 == 0) { -lean_object* x_103; lean_object* x_104; lean_object* x_105; +lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_dec(x_4); lean_dec(x_3); -x_103 = lean_ctor_get(x_100, 1); -lean_inc(x_103); -lean_dec(x_100); -x_104 = lean_box(0); +x_104 = lean_ctor_get(x_101, 1); +lean_inc(x_104); +lean_dec(x_101); +x_105 = lean_box(0); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -x_105 = l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___lambda__3(x_99, x_88, x_94, x_93, x_104, x_6, x_7, x_8, x_9, x_103); -if (lean_obj_tag(x_105) == 0) +x_106 = l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___lambda__3(x_100, x_89, x_95, x_94, x_105, x_6, x_7, x_8, x_9, x_104); +if (lean_obj_tag(x_106) == 0) { -lean_object* x_106; lean_object* x_107; uint8_t x_108; -x_106 = lean_ctor_get(x_105, 0); -lean_inc(x_106); -x_107 = lean_ctor_get(x_105, 1); +lean_object* x_107; lean_object* x_108; uint8_t x_109; +x_107 = lean_ctor_get(x_106, 0); lean_inc(x_107); -lean_dec(x_105); -x_108 = lean_unbox(x_106); +x_108 = lean_ctor_get(x_106, 1); +lean_inc(x_108); lean_dec(x_106); -x_38 = x_108; -x_39 = x_107; +x_109 = lean_unbox(x_107); +lean_dec(x_107); +x_38 = x_109; +x_39 = x_108; goto block_77; } else { -lean_object* x_109; lean_object* x_110; +lean_object* x_110; lean_object* x_111; lean_dec(x_28); -x_109 = lean_ctor_get(x_105, 0); -lean_inc(x_109); -x_110 = lean_ctor_get(x_105, 1); +x_110 = lean_ctor_get(x_106, 0); lean_inc(x_110); -lean_dec(x_105); -x_30 = x_109; -x_31 = x_110; +x_111 = lean_ctor_get(x_106, 1); +lean_inc(x_111); +lean_dec(x_106); +x_30 = x_110; +x_31 = x_111; goto block_37; } } else { -lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; -x_111 = lean_ctor_get(x_100, 1); -lean_inc(x_111); -lean_dec(x_100); -x_112 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_112, 0, x_3); -x_113 = l___private_Lean_Meta_UnificationHint_0__Lean_Meta_decodeUnificationHint_decodeConstraint___closed__6; -x_114 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_114, 0, x_113); -lean_ctor_set(x_114, 1, x_112); -x_115 = l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___closed__3; -x_116 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_116, 0, x_114); -lean_ctor_set(x_116, 1, x_115); -x_117 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_4, x_116, x_6, x_7, x_8, x_9, x_111); -x_118 = lean_ctor_get(x_117, 0); -lean_inc(x_118); -x_119 = lean_ctor_get(x_117, 1); +lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; +x_112 = lean_ctor_get(x_101, 1); +lean_inc(x_112); +lean_dec(x_101); +x_113 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_113, 0, x_3); +x_114 = l___private_Lean_Meta_UnificationHint_0__Lean_Meta_decodeUnificationHint_decodeConstraint___closed__6; +x_115 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_115, 0, x_114); +lean_ctor_set(x_115, 1, x_113); +x_116 = l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___closed__3; +x_117 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_117, 0, x_115); +lean_ctor_set(x_117, 1, x_116); +x_118 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_4, x_117, x_6, x_7, x_8, x_9, x_112); +x_119 = lean_ctor_get(x_118, 0); lean_inc(x_119); -lean_dec(x_117); +x_120 = lean_ctor_get(x_118, 1); +lean_inc(x_120); +lean_dec(x_118); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -x_120 = l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___lambda__3(x_99, x_88, x_94, x_93, x_118, x_6, x_7, x_8, x_9, x_119); -if (lean_obj_tag(x_120) == 0) +x_121 = l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___lambda__3(x_100, x_89, x_95, x_94, x_119, x_6, x_7, x_8, x_9, x_120); +if (lean_obj_tag(x_121) == 0) { -lean_object* x_121; lean_object* x_122; uint8_t x_123; -x_121 = lean_ctor_get(x_120, 0); -lean_inc(x_121); -x_122 = lean_ctor_get(x_120, 1); +lean_object* x_122; lean_object* x_123; uint8_t x_124; +x_122 = lean_ctor_get(x_121, 0); lean_inc(x_122); -lean_dec(x_120); -x_123 = lean_unbox(x_121); +x_123 = lean_ctor_get(x_121, 1); +lean_inc(x_123); lean_dec(x_121); -x_38 = x_123; -x_39 = x_122; +x_124 = lean_unbox(x_122); +lean_dec(x_122); +x_38 = x_124; +x_39 = x_123; goto block_77; } else { -lean_object* x_124; lean_object* x_125; +lean_object* x_125; lean_object* x_126; lean_dec(x_28); -x_124 = lean_ctor_get(x_120, 0); -lean_inc(x_124); -x_125 = lean_ctor_get(x_120, 1); +x_125 = lean_ctor_get(x_121, 0); lean_inc(x_125); -lean_dec(x_120); -x_30 = x_124; -x_31 = x_125; +x_126 = lean_ctor_get(x_121, 1); +lean_inc(x_126); +lean_dec(x_121); +x_30 = x_125; +x_31 = x_126; goto block_37; } } @@ -6825,19 +6794,19 @@ goto block_37; } else { -lean_object* x_190; lean_object* x_191; +lean_object* x_191; lean_object* x_192; lean_dec(x_28); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_190 = lean_ctor_get(x_78, 0); -lean_inc(x_190); -x_191 = lean_ctor_get(x_78, 1); +x_191 = lean_ctor_get(x_78, 0); lean_inc(x_191); +x_192 = lean_ctor_get(x_78, 1); +lean_inc(x_192); lean_dec(x_78); -x_30 = x_190; -x_31 = x_191; +x_30 = x_191; +x_31 = x_192; goto block_37; } block_37: @@ -7023,579 +6992,394 @@ goto block_37; } else { -lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; uint8_t x_211; lean_object* x_212; lean_object* x_243; -x_192 = lean_ctor_get(x_18, 0); -x_193 = lean_ctor_get(x_18, 1); -x_194 = lean_ctor_get(x_18, 2); -x_195 = lean_ctor_get(x_18, 3); -x_196 = lean_ctor_get(x_18, 4); +lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; uint8_t x_212; lean_object* x_213; lean_object* x_244; +x_193 = lean_ctor_get(x_18, 0); +x_194 = lean_ctor_get(x_18, 1); +x_195 = lean_ctor_get(x_18, 2); +x_196 = lean_ctor_get(x_18, 3); +x_197 = lean_ctor_get(x_18, 4); +lean_inc(x_197); lean_inc(x_196); lean_inc(x_195); lean_inc(x_194); lean_inc(x_193); -lean_inc(x_192); lean_dec(x_18); -x_197 = l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___closed__1; -x_198 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_198, 0, x_192); -lean_ctor_set(x_198, 1, x_193); -lean_ctor_set(x_198, 2, x_194); -lean_ctor_set(x_198, 3, x_195); -lean_ctor_set(x_198, 4, x_196); -lean_ctor_set(x_198, 5, x_197); -lean_ctor_set(x_17, 1, x_198); -x_199 = lean_st_ref_set(x_7, x_17, x_19); -x_200 = lean_ctor_get(x_199, 1); -lean_inc(x_200); -lean_dec(x_199); -x_201 = l_Lean_Meta_getResetPostponed(x_6, x_7, x_8, x_9, x_200); -x_202 = lean_ctor_get(x_201, 0); -lean_inc(x_202); -x_203 = lean_ctor_get(x_201, 1); +x_198 = l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___closed__1; +x_199 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_199, 0, x_193); +lean_ctor_set(x_199, 1, x_194); +lean_ctor_set(x_199, 2, x_195); +lean_ctor_set(x_199, 3, x_196); +lean_ctor_set(x_199, 4, x_197); +lean_ctor_set(x_199, 5, x_198); +lean_ctor_set(x_17, 1, x_199); +x_200 = lean_st_ref_set(x_7, x_17, x_19); +x_201 = lean_ctor_get(x_200, 1); +lean_inc(x_201); +lean_dec(x_200); +x_202 = l_Lean_Meta_getResetPostponed(x_6, x_7, x_8, x_9, x_201); +x_203 = lean_ctor_get(x_202, 0); lean_inc(x_203); -lean_dec(x_201); +x_204 = lean_ctor_get(x_202, 1); +lean_inc(x_204); +lean_dec(x_202); lean_inc(x_3); -x_243 = l_Lean_getConstInfo___at_Lean_Meta_mkConstWithFreshMVarLevels___spec__1(x_3, x_6, x_7, x_8, x_9, x_203); -if (lean_obj_tag(x_243) == 0) +x_244 = l_Lean_getConstInfo___at_Lean_Meta_mkConstWithFreshMVarLevels___spec__1(x_3, x_6, x_7, x_8, x_9, x_204); +if (lean_obj_tag(x_244) == 0) { -lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_292; -x_244 = lean_ctor_get(x_243, 0); -lean_inc(x_244); -x_245 = lean_ctor_get(x_243, 1); +lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_294; +x_245 = lean_ctor_get(x_244, 0); lean_inc(x_245); -lean_dec(x_243); -x_246 = l_Lean_ConstantInfo_levelParams(x_244); -x_247 = l_List_mapM___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__1(x_246, x_6, x_7, x_8, x_9, x_245); -x_248 = lean_ctor_get(x_247, 0); -lean_inc(x_248); -x_249 = lean_ctor_get(x_247, 1); -lean_inc(x_249); -lean_dec(x_247); +x_246 = lean_ctor_get(x_244, 1); +lean_inc(x_246); +lean_dec(x_244); +x_247 = l_Lean_ConstantInfo_levelParams(x_245); +x_248 = lean_box(0); +x_249 = l_List_mapM_loop___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__1(x_247, x_248, x_6, x_7, x_8, x_9, x_246); +x_250 = lean_ctor_get(x_249, 0); +lean_inc(x_250); +x_251 = lean_ctor_get(x_249, 1); +lean_inc(x_251); +lean_dec(x_249); lean_inc(x_9); lean_inc(x_8); -x_250 = l_Lean_Core_instantiateValueLevelParams(x_244, x_248, x_8, x_9, x_249); -lean_dec(x_244); -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 = lean_box(0); +x_252 = l_Lean_Core_instantiateValueLevelParams(x_245, x_250, x_8, x_9, x_251); +lean_dec(x_245); +x_253 = lean_ctor_get(x_252, 0); +lean_inc(x_253); +x_254 = lean_ctor_get(x_252, 1); +lean_inc(x_254); +lean_dec(x_252); +x_255 = lean_box(0); lean_inc(x_6); -x_254 = l_Lean_Meta_lambdaMetaTelescope(x_251, x_253, x_6, x_7, x_8, x_9, x_252); -lean_dec(x_251); -x_255 = lean_ctor_get(x_254, 0); -lean_inc(x_255); -x_256 = lean_ctor_get(x_255, 1); -lean_inc(x_256); -x_257 = lean_ctor_get(x_254, 1); +x_256 = l_Lean_Meta_lambdaMetaTelescope(x_253, x_255, x_6, x_7, x_8, x_9, x_254); +lean_dec(x_253); +x_257 = lean_ctor_get(x_256, 0); lean_inc(x_257); -lean_dec(x_254); -x_258 = lean_ctor_get(x_255, 0); +x_258 = lean_ctor_get(x_257, 1); lean_inc(x_258); -lean_dec(x_255); -x_259 = lean_ctor_get(x_256, 0); +x_259 = lean_ctor_get(x_256, 1); lean_inc(x_259); -x_260 = lean_ctor_get(x_256, 1); -lean_inc(x_260); lean_dec(x_256); -x_292 = l___private_Lean_Meta_UnificationHint_0__Lean_Meta_decodeUnificationHint(x_260); -if (lean_obj_tag(x_292) == 0) +x_260 = lean_ctor_get(x_257, 0); +lean_inc(x_260); +lean_dec(x_257); +x_261 = lean_ctor_get(x_258, 0); +lean_inc(x_261); +x_262 = lean_ctor_get(x_258, 1); +lean_inc(x_262); +lean_dec(x_258); +x_294 = l___private_Lean_Meta_UnificationHint_0__Lean_Meta_decodeUnificationHint(x_262); +if (lean_obj_tag(x_294) == 0) { -lean_dec(x_292); +lean_dec(x_294); lean_dec(x_2); lean_dec(x_1); -x_261 = x_253; -x_262 = x_257; -goto block_291; +x_263 = x_255; +x_264 = x_259; +goto block_293; } else { -lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; uint8_t x_300; uint8_t x_301; uint8_t x_302; uint8_t x_303; uint8_t x_304; uint8_t x_305; uint8_t x_306; uint8_t x_307; uint8_t x_308; uint8_t x_309; uint8_t x_310; uint8_t x_311; uint8_t x_312; lean_object* x_313; uint8_t x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; -x_293 = lean_ctor_get(x_6, 0); -lean_inc(x_293); -x_294 = lean_ctor_get(x_292, 0); -lean_inc(x_294); -lean_dec(x_292); -x_295 = lean_ctor_get(x_6, 1); +lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; uint8_t x_302; uint8_t x_303; uint8_t x_304; uint8_t x_305; uint8_t x_306; uint8_t x_307; uint8_t x_308; uint8_t x_309; uint8_t x_310; uint8_t x_311; uint8_t x_312; uint8_t x_313; uint8_t x_314; lean_object* x_315; uint8_t x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; lean_object* x_320; lean_object* x_321; +x_295 = lean_ctor_get(x_6, 0); lean_inc(x_295); -x_296 = lean_ctor_get(x_6, 2); +x_296 = lean_ctor_get(x_294, 0); lean_inc(x_296); -x_297 = lean_ctor_get(x_6, 3); +lean_dec(x_294); +x_297 = lean_ctor_get(x_6, 1); lean_inc(x_297); -x_298 = lean_ctor_get(x_6, 4); +x_298 = lean_ctor_get(x_6, 2); lean_inc(x_298); -x_299 = lean_ctor_get(x_6, 5); +x_299 = lean_ctor_get(x_6, 3); lean_inc(x_299); -x_300 = lean_ctor_get_uint8(x_293, 0); -x_301 = lean_ctor_get_uint8(x_293, 1); -x_302 = lean_ctor_get_uint8(x_293, 2); -x_303 = lean_ctor_get_uint8(x_293, 3); -x_304 = lean_ctor_get_uint8(x_293, 4); -x_305 = lean_ctor_get_uint8(x_293, 5); -x_306 = lean_ctor_get_uint8(x_293, 6); -x_307 = lean_ctor_get_uint8(x_293, 7); -x_308 = lean_ctor_get_uint8(x_293, 9); -x_309 = lean_ctor_get_uint8(x_293, 10); -x_310 = lean_ctor_get_uint8(x_293, 11); -x_311 = lean_ctor_get_uint8(x_293, 12); -x_312 = lean_ctor_get_uint8(x_293, 13); -if (lean_is_exclusive(x_293)) { - x_313 = x_293; +x_300 = lean_ctor_get(x_6, 4); +lean_inc(x_300); +x_301 = lean_ctor_get(x_6, 5); +lean_inc(x_301); +x_302 = lean_ctor_get_uint8(x_295, 0); +x_303 = lean_ctor_get_uint8(x_295, 1); +x_304 = lean_ctor_get_uint8(x_295, 2); +x_305 = lean_ctor_get_uint8(x_295, 3); +x_306 = lean_ctor_get_uint8(x_295, 4); +x_307 = lean_ctor_get_uint8(x_295, 5); +x_308 = lean_ctor_get_uint8(x_295, 6); +x_309 = lean_ctor_get_uint8(x_295, 7); +x_310 = lean_ctor_get_uint8(x_295, 9); +x_311 = lean_ctor_get_uint8(x_295, 10); +x_312 = lean_ctor_get_uint8(x_295, 11); +x_313 = lean_ctor_get_uint8(x_295, 12); +x_314 = lean_ctor_get_uint8(x_295, 13); +if (lean_is_exclusive(x_295)) { + x_315 = x_295; } else { - lean_dec_ref(x_293); - x_313 = lean_box(0); + lean_dec_ref(x_295); + x_315 = lean_box(0); } -x_314 = 0; -if (lean_is_scalar(x_313)) { - x_315 = lean_alloc_ctor(0, 0, 14); +x_316 = 0; +if (lean_is_scalar(x_315)) { + x_317 = lean_alloc_ctor(0, 0, 14); } else { - x_315 = x_313; + x_317 = x_315; } -lean_ctor_set_uint8(x_315, 0, x_300); -lean_ctor_set_uint8(x_315, 1, x_301); -lean_ctor_set_uint8(x_315, 2, x_302); -lean_ctor_set_uint8(x_315, 3, x_303); -lean_ctor_set_uint8(x_315, 4, x_304); -lean_ctor_set_uint8(x_315, 5, x_305); -lean_ctor_set_uint8(x_315, 6, x_306); -lean_ctor_set_uint8(x_315, 7, x_307); -lean_ctor_set_uint8(x_315, 8, x_314); -lean_ctor_set_uint8(x_315, 9, x_308); -lean_ctor_set_uint8(x_315, 10, x_309); -lean_ctor_set_uint8(x_315, 11, x_310); -lean_ctor_set_uint8(x_315, 12, x_311); -lean_ctor_set_uint8(x_315, 13, x_312); -x_316 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_316, 0, x_315); -lean_ctor_set(x_316, 1, x_295); -lean_ctor_set(x_316, 2, x_296); -lean_ctor_set(x_316, 3, x_297); -lean_ctor_set(x_316, 4, x_298); -lean_ctor_set(x_316, 5, x_299); -x_317 = lean_ctor_get(x_294, 0); -lean_inc(x_317); -x_318 = lean_ctor_get(x_317, 0); -lean_inc(x_318); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_316); -x_319 = l_Lean_Meta_tryUnificationHints_isDefEqPattern(x_318, x_1, x_316, x_7, x_8, x_9, x_257); -if (lean_obj_tag(x_319) == 0) -{ -lean_object* x_320; uint8_t x_321; +lean_ctor_set_uint8(x_317, 0, x_302); +lean_ctor_set_uint8(x_317, 1, x_303); +lean_ctor_set_uint8(x_317, 2, x_304); +lean_ctor_set_uint8(x_317, 3, x_305); +lean_ctor_set_uint8(x_317, 4, x_306); +lean_ctor_set_uint8(x_317, 5, x_307); +lean_ctor_set_uint8(x_317, 6, x_308); +lean_ctor_set_uint8(x_317, 7, x_309); +lean_ctor_set_uint8(x_317, 8, x_316); +lean_ctor_set_uint8(x_317, 9, x_310); +lean_ctor_set_uint8(x_317, 10, x_311); +lean_ctor_set_uint8(x_317, 11, x_312); +lean_ctor_set_uint8(x_317, 12, x_313); +lean_ctor_set_uint8(x_317, 13, x_314); +x_318 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_318, 0, x_317); +lean_ctor_set(x_318, 1, x_297); +lean_ctor_set(x_318, 2, x_298); +lean_ctor_set(x_318, 3, x_299); +lean_ctor_set(x_318, 4, x_300); +lean_ctor_set(x_318, 5, x_301); +x_319 = lean_ctor_get(x_296, 0); +lean_inc(x_319); x_320 = lean_ctor_get(x_319, 0); lean_inc(x_320); -x_321 = lean_unbox(x_320); -lean_dec(x_320); -if (x_321 == 0) -{ -lean_object* x_322; -lean_dec(x_317); -lean_dec(x_316); -lean_dec(x_294); -lean_dec(x_2); -x_322 = lean_ctor_get(x_319, 1); -lean_inc(x_322); -lean_dec(x_319); -x_261 = x_253; -x_262 = x_322; -goto block_291; -} -else -{ -lean_object* x_323; lean_object* x_324; lean_object* x_325; -x_323 = lean_ctor_get(x_319, 1); -lean_inc(x_323); -lean_dec(x_319); -x_324 = lean_ctor_get(x_317, 1); -lean_inc(x_324); -lean_dec(x_317); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); -x_325 = l_Lean_Meta_tryUnificationHints_isDefEqPattern(x_324, x_2, x_316, x_7, x_8, x_9, x_323); -if (lean_obj_tag(x_325) == 0) +lean_inc(x_318); +x_321 = l_Lean_Meta_tryUnificationHints_isDefEqPattern(x_320, x_1, x_318, x_7, x_8, x_9, x_259); +if (lean_obj_tag(x_321) == 0) { -lean_object* x_326; uint8_t x_327; -x_326 = lean_ctor_get(x_325, 0); -lean_inc(x_326); -x_327 = lean_unbox(x_326); -lean_dec(x_326); -if (x_327 == 0) +lean_object* x_322; uint8_t x_323; +x_322 = lean_ctor_get(x_321, 0); +lean_inc(x_322); +x_323 = lean_unbox(x_322); +lean_dec(x_322); +if (x_323 == 0) { -lean_object* x_328; -lean_dec(x_294); -x_328 = lean_ctor_get(x_325, 1); -lean_inc(x_328); -lean_dec(x_325); -x_261 = x_253; -x_262 = x_328; -goto block_291; +lean_object* x_324; +lean_dec(x_319); +lean_dec(x_318); +lean_dec(x_296); +lean_dec(x_2); +x_324 = lean_ctor_get(x_321, 1); +lean_inc(x_324); +lean_dec(x_321); +x_263 = x_255; +x_264 = x_324; +goto block_293; } else { -lean_object* x_329; lean_object* x_330; -x_329 = lean_ctor_get(x_325, 1); -lean_inc(x_329); -lean_dec(x_325); -x_330 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_330, 0, x_294); -x_261 = x_330; -x_262 = x_329; -goto block_291; -} +lean_object* x_325; lean_object* x_326; lean_object* x_327; +x_325 = lean_ctor_get(x_321, 1); +lean_inc(x_325); +lean_dec(x_321); +x_326 = lean_ctor_get(x_319, 1); +lean_inc(x_326); +lean_dec(x_319); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_327 = l_Lean_Meta_tryUnificationHints_isDefEqPattern(x_326, x_2, x_318, x_7, x_8, x_9, x_325); +if (lean_obj_tag(x_327) == 0) +{ +lean_object* x_328; uint8_t x_329; +x_328 = lean_ctor_get(x_327, 0); +lean_inc(x_328); +x_329 = lean_unbox(x_328); +lean_dec(x_328); +if (x_329 == 0) +{ +lean_object* x_330; +lean_dec(x_296); +x_330 = lean_ctor_get(x_327, 1); +lean_inc(x_330); +lean_dec(x_327); +x_263 = x_255; +x_264 = x_330; +goto block_293; } else { lean_object* x_331; lean_object* x_332; -lean_dec(x_294); -lean_dec(x_259); -lean_dec(x_258); -lean_dec(x_202); -lean_dec(x_4); -lean_dec(x_3); -x_331 = lean_ctor_get(x_325, 0); +x_331 = lean_ctor_get(x_327, 1); lean_inc(x_331); -x_332 = lean_ctor_get(x_325, 1); -lean_inc(x_332); -lean_dec(x_325); -x_204 = x_331; -x_205 = x_332; -goto block_210; -} +lean_dec(x_327); +x_332 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_332, 0, x_296); +x_263 = x_332; +x_264 = x_331; +goto block_293; } } else { lean_object* x_333; lean_object* x_334; -lean_dec(x_317); -lean_dec(x_316); -lean_dec(x_294); -lean_dec(x_259); -lean_dec(x_258); -lean_dec(x_202); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_333 = lean_ctor_get(x_319, 0); -lean_inc(x_333); -x_334 = lean_ctor_get(x_319, 1); -lean_inc(x_334); -lean_dec(x_319); -x_204 = x_333; -x_205 = x_334; -goto block_210; -} -} -block_291: -{ -if (lean_obj_tag(x_261) == 0) -{ -uint8_t x_263; -lean_dec(x_259); -lean_dec(x_258); -lean_dec(x_4); -lean_dec(x_3); -x_263 = 0; -x_211 = x_263; -x_212 = x_262; -goto block_242; -} -else -{ -lean_object* x_264; lean_object* x_265; lean_object* x_266; uint8_t x_267; -x_264 = lean_ctor_get(x_261, 0); -lean_inc(x_264); +lean_dec(x_296); lean_dec(x_261); -lean_inc(x_4); -x_265 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_4, x_6, x_7, x_8, x_9, x_262); -x_266 = lean_ctor_get(x_265, 0); -lean_inc(x_266); -x_267 = lean_unbox(x_266); -lean_dec(x_266); -if (x_267 == 0) -{ -lean_object* x_268; lean_object* x_269; lean_object* x_270; +lean_dec(x_260); +lean_dec(x_203); lean_dec(x_4); lean_dec(x_3); -x_268 = lean_ctor_get(x_265, 1); -lean_inc(x_268); -lean_dec(x_265); -x_269 = lean_box(0); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -x_270 = l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___lambda__3(x_264, x_253, x_259, x_258, x_269, x_6, x_7, x_8, x_9, x_268); -if (lean_obj_tag(x_270) == 0) -{ -lean_object* x_271; lean_object* x_272; uint8_t x_273; -x_271 = lean_ctor_get(x_270, 0); -lean_inc(x_271); -x_272 = lean_ctor_get(x_270, 1); -lean_inc(x_272); -lean_dec(x_270); -x_273 = lean_unbox(x_271); -lean_dec(x_271); -x_211 = x_273; -x_212 = x_272; -goto block_242; -} -else -{ -lean_object* x_274; lean_object* x_275; -lean_dec(x_202); -x_274 = lean_ctor_get(x_270, 0); -lean_inc(x_274); -x_275 = lean_ctor_get(x_270, 1); -lean_inc(x_275); -lean_dec(x_270); -x_204 = x_274; -x_205 = x_275; -goto block_210; -} -} -else -{ -lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; -x_276 = lean_ctor_get(x_265, 1); -lean_inc(x_276); -lean_dec(x_265); -x_277 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_277, 0, x_3); -x_278 = l___private_Lean_Meta_UnificationHint_0__Lean_Meta_decodeUnificationHint_decodeConstraint___closed__6; -x_279 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_279, 0, x_278); -lean_ctor_set(x_279, 1, x_277); -x_280 = l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___closed__3; -x_281 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_281, 0, x_279); -lean_ctor_set(x_281, 1, x_280); -x_282 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_4, x_281, x_6, x_7, x_8, x_9, x_276); -x_283 = lean_ctor_get(x_282, 0); -lean_inc(x_283); -x_284 = lean_ctor_get(x_282, 1); -lean_inc(x_284); -lean_dec(x_282); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -x_285 = l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___lambda__3(x_264, x_253, x_259, x_258, x_283, x_6, x_7, x_8, x_9, x_284); -if (lean_obj_tag(x_285) == 0) -{ -lean_object* x_286; lean_object* x_287; uint8_t x_288; -x_286 = lean_ctor_get(x_285, 0); -lean_inc(x_286); -x_287 = lean_ctor_get(x_285, 1); -lean_inc(x_287); -lean_dec(x_285); -x_288 = lean_unbox(x_286); -lean_dec(x_286); -x_211 = x_288; -x_212 = x_287; -goto block_242; -} -else -{ -lean_object* x_289; lean_object* x_290; -lean_dec(x_202); -x_289 = lean_ctor_get(x_285, 0); -lean_inc(x_289); -x_290 = lean_ctor_get(x_285, 1); -lean_inc(x_290); -lean_dec(x_285); -x_204 = x_289; -x_205 = x_290; -goto block_210; -} -} +x_333 = lean_ctor_get(x_327, 0); +lean_inc(x_333); +x_334 = lean_ctor_get(x_327, 1); +lean_inc(x_334); +lean_dec(x_327); +x_205 = x_333; +x_206 = x_334; +goto block_211; } } } else { lean_object* x_335; lean_object* x_336; -lean_dec(x_202); +lean_dec(x_319); +lean_dec(x_318); +lean_dec(x_296); +lean_dec(x_261); +lean_dec(x_260); +lean_dec(x_203); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -lean_dec(x_1); -x_335 = lean_ctor_get(x_243, 0); +x_335 = lean_ctor_get(x_321, 0); lean_inc(x_335); -x_336 = lean_ctor_get(x_243, 1); +x_336 = lean_ctor_get(x_321, 1); lean_inc(x_336); -lean_dec(x_243); -x_204 = x_335; -x_205 = x_336; -goto block_210; +lean_dec(x_321); +x_205 = x_335; +x_206 = x_336; +goto block_211; } -block_210: +} +block_293: { -lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; -x_206 = l_Lean_Meta_SavedState_restore(x_12, x_6, x_7, x_8, x_9, x_205); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_12); -x_207 = lean_ctor_get(x_206, 1); -lean_inc(x_207); -if (lean_is_exclusive(x_206)) { - lean_ctor_release(x_206, 0); - lean_ctor_release(x_206, 1); - x_208 = x_206; -} else { - lean_dec_ref(x_206); - x_208 = lean_box(0); -} -if (lean_is_scalar(x_208)) { - x_209 = lean_alloc_ctor(1, 2, 0); -} else { - x_209 = x_208; - lean_ctor_set_tag(x_209, 1); -} -lean_ctor_set(x_209, 0, x_204); -lean_ctor_set(x_209, 1, x_207); -return x_209; -} -block_242: +if (lean_obj_tag(x_263) == 0) { -if (x_211 == 0) -{ -lean_object* x_213; lean_object* x_214; lean_object* x_215; uint8_t x_216; lean_object* x_217; lean_object* x_218; -lean_dec(x_202); -x_213 = l_Lean_Meta_SavedState_restore(x_12, x_6, x_7, x_8, x_9, x_212); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_12); -x_214 = lean_ctor_get(x_213, 1); -lean_inc(x_214); -if (lean_is_exclusive(x_213)) { - lean_ctor_release(x_213, 0); - lean_ctor_release(x_213, 1); - x_215 = x_213; -} else { - lean_dec_ref(x_213); - x_215 = lean_box(0); -} -x_216 = 0; -x_217 = lean_box(x_216); -if (lean_is_scalar(x_215)) { - x_218 = lean_alloc_ctor(0, 2, 0); -} else { - x_218 = x_215; -} -lean_ctor_set(x_218, 0, x_217); -lean_ctor_set(x_218, 1, x_214); -return x_218; +uint8_t x_265; +lean_dec(x_261); +lean_dec(x_260); +lean_dec(x_4); +lean_dec(x_3); +x_265 = 0; +x_212 = x_265; +x_213 = x_264; +goto block_243; } else { -uint8_t x_219; lean_object* x_220; -x_219 = 0; +lean_object* x_266; lean_object* x_267; lean_object* x_268; uint8_t x_269; +x_266 = lean_ctor_get(x_263, 0); +lean_inc(x_266); +lean_dec(x_263); +lean_inc(x_4); +x_267 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_4, x_6, x_7, x_8, x_9, x_264); +x_268 = lean_ctor_get(x_267, 0); +lean_inc(x_268); +x_269 = lean_unbox(x_268); +lean_dec(x_268); +if (x_269 == 0) +{ +lean_object* x_270; lean_object* x_271; lean_object* x_272; +lean_dec(x_4); +lean_dec(x_3); +x_270 = lean_ctor_get(x_267, 1); +lean_inc(x_270); +lean_dec(x_267); +x_271 = lean_box(0); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -x_220 = l_Lean_Meta_processPostponed(x_5, x_219, x_6, x_7, x_8, x_9, x_212); -if (lean_obj_tag(x_220) == 0) +x_272 = l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___lambda__3(x_266, x_255, x_261, x_260, x_271, x_6, x_7, x_8, x_9, x_270); +if (lean_obj_tag(x_272) == 0) { -lean_object* x_221; uint8_t x_222; -x_221 = lean_ctor_get(x_220, 0); -lean_inc(x_221); -x_222 = lean_unbox(x_221); -lean_dec(x_221); -if (x_222 == 0) -{ -lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; -lean_dec(x_202); -x_223 = lean_ctor_get(x_220, 1); -lean_inc(x_223); -lean_dec(x_220); -x_224 = l_Lean_Meta_SavedState_restore(x_12, x_6, x_7, x_8, x_9, x_223); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_12); -x_225 = lean_ctor_get(x_224, 1); -lean_inc(x_225); -if (lean_is_exclusive(x_224)) { - lean_ctor_release(x_224, 0); - lean_ctor_release(x_224, 1); - x_226 = x_224; -} else { - lean_dec_ref(x_224); - x_226 = lean_box(0); -} -x_227 = lean_box(x_219); -if (lean_is_scalar(x_226)) { - x_228 = lean_alloc_ctor(0, 2, 0); -} else { - x_228 = x_226; -} -lean_ctor_set(x_228, 0, x_227); -lean_ctor_set(x_228, 1, x_225); -return x_228; +lean_object* x_273; lean_object* x_274; uint8_t x_275; +x_273 = lean_ctor_get(x_272, 0); +lean_inc(x_273); +x_274 = lean_ctor_get(x_272, 1); +lean_inc(x_274); +lean_dec(x_272); +x_275 = lean_unbox(x_273); +lean_dec(x_273); +x_212 = x_275; +x_213 = x_274; +goto block_243; } else { -lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; uint8_t x_237; lean_object* x_238; lean_object* x_239; -lean_dec(x_12); -x_229 = lean_ctor_get(x_220, 1); -lean_inc(x_229); -lean_dec(x_220); -x_230 = l_Lean_Meta_getPostponed___rarg(x_7, x_8, x_9, x_229); -x_231 = lean_ctor_get(x_230, 0); -lean_inc(x_231); -x_232 = lean_ctor_get(x_230, 1); -lean_inc(x_232); -lean_dec(x_230); -x_233 = l_Std_PersistentArray_append___rarg(x_202, x_231); -x_234 = l_Lean_Meta_setPostponed(x_233, x_6, x_7, x_8, x_9, x_232); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -x_235 = lean_ctor_get(x_234, 1); -lean_inc(x_235); -if (lean_is_exclusive(x_234)) { - lean_ctor_release(x_234, 0); - lean_ctor_release(x_234, 1); - x_236 = x_234; -} else { - lean_dec_ref(x_234); - x_236 = lean_box(0); -} -x_237 = 1; -x_238 = lean_box(x_237); -if (lean_is_scalar(x_236)) { - x_239 = lean_alloc_ctor(0, 2, 0); -} else { - x_239 = x_236; -} -lean_ctor_set(x_239, 0, x_238); -lean_ctor_set(x_239, 1, x_235); -return x_239; +lean_object* x_276; lean_object* x_277; +lean_dec(x_203); +x_276 = lean_ctor_get(x_272, 0); +lean_inc(x_276); +x_277 = lean_ctor_get(x_272, 1); +lean_inc(x_277); +lean_dec(x_272); +x_205 = x_276; +x_206 = x_277; +goto block_211; } } else { -lean_object* x_240; lean_object* x_241; -lean_dec(x_202); -x_240 = lean_ctor_get(x_220, 0); -lean_inc(x_240); -x_241 = lean_ctor_get(x_220, 1); -lean_inc(x_241); -lean_dec(x_220); -x_204 = x_240; -x_205 = x_241; -goto block_210; +lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; +x_278 = lean_ctor_get(x_267, 1); +lean_inc(x_278); +lean_dec(x_267); +x_279 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_279, 0, x_3); +x_280 = l___private_Lean_Meta_UnificationHint_0__Lean_Meta_decodeUnificationHint_decodeConstraint___closed__6; +x_281 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_281, 0, x_280); +lean_ctor_set(x_281, 1, x_279); +x_282 = l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___closed__3; +x_283 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_283, 0, x_281); +lean_ctor_set(x_283, 1, x_282); +x_284 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_4, x_283, x_6, x_7, x_8, x_9, x_278); +x_285 = lean_ctor_get(x_284, 0); +lean_inc(x_285); +x_286 = lean_ctor_get(x_284, 1); +lean_inc(x_286); +lean_dec(x_284); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_287 = l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___lambda__3(x_266, x_255, x_261, x_260, x_285, x_6, x_7, x_8, x_9, x_286); +if (lean_obj_tag(x_287) == 0) +{ +lean_object* x_288; lean_object* x_289; uint8_t x_290; +x_288 = lean_ctor_get(x_287, 0); +lean_inc(x_288); +x_289 = lean_ctor_get(x_287, 1); +lean_inc(x_289); +lean_dec(x_287); +x_290 = lean_unbox(x_288); +lean_dec(x_288); +x_212 = x_290; +x_213 = x_289; +goto block_243; +} +else +{ +lean_object* x_291; lean_object* x_292; +lean_dec(x_203); +x_291 = lean_ctor_get(x_287, 0); +lean_inc(x_291); +x_292 = lean_ctor_get(x_287, 1); +lean_inc(x_292); +lean_dec(x_287); +x_205 = x_291; +x_206 = x_292; +goto block_211; } } } @@ -7603,24 +7387,210 @@ goto block_210; } else { -lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; uint8_t x_361; lean_object* x_362; lean_object* x_393; -x_337 = lean_ctor_get(x_17, 0); -x_338 = lean_ctor_get(x_17, 2); -x_339 = lean_ctor_get(x_17, 3); -lean_inc(x_339); -lean_inc(x_338); +lean_object* x_337; lean_object* x_338; +lean_dec(x_203); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_337 = lean_ctor_get(x_244, 0); lean_inc(x_337); -lean_dec(x_17); -x_340 = lean_ctor_get(x_18, 0); -lean_inc(x_340); -x_341 = lean_ctor_get(x_18, 1); +x_338 = lean_ctor_get(x_244, 1); +lean_inc(x_338); +lean_dec(x_244); +x_205 = x_337; +x_206 = x_338; +goto block_211; +} +block_211: +{ +lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; +x_207 = l_Lean_Meta_SavedState_restore(x_12, x_6, x_7, x_8, x_9, x_206); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_12); +x_208 = lean_ctor_get(x_207, 1); +lean_inc(x_208); +if (lean_is_exclusive(x_207)) { + lean_ctor_release(x_207, 0); + lean_ctor_release(x_207, 1); + x_209 = x_207; +} else { + lean_dec_ref(x_207); + x_209 = lean_box(0); +} +if (lean_is_scalar(x_209)) { + x_210 = lean_alloc_ctor(1, 2, 0); +} else { + x_210 = x_209; + lean_ctor_set_tag(x_210, 1); +} +lean_ctor_set(x_210, 0, x_205); +lean_ctor_set(x_210, 1, x_208); +return x_210; +} +block_243: +{ +if (x_212 == 0) +{ +lean_object* x_214; lean_object* x_215; lean_object* x_216; uint8_t x_217; lean_object* x_218; lean_object* x_219; +lean_dec(x_203); +x_214 = l_Lean_Meta_SavedState_restore(x_12, x_6, x_7, x_8, x_9, x_213); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_12); +x_215 = lean_ctor_get(x_214, 1); +lean_inc(x_215); +if (lean_is_exclusive(x_214)) { + lean_ctor_release(x_214, 0); + lean_ctor_release(x_214, 1); + x_216 = x_214; +} else { + lean_dec_ref(x_214); + x_216 = lean_box(0); +} +x_217 = 0; +x_218 = lean_box(x_217); +if (lean_is_scalar(x_216)) { + x_219 = lean_alloc_ctor(0, 2, 0); +} else { + x_219 = x_216; +} +lean_ctor_set(x_219, 0, x_218); +lean_ctor_set(x_219, 1, x_215); +return x_219; +} +else +{ +uint8_t x_220; lean_object* x_221; +x_220 = 0; +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_221 = l_Lean_Meta_processPostponed(x_5, x_220, x_6, x_7, x_8, x_9, x_213); +if (lean_obj_tag(x_221) == 0) +{ +lean_object* x_222; uint8_t x_223; +x_222 = lean_ctor_get(x_221, 0); +lean_inc(x_222); +x_223 = lean_unbox(x_222); +lean_dec(x_222); +if (x_223 == 0) +{ +lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; +lean_dec(x_203); +x_224 = lean_ctor_get(x_221, 1); +lean_inc(x_224); +lean_dec(x_221); +x_225 = l_Lean_Meta_SavedState_restore(x_12, x_6, x_7, x_8, x_9, x_224); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_12); +x_226 = lean_ctor_get(x_225, 1); +lean_inc(x_226); +if (lean_is_exclusive(x_225)) { + lean_ctor_release(x_225, 0); + lean_ctor_release(x_225, 1); + x_227 = x_225; +} else { + lean_dec_ref(x_225); + x_227 = lean_box(0); +} +x_228 = lean_box(x_220); +if (lean_is_scalar(x_227)) { + x_229 = lean_alloc_ctor(0, 2, 0); +} else { + x_229 = x_227; +} +lean_ctor_set(x_229, 0, x_228); +lean_ctor_set(x_229, 1, x_226); +return x_229; +} +else +{ +lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; uint8_t x_238; lean_object* x_239; lean_object* x_240; +lean_dec(x_12); +x_230 = lean_ctor_get(x_221, 1); +lean_inc(x_230); +lean_dec(x_221); +x_231 = l_Lean_Meta_getPostponed___rarg(x_7, x_8, x_9, x_230); +x_232 = lean_ctor_get(x_231, 0); +lean_inc(x_232); +x_233 = lean_ctor_get(x_231, 1); +lean_inc(x_233); +lean_dec(x_231); +x_234 = l_Std_PersistentArray_append___rarg(x_203, x_232); +x_235 = l_Lean_Meta_setPostponed(x_234, x_6, x_7, x_8, x_9, x_233); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +x_236 = lean_ctor_get(x_235, 1); +lean_inc(x_236); +if (lean_is_exclusive(x_235)) { + lean_ctor_release(x_235, 0); + lean_ctor_release(x_235, 1); + x_237 = x_235; +} else { + lean_dec_ref(x_235); + x_237 = lean_box(0); +} +x_238 = 1; +x_239 = lean_box(x_238); +if (lean_is_scalar(x_237)) { + x_240 = lean_alloc_ctor(0, 2, 0); +} else { + x_240 = x_237; +} +lean_ctor_set(x_240, 0, x_239); +lean_ctor_set(x_240, 1, x_236); +return x_240; +} +} +else +{ +lean_object* x_241; lean_object* x_242; +lean_dec(x_203); +x_241 = lean_ctor_get(x_221, 0); +lean_inc(x_241); +x_242 = lean_ctor_get(x_221, 1); +lean_inc(x_242); +lean_dec(x_221); +x_205 = x_241; +x_206 = x_242; +goto block_211; +} +} +} +} +} +else +{ +lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; uint8_t x_363; lean_object* x_364; lean_object* x_395; +x_339 = lean_ctor_get(x_17, 0); +x_340 = lean_ctor_get(x_17, 2); +x_341 = lean_ctor_get(x_17, 3); lean_inc(x_341); -x_342 = lean_ctor_get(x_18, 2); +lean_inc(x_340); +lean_inc(x_339); +lean_dec(x_17); +x_342 = lean_ctor_get(x_18, 0); lean_inc(x_342); -x_343 = lean_ctor_get(x_18, 3); +x_343 = lean_ctor_get(x_18, 1); lean_inc(x_343); -x_344 = lean_ctor_get(x_18, 4); +x_344 = lean_ctor_get(x_18, 2); lean_inc(x_344); +x_345 = lean_ctor_get(x_18, 3); +lean_inc(x_345); +x_346 = lean_ctor_get(x_18, 4); +lean_inc(x_346); if (lean_is_exclusive(x_18)) { lean_ctor_release(x_18, 0); lean_ctor_release(x_18, 1); @@ -7628,580 +7598,581 @@ if (lean_is_exclusive(x_18)) { lean_ctor_release(x_18, 3); lean_ctor_release(x_18, 4); lean_ctor_release(x_18, 5); - x_345 = x_18; + x_347 = x_18; } else { lean_dec_ref(x_18); - x_345 = lean_box(0); + x_347 = lean_box(0); } -x_346 = l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___closed__1; -if (lean_is_scalar(x_345)) { - x_347 = lean_alloc_ctor(0, 6, 0); +x_348 = l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___closed__1; +if (lean_is_scalar(x_347)) { + x_349 = lean_alloc_ctor(0, 6, 0); } else { - x_347 = x_345; + x_349 = x_347; } -lean_ctor_set(x_347, 0, x_340); -lean_ctor_set(x_347, 1, x_341); -lean_ctor_set(x_347, 2, x_342); -lean_ctor_set(x_347, 3, x_343); -lean_ctor_set(x_347, 4, x_344); -lean_ctor_set(x_347, 5, x_346); -x_348 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_348, 0, x_337); -lean_ctor_set(x_348, 1, x_347); -lean_ctor_set(x_348, 2, x_338); -lean_ctor_set(x_348, 3, x_339); -x_349 = lean_st_ref_set(x_7, x_348, x_19); -x_350 = lean_ctor_get(x_349, 1); -lean_inc(x_350); -lean_dec(x_349); -x_351 = l_Lean_Meta_getResetPostponed(x_6, x_7, x_8, x_9, x_350); -x_352 = lean_ctor_get(x_351, 0); +lean_ctor_set(x_349, 0, x_342); +lean_ctor_set(x_349, 1, x_343); +lean_ctor_set(x_349, 2, x_344); +lean_ctor_set(x_349, 3, x_345); +lean_ctor_set(x_349, 4, x_346); +lean_ctor_set(x_349, 5, x_348); +x_350 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_350, 0, x_339); +lean_ctor_set(x_350, 1, x_349); +lean_ctor_set(x_350, 2, x_340); +lean_ctor_set(x_350, 3, x_341); +x_351 = lean_st_ref_set(x_7, x_350, x_19); +x_352 = lean_ctor_get(x_351, 1); lean_inc(x_352); -x_353 = lean_ctor_get(x_351, 1); -lean_inc(x_353); lean_dec(x_351); +x_353 = l_Lean_Meta_getResetPostponed(x_6, x_7, x_8, x_9, x_352); +x_354 = lean_ctor_get(x_353, 0); +lean_inc(x_354); +x_355 = lean_ctor_get(x_353, 1); +lean_inc(x_355); +lean_dec(x_353); lean_inc(x_3); -x_393 = l_Lean_getConstInfo___at_Lean_Meta_mkConstWithFreshMVarLevels___spec__1(x_3, x_6, x_7, x_8, x_9, x_353); -if (lean_obj_tag(x_393) == 0) +x_395 = l_Lean_getConstInfo___at_Lean_Meta_mkConstWithFreshMVarLevels___spec__1(x_3, x_6, x_7, x_8, x_9, x_355); +if (lean_obj_tag(x_395) == 0) { -lean_object* x_394; lean_object* x_395; lean_object* x_396; lean_object* x_397; lean_object* x_398; lean_object* x_399; lean_object* x_400; lean_object* x_401; lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; lean_object* x_412; lean_object* x_442; -x_394 = lean_ctor_get(x_393, 0); -lean_inc(x_394); -x_395 = lean_ctor_get(x_393, 1); -lean_inc(x_395); -lean_dec(x_393); -x_396 = l_Lean_ConstantInfo_levelParams(x_394); -x_397 = l_List_mapM___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__1(x_396, x_6, x_7, x_8, x_9, x_395); -x_398 = lean_ctor_get(x_397, 0); -lean_inc(x_398); -x_399 = lean_ctor_get(x_397, 1); -lean_inc(x_399); -lean_dec(x_397); -lean_inc(x_9); -lean_inc(x_8); -x_400 = l_Lean_Core_instantiateValueLevelParams(x_394, x_398, x_8, x_9, x_399); -lean_dec(x_394); +lean_object* x_396; lean_object* x_397; lean_object* x_398; lean_object* x_399; lean_object* x_400; lean_object* x_401; lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; lean_object* x_412; lean_object* x_413; lean_object* x_414; lean_object* x_415; lean_object* x_445; +x_396 = lean_ctor_get(x_395, 0); +lean_inc(x_396); +x_397 = lean_ctor_get(x_395, 1); +lean_inc(x_397); +lean_dec(x_395); +x_398 = l_Lean_ConstantInfo_levelParams(x_396); +x_399 = lean_box(0); +x_400 = l_List_mapM_loop___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__1(x_398, x_399, x_6, x_7, x_8, x_9, x_397); x_401 = lean_ctor_get(x_400, 0); lean_inc(x_401); x_402 = lean_ctor_get(x_400, 1); lean_inc(x_402); lean_dec(x_400); -x_403 = lean_box(0); -lean_inc(x_6); -x_404 = l_Lean_Meta_lambdaMetaTelescope(x_401, x_403, x_6, x_7, x_8, x_9, x_402); -lean_dec(x_401); -x_405 = lean_ctor_get(x_404, 0); +lean_inc(x_9); +lean_inc(x_8); +x_403 = l_Lean_Core_instantiateValueLevelParams(x_396, x_401, x_8, x_9, x_402); +lean_dec(x_396); +x_404 = lean_ctor_get(x_403, 0); +lean_inc(x_404); +x_405 = lean_ctor_get(x_403, 1); lean_inc(x_405); -x_406 = lean_ctor_get(x_405, 1); -lean_inc(x_406); -x_407 = lean_ctor_get(x_404, 1); -lean_inc(x_407); +lean_dec(x_403); +x_406 = lean_box(0); +lean_inc(x_6); +x_407 = l_Lean_Meta_lambdaMetaTelescope(x_404, x_406, x_6, x_7, x_8, x_9, x_405); lean_dec(x_404); -x_408 = lean_ctor_get(x_405, 0); +x_408 = lean_ctor_get(x_407, 0); lean_inc(x_408); -lean_dec(x_405); -x_409 = lean_ctor_get(x_406, 0); +x_409 = lean_ctor_get(x_408, 1); lean_inc(x_409); -x_410 = lean_ctor_get(x_406, 1); +x_410 = lean_ctor_get(x_407, 1); lean_inc(x_410); -lean_dec(x_406); -x_442 = l___private_Lean_Meta_UnificationHint_0__Lean_Meta_decodeUnificationHint(x_410); -if (lean_obj_tag(x_442) == 0) +lean_dec(x_407); +x_411 = lean_ctor_get(x_408, 0); +lean_inc(x_411); +lean_dec(x_408); +x_412 = lean_ctor_get(x_409, 0); +lean_inc(x_412); +x_413 = lean_ctor_get(x_409, 1); +lean_inc(x_413); +lean_dec(x_409); +x_445 = l___private_Lean_Meta_UnificationHint_0__Lean_Meta_decodeUnificationHint(x_413); +if (lean_obj_tag(x_445) == 0) { -lean_dec(x_442); +lean_dec(x_445); lean_dec(x_2); lean_dec(x_1); -x_411 = x_403; -x_412 = x_407; -goto block_441; +x_414 = x_406; +x_415 = x_410; +goto block_444; } else { -lean_object* x_443; lean_object* x_444; lean_object* x_445; lean_object* x_446; lean_object* x_447; lean_object* x_448; lean_object* x_449; uint8_t x_450; uint8_t x_451; uint8_t x_452; uint8_t x_453; uint8_t x_454; uint8_t x_455; uint8_t x_456; uint8_t x_457; uint8_t x_458; uint8_t x_459; uint8_t x_460; uint8_t x_461; uint8_t x_462; lean_object* x_463; uint8_t x_464; lean_object* x_465; lean_object* x_466; lean_object* x_467; lean_object* x_468; lean_object* x_469; -x_443 = lean_ctor_get(x_6, 0); -lean_inc(x_443); -x_444 = lean_ctor_get(x_442, 0); -lean_inc(x_444); -lean_dec(x_442); -x_445 = lean_ctor_get(x_6, 1); -lean_inc(x_445); -x_446 = lean_ctor_get(x_6, 2); +lean_object* x_446; lean_object* x_447; lean_object* x_448; lean_object* x_449; lean_object* x_450; lean_object* x_451; lean_object* x_452; uint8_t x_453; uint8_t x_454; uint8_t x_455; uint8_t x_456; uint8_t x_457; uint8_t x_458; uint8_t x_459; uint8_t x_460; uint8_t x_461; uint8_t x_462; uint8_t x_463; uint8_t x_464; uint8_t x_465; lean_object* x_466; uint8_t x_467; lean_object* x_468; lean_object* x_469; lean_object* x_470; lean_object* x_471; lean_object* x_472; +x_446 = lean_ctor_get(x_6, 0); lean_inc(x_446); -x_447 = lean_ctor_get(x_6, 3); +x_447 = lean_ctor_get(x_445, 0); lean_inc(x_447); -x_448 = lean_ctor_get(x_6, 4); +lean_dec(x_445); +x_448 = lean_ctor_get(x_6, 1); lean_inc(x_448); -x_449 = lean_ctor_get(x_6, 5); +x_449 = lean_ctor_get(x_6, 2); lean_inc(x_449); -x_450 = lean_ctor_get_uint8(x_443, 0); -x_451 = lean_ctor_get_uint8(x_443, 1); -x_452 = lean_ctor_get_uint8(x_443, 2); -x_453 = lean_ctor_get_uint8(x_443, 3); -x_454 = lean_ctor_get_uint8(x_443, 4); -x_455 = lean_ctor_get_uint8(x_443, 5); -x_456 = lean_ctor_get_uint8(x_443, 6); -x_457 = lean_ctor_get_uint8(x_443, 7); -x_458 = lean_ctor_get_uint8(x_443, 9); -x_459 = lean_ctor_get_uint8(x_443, 10); -x_460 = lean_ctor_get_uint8(x_443, 11); -x_461 = lean_ctor_get_uint8(x_443, 12); -x_462 = lean_ctor_get_uint8(x_443, 13); -if (lean_is_exclusive(x_443)) { - x_463 = x_443; +x_450 = lean_ctor_get(x_6, 3); +lean_inc(x_450); +x_451 = lean_ctor_get(x_6, 4); +lean_inc(x_451); +x_452 = lean_ctor_get(x_6, 5); +lean_inc(x_452); +x_453 = lean_ctor_get_uint8(x_446, 0); +x_454 = lean_ctor_get_uint8(x_446, 1); +x_455 = lean_ctor_get_uint8(x_446, 2); +x_456 = lean_ctor_get_uint8(x_446, 3); +x_457 = lean_ctor_get_uint8(x_446, 4); +x_458 = lean_ctor_get_uint8(x_446, 5); +x_459 = lean_ctor_get_uint8(x_446, 6); +x_460 = lean_ctor_get_uint8(x_446, 7); +x_461 = lean_ctor_get_uint8(x_446, 9); +x_462 = lean_ctor_get_uint8(x_446, 10); +x_463 = lean_ctor_get_uint8(x_446, 11); +x_464 = lean_ctor_get_uint8(x_446, 12); +x_465 = lean_ctor_get_uint8(x_446, 13); +if (lean_is_exclusive(x_446)) { + x_466 = x_446; } else { - lean_dec_ref(x_443); - x_463 = lean_box(0); + lean_dec_ref(x_446); + x_466 = lean_box(0); } -x_464 = 0; -if (lean_is_scalar(x_463)) { - x_465 = lean_alloc_ctor(0, 0, 14); +x_467 = 0; +if (lean_is_scalar(x_466)) { + x_468 = lean_alloc_ctor(0, 0, 14); } else { - x_465 = x_463; + x_468 = x_466; } -lean_ctor_set_uint8(x_465, 0, x_450); -lean_ctor_set_uint8(x_465, 1, x_451); -lean_ctor_set_uint8(x_465, 2, x_452); -lean_ctor_set_uint8(x_465, 3, x_453); -lean_ctor_set_uint8(x_465, 4, x_454); -lean_ctor_set_uint8(x_465, 5, x_455); -lean_ctor_set_uint8(x_465, 6, x_456); -lean_ctor_set_uint8(x_465, 7, x_457); -lean_ctor_set_uint8(x_465, 8, x_464); -lean_ctor_set_uint8(x_465, 9, x_458); -lean_ctor_set_uint8(x_465, 10, x_459); -lean_ctor_set_uint8(x_465, 11, x_460); -lean_ctor_set_uint8(x_465, 12, x_461); -lean_ctor_set_uint8(x_465, 13, x_462); -x_466 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_466, 0, x_465); -lean_ctor_set(x_466, 1, x_445); -lean_ctor_set(x_466, 2, x_446); -lean_ctor_set(x_466, 3, x_447); -lean_ctor_set(x_466, 4, x_448); -lean_ctor_set(x_466, 5, x_449); -x_467 = lean_ctor_get(x_444, 0); -lean_inc(x_467); -x_468 = lean_ctor_get(x_467, 0); -lean_inc(x_468); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_466); -x_469 = l_Lean_Meta_tryUnificationHints_isDefEqPattern(x_468, x_1, x_466, x_7, x_8, x_9, x_407); -if (lean_obj_tag(x_469) == 0) -{ -lean_object* x_470; uint8_t x_471; -x_470 = lean_ctor_get(x_469, 0); +lean_ctor_set_uint8(x_468, 0, x_453); +lean_ctor_set_uint8(x_468, 1, x_454); +lean_ctor_set_uint8(x_468, 2, x_455); +lean_ctor_set_uint8(x_468, 3, x_456); +lean_ctor_set_uint8(x_468, 4, x_457); +lean_ctor_set_uint8(x_468, 5, x_458); +lean_ctor_set_uint8(x_468, 6, x_459); +lean_ctor_set_uint8(x_468, 7, x_460); +lean_ctor_set_uint8(x_468, 8, x_467); +lean_ctor_set_uint8(x_468, 9, x_461); +lean_ctor_set_uint8(x_468, 10, x_462); +lean_ctor_set_uint8(x_468, 11, x_463); +lean_ctor_set_uint8(x_468, 12, x_464); +lean_ctor_set_uint8(x_468, 13, x_465); +x_469 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_469, 0, x_468); +lean_ctor_set(x_469, 1, x_448); +lean_ctor_set(x_469, 2, x_449); +lean_ctor_set(x_469, 3, x_450); +lean_ctor_set(x_469, 4, x_451); +lean_ctor_set(x_469, 5, x_452); +x_470 = lean_ctor_get(x_447, 0); lean_inc(x_470); -x_471 = lean_unbox(x_470); -lean_dec(x_470); -if (x_471 == 0) +x_471 = lean_ctor_get(x_470, 0); +lean_inc(x_471); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_469); +x_472 = l_Lean_Meta_tryUnificationHints_isDefEqPattern(x_471, x_1, x_469, x_7, x_8, x_9, x_410); +if (lean_obj_tag(x_472) == 0) { -lean_object* x_472; -lean_dec(x_467); -lean_dec(x_466); -lean_dec(x_444); -lean_dec(x_2); -x_472 = lean_ctor_get(x_469, 1); -lean_inc(x_472); -lean_dec(x_469); -x_411 = x_403; -x_412 = x_472; -goto block_441; -} -else -{ -lean_object* x_473; lean_object* x_474; lean_object* x_475; -x_473 = lean_ctor_get(x_469, 1); +lean_object* x_473; uint8_t x_474; +x_473 = lean_ctor_get(x_472, 0); lean_inc(x_473); +x_474 = lean_unbox(x_473); +lean_dec(x_473); +if (x_474 == 0) +{ +lean_object* x_475; +lean_dec(x_470); lean_dec(x_469); -x_474 = lean_ctor_get(x_467, 1); -lean_inc(x_474); -lean_dec(x_467); +lean_dec(x_447); +lean_dec(x_2); +x_475 = lean_ctor_get(x_472, 1); +lean_inc(x_475); +lean_dec(x_472); +x_414 = x_406; +x_415 = x_475; +goto block_444; +} +else +{ +lean_object* x_476; lean_object* x_477; lean_object* x_478; +x_476 = lean_ctor_get(x_472, 1); +lean_inc(x_476); +lean_dec(x_472); +x_477 = lean_ctor_get(x_470, 1); +lean_inc(x_477); +lean_dec(x_470); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); -x_475 = l_Lean_Meta_tryUnificationHints_isDefEqPattern(x_474, x_2, x_466, x_7, x_8, x_9, x_473); -if (lean_obj_tag(x_475) == 0) +x_478 = l_Lean_Meta_tryUnificationHints_isDefEqPattern(x_477, x_2, x_469, x_7, x_8, x_9, x_476); +if (lean_obj_tag(x_478) == 0) { -lean_object* x_476; uint8_t x_477; -x_476 = lean_ctor_get(x_475, 0); -lean_inc(x_476); -x_477 = lean_unbox(x_476); -lean_dec(x_476); -if (x_477 == 0) -{ -lean_object* x_478; -lean_dec(x_444); -x_478 = lean_ctor_get(x_475, 1); -lean_inc(x_478); -lean_dec(x_475); -x_411 = x_403; -x_412 = x_478; -goto block_441; -} -else -{ -lean_object* x_479; lean_object* x_480; -x_479 = lean_ctor_get(x_475, 1); +lean_object* x_479; uint8_t x_480; +x_479 = lean_ctor_get(x_478, 0); lean_inc(x_479); -lean_dec(x_475); -x_480 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_480, 0, x_444); -x_411 = x_480; -x_412 = x_479; -goto block_441; +x_480 = lean_unbox(x_479); +lean_dec(x_479); +if (x_480 == 0) +{ +lean_object* x_481; +lean_dec(x_447); +x_481 = lean_ctor_get(x_478, 1); +lean_inc(x_481); +lean_dec(x_478); +x_414 = x_406; +x_415 = x_481; +goto block_444; +} +else +{ +lean_object* x_482; lean_object* x_483; +x_482 = lean_ctor_get(x_478, 1); +lean_inc(x_482); +lean_dec(x_478); +x_483 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_483, 0, x_447); +x_414 = x_483; +x_415 = x_482; +goto block_444; } } else { -lean_object* x_481; lean_object* x_482; -lean_dec(x_444); -lean_dec(x_409); -lean_dec(x_408); -lean_dec(x_352); +lean_object* x_484; lean_object* x_485; +lean_dec(x_447); +lean_dec(x_412); +lean_dec(x_411); +lean_dec(x_354); lean_dec(x_4); lean_dec(x_3); -x_481 = lean_ctor_get(x_475, 0); -lean_inc(x_481); -x_482 = lean_ctor_get(x_475, 1); -lean_inc(x_482); -lean_dec(x_475); -x_354 = x_481; -x_355 = x_482; -goto block_360; +x_484 = lean_ctor_get(x_478, 0); +lean_inc(x_484); +x_485 = lean_ctor_get(x_478, 1); +lean_inc(x_485); +lean_dec(x_478); +x_356 = x_484; +x_357 = x_485; +goto block_362; } } } else { -lean_object* x_483; lean_object* x_484; -lean_dec(x_467); -lean_dec(x_466); -lean_dec(x_444); -lean_dec(x_409); -lean_dec(x_408); -lean_dec(x_352); +lean_object* x_486; lean_object* x_487; +lean_dec(x_470); +lean_dec(x_469); +lean_dec(x_447); +lean_dec(x_412); +lean_dec(x_411); +lean_dec(x_354); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_483 = lean_ctor_get(x_469, 0); -lean_inc(x_483); -x_484 = lean_ctor_get(x_469, 1); -lean_inc(x_484); -lean_dec(x_469); -x_354 = x_483; -x_355 = x_484; -goto block_360; +x_486 = lean_ctor_get(x_472, 0); +lean_inc(x_486); +x_487 = lean_ctor_get(x_472, 1); +lean_inc(x_487); +lean_dec(x_472); +x_356 = x_486; +x_357 = x_487; +goto block_362; } } -block_441: +block_444: { -if (lean_obj_tag(x_411) == 0) +if (lean_obj_tag(x_414) == 0) { -uint8_t x_413; -lean_dec(x_409); -lean_dec(x_408); -lean_dec(x_4); -lean_dec(x_3); -x_413 = 0; -x_361 = x_413; -x_362 = x_412; -goto block_392; -} -else -{ -lean_object* x_414; lean_object* x_415; lean_object* x_416; uint8_t x_417; -x_414 = lean_ctor_get(x_411, 0); -lean_inc(x_414); +uint8_t x_416; +lean_dec(x_412); lean_dec(x_411); -lean_inc(x_4); -x_415 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_4, x_6, x_7, x_8, x_9, x_412); -x_416 = lean_ctor_get(x_415, 0); -lean_inc(x_416); -x_417 = lean_unbox(x_416); -lean_dec(x_416); -if (x_417 == 0) -{ -lean_object* x_418; lean_object* x_419; lean_object* x_420; lean_dec(x_4); lean_dec(x_3); -x_418 = lean_ctor_get(x_415, 1); -lean_inc(x_418); -lean_dec(x_415); -x_419 = lean_box(0); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -x_420 = l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___lambda__3(x_414, x_403, x_409, x_408, x_419, x_6, x_7, x_8, x_9, x_418); -if (lean_obj_tag(x_420) == 0) +x_416 = 0; +x_363 = x_416; +x_364 = x_415; +goto block_394; +} +else { -lean_object* x_421; lean_object* x_422; uint8_t x_423; -x_421 = lean_ctor_get(x_420, 0); +lean_object* x_417; lean_object* x_418; lean_object* x_419; uint8_t x_420; +x_417 = lean_ctor_get(x_414, 0); +lean_inc(x_417); +lean_dec(x_414); +lean_inc(x_4); +x_418 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_4, x_6, x_7, x_8, x_9, x_415); +x_419 = lean_ctor_get(x_418, 0); +lean_inc(x_419); +x_420 = lean_unbox(x_419); +lean_dec(x_419); +if (x_420 == 0) +{ +lean_object* x_421; lean_object* x_422; lean_object* x_423; +lean_dec(x_4); +lean_dec(x_3); +x_421 = lean_ctor_get(x_418, 1); lean_inc(x_421); -x_422 = lean_ctor_get(x_420, 1); -lean_inc(x_422); -lean_dec(x_420); -x_423 = lean_unbox(x_421); -lean_dec(x_421); -x_361 = x_423; -x_362 = x_422; -goto block_392; -} -else -{ -lean_object* x_424; lean_object* x_425; -lean_dec(x_352); -x_424 = lean_ctor_get(x_420, 0); -lean_inc(x_424); -x_425 = lean_ctor_get(x_420, 1); -lean_inc(x_425); -lean_dec(x_420); -x_354 = x_424; -x_355 = x_425; -goto block_360; -} -} -else -{ -lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; lean_object* x_434; lean_object* x_435; -x_426 = lean_ctor_get(x_415, 1); -lean_inc(x_426); -lean_dec(x_415); -x_427 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_427, 0, x_3); -x_428 = l___private_Lean_Meta_UnificationHint_0__Lean_Meta_decodeUnificationHint_decodeConstraint___closed__6; -x_429 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_429, 0, x_428); -lean_ctor_set(x_429, 1, x_427); -x_430 = l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___closed__3; -x_431 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_431, 0, x_429); -lean_ctor_set(x_431, 1, x_430); -x_432 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_4, x_431, x_6, x_7, x_8, x_9, x_426); -x_433 = lean_ctor_get(x_432, 0); -lean_inc(x_433); -x_434 = lean_ctor_get(x_432, 1); -lean_inc(x_434); -lean_dec(x_432); +lean_dec(x_418); +x_422 = lean_box(0); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -x_435 = l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___lambda__3(x_414, x_403, x_409, x_408, x_433, x_6, x_7, x_8, x_9, x_434); -if (lean_obj_tag(x_435) == 0) +x_423 = l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___lambda__3(x_417, x_406, x_412, x_411, x_422, x_6, x_7, x_8, x_9, x_421); +if (lean_obj_tag(x_423) == 0) { -lean_object* x_436; lean_object* x_437; uint8_t x_438; +lean_object* x_424; lean_object* x_425; uint8_t x_426; +x_424 = lean_ctor_get(x_423, 0); +lean_inc(x_424); +x_425 = lean_ctor_get(x_423, 1); +lean_inc(x_425); +lean_dec(x_423); +x_426 = lean_unbox(x_424); +lean_dec(x_424); +x_363 = x_426; +x_364 = x_425; +goto block_394; +} +else +{ +lean_object* x_427; lean_object* x_428; +lean_dec(x_354); +x_427 = lean_ctor_get(x_423, 0); +lean_inc(x_427); +x_428 = lean_ctor_get(x_423, 1); +lean_inc(x_428); +lean_dec(x_423); +x_356 = x_427; +x_357 = x_428; +goto block_362; +} +} +else +{ +lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; lean_object* x_434; lean_object* x_435; lean_object* x_436; lean_object* x_437; lean_object* x_438; +x_429 = lean_ctor_get(x_418, 1); +lean_inc(x_429); +lean_dec(x_418); +x_430 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_430, 0, x_3); +x_431 = l___private_Lean_Meta_UnificationHint_0__Lean_Meta_decodeUnificationHint_decodeConstraint___closed__6; +x_432 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_432, 0, x_431); +lean_ctor_set(x_432, 1, x_430); +x_433 = l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___closed__3; +x_434 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_434, 0, x_432); +lean_ctor_set(x_434, 1, x_433); +x_435 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_4, x_434, x_6, x_7, x_8, x_9, x_429); x_436 = lean_ctor_get(x_435, 0); lean_inc(x_436); x_437 = lean_ctor_get(x_435, 1); lean_inc(x_437); lean_dec(x_435); -x_438 = lean_unbox(x_436); -lean_dec(x_436); -x_361 = x_438; -x_362 = x_437; -goto block_392; -} -else -{ -lean_object* x_439; lean_object* x_440; -lean_dec(x_352); -x_439 = lean_ctor_get(x_435, 0); -lean_inc(x_439); -x_440 = lean_ctor_get(x_435, 1); -lean_inc(x_440); -lean_dec(x_435); -x_354 = x_439; -x_355 = x_440; -goto block_360; -} -} -} -} -} -else -{ -lean_object* x_485; lean_object* x_486; -lean_dec(x_352); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_485 = lean_ctor_get(x_393, 0); -lean_inc(x_485); -x_486 = lean_ctor_get(x_393, 1); -lean_inc(x_486); -lean_dec(x_393); -x_354 = x_485; -x_355 = x_486; -goto block_360; -} -block_360: -{ -lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359; -x_356 = l_Lean_Meta_SavedState_restore(x_12, x_6, x_7, x_8, x_9, x_355); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_12); -x_357 = lean_ctor_get(x_356, 1); -lean_inc(x_357); -if (lean_is_exclusive(x_356)) { - lean_ctor_release(x_356, 0); - lean_ctor_release(x_356, 1); - x_358 = x_356; -} else { - lean_dec_ref(x_356); - x_358 = lean_box(0); -} -if (lean_is_scalar(x_358)) { - x_359 = lean_alloc_ctor(1, 2, 0); -} else { - x_359 = x_358; - lean_ctor_set_tag(x_359, 1); -} -lean_ctor_set(x_359, 0, x_354); -lean_ctor_set(x_359, 1, x_357); -return x_359; -} -block_392: -{ -if (x_361 == 0) -{ -lean_object* x_363; lean_object* x_364; lean_object* x_365; uint8_t x_366; lean_object* x_367; lean_object* x_368; -lean_dec(x_352); -x_363 = l_Lean_Meta_SavedState_restore(x_12, x_6, x_7, x_8, x_9, x_362); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_12); -x_364 = lean_ctor_get(x_363, 1); -lean_inc(x_364); -if (lean_is_exclusive(x_363)) { - lean_ctor_release(x_363, 0); - lean_ctor_release(x_363, 1); - x_365 = x_363; -} else { - lean_dec_ref(x_363); - x_365 = lean_box(0); -} -x_366 = 0; -x_367 = lean_box(x_366); -if (lean_is_scalar(x_365)) { - x_368 = lean_alloc_ctor(0, 2, 0); -} else { - x_368 = x_365; -} -lean_ctor_set(x_368, 0, x_367); -lean_ctor_set(x_368, 1, x_364); -return x_368; -} -else -{ -uint8_t x_369; lean_object* x_370; -x_369 = 0; lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -x_370 = l_Lean_Meta_processPostponed(x_5, x_369, x_6, x_7, x_8, x_9, x_362); -if (lean_obj_tag(x_370) == 0) +x_438 = l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___lambda__3(x_417, x_406, x_412, x_411, x_436, x_6, x_7, x_8, x_9, x_437); +if (lean_obj_tag(x_438) == 0) { -lean_object* x_371; uint8_t x_372; -x_371 = lean_ctor_get(x_370, 0); -lean_inc(x_371); -x_372 = lean_unbox(x_371); -lean_dec(x_371); -if (x_372 == 0) +lean_object* x_439; lean_object* x_440; uint8_t x_441; +x_439 = lean_ctor_get(x_438, 0); +lean_inc(x_439); +x_440 = lean_ctor_get(x_438, 1); +lean_inc(x_440); +lean_dec(x_438); +x_441 = lean_unbox(x_439); +lean_dec(x_439); +x_363 = x_441; +x_364 = x_440; +goto block_394; +} +else { -lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; -lean_dec(x_352); -x_373 = lean_ctor_get(x_370, 1); +lean_object* x_442; lean_object* x_443; +lean_dec(x_354); +x_442 = lean_ctor_get(x_438, 0); +lean_inc(x_442); +x_443 = lean_ctor_get(x_438, 1); +lean_inc(x_443); +lean_dec(x_438); +x_356 = x_442; +x_357 = x_443; +goto block_362; +} +} +} +} +} +else +{ +lean_object* x_488; lean_object* x_489; +lean_dec(x_354); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_488 = lean_ctor_get(x_395, 0); +lean_inc(x_488); +x_489 = lean_ctor_get(x_395, 1); +lean_inc(x_489); +lean_dec(x_395); +x_356 = x_488; +x_357 = x_489; +goto block_362; +} +block_362: +{ +lean_object* x_358; lean_object* x_359; lean_object* x_360; lean_object* x_361; +x_358 = l_Lean_Meta_SavedState_restore(x_12, x_6, x_7, x_8, x_9, x_357); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_12); +x_359 = lean_ctor_get(x_358, 1); +lean_inc(x_359); +if (lean_is_exclusive(x_358)) { + lean_ctor_release(x_358, 0); + lean_ctor_release(x_358, 1); + x_360 = x_358; +} else { + lean_dec_ref(x_358); + x_360 = lean_box(0); +} +if (lean_is_scalar(x_360)) { + x_361 = lean_alloc_ctor(1, 2, 0); +} else { + x_361 = x_360; + lean_ctor_set_tag(x_361, 1); +} +lean_ctor_set(x_361, 0, x_356); +lean_ctor_set(x_361, 1, x_359); +return x_361; +} +block_394: +{ +if (x_363 == 0) +{ +lean_object* x_365; lean_object* x_366; lean_object* x_367; uint8_t x_368; lean_object* x_369; lean_object* x_370; +lean_dec(x_354); +x_365 = l_Lean_Meta_SavedState_restore(x_12, x_6, x_7, x_8, x_9, x_364); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_12); +x_366 = lean_ctor_get(x_365, 1); +lean_inc(x_366); +if (lean_is_exclusive(x_365)) { + lean_ctor_release(x_365, 0); + lean_ctor_release(x_365, 1); + x_367 = x_365; +} else { + lean_dec_ref(x_365); + x_367 = lean_box(0); +} +x_368 = 0; +x_369 = lean_box(x_368); +if (lean_is_scalar(x_367)) { + x_370 = lean_alloc_ctor(0, 2, 0); +} else { + x_370 = x_367; +} +lean_ctor_set(x_370, 0, x_369); +lean_ctor_set(x_370, 1, x_366); +return x_370; +} +else +{ +uint8_t x_371; lean_object* x_372; +x_371 = 0; +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_372 = l_Lean_Meta_processPostponed(x_5, x_371, x_6, x_7, x_8, x_9, x_364); +if (lean_obj_tag(x_372) == 0) +{ +lean_object* x_373; uint8_t x_374; +x_373 = lean_ctor_get(x_372, 0); lean_inc(x_373); -lean_dec(x_370); -x_374 = l_Lean_Meta_SavedState_restore(x_12, x_6, x_7, x_8, x_9, x_373); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_12); -x_375 = lean_ctor_get(x_374, 1); +x_374 = lean_unbox(x_373); +lean_dec(x_373); +if (x_374 == 0) +{ +lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; +lean_dec(x_354); +x_375 = lean_ctor_get(x_372, 1); lean_inc(x_375); -if (lean_is_exclusive(x_374)) { - lean_ctor_release(x_374, 0); - lean_ctor_release(x_374, 1); - x_376 = x_374; -} else { - lean_dec_ref(x_374); - x_376 = lean_box(0); -} -x_377 = lean_box(x_369); -if (lean_is_scalar(x_376)) { - x_378 = lean_alloc_ctor(0, 2, 0); -} else { - x_378 = x_376; -} -lean_ctor_set(x_378, 0, x_377); -lean_ctor_set(x_378, 1, x_375); -return x_378; -} -else -{ -lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; uint8_t x_387; lean_object* x_388; lean_object* x_389; -lean_dec(x_12); -x_379 = lean_ctor_get(x_370, 1); -lean_inc(x_379); -lean_dec(x_370); -x_380 = l_Lean_Meta_getPostponed___rarg(x_7, x_8, x_9, x_379); -x_381 = lean_ctor_get(x_380, 0); -lean_inc(x_381); -x_382 = lean_ctor_get(x_380, 1); -lean_inc(x_382); -lean_dec(x_380); -x_383 = l_Std_PersistentArray_append___rarg(x_352, x_381); -x_384 = l_Lean_Meta_setPostponed(x_383, x_6, x_7, x_8, x_9, x_382); +lean_dec(x_372); +x_376 = l_Lean_Meta_SavedState_restore(x_12, x_6, x_7, x_8, x_9, x_375); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -x_385 = lean_ctor_get(x_384, 1); -lean_inc(x_385); -if (lean_is_exclusive(x_384)) { - lean_ctor_release(x_384, 0); - lean_ctor_release(x_384, 1); - x_386 = x_384; +lean_dec(x_12); +x_377 = lean_ctor_get(x_376, 1); +lean_inc(x_377); +if (lean_is_exclusive(x_376)) { + lean_ctor_release(x_376, 0); + lean_ctor_release(x_376, 1); + x_378 = x_376; } else { - lean_dec_ref(x_384); - x_386 = lean_box(0); + lean_dec_ref(x_376); + x_378 = lean_box(0); } -x_387 = 1; -x_388 = lean_box(x_387); -if (lean_is_scalar(x_386)) { - x_389 = lean_alloc_ctor(0, 2, 0); +x_379 = lean_box(x_371); +if (lean_is_scalar(x_378)) { + x_380 = lean_alloc_ctor(0, 2, 0); } else { - x_389 = x_386; + x_380 = x_378; } -lean_ctor_set(x_389, 0, x_388); -lean_ctor_set(x_389, 1, x_385); -return x_389; +lean_ctor_set(x_380, 0, x_379); +lean_ctor_set(x_380, 1, x_377); +return x_380; +} +else +{ +lean_object* x_381; lean_object* x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; uint8_t x_389; lean_object* x_390; lean_object* x_391; +lean_dec(x_12); +x_381 = lean_ctor_get(x_372, 1); +lean_inc(x_381); +lean_dec(x_372); +x_382 = l_Lean_Meta_getPostponed___rarg(x_7, x_8, x_9, x_381); +x_383 = lean_ctor_get(x_382, 0); +lean_inc(x_383); +x_384 = lean_ctor_get(x_382, 1); +lean_inc(x_384); +lean_dec(x_382); +x_385 = l_Std_PersistentArray_append___rarg(x_354, x_383); +x_386 = l_Lean_Meta_setPostponed(x_385, x_6, x_7, x_8, x_9, x_384); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +x_387 = lean_ctor_get(x_386, 1); +lean_inc(x_387); +if (lean_is_exclusive(x_386)) { + lean_ctor_release(x_386, 0); + lean_ctor_release(x_386, 1); + x_388 = x_386; +} else { + lean_dec_ref(x_386); + x_388 = lean_box(0); +} +x_389 = 1; +x_390 = lean_box(x_389); +if (lean_is_scalar(x_388)) { + x_391 = lean_alloc_ctor(0, 2, 0); +} else { + x_391 = x_388; +} +lean_ctor_set(x_391, 0, x_390); +lean_ctor_set(x_391, 1, x_387); +return x_391; } } else { -lean_object* x_390; lean_object* x_391; -lean_dec(x_352); -x_390 = lean_ctor_get(x_370, 0); -lean_inc(x_390); -x_391 = lean_ctor_get(x_370, 1); -lean_inc(x_391); -lean_dec(x_370); -x_354 = x_390; -x_355 = x_391; -goto block_360; +lean_object* x_392; lean_object* x_393; +lean_dec(x_354); +x_392 = lean_ctor_get(x_372, 0); +lean_inc(x_392); +x_393 = lean_ctor_get(x_372, 1); +lean_inc(x_393); +lean_dec(x_372); +x_356 = x_392; +x_357 = x_393; +goto block_362; } } } @@ -8376,16 +8347,16 @@ x_14 = l_Lean_withTraceNode___at_Lean_Meta_processPostponed___spec__1(x_10, x_9, return x_14; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Meta_tryUnificationHints_tryCandidate___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_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_tryUnificationHints_tryCandidate___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_7; -x_7 = l_List_mapM___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); +lean_object* x_8; +x_8 = l_List_mapM_loop___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); -return x_7; +return x_8; } } LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_tryUnificationHints_tryCandidate___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) { diff --git a/stage0/stdlib/Lean/Meta/WHNF.c b/stage0/stdlib/Lean/Meta/WHNF.c index 0c92403568..2286b99e7f 100644 --- a/stage0/stdlib/Lean/Meta/WHNF.c +++ b/stage0/stdlib/Lean/Meta/WHNF.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Meta.WHNF -// Imports: Init Lean.ToExpr Lean.AuxRecursor Lean.ProjFns Lean.Structure Lean.Util.Recognizers Lean.Meta.Basic Lean.Meta.GetConst Lean.Meta.FunInfo Lean.Meta.Match.MatcherInfo Lean.Meta.Match.MatchPatternAttr +// Imports: Init Lean.Structure Lean.Util.Recognizers Lean.Meta.GetConst Lean.Meta.FunInfo Lean.Meta.Match.MatcherInfo Lean.Meta.Match.MatchPatternAttr #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -130,7 +130,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_getStuckMVar_x3f___lambda__8___boxed(lean_o lean_object* l_Lean_Expr_getRevArg_x21(lean_object*, lean_object*); lean_object* l_Lean_Meta_forallBoundedTelescope___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__8___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -uint8_t l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10498_(uint8_t, uint8_t); +uint8_t l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10509_(uint8_t, uint8_t); static lean_object* l_Lean_Meta_canUnfoldAtMatcher___closed__10; uint8_t lean_usize_dec_lt(size_t, size_t); static lean_object* l_Lean_Meta_canUnfoldAtMatcher___closed__32; @@ -13236,7 +13236,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Meta_whnfEasyCases___closed__2; x_2 = l_Lean_Meta_whnfEasyCases___closed__3; -x_3 = lean_unsigned_to_nat(309u); +x_3 = lean_unsigned_to_nat(305u); x_4 = lean_unsigned_to_nat(22u); x_5 = l_Lean_Meta_whnfEasyCases___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -16940,7 +16940,7 @@ lean_inc(x_9); lean_dec(x_7); x_10 = 2; x_11 = lean_unbox(x_8); -x_12 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10498_(x_11, x_10); +x_12 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10509_(x_11, x_10); if (x_12 == 0) { lean_object* x_13; uint8_t x_14; lean_object* x_15; @@ -24124,7 +24124,7 @@ x_10 = lean_ctor_get(x_7, 1); x_11 = 3; x_12 = lean_unbox(x_9); lean_dec(x_9); -x_13 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10498_(x_12, x_11); +x_13 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10509_(x_12, x_11); if (x_13 == 0) { lean_object* x_14; @@ -24155,7 +24155,7 @@ lean_dec(x_7); x_18 = 3; x_19 = lean_unbox(x_16); lean_dec(x_16); -x_20 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10498_(x_19, x_18); +x_20 = l___private_Init_Meta_0__Lean_Meta_beqTransparencyMode____x40_Init_Meta___hyg_10509_(x_19, x_18); if (x_20 == 0) { lean_object* x_21; lean_object* x_22; @@ -32260,7 +32260,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Meta_whnfEasyCases___closed__2; x_2 = l___private_Lean_Meta_WHNF_0__Lean_Meta_cached_x3f___closed__1; -x_3 = lean_unsigned_to_nat(829u); +x_3 = lean_unsigned_to_nat(825u); x_4 = lean_unsigned_to_nat(34u); x_5 = l_Lean_Meta_whnfEasyCases___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -32446,7 +32446,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Meta_whnfEasyCases___closed__2; x_2 = l___private_Lean_Meta_WHNF_0__Lean_Meta_cache___closed__1; -x_3 = lean_unsigned_to_nat(838u); +x_3 = lean_unsigned_to_nat(834u); x_4 = lean_unsigned_to_nat(34u); x_5 = l_Lean_Meta_whnfEasyCases___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -35666,12 +35666,8 @@ return x_11; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_ToExpr(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_AuxRecursor(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_ProjFns(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Structure(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Util_Recognizers(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Basic(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_GetConst(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_FunInfo(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Match_MatcherInfo(uint8_t builtin, lean_object*); @@ -35684,24 +35680,12 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_ToExpr(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_AuxRecursor(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_ProjFns(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Structure(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_Util_Recognizers(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_Basic(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Meta_GetConst(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/MetavarContext.c b/stage0/stdlib/Lean/MetavarContext.c index d5c11b6175..08c85d0869 100644 --- a/stage0/stdlib/Lean/MetavarContext.c +++ b/stage0/stdlib/Lean/MetavarContext.c @@ -14,6 +14,7 @@ extern "C" { #endif LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at_Lean_localDeclDependsOn_x27___spec__3(lean_object*, lean_object*, lean_object*); +lean_object* l_List_reverse___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_MetavarContext_MkBinding_State_cache___default; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_MetavarContext_MkBinding_collectForwardDeps___spec__59(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_MetavarContext_0__Lean_MetavarContext_MkBinding_elimApp___spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -84,6 +85,7 @@ lean_object* l_Lean_Level_param___override(lean_object*); LEAN_EXPORT uint8_t l_Std_PersistentHashMap_contains___at_Lean_isLevelMVarAssigned___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateMVarsCore___spec__16___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateMVarsCore___spec__13(lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_instantiateMVarsCore___spec__9___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___private_Lean_MetavarContext_0__Lean_MetavarContext_MkBinding_elimMVar___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at_Lean_MetavarContext_MkBinding_collectForwardDeps___spec__108(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateMVarsCore___spec__19(lean_object*); @@ -160,7 +162,6 @@ LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_instantiateLCtxMVar LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateMVarsCore___spec__26___rarg(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateMVarsCore___spec__24___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at_Lean_exprDependsOn___spec__9(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_instantiateExprMVars___spec__15___rarg___lambda__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_find_x3f___at_Lean_getDelayedMVarAssignment_x3f___spec__1(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_MetavarContext_MkBinding_Context_binderInfoForMVars___default; LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at_Lean_localDeclDependsOn___spec__34___boxed(lean_object*, lean_object*, lean_object*); @@ -429,7 +430,6 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateMVarsCore__ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateExprMVars___spec__37___rarg(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_instantiateExprMVars___rarg___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_localDeclDependsOn_x27___spec__48___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_instantiateMVarsCore___spec__9___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at_Lean_localDeclDependsOn___spec__42___boxed(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_LocalContext_contains(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_instantiateLCtxMVars___spec__5___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -441,7 +441,6 @@ uint8_t lean_usize_dec_lt(size_t, size_t); LEAN_EXPORT lean_object* l_Std_PersistentArray_anyM___at_Lean_MetavarContext_MkBinding_collectForwardDeps___spec__94___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_MetavarContext_MkBinding_collectForwardDeps___spec__88___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux_traverse___at_Lean_assignDelayedMVar___spec__3(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_instantiateMVarsCore___spec__9(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at_Lean_localDeclDependsOn_x27___spec__14(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at_Lean_localDeclDependsOn_x27___spec__35(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_localDeclDependsOn___spec__39___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -523,7 +522,6 @@ LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_v LEAN_EXPORT lean_object* l_List_anyM___at_Lean_hasAssignedMVar___spec__1___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_MetavarContext_LevelMVarToParam_main_visitApp___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*); static lean_object* l_Nat_foldRevM_loop___at___private_Lean_MetavarContext_0__Lean_MetavarContext_MkBinding_mkAuxMVarType___spec__1___closed__1; -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_instantiateExprMVars___spec__15___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateExprMVars___spec__18___rarg(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insert___at_Lean_instantiateMVarDeclMVars___spec__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_anyMAux___at_Lean_MetavarContext_MkBinding_collectForwardDeps___spec__46___boxed(lean_object*, lean_object*); @@ -787,7 +785,6 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateMVarsCore__ static lean_object* l_Lean_MetavarContext_getDecl___closed__3; LEAN_EXPORT lean_object* l_Lean_instantiateExprMVars(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_MetavarContext_MkBinding_collectForwardDeps___spec__9(lean_object*, lean_object*, size_t, size_t); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_instantiateMVarsCore___spec__9___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateMVarsCore___spec__34___rarg(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateExprMVars___spec__24(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_anyMAux___at_Lean_exprDependsOn_x27___spec__15___boxed(lean_object*, lean_object*); @@ -823,6 +820,7 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateMVarsCore__ LEAN_EXPORT lean_object* l_Subarray_forInUnsafe_loop___at___private_Lean_MetavarContext_0__Lean_MetavarContext_MkBinding_getLocalDeclWithSmallestIdx___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_getDelayedMVarAssignment_x3f___at_Lean_instantiateMVarsCore___spec__14___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_MetavarContext_0__Lean_MetavarContext_MkBinding_elimApp___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_instantiateExprMVars___spec__15(lean_object*, lean_object*); static lean_object* l_Lean_instInhabitedMetavarDecl___closed__8; LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___at_Lean_localDeclDependsOn___spec__34(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateExprMVars___spec__39___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -842,6 +840,7 @@ LEAN_EXPORT lean_object* l_Lean_findExprDependsOn(lean_object*); lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_anyMAux___at_Lean_MetavarContext_MkBinding_collectForwardDeps___spec__22___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAtAux___at_Lean_MetavarContext_getExprAssignmentCore_x3f___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_panic___at_String_toNat_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateMVarsCore___spec__27___rarg(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_MetavarContext_0__Lean_reprMetavarKind____x40_Lean_MetavarContext___hyg_102____closed__15; LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(lean_object*, lean_object*); @@ -909,7 +908,6 @@ LEAN_EXPORT lean_object* l_Lean_MetavarContext_LevelMVarToParam_instMonadCacheEx LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_MetavarContext_MkBinding_collectForwardDeps___spec__114___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Std_PersistentHashMap_containsAux___at_Lean_MVarId_isAssigned___spec__2(lean_object*, size_t, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_anyMAux___at_Lean_MetavarContext_MkBinding_collectForwardDeps___spec__95___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_MetavarContext_LevelMVarToParam_main___spec__1(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_instantiateLevelMVars___rarg___lambda__1___closed__1; LEAN_EXPORT lean_object* l_modify___at_Lean_instMonadMCtxStateRefT_x27MetavarContextST___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Std_PersistentArray_anyM___at_Lean_MetavarContext_MkBinding_collectForwardDeps___spec__78(lean_object*, lean_object*); @@ -1189,7 +1187,6 @@ uint8_t l_Lean_Expr_isMVar(lean_object*); uint8_t lean_expr_equal(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitApp___at_Lean_MetavarContext_MkBinding_collectForwardDeps___spec__69(lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Std_PersistentArray_anyM___at_Lean_localDeclDependsOn___spec__36(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_instantiateExprMVars___spec__15(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_MetavarContext_MkBinding_collectForwardDeps___spec__106___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Std_PersistentHashMap_containsAux___at_Lean_MVarId_isDelayedAssigned___spec__2(lean_object*, size_t, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateMVarsCore___spec__32___rarg(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1351,7 +1348,7 @@ LEAN_EXPORT lean_object* l_Std_PersistentArray_anyM___at_Lean_MetavarContext_MkB lean_object* l_Lean_Expr_app___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MetavarContext_isWellFormed___rarg___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_MetavarContext_MkBinding_collectForwardDeps___spec__112(lean_object*, lean_object*, size_t, size_t); -lean_object* l_panic___at_Lean_TSyntax_getNat___spec__1(lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_MetavarContext_LevelMVarToParam_main___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_MetavarContext_0__Lean_MetavarContext_MkBinding_elimApp___spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_anyM___at_Lean_hasAssignableMVar___spec__1___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAux___at_Lean_getDelayedMVarAssignment_x3f___spec__2___boxed(lean_object*, lean_object*, lean_object*); @@ -1403,7 +1400,6 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateExprMVars__ LEAN_EXPORT lean_object* l_Lean_dependsOnPred___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_MetavarContext_0__Lean_reprMetavarKind____x40_Lean_MetavarContext___hyg_102____closed__11; LEAN_EXPORT uint8_t l_Std_PersistentArray_anyM___at_Lean_MetavarContext_MkBinding_collectForwardDeps___spec__94(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_instantiateExprMVars___spec__15___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_instantiateExprMVars___spec__4(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_getDelayedMVarAssignment_x3f___at_Lean_instantiateMVarsCore___spec__14___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateExprMVars___spec__36___rarg(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*); @@ -1464,6 +1460,7 @@ LEAN_EXPORT lean_object* l_Lean_findExprDependsOn___rarg___lambda__2(lean_object static lean_object* l_Lean_instantiateLCtxMVars___rarg___closed__3; LEAN_EXPORT lean_object* l_Lean_MVarId_isAssignable___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_instantiateLCtxMVars___spec__6___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_instantiateMVarsCore___spec__9___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_localDeclDependsOnPred(lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateExprMVars___spec__32___rarg___lambda__1(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Std_PersistentArray_anyMAux___at_Lean_exprDependsOn_x27___spec__15(lean_object*, lean_object*); @@ -1507,6 +1504,7 @@ LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_MetavarContext_ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateMVarsCore___spec__18___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at_Lean_exprDependsOn___spec__9___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_dependsOnPred(lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_instantiateMVarsCore___spec__9(lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateExprMVars___spec__18___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_HashSetImp_moveEntries___at___private_Lean_MetavarContext_0__Lean_DependsOn_shouldVisit___spec__5(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_getAppFn(lean_object*); @@ -1663,12 +1661,14 @@ LEAN_EXPORT lean_object* l_Lean_MetavarContext_MkBinding_revert(lean_object*, le LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateMVarsCore___spec__31___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_localDeclDependsOn___spec__38___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_localDeclDependsOn(lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_instantiateExprMVars___spec__15___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_localDeclDependsOn___spec__16(lean_object*, lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateExprMVars___spec__35___rarg___lambda__1(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateMVarsCore___spec__35(lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateMVarsCore___spec__20(lean_object*); uint8_t l_Lean_LocalContext_isSubPrefixOf(lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_MetavarContext_MkBinding_collectForwardDeps___spec__105(lean_object*, lean_object*, size_t, size_t); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_instantiateExprMVars___spec__15___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at_Lean_localDeclDependsOn___spec__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_MetavarContext_MkBinding_collectForwardDeps___spec__63___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_MetavarContext_MkBinding_collectForwardDeps___spec__31(lean_object*, lean_object*, size_t, size_t); @@ -9515,88 +9515,68 @@ x_3 = lean_alloc_closure((void*)(l_Lean_instantiateLevelMVars___at_Lean_instanti return x_3; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_instantiateExprMVars___spec__15___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_instantiateExprMVars___spec__15___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_4 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_4, 0, x_1); -lean_ctor_set(x_4, 1, x_3); -x_5 = lean_ctor_get(x_2, 0); -lean_inc(x_5); -lean_dec(x_2); -x_6 = lean_ctor_get(x_5, 1); -lean_inc(x_6); -lean_dec(x_5); -x_7 = lean_apply_2(x_6, lean_box(0), x_4); -return x_7; +lean_object* x_8; lean_object* x_9; +x_8 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_1); +x_9 = l_List_mapM_loop___at_Lean_instantiateExprMVars___spec__15___rarg(x_2, x_3, x_4, x_5, x_8, x_6); +return x_9; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_instantiateExprMVars___spec__15___rarg___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; lean_object* x_9; lean_object* x_10; -lean_inc(x_1); -x_8 = l_List_mapM___at_Lean_instantiateExprMVars___spec__15___rarg(x_1, x_2, x_3, x_4, x_5); -x_9 = lean_alloc_closure((void*)(l_List_mapM___at_Lean_instantiateExprMVars___spec__15___rarg___lambda__1), 3, 2); -lean_closure_set(x_9, 0, x_7); -lean_closure_set(x_9, 1, x_1); -x_10 = lean_apply_4(x_6, lean_box(0), lean_box(0), x_8, x_9); -return x_10; -} -} -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_instantiateExprMVars___spec__15___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_instantiateExprMVars___spec__15___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { if (lean_obj_tag(x_4) == 0) { -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; -lean_dec(x_5); +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +lean_dec(x_6); lean_dec(x_3); lean_dec(x_2); -x_6 = lean_box(0); -x_7 = lean_ctor_get(x_1, 0); -lean_inc(x_7); -lean_dec(x_1); -x_8 = lean_ctor_get(x_7, 1); +x_7 = l_List_reverse___rarg(x_5); +x_8 = lean_ctor_get(x_1, 0); lean_inc(x_8); -lean_dec(x_7); -x_9 = lean_apply_2(x_8, lean_box(0), x_6); -return x_9; +lean_dec(x_1); +x_9 = lean_ctor_get(x_8, 1); +lean_inc(x_9); +lean_dec(x_8); +x_10 = lean_apply_2(x_9, lean_box(0), x_7); +return x_10; } else { -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_10 = lean_ctor_get(x_4, 0); -lean_inc(x_10); -x_11 = lean_ctor_get(x_4, 1); +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_11 = lean_ctor_get(x_4, 0); lean_inc(x_11); -lean_dec(x_4); -x_12 = lean_ctor_get(x_1, 1); +x_12 = lean_ctor_get(x_4, 1); lean_inc(x_12); -lean_inc(x_5); +lean_dec(x_4); +x_13 = lean_ctor_get(x_1, 1); +lean_inc(x_13); +lean_inc(x_6); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_13 = l_Lean_instantiateLevelMVars___at_Lean_instantiateExprMVars___spec__13___rarg(x_1, x_2, x_3, x_10, x_5); -lean_inc(x_12); -x_14 = lean_alloc_closure((void*)(l_List_mapM___at_Lean_instantiateExprMVars___spec__15___rarg___lambda__2), 7, 6); -lean_closure_set(x_14, 0, x_1); -lean_closure_set(x_14, 1, x_2); -lean_closure_set(x_14, 2, x_3); -lean_closure_set(x_14, 3, x_11); -lean_closure_set(x_14, 4, x_5); -lean_closure_set(x_14, 5, x_12); -x_15 = lean_apply_4(x_12, lean_box(0), lean_box(0), x_13, x_14); -return x_15; +x_14 = l_Lean_instantiateLevelMVars___at_Lean_instantiateExprMVars___spec__13___rarg(x_1, x_2, x_3, x_11, x_6); +x_15 = lean_alloc_closure((void*)(l_List_mapM_loop___at_Lean_instantiateExprMVars___spec__15___rarg___lambda__1), 7, 6); +lean_closure_set(x_15, 0, x_5); +lean_closure_set(x_15, 1, x_1); +lean_closure_set(x_15, 2, x_2); +lean_closure_set(x_15, 3, x_3); +lean_closure_set(x_15, 4, x_12); +lean_closure_set(x_15, 5, x_6); +x_16 = lean_apply_4(x_13, lean_box(0), lean_box(0), x_14, x_15); +return x_16; } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_instantiateExprMVars___spec__15(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_instantiateExprMVars___spec__15(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = lean_alloc_closure((void*)(l_List_mapM___at_Lean_instantiateExprMVars___spec__15___rarg), 5, 0); +x_3 = lean_alloc_closure((void*)(l_List_mapM_loop___at_Lean_instantiateExprMVars___spec__15___rarg), 6, 0); return x_3; } } @@ -13613,265 +13593,266 @@ return x_20; } case 4: { -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_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_dec(x_8); x_21 = lean_ctor_get(x_1, 1); lean_inc(x_21); +x_22 = lean_box(0); lean_inc(x_3); lean_inc(x_2); -x_22 = l_List_mapM___at_Lean_instantiateExprMVars___spec__15___rarg(x_2, x_6, x_7, x_21, x_3); +x_23 = l_List_mapM_loop___at_Lean_instantiateExprMVars___spec__15___rarg(x_2, x_6, x_7, x_21, x_22, x_3); lean_inc(x_1); lean_inc(x_2); -x_23 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__10), 3, 2); -lean_closure_set(x_23, 0, x_2); -lean_closure_set(x_23, 1, x_1); +x_24 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__10), 3, 2); +lean_closure_set(x_24, 0, x_2); +lean_closure_set(x_24, 1, x_1); lean_inc(x_5); -x_24 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_22, x_23); +x_25 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_23, x_24); lean_inc(x_5); -x_25 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__7), 6, 5); -lean_closure_set(x_25, 0, x_1); -lean_closure_set(x_25, 1, x_3); -lean_closure_set(x_25, 2, x_4); -lean_closure_set(x_25, 3, x_2); -lean_closure_set(x_25, 4, x_5); -x_26 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_24, x_25); -return x_26; +x_26 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__7), 6, 5); +lean_closure_set(x_26, 0, x_1); +lean_closure_set(x_26, 1, x_3); +lean_closure_set(x_26, 2, x_4); +lean_closure_set(x_26, 3, x_2); +lean_closure_set(x_26, 4, x_5); +x_27 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_25, x_26); +return x_27; } case 5: { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +lean_object* x_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_8); -x_27 = lean_unsigned_to_nat(0u); -x_28 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_1, x_27); -x_29 = l_Lean_instantiateExprMVars___rarg___lambda__20___closed__1; -lean_inc(x_28); -x_30 = lean_mk_array(x_28, x_29); -x_31 = lean_unsigned_to_nat(1u); -x_32 = lean_nat_sub(x_28, x_31); -lean_dec(x_28); +x_28 = lean_unsigned_to_nat(0u); +x_29 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_1, x_28); +x_30 = l_Lean_instantiateExprMVars___rarg___lambda__20___closed__1; +lean_inc(x_29); +x_31 = lean_mk_array(x_29, x_30); +x_32 = lean_unsigned_to_nat(1u); +x_33 = lean_nat_sub(x_29, x_32); +lean_dec(x_29); lean_inc(x_3); lean_inc(x_1); lean_inc(x_5); lean_inc(x_4); lean_inc(x_2); -x_33 = l_Lean_Expr_withAppAux___at_Lean_instantiateExprMVars___spec__44___rarg(x_2, x_6, x_7, x_4, x_5, x_1, x_30, x_32, x_3); +x_34 = l_Lean_Expr_withAppAux___at_Lean_instantiateExprMVars___spec__44___rarg(x_2, x_6, x_7, x_4, x_5, x_1, x_31, x_33, x_3); lean_inc(x_5); -x_34 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__7), 6, 5); -lean_closure_set(x_34, 0, x_1); -lean_closure_set(x_34, 1, x_3); -lean_closure_set(x_34, 2, x_4); -lean_closure_set(x_34, 3, x_2); -lean_closure_set(x_34, 4, x_5); -x_35 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_33, x_34); -return x_35; +x_35 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__7), 6, 5); +lean_closure_set(x_35, 0, x_1); +lean_closure_set(x_35, 1, x_3); +lean_closure_set(x_35, 2, x_4); +lean_closure_set(x_35, 3, x_2); +lean_closure_set(x_35, 4, x_5); +x_36 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_34, x_35); +return x_36; } case 6: { -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_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_dec(x_8); -x_36 = lean_ctor_get(x_1, 1); -lean_inc(x_36); -x_37 = lean_ctor_get(x_1, 2); +x_37 = lean_ctor_get(x_1, 1); lean_inc(x_37); +x_38 = lean_ctor_get(x_1, 2); +lean_inc(x_38); lean_inc(x_3); lean_inc(x_4); lean_inc(x_7); lean_inc(x_6); lean_inc(x_2); -x_38 = l_Lean_instantiateExprMVars___rarg(x_2, x_6, x_7, x_4, x_36, x_3); +x_39 = l_Lean_instantiateExprMVars___rarg(x_2, x_6, x_7, x_4, x_37, x_3); lean_inc(x_5); lean_inc(x_1); lean_inc(x_3); lean_inc(x_4); lean_inc(x_2); -x_39 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__12), 9, 8); -lean_closure_set(x_39, 0, x_2); -lean_closure_set(x_39, 1, x_6); -lean_closure_set(x_39, 2, x_7); -lean_closure_set(x_39, 3, x_4); -lean_closure_set(x_39, 4, x_37); -lean_closure_set(x_39, 5, x_3); -lean_closure_set(x_39, 6, x_1); -lean_closure_set(x_39, 7, x_5); +x_40 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__12), 9, 8); +lean_closure_set(x_40, 0, x_2); +lean_closure_set(x_40, 1, x_6); +lean_closure_set(x_40, 2, x_7); +lean_closure_set(x_40, 3, x_4); +lean_closure_set(x_40, 4, x_38); +lean_closure_set(x_40, 5, x_3); +lean_closure_set(x_40, 6, x_1); +lean_closure_set(x_40, 7, x_5); lean_inc(x_5); -x_40 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_38, x_39); +x_41 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_39, x_40); lean_inc(x_5); -x_41 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__7), 6, 5); -lean_closure_set(x_41, 0, x_1); -lean_closure_set(x_41, 1, x_3); -lean_closure_set(x_41, 2, x_4); -lean_closure_set(x_41, 3, x_2); -lean_closure_set(x_41, 4, x_5); -x_42 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_40, x_41); -return x_42; +x_42 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__7), 6, 5); +lean_closure_set(x_42, 0, x_1); +lean_closure_set(x_42, 1, x_3); +lean_closure_set(x_42, 2, x_4); +lean_closure_set(x_42, 3, x_2); +lean_closure_set(x_42, 4, x_5); +x_43 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_41, x_42); +return x_43; } case 7: { -lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; +lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_dec(x_8); -x_43 = lean_ctor_get(x_1, 1); -lean_inc(x_43); -x_44 = lean_ctor_get(x_1, 2); +x_44 = lean_ctor_get(x_1, 1); lean_inc(x_44); +x_45 = lean_ctor_get(x_1, 2); +lean_inc(x_45); lean_inc(x_3); lean_inc(x_4); lean_inc(x_7); lean_inc(x_6); lean_inc(x_2); -x_45 = l_Lean_instantiateExprMVars___rarg(x_2, x_6, x_7, x_4, x_43, x_3); +x_46 = l_Lean_instantiateExprMVars___rarg(x_2, x_6, x_7, x_4, x_44, x_3); lean_inc(x_5); lean_inc(x_1); lean_inc(x_3); lean_inc(x_4); lean_inc(x_2); -x_46 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__14), 9, 8); -lean_closure_set(x_46, 0, x_2); -lean_closure_set(x_46, 1, x_6); -lean_closure_set(x_46, 2, x_7); -lean_closure_set(x_46, 3, x_4); -lean_closure_set(x_46, 4, x_44); -lean_closure_set(x_46, 5, x_3); -lean_closure_set(x_46, 6, x_1); -lean_closure_set(x_46, 7, x_5); +x_47 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__14), 9, 8); +lean_closure_set(x_47, 0, x_2); +lean_closure_set(x_47, 1, x_6); +lean_closure_set(x_47, 2, x_7); +lean_closure_set(x_47, 3, x_4); +lean_closure_set(x_47, 4, x_45); +lean_closure_set(x_47, 5, x_3); +lean_closure_set(x_47, 6, x_1); +lean_closure_set(x_47, 7, x_5); lean_inc(x_5); -x_47 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_45, x_46); +x_48 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_46, x_47); lean_inc(x_5); -x_48 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__7), 6, 5); -lean_closure_set(x_48, 0, x_1); -lean_closure_set(x_48, 1, x_3); -lean_closure_set(x_48, 2, x_4); -lean_closure_set(x_48, 3, x_2); -lean_closure_set(x_48, 4, x_5); -x_49 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_47, x_48); -return x_49; +x_49 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__7), 6, 5); +lean_closure_set(x_49, 0, x_1); +lean_closure_set(x_49, 1, x_3); +lean_closure_set(x_49, 2, x_4); +lean_closure_set(x_49, 3, x_2); +lean_closure_set(x_49, 4, x_5); +x_50 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_48, x_49); +return x_50; } case 8: { -lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; +lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_dec(x_8); -x_50 = lean_ctor_get(x_1, 1); -lean_inc(x_50); -x_51 = lean_ctor_get(x_1, 2); +x_51 = lean_ctor_get(x_1, 1); lean_inc(x_51); -x_52 = lean_ctor_get(x_1, 3); +x_52 = lean_ctor_get(x_1, 2); lean_inc(x_52); +x_53 = lean_ctor_get(x_1, 3); +lean_inc(x_53); lean_inc(x_3); lean_inc(x_4); lean_inc(x_7); lean_inc(x_6); lean_inc(x_2); -x_53 = l_Lean_instantiateExprMVars___rarg(x_2, x_6, x_7, x_4, x_50, x_3); +x_54 = l_Lean_instantiateExprMVars___rarg(x_2, x_6, x_7, x_4, x_51, x_3); lean_inc(x_5); lean_inc(x_1); lean_inc(x_3); lean_inc(x_4); lean_inc(x_2); -x_54 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__17), 10, 9); -lean_closure_set(x_54, 0, x_2); -lean_closure_set(x_54, 1, x_6); -lean_closure_set(x_54, 2, x_7); -lean_closure_set(x_54, 3, x_4); -lean_closure_set(x_54, 4, x_51); -lean_closure_set(x_54, 5, x_3); -lean_closure_set(x_54, 6, x_52); -lean_closure_set(x_54, 7, x_1); -lean_closure_set(x_54, 8, x_5); +x_55 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__17), 10, 9); +lean_closure_set(x_55, 0, x_2); +lean_closure_set(x_55, 1, x_6); +lean_closure_set(x_55, 2, x_7); +lean_closure_set(x_55, 3, x_4); +lean_closure_set(x_55, 4, x_52); +lean_closure_set(x_55, 5, x_3); +lean_closure_set(x_55, 6, x_53); +lean_closure_set(x_55, 7, x_1); +lean_closure_set(x_55, 8, x_5); lean_inc(x_5); -x_55 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_53, x_54); +x_56 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_54, x_55); lean_inc(x_5); -x_56 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__7), 6, 5); -lean_closure_set(x_56, 0, x_1); -lean_closure_set(x_56, 1, x_3); -lean_closure_set(x_56, 2, x_4); -lean_closure_set(x_56, 3, x_2); -lean_closure_set(x_56, 4, x_5); -x_57 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_55, x_56); -return x_57; +x_57 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__7), 6, 5); +lean_closure_set(x_57, 0, x_1); +lean_closure_set(x_57, 1, x_3); +lean_closure_set(x_57, 2, x_4); +lean_closure_set(x_57, 3, x_2); +lean_closure_set(x_57, 4, x_5); +x_58 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_56, x_57); +return x_58; } case 10: { -lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; +lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_dec(x_8); -x_58 = lean_ctor_get(x_1, 1); -lean_inc(x_58); +x_59 = lean_ctor_get(x_1, 1); +lean_inc(x_59); lean_inc(x_3); lean_inc(x_4); lean_inc(x_2); -x_59 = l_Lean_instantiateExprMVars___rarg(x_2, x_6, x_7, x_4, x_58, x_3); +x_60 = l_Lean_instantiateExprMVars___rarg(x_2, x_6, x_7, x_4, x_59, x_3); lean_inc(x_1); lean_inc(x_2); -x_60 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__18), 3, 2); -lean_closure_set(x_60, 0, x_2); -lean_closure_set(x_60, 1, x_1); +x_61 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__18), 3, 2); +lean_closure_set(x_61, 0, x_2); +lean_closure_set(x_61, 1, x_1); lean_inc(x_5); -x_61 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_59, x_60); +x_62 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_60, x_61); lean_inc(x_5); -x_62 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__7), 6, 5); -lean_closure_set(x_62, 0, x_1); -lean_closure_set(x_62, 1, x_3); -lean_closure_set(x_62, 2, x_4); -lean_closure_set(x_62, 3, x_2); -lean_closure_set(x_62, 4, x_5); -x_63 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_61, x_62); -return x_63; +x_63 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__7), 6, 5); +lean_closure_set(x_63, 0, x_1); +lean_closure_set(x_63, 1, x_3); +lean_closure_set(x_63, 2, x_4); +lean_closure_set(x_63, 3, x_2); +lean_closure_set(x_63, 4, x_5); +x_64 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_62, x_63); +return x_64; } case 11: { -lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; +lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_dec(x_8); -x_64 = lean_ctor_get(x_1, 2); -lean_inc(x_64); +x_65 = lean_ctor_get(x_1, 2); +lean_inc(x_65); lean_inc(x_3); lean_inc(x_4); lean_inc(x_2); -x_65 = l_Lean_instantiateExprMVars___rarg(x_2, x_6, x_7, x_4, x_64, x_3); +x_66 = l_Lean_instantiateExprMVars___rarg(x_2, x_6, x_7, x_4, x_65, x_3); lean_inc(x_1); lean_inc(x_2); -x_66 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__19), 3, 2); -lean_closure_set(x_66, 0, x_2); -lean_closure_set(x_66, 1, x_1); +x_67 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__19), 3, 2); +lean_closure_set(x_67, 0, x_2); +lean_closure_set(x_67, 1, x_1); lean_inc(x_5); -x_67 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_65, x_66); +x_68 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_66, x_67); lean_inc(x_5); -x_68 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__7), 6, 5); -lean_closure_set(x_68, 0, x_1); -lean_closure_set(x_68, 1, x_3); -lean_closure_set(x_68, 2, x_4); -lean_closure_set(x_68, 3, x_2); -lean_closure_set(x_68, 4, x_5); -x_69 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_67, x_68); -return x_69; +x_69 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__7), 6, 5); +lean_closure_set(x_69, 0, x_1); +lean_closure_set(x_69, 1, x_3); +lean_closure_set(x_69, 2, x_4); +lean_closure_set(x_69, 3, x_2); +lean_closure_set(x_69, 4, x_5); +x_70 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_68, x_69); +return x_70; } default: { -lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; +lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -x_70 = lean_ctor_get(x_2, 0); -lean_inc(x_70); +x_71 = lean_ctor_get(x_2, 0); +lean_inc(x_71); lean_dec(x_2); -x_71 = lean_ctor_get(x_70, 1); -lean_inc(x_71); -lean_dec(x_70); -lean_inc(x_71); +x_72 = lean_ctor_get(x_71, 1); +lean_inc(x_72); +lean_dec(x_71); +lean_inc(x_72); lean_inc(x_1); -x_72 = lean_apply_2(x_71, lean_box(0), x_1); +x_73 = lean_apply_2(x_72, lean_box(0), x_1); lean_inc(x_5); -x_73 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__4), 6, 5); -lean_closure_set(x_73, 0, x_1); -lean_closure_set(x_73, 1, x_3); -lean_closure_set(x_73, 2, x_4); -lean_closure_set(x_73, 3, x_71); -lean_closure_set(x_73, 4, x_5); -x_74 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_72, x_73); -return x_74; +x_74 = lean_alloc_closure((void*)(l_Lean_instantiateExprMVars___rarg___lambda__4), 6, 5); +lean_closure_set(x_74, 0, x_1); +lean_closure_set(x_74, 1, x_3); +lean_closure_set(x_74, 2, x_4); +lean_closure_set(x_74, 3, x_72); +lean_closure_set(x_74, 4, x_5); +x_75 = lean_apply_4(x_5, lean_box(0), lean_box(0), x_73, x_74); +return x_75; } } } else { -lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; +lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -13879,17 +13860,17 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_75 = lean_ctor_get(x_9, 0); -lean_inc(x_75); -lean_dec(x_9); -x_76 = lean_ctor_get(x_2, 0); +x_76 = lean_ctor_get(x_9, 0); lean_inc(x_76); -lean_dec(x_2); -x_77 = lean_ctor_get(x_76, 1); +lean_dec(x_9); +x_77 = lean_ctor_get(x_2, 0); lean_inc(x_77); -lean_dec(x_76); -x_78 = lean_apply_2(x_77, lean_box(0), x_75); -return x_78; +lean_dec(x_2); +x_78 = lean_ctor_get(x_77, 1); +lean_inc(x_78); +lean_dec(x_77); +x_79 = lean_apply_2(x_78, lean_box(0), x_76); +return x_79; } } } @@ -17131,221 +17112,134 @@ x_2 = lean_alloc_closure((void*)(l_Lean_instantiateLevelMVars___at_Lean_instanti return x_2; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_instantiateMVarsCore___spec__9___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_instantiateMVarsCore___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) { _start: { if (lean_obj_tag(x_2) == 0) { -lean_object* x_6; lean_object* x_7; -x_6 = lean_box(0); -x_7 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_7, 0, x_6); -lean_ctor_set(x_7, 1, x_5); -return x_7; +lean_object* x_7; lean_object* x_8; +x_7 = l_List_reverse___rarg(x_3); +x_8 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_6); +return x_8; } else { -uint8_t x_8; -x_8 = !lean_is_exclusive(x_2); -if (x_8 == 0) +uint8_t x_9; +x_9 = !lean_is_exclusive(x_2); +if (x_9 == 0) { -lean_object* x_9; lean_object* x_10; lean_object* x_11; -x_9 = lean_ctor_get(x_2, 0); -x_10 = lean_ctor_get(x_2, 1); -x_11 = l_Lean_instantiateLevelMVars___at_Lean_instantiateMVarsCore___spec__7___rarg(x_9, x_3, x_4, x_5); -if (lean_obj_tag(x_11) == 0) +lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_10 = lean_ctor_get(x_2, 0); +x_11 = lean_ctor_get(x_2, 1); +x_12 = l_Lean_instantiateLevelMVars___at_Lean_instantiateMVarsCore___spec__7___rarg(x_10, x_4, x_5, x_6); +if (lean_obj_tag(x_12) == 0) { -lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_12 = lean_ctor_get(x_11, 0); -lean_inc(x_12); -x_13 = lean_ctor_get(x_11, 1); +lean_object* x_13; lean_object* x_14; +x_13 = lean_ctor_get(x_12, 0); lean_inc(x_13); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_13); +{ +lean_object* _tmp_1 = x_11; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_5 = x_14; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_6 = _tmp_5; +} +goto _start; +} +else +{ +uint8_t x_16; +lean_free_object(x_2); lean_dec(x_11); -x_14 = l_List_mapM___at_Lean_instantiateMVarsCore___spec__9___rarg(x_1, x_10, x_3, x_4, x_13); -if (lean_obj_tag(x_14) == 0) +lean_dec(x_3); +x_16 = !lean_is_exclusive(x_12); +if (x_16 == 0) { -uint8_t x_15; -x_15 = !lean_is_exclusive(x_14); -if (x_15 == 0) -{ -lean_object* x_16; -x_16 = lean_ctor_get(x_14, 0); -lean_ctor_set(x_2, 1, x_16); -lean_ctor_set(x_2, 0, x_12); -lean_ctor_set(x_14, 0, x_2); -return x_14; +return x_12; } else { lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_17 = lean_ctor_get(x_14, 0); -x_18 = lean_ctor_get(x_14, 1); +x_17 = lean_ctor_get(x_12, 0); +x_18 = lean_ctor_get(x_12, 1); lean_inc(x_18); lean_inc(x_17); -lean_dec(x_14); -lean_ctor_set(x_2, 1, x_17); -lean_ctor_set(x_2, 0, x_12); -x_19 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_19, 0, x_2); +lean_dec(x_12); +x_19 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_19, 0, x_17); lean_ctor_set(x_19, 1, x_18); return x_19; } } -else -{ -uint8_t x_20; -lean_dec(x_12); -lean_free_object(x_2); -x_20 = !lean_is_exclusive(x_14); -if (x_20 == 0) -{ -return x_14; } else { -lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_21 = lean_ctor_get(x_14, 0); -x_22 = lean_ctor_get(x_14, 1); -lean_inc(x_22); +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_2, 0); +x_21 = lean_ctor_get(x_2, 1); lean_inc(x_21); -lean_dec(x_14); -x_23 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_23, 0, x_21); -lean_ctor_set(x_23, 1, x_22); -return x_23; -} -} -} -else -{ -uint8_t x_24; -lean_free_object(x_2); -lean_dec(x_10); -x_24 = !lean_is_exclusive(x_11); -if (x_24 == 0) -{ -return x_11; -} -else -{ -lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = lean_ctor_get(x_11, 0); -x_26 = lean_ctor_get(x_11, 1); -lean_inc(x_26); -lean_inc(x_25); -lean_dec(x_11); -x_27 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_27, 0, x_25); -lean_ctor_set(x_27, 1, x_26); -return x_27; -} -} -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_2, 0); -x_29 = lean_ctor_get(x_2, 1); -lean_inc(x_29); -lean_inc(x_28); +lean_inc(x_20); lean_dec(x_2); -x_30 = l_Lean_instantiateLevelMVars___at_Lean_instantiateMVarsCore___spec__7___rarg(x_28, x_3, x_4, x_5); -if (lean_obj_tag(x_30) == 0) +x_22 = l_Lean_instantiateLevelMVars___at_Lean_instantiateMVarsCore___spec__7___rarg(x_20, x_4, x_5, x_6); +if (lean_obj_tag(x_22) == 0) { -lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_31 = lean_ctor_get(x_30, 0); -lean_inc(x_31); -x_32 = lean_ctor_get(x_30, 1); -lean_inc(x_32); -lean_dec(x_30); -x_33 = l_List_mapM___at_Lean_instantiateMVarsCore___spec__9___rarg(x_1, x_29, x_3, x_4, x_32); -if (lean_obj_tag(x_33) == 0) -{ -lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_34 = lean_ctor_get(x_33, 0); -lean_inc(x_34); -x_35 = lean_ctor_get(x_33, 1); -lean_inc(x_35); -if (lean_is_exclusive(x_33)) { - lean_ctor_release(x_33, 0); - lean_ctor_release(x_33, 1); - x_36 = x_33; -} else { - lean_dec_ref(x_33); - x_36 = lean_box(0); -} -x_37 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_37, 0, x_31); -lean_ctor_set(x_37, 1, x_34); -if (lean_is_scalar(x_36)) { - x_38 = lean_alloc_ctor(0, 2, 0); -} else { - x_38 = x_36; -} -lean_ctor_set(x_38, 0, x_37); -lean_ctor_set(x_38, 1, x_35); -return x_38; +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_22, 0); +lean_inc(x_23); +x_24 = lean_ctor_get(x_22, 1); +lean_inc(x_24); +lean_dec(x_22); +x_25 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_3); +x_2 = x_21; +x_3 = x_25; +x_6 = x_24; +goto _start; } else { -lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; -lean_dec(x_31); -x_39 = lean_ctor_get(x_33, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_33, 1); -lean_inc(x_40); -if (lean_is_exclusive(x_33)) { - lean_ctor_release(x_33, 0); - lean_ctor_release(x_33, 1); - x_41 = x_33; +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +lean_dec(x_21); +lean_dec(x_3); +x_27 = lean_ctor_get(x_22, 0); +lean_inc(x_27); +x_28 = lean_ctor_get(x_22, 1); +lean_inc(x_28); +if (lean_is_exclusive(x_22)) { + lean_ctor_release(x_22, 0); + lean_ctor_release(x_22, 1); + x_29 = x_22; } else { - lean_dec_ref(x_33); - x_41 = lean_box(0); + lean_dec_ref(x_22); + x_29 = lean_box(0); } -if (lean_is_scalar(x_41)) { - x_42 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_29)) { + x_30 = lean_alloc_ctor(1, 2, 0); } else { - x_42 = x_41; + x_30 = x_29; } -lean_ctor_set(x_42, 0, x_39); -lean_ctor_set(x_42, 1, x_40); -return x_42; -} -} -else -{ -lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; -lean_dec(x_29); -x_43 = lean_ctor_get(x_30, 0); -lean_inc(x_43); -x_44 = lean_ctor_get(x_30, 1); -lean_inc(x_44); -if (lean_is_exclusive(x_30)) { - lean_ctor_release(x_30, 0); - lean_ctor_release(x_30, 1); - x_45 = x_30; -} else { - lean_dec_ref(x_30); - x_45 = lean_box(0); -} -if (lean_is_scalar(x_45)) { - x_46 = lean_alloc_ctor(1, 2, 0); -} else { - x_46 = x_45; -} -lean_ctor_set(x_46, 0, x_43); -lean_ctor_set(x_46, 1, x_44); -return x_46; +lean_ctor_set(x_30, 0, x_27); +lean_ctor_set(x_30, 1, x_28); +return x_30; } } } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_instantiateMVarsCore___spec__9(lean_object* x_1) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_instantiateMVarsCore___spec__9(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_List_mapM___at_Lean_instantiateMVarsCore___spec__9___rarg___boxed), 5, 0); +x_2 = lean_alloc_closure((void*)(l_List_mapM_loop___at_Lean_instantiateMVarsCore___spec__9___rarg___boxed), 6, 0); return x_2; } } @@ -21906,281 +21800,282 @@ return x_93; } case 4: { -lean_object* x_94; lean_object* x_95; lean_object* x_96; +lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; x_94 = lean_ctor_get(x_1, 0); lean_inc(x_94); x_95 = lean_ctor_get(x_1, 1); lean_inc(x_95); +x_96 = lean_box(0); lean_inc(x_95); -x_96 = l_List_mapM___at_Lean_instantiateMVarsCore___spec__9___rarg(x_5, x_95, x_2, x_3, x_48); -if (lean_obj_tag(x_96) == 0) +x_97 = l_List_mapM_loop___at_Lean_instantiateMVarsCore___spec__9___rarg(x_5, x_95, x_96, x_2, x_3, x_48); +if (lean_obj_tag(x_97) == 0) { -lean_object* x_97; lean_object* x_98; uint8_t x_99; -x_97 = lean_ctor_get(x_96, 0); -lean_inc(x_97); -x_98 = lean_ctor_get(x_96, 1); +lean_object* x_98; lean_object* x_99; uint8_t x_100; +x_98 = lean_ctor_get(x_97, 0); lean_inc(x_98); -lean_dec(x_96); -x_99 = l_ptrEqList___rarg(x_95, x_97); +x_99 = lean_ctor_get(x_97, 1); +lean_inc(x_99); +lean_dec(x_97); +x_100 = l_ptrEqList___rarg(x_95, x_98); lean_dec(x_95); -if (x_99 == 0) +if (x_100 == 0) { -lean_object* x_100; -x_100 = l_Lean_Expr_const___override(x_94, x_97); -x_8 = x_100; -x_9 = x_98; +lean_object* x_101; +x_101 = l_Lean_Expr_const___override(x_94, x_98); +x_8 = x_101; +x_9 = x_99; goto block_27; } else { -lean_dec(x_97); +lean_dec(x_98); lean_dec(x_94); lean_inc(x_1); x_8 = x_1; -x_9 = x_98; +x_9 = x_99; goto block_27; } } else { -uint8_t x_101; +uint8_t x_102; lean_dec(x_95); lean_dec(x_94); lean_dec(x_1); -x_101 = !lean_is_exclusive(x_96); -if (x_101 == 0) +x_102 = !lean_is_exclusive(x_97); +if (x_102 == 0) { -return x_96; +return x_97; } else { -lean_object* x_102; lean_object* x_103; lean_object* x_104; -x_102 = lean_ctor_get(x_96, 0); -x_103 = lean_ctor_get(x_96, 1); +lean_object* x_103; lean_object* x_104; lean_object* x_105; +x_103 = lean_ctor_get(x_97, 0); +x_104 = lean_ctor_get(x_97, 1); +lean_inc(x_104); lean_inc(x_103); -lean_inc(x_102); -lean_dec(x_96); -x_104 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_104, 0, x_102); -lean_ctor_set(x_104, 1, x_103); -return x_104; +lean_dec(x_97); +x_105 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_105, 0, x_103); +lean_ctor_set(x_105, 1, x_104); +return x_105; } } } case 5: { -lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; -x_105 = lean_unsigned_to_nat(0u); -x_106 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_1, x_105); -x_107 = l_Lean_instantiateExprMVars___rarg___lambda__20___closed__1; -lean_inc(x_106); -x_108 = lean_mk_array(x_106, x_107); -x_109 = lean_unsigned_to_nat(1u); -x_110 = lean_nat_sub(x_106, x_109); -lean_dec(x_106); +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; +x_106 = lean_unsigned_to_nat(0u); +x_107 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_1, x_106); +x_108 = l_Lean_instantiateExprMVars___rarg___lambda__20___closed__1; +lean_inc(x_107); +x_109 = lean_mk_array(x_107, x_108); +x_110 = lean_unsigned_to_nat(1u); +x_111 = lean_nat_sub(x_107, x_110); +lean_dec(x_107); lean_inc(x_1); -x_111 = l_Lean_Expr_withAppAux___at_Lean_instantiateMVarsCore___spec__38___rarg(x_5, x_1, x_108, x_110, x_2, x_3, x_48); -if (lean_obj_tag(x_111) == 0) +x_112 = l_Lean_Expr_withAppAux___at_Lean_instantiateMVarsCore___spec__38___rarg(x_5, x_1, x_109, x_111, x_2, x_3, x_48); +if (lean_obj_tag(x_112) == 0) { -lean_object* x_112; lean_object* x_113; lean_object* x_114; -x_112 = lean_ctor_get(x_111, 0); -lean_inc(x_112); -x_113 = lean_ctor_get(x_111, 1); +lean_object* x_113; lean_object* x_114; lean_object* x_115; +x_113 = lean_ctor_get(x_112, 0); lean_inc(x_113); -lean_dec(x_111); -x_114 = lean_st_ref_take(x_2, x_113); -if (lean_obj_tag(x_114) == 0) +x_114 = lean_ctor_get(x_112, 1); +lean_inc(x_114); +lean_dec(x_112); +x_115 = lean_st_ref_take(x_2, x_114); +if (lean_obj_tag(x_115) == 0) { -lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; -x_115 = lean_ctor_get(x_114, 0); -lean_inc(x_115); -x_116 = lean_ctor_get(x_114, 1); +lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; +x_116 = lean_ctor_get(x_115, 0); lean_inc(x_116); -lean_dec(x_114); -lean_inc(x_112); -x_117 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_115, x_1, x_112); -x_118 = lean_st_ref_set(x_2, x_117, x_116); -if (lean_obj_tag(x_118) == 0) +x_117 = lean_ctor_get(x_115, 1); +lean_inc(x_117); +lean_dec(x_115); +lean_inc(x_113); +x_118 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_116, x_1, x_113); +x_119 = lean_st_ref_set(x_2, x_118, x_117); +if (lean_obj_tag(x_119) == 0) { -uint8_t x_119; -x_119 = !lean_is_exclusive(x_118); -if (x_119 == 0) +uint8_t x_120; +x_120 = !lean_is_exclusive(x_119); +if (x_120 == 0) { -lean_object* x_120; -x_120 = lean_ctor_get(x_118, 0); -lean_dec(x_120); -lean_ctor_set(x_118, 0, x_112); -return x_118; +lean_object* x_121; +x_121 = lean_ctor_get(x_119, 0); +lean_dec(x_121); +lean_ctor_set(x_119, 0, x_113); +return x_119; } else { -lean_object* x_121; lean_object* x_122; -x_121 = lean_ctor_get(x_118, 1); -lean_inc(x_121); -lean_dec(x_118); -x_122 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_122, 0, x_112); -lean_ctor_set(x_122, 1, x_121); -return x_122; +lean_object* x_122; lean_object* x_123; +x_122 = lean_ctor_get(x_119, 1); +lean_inc(x_122); +lean_dec(x_119); +x_123 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_123, 0, x_113); +lean_ctor_set(x_123, 1, x_122); +return x_123; } } else { -uint8_t x_123; -lean_dec(x_112); -x_123 = !lean_is_exclusive(x_118); -if (x_123 == 0) +uint8_t x_124; +lean_dec(x_113); +x_124 = !lean_is_exclusive(x_119); +if (x_124 == 0) { -return x_118; +return x_119; } else { -lean_object* x_124; lean_object* x_125; lean_object* x_126; -x_124 = lean_ctor_get(x_118, 0); -x_125 = lean_ctor_get(x_118, 1); +lean_object* x_125; lean_object* x_126; lean_object* x_127; +x_125 = lean_ctor_get(x_119, 0); +x_126 = lean_ctor_get(x_119, 1); +lean_inc(x_126); lean_inc(x_125); -lean_inc(x_124); -lean_dec(x_118); -x_126 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_126, 0, x_124); -lean_ctor_set(x_126, 1, x_125); -return x_126; +lean_dec(x_119); +x_127 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_127, 0, x_125); +lean_ctor_set(x_127, 1, x_126); +return x_127; } } } else { -uint8_t x_127; -lean_dec(x_112); +uint8_t x_128; +lean_dec(x_113); lean_dec(x_1); -x_127 = !lean_is_exclusive(x_114); -if (x_127 == 0) +x_128 = !lean_is_exclusive(x_115); +if (x_128 == 0) { -return x_114; +return x_115; } else { -lean_object* x_128; lean_object* x_129; lean_object* x_130; -x_128 = lean_ctor_get(x_114, 0); -x_129 = lean_ctor_get(x_114, 1); +lean_object* x_129; lean_object* x_130; lean_object* x_131; +x_129 = lean_ctor_get(x_115, 0); +x_130 = lean_ctor_get(x_115, 1); +lean_inc(x_130); lean_inc(x_129); -lean_inc(x_128); -lean_dec(x_114); -x_130 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_130, 0, x_128); -lean_ctor_set(x_130, 1, x_129); -return x_130; +lean_dec(x_115); +x_131 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_131, 0, x_129); +lean_ctor_set(x_131, 1, x_130); +return x_131; } } } else { -uint8_t x_131; +uint8_t x_132; lean_dec(x_1); -x_131 = !lean_is_exclusive(x_111); -if (x_131 == 0) +x_132 = !lean_is_exclusive(x_112); +if (x_132 == 0) { -return x_111; +return x_112; } else { -lean_object* x_132; lean_object* x_133; lean_object* x_134; -x_132 = lean_ctor_get(x_111, 0); -x_133 = lean_ctor_get(x_111, 1); +lean_object* x_133; lean_object* x_134; lean_object* x_135; +x_133 = lean_ctor_get(x_112, 0); +x_134 = lean_ctor_get(x_112, 1); +lean_inc(x_134); lean_inc(x_133); -lean_inc(x_132); -lean_dec(x_111); -x_134 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_134, 0, x_132); -lean_ctor_set(x_134, 1, x_133); -return x_134; +lean_dec(x_112); +x_135 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_135, 0, x_133); +lean_ctor_set(x_135, 1, x_134); +return x_135; } } } case 6: { -lean_object* x_135; lean_object* x_136; lean_object* x_137; uint8_t x_138; lean_object* x_139; -x_135 = lean_ctor_get(x_1, 0); -lean_inc(x_135); -x_136 = lean_ctor_get(x_1, 1); +lean_object* x_136; lean_object* x_137; lean_object* x_138; uint8_t x_139; lean_object* x_140; +x_136 = lean_ctor_get(x_1, 0); lean_inc(x_136); -x_137 = lean_ctor_get(x_1, 2); +x_137 = lean_ctor_get(x_1, 1); lean_inc(x_137); -x_138 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8); -lean_inc(x_136); -x_139 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_136, x_2, x_3, x_48); -if (lean_obj_tag(x_139) == 0) +x_138 = lean_ctor_get(x_1, 2); +lean_inc(x_138); +x_139 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8); +lean_inc(x_137); +x_140 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_137, x_2, x_3, x_48); +if (lean_obj_tag(x_140) == 0) { -lean_object* x_140; lean_object* x_141; lean_object* x_142; -x_140 = lean_ctor_get(x_139, 0); -lean_inc(x_140); -x_141 = lean_ctor_get(x_139, 1); +lean_object* x_141; lean_object* x_142; lean_object* x_143; +x_141 = lean_ctor_get(x_140, 0); lean_inc(x_141); -lean_dec(x_139); -lean_inc(x_137); -x_142 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_137, x_2, x_3, x_141); -if (lean_obj_tag(x_142) == 0) +x_142 = lean_ctor_get(x_140, 1); +lean_inc(x_142); +lean_dec(x_140); +lean_inc(x_138); +x_143 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_138, x_2, x_3, x_142); +if (lean_obj_tag(x_143) == 0) { -lean_object* x_143; lean_object* x_144; lean_object* x_145; size_t x_146; size_t x_147; uint8_t x_148; -x_143 = lean_ctor_get(x_142, 0); -lean_inc(x_143); -x_144 = lean_ctor_get(x_142, 1); +lean_object* x_144; lean_object* x_145; lean_object* x_146; size_t x_147; size_t x_148; uint8_t x_149; +x_144 = lean_ctor_get(x_143, 0); lean_inc(x_144); -lean_dec(x_142); +x_145 = lean_ctor_get(x_143, 1); +lean_inc(x_145); +lean_dec(x_143); +lean_inc(x_138); lean_inc(x_137); lean_inc(x_136); -lean_inc(x_135); -x_145 = l_Lean_Expr_lam___override(x_135, x_136, x_137, x_138); -x_146 = lean_ptr_addr(x_136); +x_146 = l_Lean_Expr_lam___override(x_136, x_137, x_138, x_139); +x_147 = lean_ptr_addr(x_137); +lean_dec(x_137); +x_148 = lean_ptr_addr(x_141); +x_149 = lean_usize_dec_eq(x_147, x_148); +if (x_149 == 0) +{ +lean_object* x_150; +lean_dec(x_146); +lean_dec(x_138); +x_150 = l_Lean_Expr_lam___override(x_136, x_141, x_144, x_139); +x_8 = x_150; +x_9 = x_145; +goto block_27; +} +else +{ +size_t x_151; size_t x_152; uint8_t x_153; +x_151 = lean_ptr_addr(x_138); +lean_dec(x_138); +x_152 = lean_ptr_addr(x_144); +x_153 = lean_usize_dec_eq(x_151, x_152); +if (x_153 == 0) +{ +lean_object* x_154; +lean_dec(x_146); +x_154 = l_Lean_Expr_lam___override(x_136, x_141, x_144, x_139); +x_8 = x_154; +x_9 = x_145; +goto block_27; +} +else +{ +uint8_t x_155; +x_155 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_139, x_139); +if (x_155 == 0) +{ +lean_object* x_156; +lean_dec(x_146); +x_156 = l_Lean_Expr_lam___override(x_136, x_141, x_144, x_139); +x_8 = x_156; +x_9 = x_145; +goto block_27; +} +else +{ +lean_dec(x_144); +lean_dec(x_141); lean_dec(x_136); -x_147 = lean_ptr_addr(x_140); -x_148 = lean_usize_dec_eq(x_146, x_147); -if (x_148 == 0) -{ -lean_object* x_149; -lean_dec(x_145); -lean_dec(x_137); -x_149 = l_Lean_Expr_lam___override(x_135, x_140, x_143, x_138); -x_8 = x_149; -x_9 = x_144; -goto block_27; -} -else -{ -size_t x_150; size_t x_151; uint8_t x_152; -x_150 = lean_ptr_addr(x_137); -lean_dec(x_137); -x_151 = lean_ptr_addr(x_143); -x_152 = lean_usize_dec_eq(x_150, x_151); -if (x_152 == 0) -{ -lean_object* x_153; -lean_dec(x_145); -x_153 = l_Lean_Expr_lam___override(x_135, x_140, x_143, x_138); -x_8 = x_153; -x_9 = x_144; -goto block_27; -} -else -{ -uint8_t x_154; -x_154 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_138, x_138); -if (x_154 == 0) -{ -lean_object* x_155; -lean_dec(x_145); -x_155 = l_Lean_Expr_lam___override(x_135, x_140, x_143, x_138); -x_8 = x_155; -x_9 = x_144; -goto block_27; -} -else -{ -lean_dec(x_143); -lean_dec(x_140); -lean_dec(x_135); -x_8 = x_145; -x_9 = x_144; +x_8 = x_146; +x_9 = x_145; goto block_27; } } @@ -22188,143 +22083,143 @@ goto block_27; } else { -uint8_t x_156; -lean_dec(x_140); +uint8_t x_157; +lean_dec(x_141); +lean_dec(x_138); lean_dec(x_137); lean_dec(x_136); -lean_dec(x_135); lean_dec(x_1); -x_156 = !lean_is_exclusive(x_142); -if (x_156 == 0) +x_157 = !lean_is_exclusive(x_143); +if (x_157 == 0) { -return x_142; +return x_143; } else { -lean_object* x_157; lean_object* x_158; lean_object* x_159; -x_157 = lean_ctor_get(x_142, 0); -x_158 = lean_ctor_get(x_142, 1); +lean_object* x_158; lean_object* x_159; lean_object* x_160; +x_158 = lean_ctor_get(x_143, 0); +x_159 = lean_ctor_get(x_143, 1); +lean_inc(x_159); lean_inc(x_158); -lean_inc(x_157); -lean_dec(x_142); -x_159 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_159, 0, x_157); -lean_ctor_set(x_159, 1, x_158); -return x_159; +lean_dec(x_143); +x_160 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_160, 0, x_158); +lean_ctor_set(x_160, 1, x_159); +return x_160; } } } else { -uint8_t x_160; +uint8_t x_161; +lean_dec(x_138); lean_dec(x_137); lean_dec(x_136); -lean_dec(x_135); lean_dec(x_1); -x_160 = !lean_is_exclusive(x_139); -if (x_160 == 0) +x_161 = !lean_is_exclusive(x_140); +if (x_161 == 0) { -return x_139; +return x_140; } else { -lean_object* x_161; lean_object* x_162; lean_object* x_163; -x_161 = lean_ctor_get(x_139, 0); -x_162 = lean_ctor_get(x_139, 1); +lean_object* x_162; lean_object* x_163; lean_object* x_164; +x_162 = lean_ctor_get(x_140, 0); +x_163 = lean_ctor_get(x_140, 1); +lean_inc(x_163); lean_inc(x_162); -lean_inc(x_161); -lean_dec(x_139); -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; +lean_dec(x_140); +x_164 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_164, 0, x_162); +lean_ctor_set(x_164, 1, x_163); +return x_164; } } } case 7: { -lean_object* x_164; lean_object* x_165; lean_object* x_166; uint8_t x_167; lean_object* x_168; -x_164 = lean_ctor_get(x_1, 0); -lean_inc(x_164); -x_165 = lean_ctor_get(x_1, 1); +lean_object* x_165; lean_object* x_166; lean_object* x_167; uint8_t x_168; lean_object* x_169; +x_165 = lean_ctor_get(x_1, 0); lean_inc(x_165); -x_166 = lean_ctor_get(x_1, 2); +x_166 = lean_ctor_get(x_1, 1); lean_inc(x_166); -x_167 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8); -lean_inc(x_165); -x_168 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_165, x_2, x_3, x_48); -if (lean_obj_tag(x_168) == 0) +x_167 = lean_ctor_get(x_1, 2); +lean_inc(x_167); +x_168 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8); +lean_inc(x_166); +x_169 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_166, x_2, x_3, x_48); +if (lean_obj_tag(x_169) == 0) { -lean_object* x_169; lean_object* x_170; lean_object* x_171; -x_169 = lean_ctor_get(x_168, 0); -lean_inc(x_169); -x_170 = lean_ctor_get(x_168, 1); +lean_object* x_170; lean_object* x_171; lean_object* x_172; +x_170 = lean_ctor_get(x_169, 0); lean_inc(x_170); -lean_dec(x_168); -lean_inc(x_166); -x_171 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_166, x_2, x_3, x_170); -if (lean_obj_tag(x_171) == 0) +x_171 = lean_ctor_get(x_169, 1); +lean_inc(x_171); +lean_dec(x_169); +lean_inc(x_167); +x_172 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_167, x_2, x_3, x_171); +if (lean_obj_tag(x_172) == 0) { -lean_object* x_172; lean_object* x_173; lean_object* x_174; size_t x_175; size_t x_176; uint8_t x_177; -x_172 = lean_ctor_get(x_171, 0); -lean_inc(x_172); -x_173 = lean_ctor_get(x_171, 1); +lean_object* x_173; lean_object* x_174; lean_object* x_175; size_t x_176; size_t x_177; uint8_t x_178; +x_173 = lean_ctor_get(x_172, 0); lean_inc(x_173); -lean_dec(x_171); +x_174 = lean_ctor_get(x_172, 1); +lean_inc(x_174); +lean_dec(x_172); +lean_inc(x_167); lean_inc(x_166); lean_inc(x_165); -lean_inc(x_164); -x_174 = l_Lean_Expr_forallE___override(x_164, x_165, x_166, x_167); -x_175 = lean_ptr_addr(x_165); +x_175 = l_Lean_Expr_forallE___override(x_165, x_166, x_167, x_168); +x_176 = lean_ptr_addr(x_166); +lean_dec(x_166); +x_177 = lean_ptr_addr(x_170); +x_178 = lean_usize_dec_eq(x_176, x_177); +if (x_178 == 0) +{ +lean_object* x_179; +lean_dec(x_175); +lean_dec(x_167); +x_179 = l_Lean_Expr_forallE___override(x_165, x_170, x_173, x_168); +x_8 = x_179; +x_9 = x_174; +goto block_27; +} +else +{ +size_t x_180; size_t x_181; uint8_t x_182; +x_180 = lean_ptr_addr(x_167); +lean_dec(x_167); +x_181 = lean_ptr_addr(x_173); +x_182 = lean_usize_dec_eq(x_180, x_181); +if (x_182 == 0) +{ +lean_object* x_183; +lean_dec(x_175); +x_183 = l_Lean_Expr_forallE___override(x_165, x_170, x_173, x_168); +x_8 = x_183; +x_9 = x_174; +goto block_27; +} +else +{ +uint8_t x_184; +x_184 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_168, x_168); +if (x_184 == 0) +{ +lean_object* x_185; +lean_dec(x_175); +x_185 = l_Lean_Expr_forallE___override(x_165, x_170, x_173, x_168); +x_8 = x_185; +x_9 = x_174; +goto block_27; +} +else +{ +lean_dec(x_173); +lean_dec(x_170); lean_dec(x_165); -x_176 = lean_ptr_addr(x_169); -x_177 = lean_usize_dec_eq(x_175, x_176); -if (x_177 == 0) -{ -lean_object* x_178; -lean_dec(x_174); -lean_dec(x_166); -x_178 = l_Lean_Expr_forallE___override(x_164, x_169, x_172, x_167); -x_8 = x_178; -x_9 = x_173; -goto block_27; -} -else -{ -size_t x_179; size_t x_180; uint8_t x_181; -x_179 = lean_ptr_addr(x_166); -lean_dec(x_166); -x_180 = lean_ptr_addr(x_172); -x_181 = lean_usize_dec_eq(x_179, x_180); -if (x_181 == 0) -{ -lean_object* x_182; -lean_dec(x_174); -x_182 = l_Lean_Expr_forallE___override(x_164, x_169, x_172, x_167); -x_8 = x_182; -x_9 = x_173; -goto block_27; -} -else -{ -uint8_t x_183; -x_183 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_167, x_167); -if (x_183 == 0) -{ -lean_object* x_184; -lean_dec(x_174); -x_184 = l_Lean_Expr_forallE___override(x_164, x_169, x_172, x_167); -x_8 = x_184; -x_9 = x_173; -goto block_27; -} -else -{ -lean_dec(x_172); -lean_dec(x_169); -lean_dec(x_164); -x_8 = x_174; -x_9 = x_173; +x_8 = x_175; +x_9 = x_174; goto block_27; } } @@ -22332,155 +22227,155 @@ goto block_27; } else { -uint8_t x_185; -lean_dec(x_169); +uint8_t x_186; +lean_dec(x_170); +lean_dec(x_167); lean_dec(x_166); lean_dec(x_165); -lean_dec(x_164); lean_dec(x_1); -x_185 = !lean_is_exclusive(x_171); -if (x_185 == 0) +x_186 = !lean_is_exclusive(x_172); +if (x_186 == 0) { -return x_171; +return x_172; } else { -lean_object* x_186; lean_object* x_187; lean_object* x_188; -x_186 = lean_ctor_get(x_171, 0); -x_187 = lean_ctor_get(x_171, 1); +lean_object* x_187; lean_object* x_188; lean_object* x_189; +x_187 = lean_ctor_get(x_172, 0); +x_188 = lean_ctor_get(x_172, 1); +lean_inc(x_188); lean_inc(x_187); -lean_inc(x_186); -lean_dec(x_171); -x_188 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_188, 0, x_186); -lean_ctor_set(x_188, 1, x_187); -return x_188; +lean_dec(x_172); +x_189 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_189, 0, x_187); +lean_ctor_set(x_189, 1, x_188); +return x_189; } } } else { -uint8_t x_189; +uint8_t x_190; +lean_dec(x_167); lean_dec(x_166); lean_dec(x_165); -lean_dec(x_164); lean_dec(x_1); -x_189 = !lean_is_exclusive(x_168); -if (x_189 == 0) +x_190 = !lean_is_exclusive(x_169); +if (x_190 == 0) { -return x_168; +return x_169; } else { -lean_object* x_190; lean_object* x_191; lean_object* x_192; -x_190 = lean_ctor_get(x_168, 0); -x_191 = lean_ctor_get(x_168, 1); +lean_object* x_191; lean_object* x_192; lean_object* x_193; +x_191 = lean_ctor_get(x_169, 0); +x_192 = lean_ctor_get(x_169, 1); +lean_inc(x_192); lean_inc(x_191); -lean_inc(x_190); -lean_dec(x_168); -x_192 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_192, 0, x_190); -lean_ctor_set(x_192, 1, x_191); -return x_192; +lean_dec(x_169); +x_193 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_193, 0, x_191); +lean_ctor_set(x_193, 1, x_192); +return x_193; } } } case 8: { -lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; uint8_t x_197; lean_object* x_198; -x_193 = lean_ctor_get(x_1, 0); -lean_inc(x_193); -x_194 = lean_ctor_get(x_1, 1); +lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; uint8_t x_198; lean_object* x_199; +x_194 = lean_ctor_get(x_1, 0); lean_inc(x_194); -x_195 = lean_ctor_get(x_1, 2); +x_195 = lean_ctor_get(x_1, 1); lean_inc(x_195); -x_196 = lean_ctor_get(x_1, 3); +x_196 = lean_ctor_get(x_1, 2); lean_inc(x_196); -x_197 = lean_ctor_get_uint8(x_1, sizeof(void*)*4 + 8); -lean_inc(x_194); -x_198 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_194, x_2, x_3, x_48); -if (lean_obj_tag(x_198) == 0) +x_197 = lean_ctor_get(x_1, 3); +lean_inc(x_197); +x_198 = lean_ctor_get_uint8(x_1, sizeof(void*)*4 + 8); +lean_inc(x_195); +x_199 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_195, x_2, x_3, x_48); +if (lean_obj_tag(x_199) == 0) { -lean_object* x_199; lean_object* x_200; lean_object* x_201; -x_199 = lean_ctor_get(x_198, 0); -lean_inc(x_199); -x_200 = lean_ctor_get(x_198, 1); +lean_object* x_200; lean_object* x_201; lean_object* x_202; +x_200 = lean_ctor_get(x_199, 0); lean_inc(x_200); -lean_dec(x_198); -lean_inc(x_195); -x_201 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_195, x_2, x_3, x_200); -if (lean_obj_tag(x_201) == 0) -{ -lean_object* x_202; lean_object* x_203; lean_object* x_204; -x_202 = lean_ctor_get(x_201, 0); -lean_inc(x_202); -x_203 = lean_ctor_get(x_201, 1); -lean_inc(x_203); -lean_dec(x_201); -lean_inc(x_196); -x_204 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_196, x_2, x_3, x_203); -if (lean_obj_tag(x_204) == 0) -{ -lean_object* x_205; lean_object* x_206; size_t x_207; size_t x_208; uint8_t x_209; -x_205 = lean_ctor_get(x_204, 0); -lean_inc(x_205); -x_206 = lean_ctor_get(x_204, 1); -lean_inc(x_206); -lean_dec(x_204); -x_207 = lean_ptr_addr(x_194); -lean_dec(x_194); -x_208 = lean_ptr_addr(x_199); -x_209 = lean_usize_dec_eq(x_207, x_208); -if (x_209 == 0) -{ -lean_object* x_210; -lean_dec(x_196); -lean_dec(x_195); -x_210 = l_Lean_Expr_letE___override(x_193, x_199, x_202, x_205, x_197); -x_8 = x_210; -x_9 = x_206; -goto block_27; -} -else -{ -size_t x_211; size_t x_212; uint8_t x_213; -x_211 = lean_ptr_addr(x_195); -lean_dec(x_195); -x_212 = lean_ptr_addr(x_202); -x_213 = lean_usize_dec_eq(x_211, x_212); -if (x_213 == 0) -{ -lean_object* x_214; -lean_dec(x_196); -x_214 = l_Lean_Expr_letE___override(x_193, x_199, x_202, x_205, x_197); -x_8 = x_214; -x_9 = x_206; -goto block_27; -} -else -{ -size_t x_215; size_t x_216; uint8_t x_217; -x_215 = lean_ptr_addr(x_196); -lean_dec(x_196); -x_216 = lean_ptr_addr(x_205); -x_217 = lean_usize_dec_eq(x_215, x_216); -if (x_217 == 0) -{ -lean_object* x_218; -x_218 = l_Lean_Expr_letE___override(x_193, x_199, x_202, x_205, x_197); -x_8 = x_218; -x_9 = x_206; -goto block_27; -} -else -{ -lean_dec(x_205); -lean_dec(x_202); +x_201 = lean_ctor_get(x_199, 1); +lean_inc(x_201); lean_dec(x_199); -lean_dec(x_193); +lean_inc(x_196); +x_202 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_196, x_2, x_3, x_201); +if (lean_obj_tag(x_202) == 0) +{ +lean_object* x_203; lean_object* x_204; lean_object* x_205; +x_203 = lean_ctor_get(x_202, 0); +lean_inc(x_203); +x_204 = lean_ctor_get(x_202, 1); +lean_inc(x_204); +lean_dec(x_202); +lean_inc(x_197); +x_205 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_197, x_2, x_3, x_204); +if (lean_obj_tag(x_205) == 0) +{ +lean_object* x_206; lean_object* x_207; size_t x_208; size_t x_209; uint8_t x_210; +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 = lean_ptr_addr(x_195); +lean_dec(x_195); +x_209 = lean_ptr_addr(x_200); +x_210 = lean_usize_dec_eq(x_208, x_209); +if (x_210 == 0) +{ +lean_object* x_211; +lean_dec(x_197); +lean_dec(x_196); +x_211 = l_Lean_Expr_letE___override(x_194, x_200, x_203, x_206, x_198); +x_8 = x_211; +x_9 = x_207; +goto block_27; +} +else +{ +size_t x_212; size_t x_213; uint8_t x_214; +x_212 = lean_ptr_addr(x_196); +lean_dec(x_196); +x_213 = lean_ptr_addr(x_203); +x_214 = lean_usize_dec_eq(x_212, x_213); +if (x_214 == 0) +{ +lean_object* x_215; +lean_dec(x_197); +x_215 = l_Lean_Expr_letE___override(x_194, x_200, x_203, x_206, x_198); +x_8 = x_215; +x_9 = x_207; +goto block_27; +} +else +{ +size_t x_216; size_t x_217; uint8_t x_218; +x_216 = lean_ptr_addr(x_197); +lean_dec(x_197); +x_217 = lean_ptr_addr(x_206); +x_218 = lean_usize_dec_eq(x_216, x_217); +if (x_218 == 0) +{ +lean_object* x_219; +x_219 = l_Lean_Expr_letE___override(x_194, x_200, x_203, x_206, x_198); +x_8 = x_219; +x_9 = x_207; +goto block_27; +} +else +{ +lean_dec(x_206); +lean_dec(x_203); +lean_dec(x_200); +lean_dec(x_194); lean_inc(x_1); x_8 = x_1; -x_9 = x_206; +x_9 = x_207; goto block_27; } } @@ -22488,309 +22383,309 @@ goto block_27; } else { -uint8_t x_219; -lean_dec(x_202); -lean_dec(x_199); +uint8_t x_220; +lean_dec(x_203); +lean_dec(x_200); +lean_dec(x_197); lean_dec(x_196); lean_dec(x_195); lean_dec(x_194); -lean_dec(x_193); lean_dec(x_1); -x_219 = !lean_is_exclusive(x_204); -if (x_219 == 0) +x_220 = !lean_is_exclusive(x_205); +if (x_220 == 0) { -return x_204; +return x_205; } else { -lean_object* x_220; lean_object* x_221; lean_object* x_222; -x_220 = lean_ctor_get(x_204, 0); -x_221 = lean_ctor_get(x_204, 1); +lean_object* x_221; lean_object* x_222; lean_object* x_223; +x_221 = lean_ctor_get(x_205, 0); +x_222 = lean_ctor_get(x_205, 1); +lean_inc(x_222); lean_inc(x_221); -lean_inc(x_220); -lean_dec(x_204); -x_222 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_222, 0, x_220); -lean_ctor_set(x_222, 1, x_221); -return x_222; +lean_dec(x_205); +x_223 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_223, 0, x_221); +lean_ctor_set(x_223, 1, x_222); +return x_223; } } } else { -uint8_t x_223; -lean_dec(x_199); +uint8_t x_224; +lean_dec(x_200); +lean_dec(x_197); lean_dec(x_196); lean_dec(x_195); lean_dec(x_194); -lean_dec(x_193); lean_dec(x_1); -x_223 = !lean_is_exclusive(x_201); -if (x_223 == 0) +x_224 = !lean_is_exclusive(x_202); +if (x_224 == 0) { -return x_201; +return x_202; } else { -lean_object* x_224; lean_object* x_225; lean_object* x_226; -x_224 = lean_ctor_get(x_201, 0); -x_225 = lean_ctor_get(x_201, 1); +lean_object* x_225; lean_object* x_226; lean_object* x_227; +x_225 = lean_ctor_get(x_202, 0); +x_226 = lean_ctor_get(x_202, 1); +lean_inc(x_226); lean_inc(x_225); -lean_inc(x_224); -lean_dec(x_201); -x_226 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_226, 0, x_224); -lean_ctor_set(x_226, 1, x_225); -return x_226; +lean_dec(x_202); +x_227 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_227, 0, x_225); +lean_ctor_set(x_227, 1, x_226); +return x_227; } } } else { -uint8_t x_227; +uint8_t x_228; +lean_dec(x_197); lean_dec(x_196); lean_dec(x_195); lean_dec(x_194); -lean_dec(x_193); lean_dec(x_1); -x_227 = !lean_is_exclusive(x_198); -if (x_227 == 0) +x_228 = !lean_is_exclusive(x_199); +if (x_228 == 0) { -return x_198; +return x_199; } else { -lean_object* x_228; lean_object* x_229; lean_object* x_230; -x_228 = lean_ctor_get(x_198, 0); -x_229 = lean_ctor_get(x_198, 1); +lean_object* x_229; lean_object* x_230; lean_object* x_231; +x_229 = lean_ctor_get(x_199, 0); +x_230 = lean_ctor_get(x_199, 1); +lean_inc(x_230); lean_inc(x_229); -lean_inc(x_228); -lean_dec(x_198); -x_230 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_230, 0, x_228); -lean_ctor_set(x_230, 1, x_229); -return x_230; +lean_dec(x_199); +x_231 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_231, 0, x_229); +lean_ctor_set(x_231, 1, x_230); +return x_231; } } } case 10: { -lean_object* x_231; lean_object* x_232; lean_object* x_233; -x_231 = lean_ctor_get(x_1, 0); -lean_inc(x_231); -x_232 = lean_ctor_get(x_1, 1); +lean_object* x_232; lean_object* x_233; lean_object* x_234; +x_232 = lean_ctor_get(x_1, 0); lean_inc(x_232); -lean_inc(x_232); -x_233 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_232, x_2, x_3, x_48); -if (lean_obj_tag(x_233) == 0) +x_233 = lean_ctor_get(x_1, 1); +lean_inc(x_233); +lean_inc(x_233); +x_234 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_233, x_2, x_3, x_48); +if (lean_obj_tag(x_234) == 0) { -lean_object* x_234; lean_object* x_235; size_t x_236; size_t x_237; uint8_t x_238; -x_234 = lean_ctor_get(x_233, 0); -lean_inc(x_234); -x_235 = lean_ctor_get(x_233, 1); +lean_object* x_235; lean_object* x_236; size_t x_237; size_t x_238; uint8_t x_239; +x_235 = lean_ctor_get(x_234, 0); lean_inc(x_235); +x_236 = lean_ctor_get(x_234, 1); +lean_inc(x_236); +lean_dec(x_234); +x_237 = lean_ptr_addr(x_233); lean_dec(x_233); -x_236 = lean_ptr_addr(x_232); -lean_dec(x_232); -x_237 = lean_ptr_addr(x_234); -x_238 = lean_usize_dec_eq(x_236, x_237); -if (x_238 == 0) +x_238 = lean_ptr_addr(x_235); +x_239 = lean_usize_dec_eq(x_237, x_238); +if (x_239 == 0) { -lean_object* x_239; -x_239 = l_Lean_Expr_mdata___override(x_231, x_234); -x_8 = x_239; -x_9 = x_235; +lean_object* x_240; +x_240 = l_Lean_Expr_mdata___override(x_232, x_235); +x_8 = x_240; +x_9 = x_236; goto block_27; } else { -lean_dec(x_234); -lean_dec(x_231); +lean_dec(x_235); +lean_dec(x_232); lean_inc(x_1); x_8 = x_1; -x_9 = x_235; +x_9 = x_236; goto block_27; } } else { -uint8_t x_240; +uint8_t x_241; +lean_dec(x_233); lean_dec(x_232); -lean_dec(x_231); lean_dec(x_1); -x_240 = !lean_is_exclusive(x_233); -if (x_240 == 0) +x_241 = !lean_is_exclusive(x_234); +if (x_241 == 0) { -return x_233; +return x_234; } else { -lean_object* x_241; lean_object* x_242; lean_object* x_243; -x_241 = lean_ctor_get(x_233, 0); -x_242 = lean_ctor_get(x_233, 1); +lean_object* x_242; lean_object* x_243; lean_object* x_244; +x_242 = lean_ctor_get(x_234, 0); +x_243 = lean_ctor_get(x_234, 1); +lean_inc(x_243); lean_inc(x_242); -lean_inc(x_241); -lean_dec(x_233); -x_243 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_243, 0, x_241); -lean_ctor_set(x_243, 1, x_242); -return x_243; +lean_dec(x_234); +x_244 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_244, 0, x_242); +lean_ctor_set(x_244, 1, x_243); +return x_244; } } } case 11: { -lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; -x_244 = lean_ctor_get(x_1, 0); -lean_inc(x_244); -x_245 = lean_ctor_get(x_1, 1); +lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; +x_245 = lean_ctor_get(x_1, 0); lean_inc(x_245); -x_246 = lean_ctor_get(x_1, 2); +x_246 = lean_ctor_get(x_1, 1); lean_inc(x_246); -lean_inc(x_246); -x_247 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_246, x_2, x_3, x_48); -if (lean_obj_tag(x_247) == 0) +x_247 = lean_ctor_get(x_1, 2); +lean_inc(x_247); +lean_inc(x_247); +x_248 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_247, x_2, x_3, x_48); +if (lean_obj_tag(x_248) == 0) { -lean_object* x_248; lean_object* x_249; size_t x_250; size_t x_251; uint8_t x_252; -x_248 = lean_ctor_get(x_247, 0); -lean_inc(x_248); -x_249 = lean_ctor_get(x_247, 1); +lean_object* x_249; lean_object* x_250; size_t x_251; size_t x_252; uint8_t x_253; +x_249 = lean_ctor_get(x_248, 0); lean_inc(x_249); +x_250 = lean_ctor_get(x_248, 1); +lean_inc(x_250); +lean_dec(x_248); +x_251 = lean_ptr_addr(x_247); lean_dec(x_247); -x_250 = lean_ptr_addr(x_246); -lean_dec(x_246); -x_251 = lean_ptr_addr(x_248); -x_252 = lean_usize_dec_eq(x_250, x_251); -if (x_252 == 0) +x_252 = lean_ptr_addr(x_249); +x_253 = lean_usize_dec_eq(x_251, x_252); +if (x_253 == 0) { -lean_object* x_253; -x_253 = l_Lean_Expr_proj___override(x_244, x_245, x_248); -x_8 = x_253; -x_9 = x_249; +lean_object* x_254; +x_254 = l_Lean_Expr_proj___override(x_245, x_246, x_249); +x_8 = x_254; +x_9 = x_250; goto block_27; } else { -lean_dec(x_248); +lean_dec(x_249); +lean_dec(x_246); lean_dec(x_245); -lean_dec(x_244); lean_inc(x_1); x_8 = x_1; -x_9 = x_249; +x_9 = x_250; goto block_27; } } else { -uint8_t x_254; +uint8_t x_255; +lean_dec(x_247); lean_dec(x_246); lean_dec(x_245); -lean_dec(x_244); lean_dec(x_1); -x_254 = !lean_is_exclusive(x_247); -if (x_254 == 0) +x_255 = !lean_is_exclusive(x_248); +if (x_255 == 0) { -return x_247; +return x_248; } else { -lean_object* x_255; lean_object* x_256; lean_object* x_257; -x_255 = lean_ctor_get(x_247, 0); -x_256 = lean_ctor_get(x_247, 1); +lean_object* x_256; lean_object* x_257; lean_object* x_258; +x_256 = lean_ctor_get(x_248, 0); +x_257 = lean_ctor_get(x_248, 1); +lean_inc(x_257); lean_inc(x_256); -lean_inc(x_255); -lean_dec(x_247); -x_257 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_257, 0, x_255); -lean_ctor_set(x_257, 1, x_256); -return x_257; +lean_dec(x_248); +x_258 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_258, 0, x_256); +lean_ctor_set(x_258, 1, x_257); +return x_258; } } } default: { -lean_object* x_258; -x_258 = lean_st_ref_take(x_2, x_48); -if (lean_obj_tag(x_258) == 0) +lean_object* x_259; +x_259 = lean_st_ref_take(x_2, x_48); +if (lean_obj_tag(x_259) == 0) { -lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; -x_259 = lean_ctor_get(x_258, 0); -lean_inc(x_259); -x_260 = lean_ctor_get(x_258, 1); +lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; +x_260 = lean_ctor_get(x_259, 0); lean_inc(x_260); -lean_dec(x_258); +x_261 = lean_ctor_get(x_259, 1); +lean_inc(x_261); +lean_dec(x_259); lean_inc_n(x_1, 2); -x_261 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_259, x_1, x_1); -x_262 = lean_st_ref_set(x_2, x_261, x_260); -if (lean_obj_tag(x_262) == 0) +x_262 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_260, x_1, x_1); +x_263 = lean_st_ref_set(x_2, x_262, x_261); +if (lean_obj_tag(x_263) == 0) { -uint8_t x_263; -x_263 = !lean_is_exclusive(x_262); -if (x_263 == 0) +uint8_t x_264; +x_264 = !lean_is_exclusive(x_263); +if (x_264 == 0) { -lean_object* x_264; -x_264 = lean_ctor_get(x_262, 0); -lean_dec(x_264); -lean_ctor_set(x_262, 0, x_1); -return x_262; +lean_object* x_265; +x_265 = lean_ctor_get(x_263, 0); +lean_dec(x_265); +lean_ctor_set(x_263, 0, x_1); +return x_263; } else { -lean_object* x_265; lean_object* x_266; -x_265 = lean_ctor_get(x_262, 1); -lean_inc(x_265); -lean_dec(x_262); -x_266 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_266, 0, x_1); -lean_ctor_set(x_266, 1, x_265); -return x_266; +lean_object* x_266; lean_object* x_267; +x_266 = lean_ctor_get(x_263, 1); +lean_inc(x_266); +lean_dec(x_263); +x_267 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_267, 0, x_1); +lean_ctor_set(x_267, 1, x_266); +return x_267; } } else { -uint8_t x_267; +uint8_t x_268; lean_dec(x_1); -x_267 = !lean_is_exclusive(x_262); -if (x_267 == 0) +x_268 = !lean_is_exclusive(x_263); +if (x_268 == 0) { -return x_262; +return x_263; } else { -lean_object* x_268; lean_object* x_269; lean_object* x_270; -x_268 = lean_ctor_get(x_262, 0); -x_269 = lean_ctor_get(x_262, 1); +lean_object* x_269; lean_object* x_270; lean_object* x_271; +x_269 = lean_ctor_get(x_263, 0); +x_270 = lean_ctor_get(x_263, 1); +lean_inc(x_270); lean_inc(x_269); -lean_inc(x_268); -lean_dec(x_262); -x_270 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_270, 0, x_268); -lean_ctor_set(x_270, 1, x_269); -return x_270; +lean_dec(x_263); +x_271 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_271, 0, x_269); +lean_ctor_set(x_271, 1, x_270); +return x_271; } } } else { -uint8_t x_271; +uint8_t x_272; lean_dec(x_1); -x_271 = !lean_is_exclusive(x_258); -if (x_271 == 0) +x_272 = !lean_is_exclusive(x_259); +if (x_272 == 0) { -return x_258; +return x_259; } else { -lean_object* x_272; lean_object* x_273; lean_object* x_274; -x_272 = lean_ctor_get(x_258, 0); -x_273 = lean_ctor_get(x_258, 1); +lean_object* x_273; lean_object* x_274; lean_object* x_275; +x_273 = lean_ctor_get(x_259, 0); +x_274 = lean_ctor_get(x_259, 1); +lean_inc(x_274); lean_inc(x_273); -lean_inc(x_272); -lean_dec(x_258); -x_274 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_274, 0, x_272); -lean_ctor_set(x_274, 1, x_273); -return x_274; +lean_dec(x_259); +x_275 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_275, 0, x_273); +lean_ctor_set(x_275, 1, x_274); +return x_275; } } } @@ -22798,563 +22693,564 @@ return x_274; } else { -lean_object* x_275; +lean_object* x_276; lean_dec(x_1); -x_275 = lean_ctor_get(x_49, 0); -lean_inc(x_275); +x_276 = lean_ctor_get(x_49, 0); +lean_inc(x_276); lean_dec(x_49); -lean_ctor_set(x_45, 0, x_275); +lean_ctor_set(x_45, 0, x_276); return x_45; } } else { -lean_object* x_276; lean_object* x_277; lean_object* x_278; -x_276 = lean_ctor_get(x_45, 0); -x_277 = lean_ctor_get(x_45, 1); +lean_object* x_277; lean_object* x_278; lean_object* x_279; +x_277 = lean_ctor_get(x_45, 0); +x_278 = lean_ctor_get(x_45, 1); +lean_inc(x_278); lean_inc(x_277); -lean_inc(x_276); lean_dec(x_45); lean_inc(x_1); -x_278 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_276, x_1); -if (lean_obj_tag(x_278) == 0) +x_279 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_277, x_1); +if (lean_obj_tag(x_279) == 0) { switch (lean_obj_tag(x_1)) { case 2: { -lean_object* x_279; lean_object* x_280; -x_279 = lean_ctor_get(x_1, 0); -lean_inc(x_279); -x_280 = lean_st_ref_get(x_2, x_277); -if (lean_obj_tag(x_280) == 0) +lean_object* x_280; lean_object* x_281; +x_280 = lean_ctor_get(x_1, 0); +lean_inc(x_280); +x_281 = lean_st_ref_get(x_2, x_278); +if (lean_obj_tag(x_281) == 0) { -lean_object* x_281; lean_object* x_282; lean_object* x_283; -x_281 = lean_ctor_get(x_280, 0); -lean_inc(x_281); -x_282 = lean_ctor_get(x_280, 1); +lean_object* x_282; lean_object* x_283; lean_object* x_284; +x_282 = lean_ctor_get(x_281, 0); lean_inc(x_282); -lean_dec(x_280); +x_283 = lean_ctor_get(x_281, 1); +lean_inc(x_283); +lean_dec(x_281); lean_inc(x_1); -x_283 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_281, x_1); -if (lean_obj_tag(x_283) == 0) -{ -lean_object* x_284; -lean_inc(x_279); -x_284 = l_Lean_getExprMVarAssignment_x3f___at_Lean_instantiateMVarsCore___spec__3___rarg(x_279, x_2, x_3, x_282); +x_284 = l_Std_HashMapImp_find_x3f___at_Lean_instantiateExprMVars___spec__1(x_282, x_1); if (lean_obj_tag(x_284) == 0) { lean_object* x_285; -x_285 = lean_ctor_get(x_284, 0); -lean_inc(x_285); +lean_inc(x_280); +x_285 = l_Lean_getExprMVarAssignment_x3f___at_Lean_instantiateMVarsCore___spec__3___rarg(x_280, x_2, x_3, x_283); if (lean_obj_tag(x_285) == 0) { lean_object* x_286; -lean_dec(x_279); -x_286 = lean_ctor_get(x_284, 1); +x_286 = lean_ctor_get(x_285, 0); lean_inc(x_286); -lean_dec(x_284); +if (lean_obj_tag(x_286) == 0) +{ +lean_object* x_287; +lean_dec(x_280); +x_287 = lean_ctor_get(x_285, 1); +lean_inc(x_287); +lean_dec(x_285); lean_inc(x_1); x_28 = x_1; -x_29 = x_286; +x_29 = x_287; goto block_44; } else { -lean_object* x_287; lean_object* x_288; lean_object* x_289; -x_287 = lean_ctor_get(x_284, 1); -lean_inc(x_287); -lean_dec(x_284); -x_288 = lean_ctor_get(x_285, 0); +lean_object* x_288; lean_object* x_289; lean_object* x_290; +x_288 = lean_ctor_get(x_285, 1); lean_inc(x_288); lean_dec(x_285); -x_289 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_288, x_2, x_3, x_287); -if (lean_obj_tag(x_289) == 0) +x_289 = lean_ctor_get(x_286, 0); +lean_inc(x_289); +lean_dec(x_286); +x_290 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_289, x_2, x_3, x_288); +if (lean_obj_tag(x_290) == 0) { -lean_object* x_290; lean_object* x_291; lean_object* x_292; -x_290 = lean_ctor_get(x_289, 0); -lean_inc(x_290); -x_291 = lean_ctor_get(x_289, 1); +lean_object* x_291; lean_object* x_292; lean_object* x_293; +x_291 = lean_ctor_get(x_290, 0); lean_inc(x_291); -lean_dec(x_289); -lean_inc(x_290); -x_292 = l_Lean_MVarId_assign___at_Lean_instantiateMVarsCore___spec__4___rarg(x_279, x_290, x_2, x_3, x_291); -if (lean_obj_tag(x_292) == 0) +x_292 = lean_ctor_get(x_290, 1); +lean_inc(x_292); +lean_dec(x_290); +lean_inc(x_291); +x_293 = l_Lean_MVarId_assign___at_Lean_instantiateMVarsCore___spec__4___rarg(x_280, x_291, x_2, x_3, x_292); +if (lean_obj_tag(x_293) == 0) { -lean_object* x_293; -x_293 = lean_ctor_get(x_292, 1); -lean_inc(x_293); -lean_dec(x_292); -x_28 = x_290; -x_29 = x_293; +lean_object* x_294; +x_294 = lean_ctor_get(x_293, 1); +lean_inc(x_294); +lean_dec(x_293); +x_28 = x_291; +x_29 = x_294; goto block_44; } else { -lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; -lean_dec(x_290); +lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; +lean_dec(x_291); lean_dec(x_1); -x_294 = lean_ctor_get(x_292, 0); -lean_inc(x_294); -x_295 = lean_ctor_get(x_292, 1); +x_295 = lean_ctor_get(x_293, 0); lean_inc(x_295); -if (lean_is_exclusive(x_292)) { - lean_ctor_release(x_292, 0); - lean_ctor_release(x_292, 1); - x_296 = x_292; +x_296 = lean_ctor_get(x_293, 1); +lean_inc(x_296); +if (lean_is_exclusive(x_293)) { + lean_ctor_release(x_293, 0); + lean_ctor_release(x_293, 1); + x_297 = x_293; } else { - lean_dec_ref(x_292); - x_296 = lean_box(0); + lean_dec_ref(x_293); + x_297 = lean_box(0); } -if (lean_is_scalar(x_296)) { - x_297 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_297)) { + x_298 = lean_alloc_ctor(1, 2, 0); } else { - x_297 = x_296; + x_298 = x_297; } -lean_ctor_set(x_297, 0, x_294); -lean_ctor_set(x_297, 1, x_295); -return x_297; +lean_ctor_set(x_298, 0, x_295); +lean_ctor_set(x_298, 1, x_296); +return x_298; } } else { -lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; -lean_dec(x_279); +lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; +lean_dec(x_280); lean_dec(x_1); -x_298 = lean_ctor_get(x_289, 0); -lean_inc(x_298); -x_299 = lean_ctor_get(x_289, 1); +x_299 = lean_ctor_get(x_290, 0); lean_inc(x_299); -if (lean_is_exclusive(x_289)) { - lean_ctor_release(x_289, 0); - lean_ctor_release(x_289, 1); - x_300 = x_289; +x_300 = lean_ctor_get(x_290, 1); +lean_inc(x_300); +if (lean_is_exclusive(x_290)) { + lean_ctor_release(x_290, 0); + lean_ctor_release(x_290, 1); + x_301 = x_290; } else { - lean_dec_ref(x_289); - x_300 = lean_box(0); + lean_dec_ref(x_290); + x_301 = lean_box(0); } -if (lean_is_scalar(x_300)) { - x_301 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_301)) { + x_302 = lean_alloc_ctor(1, 2, 0); } else { - x_301 = x_300; + x_302 = x_301; } -lean_ctor_set(x_301, 0, x_298); -lean_ctor_set(x_301, 1, x_299); -return x_301; +lean_ctor_set(x_302, 0, x_299); +lean_ctor_set(x_302, 1, x_300); +return x_302; } } } else { -lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; -lean_dec(x_279); +lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; +lean_dec(x_280); lean_dec(x_1); -x_302 = lean_ctor_get(x_284, 0); -lean_inc(x_302); -x_303 = lean_ctor_get(x_284, 1); +x_303 = lean_ctor_get(x_285, 0); lean_inc(x_303); -if (lean_is_exclusive(x_284)) { - lean_ctor_release(x_284, 0); - lean_ctor_release(x_284, 1); - x_304 = x_284; +x_304 = lean_ctor_get(x_285, 1); +lean_inc(x_304); +if (lean_is_exclusive(x_285)) { + lean_ctor_release(x_285, 0); + lean_ctor_release(x_285, 1); + x_305 = x_285; } else { - lean_dec_ref(x_284); - x_304 = lean_box(0); + lean_dec_ref(x_285); + x_305 = lean_box(0); } -if (lean_is_scalar(x_304)) { - x_305 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_305)) { + x_306 = lean_alloc_ctor(1, 2, 0); } else { - x_305 = x_304; + x_306 = x_305; } -lean_ctor_set(x_305, 0, x_302); -lean_ctor_set(x_305, 1, x_303); -return x_305; +lean_ctor_set(x_306, 0, x_303); +lean_ctor_set(x_306, 1, x_304); +return x_306; } } else { -lean_object* x_306; -lean_dec(x_279); -x_306 = lean_ctor_get(x_283, 0); -lean_inc(x_306); -lean_dec(x_283); -x_8 = x_306; -x_9 = x_282; +lean_object* x_307; +lean_dec(x_280); +x_307 = lean_ctor_get(x_284, 0); +lean_inc(x_307); +lean_dec(x_284); +x_8 = x_307; +x_9 = x_283; goto block_27; } } else { -lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; -lean_dec(x_279); +lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; +lean_dec(x_280); lean_dec(x_1); -x_307 = lean_ctor_get(x_280, 0); -lean_inc(x_307); -x_308 = lean_ctor_get(x_280, 1); +x_308 = lean_ctor_get(x_281, 0); lean_inc(x_308); -if (lean_is_exclusive(x_280)) { - lean_ctor_release(x_280, 0); - lean_ctor_release(x_280, 1); - x_309 = x_280; +x_309 = lean_ctor_get(x_281, 1); +lean_inc(x_309); +if (lean_is_exclusive(x_281)) { + lean_ctor_release(x_281, 0); + lean_ctor_release(x_281, 1); + x_310 = x_281; } else { - lean_dec_ref(x_280); - x_309 = lean_box(0); + lean_dec_ref(x_281); + x_310 = lean_box(0); } -if (lean_is_scalar(x_309)) { - x_310 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_310)) { + x_311 = lean_alloc_ctor(1, 2, 0); } else { - x_310 = x_309; + x_311 = x_310; } -lean_ctor_set(x_310, 0, x_307); -lean_ctor_set(x_310, 1, x_308); -return x_310; +lean_ctor_set(x_311, 0, x_308); +lean_ctor_set(x_311, 1, x_309); +return x_311; } } case 3: { -lean_object* x_311; lean_object* x_312; -x_311 = lean_ctor_get(x_1, 0); -lean_inc(x_311); -lean_inc(x_311); -x_312 = l_Lean_instantiateLevelMVars___at_Lean_instantiateMVarsCore___spec__5___rarg(x_311, x_2, x_3, x_277); -if (lean_obj_tag(x_312) == 0) +lean_object* x_312; lean_object* x_313; +x_312 = lean_ctor_get(x_1, 0); +lean_inc(x_312); +lean_inc(x_312); +x_313 = l_Lean_instantiateLevelMVars___at_Lean_instantiateMVarsCore___spec__5___rarg(x_312, x_2, x_3, x_278); +if (lean_obj_tag(x_313) == 0) { -lean_object* x_313; lean_object* x_314; size_t x_315; size_t x_316; uint8_t x_317; -x_313 = lean_ctor_get(x_312, 0); -lean_inc(x_313); -x_314 = lean_ctor_get(x_312, 1); +lean_object* x_314; lean_object* x_315; size_t x_316; size_t x_317; uint8_t x_318; +x_314 = lean_ctor_get(x_313, 0); lean_inc(x_314); +x_315 = lean_ctor_get(x_313, 1); +lean_inc(x_315); +lean_dec(x_313); +x_316 = lean_ptr_addr(x_312); lean_dec(x_312); -x_315 = lean_ptr_addr(x_311); -lean_dec(x_311); -x_316 = lean_ptr_addr(x_313); -x_317 = lean_usize_dec_eq(x_315, x_316); -if (x_317 == 0) +x_317 = lean_ptr_addr(x_314); +x_318 = lean_usize_dec_eq(x_316, x_317); +if (x_318 == 0) { -lean_object* x_318; -x_318 = l_Lean_Expr_sort___override(x_313); -x_8 = x_318; -x_9 = x_314; +lean_object* x_319; +x_319 = l_Lean_Expr_sort___override(x_314); +x_8 = x_319; +x_9 = x_315; goto block_27; } else { -lean_dec(x_313); +lean_dec(x_314); lean_inc(x_1); x_8 = x_1; -x_9 = x_314; +x_9 = x_315; goto block_27; } } else { -lean_object* x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322; -lean_dec(x_311); +lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; +lean_dec(x_312); lean_dec(x_1); -x_319 = lean_ctor_get(x_312, 0); -lean_inc(x_319); -x_320 = lean_ctor_get(x_312, 1); +x_320 = lean_ctor_get(x_313, 0); lean_inc(x_320); -if (lean_is_exclusive(x_312)) { - lean_ctor_release(x_312, 0); - lean_ctor_release(x_312, 1); - x_321 = x_312; +x_321 = lean_ctor_get(x_313, 1); +lean_inc(x_321); +if (lean_is_exclusive(x_313)) { + lean_ctor_release(x_313, 0); + lean_ctor_release(x_313, 1); + x_322 = x_313; } else { - lean_dec_ref(x_312); - x_321 = lean_box(0); + lean_dec_ref(x_313); + x_322 = lean_box(0); } -if (lean_is_scalar(x_321)) { - x_322 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_322)) { + x_323 = lean_alloc_ctor(1, 2, 0); } else { - x_322 = x_321; + x_323 = x_322; } -lean_ctor_set(x_322, 0, x_319); -lean_ctor_set(x_322, 1, x_320); -return x_322; +lean_ctor_set(x_323, 0, x_320); +lean_ctor_set(x_323, 1, x_321); +return x_323; } } case 4: { -lean_object* x_323; lean_object* x_324; lean_object* x_325; -x_323 = lean_ctor_get(x_1, 0); -lean_inc(x_323); -x_324 = lean_ctor_get(x_1, 1); +lean_object* x_324; lean_object* x_325; lean_object* x_326; lean_object* x_327; +x_324 = lean_ctor_get(x_1, 0); lean_inc(x_324); -lean_inc(x_324); -x_325 = l_List_mapM___at_Lean_instantiateMVarsCore___spec__9___rarg(x_5, x_324, x_2, x_3, x_277); -if (lean_obj_tag(x_325) == 0) +x_325 = lean_ctor_get(x_1, 1); +lean_inc(x_325); +x_326 = lean_box(0); +lean_inc(x_325); +x_327 = l_List_mapM_loop___at_Lean_instantiateMVarsCore___spec__9___rarg(x_5, x_325, x_326, x_2, x_3, x_278); +if (lean_obj_tag(x_327) == 0) { -lean_object* x_326; lean_object* x_327; uint8_t x_328; -x_326 = lean_ctor_get(x_325, 0); -lean_inc(x_326); -x_327 = lean_ctor_get(x_325, 1); -lean_inc(x_327); +lean_object* x_328; lean_object* x_329; uint8_t x_330; +x_328 = lean_ctor_get(x_327, 0); +lean_inc(x_328); +x_329 = lean_ctor_get(x_327, 1); +lean_inc(x_329); +lean_dec(x_327); +x_330 = l_ptrEqList___rarg(x_325, x_328); lean_dec(x_325); -x_328 = l_ptrEqList___rarg(x_324, x_326); -lean_dec(x_324); -if (x_328 == 0) +if (x_330 == 0) { -lean_object* x_329; -x_329 = l_Lean_Expr_const___override(x_323, x_326); -x_8 = x_329; -x_9 = x_327; +lean_object* x_331; +x_331 = l_Lean_Expr_const___override(x_324, x_328); +x_8 = x_331; +x_9 = x_329; goto block_27; } else { -lean_dec(x_326); -lean_dec(x_323); +lean_dec(x_328); +lean_dec(x_324); lean_inc(x_1); x_8 = x_1; -x_9 = x_327; +x_9 = x_329; goto block_27; } } else { -lean_object* x_330; lean_object* x_331; lean_object* x_332; lean_object* x_333; +lean_object* x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; +lean_dec(x_325); lean_dec(x_324); -lean_dec(x_323); lean_dec(x_1); -x_330 = lean_ctor_get(x_325, 0); -lean_inc(x_330); -x_331 = lean_ctor_get(x_325, 1); -lean_inc(x_331); -if (lean_is_exclusive(x_325)) { - lean_ctor_release(x_325, 0); - lean_ctor_release(x_325, 1); - x_332 = x_325; +x_332 = lean_ctor_get(x_327, 0); +lean_inc(x_332); +x_333 = lean_ctor_get(x_327, 1); +lean_inc(x_333); +if (lean_is_exclusive(x_327)) { + lean_ctor_release(x_327, 0); + lean_ctor_release(x_327, 1); + x_334 = x_327; } else { - lean_dec_ref(x_325); - x_332 = lean_box(0); + lean_dec_ref(x_327); + x_334 = lean_box(0); } -if (lean_is_scalar(x_332)) { - x_333 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_334)) { + x_335 = lean_alloc_ctor(1, 2, 0); } else { - x_333 = x_332; + x_335 = x_334; } -lean_ctor_set(x_333, 0, x_330); -lean_ctor_set(x_333, 1, x_331); -return x_333; +lean_ctor_set(x_335, 0, x_332); +lean_ctor_set(x_335, 1, x_333); +return x_335; } } case 5: { -lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; -x_334 = lean_unsigned_to_nat(0u); -x_335 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_1, x_334); -x_336 = l_Lean_instantiateExprMVars___rarg___lambda__20___closed__1; -lean_inc(x_335); -x_337 = lean_mk_array(x_335, x_336); -x_338 = lean_unsigned_to_nat(1u); -x_339 = lean_nat_sub(x_335, x_338); -lean_dec(x_335); +lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; +x_336 = lean_unsigned_to_nat(0u); +x_337 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_1, x_336); +x_338 = l_Lean_instantiateExprMVars___rarg___lambda__20___closed__1; +lean_inc(x_337); +x_339 = lean_mk_array(x_337, x_338); +x_340 = lean_unsigned_to_nat(1u); +x_341 = lean_nat_sub(x_337, x_340); +lean_dec(x_337); lean_inc(x_1); -x_340 = l_Lean_Expr_withAppAux___at_Lean_instantiateMVarsCore___spec__38___rarg(x_5, x_1, x_337, x_339, x_2, x_3, x_277); -if (lean_obj_tag(x_340) == 0) +x_342 = l_Lean_Expr_withAppAux___at_Lean_instantiateMVarsCore___spec__38___rarg(x_5, x_1, x_339, x_341, x_2, x_3, x_278); +if (lean_obj_tag(x_342) == 0) { -lean_object* x_341; lean_object* x_342; lean_object* x_343; -x_341 = lean_ctor_get(x_340, 0); -lean_inc(x_341); -x_342 = lean_ctor_get(x_340, 1); -lean_inc(x_342); -lean_dec(x_340); -x_343 = lean_st_ref_take(x_2, x_342); -if (lean_obj_tag(x_343) == 0) -{ -lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; -x_344 = lean_ctor_get(x_343, 0); +lean_object* x_343; lean_object* x_344; lean_object* x_345; +x_343 = lean_ctor_get(x_342, 0); +lean_inc(x_343); +x_344 = lean_ctor_get(x_342, 1); lean_inc(x_344); -x_345 = lean_ctor_get(x_343, 1); -lean_inc(x_345); +lean_dec(x_342); +x_345 = lean_st_ref_take(x_2, x_344); +if (lean_obj_tag(x_345) == 0) +{ +lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; +x_346 = lean_ctor_get(x_345, 0); +lean_inc(x_346); +x_347 = lean_ctor_get(x_345, 1); +lean_inc(x_347); +lean_dec(x_345); +lean_inc(x_343); +x_348 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_346, x_1, x_343); +x_349 = lean_st_ref_set(x_2, x_348, x_347); +if (lean_obj_tag(x_349) == 0) +{ +lean_object* x_350; lean_object* x_351; lean_object* x_352; +x_350 = lean_ctor_get(x_349, 1); +lean_inc(x_350); +if (lean_is_exclusive(x_349)) { + lean_ctor_release(x_349, 0); + lean_ctor_release(x_349, 1); + x_351 = x_349; +} else { + lean_dec_ref(x_349); + x_351 = lean_box(0); +} +if (lean_is_scalar(x_351)) { + x_352 = lean_alloc_ctor(0, 2, 0); +} else { + x_352 = x_351; +} +lean_ctor_set(x_352, 0, x_343); +lean_ctor_set(x_352, 1, x_350); +return x_352; +} +else +{ +lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_dec(x_343); -lean_inc(x_341); -x_346 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_344, x_1, x_341); -x_347 = lean_st_ref_set(x_2, x_346, x_345); -if (lean_obj_tag(x_347) == 0) -{ -lean_object* x_348; lean_object* x_349; lean_object* x_350; -x_348 = lean_ctor_get(x_347, 1); -lean_inc(x_348); -if (lean_is_exclusive(x_347)) { - lean_ctor_release(x_347, 0); - lean_ctor_release(x_347, 1); - x_349 = x_347; +x_353 = lean_ctor_get(x_349, 0); +lean_inc(x_353); +x_354 = lean_ctor_get(x_349, 1); +lean_inc(x_354); +if (lean_is_exclusive(x_349)) { + lean_ctor_release(x_349, 0); + lean_ctor_release(x_349, 1); + x_355 = x_349; } else { - lean_dec_ref(x_347); - x_349 = lean_box(0); + lean_dec_ref(x_349); + x_355 = lean_box(0); } -if (lean_is_scalar(x_349)) { - x_350 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_355)) { + x_356 = lean_alloc_ctor(1, 2, 0); } else { - x_350 = x_349; + x_356 = x_355; } -lean_ctor_set(x_350, 0, x_341); -lean_ctor_set(x_350, 1, x_348); -return x_350; -} -else -{ -lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; -lean_dec(x_341); -x_351 = lean_ctor_get(x_347, 0); -lean_inc(x_351); -x_352 = lean_ctor_get(x_347, 1); -lean_inc(x_352); -if (lean_is_exclusive(x_347)) { - lean_ctor_release(x_347, 0); - lean_ctor_release(x_347, 1); - x_353 = x_347; -} else { - lean_dec_ref(x_347); - x_353 = lean_box(0); -} -if (lean_is_scalar(x_353)) { - x_354 = lean_alloc_ctor(1, 2, 0); -} else { - x_354 = x_353; -} -lean_ctor_set(x_354, 0, x_351); -lean_ctor_set(x_354, 1, x_352); -return x_354; +lean_ctor_set(x_356, 0, x_353); +lean_ctor_set(x_356, 1, x_354); +return x_356; } } else { -lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; -lean_dec(x_341); +lean_object* x_357; lean_object* x_358; lean_object* x_359; lean_object* x_360; +lean_dec(x_343); lean_dec(x_1); -x_355 = lean_ctor_get(x_343, 0); -lean_inc(x_355); -x_356 = lean_ctor_get(x_343, 1); -lean_inc(x_356); -if (lean_is_exclusive(x_343)) { - lean_ctor_release(x_343, 0); - lean_ctor_release(x_343, 1); - x_357 = x_343; +x_357 = lean_ctor_get(x_345, 0); +lean_inc(x_357); +x_358 = lean_ctor_get(x_345, 1); +lean_inc(x_358); +if (lean_is_exclusive(x_345)) { + lean_ctor_release(x_345, 0); + lean_ctor_release(x_345, 1); + x_359 = x_345; } else { - lean_dec_ref(x_343); - x_357 = lean_box(0); + lean_dec_ref(x_345); + x_359 = lean_box(0); } -if (lean_is_scalar(x_357)) { - x_358 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_359)) { + x_360 = lean_alloc_ctor(1, 2, 0); } else { - x_358 = x_357; + x_360 = x_359; } -lean_ctor_set(x_358, 0, x_355); -lean_ctor_set(x_358, 1, x_356); -return x_358; +lean_ctor_set(x_360, 0, x_357); +lean_ctor_set(x_360, 1, x_358); +return x_360; } } else { -lean_object* x_359; lean_object* x_360; lean_object* x_361; lean_object* x_362; +lean_object* x_361; lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_dec(x_1); -x_359 = lean_ctor_get(x_340, 0); -lean_inc(x_359); -x_360 = lean_ctor_get(x_340, 1); -lean_inc(x_360); -if (lean_is_exclusive(x_340)) { - lean_ctor_release(x_340, 0); - lean_ctor_release(x_340, 1); - x_361 = x_340; +x_361 = lean_ctor_get(x_342, 0); +lean_inc(x_361); +x_362 = lean_ctor_get(x_342, 1); +lean_inc(x_362); +if (lean_is_exclusive(x_342)) { + lean_ctor_release(x_342, 0); + lean_ctor_release(x_342, 1); + x_363 = x_342; } else { - lean_dec_ref(x_340); - x_361 = lean_box(0); + lean_dec_ref(x_342); + x_363 = lean_box(0); } -if (lean_is_scalar(x_361)) { - x_362 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_363)) { + x_364 = lean_alloc_ctor(1, 2, 0); } else { - x_362 = x_361; + x_364 = x_363; } -lean_ctor_set(x_362, 0, x_359); -lean_ctor_set(x_362, 1, x_360); -return x_362; +lean_ctor_set(x_364, 0, x_361); +lean_ctor_set(x_364, 1, x_362); +return x_364; } } case 6: { -lean_object* x_363; lean_object* x_364; lean_object* x_365; uint8_t x_366; lean_object* x_367; -x_363 = lean_ctor_get(x_1, 0); -lean_inc(x_363); -x_364 = lean_ctor_get(x_1, 1); -lean_inc(x_364); -x_365 = lean_ctor_get(x_1, 2); +lean_object* x_365; lean_object* x_366; lean_object* x_367; uint8_t x_368; lean_object* x_369; +x_365 = lean_ctor_get(x_1, 0); lean_inc(x_365); -x_366 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8); -lean_inc(x_364); -x_367 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_364, x_2, x_3, x_277); -if (lean_obj_tag(x_367) == 0) +x_366 = lean_ctor_get(x_1, 1); +lean_inc(x_366); +x_367 = lean_ctor_get(x_1, 2); +lean_inc(x_367); +x_368 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8); +lean_inc(x_366); +x_369 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_366, x_2, x_3, x_278); +if (lean_obj_tag(x_369) == 0) { -lean_object* x_368; lean_object* x_369; lean_object* x_370; -x_368 = lean_ctor_get(x_367, 0); -lean_inc(x_368); -x_369 = lean_ctor_get(x_367, 1); -lean_inc(x_369); -lean_dec(x_367); -lean_inc(x_365); -x_370 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_365, x_2, x_3, x_369); -if (lean_obj_tag(x_370) == 0) -{ -lean_object* x_371; lean_object* x_372; lean_object* x_373; size_t x_374; size_t x_375; uint8_t x_376; -x_371 = lean_ctor_get(x_370, 0); +lean_object* x_370; lean_object* x_371; lean_object* x_372; +x_370 = lean_ctor_get(x_369, 0); +lean_inc(x_370); +x_371 = lean_ctor_get(x_369, 1); lean_inc(x_371); -x_372 = lean_ctor_get(x_370, 1); -lean_inc(x_372); -lean_dec(x_370); +lean_dec(x_369); +lean_inc(x_367); +x_372 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_367, x_2, x_3, x_371); +if (lean_obj_tag(x_372) == 0) +{ +lean_object* x_373; lean_object* x_374; lean_object* x_375; size_t x_376; size_t x_377; uint8_t x_378; +x_373 = lean_ctor_get(x_372, 0); +lean_inc(x_373); +x_374 = lean_ctor_get(x_372, 1); +lean_inc(x_374); +lean_dec(x_372); +lean_inc(x_367); +lean_inc(x_366); lean_inc(x_365); -lean_inc(x_364); -lean_inc(x_363); -x_373 = l_Lean_Expr_lam___override(x_363, x_364, x_365, x_366); -x_374 = lean_ptr_addr(x_364); -lean_dec(x_364); -x_375 = lean_ptr_addr(x_368); -x_376 = lean_usize_dec_eq(x_374, x_375); -if (x_376 == 0) +x_375 = l_Lean_Expr_lam___override(x_365, x_366, x_367, x_368); +x_376 = lean_ptr_addr(x_366); +lean_dec(x_366); +x_377 = lean_ptr_addr(x_370); +x_378 = lean_usize_dec_eq(x_376, x_377); +if (x_378 == 0) { -lean_object* x_377; -lean_dec(x_373); -lean_dec(x_365); -x_377 = l_Lean_Expr_lam___override(x_363, x_368, x_371, x_366); -x_8 = x_377; -x_9 = x_372; +lean_object* x_379; +lean_dec(x_375); +lean_dec(x_367); +x_379 = l_Lean_Expr_lam___override(x_365, x_370, x_373, x_368); +x_8 = x_379; +x_9 = x_374; goto block_27; } else { -size_t x_378; size_t x_379; uint8_t x_380; -x_378 = lean_ptr_addr(x_365); -lean_dec(x_365); -x_379 = lean_ptr_addr(x_371); -x_380 = lean_usize_dec_eq(x_378, x_379); -if (x_380 == 0) -{ -lean_object* x_381; -lean_dec(x_373); -x_381 = l_Lean_Expr_lam___override(x_363, x_368, x_371, x_366); -x_8 = x_381; -x_9 = x_372; -goto block_27; -} -else -{ -uint8_t x_382; -x_382 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_366, x_366); +size_t x_380; size_t x_381; uint8_t x_382; +x_380 = lean_ptr_addr(x_367); +lean_dec(x_367); +x_381 = lean_ptr_addr(x_373); +x_382 = lean_usize_dec_eq(x_380, x_381); if (x_382 == 0) { lean_object* x_383; -lean_dec(x_373); -x_383 = l_Lean_Expr_lam___override(x_363, x_368, x_371, x_366); +lean_dec(x_375); +x_383 = l_Lean_Expr_lam___override(x_365, x_370, x_373, x_368); x_8 = x_383; -x_9 = x_372; +x_9 = x_374; goto block_27; } else { -lean_dec(x_371); -lean_dec(x_368); -lean_dec(x_363); -x_8 = x_373; -x_9 = x_372; +uint8_t x_384; +x_384 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_368, x_368); +if (x_384 == 0) +{ +lean_object* x_385; +lean_dec(x_375); +x_385 = l_Lean_Expr_lam___override(x_365, x_370, x_373, x_368); +x_8 = x_385; +x_9 = x_374; +goto block_27; +} +else +{ +lean_dec(x_373); +lean_dec(x_370); +lean_dec(x_365); +x_8 = x_375; +x_9 = x_374; goto block_27; } } @@ -23362,147 +23258,147 @@ goto block_27; } else { -lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; -lean_dec(x_368); +lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; +lean_dec(x_370); +lean_dec(x_367); +lean_dec(x_366); lean_dec(x_365); -lean_dec(x_364); -lean_dec(x_363); lean_dec(x_1); -x_384 = lean_ctor_get(x_370, 0); -lean_inc(x_384); -x_385 = lean_ctor_get(x_370, 1); -lean_inc(x_385); -if (lean_is_exclusive(x_370)) { - lean_ctor_release(x_370, 0); - lean_ctor_release(x_370, 1); - x_386 = x_370; +x_386 = lean_ctor_get(x_372, 0); +lean_inc(x_386); +x_387 = lean_ctor_get(x_372, 1); +lean_inc(x_387); +if (lean_is_exclusive(x_372)) { + lean_ctor_release(x_372, 0); + lean_ctor_release(x_372, 1); + x_388 = x_372; } else { - lean_dec_ref(x_370); - x_386 = lean_box(0); + lean_dec_ref(x_372); + x_388 = lean_box(0); } -if (lean_is_scalar(x_386)) { - x_387 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_388)) { + x_389 = lean_alloc_ctor(1, 2, 0); } else { - x_387 = x_386; + x_389 = x_388; } -lean_ctor_set(x_387, 0, x_384); -lean_ctor_set(x_387, 1, x_385); -return x_387; +lean_ctor_set(x_389, 0, x_386); +lean_ctor_set(x_389, 1, x_387); +return x_389; } } else { -lean_object* x_388; lean_object* x_389; lean_object* x_390; lean_object* x_391; +lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; +lean_dec(x_367); +lean_dec(x_366); lean_dec(x_365); -lean_dec(x_364); -lean_dec(x_363); lean_dec(x_1); -x_388 = lean_ctor_get(x_367, 0); -lean_inc(x_388); -x_389 = lean_ctor_get(x_367, 1); -lean_inc(x_389); -if (lean_is_exclusive(x_367)) { - lean_ctor_release(x_367, 0); - lean_ctor_release(x_367, 1); - x_390 = x_367; +x_390 = lean_ctor_get(x_369, 0); +lean_inc(x_390); +x_391 = lean_ctor_get(x_369, 1); +lean_inc(x_391); +if (lean_is_exclusive(x_369)) { + lean_ctor_release(x_369, 0); + lean_ctor_release(x_369, 1); + x_392 = x_369; } else { - lean_dec_ref(x_367); - x_390 = lean_box(0); + lean_dec_ref(x_369); + x_392 = lean_box(0); } -if (lean_is_scalar(x_390)) { - x_391 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_392)) { + x_393 = lean_alloc_ctor(1, 2, 0); } else { - x_391 = x_390; + x_393 = x_392; } -lean_ctor_set(x_391, 0, x_388); -lean_ctor_set(x_391, 1, x_389); -return x_391; +lean_ctor_set(x_393, 0, x_390); +lean_ctor_set(x_393, 1, x_391); +return x_393; } } case 7: { -lean_object* x_392; lean_object* x_393; lean_object* x_394; uint8_t x_395; lean_object* x_396; -x_392 = lean_ctor_get(x_1, 0); -lean_inc(x_392); -x_393 = lean_ctor_get(x_1, 1); -lean_inc(x_393); -x_394 = lean_ctor_get(x_1, 2); +lean_object* x_394; lean_object* x_395; lean_object* x_396; uint8_t x_397; lean_object* x_398; +x_394 = lean_ctor_get(x_1, 0); lean_inc(x_394); -x_395 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8); -lean_inc(x_393); -x_396 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_393, x_2, x_3, x_277); -if (lean_obj_tag(x_396) == 0) +x_395 = lean_ctor_get(x_1, 1); +lean_inc(x_395); +x_396 = lean_ctor_get(x_1, 2); +lean_inc(x_396); +x_397 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8); +lean_inc(x_395); +x_398 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_395, x_2, x_3, x_278); +if (lean_obj_tag(x_398) == 0) { -lean_object* x_397; lean_object* x_398; lean_object* x_399; -x_397 = lean_ctor_get(x_396, 0); -lean_inc(x_397); -x_398 = lean_ctor_get(x_396, 1); -lean_inc(x_398); -lean_dec(x_396); -lean_inc(x_394); -x_399 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_394, x_2, x_3, x_398); -if (lean_obj_tag(x_399) == 0) -{ -lean_object* x_400; lean_object* x_401; lean_object* x_402; size_t x_403; size_t x_404; uint8_t x_405; -x_400 = lean_ctor_get(x_399, 0); +lean_object* x_399; lean_object* x_400; lean_object* x_401; +x_399 = lean_ctor_get(x_398, 0); +lean_inc(x_399); +x_400 = lean_ctor_get(x_398, 1); lean_inc(x_400); -x_401 = lean_ctor_get(x_399, 1); -lean_inc(x_401); -lean_dec(x_399); +lean_dec(x_398); +lean_inc(x_396); +x_401 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_396, x_2, x_3, x_400); +if (lean_obj_tag(x_401) == 0) +{ +lean_object* x_402; lean_object* x_403; lean_object* x_404; size_t x_405; size_t x_406; uint8_t x_407; +x_402 = lean_ctor_get(x_401, 0); +lean_inc(x_402); +x_403 = lean_ctor_get(x_401, 1); +lean_inc(x_403); +lean_dec(x_401); +lean_inc(x_396); +lean_inc(x_395); lean_inc(x_394); -lean_inc(x_393); -lean_inc(x_392); -x_402 = l_Lean_Expr_forallE___override(x_392, x_393, x_394, x_395); -x_403 = lean_ptr_addr(x_393); -lean_dec(x_393); -x_404 = lean_ptr_addr(x_397); -x_405 = lean_usize_dec_eq(x_403, x_404); -if (x_405 == 0) +x_404 = l_Lean_Expr_forallE___override(x_394, x_395, x_396, x_397); +x_405 = lean_ptr_addr(x_395); +lean_dec(x_395); +x_406 = lean_ptr_addr(x_399); +x_407 = lean_usize_dec_eq(x_405, x_406); +if (x_407 == 0) { -lean_object* x_406; -lean_dec(x_402); -lean_dec(x_394); -x_406 = l_Lean_Expr_forallE___override(x_392, x_397, x_400, x_395); -x_8 = x_406; -x_9 = x_401; +lean_object* x_408; +lean_dec(x_404); +lean_dec(x_396); +x_408 = l_Lean_Expr_forallE___override(x_394, x_399, x_402, x_397); +x_8 = x_408; +x_9 = x_403; goto block_27; } else { -size_t x_407; size_t x_408; uint8_t x_409; -x_407 = lean_ptr_addr(x_394); -lean_dec(x_394); -x_408 = lean_ptr_addr(x_400); -x_409 = lean_usize_dec_eq(x_407, x_408); -if (x_409 == 0) -{ -lean_object* x_410; -lean_dec(x_402); -x_410 = l_Lean_Expr_forallE___override(x_392, x_397, x_400, x_395); -x_8 = x_410; -x_9 = x_401; -goto block_27; -} -else -{ -uint8_t x_411; -x_411 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_395, x_395); +size_t x_409; size_t x_410; uint8_t x_411; +x_409 = lean_ptr_addr(x_396); +lean_dec(x_396); +x_410 = lean_ptr_addr(x_402); +x_411 = lean_usize_dec_eq(x_409, x_410); if (x_411 == 0) { lean_object* x_412; -lean_dec(x_402); -x_412 = l_Lean_Expr_forallE___override(x_392, x_397, x_400, x_395); +lean_dec(x_404); +x_412 = l_Lean_Expr_forallE___override(x_394, x_399, x_402, x_397); x_8 = x_412; -x_9 = x_401; +x_9 = x_403; goto block_27; } else { -lean_dec(x_400); -lean_dec(x_397); -lean_dec(x_392); -x_8 = x_402; -x_9 = x_401; +uint8_t x_413; +x_413 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_397, x_397); +if (x_413 == 0) +{ +lean_object* x_414; +lean_dec(x_404); +x_414 = l_Lean_Expr_forallE___override(x_394, x_399, x_402, x_397); +x_8 = x_414; +x_9 = x_403; +goto block_27; +} +else +{ +lean_dec(x_402); +lean_dec(x_399); +lean_dec(x_394); +x_8 = x_404; +x_9 = x_403; goto block_27; } } @@ -23510,159 +23406,159 @@ goto block_27; } else { -lean_object* x_413; lean_object* x_414; lean_object* x_415; lean_object* x_416; -lean_dec(x_397); +lean_object* x_415; lean_object* x_416; lean_object* x_417; lean_object* x_418; +lean_dec(x_399); +lean_dec(x_396); +lean_dec(x_395); lean_dec(x_394); -lean_dec(x_393); -lean_dec(x_392); lean_dec(x_1); -x_413 = lean_ctor_get(x_399, 0); -lean_inc(x_413); -x_414 = lean_ctor_get(x_399, 1); -lean_inc(x_414); -if (lean_is_exclusive(x_399)) { - lean_ctor_release(x_399, 0); - lean_ctor_release(x_399, 1); - x_415 = x_399; +x_415 = lean_ctor_get(x_401, 0); +lean_inc(x_415); +x_416 = lean_ctor_get(x_401, 1); +lean_inc(x_416); +if (lean_is_exclusive(x_401)) { + lean_ctor_release(x_401, 0); + lean_ctor_release(x_401, 1); + x_417 = x_401; } else { - lean_dec_ref(x_399); - x_415 = lean_box(0); + lean_dec_ref(x_401); + x_417 = lean_box(0); } -if (lean_is_scalar(x_415)) { - x_416 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_417)) { + x_418 = lean_alloc_ctor(1, 2, 0); } else { - x_416 = x_415; + x_418 = x_417; } -lean_ctor_set(x_416, 0, x_413); -lean_ctor_set(x_416, 1, x_414); -return x_416; +lean_ctor_set(x_418, 0, x_415); +lean_ctor_set(x_418, 1, x_416); +return x_418; } } else { -lean_object* x_417; lean_object* x_418; lean_object* x_419; lean_object* x_420; +lean_object* x_419; lean_object* x_420; lean_object* x_421; lean_object* x_422; +lean_dec(x_396); +lean_dec(x_395); lean_dec(x_394); -lean_dec(x_393); -lean_dec(x_392); lean_dec(x_1); -x_417 = lean_ctor_get(x_396, 0); -lean_inc(x_417); -x_418 = lean_ctor_get(x_396, 1); -lean_inc(x_418); -if (lean_is_exclusive(x_396)) { - lean_ctor_release(x_396, 0); - lean_ctor_release(x_396, 1); - x_419 = x_396; +x_419 = lean_ctor_get(x_398, 0); +lean_inc(x_419); +x_420 = lean_ctor_get(x_398, 1); +lean_inc(x_420); +if (lean_is_exclusive(x_398)) { + lean_ctor_release(x_398, 0); + lean_ctor_release(x_398, 1); + x_421 = x_398; } else { - lean_dec_ref(x_396); - x_419 = lean_box(0); + lean_dec_ref(x_398); + x_421 = lean_box(0); } -if (lean_is_scalar(x_419)) { - x_420 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_421)) { + x_422 = lean_alloc_ctor(1, 2, 0); } else { - x_420 = x_419; + x_422 = x_421; } -lean_ctor_set(x_420, 0, x_417); -lean_ctor_set(x_420, 1, x_418); -return x_420; +lean_ctor_set(x_422, 0, x_419); +lean_ctor_set(x_422, 1, x_420); +return x_422; } } case 8: { -lean_object* x_421; lean_object* x_422; lean_object* x_423; lean_object* x_424; uint8_t x_425; lean_object* x_426; -x_421 = lean_ctor_get(x_1, 0); -lean_inc(x_421); -x_422 = lean_ctor_get(x_1, 1); -lean_inc(x_422); -x_423 = lean_ctor_get(x_1, 2); +lean_object* x_423; lean_object* x_424; lean_object* x_425; lean_object* x_426; uint8_t x_427; lean_object* x_428; +x_423 = lean_ctor_get(x_1, 0); lean_inc(x_423); -x_424 = lean_ctor_get(x_1, 3); +x_424 = lean_ctor_get(x_1, 1); lean_inc(x_424); -x_425 = lean_ctor_get_uint8(x_1, sizeof(void*)*4 + 8); -lean_inc(x_422); -x_426 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_422, x_2, x_3, x_277); -if (lean_obj_tag(x_426) == 0) +x_425 = lean_ctor_get(x_1, 2); +lean_inc(x_425); +x_426 = lean_ctor_get(x_1, 3); +lean_inc(x_426); +x_427 = lean_ctor_get_uint8(x_1, sizeof(void*)*4 + 8); +lean_inc(x_424); +x_428 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_424, x_2, x_3, x_278); +if (lean_obj_tag(x_428) == 0) { -lean_object* x_427; lean_object* x_428; lean_object* x_429; -x_427 = lean_ctor_get(x_426, 0); -lean_inc(x_427); -x_428 = lean_ctor_get(x_426, 1); -lean_inc(x_428); -lean_dec(x_426); -lean_inc(x_423); -x_429 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_423, x_2, x_3, x_428); -if (lean_obj_tag(x_429) == 0) -{ -lean_object* x_430; lean_object* x_431; lean_object* x_432; -x_430 = lean_ctor_get(x_429, 0); +lean_object* x_429; lean_object* x_430; lean_object* x_431; +x_429 = lean_ctor_get(x_428, 0); +lean_inc(x_429); +x_430 = lean_ctor_get(x_428, 1); lean_inc(x_430); -x_431 = lean_ctor_get(x_429, 1); -lean_inc(x_431); -lean_dec(x_429); -lean_inc(x_424); -x_432 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_424, x_2, x_3, x_431); -if (lean_obj_tag(x_432) == 0) +lean_dec(x_428); +lean_inc(x_425); +x_431 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_425, x_2, x_3, x_430); +if (lean_obj_tag(x_431) == 0) { -lean_object* x_433; lean_object* x_434; size_t x_435; size_t x_436; uint8_t x_437; -x_433 = lean_ctor_get(x_432, 0); +lean_object* x_432; lean_object* x_433; lean_object* x_434; +x_432 = lean_ctor_get(x_431, 0); +lean_inc(x_432); +x_433 = lean_ctor_get(x_431, 1); lean_inc(x_433); -x_434 = lean_ctor_get(x_432, 1); -lean_inc(x_434); +lean_dec(x_431); +lean_inc(x_426); +x_434 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_426, x_2, x_3, x_433); +if (lean_obj_tag(x_434) == 0) +{ +lean_object* x_435; lean_object* x_436; size_t x_437; size_t x_438; uint8_t x_439; +x_435 = lean_ctor_get(x_434, 0); +lean_inc(x_435); +x_436 = lean_ctor_get(x_434, 1); +lean_inc(x_436); +lean_dec(x_434); +x_437 = lean_ptr_addr(x_424); +lean_dec(x_424); +x_438 = lean_ptr_addr(x_429); +x_439 = lean_usize_dec_eq(x_437, x_438); +if (x_439 == 0) +{ +lean_object* x_440; +lean_dec(x_426); +lean_dec(x_425); +x_440 = l_Lean_Expr_letE___override(x_423, x_429, x_432, x_435, x_427); +x_8 = x_440; +x_9 = x_436; +goto block_27; +} +else +{ +size_t x_441; size_t x_442; uint8_t x_443; +x_441 = lean_ptr_addr(x_425); +lean_dec(x_425); +x_442 = lean_ptr_addr(x_432); +x_443 = lean_usize_dec_eq(x_441, x_442); +if (x_443 == 0) +{ +lean_object* x_444; +lean_dec(x_426); +x_444 = l_Lean_Expr_letE___override(x_423, x_429, x_432, x_435, x_427); +x_8 = x_444; +x_9 = x_436; +goto block_27; +} +else +{ +size_t x_445; size_t x_446; uint8_t x_447; +x_445 = lean_ptr_addr(x_426); +lean_dec(x_426); +x_446 = lean_ptr_addr(x_435); +x_447 = lean_usize_dec_eq(x_445, x_446); +if (x_447 == 0) +{ +lean_object* x_448; +x_448 = l_Lean_Expr_letE___override(x_423, x_429, x_432, x_435, x_427); +x_8 = x_448; +x_9 = x_436; +goto block_27; +} +else +{ +lean_dec(x_435); lean_dec(x_432); -x_435 = lean_ptr_addr(x_422); -lean_dec(x_422); -x_436 = lean_ptr_addr(x_427); -x_437 = lean_usize_dec_eq(x_435, x_436); -if (x_437 == 0) -{ -lean_object* x_438; -lean_dec(x_424); +lean_dec(x_429); lean_dec(x_423); -x_438 = l_Lean_Expr_letE___override(x_421, x_427, x_430, x_433, x_425); -x_8 = x_438; -x_9 = x_434; -goto block_27; -} -else -{ -size_t x_439; size_t x_440; uint8_t x_441; -x_439 = lean_ptr_addr(x_423); -lean_dec(x_423); -x_440 = lean_ptr_addr(x_430); -x_441 = lean_usize_dec_eq(x_439, x_440); -if (x_441 == 0) -{ -lean_object* x_442; -lean_dec(x_424); -x_442 = l_Lean_Expr_letE___override(x_421, x_427, x_430, x_433, x_425); -x_8 = x_442; -x_9 = x_434; -goto block_27; -} -else -{ -size_t x_443; size_t x_444; uint8_t x_445; -x_443 = lean_ptr_addr(x_424); -lean_dec(x_424); -x_444 = lean_ptr_addr(x_433); -x_445 = lean_usize_dec_eq(x_443, x_444); -if (x_445 == 0) -{ -lean_object* x_446; -x_446 = l_Lean_Expr_letE___override(x_421, x_427, x_430, x_433, x_425); -x_8 = x_446; -x_9 = x_434; -goto block_27; -} -else -{ -lean_dec(x_433); -lean_dec(x_430); -lean_dec(x_427); -lean_dec(x_421); lean_inc(x_1); x_8 = x_1; -x_9 = x_434; +x_9 = x_436; goto block_27; } } @@ -23670,361 +23566,361 @@ goto block_27; } else { -lean_object* x_447; lean_object* x_448; lean_object* x_449; lean_object* x_450; -lean_dec(x_430); -lean_dec(x_427); +lean_object* x_449; lean_object* x_450; lean_object* x_451; lean_object* x_452; +lean_dec(x_432); +lean_dec(x_429); +lean_dec(x_426); +lean_dec(x_425); lean_dec(x_424); lean_dec(x_423); -lean_dec(x_422); -lean_dec(x_421); lean_dec(x_1); -x_447 = lean_ctor_get(x_432, 0); -lean_inc(x_447); -x_448 = lean_ctor_get(x_432, 1); -lean_inc(x_448); -if (lean_is_exclusive(x_432)) { - lean_ctor_release(x_432, 0); - lean_ctor_release(x_432, 1); - x_449 = x_432; +x_449 = lean_ctor_get(x_434, 0); +lean_inc(x_449); +x_450 = lean_ctor_get(x_434, 1); +lean_inc(x_450); +if (lean_is_exclusive(x_434)) { + lean_ctor_release(x_434, 0); + lean_ctor_release(x_434, 1); + x_451 = x_434; } else { - lean_dec_ref(x_432); - x_449 = lean_box(0); + lean_dec_ref(x_434); + x_451 = lean_box(0); } -if (lean_is_scalar(x_449)) { - x_450 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_451)) { + x_452 = lean_alloc_ctor(1, 2, 0); } else { - x_450 = x_449; + x_452 = x_451; } -lean_ctor_set(x_450, 0, x_447); -lean_ctor_set(x_450, 1, x_448); -return x_450; +lean_ctor_set(x_452, 0, x_449); +lean_ctor_set(x_452, 1, x_450); +return x_452; } } else { -lean_object* x_451; lean_object* x_452; lean_object* x_453; lean_object* x_454; -lean_dec(x_427); +lean_object* x_453; lean_object* x_454; lean_object* x_455; lean_object* x_456; +lean_dec(x_429); +lean_dec(x_426); +lean_dec(x_425); lean_dec(x_424); lean_dec(x_423); -lean_dec(x_422); -lean_dec(x_421); lean_dec(x_1); -x_451 = lean_ctor_get(x_429, 0); -lean_inc(x_451); -x_452 = lean_ctor_get(x_429, 1); -lean_inc(x_452); -if (lean_is_exclusive(x_429)) { - lean_ctor_release(x_429, 0); - lean_ctor_release(x_429, 1); - x_453 = x_429; +x_453 = lean_ctor_get(x_431, 0); +lean_inc(x_453); +x_454 = lean_ctor_get(x_431, 1); +lean_inc(x_454); +if (lean_is_exclusive(x_431)) { + lean_ctor_release(x_431, 0); + lean_ctor_release(x_431, 1); + x_455 = x_431; } else { - lean_dec_ref(x_429); - x_453 = lean_box(0); + lean_dec_ref(x_431); + x_455 = lean_box(0); } -if (lean_is_scalar(x_453)) { - x_454 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_455)) { + x_456 = lean_alloc_ctor(1, 2, 0); } else { - x_454 = x_453; + x_456 = x_455; } -lean_ctor_set(x_454, 0, x_451); -lean_ctor_set(x_454, 1, x_452); -return x_454; +lean_ctor_set(x_456, 0, x_453); +lean_ctor_set(x_456, 1, x_454); +return x_456; } } else { -lean_object* x_455; lean_object* x_456; lean_object* x_457; lean_object* x_458; +lean_object* x_457; lean_object* x_458; lean_object* x_459; lean_object* x_460; +lean_dec(x_426); +lean_dec(x_425); lean_dec(x_424); lean_dec(x_423); -lean_dec(x_422); -lean_dec(x_421); lean_dec(x_1); -x_455 = lean_ctor_get(x_426, 0); -lean_inc(x_455); -x_456 = lean_ctor_get(x_426, 1); -lean_inc(x_456); -if (lean_is_exclusive(x_426)) { - lean_ctor_release(x_426, 0); - lean_ctor_release(x_426, 1); - x_457 = x_426; +x_457 = lean_ctor_get(x_428, 0); +lean_inc(x_457); +x_458 = lean_ctor_get(x_428, 1); +lean_inc(x_458); +if (lean_is_exclusive(x_428)) { + lean_ctor_release(x_428, 0); + lean_ctor_release(x_428, 1); + x_459 = x_428; } else { - lean_dec_ref(x_426); - x_457 = lean_box(0); + lean_dec_ref(x_428); + x_459 = lean_box(0); } -if (lean_is_scalar(x_457)) { - x_458 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_459)) { + x_460 = lean_alloc_ctor(1, 2, 0); } else { - x_458 = x_457; + x_460 = x_459; } -lean_ctor_set(x_458, 0, x_455); -lean_ctor_set(x_458, 1, x_456); -return x_458; +lean_ctor_set(x_460, 0, x_457); +lean_ctor_set(x_460, 1, x_458); +return x_460; } } case 10: { -lean_object* x_459; lean_object* x_460; lean_object* x_461; -x_459 = lean_ctor_get(x_1, 0); -lean_inc(x_459); -x_460 = lean_ctor_get(x_1, 1); -lean_inc(x_460); -lean_inc(x_460); -x_461 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_460, x_2, x_3, x_277); -if (lean_obj_tag(x_461) == 0) -{ -lean_object* x_462; lean_object* x_463; size_t x_464; size_t x_465; uint8_t x_466; -x_462 = lean_ctor_get(x_461, 0); +lean_object* x_461; lean_object* x_462; lean_object* x_463; +x_461 = lean_ctor_get(x_1, 0); +lean_inc(x_461); +x_462 = lean_ctor_get(x_1, 1); lean_inc(x_462); -x_463 = lean_ctor_get(x_461, 1); -lean_inc(x_463); -lean_dec(x_461); -x_464 = lean_ptr_addr(x_460); -lean_dec(x_460); -x_465 = lean_ptr_addr(x_462); -x_466 = lean_usize_dec_eq(x_464, x_465); -if (x_466 == 0) +lean_inc(x_462); +x_463 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_462, x_2, x_3, x_278); +if (lean_obj_tag(x_463) == 0) { -lean_object* x_467; -x_467 = l_Lean_Expr_mdata___override(x_459, x_462); -x_8 = x_467; -x_9 = x_463; +lean_object* x_464; lean_object* x_465; size_t x_466; size_t x_467; uint8_t x_468; +x_464 = lean_ctor_get(x_463, 0); +lean_inc(x_464); +x_465 = lean_ctor_get(x_463, 1); +lean_inc(x_465); +lean_dec(x_463); +x_466 = lean_ptr_addr(x_462); +lean_dec(x_462); +x_467 = lean_ptr_addr(x_464); +x_468 = lean_usize_dec_eq(x_466, x_467); +if (x_468 == 0) +{ +lean_object* x_469; +x_469 = l_Lean_Expr_mdata___override(x_461, x_464); +x_8 = x_469; +x_9 = x_465; goto block_27; } else { -lean_dec(x_462); -lean_dec(x_459); +lean_dec(x_464); +lean_dec(x_461); lean_inc(x_1); x_8 = x_1; -x_9 = x_463; +x_9 = x_465; goto block_27; } } else { -lean_object* x_468; lean_object* x_469; lean_object* x_470; lean_object* x_471; -lean_dec(x_460); -lean_dec(x_459); +lean_object* x_470; lean_object* x_471; lean_object* x_472; lean_object* x_473; +lean_dec(x_462); +lean_dec(x_461); lean_dec(x_1); -x_468 = lean_ctor_get(x_461, 0); -lean_inc(x_468); -x_469 = lean_ctor_get(x_461, 1); -lean_inc(x_469); -if (lean_is_exclusive(x_461)) { - lean_ctor_release(x_461, 0); - lean_ctor_release(x_461, 1); - x_470 = x_461; +x_470 = lean_ctor_get(x_463, 0); +lean_inc(x_470); +x_471 = lean_ctor_get(x_463, 1); +lean_inc(x_471); +if (lean_is_exclusive(x_463)) { + lean_ctor_release(x_463, 0); + lean_ctor_release(x_463, 1); + x_472 = x_463; } else { - lean_dec_ref(x_461); - x_470 = lean_box(0); + lean_dec_ref(x_463); + x_472 = lean_box(0); } -if (lean_is_scalar(x_470)) { - x_471 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_472)) { + x_473 = lean_alloc_ctor(1, 2, 0); } else { - x_471 = x_470; + x_473 = x_472; } -lean_ctor_set(x_471, 0, x_468); -lean_ctor_set(x_471, 1, x_469); -return x_471; +lean_ctor_set(x_473, 0, x_470); +lean_ctor_set(x_473, 1, x_471); +return x_473; } } case 11: { -lean_object* x_472; lean_object* x_473; lean_object* x_474; lean_object* x_475; -x_472 = lean_ctor_get(x_1, 0); -lean_inc(x_472); -x_473 = lean_ctor_get(x_1, 1); -lean_inc(x_473); -x_474 = lean_ctor_get(x_1, 2); +lean_object* x_474; lean_object* x_475; lean_object* x_476; lean_object* x_477; +x_474 = lean_ctor_get(x_1, 0); lean_inc(x_474); -lean_inc(x_474); -x_475 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_474, x_2, x_3, x_277); -if (lean_obj_tag(x_475) == 0) -{ -lean_object* x_476; lean_object* x_477; size_t x_478; size_t x_479; uint8_t x_480; -x_476 = lean_ctor_get(x_475, 0); +x_475 = lean_ctor_get(x_1, 1); +lean_inc(x_475); +x_476 = lean_ctor_get(x_1, 2); lean_inc(x_476); -x_477 = lean_ctor_get(x_475, 1); -lean_inc(x_477); -lean_dec(x_475); -x_478 = lean_ptr_addr(x_474); -lean_dec(x_474); -x_479 = lean_ptr_addr(x_476); -x_480 = lean_usize_dec_eq(x_478, x_479); -if (x_480 == 0) +lean_inc(x_476); +x_477 = l_Lean_instantiateExprMVars___at_Lean_instantiateMVarsCore___spec__2___rarg(x_476, x_2, x_3, x_278); +if (lean_obj_tag(x_477) == 0) { -lean_object* x_481; -x_481 = l_Lean_Expr_proj___override(x_472, x_473, x_476); -x_8 = x_481; -x_9 = x_477; +lean_object* x_478; lean_object* x_479; size_t x_480; size_t x_481; uint8_t x_482; +x_478 = lean_ctor_get(x_477, 0); +lean_inc(x_478); +x_479 = lean_ctor_get(x_477, 1); +lean_inc(x_479); +lean_dec(x_477); +x_480 = lean_ptr_addr(x_476); +lean_dec(x_476); +x_481 = lean_ptr_addr(x_478); +x_482 = lean_usize_dec_eq(x_480, x_481); +if (x_482 == 0) +{ +lean_object* x_483; +x_483 = l_Lean_Expr_proj___override(x_474, x_475, x_478); +x_8 = x_483; +x_9 = x_479; goto block_27; } else { -lean_dec(x_476); -lean_dec(x_473); -lean_dec(x_472); +lean_dec(x_478); +lean_dec(x_475); +lean_dec(x_474); lean_inc(x_1); x_8 = x_1; -x_9 = x_477; +x_9 = x_479; goto block_27; } } else { -lean_object* x_482; lean_object* x_483; lean_object* x_484; lean_object* x_485; +lean_object* x_484; lean_object* x_485; lean_object* x_486; lean_object* x_487; +lean_dec(x_476); +lean_dec(x_475); lean_dec(x_474); -lean_dec(x_473); -lean_dec(x_472); lean_dec(x_1); -x_482 = lean_ctor_get(x_475, 0); -lean_inc(x_482); -x_483 = lean_ctor_get(x_475, 1); -lean_inc(x_483); -if (lean_is_exclusive(x_475)) { - lean_ctor_release(x_475, 0); - lean_ctor_release(x_475, 1); - x_484 = x_475; +x_484 = lean_ctor_get(x_477, 0); +lean_inc(x_484); +x_485 = lean_ctor_get(x_477, 1); +lean_inc(x_485); +if (lean_is_exclusive(x_477)) { + lean_ctor_release(x_477, 0); + lean_ctor_release(x_477, 1); + x_486 = x_477; } else { - lean_dec_ref(x_475); - x_484 = lean_box(0); + lean_dec_ref(x_477); + x_486 = lean_box(0); } -if (lean_is_scalar(x_484)) { - x_485 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_486)) { + x_487 = lean_alloc_ctor(1, 2, 0); } else { - x_485 = x_484; + x_487 = x_486; } -lean_ctor_set(x_485, 0, x_482); -lean_ctor_set(x_485, 1, x_483); -return x_485; +lean_ctor_set(x_487, 0, x_484); +lean_ctor_set(x_487, 1, x_485); +return x_487; } } default: { -lean_object* x_486; -x_486 = lean_st_ref_take(x_2, x_277); -if (lean_obj_tag(x_486) == 0) +lean_object* x_488; +x_488 = lean_st_ref_take(x_2, x_278); +if (lean_obj_tag(x_488) == 0) { -lean_object* x_487; lean_object* x_488; lean_object* x_489; lean_object* x_490; -x_487 = lean_ctor_get(x_486, 0); -lean_inc(x_487); -x_488 = lean_ctor_get(x_486, 1); -lean_inc(x_488); -lean_dec(x_486); +lean_object* x_489; lean_object* x_490; lean_object* x_491; lean_object* x_492; +x_489 = lean_ctor_get(x_488, 0); +lean_inc(x_489); +x_490 = lean_ctor_get(x_488, 1); +lean_inc(x_490); +lean_dec(x_488); lean_inc_n(x_1, 2); -x_489 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_487, x_1, x_1); -x_490 = lean_st_ref_set(x_2, x_489, x_488); -if (lean_obj_tag(x_490) == 0) +x_491 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_489, x_1, x_1); +x_492 = lean_st_ref_set(x_2, x_491, x_490); +if (lean_obj_tag(x_492) == 0) { -lean_object* x_491; lean_object* x_492; lean_object* x_493; -x_491 = lean_ctor_get(x_490, 1); -lean_inc(x_491); -if (lean_is_exclusive(x_490)) { - lean_ctor_release(x_490, 0); - lean_ctor_release(x_490, 1); - x_492 = x_490; +lean_object* x_493; lean_object* x_494; lean_object* x_495; +x_493 = lean_ctor_get(x_492, 1); +lean_inc(x_493); +if (lean_is_exclusive(x_492)) { + lean_ctor_release(x_492, 0); + lean_ctor_release(x_492, 1); + x_494 = x_492; } else { - lean_dec_ref(x_490); - x_492 = lean_box(0); + lean_dec_ref(x_492); + x_494 = lean_box(0); } -if (lean_is_scalar(x_492)) { - x_493 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_494)) { + x_495 = lean_alloc_ctor(0, 2, 0); } else { - x_493 = x_492; + x_495 = x_494; } -lean_ctor_set(x_493, 0, x_1); -lean_ctor_set(x_493, 1, x_491); -return x_493; +lean_ctor_set(x_495, 0, x_1); +lean_ctor_set(x_495, 1, x_493); +return x_495; } else { -lean_object* x_494; lean_object* x_495; lean_object* x_496; lean_object* x_497; +lean_object* x_496; lean_object* x_497; lean_object* x_498; lean_object* x_499; lean_dec(x_1); -x_494 = lean_ctor_get(x_490, 0); -lean_inc(x_494); -x_495 = lean_ctor_get(x_490, 1); -lean_inc(x_495); -if (lean_is_exclusive(x_490)) { - lean_ctor_release(x_490, 0); - lean_ctor_release(x_490, 1); - x_496 = x_490; +x_496 = lean_ctor_get(x_492, 0); +lean_inc(x_496); +x_497 = lean_ctor_get(x_492, 1); +lean_inc(x_497); +if (lean_is_exclusive(x_492)) { + lean_ctor_release(x_492, 0); + lean_ctor_release(x_492, 1); + x_498 = x_492; } else { - lean_dec_ref(x_490); - x_496 = lean_box(0); + lean_dec_ref(x_492); + x_498 = lean_box(0); } -if (lean_is_scalar(x_496)) { - x_497 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_498)) { + x_499 = lean_alloc_ctor(1, 2, 0); } else { - x_497 = x_496; + x_499 = x_498; } -lean_ctor_set(x_497, 0, x_494); -lean_ctor_set(x_497, 1, x_495); -return x_497; +lean_ctor_set(x_499, 0, x_496); +lean_ctor_set(x_499, 1, x_497); +return x_499; } } else { -lean_object* x_498; lean_object* x_499; lean_object* x_500; lean_object* x_501; +lean_object* x_500; lean_object* x_501; lean_object* x_502; lean_object* x_503; lean_dec(x_1); -x_498 = lean_ctor_get(x_486, 0); -lean_inc(x_498); -x_499 = lean_ctor_get(x_486, 1); -lean_inc(x_499); -if (lean_is_exclusive(x_486)) { - lean_ctor_release(x_486, 0); - lean_ctor_release(x_486, 1); - x_500 = x_486; +x_500 = lean_ctor_get(x_488, 0); +lean_inc(x_500); +x_501 = lean_ctor_get(x_488, 1); +lean_inc(x_501); +if (lean_is_exclusive(x_488)) { + lean_ctor_release(x_488, 0); + lean_ctor_release(x_488, 1); + x_502 = x_488; } else { - lean_dec_ref(x_486); - x_500 = lean_box(0); + lean_dec_ref(x_488); + x_502 = lean_box(0); } -if (lean_is_scalar(x_500)) { - x_501 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_502)) { + x_503 = lean_alloc_ctor(1, 2, 0); } else { - x_501 = x_500; + x_503 = x_502; } -lean_ctor_set(x_501, 0, x_498); -lean_ctor_set(x_501, 1, x_499); -return x_501; -} -} -} -} -else -{ -lean_object* x_502; lean_object* x_503; -lean_dec(x_1); -x_502 = lean_ctor_get(x_278, 0); -lean_inc(x_502); -lean_dec(x_278); -x_503 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_503, 0, x_502); -lean_ctor_set(x_503, 1, x_277); +lean_ctor_set(x_503, 0, x_500); +lean_ctor_set(x_503, 1, x_501); return x_503; } } } +} else { -uint8_t x_504; +lean_object* x_504; lean_object* x_505; lean_dec(x_1); -x_504 = !lean_is_exclusive(x_45); -if (x_504 == 0) +x_504 = lean_ctor_get(x_279, 0); +lean_inc(x_504); +lean_dec(x_279); +x_505 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_505, 0, x_504); +lean_ctor_set(x_505, 1, x_278); +return x_505; +} +} +} +else +{ +uint8_t x_506; +lean_dec(x_1); +x_506 = !lean_is_exclusive(x_45); +if (x_506 == 0) { return x_45; } else { -lean_object* x_505; lean_object* x_506; lean_object* x_507; -x_505 = lean_ctor_get(x_45, 0); -x_506 = lean_ctor_get(x_45, 1); -lean_inc(x_506); -lean_inc(x_505); +lean_object* x_507; lean_object* x_508; lean_object* x_509; +x_507 = lean_ctor_get(x_45, 0); +x_508 = lean_ctor_get(x_45, 1); +lean_inc(x_508); +lean_inc(x_507); lean_dec(x_45); -x_507 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_507, 0, x_505); -lean_ctor_set(x_507, 1, x_506); -return x_507; +x_509 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_509, 0, x_507); +lean_ctor_set(x_509, 1, x_508); +return x_509; } } block_27: @@ -24481,15 +24377,15 @@ lean_dec(x_2); return x_5; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_instantiateMVarsCore___spec__9___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_instantiateMVarsCore___spec__9___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { -lean_object* x_6; -x_6 = l_List_mapM___at_Lean_instantiateMVarsCore___spec__9___rarg(x_1, x_2, x_3, x_4, x_5); +lean_object* x_7; +x_7 = l_List_mapM_loop___at_Lean_instantiateMVarsCore___spec__9___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); lean_dec(x_1); -return x_6; +return x_7; } } LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_instantiateMVarsCore___spec__10___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { @@ -52015,7 +51911,7 @@ if (lean_obj_tag(x_3) == 0) { lean_object* x_4; lean_object* x_5; x_4 = l_Lean_MetavarContext_getLevelDepth___closed__2; -x_5 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_4); +x_5 = l_panic___at_String_toNat_x21___spec__1(x_4); return x_5; } else @@ -80810,101 +80706,69 @@ return x_43; } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_MetavarContext_LevelMVarToParam_main___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_MetavarContext_LevelMVarToParam_main___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_4; lean_object* x_5; -lean_dec(x_2); -x_4 = lean_box(0); -x_5 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_5, 0, x_4); -lean_ctor_set(x_5, 1, x_3); -return x_5; +lean_object* x_5; lean_object* x_6; +lean_dec(x_3); +x_5 = l_List_reverse___rarg(x_2); +x_6 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_6, 0, x_5); +lean_ctor_set(x_6, 1, x_4); +return x_6; } else { -uint8_t x_6; -x_6 = !lean_is_exclusive(x_1); -if (x_6 == 0) +uint8_t x_7; +x_7 = !lean_is_exclusive(x_1); +if (x_7 == 0) { -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; -x_7 = lean_ctor_get(x_1, 0); -x_8 = lean_ctor_get(x_1, 1); -lean_inc(x_2); -x_9 = l_Lean_MetavarContext_LevelMVarToParam_visitLevel(x_7, x_2, x_3); -x_10 = lean_ctor_get(x_9, 0); -lean_inc(x_10); -x_11 = lean_ctor_get(x_9, 1); +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_8 = lean_ctor_get(x_1, 0); +x_9 = lean_ctor_get(x_1, 1); +lean_inc(x_3); +x_10 = l_Lean_MetavarContext_LevelMVarToParam_visitLevel(x_8, x_3, x_4); +x_11 = lean_ctor_get(x_10, 0); lean_inc(x_11); -lean_dec(x_9); -x_12 = l_List_mapM___at_Lean_MetavarContext_LevelMVarToParam_main___spec__1(x_8, x_2, x_11); -x_13 = !lean_is_exclusive(x_12); -if (x_13 == 0) +x_12 = lean_ctor_get(x_10, 1); +lean_inc(x_12); +lean_dec(x_10); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_11); { -lean_object* x_14; -x_14 = lean_ctor_get(x_12, 0); -lean_ctor_set(x_1, 1, x_14); -lean_ctor_set(x_1, 0, x_10); -lean_ctor_set(x_12, 0, x_1); -return x_12; +lean_object* _tmp_0 = x_9; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_3 = x_12; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_4 = _tmp_3; +} +goto _start; } else { -lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_15 = lean_ctor_get(x_12, 0); -x_16 = lean_ctor_get(x_12, 1); -lean_inc(x_16); +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_14 = lean_ctor_get(x_1, 0); +x_15 = lean_ctor_get(x_1, 1); lean_inc(x_15); -lean_dec(x_12); -lean_ctor_set(x_1, 1, x_15); -lean_ctor_set(x_1, 0, x_10); -x_17 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_17, 0, x_1); -lean_ctor_set(x_17, 1, x_16); -return x_17; -} -} -else -{ -lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_18 = lean_ctor_get(x_1, 0); -x_19 = lean_ctor_get(x_1, 1); -lean_inc(x_19); -lean_inc(x_18); +lean_inc(x_14); lean_dec(x_1); -lean_inc(x_2); -x_20 = l_Lean_MetavarContext_LevelMVarToParam_visitLevel(x_18, x_2, x_3); -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); -lean_inc(x_22); -lean_dec(x_20); -x_23 = l_List_mapM___at_Lean_MetavarContext_LevelMVarToParam_main___spec__1(x_19, x_2, x_22); -x_24 = lean_ctor_get(x_23, 0); -lean_inc(x_24); -x_25 = lean_ctor_get(x_23, 1); -lean_inc(x_25); -if (lean_is_exclusive(x_23)) { - lean_ctor_release(x_23, 0); - lean_ctor_release(x_23, 1); - x_26 = x_23; -} else { - lean_dec_ref(x_23); - x_26 = lean_box(0); -} -x_27 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_27, 0, x_21); -lean_ctor_set(x_27, 1, x_24); -if (lean_is_scalar(x_26)) { - x_28 = lean_alloc_ctor(0, 2, 0); -} else { - x_28 = x_26; -} -lean_ctor_set(x_28, 0, x_27); -lean_ctor_set(x_28, 1, x_25); -return x_28; +lean_inc(x_3); +x_16 = l_Lean_MetavarContext_LevelMVarToParam_visitLevel(x_14, x_3, x_4); +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +x_19 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_19, 0, x_17); +lean_ctor_set(x_19, 1, x_2); +x_1 = x_15; +x_2 = x_19; +x_4 = x_18; +goto _start; } } } @@ -81061,188 +80925,189 @@ goto block_19; } case 4: { -lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; uint8_t x_55; +lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_dec(x_20); x_50 = lean_ctor_get(x_1, 0); lean_inc(x_50); x_51 = lean_ctor_get(x_1, 1); lean_inc(x_51); +x_52 = lean_box(0); lean_inc(x_51); -x_52 = l_List_mapM___at_Lean_MetavarContext_LevelMVarToParam_main___spec__1(x_51, x_2, x_3); -x_53 = lean_ctor_get(x_52, 0); -lean_inc(x_53); -x_54 = lean_ctor_get(x_52, 1); +x_53 = l_List_mapM_loop___at_Lean_MetavarContext_LevelMVarToParam_main___spec__1(x_51, x_52, x_2, x_3); +x_54 = lean_ctor_get(x_53, 0); lean_inc(x_54); -lean_dec(x_52); -x_55 = l_ptrEqList___rarg(x_51, x_53); +x_55 = lean_ctor_get(x_53, 1); +lean_inc(x_55); +lean_dec(x_53); +x_56 = l_ptrEqList___rarg(x_51, x_54); lean_dec(x_51); -if (x_55 == 0) +if (x_56 == 0) { -lean_object* x_56; -x_56 = l_Lean_Expr_const___override(x_50, x_53); -x_6 = x_56; -x_7 = x_54; +lean_object* x_57; +x_57 = l_Lean_Expr_const___override(x_50, x_54); +x_6 = x_57; +x_7 = x_55; goto block_19; } else { -lean_dec(x_53); +lean_dec(x_54); lean_dec(x_50); lean_inc(x_1); x_6 = x_1; -x_7 = x_54; +x_7 = x_55; goto block_19; } } case 5: { -lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64; +lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; uint8_t x_65; lean_dec(x_20); -x_57 = lean_unsigned_to_nat(0u); -x_58 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_1, x_57); -x_59 = l_Lean_instantiateExprMVars___rarg___lambda__20___closed__1; -lean_inc(x_58); -x_60 = lean_mk_array(x_58, x_59); -x_61 = lean_unsigned_to_nat(1u); -x_62 = lean_nat_sub(x_58, x_61); -lean_dec(x_58); +x_58 = lean_unsigned_to_nat(0u); +x_59 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_1, x_58); +x_60 = l_Lean_instantiateExprMVars___rarg___lambda__20___closed__1; +lean_inc(x_59); +x_61 = lean_mk_array(x_59, x_60); +x_62 = lean_unsigned_to_nat(1u); +x_63 = lean_nat_sub(x_59, x_62); +lean_dec(x_59); lean_inc(x_1); -x_63 = l_Lean_Expr_withAppAux___at_Lean_MetavarContext_LevelMVarToParam_main___spec__2(x_1, x_60, x_62, x_2, x_3); -x_64 = !lean_is_exclusive(x_63); -if (x_64 == 0) +x_64 = l_Lean_Expr_withAppAux___at_Lean_MetavarContext_LevelMVarToParam_main___spec__2(x_1, x_61, x_63, x_2, x_3); +x_65 = !lean_is_exclusive(x_64); +if (x_65 == 0) { -lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; -x_65 = lean_ctor_get(x_63, 0); -x_66 = lean_ctor_get(x_63, 1); -x_67 = lean_ctor_get(x_66, 0); -lean_inc(x_67); -x_68 = lean_ctor_get(x_66, 1); +lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; +x_66 = lean_ctor_get(x_64, 0); +x_67 = lean_ctor_get(x_64, 1); +x_68 = lean_ctor_get(x_67, 0); lean_inc(x_68); -x_69 = lean_ctor_get(x_66, 2); +x_69 = lean_ctor_get(x_67, 1); lean_inc(x_69); -x_70 = lean_ctor_get(x_66, 3); +x_70 = lean_ctor_get(x_67, 2); lean_inc(x_70); -lean_dec(x_66); -lean_inc(x_65); -x_71 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_70, x_1, x_65); -x_72 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_72, 0, x_67); -lean_ctor_set(x_72, 1, x_68); -lean_ctor_set(x_72, 2, x_69); -lean_ctor_set(x_72, 3, x_71); -lean_ctor_set(x_63, 1, x_72); -return x_63; +x_71 = lean_ctor_get(x_67, 3); +lean_inc(x_71); +lean_dec(x_67); +lean_inc(x_66); +x_72 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_71, x_1, x_66); +x_73 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_73, 0, x_68); +lean_ctor_set(x_73, 1, x_69); +lean_ctor_set(x_73, 2, x_70); +lean_ctor_set(x_73, 3, x_72); +lean_ctor_set(x_64, 1, x_73); +return x_64; } else { -lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; -x_73 = lean_ctor_get(x_63, 0); -x_74 = lean_ctor_get(x_63, 1); -lean_inc(x_74); -lean_inc(x_73); -lean_dec(x_63); -x_75 = lean_ctor_get(x_74, 0); +lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; +x_74 = lean_ctor_get(x_64, 0); +x_75 = lean_ctor_get(x_64, 1); lean_inc(x_75); -x_76 = lean_ctor_get(x_74, 1); +lean_inc(x_74); +lean_dec(x_64); +x_76 = lean_ctor_get(x_75, 0); lean_inc(x_76); -x_77 = lean_ctor_get(x_74, 2); +x_77 = lean_ctor_get(x_75, 1); lean_inc(x_77); -x_78 = lean_ctor_get(x_74, 3); +x_78 = lean_ctor_get(x_75, 2); lean_inc(x_78); -lean_dec(x_74); -lean_inc(x_73); -x_79 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_78, x_1, x_73); -x_80 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_80, 0, x_75); -lean_ctor_set(x_80, 1, x_76); -lean_ctor_set(x_80, 2, x_77); -lean_ctor_set(x_80, 3, x_79); -x_81 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_81, 0, x_73); -lean_ctor_set(x_81, 1, x_80); -return x_81; +x_79 = lean_ctor_get(x_75, 3); +lean_inc(x_79); +lean_dec(x_75); +lean_inc(x_74); +x_80 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_79, x_1, x_74); +x_81 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_81, 0, x_76); +lean_ctor_set(x_81, 1, x_77); +lean_ctor_set(x_81, 2, x_78); +lean_ctor_set(x_81, 3, x_80); +x_82 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_82, 0, x_74); +lean_ctor_set(x_82, 1, x_81); +return x_82; } } case 6: { -lean_object* x_82; lean_object* x_83; lean_object* x_84; uint8_t x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; size_t x_93; size_t x_94; uint8_t x_95; +lean_object* x_83; lean_object* x_84; lean_object* x_85; uint8_t x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; size_t x_94; size_t x_95; uint8_t x_96; lean_dec(x_20); -x_82 = lean_ctor_get(x_1, 0); -lean_inc(x_82); -x_83 = lean_ctor_get(x_1, 1); +x_83 = lean_ctor_get(x_1, 0); lean_inc(x_83); -x_84 = lean_ctor_get(x_1, 2); +x_84 = lean_ctor_get(x_1, 1); lean_inc(x_84); -x_85 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8); +x_85 = lean_ctor_get(x_1, 2); +lean_inc(x_85); +x_86 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8); lean_inc(x_2); -lean_inc(x_83); -x_86 = l_Lean_MetavarContext_LevelMVarToParam_main(x_83, x_2, x_3); -x_87 = lean_ctor_get(x_86, 0); -lean_inc(x_87); -x_88 = lean_ctor_get(x_86, 1); +lean_inc(x_84); +x_87 = l_Lean_MetavarContext_LevelMVarToParam_main(x_84, x_2, x_3); +x_88 = lean_ctor_get(x_87, 0); lean_inc(x_88); -lean_dec(x_86); -lean_inc(x_84); -x_89 = l_Lean_MetavarContext_LevelMVarToParam_main(x_84, x_2, x_88); -x_90 = lean_ctor_get(x_89, 0); -lean_inc(x_90); -x_91 = lean_ctor_get(x_89, 1); +x_89 = lean_ctor_get(x_87, 1); +lean_inc(x_89); +lean_dec(x_87); +lean_inc(x_85); +x_90 = l_Lean_MetavarContext_LevelMVarToParam_main(x_85, x_2, x_89); +x_91 = lean_ctor_get(x_90, 0); lean_inc(x_91); -lean_dec(x_89); +x_92 = lean_ctor_get(x_90, 1); +lean_inc(x_92); +lean_dec(x_90); +lean_inc(x_85); lean_inc(x_84); lean_inc(x_83); -lean_inc(x_82); -x_92 = l_Lean_Expr_lam___override(x_82, x_83, x_84, x_85); -x_93 = lean_ptr_addr(x_83); +x_93 = l_Lean_Expr_lam___override(x_83, x_84, x_85, x_86); +x_94 = lean_ptr_addr(x_84); +lean_dec(x_84); +x_95 = lean_ptr_addr(x_88); +x_96 = lean_usize_dec_eq(x_94, x_95); +if (x_96 == 0) +{ +lean_object* x_97; +lean_dec(x_93); +lean_dec(x_85); +x_97 = l_Lean_Expr_lam___override(x_83, x_88, x_91, x_86); +x_6 = x_97; +x_7 = x_92; +goto block_19; +} +else +{ +size_t x_98; size_t x_99; uint8_t x_100; +x_98 = lean_ptr_addr(x_85); +lean_dec(x_85); +x_99 = lean_ptr_addr(x_91); +x_100 = lean_usize_dec_eq(x_98, x_99); +if (x_100 == 0) +{ +lean_object* x_101; +lean_dec(x_93); +x_101 = l_Lean_Expr_lam___override(x_83, x_88, x_91, x_86); +x_6 = x_101; +x_7 = x_92; +goto block_19; +} +else +{ +uint8_t x_102; +x_102 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_86, x_86); +if (x_102 == 0) +{ +lean_object* x_103; +lean_dec(x_93); +x_103 = l_Lean_Expr_lam___override(x_83, x_88, x_91, x_86); +x_6 = x_103; +x_7 = x_92; +goto block_19; +} +else +{ +lean_dec(x_91); +lean_dec(x_88); lean_dec(x_83); -x_94 = lean_ptr_addr(x_87); -x_95 = lean_usize_dec_eq(x_93, x_94); -if (x_95 == 0) -{ -lean_object* x_96; -lean_dec(x_92); -lean_dec(x_84); -x_96 = l_Lean_Expr_lam___override(x_82, x_87, x_90, x_85); -x_6 = x_96; -x_7 = x_91; -goto block_19; -} -else -{ -size_t x_97; size_t x_98; uint8_t x_99; -x_97 = lean_ptr_addr(x_84); -lean_dec(x_84); -x_98 = lean_ptr_addr(x_90); -x_99 = lean_usize_dec_eq(x_97, x_98); -if (x_99 == 0) -{ -lean_object* x_100; -lean_dec(x_92); -x_100 = l_Lean_Expr_lam___override(x_82, x_87, x_90, x_85); -x_6 = x_100; -x_7 = x_91; -goto block_19; -} -else -{ -uint8_t x_101; -x_101 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_85, x_85); -if (x_101 == 0) -{ -lean_object* x_102; -lean_dec(x_92); -x_102 = l_Lean_Expr_lam___override(x_82, x_87, x_90, x_85); -x_6 = x_102; -x_7 = x_91; -goto block_19; -} -else -{ -lean_dec(x_90); -lean_dec(x_87); -lean_dec(x_82); -x_6 = x_92; -x_7 = x_91; +x_6 = x_93; +x_7 = x_92; goto block_19; } } @@ -81250,84 +81115,84 @@ goto block_19; } case 7: { -lean_object* x_103; lean_object* x_104; lean_object* x_105; uint8_t x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; size_t x_114; size_t x_115; uint8_t x_116; +lean_object* x_104; lean_object* x_105; lean_object* x_106; uint8_t x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; size_t x_115; size_t x_116; uint8_t x_117; lean_dec(x_20); -x_103 = lean_ctor_get(x_1, 0); -lean_inc(x_103); -x_104 = lean_ctor_get(x_1, 1); +x_104 = lean_ctor_get(x_1, 0); lean_inc(x_104); -x_105 = lean_ctor_get(x_1, 2); +x_105 = lean_ctor_get(x_1, 1); lean_inc(x_105); -x_106 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8); +x_106 = lean_ctor_get(x_1, 2); +lean_inc(x_106); +x_107 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8); lean_inc(x_2); -lean_inc(x_104); -x_107 = l_Lean_MetavarContext_LevelMVarToParam_main(x_104, x_2, x_3); -x_108 = lean_ctor_get(x_107, 0); -lean_inc(x_108); -x_109 = lean_ctor_get(x_107, 1); +lean_inc(x_105); +x_108 = l_Lean_MetavarContext_LevelMVarToParam_main(x_105, x_2, x_3); +x_109 = lean_ctor_get(x_108, 0); lean_inc(x_109); -lean_dec(x_107); -lean_inc(x_105); -x_110 = l_Lean_MetavarContext_LevelMVarToParam_main(x_105, x_2, x_109); -x_111 = lean_ctor_get(x_110, 0); -lean_inc(x_111); -x_112 = lean_ctor_get(x_110, 1); +x_110 = lean_ctor_get(x_108, 1); +lean_inc(x_110); +lean_dec(x_108); +lean_inc(x_106); +x_111 = l_Lean_MetavarContext_LevelMVarToParam_main(x_106, x_2, x_110); +x_112 = lean_ctor_get(x_111, 0); lean_inc(x_112); -lean_dec(x_110); +x_113 = lean_ctor_get(x_111, 1); +lean_inc(x_113); +lean_dec(x_111); +lean_inc(x_106); lean_inc(x_105); lean_inc(x_104); -lean_inc(x_103); -x_113 = l_Lean_Expr_forallE___override(x_103, x_104, x_105, x_106); -x_114 = lean_ptr_addr(x_104); +x_114 = l_Lean_Expr_forallE___override(x_104, x_105, x_106, x_107); +x_115 = lean_ptr_addr(x_105); +lean_dec(x_105); +x_116 = lean_ptr_addr(x_109); +x_117 = lean_usize_dec_eq(x_115, x_116); +if (x_117 == 0) +{ +lean_object* x_118; +lean_dec(x_114); +lean_dec(x_106); +x_118 = l_Lean_Expr_forallE___override(x_104, x_109, x_112, x_107); +x_6 = x_118; +x_7 = x_113; +goto block_19; +} +else +{ +size_t x_119; size_t x_120; uint8_t x_121; +x_119 = lean_ptr_addr(x_106); +lean_dec(x_106); +x_120 = lean_ptr_addr(x_112); +x_121 = lean_usize_dec_eq(x_119, x_120); +if (x_121 == 0) +{ +lean_object* x_122; +lean_dec(x_114); +x_122 = l_Lean_Expr_forallE___override(x_104, x_109, x_112, x_107); +x_6 = x_122; +x_7 = x_113; +goto block_19; +} +else +{ +uint8_t x_123; +x_123 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_107, x_107); +if (x_123 == 0) +{ +lean_object* x_124; +lean_dec(x_114); +x_124 = l_Lean_Expr_forallE___override(x_104, x_109, x_112, x_107); +x_6 = x_124; +x_7 = x_113; +goto block_19; +} +else +{ +lean_dec(x_112); +lean_dec(x_109); lean_dec(x_104); -x_115 = lean_ptr_addr(x_108); -x_116 = lean_usize_dec_eq(x_114, x_115); -if (x_116 == 0) -{ -lean_object* x_117; -lean_dec(x_113); -lean_dec(x_105); -x_117 = l_Lean_Expr_forallE___override(x_103, x_108, x_111, x_106); -x_6 = x_117; -x_7 = x_112; -goto block_19; -} -else -{ -size_t x_118; size_t x_119; uint8_t x_120; -x_118 = lean_ptr_addr(x_105); -lean_dec(x_105); -x_119 = lean_ptr_addr(x_111); -x_120 = lean_usize_dec_eq(x_118, x_119); -if (x_120 == 0) -{ -lean_object* x_121; -lean_dec(x_113); -x_121 = l_Lean_Expr_forallE___override(x_103, x_108, x_111, x_106); -x_6 = x_121; -x_7 = x_112; -goto block_19; -} -else -{ -uint8_t x_122; -x_122 = l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_375_(x_106, x_106); -if (x_122 == 0) -{ -lean_object* x_123; -lean_dec(x_113); -x_123 = l_Lean_Expr_forallE___override(x_103, x_108, x_111, x_106); -x_6 = x_123; -x_7 = x_112; -goto block_19; -} -else -{ -lean_dec(x_111); -lean_dec(x_108); -lean_dec(x_103); -x_6 = x_113; -x_7 = x_112; +x_6 = x_114; +x_7 = x_113; goto block_19; } } @@ -81335,94 +81200,94 @@ goto block_19; } case 8: { -lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; uint8_t x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; size_t x_138; size_t x_139; uint8_t x_140; +lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; uint8_t x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; size_t x_139; size_t x_140; uint8_t x_141; lean_dec(x_20); -x_124 = lean_ctor_get(x_1, 0); -lean_inc(x_124); -x_125 = lean_ctor_get(x_1, 1); +x_125 = lean_ctor_get(x_1, 0); lean_inc(x_125); -x_126 = lean_ctor_get(x_1, 2); +x_126 = lean_ctor_get(x_1, 1); lean_inc(x_126); -x_127 = lean_ctor_get(x_1, 3); +x_127 = lean_ctor_get(x_1, 2); lean_inc(x_127); -x_128 = lean_ctor_get_uint8(x_1, sizeof(void*)*4 + 8); +x_128 = lean_ctor_get(x_1, 3); +lean_inc(x_128); +x_129 = lean_ctor_get_uint8(x_1, sizeof(void*)*4 + 8); lean_inc(x_2); -lean_inc(x_125); -x_129 = l_Lean_MetavarContext_LevelMVarToParam_main(x_125, x_2, x_3); -x_130 = lean_ctor_get(x_129, 0); -lean_inc(x_130); -x_131 = lean_ctor_get(x_129, 1); +lean_inc(x_126); +x_130 = l_Lean_MetavarContext_LevelMVarToParam_main(x_126, x_2, x_3); +x_131 = lean_ctor_get(x_130, 0); lean_inc(x_131); -lean_dec(x_129); -lean_inc(x_2); -lean_inc(x_126); -x_132 = l_Lean_MetavarContext_LevelMVarToParam_main(x_126, x_2, x_131); -x_133 = lean_ctor_get(x_132, 0); -lean_inc(x_133); -x_134 = lean_ctor_get(x_132, 1); -lean_inc(x_134); -lean_dec(x_132); -lean_inc(x_127); -x_135 = l_Lean_MetavarContext_LevelMVarToParam_main(x_127, x_2, x_134); -x_136 = lean_ctor_get(x_135, 0); -lean_inc(x_136); -x_137 = lean_ctor_get(x_135, 1); -lean_inc(x_137); -lean_dec(x_135); -x_138 = lean_ptr_addr(x_125); -lean_dec(x_125); -x_139 = lean_ptr_addr(x_130); -x_140 = lean_usize_dec_eq(x_138, x_139); -if (x_140 == 0) -{ -lean_object* x_141; -lean_dec(x_127); -lean_dec(x_126); -x_141 = l_Lean_Expr_letE___override(x_124, x_130, x_133, x_136, x_128); -x_6 = x_141; -x_7 = x_137; -goto block_19; -} -else -{ -size_t x_142; size_t x_143; uint8_t x_144; -x_142 = lean_ptr_addr(x_126); -lean_dec(x_126); -x_143 = lean_ptr_addr(x_133); -x_144 = lean_usize_dec_eq(x_142, x_143); -if (x_144 == 0) -{ -lean_object* x_145; -lean_dec(x_127); -x_145 = l_Lean_Expr_letE___override(x_124, x_130, x_133, x_136, x_128); -x_6 = x_145; -x_7 = x_137; -goto block_19; -} -else -{ -size_t x_146; size_t x_147; uint8_t x_148; -x_146 = lean_ptr_addr(x_127); -lean_dec(x_127); -x_147 = lean_ptr_addr(x_136); -x_148 = lean_usize_dec_eq(x_146, x_147); -if (x_148 == 0) -{ -lean_object* x_149; -x_149 = l_Lean_Expr_letE___override(x_124, x_130, x_133, x_136, x_128); -x_6 = x_149; -x_7 = x_137; -goto block_19; -} -else -{ -lean_dec(x_136); -lean_dec(x_133); +x_132 = lean_ctor_get(x_130, 1); +lean_inc(x_132); lean_dec(x_130); -lean_dec(x_124); +lean_inc(x_2); +lean_inc(x_127); +x_133 = l_Lean_MetavarContext_LevelMVarToParam_main(x_127, x_2, x_132); +x_134 = lean_ctor_get(x_133, 0); +lean_inc(x_134); +x_135 = lean_ctor_get(x_133, 1); +lean_inc(x_135); +lean_dec(x_133); +lean_inc(x_128); +x_136 = l_Lean_MetavarContext_LevelMVarToParam_main(x_128, x_2, x_135); +x_137 = lean_ctor_get(x_136, 0); +lean_inc(x_137); +x_138 = lean_ctor_get(x_136, 1); +lean_inc(x_138); +lean_dec(x_136); +x_139 = lean_ptr_addr(x_126); +lean_dec(x_126); +x_140 = lean_ptr_addr(x_131); +x_141 = lean_usize_dec_eq(x_139, x_140); +if (x_141 == 0) +{ +lean_object* x_142; +lean_dec(x_128); +lean_dec(x_127); +x_142 = l_Lean_Expr_letE___override(x_125, x_131, x_134, x_137, x_129); +x_6 = x_142; +x_7 = x_138; +goto block_19; +} +else +{ +size_t x_143; size_t x_144; uint8_t x_145; +x_143 = lean_ptr_addr(x_127); +lean_dec(x_127); +x_144 = lean_ptr_addr(x_134); +x_145 = lean_usize_dec_eq(x_143, x_144); +if (x_145 == 0) +{ +lean_object* x_146; +lean_dec(x_128); +x_146 = l_Lean_Expr_letE___override(x_125, x_131, x_134, x_137, x_129); +x_6 = x_146; +x_7 = x_138; +goto block_19; +} +else +{ +size_t x_147; size_t x_148; uint8_t x_149; +x_147 = lean_ptr_addr(x_128); +lean_dec(x_128); +x_148 = lean_ptr_addr(x_137); +x_149 = lean_usize_dec_eq(x_147, x_148); +if (x_149 == 0) +{ +lean_object* x_150; +x_150 = l_Lean_Expr_letE___override(x_125, x_131, x_134, x_137, x_129); +x_6 = x_150; +x_7 = x_138; +goto block_19; +} +else +{ +lean_dec(x_137); +lean_dec(x_134); +lean_dec(x_131); +lean_dec(x_125); lean_inc(x_1); x_6 = x_1; -x_7 = x_137; +x_7 = x_138; goto block_19; } } @@ -81430,119 +81295,119 @@ goto block_19; } case 10: { -lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; size_t x_155; size_t x_156; uint8_t x_157; +lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; size_t x_156; size_t x_157; uint8_t x_158; lean_dec(x_20); -x_150 = lean_ctor_get(x_1, 0); -lean_inc(x_150); -x_151 = lean_ctor_get(x_1, 1); +x_151 = lean_ctor_get(x_1, 0); lean_inc(x_151); -lean_inc(x_151); -x_152 = l_Lean_MetavarContext_LevelMVarToParam_main(x_151, x_2, x_3); -x_153 = lean_ctor_get(x_152, 0); -lean_inc(x_153); -x_154 = lean_ctor_get(x_152, 1); +x_152 = lean_ctor_get(x_1, 1); +lean_inc(x_152); +lean_inc(x_152); +x_153 = l_Lean_MetavarContext_LevelMVarToParam_main(x_152, x_2, x_3); +x_154 = lean_ctor_get(x_153, 0); lean_inc(x_154); +x_155 = lean_ctor_get(x_153, 1); +lean_inc(x_155); +lean_dec(x_153); +x_156 = lean_ptr_addr(x_152); lean_dec(x_152); -x_155 = lean_ptr_addr(x_151); -lean_dec(x_151); -x_156 = lean_ptr_addr(x_153); -x_157 = lean_usize_dec_eq(x_155, x_156); -if (x_157 == 0) +x_157 = lean_ptr_addr(x_154); +x_158 = lean_usize_dec_eq(x_156, x_157); +if (x_158 == 0) { -lean_object* x_158; -x_158 = l_Lean_Expr_mdata___override(x_150, x_153); -x_6 = x_158; -x_7 = x_154; +lean_object* x_159; +x_159 = l_Lean_Expr_mdata___override(x_151, x_154); +x_6 = x_159; +x_7 = x_155; goto block_19; } else { -lean_dec(x_153); -lean_dec(x_150); +lean_dec(x_154); +lean_dec(x_151); lean_inc(x_1); x_6 = x_1; -x_7 = x_154; +x_7 = x_155; goto block_19; } } case 11: { -lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; size_t x_165; size_t x_166; uint8_t x_167; +lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; size_t x_166; size_t x_167; uint8_t x_168; lean_dec(x_20); -x_159 = lean_ctor_get(x_1, 0); -lean_inc(x_159); -x_160 = lean_ctor_get(x_1, 1); +x_160 = lean_ctor_get(x_1, 0); lean_inc(x_160); -x_161 = lean_ctor_get(x_1, 2); +x_161 = lean_ctor_get(x_1, 1); lean_inc(x_161); -lean_inc(x_161); -x_162 = l_Lean_MetavarContext_LevelMVarToParam_main(x_161, x_2, x_3); -x_163 = lean_ctor_get(x_162, 0); -lean_inc(x_163); -x_164 = lean_ctor_get(x_162, 1); +x_162 = lean_ctor_get(x_1, 2); +lean_inc(x_162); +lean_inc(x_162); +x_163 = l_Lean_MetavarContext_LevelMVarToParam_main(x_162, x_2, x_3); +x_164 = lean_ctor_get(x_163, 0); lean_inc(x_164); +x_165 = lean_ctor_get(x_163, 1); +lean_inc(x_165); +lean_dec(x_163); +x_166 = lean_ptr_addr(x_162); lean_dec(x_162); -x_165 = lean_ptr_addr(x_161); -lean_dec(x_161); -x_166 = lean_ptr_addr(x_163); -x_167 = lean_usize_dec_eq(x_165, x_166); -if (x_167 == 0) +x_167 = lean_ptr_addr(x_164); +x_168 = lean_usize_dec_eq(x_166, x_167); +if (x_168 == 0) { -lean_object* x_168; -x_168 = l_Lean_Expr_proj___override(x_159, x_160, x_163); -x_6 = x_168; -x_7 = x_164; +lean_object* x_169; +x_169 = l_Lean_Expr_proj___override(x_160, x_161, x_164); +x_6 = x_169; +x_7 = x_165; goto block_19; } else { -lean_dec(x_163); +lean_dec(x_164); +lean_dec(x_161); lean_dec(x_160); -lean_dec(x_159); lean_inc(x_1); x_6 = x_1; -x_7 = x_164; +x_7 = x_165; goto block_19; } } default: { -lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; +lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_dec(x_2); -x_169 = lean_ctor_get(x_3, 0); -lean_inc(x_169); -x_170 = lean_ctor_get(x_3, 1); +x_170 = lean_ctor_get(x_3, 0); lean_inc(x_170); -x_171 = lean_ctor_get(x_3, 2); +x_171 = lean_ctor_get(x_3, 1); lean_inc(x_171); +x_172 = lean_ctor_get(x_3, 2); +lean_inc(x_172); lean_dec(x_3); lean_inc_n(x_1, 2); -x_172 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_20, x_1, x_1); -x_173 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_173, 0, x_169); -lean_ctor_set(x_173, 1, x_170); -lean_ctor_set(x_173, 2, x_171); -lean_ctor_set(x_173, 3, x_172); -x_174 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_174, 0, x_1); -lean_ctor_set(x_174, 1, x_173); -return x_174; +x_173 = l_Std_HashMap_insert___at_Lean_instantiateExprMVars___spec__3(x_20, x_1, x_1); +x_174 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_174, 0, x_170); +lean_ctor_set(x_174, 1, x_171); +lean_ctor_set(x_174, 2, x_172); +lean_ctor_set(x_174, 3, x_173); +x_175 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_175, 0, x_1); +lean_ctor_set(x_175, 1, x_174); +return x_175; } } } else { -lean_object* x_175; lean_object* x_176; +lean_object* x_176; lean_object* x_177; lean_dec(x_20); lean_dec(x_2); lean_dec(x_1); -x_175 = lean_ctor_get(x_21, 0); -lean_inc(x_175); +x_176 = lean_ctor_get(x_21, 0); +lean_inc(x_176); lean_dec(x_21); -x_176 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_176, 0, x_175); -lean_ctor_set(x_176, 1, x_3); -return x_176; +x_177 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_177, 0, x_176); +lean_ctor_set(x_177, 1, x_3); +return x_177; } block_19: { diff --git a/stage0/stdlib/Lean/MonadEnv.c b/stage0/stdlib/Lean/MonadEnv.c index 9d7da436b1..4c3491905d 100644 --- a/stage0/stdlib/Lean/MonadEnv.c +++ b/stage0/stdlib/Lean/MonadEnv.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.MonadEnv -// Imports: Init Lean.Environment Lean.Exception Lean.Declaration Lean.Log Lean.Util.FindExpr Lean.AuxRecursor Lean.Compiler.Old +// Imports: Init Lean.Environment Lean.Exception Lean.Declaration Lean.Log Lean.AuxRecursor Lean.Compiler.Old #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -4421,7 +4421,6 @@ lean_object* initialize_Lean_Environment(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Exception(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Declaration(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Log(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Util_FindExpr(uint8_t builtin, lean_object*); lean_object* initialize_Lean_AuxRecursor(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Compiler_Old(uint8_t builtin, lean_object*); static bool _G_initialized = false; @@ -4444,9 +4443,6 @@ lean_dec_ref(res); res = initialize_Lean_Log(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Util_FindExpr(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_AuxRecursor(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Parser/Basic.c b/stage0/stdlib/Lean/Parser/Basic.c index 4016ee975e..a84d1c2999 100644 --- a/stage0/stdlib/Lean/Parser/Basic.c +++ b/stage0/stdlib/Lean/Parser/Basic.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Parser.Basic -// Imports: Init Lean.Data.Trie Lean.Data.Position Lean.Syntax Lean.Environment Lean.Message +// Imports: Init Lean.Data.Trie Lean.Syntax Lean.Message #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -29682,9 +29682,7 @@ return x_4; } lean_object* initialize_Init(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Data_Trie(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Data_Position(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Syntax(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Environment(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Message(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Parser_Basic(uint8_t builtin, lean_object* w) { @@ -29697,15 +29695,9 @@ lean_dec_ref(res); res = initialize_Lean_Data_Trie(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Data_Position(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Syntax(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Environment(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Message(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Parser/Extension.c b/stage0/stdlib/Lean/Parser/Extension.c index 8f1d40e1ab..6d9d7a7165 100644 --- a/stage0/stdlib/Lean/Parser/Extension.c +++ b/stage0/stdlib/Lean/Parser/Extension.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Parser.Extension -// Imports: Init Lean.ResolveName Lean.ScopedEnvExtension Lean.Parser.Basic Lean.Parser.StrInterpolation Lean.KeyedDeclsAttribute Lean.DocString Lean.DeclarationRange +// Imports: Init Lean.Parser.Basic Lean.Compiler.InitAttr Lean.ScopedEnvExtension Lean.DocString #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -47,6 +47,7 @@ LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_Parser_getAlias___spec__1__ LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlMAux___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___spec__4(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_parserOfStack___elambda__1(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_addBuiltinParserCategory___closed__1; +lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_mkModuleData___spec__3___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_registerTagAttribute___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_ParserExtension_instInhabitedOLeanEntry___closed__1; static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_3903____closed__8; @@ -363,7 +364,6 @@ LEAN_EXPORT lean_object* l_Lean_Parser_parserOfStackFn___lambda__1___boxed(lean_ LEAN_EXPORT lean_object* l___private_Lean_Parser_Extension_0__Lean_Parser_ParserExtension_mkInitial(lean_object*); uint8_t l_Lean_Environment_contains(lean_object*, lean_object*); static lean_object* l_Lean_Parser_ParserExtension_instInhabitedState___closed__1; -lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_MetavarContext_getExprAssignmentDomain___spec__2___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_parserAliases2infoRef; LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux_traverse___at___private_Lean_Parser_Extension_0__Lean_Parser_addParserCategoryCore___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_compileParserDescr(lean_object*, lean_object*, lean_object*, lean_object*); @@ -3442,7 +3442,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_Parser_ParserExtension_addEntryImpl___closed__1; x_2 = l_Lean_Parser_ParserExtension_addEntryImpl___closed__2; -x_3 = lean_unsigned_to_nat(162u); +x_3 = lean_unsigned_to_nat(159u); x_4 = lean_unsigned_to_nat(26u); x_5 = l_Lean_Parser_ParserExtension_addEntryImpl___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -3455,7 +3455,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_Parser_ParserExtension_addEntryImpl___closed__1; x_2 = l_Lean_Parser_ParserExtension_addEntryImpl___closed__2; -x_3 = lean_unsigned_to_nat(172u); +x_3 = lean_unsigned_to_nat(169u); x_4 = lean_unsigned_to_nat(11u); x_5 = l_Lean_Parser_ParserExtension_addEntryImpl___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -9420,7 +9420,7 @@ lean_object* x_4; lean_object* x_5; x_4 = lean_ctor_get(x_1, 0); lean_inc(x_4); lean_dec(x_1); -x_5 = l_Std_PersistentHashMap_foldlMAux___at_Lean_MetavarContext_getExprAssignmentDomain___spec__2___rarg(x_2, x_4, x_3); +x_5 = l_Std_PersistentHashMap_foldlMAux___at_Lean_mkModuleData___spec__3___rarg(x_2, x_4, x_3); return x_5; } } @@ -14805,13 +14805,10 @@ return x_5; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_ResolveName(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_ScopedEnvExtension(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Parser_Basic(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Parser_StrInterpolation(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_KeyedDeclsAttribute(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Compiler_InitAttr(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_ScopedEnvExtension(uint8_t builtin, lean_object*); lean_object* initialize_Lean_DocString(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_DeclarationRange(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Parser_Extension(uint8_t builtin, lean_object* w) { lean_object * res; @@ -14820,27 +14817,18 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_ResolveName(builtin, lean_io_mk_world()); +res = initialize_Lean_Parser_Basic(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Compiler_InitAttr(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_ScopedEnvExtension(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Parser_Basic(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Parser_StrInterpolation(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_KeyedDeclsAttribute(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_DocString(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_DeclarationRange(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_6____closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_6____closed__1(); lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_6____closed__1); if (builtin) {res = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_6_(lean_io_mk_world()); diff --git a/stage0/stdlib/Lean/Parser/Syntax.c b/stage0/stdlib/Lean/Parser/Syntax.c index e35512a9e4..b01f6ff447 100644 --- a/stage0/stdlib/Lean/Parser/Syntax.c +++ b/stage0/stdlib/Lean/Parser/Syntax.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Parser.Syntax -// Imports: Init Lean.Parser.Command Lean.Parser.Tactic +// Imports: Init Lean.Parser.Command #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -2269,7 +2269,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_numPrec_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(30u); +x_1 = lean_unsigned_to_nat(29u); x_2 = lean_unsigned_to_nat(21u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2281,7 +2281,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_numPrec_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(30u); +x_1 = lean_unsigned_to_nat(29u); x_2 = lean_unsigned_to_nat(63u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2309,7 +2309,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_numPrec_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(30u); +x_1 = lean_unsigned_to_nat(29u); x_2 = lean_unsigned_to_nat(25u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2321,7 +2321,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_numPrec_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(30u); +x_1 = lean_unsigned_to_nat(29u); x_2 = lean_unsigned_to_nat(32u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2570,7 +2570,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_paren_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(32u); +x_1 = lean_unsigned_to_nat(31u); x_2 = lean_unsigned_to_nat(23u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2582,7 +2582,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_paren_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(32u); +x_1 = lean_unsigned_to_nat(31u); x_2 = lean_unsigned_to_nat(93u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2610,7 +2610,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_paren_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(32u); +x_1 = lean_unsigned_to_nat(31u); x_2 = lean_unsigned_to_nat(27u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -2621,12 +2621,13 @@ return x_3; static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_paren_declRange___closed__5() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = lean_unsigned_to_nat(32u); -x_2 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_2, 0, x_1); -lean_ctor_set(x_2, 1, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_unsigned_to_nat(31u); +x_2 = lean_unsigned_to_nat(32u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; } } static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_paren_declRange___closed__6() { @@ -3090,7 +3091,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_cat_declRange___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(33u); +x_1 = lean_unsigned_to_nat(32u); x_2 = lean_unsigned_to_nat(23u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3102,7 +3103,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_cat_declRange___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(33u); +x_1 = lean_unsigned_to_nat(32u); x_2 = lean_unsigned_to_nat(83u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3130,7 +3131,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_cat_declRange___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(33u); +x_1 = lean_unsigned_to_nat(32u); x_2 = lean_unsigned_to_nat(27u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3142,7 +3143,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_cat_declRange___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(33u); +x_1 = lean_unsigned_to_nat(32u); x_2 = lean_unsigned_to_nat(30u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3780,7 +3781,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_unary_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(34u); +x_1 = lean_unsigned_to_nat(33u); x_2 = lean_unsigned_to_nat(23u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3792,7 +3793,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_unary_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(34u); +x_1 = lean_unsigned_to_nat(33u); x_2 = lean_unsigned_to_nat(121u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3820,7 +3821,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_unary_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(34u); +x_1 = lean_unsigned_to_nat(33u); x_2 = lean_unsigned_to_nat(27u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -3832,7 +3833,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_unary_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(34u); +x_1 = lean_unsigned_to_nat(33u); x_2 = lean_unsigned_to_nat(32u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4229,7 +4230,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_binary_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(35u); +x_1 = lean_unsigned_to_nat(34u); x_2 = lean_unsigned_to_nat(23u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4241,7 +4242,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_binary_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(35u); +x_1 = lean_unsigned_to_nat(34u); x_2 = lean_unsigned_to_nat(151u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4269,7 +4270,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_binary_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(35u); +x_1 = lean_unsigned_to_nat(34u); x_2 = lean_unsigned_to_nat(27u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4281,7 +4282,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_binary_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(35u); +x_1 = lean_unsigned_to_nat(34u); x_2 = lean_unsigned_to_nat(33u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4820,7 +4821,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_sepBy_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(36u); +x_1 = lean_unsigned_to_nat(35u); x_2 = lean_unsigned_to_nat(23u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4832,7 +4833,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_sepBy_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(36u); +x_1 = lean_unsigned_to_nat(35u); x_2 = lean_unsigned_to_nat(216u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4860,7 +4861,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_sepBy_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(36u); +x_1 = lean_unsigned_to_nat(35u); x_2 = lean_unsigned_to_nat(27u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -4872,7 +4873,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_sepBy_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(36u); +x_1 = lean_unsigned_to_nat(35u); x_2 = lean_unsigned_to_nat(32u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5459,7 +5460,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_sepBy1_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(37u); +x_1 = lean_unsigned_to_nat(36u); x_2 = lean_unsigned_to_nat(23u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5471,7 +5472,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_sepBy1_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(37u); +x_1 = lean_unsigned_to_nat(36u); x_2 = lean_unsigned_to_nat(217u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5499,7 +5500,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_sepBy1_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(37u); +x_1 = lean_unsigned_to_nat(36u); x_2 = lean_unsigned_to_nat(27u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5511,7 +5512,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_sepBy1_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(37u); +x_1 = lean_unsigned_to_nat(36u); x_2 = lean_unsigned_to_nat(33u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5821,7 +5822,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_atom_declRange___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(38u); +x_1 = lean_unsigned_to_nat(37u); x_2 = lean_unsigned_to_nat(23u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5833,7 +5834,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_atom_declRange___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(38u); +x_1 = lean_unsigned_to_nat(37u); x_2 = lean_unsigned_to_nat(67u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5861,7 +5862,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_atom_declRange___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(38u); +x_1 = lean_unsigned_to_nat(37u); x_2 = lean_unsigned_to_nat(27u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5873,7 +5874,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_atom_declRange___clo _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(38u); +x_1 = lean_unsigned_to_nat(37u); x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6166,7 +6167,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_nonReserved_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(39u); +x_1 = lean_unsigned_to_nat(38u); x_2 = lean_unsigned_to_nat(23u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6178,7 +6179,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_nonReserved_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(39u); +x_1 = lean_unsigned_to_nat(38u); x_2 = lean_unsigned_to_nat(74u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6206,7 +6207,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_nonReserved_declRang _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(39u); +x_1 = lean_unsigned_to_nat(38u); x_2 = lean_unsigned_to_nat(27u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6217,13 +6218,12 @@ return x_3; static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_nonReserved_declRange___closed__5() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(39u); -x_2 = lean_unsigned_to_nat(38u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(38u); +x_2 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_2, 0, x_1); +lean_ctor_set(x_2, 1, x_1); +return x_2; } } static lean_object* _init_l___regBuiltin_Lean_Parser_Syntax_nonReserved_declRange___closed__6() { @@ -6620,7 +6620,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Term_stx_quot_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(45u); +x_1 = lean_unsigned_to_nat(44u); x_2 = lean_unsigned_to_nat(21u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6632,7 +6632,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Term_stx_quot_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(45u); +x_1 = lean_unsigned_to_nat(44u); x_2 = lean_unsigned_to_nat(106u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6660,7 +6660,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Term_stx_quot_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(45u); +x_1 = lean_unsigned_to_nat(44u); x_2 = lean_unsigned_to_nat(25u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -6672,7 +6672,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Term_stx_quot_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(45u); +x_1 = lean_unsigned_to_nat(44u); x_2 = lean_unsigned_to_nat(33u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -7084,7 +7084,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Term_prec_quot_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(46u); +x_1 = lean_unsigned_to_nat(45u); x_2 = lean_unsigned_to_nat(21u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -7096,7 +7096,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Term_prec_quot_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(46u); +x_1 = lean_unsigned_to_nat(45u); x_2 = lean_unsigned_to_nat(112u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -7124,7 +7124,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Term_prec_quot_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(46u); +x_1 = lean_unsigned_to_nat(45u); x_2 = lean_unsigned_to_nat(25u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -7136,7 +7136,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Term_prec_quot_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(46u); +x_1 = lean_unsigned_to_nat(45u); x_2 = lean_unsigned_to_nat(34u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -7576,7 +7576,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Term_prio_quot_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(47u); +x_1 = lean_unsigned_to_nat(46u); x_2 = lean_unsigned_to_nat(21u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -7588,7 +7588,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Term_prio_quot_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(47u); +x_1 = lean_unsigned_to_nat(46u); x_2 = lean_unsigned_to_nat(110u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -7616,7 +7616,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Term_prio_quot_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(47u); +x_1 = lean_unsigned_to_nat(46u); x_2 = lean_unsigned_to_nat(25u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -7628,7 +7628,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Term_prio_quot_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(47u); +x_1 = lean_unsigned_to_nat(46u); x_2 = lean_unsigned_to_nat(34u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8711,7 +8711,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_mixfix_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(62u); +x_1 = lean_unsigned_to_nat(61u); x_2 = lean_unsigned_to_nat(24u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8723,7 +8723,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_mixfix_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(62u); +x_1 = lean_unsigned_to_nat(61u); x_2 = lean_unsigned_to_nat(228u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8751,7 +8751,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_mixfix_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(62u); +x_1 = lean_unsigned_to_nat(61u); x_2 = lean_unsigned_to_nat(28u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8763,7 +8763,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_mixfix_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(62u); +x_1 = lean_unsigned_to_nat(61u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -10998,7 +10998,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_notation_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(70u); +x_1 = lean_unsigned_to_nat(69u); x_2 = lean_unsigned_to_nat(24u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11010,7 +11010,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_notation_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(70u); +x_1 = lean_unsigned_to_nat(69u); x_2 = lean_unsigned_to_nat(234u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11038,7 +11038,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_notation_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(70u); +x_1 = lean_unsigned_to_nat(69u); x_2 = lean_unsigned_to_nat(28u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11050,7 +11050,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_notation_declRange_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(70u); +x_1 = lean_unsigned_to_nat(69u); x_2 = lean_unsigned_to_nat(38u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11889,7 +11889,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_macro__rules_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(71u); +x_1 = lean_unsigned_to_nat(70u); x_2 = lean_unsigned_to_nat(24u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11901,7 +11901,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_macro__rules_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(71u); +x_1 = lean_unsigned_to_nat(70u); x_2 = lean_unsigned_to_nat(194u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11929,7 +11929,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_macro__rules_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(71u); +x_1 = lean_unsigned_to_nat(70u); x_2 = lean_unsigned_to_nat(28u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -11941,7 +11941,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_macro__rules_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(71u); +x_1 = lean_unsigned_to_nat(70u); x_2 = lean_unsigned_to_nat(41u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12602,7 +12602,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_syntax_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(72u); +x_1 = lean_unsigned_to_nat(71u); x_2 = lean_unsigned_to_nat(24u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12614,7 +12614,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_syntax_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(72u); +x_1 = lean_unsigned_to_nat(71u); x_2 = lean_unsigned_to_nat(238u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12642,7 +12642,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_syntax_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(72u); +x_1 = lean_unsigned_to_nat(71u); x_2 = lean_unsigned_to_nat(28u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -12654,7 +12654,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_syntax_declRange___ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(72u); +x_1 = lean_unsigned_to_nat(71u); x_2 = lean_unsigned_to_nat(36u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13236,7 +13236,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_syntaxAbbrev_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(73u); +x_1 = lean_unsigned_to_nat(72u); x_2 = lean_unsigned_to_nat(24u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13248,7 +13248,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_syntaxAbbrev_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(73u); +x_1 = lean_unsigned_to_nat(72u); x_2 = lean_unsigned_to_nat(133u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13276,7 +13276,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_syntaxAbbrev_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(73u); +x_1 = lean_unsigned_to_nat(72u); x_2 = lean_unsigned_to_nat(28u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13288,7 +13288,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_syntaxAbbrev_declRa _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(73u); +x_1 = lean_unsigned_to_nat(72u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13936,7 +13936,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_syntaxCat_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(77u); +x_1 = lean_unsigned_to_nat(76u); x_2 = lean_unsigned_to_nat(24u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13948,7 +13948,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_syntaxCat_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(77u); +x_1 = lean_unsigned_to_nat(76u); x_2 = lean_unsigned_to_nat(124u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13976,7 +13976,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_syntaxCat_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(77u); +x_1 = lean_unsigned_to_nat(76u); x_2 = lean_unsigned_to_nat(28u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -13988,7 +13988,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_syntaxCat_declRange _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(77u); +x_1 = lean_unsigned_to_nat(76u); x_2 = lean_unsigned_to_nat(37u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -15482,7 +15482,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_macro_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(84u); +x_1 = lean_unsigned_to_nat(83u); x_2 = lean_unsigned_to_nat(24u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -15494,7 +15494,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_macro_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(84u); +x_1 = lean_unsigned_to_nat(83u); x_2 = lean_unsigned_to_nat(239u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -15522,7 +15522,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_macro_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(84u); +x_1 = lean_unsigned_to_nat(83u); x_2 = lean_unsigned_to_nat(28u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -15534,7 +15534,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_macro_declRange___c _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(84u); +x_1 = lean_unsigned_to_nat(83u); x_2 = lean_unsigned_to_nat(35u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -17197,7 +17197,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_elab__rules_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(86u); +x_1 = lean_unsigned_to_nat(85u); x_2 = lean_unsigned_to_nat(24u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -17209,7 +17209,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_elab__rules_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(86u); +x_1 = lean_unsigned_to_nat(85u); x_2 = lean_unsigned_to_nat(251u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -17237,7 +17237,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_elab__rules_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(86u); +x_1 = lean_unsigned_to_nat(85u); x_2 = lean_unsigned_to_nat(28u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -17249,7 +17249,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_elab__rules_declRan _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(86u); +x_1 = lean_unsigned_to_nat(85u); x_2 = lean_unsigned_to_nat(40u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18038,7 +18038,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_elab_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(89u); +x_1 = lean_unsigned_to_nat(88u); x_2 = lean_unsigned_to_nat(24u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18050,7 +18050,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_elab_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(89u); +x_1 = lean_unsigned_to_nat(88u); x_2 = lean_unsigned_to_nat(235u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18078,7 +18078,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_elab_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(89u); +x_1 = lean_unsigned_to_nat(88u); x_2 = lean_unsigned_to_nat(28u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18090,7 +18090,7 @@ static lean_object* _init_l___regBuiltin_Lean_Parser_Command_elab_declRange___cl _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(89u); +x_1 = lean_unsigned_to_nat(88u); x_2 = lean_unsigned_to_nat(34u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -18826,7 +18826,6 @@ return x_6; } lean_object* initialize_Init(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Parser_Command(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Parser_Tactic(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Parser_Syntax(uint8_t builtin, lean_object* w) { lean_object * res; @@ -18838,9 +18837,6 @@ lean_dec_ref(res); res = initialize_Lean_Parser_Command(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Parser_Tactic(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_5____closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_5____closed__1(); lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_5____closed__1); l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_5____closed__2 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Syntax___hyg_5____closed__2(); diff --git a/stage0/stdlib/Lean/ParserCompiler.c b/stage0/stdlib/Lean/ParserCompiler.c index 18ae218af1..c77aa9b5d1 100644 --- a/stage0/stdlib/Lean/ParserCompiler.c +++ b/stage0/stdlib/Lean/ParserCompiler.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.ParserCompiler -// Imports: Init Lean.Util.ReplaceExpr Lean.Meta.Basic Lean.Meta.ReduceEval Lean.Meta.WHNF Lean.ParserCompiler.Attribute Lean.Parser.Extension +// Imports: Init Lean.Meta.ReduceEval Lean.KeyedDeclsAttribute Lean.ParserCompiler.Attribute Lean.Parser.Extension #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -37520,10 +37520,8 @@ return x_9; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Util_ReplaceExpr(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Basic(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_ReduceEval(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_WHNF(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_KeyedDeclsAttribute(uint8_t builtin, lean_object*); lean_object* initialize_Lean_ParserCompiler_Attribute(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Parser_Extension(uint8_t builtin, lean_object*); static bool _G_initialized = false; @@ -37534,16 +37532,10 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Util_ReplaceExpr(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Meta_Basic(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Meta_ReduceEval(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_WHNF(builtin, lean_io_mk_world()); +res = initialize_Lean_KeyedDeclsAttribute(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_ParserCompiler_Attribute(builtin, lean_io_mk_world()); diff --git a/stage0/stdlib/Lean/PrettyPrinter/Basic.c b/stage0/stdlib/Lean/PrettyPrinter/Basic.c index f5c449808c..86afa5b7a2 100644 --- a/stage0/stdlib/Lean/PrettyPrinter/Basic.c +++ b/stage0/stdlib/Lean/PrettyPrinter/Basic.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.PrettyPrinter.Basic -// Imports: Init Lean.InternalExceptionId Lean.KeyedDeclsAttribute +// Imports: Init Lean.KeyedDeclsAttribute #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -808,7 +808,6 @@ return x_5; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_InternalExceptionId(uint8_t builtin, lean_object*); lean_object* initialize_Lean_KeyedDeclsAttribute(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_PrettyPrinter_Basic(uint8_t builtin, lean_object* w) { @@ -818,9 +817,6 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_InternalExceptionId(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_KeyedDeclsAttribute(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Basic.c b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Basic.c index cc4bed03b2..a769eee478 100644 --- a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Basic.c +++ b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Basic.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.PrettyPrinter.Delaborator.Basic -// Imports: Init Lean.KeyedDeclsAttribute Lean.ProjFns Lean.Syntax Lean.Meta.Transform Lean.Meta.Match.Match Lean.Elab.Term Lean.Elab.AuxDiscr Lean.PrettyPrinter.Delaborator.Options Lean.PrettyPrinter.Delaborator.SubExpr Lean.PrettyPrinter.Delaborator.TopDownAnalyze +// Imports: Init Lean.Elab.Term Lean.Elab.AuxDiscr Lean.PrettyPrinter.Delaborator.Options Lean.PrettyPrinter.Delaborator.SubExpr Lean.PrettyPrinter.Delaborator.TopDownAnalyze #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -166,6 +166,7 @@ LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabAttribute; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_liftMetaM___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_PrettyPrinter_Delaborator_getUnusedName_bodyUsesSuggestion(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_mkDelabAttribute(lean_object*); +lean_object* l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_mk_ref(lean_object*, lean_object*); lean_object* l_Lean_getPPProofs___boxed(lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delab___closed__2; @@ -224,12 +225,12 @@ static lean_object* l_Lean_PrettyPrinter_Delaborator_mkAppUnexpanderAttribute___ uint8_t l_Lean_getPPAnalyze(lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_mkDelabAttribute___closed__11; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_delab(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_resolveGlobalConstCore___at_Lean_registerInitAttrUnsafe___spec__9(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_instAlternativeDelabM___closed__5; static lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind___closed__16; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delab(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_delabCore___closed__2; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_getOptionsAtCurrPos___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__7(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind___closed__21; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_instMonadQuotationDelabM; lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); @@ -317,7 +318,6 @@ static lean_object* l_Lean_PrettyPrinter_Delaborator_delab___lambda__1___closed_ lean_object* l_Lean_Expr_getAppFn(lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_liftMetaM(lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind___closed__9; -lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__11(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_ReaderT_pure___at_Lean_PrettyPrinter_Delaborator_instMonadQuotationDelabM___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Option_get_x3f___at_Lean_PrettyPrinter_delabCore___spec__2(lean_object*, lean_object*); lean_object* lean_local_ctx_find(lean_object*, lean_object*); @@ -8293,7 +8293,7 @@ lean_object* x_5; lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_5 = l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__7(x_1, x_2, x_3, x_4); +x_5 = l_Lean_resolveGlobalConstCore___at_Lean_registerInitAttrUnsafe___spec__9(x_1, x_2, x_3, x_4); if (lean_obj_tag(x_5) == 0) { lean_object* x_6; @@ -8324,7 +8324,7 @@ x_20 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_20, 0, x_19); x_21 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_21, 0, x_20); -x_22 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__11(x_21, x_2, x_3, x_7); +x_22 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_21, x_2, x_3, x_7); lean_dec(x_3); lean_dec(x_2); return x_22; @@ -8393,7 +8393,7 @@ x_43 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_43, 0, x_42); x_44 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_44, 0, x_43); -x_45 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__11(x_44, x_2, x_3, x_30); +x_45 = l_Lean_throwError___at_Lean_registerInitAttrUnsafe___spec__3(x_44, x_2, x_3, x_30); lean_dec(x_3); lean_dec(x_2); return x_45; @@ -8767,7 +8767,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_PrettyPrinter_delabCore___lambda__1___closed__2; x_2 = l_Lean_PrettyPrinter_delabCore___lambda__1___closed__3; -x_3 = lean_unsigned_to_nat(303u); +x_3 = lean_unsigned_to_nat(298u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lean_PrettyPrinter_delabCore___lambda__1___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -9515,11 +9515,6 @@ return x_4; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_KeyedDeclsAttribute(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_ProjFns(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Syntax(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Transform(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Meta_Match_Match(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Term(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_AuxDiscr(uint8_t builtin, lean_object*); lean_object* initialize_Lean_PrettyPrinter_Delaborator_Options(uint8_t builtin, lean_object*); @@ -9533,21 +9528,6 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_KeyedDeclsAttribute(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_ProjFns(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Syntax(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Meta_Transform(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Meta_Match_Match(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Elab_Term(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c index 6d3fb47d36..311afe9d3a 100644 --- a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c +++ b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c @@ -15,7 +15,6 @@ extern "C" { #endif LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__2___boxed(lean_object**); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_getParamKinds(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__1; lean_object* l_Lean_Level_dec(lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_delabFVar___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -26,7 +25,7 @@ static lean_object* l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___clo static lean_object* l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___closed__8; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__2___closed__5; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__3___closed__2; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withMDataExpr___at_Lean_PrettyPrinter_Delaborator_withMDataOptions___spec__2(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_skippingBinders_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_isRegularApp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -87,7 +86,6 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_descend___at_Lean_PrettyPr static lean_object* l_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___lambda__3___closed__14; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabOfScientific___closed__7; -LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabSigmaCore___lambda__1___closed__1; lean_object* l_Lean_LocalDecl_userName(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withType___at_Lean_PrettyPrinter_Delaborator_delab___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -95,9 +93,8 @@ LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_isRegularApp___lambda_ static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabFVar___closed__4; uint8_t l_Lean_Expr_isMData(lean_object*); static lean_object* l_List_forIn_loop___at_Lean_PrettyPrinter_Delaborator_withMDataOptions___spec__1___closed__1; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_isRegularApp___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__2; static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabProj___closed__1; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabConst___closed__2; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__5___closed__4; @@ -118,6 +115,8 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delabora static lean_object* l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___closed__2; lean_object* l_Lean_getPPAnalysisNamedArg___boxed(lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__10; +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__1; lean_object* l_Lean_Expr_bindingDomain_x21(lean_object*); lean_object* l_Array_append___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -128,6 +127,7 @@ static lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__ static lean_object* l_Lean_PrettyPrinter_Delaborator_delabFVar___closed__3; LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_PrettyPrinter_Delaborator_unresolveNameGlobal_unresolveNameCore___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabPatterns(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__3; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabDIte___closed__2; static lean_object* l_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___lambda__3___closed__3; static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabMData___closed__2; @@ -137,17 +137,19 @@ static lean_object* l_Lean_PrettyPrinter_Delaborator_delabDoElems___closed__2; static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabFVar___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabNameMkNum(lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___closed__1; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withBindingBody___at_Lean_PrettyPrinter_Delaborator_delabLetFun___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___lambda__3___closed__15; +uint8_t l_Lean_Expr_isArrow(lean_object*); lean_object* lean_array_uset(lean_object*, size_t, lean_object*); +static lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__2; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabSort___closed__10; static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabMData___closed__4; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabProjectionApp___closed__2; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabLetE___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_isRegularApp___lambda__4___closed__4; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambda__6___closed__6; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_extract___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabCond___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabDIte___lambda__1___closed__8; @@ -174,7 +176,6 @@ lean_object* lean_environment_find(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withNaryFn___at_Lean_PrettyPrinter_Delaborator_isRegularApp___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_withMDataOptions___spec__3(lean_object*); static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabNameMkStr___closed__3; -LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppFn___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_shouldShowMotive___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabFVar___closed__2; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withBindingBody___at___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabPatterns_usingNamesAux___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -184,7 +185,6 @@ static lean_object* l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___clos LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withBindingBody___at_Lean_PrettyPrinter_Delaborator_delabLetFun___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_tailD___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabConst___spec__1___boxed(lean_object*, lean_object*, lean_object*); -static lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__12___closed__1; lean_object* l_Lean_SubExpr_Pos_pushNaryArg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_withMDataOptions(lean_object*); static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabFVar___closed__8; @@ -207,6 +207,7 @@ static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabOfScienti LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_withMDataOptions___spec__6___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabCond___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabDo(lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabForallBinders___lambda__1(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabNameMkStr___closed__5; lean_object* l_Lean_Syntax_mkScientificLit(lean_object*, lean_object*); lean_object* l_Lean_Expr_appFn_x21(lean_object*); @@ -249,6 +250,7 @@ LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_withMDataOptions___rar lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_getExpr___at_Lean_PrettyPrinter_Delaborator_getExprKind___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_getOptParamDefault_x3f(lean_object*); lean_object* lean_string_utf8_extract(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__12(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabMVar___closed__4; static lean_object* l_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___lambda__3___closed__7; @@ -269,14 +271,13 @@ LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabDo___lambda__1___ lean_object* l_Lean_Expr_appArg_x21(lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabDo___lambda__1___closed__4; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambda__4___closed__3; -lean_object* l_panic___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withEqs_go___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withBindingBody___at_Lean_PrettyPrinter_Delaborator_delabLetFun___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabNamedPattern___closed__2; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabConst___spec__1(size_t, size_t, lean_object*); -LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__6(lean_object*, lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__4(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__2; lean_object* l_Lean_Expr_getRevArg_x21(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__13(lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withMDataExpr___at_Lean_PrettyPrinter_Delaborator_delabMData___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabLam___closed__1; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabDoElems___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -296,7 +297,6 @@ static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabLam___clo LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__7(lean_object*, size_t, size_t, lean_object*); static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabPSigma___closed__3; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabNamedPattern___closed__1; -LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__12(lean_object*); LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_withMDataOptions___spec__12(lean_object*); static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabAppImplicit___closed__1; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_nextExtraPos___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -338,7 +338,6 @@ static lean_object* l_Std_Range_forIn_loop___at_Lean_PrettyPrinter_Delaborator_i LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabDo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabCond(lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabOfScientific___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppArg___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabLam___closed__5; static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabNameMkStr___closed__4; lean_object* l_Lean_MapDeclarationExtension_find_x3f___rarg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -363,7 +362,6 @@ LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabFVar(lean_object* LEAN_EXPORT lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabNamedPattern(lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_PrettyPrinter_Delaborator_withMDataOptions___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__3; static lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withMDataExpr___at_Lean_PrettyPrinter_Delaborator_withMDataOptions___spec__2___rarg___closed__2; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabOfScientific___lambda__2___closed__1; LEAN_EXPORT lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabBinders(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -390,6 +388,7 @@ static lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withNaryArg___at_Le static lean_object* l_Lean_PrettyPrinter_Delaborator_delabOfScientific___lambda__2___closed__2; lean_object* l_Lean_SubExpr_Pos_pushNaryFn(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppArg___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withNaryArg___at_Lean_PrettyPrinter_Delaborator_isRegularApp___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabSigmaCore___lambda__2(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -400,6 +399,7 @@ LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppFnArgs_ LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_withMDataOptions___spec__12___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_hasIdent___boxed(lean_object*, lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__15(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabNameMkStr___closed__1; LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_withMDataOptions___spec__8(lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabSort___closed__14; @@ -422,6 +422,7 @@ static lean_object* l_Lean_PrettyPrinter_Delaborator_delabSort___closed__5; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabDo___closed__1; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__9; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabProjectionApp___closed__1; +LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppFnArgs___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_unresolveNameGlobal___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withNaryArg___at_Lean_PrettyPrinter_Delaborator_isRegularApp___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_unexpandRegularApp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -466,7 +467,6 @@ static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabNamedPatt static lean_object* l_Lean_PrettyPrinter_Delaborator_delabMVar___closed__6; lean_object* l_instInhabited___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(size_t, size_t, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___closed__4; lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabDoElems___lambda__1___closed__1; @@ -489,8 +489,7 @@ static lean_object* l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___clo lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabFVar___closed__1; extern lean_object* l_Lean_PrettyPrinter_Delaborator_delabAttribute; -LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabForall___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_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_descend___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2(lean_object*, lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Nat_repr(lean_object*); static lean_object* l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__1___closed__2; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__1___closed__2; @@ -503,14 +502,13 @@ LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_descend___at_L lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingAux___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_LocalDecl_binderInfo(lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabFVar___closed__4; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__14___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__14___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabSigmaCore___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_skippingBinders_loop___rarg___lambda__1___closed__4; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withBindingBody___at___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_shouldGroupWithNext___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_EXPORT lean_object* l_Lean_throwError___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabOfNat___closed__2; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabDIte___lambda__1___closed__3; -LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__5(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabNameMkStr___closed__6; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppMatch___closed__5; lean_object* l_Lean_Syntax_getId(lean_object*); @@ -521,6 +519,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabSigm LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabForall(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabOfNat___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabMVar___closed__4; +uint8_t l_Array_contains___at_Lean_findField_x3f___spec__1(lean_object*, lean_object*); lean_object* l_Lean_getPPFunBinderTypes___boxed(lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___lambda__3___closed__1; static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabOfNat___closed__6; @@ -590,6 +589,7 @@ static lean_object* l_Lean_PrettyPrinter_Delaborator_delabSort___closed__9; uint8_t l_Array_isEmpty___rarg(lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabCond___lambda__1___closed__3; static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabOfNat___closed__3; +extern lean_object* l_Lean_Meta_Match_instInhabitedDiscrInfo; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabLetFun___lambda__1___closed__5; extern lean_object* l_Lean_instInhabitedSyntax; uint8_t l_Lean_Expr_isConstOf(lean_object*, lean_object*); @@ -616,7 +616,6 @@ lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, le static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabOfNat___closed__7; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_descend___at___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_shouldGroupWithNext___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabOfNat___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__3(lean_object*, lean_object*, size_t, size_t); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabNameMkStr___lambda__1___closed__3; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withBindingBody___at___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_skippingBinders_loop_visitLambda___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isForall(lean_object*); @@ -637,6 +636,7 @@ LEAN_EXPORT lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__ LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabLam(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__2___closed__3; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabBVar___closed__2; +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabAppImplicit___closed__3; uint8_t l_Lean_Expr_isAutoParam(lean_object*); static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabSigma___closed__3; @@ -647,7 +647,6 @@ static lean_object* l_Lean_PrettyPrinter_Delaborator_delabSigmaCore___lambda__1_ LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at_Lean_PrettyPrinter_Delaborator_delabLetE___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabFVar(lean_object*); lean_object* l_Lean_PrettyPrinter_Delaborator_withBindingBodyUnusedName___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabLetFun___lambda__1___closed__7; static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabLam___closed__3; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambda__4___closed__4; @@ -692,8 +691,8 @@ lean_object* l_Lean_PrettyPrinter_Delaborator_delab(lean_object*, lean_object*, LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppArg___at_Lean_PrettyPrinter_Delaborator_delabAppExplicit___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_PrettyPrinter_Delaborator_getParamKinds_forallTelescopeArgs___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabDoElems(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -uint8_t l_Array_contains___at___private_Lean_Meta_Match_Value_0__Lean_Meta_isUIntTypeName___spec__1(lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabDIte___lambda__1___closed__7; +LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabSigmaCore___lambda__1___closed__5; static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabFVar___closed__10; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabBVar___closed__1; @@ -726,7 +725,6 @@ LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_unresolveNameGlobal___ static lean_object* l_Lean_PrettyPrinter_Delaborator_delabDoElems___lambda__3___closed__3; lean_object* l_Lean_Syntax_getNumArgs(lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_getParamKinds___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppFnArgs___at_Lean_PrettyPrinter_Delaborator_delabAppImplicit___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_descend___at_Lean_PrettyPrinter_Delaborator_delabDIte___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -749,6 +747,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_PrettyPri static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabOfNat___closed__5; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabLetFun___lambda__1___closed__9; uint8_t lean_nat_dec_le(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabSort___closed__13; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -792,6 +791,8 @@ LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_AppMatchState_rhss___d LEAN_EXPORT lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabDIte(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabBinders___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_delabMData___spec__12(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_descend___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__13___closed__1; lean_object* l_Lean_KVMap_insertCore(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_unresolveNameGlobal_unresolveNameCore___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_delabMData___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -799,6 +800,7 @@ static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabNameMkNum LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabLetFun(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_getPPMotivesAll(lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabLit(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__5(lean_object*); lean_object* l_Lean_getPPMatch___boxed(lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabLetE___closed__2; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabOfScientific___lambda__1___closed__2; @@ -807,7 +809,6 @@ static lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__ LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppFn___at_Lean_PrettyPrinter_Delaborator_delabAppExplicit___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabOfScientific___lambda__1(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_descend___at___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabPatterns_usingNamesAux___spec__2(lean_object*); -LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppFnArgs___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabLetE(lean_object*); lean_object* l_Lean_getPPStructureInstances___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppMatch(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -818,6 +819,7 @@ LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_nextExtraPos__ lean_object* l_Lean_getPPUniverses___boxed(lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabSigmaCore___lambda__1___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabPSigma(lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabForallBinders___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_ofSubarray___rarg(lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabProj___closed__2; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabBVar___closed__3; @@ -911,7 +913,7 @@ LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppArg___a static lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambda__6___closed__9; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_getParamKinds_forallTelescopeArgs___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_ReaderT_instMonadReaderT___rarg(lean_object*); -LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__3(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_lengthTRAux___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_PrettyPrinter_Delaborator_getParamKinds_forallTelescopeArgs___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -930,7 +932,6 @@ LEAN_EXPORT lean_object* l_Array_mapIdxM_map___at___private_Lean_PrettyPrinter_D LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_lambdaTelescope___at_Lean_PrettyPrinter_Delaborator_returnsPi___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_PrettyPrinter_Delaborator_delabAppExplicit___spec__1(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__13(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabDoElems___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabForall___closed__3; LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_withMDataOptions___spec__11___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -961,11 +962,12 @@ LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withBindingBod static lean_object* l_Lean_PrettyPrinter_Delaborator_isRegularApp___lambda__4___closed__2; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1___closed__3; lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLetDeclImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabForallBinders(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_isRegularApp___lambda__4___closed__1; static lean_object* l_Lean_getConstInfo___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__2___closed__1; static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabLit___closed__1; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_isRegularApp___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabForall___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*); uint8_t l_Lean_getPPMotivesPi(lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabDo___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -983,7 +985,6 @@ LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_PrettyPrinter_Delaborator_dela LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabProj(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2___closed__2; uint8_t l_Lean_getPPPiBinderTypes(lean_object*); -LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withProj___at_Lean_PrettyPrinter_Delaborator_delabProj___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_bindingBody_x21(lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___closed__1; @@ -994,6 +995,7 @@ LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_withMDataOp static lean_object* l_Std_Range_forIn_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__2___closed__2; LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_withMDataOptions___spec__11(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_PrettyPrinter_Delaborator_getParamKinds_forallTelescopeArgs___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppFn___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_isConstructorApp_x3f(lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1___closed__2; @@ -1007,13 +1009,14 @@ static lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambda__6__ lean_object* l_Lean_Name_replacePrefix(lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__2___closed__4; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabDoElems___lambda__6___closed__1; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10(size_t, size_t, lean_object*); static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabBVar___closed__4; lean_object* l_Lean_PrettyPrinter_Delaborator_getPPOption(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getPPPrivateNames___boxed(lean_object*); static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabOfScientific___closed__1; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_isRegularApp___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__3(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_withMDatasOptions___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_delabMData___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___closed__3; @@ -1027,7 +1030,6 @@ static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabMData___c static lean_object* l_Lean_PrettyPrinter_Delaborator_isRegularApp___lambda__3___closed__1; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabConst___closed__9; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabConst___closed__8; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabForall___closed__5; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_unresolveNameGlobal___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_delabProj___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1054,6 +1056,7 @@ static lean_object* l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___clo LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_AppMatchState_motive___default; uint8_t l_Lean_Syntax_isIdent(lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabForallBinders___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__4(lean_object*); static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___closed__1() { _start: @@ -13847,7 +13850,7 @@ lean_dec(x_11); x_14 = l_Lean_Expr_bindingName_x21(x_12); lean_dec(x_12); x_15 = lean_erase_macro_scopes(x_14); -x_16 = l_Array_contains___at___private_Lean_Meta_Match_Value_0__Lean_Meta_isUIntTypeName___spec__1(x_3, x_15); +x_16 = l_Array_contains___at_Lean_findField_x3f___spec__1(x_3, x_15); if (x_16 == 0) { lean_object* x_17; lean_object* x_18; @@ -14176,7 +14179,16 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Meta_lambdaTelescope___at_Lean_PrettyPri return x_2; } } -LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_descend___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__5(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = l_Lean_Meta_Match_instInhabitedDiscrInfo; +x_3 = lean_panic_fn(x_2, x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_descend___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { uint8_t x_11; @@ -14232,7 +14244,7 @@ return x_27; } } } -LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppFn___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___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_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppFn___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _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; @@ -14245,11 +14257,11 @@ lean_dec(x_9); x_12 = l_Lean_Expr_appFn_x21(x_10); lean_dec(x_10); x_13 = lean_unsigned_to_nat(0u); -x_14 = l_Lean_PrettyPrinter_Delaborator_SubExpr_descend___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__7(x_12, x_13, x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_11); +x_14 = l_Lean_PrettyPrinter_Delaborator_SubExpr_descend___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__8(x_12, x_13, x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_11); return x_14; } } -LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppArg___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppArg___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _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; @@ -14262,11 +14274,11 @@ lean_dec(x_9); x_12 = l_Lean_Expr_appArg_x21(x_10); lean_dec(x_10); x_13 = lean_unsigned_to_nat(1u); -x_14 = l_Lean_PrettyPrinter_Delaborator_SubExpr_descend___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__7(x_12, x_13, x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_11); +x_14 = l_Lean_PrettyPrinter_Delaborator_SubExpr_descend___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__8(x_12, x_13, x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_11); return x_14; } } -LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppFnArgs___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___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_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppFnArgs___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___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) { _start: { lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; @@ -14289,7 +14301,7 @@ else { lean_object* x_15; lean_object* x_16; lean_inc(x_2); -x_15 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppFnArgs___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__5), 9, 2); +x_15 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppFnArgs___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__6), 9, 2); lean_closure_set(x_15, 0, x_1); lean_closure_set(x_15, 1, x_2); lean_inc(x_8); @@ -14298,7 +14310,7 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -x_16 = l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppFn___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__6(x_15, x_3, x_4, x_5, x_6, x_7, x_8, x_12); +x_16 = l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppFn___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__7(x_15, x_3, x_4, x_5, x_6, x_7, x_8, x_12); if (lean_obj_tag(x_16) == 0) { lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; @@ -14308,7 +14320,7 @@ x_18 = lean_ctor_get(x_16, 1); lean_inc(x_18); lean_dec(x_16); x_19 = lean_apply_1(x_2, x_17); -x_20 = l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppArg___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__8(x_19, x_3, x_4, x_5, x_6, x_7, x_8, x_18); +x_20 = l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppArg___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(x_19, x_3, x_4, x_5, x_6, x_7, x_8, x_18); return x_20; } else @@ -14343,7 +14355,7 @@ return x_24; } } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(size_t x_1, size_t x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10(size_t x_1, size_t x_2, lean_object* x_3) { _start: { uint8_t x_4; @@ -14367,7 +14379,7 @@ goto _start; } } } -static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__1() { +static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__1() { _start: { lean_object* x_1; @@ -14375,7 +14387,7 @@ x_1 = lean_mk_string_from_bytes("matchAlt", 8); return x_1; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__2() { +static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__2() { _start: { lean_object* x_1; @@ -14383,7 +14395,7 @@ x_1 = lean_mk_string_from_bytes("|", 1); return x_1; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__3() { +static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__3() { _start: { lean_object* x_1; @@ -14391,7 +14403,7 @@ x_1 = lean_mk_string_from_bytes("=>", 2); return x_1; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, size_t x_6, size_t x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, size_t x_6, size_t x_7, lean_object* x_8) { _start: { uint8_t x_9; @@ -14418,10 +14430,10 @@ lean_inc(x_15); x_16 = lean_ctor_get(x_10, 1); lean_inc(x_16); lean_dec(x_10); -x_17 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__1; +x_17 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__1; lean_inc(x_2); x_18 = l_Lean_Name_str___override(x_2, x_17); -x_19 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__2; +x_19 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__2; lean_inc(x_1); x_20 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_20, 0, x_1); @@ -14445,7 +14457,7 @@ x_26 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_26, 0, x_1); lean_ctor_set(x_26, 1, x_3); lean_ctor_set(x_26, 2, x_25); -x_27 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__3; +x_27 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__3; lean_inc(x_1); x_28 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_28, 0, x_1); @@ -14467,7 +14479,7 @@ goto _start; } } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___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, size_t x_7, size_t x_8, lean_object* x_9) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__12(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, size_t x_7, size_t x_8, lean_object* x_9) { _start: { uint8_t x_10; @@ -14495,10 +14507,10 @@ lean_inc(x_16); x_17 = lean_ctor_get(x_11, 1); lean_inc(x_17); lean_dec(x_11); -x_18 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__1; +x_18 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__1; lean_inc(x_2); x_19 = l_Lean_Name_str___override(x_2, x_18); -x_20 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__2; +x_20 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__2; lean_inc(x_1); x_21 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_21, 0, x_1); @@ -14522,7 +14534,7 @@ x_26 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_26, 0, x_1); lean_ctor_set(x_26, 1, x_3); lean_ctor_set(x_26, 2, x_25); -x_27 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__3; +x_27 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__3; lean_inc(x_1); x_28 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_28, 0, x_1); @@ -14544,7 +14556,7 @@ goto _start; } } } -static lean_object* _init_l_panic___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__12___closed__1() { +static lean_object* _init_l_panic___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__13___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -14556,16 +14568,16 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__12(lean_object* x_1) { +LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__13(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; -x_2 = l_panic___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__12___closed__1; +x_2 = l_panic___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__13___closed__1; x_3 = lean_panic_fn(x_2, x_1); return x_3; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__13(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, size_t x_6, size_t x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__14(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, size_t x_6, size_t x_7, lean_object* x_8) { _start: { uint8_t x_9; @@ -14592,10 +14604,10 @@ lean_inc(x_15); x_16 = lean_ctor_get(x_10, 1); lean_inc(x_16); lean_dec(x_10); -x_17 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__1; +x_17 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__1; lean_inc(x_2); x_18 = l_Lean_Name_str___override(x_2, x_17); -x_19 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__2; +x_19 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__2; lean_inc(x_1); x_20 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_20, 0, x_1); @@ -14619,7 +14631,7 @@ x_26 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_26, 0, x_1); lean_ctor_set(x_26, 1, x_3); lean_ctor_set(x_26, 2, x_25); -x_27 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__3; +x_27 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__3; lean_inc(x_1); x_28 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_28, 0, x_1); @@ -14641,7 +14653,7 @@ goto _start; } } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__14(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, size_t x_7, size_t x_8, lean_object* x_9) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__15(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, size_t x_7, size_t x_8, lean_object* x_9) { _start: { uint8_t x_10; @@ -14669,10 +14681,10 @@ lean_inc(x_16); x_17 = lean_ctor_get(x_11, 1); lean_inc(x_17); lean_dec(x_11); -x_18 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__1; +x_18 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__1; lean_inc(x_2); x_19 = l_Lean_Name_str___override(x_2, x_18); -x_20 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__2; +x_20 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__2; lean_inc(x_1); x_21 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_21, 0, x_1); @@ -14696,7 +14708,7 @@ x_26 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_26, 0, x_1); lean_ctor_set(x_26, 1, x_3); lean_ctor_set(x_26, 2, x_25); -x_27 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__3; +x_27 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__3; lean_inc(x_1); x_28 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_28, 0, x_1); @@ -15636,7 +15648,7 @@ lean_object* x_205; lean_object* x_206; lean_dec(x_202); lean_dec(x_93); x_205 = l_Lean_PrettyPrinter_Delaborator_SubExpr_withNaryArg___at_Lean_PrettyPrinter_Delaborator_isRegularApp___spec__2___closed__4; -x_206 = l_panic___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withEqs_go___spec__1(x_205); +x_206 = l_panic___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__5(x_205); x_139 = x_206; goto block_201; } @@ -16113,7 +16125,7 @@ if (lean_obj_tag(x_133) == 0) { lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; x_134 = l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambda__6___closed__10; -x_135 = l_panic___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__12(x_134); +x_135 = l_panic___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__13(x_134); x_136 = lean_ctor_get(x_135, 0); lean_inc(x_136); x_137 = lean_ctor_get(x_135, 1); @@ -16238,7 +16250,7 @@ x_35 = lean_array_get_size(x_10); x_36 = lean_usize_of_nat(x_35); lean_dec(x_35); x_37 = 0; -x_38 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(x_36, x_37, x_10); +x_38 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10(x_36, x_37, x_10); x_39 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__12; x_40 = l_Lean_mkSepArray(x_38, x_39); lean_dec(x_38); @@ -16261,7 +16273,7 @@ x_47 = lean_usize_of_nat(x_46); lean_dec(x_46); x_48 = l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___closed__7; lean_inc(x_28); -x_49 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10(x_28, x_48, x_32, x_33, x_39, x_47, x_37, x_45); +x_49 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11(x_28, x_48, x_32, x_33, x_39, x_47, x_37, x_45); x_50 = l_Array_append___rarg(x_33, x_49); lean_inc(x_28); x_51 = lean_alloc_ctor(1, 3, 0); @@ -16363,7 +16375,7 @@ x_93 = lean_array_get_size(x_10); x_94 = lean_usize_of_nat(x_93); lean_dec(x_93); x_95 = 0; -x_96 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(x_94, x_95, x_10); +x_96 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10(x_94, x_95, x_10); x_97 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__12; x_98 = l_Lean_mkSepArray(x_96, x_97); lean_dec(x_96); @@ -16386,7 +16398,7 @@ x_105 = lean_usize_of_nat(x_104); lean_dec(x_104); x_106 = l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___closed__7; lean_inc(x_67); -x_107 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11(x_67, x_106, x_71, x_72, x_90, x_97, x_105, x_95, x_103); +x_107 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__12(x_67, x_106, x_71, x_72, x_90, x_97, x_105, x_95, x_103); x_108 = l_Array_append___rarg(x_72, x_107); lean_inc(x_67); x_109 = lean_alloc_ctor(1, 3, 0); @@ -16504,7 +16516,7 @@ if (lean_obj_tag(x_264) == 0) { lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; x_265 = l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambda__6___closed__10; -x_266 = l_panic___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__12(x_265); +x_266 = l_panic___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__13(x_265); x_267 = lean_ctor_get(x_266, 0); lean_inc(x_267); x_268 = lean_ctor_get(x_266, 1); @@ -16629,7 +16641,7 @@ x_166 = lean_array_get_size(x_10); x_167 = lean_usize_of_nat(x_166); lean_dec(x_166); x_168 = 0; -x_169 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(x_167, x_168, x_10); +x_169 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10(x_167, x_168, x_10); x_170 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__12; x_171 = l_Lean_mkSepArray(x_169, x_170); lean_dec(x_169); @@ -16652,7 +16664,7 @@ x_178 = lean_usize_of_nat(x_177); lean_dec(x_177); x_179 = l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___closed__7; lean_inc(x_159); -x_180 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__13(x_159, x_179, x_163, x_164, x_170, x_178, x_168, x_176); +x_180 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__14(x_159, x_179, x_163, x_164, x_170, x_178, x_168, x_176); x_181 = l_Array_append___rarg(x_164, x_180); lean_inc(x_159); x_182 = lean_alloc_ctor(1, 3, 0); @@ -16754,7 +16766,7 @@ x_224 = lean_array_get_size(x_10); x_225 = lean_usize_of_nat(x_224); lean_dec(x_224); x_226 = 0; -x_227 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9(x_225, x_226, x_10); +x_227 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10(x_225, x_226, x_10); x_228 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__12; x_229 = l_Lean_mkSepArray(x_227, x_228); lean_dec(x_227); @@ -16777,7 +16789,7 @@ x_236 = lean_usize_of_nat(x_235); lean_dec(x_235); x_237 = l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___closed__7; lean_inc(x_198); -x_238 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__14(x_198, x_237, x_202, x_203, x_221, x_228, x_236, x_226, x_234); +x_238 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__15(x_198, x_237, x_202, x_203, x_221, x_228, x_236, x_226, x_234); x_239 = l_Array_append___rarg(x_203, x_238); lean_inc(x_198); x_240 = lean_alloc_ctor(1, 3, 0); @@ -17077,7 +17089,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 = l_Lean_PrettyPrinter_Delaborator_delabAppMatch___closed__3; x_9 = l_Lean_PrettyPrinter_Delaborator_delabAppMatch___closed__4; -x_10 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppFnArgs___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__5), 9, 2); +x_10 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppFnArgs___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__6), 9, 2); lean_closure_set(x_10, 0, x_8); lean_closure_set(x_10, 1, x_9); x_11 = l_Lean_PrettyPrinter_Delaborator_delabAppMatch___closed__5; @@ -17135,7 +17147,7 @@ lean_dec(x_2); return x_9; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__9___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___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; @@ -17143,11 +17155,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_PrettyPrinter_Delaborator_delabAppMatch___spec__9(x_4, x_5, x_3); +x_6 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10(x_4, x_5, x_3); return x_6; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___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_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { size_t x_9; size_t x_10; lean_object* x_11; @@ -17155,11 +17167,11 @@ x_9 = lean_unbox_usize(x_6); lean_dec(x_6); x_10 = lean_unbox_usize(x_7); lean_dec(x_7); -x_11 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10(x_1, x_2, x_3, x_4, x_5, x_9, x_10, x_8); +x_11 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11(x_1, x_2, x_3, x_4, x_5, x_9, x_10, x_8); return x_11; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__12___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { size_t x_10; size_t x_11; lean_object* x_12; @@ -17167,11 +17179,11 @@ x_10 = lean_unbox_usize(x_7); lean_dec(x_7); x_11 = lean_unbox_usize(x_8); lean_dec(x_8); -x_12 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11(x_1, x_2, x_3, x_4, x_5, x_6, x_10, x_11, x_9); +x_12 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__12(x_1, x_2, x_3, x_4, x_5, x_6, x_10, x_11, x_9); return x_12; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__13___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__14___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { size_t x_9; size_t x_10; lean_object* x_11; @@ -17179,11 +17191,11 @@ x_9 = lean_unbox_usize(x_6); lean_dec(x_6); x_10 = lean_unbox_usize(x_7); lean_dec(x_7); -x_11 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__13(x_1, x_2, x_3, x_4, x_5, x_9, x_10, x_8); +x_11 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__14(x_1, x_2, x_3, x_4, x_5, x_9, x_10, x_8); return x_11; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__14___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__15___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { size_t x_10; size_t x_11; lean_object* x_12; @@ -17191,7 +17203,7 @@ x_10 = lean_unbox_usize(x_7); lean_dec(x_7); x_11 = lean_unbox_usize(x_8); lean_dec(x_8); -x_12 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__14(x_1, x_2, x_3, x_4, x_5, x_6, x_10, x_11, x_9); +x_12 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__15(x_1, x_2, x_3, x_4, x_5, x_6, x_10, x_11, x_9); return x_12; } } @@ -20178,7 +20190,7 @@ x_22 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_22, 0, x_14); lean_ctor_set(x_22, 1, x_19); lean_ctor_set(x_22, 2, x_21); -x_23 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__3; +x_23 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__3; lean_inc(x_14); x_24 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_24, 0, x_14); @@ -20231,7 +20243,7 @@ x_45 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_45, 0, x_36); lean_ctor_set(x_45, 1, x_42); lean_ctor_set(x_45, 2, x_44); -x_46 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__3; +x_46 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__3; lean_inc(x_36); x_47 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_47, 0, x_36); @@ -20297,7 +20309,7 @@ x_74 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_74, 0, x_66); lean_ctor_set(x_74, 1, x_71); lean_ctor_set(x_74, 2, x_73); -x_75 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__3; +x_75 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__3; lean_inc(x_66); x_76 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_76, 0, x_66); @@ -20349,7 +20361,7 @@ x_96 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_96, 0, x_87); lean_ctor_set(x_96, 1, x_93); lean_ctor_set(x_96, 2, x_95); -x_97 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__3; +x_97 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__3; lean_inc(x_87); x_98 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_98, 0, x_87); @@ -20414,7 +20426,7 @@ x_124 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_124, 0, x_116); lean_ctor_set(x_124, 1, x_121); lean_ctor_set(x_124, 2, x_123); -x_125 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__3; +x_125 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__3; lean_inc(x_116); x_126 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_126, 0, x_116); @@ -20466,7 +20478,7 @@ x_146 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_146, 0, x_137); lean_ctor_set(x_146, 1, x_143); lean_ctor_set(x_146, 2, x_145); -x_147 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__3; +x_147 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__3; lean_inc(x_137); x_148 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_148, 0, x_137); @@ -20529,7 +20541,7 @@ x_174 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_174, 0, x_165); lean_ctor_set(x_174, 1, x_171); lean_ctor_set(x_174, 2, x_173); -x_175 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__3; +x_175 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__3; lean_inc(x_165); x_176 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_176, 0, x_165); @@ -20582,7 +20594,7 @@ x_197 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_197, 0, x_187); lean_ctor_set(x_197, 1, x_194); lean_ctor_set(x_197, 2, x_196); -x_198 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__3; +x_198 = l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__3; lean_inc(x_187); x_199 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_199, 0, x_187); @@ -21682,6 +21694,331 @@ x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } +LEAN_EXPORT lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabForallBinders___lambda__1(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, 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_array_push(x_1, x_4); +x_13 = l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabForallBinders(x_2, x_12, x_3, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +return x_13; +} +} +LEAN_EXPORT lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabForallBinders(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; uint8_t x_15; uint8_t x_16; +x_11 = l_Lean_PrettyPrinter_Delaborator_SubExpr_getExpr___at_Lean_PrettyPrinter_Delaborator_getExprKind___spec__1(x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_11, 1); +lean_inc(x_13); +lean_dec(x_11); +x_14 = l_Lean_Expr_isArrow(x_12); +lean_dec(x_12); +x_15 = l_Array_isEmpty___rarg(x_2); +if (x_14 == 0) +{ +uint8_t x_66; +x_66 = 1; +x_16 = x_66; +goto block_65; +} +else +{ +uint8_t x_67; +x_67 = 0; +x_16 = x_67; +goto block_65; +} +block_65: +{ +lean_object* x_17; +if (x_15 == 0) +{ +if (x_16 == 0) +{ +if (x_3 == 0) +{ +lean_object* x_44; +x_44 = lean_box(0); +x_17 = x_44; +goto block_43; +} +else +{ +lean_object* x_45; +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_PrettyPrinter_Delaborator_delab(x_4, x_5, x_6, x_7, x_8, x_9, x_13); +if (lean_obj_tag(x_45) == 0) +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_46 = lean_ctor_get(x_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(x_3); +x_49 = lean_apply_10(x_1, x_2, x_48, x_46, x_4, x_5, x_6, x_7, x_8, x_9, x_47); +return x_49; +} +else +{ +uint8_t x_50; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_50 = !lean_is_exclusive(x_45); +if (x_50 == 0) +{ +return x_45; +} +else +{ +lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_51 = lean_ctor_get(x_45, 0); +x_52 = lean_ctor_get(x_45, 1); +lean_inc(x_52); +lean_inc(x_51); +lean_dec(x_45); +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 +{ +if (x_3 == 0) +{ +lean_object* x_54; +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_54 = l_Lean_PrettyPrinter_Delaborator_delab(x_4, x_5, x_6, x_7, x_8, x_9, x_13); +if (lean_obj_tag(x_54) == 0) +{ +lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; +x_55 = lean_ctor_get(x_54, 0); +lean_inc(x_55); +x_56 = lean_ctor_get(x_54, 1); +lean_inc(x_56); +lean_dec(x_54); +x_57 = lean_box(x_3); +x_58 = lean_apply_10(x_1, x_2, x_57, x_55, x_4, x_5, x_6, x_7, x_8, x_9, x_56); +return x_58; +} +else +{ +uint8_t x_59; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_59 = !lean_is_exclusive(x_54); +if (x_59 == 0) +{ +return x_54; +} +else +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; +x_60 = lean_ctor_get(x_54, 0); +x_61 = lean_ctor_get(x_54, 1); +lean_inc(x_61); +lean_inc(x_60); +lean_dec(x_54); +x_62 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_62, 0, x_60); +lean_ctor_set(x_62, 1, x_61); +return x_62; +} +} +} +else +{ +lean_object* x_63; +x_63 = lean_box(0); +x_17 = x_63; +goto block_43; +} +} +} +else +{ +lean_object* x_64; +x_64 = lean_box(0); +x_17 = x_64; +goto block_43; +} +block_43: +{ +lean_object* x_18; +lean_dec(x_17); +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_18 = l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_shouldGroupWithNext(x_4, x_5, x_6, x_7, x_8, x_9, x_13); +if (lean_obj_tag(x_18) == 0) +{ +lean_object* x_19; uint8_t x_20; +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_unbox(x_19); +lean_dec(x_19); +if (x_20 == 0) +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_18, 1); +lean_inc(x_21); +lean_dec(x_18); +x_22 = l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabBinders___closed__1; +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_23 = l_Lean_PrettyPrinter_Delaborator_withBindingBodyUnusedName___rarg(x_22, x_4, x_5, x_6, x_7, x_8, x_9, 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; lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_24 = lean_ctor_get(x_23, 0); +lean_inc(x_24); +x_25 = lean_ctor_get(x_23, 1); +lean_inc(x_25); +lean_dec(x_23); +x_26 = lean_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_28 = lean_array_push(x_2, x_27); +x_29 = lean_box(x_16); +x_30 = lean_apply_10(x_1, x_28, x_29, x_26, x_4, x_5, x_6, x_7, x_8, x_9, x_25); +return x_30; +} +else +{ +uint8_t x_31; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_31 = !lean_is_exclusive(x_23); +if (x_31 == 0) +{ +return x_23; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_23, 0); +x_33 = lean_ctor_get(x_23, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_23); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; +} +} +} +else +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_35 = lean_ctor_get(x_18, 1); +lean_inc(x_35); +lean_dec(x_18); +x_36 = lean_box(x_16); +x_37 = lean_alloc_closure((void*)(l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabForallBinders___lambda__1___boxed), 11, 3); +lean_closure_set(x_37, 0, x_2); +lean_closure_set(x_37, 1, x_1); +lean_closure_set(x_37, 2, x_36); +x_38 = l_Lean_PrettyPrinter_Delaborator_withBindingBodyUnusedName___rarg(x_37, x_4, x_5, x_6, x_7, x_8, x_9, x_35); +return x_38; +} +} +else +{ +uint8_t x_39; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_39 = !lean_is_exclusive(x_18); +if (x_39 == 0) +{ +return x_18; +} +else +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_40 = lean_ctor_get(x_18, 0); +x_41 = lean_ctor_get(x_18, 1); +lean_inc(x_41); +lean_inc(x_40); +lean_dec(x_18); +x_42 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_42, 0, x_40); +lean_ctor_set(x_42, 1, x_41); +return x_42; +} +} +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabForallBinders___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: +{ +uint8_t x_12; lean_object* x_13; +x_12 = lean_unbox(x_3); +lean_dec(x_3); +x_13 = l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabForallBinders___lambda__1(x_1, x_2, x_12, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +return x_13; +} +} +LEAN_EXPORT lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabForallBinders___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, 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_3); +lean_dec(x_3); +x_12 = l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabForallBinders(x_1, x_2, x_11, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +return x_12; +} +} static lean_object* _init_l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__1___closed__1() { _start: { @@ -21806,42 +22143,52 @@ return x_28; } } } -LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__3(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) { +LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__3(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { -uint8_t x_5; -x_5 = lean_usize_dec_eq(x_3, x_4); -if (x_5 == 0) +uint8_t x_13; +x_13 = lean_usize_dec_eq(x_3, x_4); +if (x_13 == 0) { -lean_object* x_6; lean_object* x_7; uint8_t x_8; -x_6 = lean_array_uget(x_2, x_3); -x_7 = l_Lean_Syntax_getId(x_6); -lean_dec(x_6); +size_t 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_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_14 = 1; +x_15 = lean_usize_sub(x_3, x_14); +lean_inc(x_10); +x_16 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__3___rarg(x_10, x_11, x_12); +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +x_19 = l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__1___closed__3; +lean_inc(x_17); +x_20 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_20, 0, x_17); +lean_ctor_set(x_20, 1, x_19); +x_21 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__10; lean_inc(x_1); -x_8 = l_Lean_PrettyPrinter_Delaborator_hasIdent(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 = lean_usize_add(x_3, x_9); -x_3 = x_10; +x_22 = lean_array_push(x_21, x_1); +x_23 = lean_array_push(x_22, x_20); +x_24 = lean_array_push(x_23, x_5); +x_25 = l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__1___closed__2; +x_26 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_26, 0, x_17); +lean_ctor_set(x_26, 1, x_25); +lean_ctor_set(x_26, 2, x_24); +x_3 = x_15; +x_5 = x_26; +x_12 = x_18; goto _start; } else { -uint8_t x_12; +lean_object* x_28; +lean_dec(x_10); lean_dec(x_1); -x_12 = 1; -return x_12; -} -} -else -{ -uint8_t x_13; -lean_dec(x_1); -x_13 = 0; -return x_13; +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_5); +lean_ctor_set(x_28, 1, x_12); +return x_28; } } } @@ -21894,94 +22241,6 @@ return x_28; } } } -LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__5(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -uint8_t x_13; -x_13 = lean_usize_dec_eq(x_3, x_4); -if (x_13 == 0) -{ -size_t 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_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_14 = 1; -x_15 = lean_usize_sub(x_3, x_14); -lean_inc(x_10); -x_16 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__3___rarg(x_10, x_11, x_12); -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -x_19 = l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__1___closed__3; -lean_inc(x_17); -x_20 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_20, 0, x_17); -lean_ctor_set(x_20, 1, x_19); -x_21 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__10; -lean_inc(x_1); -x_22 = lean_array_push(x_21, x_1); -x_23 = lean_array_push(x_22, x_20); -x_24 = lean_array_push(x_23, x_5); -x_25 = l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__1___closed__2; -x_26 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_26, 0, x_17); -lean_ctor_set(x_26, 1, x_25); -lean_ctor_set(x_26, 2, x_24); -x_3 = x_15; -x_5 = x_26; -x_12 = x_18; -goto _start; -} -else -{ -lean_object* x_28; -lean_dec(x_10); -lean_dec(x_1); -x_28 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_28, 0, x_5); -lean_ctor_set(x_28, 1, x_12); -return x_28; -} -} -} -LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__6(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) { -_start: -{ -uint8_t x_5; -x_5 = lean_usize_dec_eq(x_3, x_4); -if (x_5 == 0) -{ -lean_object* x_6; lean_object* x_7; uint8_t x_8; -x_6 = lean_array_uget(x_2, x_3); -x_7 = l_Lean_Syntax_getId(x_6); -lean_dec(x_6); -lean_inc(x_1); -x_8 = l_Lean_PrettyPrinter_Delaborator_hasIdent(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 = lean_usize_add(x_3, x_9); -x_3 = x_10; -goto _start; -} -else -{ -uint8_t x_12; -lean_dec(x_1); -x_12 = 1; -return x_12; -} -} -else -{ -uint8_t x_13; -lean_dec(x_1); -x_13 = 0; -return x_13; -} -} -} static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1___closed__1() { _start: { @@ -22418,1101 +22677,1834 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, uint8_t x_5, lean_object* x_6, lean_object* x_7, lean_object* 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; -x_12 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__2; +lean_object* x_13; lean_object* x_14; +x_13 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__2; +lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -lean_inc(x_5); -x_13 = l_Lean_PrettyPrinter_Delaborator_SubExpr_withBindingDomain___at_Lean_PrettyPrinter_Delaborator_delabLetFun___spec__3(x_12, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_13) == 0) +x_14 = l_Lean_PrettyPrinter_Delaborator_SubExpr_withBindingDomain___at_Lean_PrettyPrinter_Delaborator_delabLetFun___spec__3(x_13, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +if (lean_obj_tag(x_14) == 0) { -lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; -x_14 = lean_ctor_get(x_13, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_13, 1); -lean_inc(x_15); -if (lean_is_exclusive(x_13)) { - lean_ctor_release(x_13, 0); - lean_ctor_release(x_13, 1); - x_16 = x_13; -} else { - lean_dec_ref(x_13); - x_16 = lean_box(0); -} -x_17 = l_Lean_Expr_binderInfo(x_2); +uint8_t x_15; +x_15 = !lean_is_exclusive(x_14); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; uint8_t x_18; +x_16 = lean_ctor_get(x_14, 0); +x_17 = lean_ctor_get(x_14, 1); +x_18 = l_Lean_Expr_binderInfo(x_2); lean_dec(x_2); -switch (x_17) { +switch (x_18) { case 0: { -lean_object* x_18; lean_object* x_19; lean_object* x_42; uint8_t x_43; -x_18 = lean_array_get_size(x_3); -x_42 = lean_unsigned_to_nat(0u); -x_43 = lean_nat_dec_lt(x_42, x_18); -if (x_43 == 0) +if (x_3 == 0) { -lean_object* x_44; -x_44 = lean_box(0); -x_19 = x_44; -goto block_41; -} -else -{ -uint8_t x_45; -x_45 = lean_nat_dec_le(x_18, x_18); -if (x_45 == 0) -{ -lean_object* x_46; -x_46 = lean_box(0); -x_19 = x_46; -goto block_41; -} -else -{ -size_t x_47; size_t x_48; uint8_t x_49; -x_47 = 0; -x_48 = lean_usize_of_nat(x_18); -lean_inc(x_1); -x_49 = l_Array_anyMUnsafe_any___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__3(x_1, x_3, x_47, x_48); -if (x_49 == 0) -{ -lean_object* x_50; -x_50 = lean_box(0); -x_19 = x_50; -goto block_41; -} -else -{ -lean_object* x_51; lean_object* x_52; -lean_dec(x_18); -lean_dec(x_16); -x_51 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2___closed__1; -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_52 = l_Lean_PrettyPrinter_Delaborator_getPPOption(x_51, x_5, x_6, x_7, x_8, x_9, x_10, x_15); -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); -if (x_4 == 0) -{ -lean_object* x_84; -lean_dec(x_53); -x_84 = lean_box(0); -x_55 = x_84; -goto block_83; -} -else -{ -uint8_t x_85; -x_85 = lean_unbox(x_53); -lean_dec(x_53); -if (x_85 == 0) -{ -lean_object* x_86; uint8_t x_87; -lean_dec(x_14); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -x_86 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__3___rarg(x_9, x_10, x_54); -lean_dec(x_10); -x_87 = !lean_is_exclusive(x_86); -if (x_87 == 0) -{ -lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; -x_88 = lean_ctor_get(x_86, 0); -x_89 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1___closed__5; -lean_inc(x_88); -x_90 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_90, 0, x_88); -lean_ctor_set(x_90, 1, x_89); -x_91 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__12; -x_92 = l_Array_append___rarg(x_91, x_3); -x_93 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; -lean_inc(x_88); -x_94 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_94, 0, x_88); -lean_ctor_set(x_94, 1, x_93); -lean_ctor_set(x_94, 2, x_92); -lean_inc(x_88); -x_95 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_95, 0, x_88); -lean_ctor_set(x_95, 1, x_93); -lean_ctor_set(x_95, 2, x_91); -x_96 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__11; -lean_inc(x_88); -x_97 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_97, 0, x_88); -lean_ctor_set(x_97, 1, x_96); -x_98 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__2___closed__4; -x_99 = lean_array_push(x_98, x_90); -x_100 = lean_array_push(x_99, x_94); -x_101 = lean_array_push(x_100, x_95); -x_102 = lean_array_push(x_101, x_97); -x_103 = lean_array_push(x_102, x_1); -x_104 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1___closed__4; -x_105 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_105, 0, x_88); -lean_ctor_set(x_105, 1, x_104); -lean_ctor_set(x_105, 2, x_103); -lean_ctor_set(x_86, 0, x_105); -return x_86; -} -else -{ -lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; -x_106 = lean_ctor_get(x_86, 0); -x_107 = lean_ctor_get(x_86, 1); -lean_inc(x_107); -lean_inc(x_106); -lean_dec(x_86); -x_108 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1___closed__5; -lean_inc(x_106); -x_109 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_109, 0, x_106); -lean_ctor_set(x_109, 1, x_108); -x_110 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__12; -x_111 = l_Array_append___rarg(x_110, x_3); -x_112 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; -lean_inc(x_106); -x_113 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_113, 0, x_106); -lean_ctor_set(x_113, 1, x_112); -lean_ctor_set(x_113, 2, x_111); -lean_inc(x_106); -x_114 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_114, 0, x_106); -lean_ctor_set(x_114, 1, x_112); -lean_ctor_set(x_114, 2, x_110); -x_115 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__11; -lean_inc(x_106); -x_116 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_116, 0, x_106); -lean_ctor_set(x_116, 1, x_115); -x_117 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__2___closed__4; -x_118 = lean_array_push(x_117, x_109); -x_119 = lean_array_push(x_118, x_113); -x_120 = lean_array_push(x_119, x_114); -x_121 = lean_array_push(x_120, x_116); -x_122 = lean_array_push(x_121, x_1); -x_123 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1___closed__4; -x_124 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_124, 0, x_106); -lean_ctor_set(x_124, 1, x_123); -lean_ctor_set(x_124, 2, x_122); -x_125 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_125, 0, x_124); -lean_ctor_set(x_125, 1, x_107); -return x_125; -} -} -else -{ -lean_object* x_126; -x_126 = lean_box(0); -x_55 = x_126; -goto block_83; -} -} -block_83: -{ -lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; -lean_dec(x_55); -lean_inc(x_9); -x_56 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__3___rarg(x_9, x_10, x_54); -x_57 = lean_ctor_get(x_56, 0); -lean_inc(x_57); -x_58 = lean_ctor_get(x_56, 1); -lean_inc(x_58); -lean_dec(x_56); -x_59 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__5; -lean_inc(x_57); -x_60 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_60, 0, x_57); -lean_ctor_set(x_60, 1, x_59); -x_61 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__12; -x_62 = l_Array_append___rarg(x_61, x_3); -x_63 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; -lean_inc(x_57); -x_64 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_64, 0, x_57); -lean_ctor_set(x_64, 1, x_63); -lean_ctor_set(x_64, 2, x_62); -x_65 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__8; -lean_inc(x_57); -x_66 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_66, 0, x_57); -lean_ctor_set(x_66, 1, x_65); -x_67 = l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___closed__11; -x_68 = lean_array_push(x_67, x_66); -x_69 = lean_array_push(x_68, x_14); -lean_inc(x_57); -x_70 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_70, 0, x_57); -lean_ctor_set(x_70, 1, x_63); -lean_ctor_set(x_70, 2, x_69); -lean_inc(x_57); -x_71 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_71, 0, x_57); -lean_ctor_set(x_71, 1, x_63); -lean_ctor_set(x_71, 2, x_61); -x_72 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__9; -lean_inc(x_57); -x_73 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_73, 0, x_57); -lean_ctor_set(x_73, 1, x_72); -x_74 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__2___closed__4; -x_75 = lean_array_push(x_74, x_60); -x_76 = lean_array_push(x_75, x_64); -x_77 = lean_array_push(x_76, x_70); -x_78 = lean_array_push(x_77, x_71); -x_79 = lean_array_push(x_78, x_73); -x_80 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2___closed__3; -x_81 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_81, 0, x_57); -lean_ctor_set(x_81, 1, x_80); -lean_ctor_set(x_81, 2, x_79); -x_82 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1(x_4, x_1, x_81, x_5, x_6, x_7, x_8, x_9, x_10, x_58); -lean_dec(x_10); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -return x_82; -} -} -else -{ -uint8_t x_127; -lean_dec(x_14); -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_1); -x_127 = !lean_is_exclusive(x_52); -if (x_127 == 0) -{ -return x_52; -} -else -{ -lean_object* x_128; lean_object* x_129; lean_object* x_130; -x_128 = lean_ctor_get(x_52, 0); -x_129 = lean_ctor_get(x_52, 1); -lean_inc(x_129); -lean_inc(x_128); -lean_dec(x_52); -x_130 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_130, 0, x_128); -lean_ctor_set(x_130, 1, x_129); -return x_130; -} -} -} -} -} -block_41: -{ -uint8_t x_20; -lean_dec(x_19); -x_20 = lean_nat_dec_le(x_18, x_18); +lean_object* x_19; uint8_t x_20; +x_19 = lean_array_get_size(x_4); +x_20 = lean_nat_dec_le(x_19, x_19); if (x_20 == 0) { lean_object* x_21; uint8_t x_22; x_21 = lean_unsigned_to_nat(0u); -x_22 = lean_nat_dec_lt(x_21, x_18); +x_22 = lean_nat_dec_lt(x_21, x_19); if (x_22 == 0) { -lean_object* x_23; -lean_dec(x_18); -lean_dec(x_14); +lean_dec(x_19); +lean_dec(x_16); +lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -if (lean_is_scalar(x_16)) { - x_23 = lean_alloc_ctor(0, 2, 0); -} else { - x_23 = x_16; -} -lean_ctor_set(x_23, 0, x_1); -lean_ctor_set(x_23, 1, x_15); -return x_23; +lean_dec(x_4); +lean_ctor_set(x_14, 0, x_1); +return x_14; } else { -size_t x_24; size_t x_25; lean_object* x_26; uint8_t x_27; -lean_dec(x_16); -x_24 = lean_usize_of_nat(x_18); -lean_dec(x_18); -x_25 = 0; -x_26 = l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__1(x_14, x_3, x_24, x_25, x_1, x_5, x_6, x_7, x_8, x_9, x_10, x_15); -lean_dec(x_10); +size_t x_23; size_t x_24; lean_object* x_25; uint8_t x_26; +lean_free_object(x_14); +x_23 = lean_usize_of_nat(x_19); +lean_dec(x_19); +x_24 = 0; +x_25 = l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__1(x_16, x_4, x_23, x_24, x_1, x_6, x_7, x_8, x_9, x_10, x_11, x_17); +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_3); -x_27 = !lean_is_exclusive(x_26); -if (x_27 == 0) +lean_dec(x_4); +x_26 = !lean_is_exclusive(x_25); +if (x_26 == 0) { -return x_26; +return x_25; } else { -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_26, 0); -x_29 = lean_ctor_get(x_26, 1); -lean_inc(x_29); +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_25, 0); +x_28 = lean_ctor_get(x_25, 1); lean_inc(x_28); -lean_dec(x_26); -x_30 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; +lean_inc(x_27); +lean_dec(x_25); +x_29 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_29, 0, x_27); +lean_ctor_set(x_29, 1, x_28); +return x_29; } } } else { -lean_object* x_31; uint8_t x_32; -x_31 = lean_unsigned_to_nat(0u); -x_32 = lean_nat_dec_lt(x_31, x_18); -if (x_32 == 0) +lean_object* x_30; uint8_t x_31; +x_30 = lean_unsigned_to_nat(0u); +x_31 = lean_nat_dec_lt(x_30, x_19); +if (x_31 == 0) { -lean_object* x_33; -lean_dec(x_18); -lean_dec(x_14); +lean_dec(x_19); +lean_dec(x_16); +lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -if (lean_is_scalar(x_16)) { - x_33 = lean_alloc_ctor(0, 2, 0); -} else { - x_33 = x_16; -} -lean_ctor_set(x_33, 0, x_1); -lean_ctor_set(x_33, 1, x_15); -return x_33; +lean_dec(x_4); +lean_ctor_set(x_14, 0, x_1); +return x_14; } else { -size_t x_34; size_t x_35; lean_object* x_36; uint8_t x_37; -lean_dec(x_16); -x_34 = lean_usize_of_nat(x_18); -lean_dec(x_18); -x_35 = 0; -x_36 = l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__2(x_14, x_3, x_34, x_35, x_1, x_5, x_6, x_7, x_8, x_9, x_10, x_15); -lean_dec(x_10); +size_t x_32; size_t x_33; lean_object* x_34; uint8_t x_35; +lean_free_object(x_14); +x_32 = lean_usize_of_nat(x_19); +lean_dec(x_19); +x_33 = 0; +x_34 = l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__2(x_16, x_4, x_32, x_33, x_1, x_6, x_7, x_8, x_9, x_10, x_11, x_17); +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_3); -x_37 = !lean_is_exclusive(x_36); -if (x_37 == 0) +lean_dec(x_4); +x_35 = !lean_is_exclusive(x_34); +if (x_35 == 0) { -return x_36; +return x_34; } else { -lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_38 = lean_ctor_get(x_36, 0); -x_39 = lean_ctor_get(x_36, 1); -lean_inc(x_39); -lean_inc(x_38); -lean_dec(x_36); -x_40 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_40, 0, x_38); -lean_ctor_set(x_40, 1, x_39); +lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_36 = lean_ctor_get(x_34, 0); +x_37 = lean_ctor_get(x_34, 1); +lean_inc(x_37); +lean_inc(x_36); +lean_dec(x_34); +x_38 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_38, 0, x_36); +lean_ctor_set(x_38, 1, x_37); +return x_38; +} +} +} +} +else +{ +lean_object* x_39; lean_object* x_40; +lean_free_object(x_14); +x_39 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2___closed__1; +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_40 = l_Lean_PrettyPrinter_Delaborator_getPPOption(x_39, x_6, x_7, x_8, x_9, x_10, x_11, x_17); +if (lean_obj_tag(x_40) == 0) +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; +x_41 = lean_ctor_get(x_40, 0); +lean_inc(x_41); +x_42 = lean_ctor_get(x_40, 1); +lean_inc(x_42); +lean_dec(x_40); +if (x_5 == 0) +{ +lean_object* x_72; +lean_dec(x_41); +x_72 = lean_box(0); +x_43 = x_72; +goto block_71; +} +else +{ +uint8_t x_73; +x_73 = lean_unbox(x_41); +lean_dec(x_41); +if (x_73 == 0) +{ +lean_object* x_74; uint8_t x_75; +lean_dec(x_16); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +x_74 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__3___rarg(x_10, x_11, x_42); +lean_dec(x_11); +x_75 = !lean_is_exclusive(x_74); +if (x_75 == 0) +{ +lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; +x_76 = lean_ctor_get(x_74, 0); +x_77 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1___closed__5; +lean_inc(x_76); +x_78 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_78, 0, x_76); +lean_ctor_set(x_78, 1, x_77); +x_79 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__12; +x_80 = l_Array_append___rarg(x_79, x_4); +x_81 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; +lean_inc(x_76); +x_82 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_82, 0, x_76); +lean_ctor_set(x_82, 1, x_81); +lean_ctor_set(x_82, 2, x_80); +lean_inc(x_76); +x_83 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_83, 0, x_76); +lean_ctor_set(x_83, 1, x_81); +lean_ctor_set(x_83, 2, x_79); +x_84 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__11; +lean_inc(x_76); +x_85 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_85, 0, x_76); +lean_ctor_set(x_85, 1, x_84); +x_86 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__2___closed__4; +x_87 = lean_array_push(x_86, x_78); +x_88 = lean_array_push(x_87, x_82); +x_89 = lean_array_push(x_88, x_83); +x_90 = lean_array_push(x_89, x_85); +x_91 = lean_array_push(x_90, x_1); +x_92 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1___closed__4; +x_93 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_93, 0, x_76); +lean_ctor_set(x_93, 1, x_92); +lean_ctor_set(x_93, 2, x_91); +lean_ctor_set(x_74, 0, x_93); +return x_74; +} +else +{ +lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; +x_94 = lean_ctor_get(x_74, 0); +x_95 = lean_ctor_get(x_74, 1); +lean_inc(x_95); +lean_inc(x_94); +lean_dec(x_74); +x_96 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1___closed__5; +lean_inc(x_94); +x_97 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_97, 0, x_94); +lean_ctor_set(x_97, 1, x_96); +x_98 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__12; +x_99 = l_Array_append___rarg(x_98, x_4); +x_100 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; +lean_inc(x_94); +x_101 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_101, 0, x_94); +lean_ctor_set(x_101, 1, x_100); +lean_ctor_set(x_101, 2, x_99); +lean_inc(x_94); +x_102 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_102, 0, x_94); +lean_ctor_set(x_102, 1, x_100); +lean_ctor_set(x_102, 2, x_98); +x_103 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__11; +lean_inc(x_94); +x_104 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_104, 0, x_94); +lean_ctor_set(x_104, 1, x_103); +x_105 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__2___closed__4; +x_106 = lean_array_push(x_105, x_97); +x_107 = lean_array_push(x_106, x_101); +x_108 = lean_array_push(x_107, x_102); +x_109 = lean_array_push(x_108, x_104); +x_110 = lean_array_push(x_109, x_1); +x_111 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1___closed__4; +x_112 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_112, 0, x_94); +lean_ctor_set(x_112, 1, x_111); +lean_ctor_set(x_112, 2, x_110); +x_113 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_113, 0, x_112); +lean_ctor_set(x_113, 1, x_95); +return x_113; +} +} +else +{ +lean_object* x_114; +x_114 = lean_box(0); +x_43 = x_114; +goto block_71; +} +} +block_71: +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; +lean_dec(x_43); +lean_inc(x_10); +x_44 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__3___rarg(x_10, x_11, x_42); +x_45 = lean_ctor_get(x_44, 0); +lean_inc(x_45); +x_46 = lean_ctor_get(x_44, 1); +lean_inc(x_46); +lean_dec(x_44); +x_47 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__5; +lean_inc(x_45); +x_48 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_48, 0, x_45); +lean_ctor_set(x_48, 1, x_47); +x_49 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__12; +x_50 = l_Array_append___rarg(x_49, x_4); +x_51 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; +lean_inc(x_45); +x_52 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_52, 0, x_45); +lean_ctor_set(x_52, 1, x_51); +lean_ctor_set(x_52, 2, x_50); +x_53 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__8; +lean_inc(x_45); +x_54 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_54, 0, x_45); +lean_ctor_set(x_54, 1, x_53); +x_55 = l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___closed__11; +x_56 = lean_array_push(x_55, x_54); +x_57 = lean_array_push(x_56, x_16); +lean_inc(x_45); +x_58 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_58, 0, x_45); +lean_ctor_set(x_58, 1, x_51); +lean_ctor_set(x_58, 2, x_57); +lean_inc(x_45); +x_59 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_59, 0, x_45); +lean_ctor_set(x_59, 1, x_51); +lean_ctor_set(x_59, 2, x_49); +x_60 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__9; +lean_inc(x_45); +x_61 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_61, 0, x_45); +lean_ctor_set(x_61, 1, x_60); +x_62 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__2___closed__4; +x_63 = lean_array_push(x_62, x_48); +x_64 = lean_array_push(x_63, x_52); +x_65 = lean_array_push(x_64, x_58); +x_66 = lean_array_push(x_65, x_59); +x_67 = lean_array_push(x_66, x_61); +x_68 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2___closed__3; +x_69 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_69, 0, x_45); +lean_ctor_set(x_69, 1, x_68); +lean_ctor_set(x_69, 2, x_67); +x_70 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1(x_5, x_1, x_69, x_6, x_7, x_8, x_9, x_10, x_11, x_46); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +return x_70; +} +} +else +{ +uint8_t x_115; +lean_dec(x_16); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_1); +x_115 = !lean_is_exclusive(x_40); +if (x_115 == 0) +{ return x_40; } +else +{ +lean_object* x_116; lean_object* x_117; lean_object* x_118; +x_116 = lean_ctor_get(x_40, 0); +x_117 = lean_ctor_get(x_40, 1); +lean_inc(x_117); +lean_inc(x_116); +lean_dec(x_40); +x_118 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_118, 0, x_116); +lean_ctor_set(x_118, 1, x_117); +return x_118; } } } } case 1: { -lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; -lean_dec(x_16); -lean_inc(x_9); -x_131 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__3___rarg(x_9, x_10, x_15); -x_132 = lean_ctor_get(x_131, 0); -lean_inc(x_132); -x_133 = lean_ctor_get(x_131, 1); -lean_inc(x_133); -lean_dec(x_131); -x_134 = l_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___lambda__3___closed__7; -lean_inc(x_132); +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; lean_object* x_141; lean_object* x_142; lean_object* x_143; +lean_free_object(x_14); +lean_inc(x_10); +x_119 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__3___rarg(x_10, x_11, x_17); +x_120 = lean_ctor_get(x_119, 0); +lean_inc(x_120); +x_121 = lean_ctor_get(x_119, 1); +lean_inc(x_121); +lean_dec(x_119); +x_122 = l_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___lambda__3___closed__7; +lean_inc(x_120); +x_123 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_123, 0, x_120); +lean_ctor_set(x_123, 1, x_122); +x_124 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__12; +x_125 = l_Array_append___rarg(x_124, x_4); +x_126 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; +lean_inc(x_120); +x_127 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_127, 0, x_120); +lean_ctor_set(x_127, 1, x_126); +lean_ctor_set(x_127, 2, x_125); +x_128 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__8; +lean_inc(x_120); +x_129 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_129, 0, x_120); +lean_ctor_set(x_129, 1, x_128); +x_130 = l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___closed__11; +x_131 = lean_array_push(x_130, x_129); +x_132 = lean_array_push(x_131, x_16); +lean_inc(x_120); +x_133 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_133, 0, x_120); +lean_ctor_set(x_133, 1, x_126); +lean_ctor_set(x_133, 2, x_132); +x_134 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__13; +lean_inc(x_120); x_135 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_135, 0, x_132); +lean_ctor_set(x_135, 0, x_120); lean_ctor_set(x_135, 1, x_134); -x_136 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__12; -x_137 = l_Array_append___rarg(x_136, x_3); -x_138 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; -lean_inc(x_132); -x_139 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_139, 0, x_132); -lean_ctor_set(x_139, 1, x_138); -lean_ctor_set(x_139, 2, x_137); -x_140 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__8; -lean_inc(x_132); -x_141 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_141, 0, x_132); -lean_ctor_set(x_141, 1, x_140); -x_142 = l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___closed__11; -x_143 = lean_array_push(x_142, x_141); -x_144 = lean_array_push(x_143, x_14); -lean_inc(x_132); -x_145 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_145, 0, x_132); -lean_ctor_set(x_145, 1, x_138); -lean_ctor_set(x_145, 2, x_144); -x_146 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__13; -lean_inc(x_132); -x_147 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_147, 0, x_132); -lean_ctor_set(x_147, 1, x_146); -x_148 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__14; -x_149 = lean_array_push(x_148, x_135); -x_150 = lean_array_push(x_149, x_139); -x_151 = lean_array_push(x_150, x_145); -x_152 = lean_array_push(x_151, x_147); -x_153 = l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___closed__8; -x_154 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_154, 0, x_132); -lean_ctor_set(x_154, 1, x_153); -lean_ctor_set(x_154, 2, x_152); -x_155 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1(x_4, x_1, x_154, x_5, x_6, x_7, x_8, x_9, x_10, x_133); -lean_dec(x_10); +x_136 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__14; +x_137 = lean_array_push(x_136, x_123); +x_138 = lean_array_push(x_137, x_127); +x_139 = lean_array_push(x_138, x_133); +x_140 = lean_array_push(x_139, x_135); +x_141 = l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___closed__8; +x_142 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_142, 0, x_120); +lean_ctor_set(x_142, 1, x_141); +lean_ctor_set(x_142, 2, x_140); +x_143 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1(x_5, x_1, x_142, x_6, x_7, x_8, x_9, x_10, x_11, x_121); +lean_dec(x_11); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); -return x_155; +return x_143; } case 2: { -lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; -lean_dec(x_16); -lean_inc(x_9); -x_156 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__3___rarg(x_9, x_10, x_15); -x_157 = lean_ctor_get(x_156, 0); -lean_inc(x_157); -x_158 = lean_ctor_get(x_156, 1); -lean_inc(x_158); -lean_dec(x_156); -x_159 = l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___closed__11; -lean_inc(x_157); +lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; +lean_free_object(x_14); +lean_inc(x_10); +x_144 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__3___rarg(x_10, x_11, x_17); +x_145 = lean_ctor_get(x_144, 0); +lean_inc(x_145); +x_146 = lean_ctor_get(x_144, 1); +lean_inc(x_146); +lean_dec(x_144); +x_147 = l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___closed__11; +lean_inc(x_145); +x_148 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_148, 0, x_145); +lean_ctor_set(x_148, 1, x_147); +x_149 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__12; +x_150 = l_Array_append___rarg(x_149, x_4); +x_151 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; +lean_inc(x_145); +x_152 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_152, 0, x_145); +lean_ctor_set(x_152, 1, x_151); +lean_ctor_set(x_152, 2, x_150); +x_153 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__8; +lean_inc(x_145); +x_154 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_154, 0, x_145); +lean_ctor_set(x_154, 1, x_153); +x_155 = l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___closed__11; +x_156 = lean_array_push(x_155, x_154); +x_157 = lean_array_push(x_156, x_16); +lean_inc(x_145); +x_158 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_158, 0, x_145); +lean_ctor_set(x_158, 1, x_151); +lean_ctor_set(x_158, 2, x_157); +x_159 = l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___closed__12; +lean_inc(x_145); x_160 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_160, 0, x_157); +lean_ctor_set(x_160, 0, x_145); lean_ctor_set(x_160, 1, x_159); -x_161 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__12; -x_162 = l_Array_append___rarg(x_161, x_3); -x_163 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; -lean_inc(x_157); -x_164 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_164, 0, x_157); -lean_ctor_set(x_164, 1, x_163); -lean_ctor_set(x_164, 2, x_162); -x_165 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__8; -lean_inc(x_157); -x_166 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_166, 0, x_157); -lean_ctor_set(x_166, 1, x_165); -x_167 = l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___closed__11; -x_168 = lean_array_push(x_167, x_166); -x_169 = lean_array_push(x_168, x_14); -lean_inc(x_157); -x_170 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_170, 0, x_157); -lean_ctor_set(x_170, 1, x_163); -lean_ctor_set(x_170, 2, x_169); -x_171 = l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___closed__12; -lean_inc(x_157); -x_172 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_172, 0, x_157); -lean_ctor_set(x_172, 1, x_171); -x_173 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__14; -x_174 = lean_array_push(x_173, x_160); -x_175 = lean_array_push(x_174, x_164); -x_176 = lean_array_push(x_175, x_170); -x_177 = lean_array_push(x_176, x_172); -x_178 = l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___closed__10; -x_179 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_179, 0, x_157); -lean_ctor_set(x_179, 1, x_178); -lean_ctor_set(x_179, 2, x_177); -x_180 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1(x_4, x_1, x_179, x_5, x_6, x_7, x_8, x_9, x_10, x_158); -lean_dec(x_10); +x_161 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__14; +x_162 = lean_array_push(x_161, x_148); +x_163 = lean_array_push(x_162, x_152); +x_164 = lean_array_push(x_163, x_158); +x_165 = lean_array_push(x_164, x_160); +x_166 = l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___closed__10; +x_167 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_167, 0, x_145); +lean_ctor_set(x_167, 1, x_166); +lean_ctor_set(x_167, 2, x_165); +x_168 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1(x_5, x_1, x_167, x_6, x_7, x_8, x_9, x_10, x_11, x_146); +lean_dec(x_11); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); -return x_180; +return x_168; } case 3: { -lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; -lean_dec(x_16); -lean_inc(x_9); -x_181 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__3___rarg(x_9, x_10, x_15); -x_182 = lean_ctor_get(x_181, 0); -lean_inc(x_182); -x_183 = lean_ctor_get(x_181, 1); -lean_inc(x_183); -lean_dec(x_181); -x_184 = l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___closed__5; -lean_inc(x_182); -x_185 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_185, 0, x_182); -lean_ctor_set(x_185, 1, x_184); -x_186 = l_Lean_instInhabitedSyntax; -x_187 = l_Array_back___rarg(x_186, x_3); -lean_dec(x_3); -x_188 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__8; -lean_inc(x_182); -x_189 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_189, 0, x_182); -lean_ctor_set(x_189, 1, x_188); -x_190 = l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___closed__11; -x_191 = lean_array_push(x_190, x_187); -x_192 = lean_array_push(x_191, x_189); -x_193 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; -lean_inc(x_182); -x_194 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_194, 0, x_182); -lean_ctor_set(x_194, 1, x_193); -lean_ctor_set(x_194, 2, x_192); -x_195 = l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___closed__6; -lean_inc(x_182); -x_196 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_196, 0, x_182); -lean_ctor_set(x_196, 1, x_195); -x_197 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__14; -x_198 = lean_array_push(x_197, x_185); -x_199 = lean_array_push(x_198, x_194); -x_200 = lean_array_push(x_199, x_14); -x_201 = lean_array_push(x_200, x_196); -x_202 = l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___closed__4; -x_203 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_203, 0, x_182); -lean_ctor_set(x_203, 1, x_202); -lean_ctor_set(x_203, 2, x_201); -x_204 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1(x_4, x_1, x_203, x_5, x_6, x_7, x_8, x_9, x_10, x_183); -lean_dec(x_10); +lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; +lean_free_object(x_14); +lean_inc(x_10); +x_169 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__3___rarg(x_10, x_11, x_17); +x_170 = lean_ctor_get(x_169, 0); +lean_inc(x_170); +x_171 = lean_ctor_get(x_169, 1); +lean_inc(x_171); +lean_dec(x_169); +x_172 = l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___closed__5; +lean_inc(x_170); +x_173 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_173, 0, x_170); +lean_ctor_set(x_173, 1, x_172); +x_174 = l_Lean_instInhabitedSyntax; +x_175 = l_Array_back___rarg(x_174, x_4); +lean_dec(x_4); +x_176 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__8; +lean_inc(x_170); +x_177 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_177, 0, x_170); +lean_ctor_set(x_177, 1, x_176); +x_178 = l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___closed__11; +x_179 = lean_array_push(x_178, x_175); +x_180 = lean_array_push(x_179, x_177); +x_181 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; +lean_inc(x_170); +x_182 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_182, 0, x_170); +lean_ctor_set(x_182, 1, x_181); +lean_ctor_set(x_182, 2, x_180); +x_183 = l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___closed__6; +lean_inc(x_170); +x_184 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_184, 0, x_170); +lean_ctor_set(x_184, 1, x_183); +x_185 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__14; +x_186 = lean_array_push(x_185, x_173); +x_187 = lean_array_push(x_186, x_182); +x_188 = lean_array_push(x_187, x_16); +x_189 = lean_array_push(x_188, x_184); +x_190 = l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___closed__4; +x_191 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_191, 0, x_170); +lean_ctor_set(x_191, 1, x_190); +lean_ctor_set(x_191, 2, x_189); +x_192 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1(x_5, x_1, x_191, x_6, x_7, x_8, x_9, x_10, x_11, x_171); +lean_dec(x_11); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); -return x_204; +return x_192; } default: { -lean_object* x_205; lean_object* x_206; lean_object* x_229; uint8_t x_230; -x_205 = lean_array_get_size(x_3); -x_229 = lean_unsigned_to_nat(0u); -x_230 = lean_nat_dec_lt(x_229, x_205); -if (x_230 == 0) +if (x_3 == 0) { -lean_object* x_231; -x_231 = lean_box(0); -x_206 = x_231; -goto block_228; -} -else +lean_object* x_193; uint8_t x_194; +x_193 = lean_array_get_size(x_4); +x_194 = lean_nat_dec_le(x_193, x_193); +if (x_194 == 0) { -uint8_t x_232; -x_232 = lean_nat_dec_le(x_205, x_205); -if (x_232 == 0) +lean_object* x_195; uint8_t x_196; +x_195 = lean_unsigned_to_nat(0u); +x_196 = lean_nat_dec_lt(x_195, x_193); +if (x_196 == 0) { -lean_object* x_233; -x_233 = lean_box(0); -x_206 = x_233; -goto block_228; -} -else -{ -size_t x_234; size_t x_235; uint8_t x_236; -x_234 = 0; -x_235 = lean_usize_of_nat(x_205); -lean_inc(x_1); -x_236 = l_Array_anyMUnsafe_any___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__6(x_1, x_3, x_234, x_235); -if (x_236 == 0) -{ -lean_object* x_237; -x_237 = lean_box(0); -x_206 = x_237; -goto block_228; -} -else -{ -lean_object* x_238; lean_object* x_239; -lean_dec(x_205); +lean_dec(x_193); lean_dec(x_16); -x_238 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2___closed__1; +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_ctor_set(x_14, 0, x_1); +return x_14; +} +else +{ +size_t x_197; size_t x_198; lean_object* x_199; uint8_t x_200; +lean_free_object(x_14); +x_197 = lean_usize_of_nat(x_193); +lean_dec(x_193); +x_198 = 0; +x_199 = l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__3(x_16, x_4, x_197, x_198, x_1, x_6, x_7, x_8, x_9, x_10, x_11, x_17); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +x_200 = !lean_is_exclusive(x_199); +if (x_200 == 0) +{ +return x_199; +} +else +{ +lean_object* x_201; lean_object* x_202; lean_object* x_203; +x_201 = lean_ctor_get(x_199, 0); +x_202 = lean_ctor_get(x_199, 1); +lean_inc(x_202); +lean_inc(x_201); +lean_dec(x_199); +x_203 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_203, 0, x_201); +lean_ctor_set(x_203, 1, x_202); +return x_203; +} +} +} +else +{ +lean_object* x_204; uint8_t x_205; +x_204 = lean_unsigned_to_nat(0u); +x_205 = lean_nat_dec_lt(x_204, x_193); +if (x_205 == 0) +{ +lean_dec(x_193); +lean_dec(x_16); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_ctor_set(x_14, 0, x_1); +return x_14; +} +else +{ +size_t x_206; size_t x_207; lean_object* x_208; uint8_t x_209; +lean_free_object(x_14); +x_206 = lean_usize_of_nat(x_193); +lean_dec(x_193); +x_207 = 0; +x_208 = l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__4(x_16, x_4, x_206, x_207, x_1, x_6, x_7, x_8, x_9, x_10, x_11, x_17); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +x_209 = !lean_is_exclusive(x_208); +if (x_209 == 0) +{ +return x_208; +} +else +{ +lean_object* x_210; lean_object* x_211; lean_object* x_212; +x_210 = lean_ctor_get(x_208, 0); +x_211 = lean_ctor_get(x_208, 1); +lean_inc(x_211); +lean_inc(x_210); +lean_dec(x_208); +x_212 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_212, 0, x_210); +lean_ctor_set(x_212, 1, x_211); +return x_212; +} +} +} +} +else +{ +lean_object* x_213; lean_object* x_214; +lean_free_object(x_14); +x_213 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2___closed__1; +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_239 = l_Lean_PrettyPrinter_Delaborator_getPPOption(x_238, x_5, x_6, x_7, x_8, x_9, x_10, x_15); -if (lean_obj_tag(x_239) == 0) +x_214 = l_Lean_PrettyPrinter_Delaborator_getPPOption(x_213, x_6, x_7, x_8, x_9, x_10, x_11, x_17); +if (lean_obj_tag(x_214) == 0) { -lean_object* x_240; lean_object* x_241; lean_object* x_242; -x_240 = lean_ctor_get(x_239, 0); -lean_inc(x_240); -x_241 = lean_ctor_get(x_239, 1); -lean_inc(x_241); -lean_dec(x_239); -if (x_4 == 0) +lean_object* x_215; lean_object* x_216; lean_object* x_217; +x_215 = lean_ctor_get(x_214, 0); +lean_inc(x_215); +x_216 = lean_ctor_get(x_214, 1); +lean_inc(x_216); +lean_dec(x_214); +if (x_5 == 0) { -lean_object* x_271; -lean_dec(x_240); -x_271 = lean_box(0); -x_242 = x_271; -goto block_270; +lean_object* x_246; +lean_dec(x_215); +x_246 = lean_box(0); +x_217 = x_246; +goto block_245; } else { -uint8_t x_272; -x_272 = lean_unbox(x_240); -lean_dec(x_240); -if (x_272 == 0) +uint8_t x_247; +x_247 = lean_unbox(x_215); +lean_dec(x_215); +if (x_247 == 0) { -lean_object* x_273; uint8_t x_274; -lean_dec(x_14); +lean_object* x_248; uint8_t x_249; +lean_dec(x_16); +lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); -x_273 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__3___rarg(x_9, x_10, x_241); -lean_dec(x_10); -x_274 = !lean_is_exclusive(x_273); -if (x_274 == 0) +x_248 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__3___rarg(x_10, x_11, x_216); +lean_dec(x_11); +x_249 = !lean_is_exclusive(x_248); +if (x_249 == 0) { -lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; -x_275 = lean_ctor_get(x_273, 0); -x_276 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1___closed__5; -lean_inc(x_275); -x_277 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_277, 0, x_275); -lean_ctor_set(x_277, 1, x_276); -x_278 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__12; -x_279 = l_Array_append___rarg(x_278, x_3); -x_280 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; -lean_inc(x_275); -x_281 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_281, 0, x_275); -lean_ctor_set(x_281, 1, x_280); -lean_ctor_set(x_281, 2, x_279); -lean_inc(x_275); -x_282 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_282, 0, x_275); -lean_ctor_set(x_282, 1, x_280); -lean_ctor_set(x_282, 2, x_278); -x_283 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__11; -lean_inc(x_275); -x_284 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_284, 0, x_275); -lean_ctor_set(x_284, 1, x_283); -x_285 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__2___closed__4; -x_286 = lean_array_push(x_285, x_277); -x_287 = lean_array_push(x_286, x_281); -x_288 = lean_array_push(x_287, x_282); -x_289 = lean_array_push(x_288, x_284); -x_290 = lean_array_push(x_289, x_1); -x_291 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1___closed__4; -x_292 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_292, 0, x_275); -lean_ctor_set(x_292, 1, x_291); -lean_ctor_set(x_292, 2, x_290); -lean_ctor_set(x_273, 0, x_292); -return x_273; -} -else -{ -lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; -x_293 = lean_ctor_get(x_273, 0); -x_294 = lean_ctor_get(x_273, 1); -lean_inc(x_294); -lean_inc(x_293); -lean_dec(x_273); -x_295 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1___closed__5; -lean_inc(x_293); -x_296 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_296, 0, x_293); -lean_ctor_set(x_296, 1, x_295); -x_297 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__12; -x_298 = l_Array_append___rarg(x_297, x_3); -x_299 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; -lean_inc(x_293); -x_300 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_300, 0, x_293); -lean_ctor_set(x_300, 1, x_299); -lean_ctor_set(x_300, 2, x_298); -lean_inc(x_293); -x_301 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_301, 0, x_293); -lean_ctor_set(x_301, 1, x_299); -lean_ctor_set(x_301, 2, x_297); -x_302 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__11; -lean_inc(x_293); -x_303 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_303, 0, x_293); -lean_ctor_set(x_303, 1, x_302); -x_304 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__2___closed__4; -x_305 = lean_array_push(x_304, x_296); -x_306 = lean_array_push(x_305, x_300); -x_307 = lean_array_push(x_306, x_301); -x_308 = lean_array_push(x_307, x_303); -x_309 = lean_array_push(x_308, x_1); -x_310 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1___closed__4; -x_311 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_311, 0, x_293); -lean_ctor_set(x_311, 1, x_310); -lean_ctor_set(x_311, 2, x_309); -x_312 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_312, 0, x_311); -lean_ctor_set(x_312, 1, x_294); -return x_312; -} -} -else -{ -lean_object* x_313; -x_313 = lean_box(0); -x_242 = x_313; -goto block_270; -} -} -block_270: -{ -lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; -lean_dec(x_242); -lean_inc(x_9); -x_243 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__3___rarg(x_9, x_10, x_241); -x_244 = lean_ctor_get(x_243, 0); -lean_inc(x_244); -x_245 = lean_ctor_get(x_243, 1); -lean_inc(x_245); -lean_dec(x_243); -x_246 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__5; -lean_inc(x_244); -x_247 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_247, 0, x_244); -lean_ctor_set(x_247, 1, x_246); -x_248 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__12; -x_249 = l_Array_append___rarg(x_248, x_3); -x_250 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; -lean_inc(x_244); -x_251 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_251, 0, x_244); -lean_ctor_set(x_251, 1, x_250); -lean_ctor_set(x_251, 2, x_249); -x_252 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__8; -lean_inc(x_244); -x_253 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_253, 0, x_244); -lean_ctor_set(x_253, 1, x_252); -x_254 = l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___closed__11; -x_255 = lean_array_push(x_254, x_253); -x_256 = lean_array_push(x_255, x_14); -lean_inc(x_244); +lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; +x_250 = lean_ctor_get(x_248, 0); +x_251 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1___closed__5; +lean_inc(x_250); +x_252 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_252, 0, x_250); +lean_ctor_set(x_252, 1, x_251); +x_253 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__12; +x_254 = l_Array_append___rarg(x_253, x_4); +x_255 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; +lean_inc(x_250); +x_256 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_256, 0, x_250); +lean_ctor_set(x_256, 1, x_255); +lean_ctor_set(x_256, 2, x_254); +lean_inc(x_250); x_257 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_257, 0, x_244); -lean_ctor_set(x_257, 1, x_250); -lean_ctor_set(x_257, 2, x_256); -lean_inc(x_244); -x_258 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_258, 0, x_244); -lean_ctor_set(x_258, 1, x_250); -lean_ctor_set(x_258, 2, x_248); -x_259 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__9; -lean_inc(x_244); -x_260 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_260, 0, x_244); -lean_ctor_set(x_260, 1, x_259); -x_261 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__2___closed__4; -x_262 = lean_array_push(x_261, x_247); -x_263 = lean_array_push(x_262, x_251); -x_264 = lean_array_push(x_263, x_257); -x_265 = lean_array_push(x_264, x_258); -x_266 = lean_array_push(x_265, x_260); -x_267 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2___closed__3; -x_268 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_268, 0, x_244); -lean_ctor_set(x_268, 1, x_267); -lean_ctor_set(x_268, 2, x_266); -x_269 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1(x_4, x_1, x_268, x_5, x_6, x_7, x_8, x_9, x_10, x_245); -lean_dec(x_10); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -return x_269; +lean_ctor_set(x_257, 0, x_250); +lean_ctor_set(x_257, 1, x_255); +lean_ctor_set(x_257, 2, x_253); +x_258 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__11; +lean_inc(x_250); +x_259 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_259, 0, x_250); +lean_ctor_set(x_259, 1, x_258); +x_260 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__2___closed__4; +x_261 = lean_array_push(x_260, x_252); +x_262 = lean_array_push(x_261, x_256); +x_263 = lean_array_push(x_262, x_257); +x_264 = lean_array_push(x_263, x_259); +x_265 = lean_array_push(x_264, x_1); +x_266 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1___closed__4; +x_267 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_267, 0, x_250); +lean_ctor_set(x_267, 1, x_266); +lean_ctor_set(x_267, 2, x_265); +lean_ctor_set(x_248, 0, x_267); +return x_248; +} +else +{ +lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; +x_268 = lean_ctor_get(x_248, 0); +x_269 = lean_ctor_get(x_248, 1); +lean_inc(x_269); +lean_inc(x_268); +lean_dec(x_248); +x_270 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1___closed__5; +lean_inc(x_268); +x_271 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_271, 0, x_268); +lean_ctor_set(x_271, 1, x_270); +x_272 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__12; +x_273 = l_Array_append___rarg(x_272, x_4); +x_274 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; +lean_inc(x_268); +x_275 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_275, 0, x_268); +lean_ctor_set(x_275, 1, x_274); +lean_ctor_set(x_275, 2, x_273); +lean_inc(x_268); +x_276 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_276, 0, x_268); +lean_ctor_set(x_276, 1, x_274); +lean_ctor_set(x_276, 2, x_272); +x_277 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__11; +lean_inc(x_268); +x_278 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_278, 0, x_268); +lean_ctor_set(x_278, 1, x_277); +x_279 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__2___closed__4; +x_280 = lean_array_push(x_279, x_271); +x_281 = lean_array_push(x_280, x_275); +x_282 = lean_array_push(x_281, x_276); +x_283 = lean_array_push(x_282, x_278); +x_284 = lean_array_push(x_283, x_1); +x_285 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1___closed__4; +x_286 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_286, 0, x_268); +lean_ctor_set(x_286, 1, x_285); +lean_ctor_set(x_286, 2, x_284); +x_287 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_287, 0, x_286); +lean_ctor_set(x_287, 1, x_269); +return x_287; } } else { -uint8_t x_314; -lean_dec(x_14); +lean_object* x_288; +x_288 = lean_box(0); +x_217 = x_288; +goto block_245; +} +} +block_245: +{ +lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; +lean_dec(x_217); +lean_inc(x_10); +x_218 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__3___rarg(x_10, x_11, x_216); +x_219 = lean_ctor_get(x_218, 0); +lean_inc(x_219); +x_220 = lean_ctor_get(x_218, 1); +lean_inc(x_220); +lean_dec(x_218); +x_221 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__5; +lean_inc(x_219); +x_222 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_222, 0, x_219); +lean_ctor_set(x_222, 1, x_221); +x_223 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__12; +x_224 = l_Array_append___rarg(x_223, x_4); +x_225 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; +lean_inc(x_219); +x_226 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_226, 0, x_219); +lean_ctor_set(x_226, 1, x_225); +lean_ctor_set(x_226, 2, x_224); +x_227 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__8; +lean_inc(x_219); +x_228 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_228, 0, x_219); +lean_ctor_set(x_228, 1, x_227); +x_229 = l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___closed__11; +x_230 = lean_array_push(x_229, x_228); +x_231 = lean_array_push(x_230, x_16); +lean_inc(x_219); +x_232 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_232, 0, x_219); +lean_ctor_set(x_232, 1, x_225); +lean_ctor_set(x_232, 2, x_231); +lean_inc(x_219); +x_233 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_233, 0, x_219); +lean_ctor_set(x_233, 1, x_225); +lean_ctor_set(x_233, 2, x_223); +x_234 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__9; +lean_inc(x_219); +x_235 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_235, 0, x_219); +lean_ctor_set(x_235, 1, x_234); +x_236 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__2___closed__4; +x_237 = lean_array_push(x_236, x_222); +x_238 = lean_array_push(x_237, x_226); +x_239 = lean_array_push(x_238, x_232); +x_240 = lean_array_push(x_239, x_233); +x_241 = lean_array_push(x_240, x_235); +x_242 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2___closed__3; +x_243 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_243, 0, x_219); +lean_ctor_set(x_243, 1, x_242); +lean_ctor_set(x_243, 2, x_241); +x_244 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1(x_5, x_1, x_243, x_6, x_7, x_8, x_9, x_10, x_11, x_220); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +return x_244; +} +} +else +{ +uint8_t x_289; +lean_dec(x_16); +lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); +lean_dec(x_4); lean_dec(x_1); -x_314 = !lean_is_exclusive(x_239); -if (x_314 == 0) +x_289 = !lean_is_exclusive(x_214); +if (x_289 == 0) { -return x_239; +return x_214; } else { -lean_object* x_315; lean_object* x_316; lean_object* x_317; -x_315 = lean_ctor_get(x_239, 0); -x_316 = lean_ctor_get(x_239, 1); -lean_inc(x_316); +lean_object* x_290; lean_object* x_291; lean_object* x_292; +x_290 = lean_ctor_get(x_214, 0); +x_291 = lean_ctor_get(x_214, 1); +lean_inc(x_291); +lean_inc(x_290); +lean_dec(x_214); +x_292 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_292, 0, x_290); +lean_ctor_set(x_292, 1, x_291); +return x_292; +} +} +} +} +} +} +else +{ +lean_object* x_293; lean_object* x_294; uint8_t x_295; +x_293 = lean_ctor_get(x_14, 0); +x_294 = lean_ctor_get(x_14, 1); +lean_inc(x_294); +lean_inc(x_293); +lean_dec(x_14); +x_295 = l_Lean_Expr_binderInfo(x_2); +lean_dec(x_2); +switch (x_295) { +case 0: +{ +if (x_3 == 0) +{ +lean_object* x_296; uint8_t x_297; +x_296 = lean_array_get_size(x_4); +x_297 = lean_nat_dec_le(x_296, x_296); +if (x_297 == 0) +{ +lean_object* x_298; uint8_t x_299; +x_298 = lean_unsigned_to_nat(0u); +x_299 = lean_nat_dec_lt(x_298, x_296); +if (x_299 == 0) +{ +lean_object* x_300; +lean_dec(x_296); +lean_dec(x_293); +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); +x_300 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_300, 0, x_1); +lean_ctor_set(x_300, 1, x_294); +return x_300; +} +else +{ +size_t x_301; size_t x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; lean_object* x_307; +x_301 = lean_usize_of_nat(x_296); +lean_dec(x_296); +x_302 = 0; +x_303 = l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__1(x_293, x_4, x_301, x_302, x_1, x_6, x_7, x_8, x_9, x_10, x_11, x_294); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +x_304 = lean_ctor_get(x_303, 0); +lean_inc(x_304); +x_305 = lean_ctor_get(x_303, 1); +lean_inc(x_305); +if (lean_is_exclusive(x_303)) { + lean_ctor_release(x_303, 0); + lean_ctor_release(x_303, 1); + x_306 = x_303; +} else { + lean_dec_ref(x_303); + x_306 = lean_box(0); +} +if (lean_is_scalar(x_306)) { + x_307 = lean_alloc_ctor(0, 2, 0); +} else { + x_307 = x_306; +} +lean_ctor_set(x_307, 0, x_304); +lean_ctor_set(x_307, 1, x_305); +return x_307; +} +} +else +{ +lean_object* x_308; uint8_t x_309; +x_308 = lean_unsigned_to_nat(0u); +x_309 = lean_nat_dec_lt(x_308, x_296); +if (x_309 == 0) +{ +lean_object* x_310; +lean_dec(x_296); +lean_dec(x_293); +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); +x_310 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_310, 0, x_1); +lean_ctor_set(x_310, 1, x_294); +return x_310; +} +else +{ +size_t x_311; size_t x_312; lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; +x_311 = lean_usize_of_nat(x_296); +lean_dec(x_296); +x_312 = 0; +x_313 = l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__2(x_293, x_4, x_311, x_312, x_1, x_6, x_7, x_8, x_9, x_10, x_11, x_294); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +x_314 = lean_ctor_get(x_313, 0); +lean_inc(x_314); +x_315 = lean_ctor_get(x_313, 1); lean_inc(x_315); -lean_dec(x_239); -x_317 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_317, 0, x_315); -lean_ctor_set(x_317, 1, x_316); +if (lean_is_exclusive(x_313)) { + lean_ctor_release(x_313, 0); + lean_ctor_release(x_313, 1); + x_316 = x_313; +} else { + lean_dec_ref(x_313); + x_316 = lean_box(0); +} +if (lean_is_scalar(x_316)) { + x_317 = lean_alloc_ctor(0, 2, 0); +} else { + x_317 = x_316; +} +lean_ctor_set(x_317, 0, x_314); +lean_ctor_set(x_317, 1, x_315); return x_317; } } } -} -} -block_228: -{ -uint8_t x_207; -lean_dec(x_206); -x_207 = lean_nat_dec_le(x_205, x_205); -if (x_207 == 0) -{ -lean_object* x_208; uint8_t x_209; -x_208 = lean_unsigned_to_nat(0u); -x_209 = lean_nat_dec_lt(x_208, x_205); -if (x_209 == 0) -{ -lean_object* x_210; -lean_dec(x_205); -lean_dec(x_14); -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_is_scalar(x_16)) { - x_210 = lean_alloc_ctor(0, 2, 0); -} else { - x_210 = x_16; -} -lean_ctor_set(x_210, 0, x_1); -lean_ctor_set(x_210, 1, x_15); -return x_210; -} else { -size_t x_211; size_t x_212; lean_object* x_213; uint8_t x_214; -lean_dec(x_16); -x_211 = lean_usize_of_nat(x_205); -lean_dec(x_205); -x_212 = 0; -x_213 = l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__4(x_14, x_3, x_211, x_212, x_1, x_5, x_6, x_7, x_8, x_9, x_10, x_15); -lean_dec(x_10); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -x_214 = !lean_is_exclusive(x_213); -if (x_214 == 0) -{ -return x_213; -} -else -{ -lean_object* x_215; lean_object* x_216; lean_object* x_217; -x_215 = lean_ctor_get(x_213, 0); -x_216 = lean_ctor_get(x_213, 1); -lean_inc(x_216); -lean_inc(x_215); -lean_dec(x_213); -x_217 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_217, 0, x_215); -lean_ctor_set(x_217, 1, x_216); -return x_217; -} -} -} -else -{ -lean_object* x_218; uint8_t x_219; -x_218 = lean_unsigned_to_nat(0u); -x_219 = lean_nat_dec_lt(x_218, x_205); -if (x_219 == 0) -{ -lean_object* x_220; -lean_dec(x_205); -lean_dec(x_14); -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_is_scalar(x_16)) { - x_220 = lean_alloc_ctor(0, 2, 0); -} else { - x_220 = x_16; -} -lean_ctor_set(x_220, 0, x_1); -lean_ctor_set(x_220, 1, x_15); -return x_220; -} -else -{ -size_t x_221; size_t x_222; lean_object* x_223; uint8_t x_224; -lean_dec(x_16); -x_221 = lean_usize_of_nat(x_205); -lean_dec(x_205); -x_222 = 0; -x_223 = l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__5(x_14, x_3, x_221, x_222, x_1, x_5, x_6, x_7, x_8, x_9, x_10, x_15); -lean_dec(x_10); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -x_224 = !lean_is_exclusive(x_223); -if (x_224 == 0) -{ -return x_223; -} -else -{ -lean_object* x_225; lean_object* x_226; lean_object* x_227; -x_225 = lean_ctor_get(x_223, 0); -x_226 = lean_ctor_get(x_223, 1); -lean_inc(x_226); -lean_inc(x_225); -lean_dec(x_223); -x_227 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_227, 0, x_225); -lean_ctor_set(x_227, 1, x_226); -return x_227; -} -} -} -} -} -} -} -else -{ -uint8_t x_318; -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_318 = !lean_is_exclusive(x_13); -if (x_318 == 0) -{ -return x_13; -} -else -{ -lean_object* x_319; lean_object* x_320; lean_object* x_321; -x_319 = lean_ctor_get(x_13, 0); -x_320 = lean_ctor_get(x_13, 1); -lean_inc(x_320); -lean_inc(x_319); -lean_dec(x_13); -x_321 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_321, 0, x_319); -lean_ctor_set(x_321, 1, x_320); -return x_321; -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_10 = l_Lean_PrettyPrinter_Delaborator_SubExpr_getExpr___at_Lean_PrettyPrinter_Delaborator_getExprKind___spec__1(x_3, x_4, x_5, x_6, x_7, x_8, x_9); -x_11 = lean_ctor_get(x_10, 0); +lean_object* x_318; lean_object* x_319; +x_318 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2___closed__1; lean_inc(x_11); -x_12 = lean_ctor_get(x_10, 1); -lean_inc(x_12); -lean_dec(x_10); +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_11); -x_13 = l_Lean_Meta_isProp(x_11, x_5, x_6, x_7, x_8, x_12); -if (lean_obj_tag(x_13) == 0) +x_319 = l_Lean_PrettyPrinter_Delaborator_getPPOption(x_318, x_6, x_7, x_8, x_9, x_10, x_11, x_294); +if (lean_obj_tag(x_319) == 0) { -lean_object* x_14; lean_object* x_15; uint8_t x_16; lean_object* x_17; -x_14 = lean_ctor_get(x_13, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_13, 1); -lean_inc(x_15); -lean_dec(x_13); -x_16 = lean_unbox(x_14); -lean_dec(x_14); -x_17 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2(x_2, x_11, x_1, x_16, x_3, x_4, x_5, x_6, x_7, x_8, x_15); -return x_17; +lean_object* x_320; lean_object* x_321; lean_object* x_322; +x_320 = lean_ctor_get(x_319, 0); +lean_inc(x_320); +x_321 = lean_ctor_get(x_319, 1); +lean_inc(x_321); +lean_dec(x_319); +if (x_5 == 0) +{ +lean_object* x_351; +lean_dec(x_320); +x_351 = lean_box(0); +x_322 = x_351; +goto block_350; } else { -lean_object* x_18; uint8_t x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_13, 1); -lean_inc(x_18); -lean_dec(x_13); -x_19 = 0; -x_20 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2(x_2, x_11, x_1, x_19, x_3, x_4, x_5, x_6, x_7, x_8, x_18); -return x_20; +uint8_t x_352; +x_352 = lean_unbox(x_320); +lean_dec(x_320); +if (x_352 == 0) +{ +lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359; lean_object* x_360; lean_object* x_361; lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369; lean_object* x_370; lean_object* x_371; lean_object* x_372; lean_object* x_373; lean_object* x_374; +lean_dec(x_293); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +x_353 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__3___rarg(x_10, x_11, x_321); +lean_dec(x_11); +x_354 = lean_ctor_get(x_353, 0); +lean_inc(x_354); +x_355 = lean_ctor_get(x_353, 1); +lean_inc(x_355); +if (lean_is_exclusive(x_353)) { + lean_ctor_release(x_353, 0); + lean_ctor_release(x_353, 1); + x_356 = x_353; +} else { + lean_dec_ref(x_353); + x_356 = lean_box(0); +} +x_357 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1___closed__5; +lean_inc(x_354); +x_358 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_358, 0, x_354); +lean_ctor_set(x_358, 1, x_357); +x_359 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__12; +x_360 = l_Array_append___rarg(x_359, x_4); +x_361 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; +lean_inc(x_354); +x_362 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_362, 0, x_354); +lean_ctor_set(x_362, 1, x_361); +lean_ctor_set(x_362, 2, x_360); +lean_inc(x_354); +x_363 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_363, 0, x_354); +lean_ctor_set(x_363, 1, x_361); +lean_ctor_set(x_363, 2, x_359); +x_364 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__11; +lean_inc(x_354); +x_365 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_365, 0, x_354); +lean_ctor_set(x_365, 1, x_364); +x_366 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__2___closed__4; +x_367 = lean_array_push(x_366, x_358); +x_368 = lean_array_push(x_367, x_362); +x_369 = lean_array_push(x_368, x_363); +x_370 = lean_array_push(x_369, x_365); +x_371 = lean_array_push(x_370, x_1); +x_372 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1___closed__4; +x_373 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_373, 0, x_354); +lean_ctor_set(x_373, 1, x_372); +lean_ctor_set(x_373, 2, x_371); +if (lean_is_scalar(x_356)) { + x_374 = lean_alloc_ctor(0, 2, 0); +} else { + x_374 = x_356; +} +lean_ctor_set(x_374, 0, x_373); +lean_ctor_set(x_374, 1, x_355); +return x_374; +} +else +{ +lean_object* x_375; +x_375 = lean_box(0); +x_322 = x_375; +goto block_350; +} +} +block_350: +{ +lean_object* x_323; lean_object* x_324; lean_object* x_325; lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; lean_object* x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; +lean_dec(x_322); +lean_inc(x_10); +x_323 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__3___rarg(x_10, x_11, x_321); +x_324 = lean_ctor_get(x_323, 0); +lean_inc(x_324); +x_325 = lean_ctor_get(x_323, 1); +lean_inc(x_325); +lean_dec(x_323); +x_326 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__5; +lean_inc(x_324); +x_327 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_327, 0, x_324); +lean_ctor_set(x_327, 1, x_326); +x_328 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__12; +x_329 = l_Array_append___rarg(x_328, x_4); +x_330 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; +lean_inc(x_324); +x_331 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_331, 0, x_324); +lean_ctor_set(x_331, 1, x_330); +lean_ctor_set(x_331, 2, x_329); +x_332 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__8; +lean_inc(x_324); +x_333 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_333, 0, x_324); +lean_ctor_set(x_333, 1, x_332); +x_334 = l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___closed__11; +x_335 = lean_array_push(x_334, x_333); +x_336 = lean_array_push(x_335, x_293); +lean_inc(x_324); +x_337 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_337, 0, x_324); +lean_ctor_set(x_337, 1, x_330); +lean_ctor_set(x_337, 2, x_336); +lean_inc(x_324); +x_338 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_338, 0, x_324); +lean_ctor_set(x_338, 1, x_330); +lean_ctor_set(x_338, 2, x_328); +x_339 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__9; +lean_inc(x_324); +x_340 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_340, 0, x_324); +lean_ctor_set(x_340, 1, x_339); +x_341 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__2___closed__4; +x_342 = lean_array_push(x_341, x_327); +x_343 = lean_array_push(x_342, x_331); +x_344 = lean_array_push(x_343, x_337); +x_345 = lean_array_push(x_344, x_338); +x_346 = lean_array_push(x_345, x_340); +x_347 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2___closed__3; +x_348 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_348, 0, x_324); +lean_ctor_set(x_348, 1, x_347); +lean_ctor_set(x_348, 2, x_346); +x_349 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1(x_5, x_1, x_348, x_6, x_7, x_8, x_9, x_10, x_11, x_325); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +return x_349; +} +} +else +{ +lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; +lean_dec(x_293); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_1); +x_376 = lean_ctor_get(x_319, 0); +lean_inc(x_376); +x_377 = lean_ctor_get(x_319, 1); +lean_inc(x_377); +if (lean_is_exclusive(x_319)) { + lean_ctor_release(x_319, 0); + lean_ctor_release(x_319, 1); + x_378 = x_319; +} else { + lean_dec_ref(x_319); + x_378 = lean_box(0); +} +if (lean_is_scalar(x_378)) { + x_379 = lean_alloc_ctor(1, 2, 0); +} else { + x_379 = x_378; +} +lean_ctor_set(x_379, 0, x_376); +lean_ctor_set(x_379, 1, x_377); +return x_379; +} +} +} +case 1: +{ +lean_object* x_380; lean_object* x_381; lean_object* x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_395; lean_object* x_396; lean_object* x_397; lean_object* x_398; lean_object* x_399; lean_object* x_400; lean_object* x_401; lean_object* x_402; lean_object* x_403; lean_object* x_404; +lean_inc(x_10); +x_380 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__3___rarg(x_10, x_11, x_294); +x_381 = lean_ctor_get(x_380, 0); +lean_inc(x_381); +x_382 = lean_ctor_get(x_380, 1); +lean_inc(x_382); +lean_dec(x_380); +x_383 = l_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___lambda__3___closed__7; +lean_inc(x_381); +x_384 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_384, 0, x_381); +lean_ctor_set(x_384, 1, x_383); +x_385 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__12; +x_386 = l_Array_append___rarg(x_385, x_4); +x_387 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; +lean_inc(x_381); +x_388 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_388, 0, x_381); +lean_ctor_set(x_388, 1, x_387); +lean_ctor_set(x_388, 2, x_386); +x_389 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__8; +lean_inc(x_381); +x_390 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_390, 0, x_381); +lean_ctor_set(x_390, 1, x_389); +x_391 = l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___closed__11; +x_392 = lean_array_push(x_391, x_390); +x_393 = lean_array_push(x_392, x_293); +lean_inc(x_381); +x_394 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_394, 0, x_381); +lean_ctor_set(x_394, 1, x_387); +lean_ctor_set(x_394, 2, x_393); +x_395 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__13; +lean_inc(x_381); +x_396 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_396, 0, x_381); +lean_ctor_set(x_396, 1, x_395); +x_397 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__14; +x_398 = lean_array_push(x_397, x_384); +x_399 = lean_array_push(x_398, x_388); +x_400 = lean_array_push(x_399, x_394); +x_401 = lean_array_push(x_400, x_396); +x_402 = l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___closed__8; +x_403 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_403, 0, x_381); +lean_ctor_set(x_403, 1, x_402); +lean_ctor_set(x_403, 2, x_401); +x_404 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1(x_5, x_1, x_403, x_6, x_7, x_8, x_9, x_10, x_11, x_382); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +return x_404; +} +case 2: +{ +lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; lean_object* x_412; lean_object* x_413; lean_object* x_414; lean_object* x_415; lean_object* x_416; lean_object* x_417; lean_object* x_418; lean_object* x_419; lean_object* x_420; lean_object* x_421; lean_object* x_422; lean_object* x_423; lean_object* x_424; lean_object* x_425; lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; +lean_inc(x_10); +x_405 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__3___rarg(x_10, x_11, x_294); +x_406 = lean_ctor_get(x_405, 0); +lean_inc(x_406); +x_407 = lean_ctor_get(x_405, 1); +lean_inc(x_407); +lean_dec(x_405); +x_408 = l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___closed__11; +lean_inc(x_406); +x_409 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_409, 0, x_406); +lean_ctor_set(x_409, 1, x_408); +x_410 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__12; +x_411 = l_Array_append___rarg(x_410, x_4); +x_412 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; +lean_inc(x_406); +x_413 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_413, 0, x_406); +lean_ctor_set(x_413, 1, x_412); +lean_ctor_set(x_413, 2, x_411); +x_414 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__8; +lean_inc(x_406); +x_415 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_415, 0, x_406); +lean_ctor_set(x_415, 1, x_414); +x_416 = l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___closed__11; +x_417 = lean_array_push(x_416, x_415); +x_418 = lean_array_push(x_417, x_293); +lean_inc(x_406); +x_419 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_419, 0, x_406); +lean_ctor_set(x_419, 1, x_412); +lean_ctor_set(x_419, 2, x_418); +x_420 = l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___closed__12; +lean_inc(x_406); +x_421 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_421, 0, x_406); +lean_ctor_set(x_421, 1, x_420); +x_422 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__14; +x_423 = lean_array_push(x_422, x_409); +x_424 = lean_array_push(x_423, x_413); +x_425 = lean_array_push(x_424, x_419); +x_426 = lean_array_push(x_425, x_421); +x_427 = l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___closed__10; +x_428 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_428, 0, x_406); +lean_ctor_set(x_428, 1, x_427); +lean_ctor_set(x_428, 2, x_426); +x_429 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1(x_5, x_1, x_428, x_6, x_7, x_8, x_9, x_10, x_11, x_407); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +return x_429; +} +case 3: +{ +lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; lean_object* x_434; lean_object* x_435; lean_object* x_436; lean_object* x_437; lean_object* x_438; lean_object* x_439; lean_object* x_440; lean_object* x_441; lean_object* x_442; lean_object* x_443; lean_object* x_444; lean_object* x_445; lean_object* x_446; lean_object* x_447; lean_object* x_448; lean_object* x_449; lean_object* x_450; lean_object* x_451; lean_object* x_452; lean_object* x_453; +lean_inc(x_10); +x_430 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__3___rarg(x_10, x_11, x_294); +x_431 = lean_ctor_get(x_430, 0); +lean_inc(x_431); +x_432 = lean_ctor_get(x_430, 1); +lean_inc(x_432); +lean_dec(x_430); +x_433 = l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___closed__5; +lean_inc(x_431); +x_434 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_434, 0, x_431); +lean_ctor_set(x_434, 1, x_433); +x_435 = l_Lean_instInhabitedSyntax; +x_436 = l_Array_back___rarg(x_435, x_4); +lean_dec(x_4); +x_437 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__8; +lean_inc(x_431); +x_438 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_438, 0, x_431); +lean_ctor_set(x_438, 1, x_437); +x_439 = l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___closed__11; +x_440 = lean_array_push(x_439, x_436); +x_441 = lean_array_push(x_440, x_438); +x_442 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; +lean_inc(x_431); +x_443 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_443, 0, x_431); +lean_ctor_set(x_443, 1, x_442); +lean_ctor_set(x_443, 2, x_441); +x_444 = l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___closed__6; +lean_inc(x_431); +x_445 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_445, 0, x_431); +lean_ctor_set(x_445, 1, x_444); +x_446 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__14; +x_447 = lean_array_push(x_446, x_434); +x_448 = lean_array_push(x_447, x_443); +x_449 = lean_array_push(x_448, x_293); +x_450 = lean_array_push(x_449, x_445); +x_451 = l_Lean_PrettyPrinter_Delaborator_delabLam___lambda__3___closed__4; +x_452 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_452, 0, x_431); +lean_ctor_set(x_452, 1, x_451); +lean_ctor_set(x_452, 2, x_450); +x_453 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1(x_5, x_1, x_452, x_6, x_7, x_8, x_9, x_10, x_11, x_432); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +return x_453; +} +default: +{ +if (x_3 == 0) +{ +lean_object* x_454; uint8_t x_455; +x_454 = lean_array_get_size(x_4); +x_455 = lean_nat_dec_le(x_454, x_454); +if (x_455 == 0) +{ +lean_object* x_456; uint8_t x_457; +x_456 = lean_unsigned_to_nat(0u); +x_457 = lean_nat_dec_lt(x_456, x_454); +if (x_457 == 0) +{ +lean_object* x_458; +lean_dec(x_454); +lean_dec(x_293); +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); +x_458 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_458, 0, x_1); +lean_ctor_set(x_458, 1, x_294); +return x_458; +} +else +{ +size_t x_459; size_t x_460; lean_object* x_461; lean_object* x_462; lean_object* x_463; lean_object* x_464; lean_object* x_465; +x_459 = lean_usize_of_nat(x_454); +lean_dec(x_454); +x_460 = 0; +x_461 = l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__3(x_293, x_4, x_459, x_460, x_1, x_6, x_7, x_8, x_9, x_10, x_11, x_294); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +x_462 = lean_ctor_get(x_461, 0); +lean_inc(x_462); +x_463 = lean_ctor_get(x_461, 1); +lean_inc(x_463); +if (lean_is_exclusive(x_461)) { + lean_ctor_release(x_461, 0); + lean_ctor_release(x_461, 1); + x_464 = x_461; +} else { + lean_dec_ref(x_461); + x_464 = lean_box(0); +} +if (lean_is_scalar(x_464)) { + x_465 = lean_alloc_ctor(0, 2, 0); +} else { + x_465 = x_464; +} +lean_ctor_set(x_465, 0, x_462); +lean_ctor_set(x_465, 1, x_463); +return x_465; +} +} +else +{ +lean_object* x_466; uint8_t x_467; +x_466 = lean_unsigned_to_nat(0u); +x_467 = lean_nat_dec_lt(x_466, x_454); +if (x_467 == 0) +{ +lean_object* x_468; +lean_dec(x_454); +lean_dec(x_293); +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); +x_468 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_468, 0, x_1); +lean_ctor_set(x_468, 1, x_294); +return x_468; +} +else +{ +size_t x_469; size_t x_470; lean_object* x_471; lean_object* x_472; lean_object* x_473; lean_object* x_474; lean_object* x_475; +x_469 = lean_usize_of_nat(x_454); +lean_dec(x_454); +x_470 = 0; +x_471 = l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__4(x_293, x_4, x_469, x_470, x_1, x_6, x_7, x_8, x_9, x_10, x_11, x_294); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +x_472 = lean_ctor_get(x_471, 0); +lean_inc(x_472); +x_473 = lean_ctor_get(x_471, 1); +lean_inc(x_473); +if (lean_is_exclusive(x_471)) { + lean_ctor_release(x_471, 0); + lean_ctor_release(x_471, 1); + x_474 = x_471; +} else { + lean_dec_ref(x_471); + x_474 = lean_box(0); +} +if (lean_is_scalar(x_474)) { + x_475 = lean_alloc_ctor(0, 2, 0); +} else { + x_475 = x_474; +} +lean_ctor_set(x_475, 0, x_472); +lean_ctor_set(x_475, 1, x_473); +return x_475; +} +} +} +else +{ +lean_object* x_476; lean_object* x_477; +x_476 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2___closed__1; +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_477 = l_Lean_PrettyPrinter_Delaborator_getPPOption(x_476, x_6, x_7, x_8, x_9, x_10, x_11, x_294); +if (lean_obj_tag(x_477) == 0) +{ +lean_object* x_478; lean_object* x_479; lean_object* x_480; +x_478 = lean_ctor_get(x_477, 0); +lean_inc(x_478); +x_479 = lean_ctor_get(x_477, 1); +lean_inc(x_479); +lean_dec(x_477); +if (x_5 == 0) +{ +lean_object* x_509; +lean_dec(x_478); +x_509 = lean_box(0); +x_480 = x_509; +goto block_508; +} +else +{ +uint8_t x_510; +x_510 = lean_unbox(x_478); +lean_dec(x_478); +if (x_510 == 0) +{ +lean_object* x_511; lean_object* x_512; lean_object* x_513; lean_object* x_514; lean_object* x_515; lean_object* x_516; lean_object* x_517; lean_object* x_518; lean_object* x_519; lean_object* x_520; lean_object* x_521; lean_object* x_522; lean_object* x_523; lean_object* x_524; lean_object* x_525; lean_object* x_526; lean_object* x_527; lean_object* x_528; lean_object* x_529; lean_object* x_530; lean_object* x_531; lean_object* x_532; +lean_dec(x_293); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +x_511 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__3___rarg(x_10, x_11, x_479); +lean_dec(x_11); +x_512 = lean_ctor_get(x_511, 0); +lean_inc(x_512); +x_513 = lean_ctor_get(x_511, 1); +lean_inc(x_513); +if (lean_is_exclusive(x_511)) { + lean_ctor_release(x_511, 0); + lean_ctor_release(x_511, 1); + x_514 = x_511; +} else { + lean_dec_ref(x_511); + x_514 = lean_box(0); +} +x_515 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1___closed__5; +lean_inc(x_512); +x_516 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_516, 0, x_512); +lean_ctor_set(x_516, 1, x_515); +x_517 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__12; +x_518 = l_Array_append___rarg(x_517, x_4); +x_519 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; +lean_inc(x_512); +x_520 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_520, 0, x_512); +lean_ctor_set(x_520, 1, x_519); +lean_ctor_set(x_520, 2, x_518); +lean_inc(x_512); +x_521 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_521, 0, x_512); +lean_ctor_set(x_521, 1, x_519); +lean_ctor_set(x_521, 2, x_517); +x_522 = l_Lean_PrettyPrinter_Delaborator_delabConst___closed__11; +lean_inc(x_512); +x_523 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_523, 0, x_512); +lean_ctor_set(x_523, 1, x_522); +x_524 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__2___closed__4; +x_525 = lean_array_push(x_524, x_516); +x_526 = lean_array_push(x_525, x_520); +x_527 = lean_array_push(x_526, x_521); +x_528 = lean_array_push(x_527, x_523); +x_529 = lean_array_push(x_528, x_1); +x_530 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1___closed__4; +x_531 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_531, 0, x_512); +lean_ctor_set(x_531, 1, x_530); +lean_ctor_set(x_531, 2, x_529); +if (lean_is_scalar(x_514)) { + x_532 = lean_alloc_ctor(0, 2, 0); +} else { + x_532 = x_514; +} +lean_ctor_set(x_532, 0, x_531); +lean_ctor_set(x_532, 1, x_513); +return x_532; +} +else +{ +lean_object* x_533; +x_533 = lean_box(0); +x_480 = x_533; +goto block_508; +} +} +block_508: +{ +lean_object* x_481; lean_object* x_482; lean_object* x_483; lean_object* x_484; lean_object* x_485; lean_object* x_486; lean_object* x_487; lean_object* x_488; lean_object* x_489; lean_object* x_490; lean_object* x_491; lean_object* x_492; lean_object* x_493; lean_object* x_494; lean_object* x_495; lean_object* x_496; lean_object* x_497; lean_object* x_498; lean_object* x_499; lean_object* x_500; lean_object* x_501; lean_object* x_502; lean_object* x_503; lean_object* x_504; lean_object* x_505; lean_object* x_506; lean_object* x_507; +lean_dec(x_480); +lean_inc(x_10); +x_481 = l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_PrettyPrinter_Delaborator_delab___spec__3___rarg(x_10, x_11, x_479); +x_482 = lean_ctor_get(x_481, 0); +lean_inc(x_482); +x_483 = lean_ctor_get(x_481, 1); +lean_inc(x_483); +lean_dec(x_481); +x_484 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__5; +lean_inc(x_482); +x_485 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_485, 0, x_482); +lean_ctor_set(x_485, 1, x_484); +x_486 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__12; +x_487 = l_Array_append___rarg(x_486, x_4); +x_488 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__11; +lean_inc(x_482); +x_489 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_489, 0, x_482); +lean_ctor_set(x_489, 1, x_488); +lean_ctor_set(x_489, 2, x_487); +x_490 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__8; +lean_inc(x_482); +x_491 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_491, 0, x_482); +lean_ctor_set(x_491, 1, x_490); +x_492 = l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___closed__11; +x_493 = lean_array_push(x_492, x_491); +x_494 = lean_array_push(x_493, x_293); +lean_inc(x_482); +x_495 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_495, 0, x_482); +lean_ctor_set(x_495, 1, x_488); +lean_ctor_set(x_495, 2, x_494); +lean_inc(x_482); +x_496 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_496, 0, x_482); +lean_ctor_set(x_496, 1, x_488); +lean_ctor_set(x_496, 2, x_486); +x_497 = l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__9; +lean_inc(x_482); +x_498 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_498, 0, x_482); +lean_ctor_set(x_498, 1, x_497); +x_499 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicit___lambda__2___closed__4; +x_500 = lean_array_push(x_499, x_485); +x_501 = lean_array_push(x_500, x_489); +x_502 = lean_array_push(x_501, x_495); +x_503 = lean_array_push(x_502, x_496); +x_504 = lean_array_push(x_503, x_498); +x_505 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2___closed__3; +x_506 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_506, 0, x_482); +lean_ctor_set(x_506, 1, x_505); +lean_ctor_set(x_506, 2, x_504); +x_507 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__1(x_5, x_1, x_506, x_6, x_7, x_8, x_9, x_10, x_11, x_483); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +return x_507; +} +} +else +{ +lean_object* x_534; lean_object* x_535; lean_object* x_536; lean_object* x_537; +lean_dec(x_293); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_1); +x_534 = lean_ctor_get(x_477, 0); +lean_inc(x_534); +x_535 = lean_ctor_get(x_477, 1); +lean_inc(x_535); +if (lean_is_exclusive(x_477)) { + lean_ctor_release(x_477, 0); + lean_ctor_release(x_477, 1); + x_536 = x_477; +} else { + lean_dec_ref(x_477); + x_536 = lean_box(0); +} +if (lean_is_scalar(x_536)) { + x_537 = lean_alloc_ctor(1, 2, 0); +} else { + x_537 = x_536; +} +lean_ctor_set(x_537, 0, x_534); +lean_ctor_set(x_537, 1, x_535); +return x_537; +} +} +} +} +} +} +else +{ +uint8_t x_538; +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_2); +lean_dec(x_1); +x_538 = !lean_is_exclusive(x_14); +if (x_538 == 0) +{ +return x_14; +} +else +{ +lean_object* x_539; lean_object* x_540; lean_object* x_541; +x_539 = lean_ctor_get(x_14, 0); +x_540 = lean_ctor_get(x_14, 1); +lean_inc(x_540); +lean_inc(x_539); +lean_dec(x_14); +x_541 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_541, 0, x_539); +lean_ctor_set(x_541, 1, x_540); +return x_541; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__3(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_11 = l_Lean_PrettyPrinter_Delaborator_SubExpr_getExpr___at_Lean_PrettyPrinter_Delaborator_getExprKind___spec__1(x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_11, 1); +lean_inc(x_13); +lean_dec(x_11); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_12); +x_14 = l_Lean_Meta_isProp(x_12, x_6, x_7, x_8, x_9, x_13); +if (lean_obj_tag(x_14) == 0) +{ +lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; +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_unbox(x_15); +lean_dec(x_15); +x_18 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2(x_3, x_12, x_2, x_1, x_17, x_4, x_5, x_6, x_7, x_8, x_9, x_16); +return x_18; +} +else +{ +lean_object* x_19; uint8_t x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_14, 1); +lean_inc(x_19); +lean_dec(x_14); +x_20 = 0; +x_21 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2(x_3, x_12, x_2, x_1, x_20, x_4, x_5, x_6, x_7, x_8, x_9, x_19); +return x_21; } } } @@ -23520,18 +24512,19 @@ static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delabForall___closed_ _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__3), 9, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__3___boxed), 10, 0); return x_1; } } LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabForall(lean_object* x_1, 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_8; lean_object* x_9; uint8_t x_10; lean_object* x_11; x_8 = l_Lean_PrettyPrinter_Delaborator_delabForall___closed__1; x_9 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__12; -x_10 = l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabBinders(x_8, x_9, x_1, x_2, x_3, x_4, x_5, x_6, x_7); -return x_10; +x_10 = 0; +x_11 = l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_delabForallBinders(x_8, x_9, x_10, x_1, x_2, x_3, x_4, x_5, x_6, x_7); +return x_11; } } LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___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) { @@ -23570,18 +24563,22 @@ lean_dec(x_2); return x_15; } } -LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { -size_t x_5; size_t x_6; uint8_t x_7; lean_object* x_8; -x_5 = lean_unbox_usize(x_3); +size_t x_13; size_t x_14; lean_object* x_15; +x_13 = lean_unbox_usize(x_3); lean_dec(x_3); -x_6 = lean_unbox_usize(x_4); +x_14 = lean_unbox_usize(x_4); lean_dec(x_4); -x_7 = l_Array_anyMUnsafe_any___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__3(x_1, x_2, x_5, x_6); +x_15 = l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__3(x_1, x_2, x_13, x_14, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); lean_dec(x_2); -x_8 = lean_box(x_7); -return x_8; +return x_15; } } LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___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) { @@ -23602,38 +24599,6 @@ lean_dec(x_2); return x_15; } } -LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -size_t x_13; size_t x_14; lean_object* x_15; -x_13 = lean_unbox_usize(x_3); -lean_dec(x_3); -x_14 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_15 = l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__5(x_1, x_2, x_13, x_14, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_2); -return x_15; -} -} -LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__6___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_Lean_PrettyPrinter_Delaborator_delabForall___spec__6(x_1, x_2, x_5, x_6); -lean_dec(x_2); -x_8 = lean_box(x_7); -return x_8; -} -} LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabForall___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: { @@ -23649,14 +24614,26 @@ lean_dec(x_4); return x_12; } } -LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { -uint8_t x_12; lean_object* x_13; -x_12 = lean_unbox(x_4); -lean_dec(x_4); -x_13 = l_Lean_PrettyPrinter_Delaborator_delabForall___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; +uint8_t x_13; uint8_t x_14; lean_object* x_15; +x_13 = lean_unbox(x_3); +lean_dec(x_3); +x_14 = lean_unbox(x_5); +lean_dec(x_5); +x_15 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__2(x_1, x_2, x_13, x_4, x_14, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +return x_15; +} +} +LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +uint8_t x_11; lean_object* x_12; +x_11 = lean_unbox(x_2); +lean_dec(x_2); +x_12 = l_Lean_PrettyPrinter_Delaborator_delabForall___lambda__3(x_1, x_11, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +return x_12; } } static lean_object* _init_l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabForall___closed__1() { @@ -23811,7 +24788,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_PrettyPrinter_Delaborator_delabFVar___closed__1; x_2 = l_Lean_PrettyPrinter_Delaborator_delabLetE___closed__1; -x_3 = lean_unsigned_to_nat(585u); +x_3 = lean_unsigned_to_nat(602u); x_4 = lean_unsigned_to_nat(38u); x_5 = l_Lean_PrettyPrinter_Delaborator_delabFVar___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -24579,7 +25556,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_PrettyPrinter_Delaborator_delabFVar___closed__1; x_2 = l_Lean_PrettyPrinter_Delaborator_delabLit___closed__1; -x_3 = lean_unsigned_to_nat(598u); +x_3 = lean_unsigned_to_nat(615u); x_4 = lean_unsigned_to_nat(29u); x_5 = l_Lean_PrettyPrinter_Delaborator_delabFVar___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -25972,7 +26949,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_PrettyPrinter_Delaborator_delabFVar___closed__1; x_2 = l_Lean_PrettyPrinter_Delaborator_delabProj___closed__1; -x_3 = lean_unsigned_to_nat(637u); +x_3 = lean_unsigned_to_nat(654u); x_4 = lean_unsigned_to_nat(36u); x_5 = l_Lean_PrettyPrinter_Delaborator_delabFVar___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -29950,7 +30927,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_PrettyPrinter_Delaborator_delabFVar___closed__1; x_2 = l_Lean_PrettyPrinter_Delaborator_delabDoElems___closed__5; -x_3 = lean_unsigned_to_nat(739u); +x_3 = lean_unsigned_to_nat(756u); x_4 = lean_unsigned_to_nat(40u); x_5 = l_Lean_PrettyPrinter_Delaborator_delabFVar___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -32031,14 +33008,14 @@ l_Lean_getConstInfo___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__2_ lean_mark_persistent(l_Lean_getConstInfo___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__2___closed__3); l_Lean_getConstInfo___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__2___closed__4 = _init_l_Lean_getConstInfo___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__2___closed__4(); lean_mark_persistent(l_Lean_getConstInfo___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__2___closed__4); -l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__1 = _init_l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__1(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__1); -l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__2 = _init_l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__2(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__2); -l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__3 = _init_l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__3(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__10___closed__3); -l_panic___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__12___closed__1 = _init_l_panic___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__12___closed__1(); -lean_mark_persistent(l_panic___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__12___closed__1); +l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__1 = _init_l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__1(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__1); +l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__2 = _init_l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__2(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__2); +l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__3 = _init_l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__3(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__11___closed__3); +l_panic___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__13___closed__1 = _init_l_panic___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__13___closed__1(); +lean_mark_persistent(l_panic___at_Lean_PrettyPrinter_Delaborator_delabAppMatch___spec__13___closed__1); l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambda__4___closed__1 = _init_l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambda__4___closed__1(); lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambda__4___closed__1); l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambda__4___closed__2 = _init_l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambda__4___closed__2(); diff --git a/stage0/stdlib/Lean/PrettyPrinter/Formatter.c b/stage0/stdlib/Lean/PrettyPrinter/Formatter.c index 28a63ee988..930acdca38 100644 --- a/stage0/stdlib/Lean/PrettyPrinter/Formatter.c +++ b/stage0/stdlib/Lean/PrettyPrinter/Formatter.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.PrettyPrinter.Formatter -// Imports: Init Lean.CoreM Lean.Parser.Extension Lean.KeyedDeclsAttribute Lean.ParserCompiler.Attribute Lean.PrettyPrinter.Basic +// Imports: Init Lean.CoreM Lean.Parser.Extension Lean.Parser.StrInterpolation Lean.KeyedDeclsAttribute Lean.ParserCompiler.Attribute Lean.PrettyPrinter.Basic #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -7574,7 +7574,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_PrettyPrinter_Formatter_symbolNoAntiquot_formatter___closed__5; x_2 = l_Lean_PrettyPrinter_Formatter_symbolNoAntiquot_formatter___closed__6; -x_3 = lean_unsigned_to_nat(376u); +x_3 = lean_unsigned_to_nat(377u); x_4 = lean_unsigned_to_nat(42u); x_5 = l_Lean_PrettyPrinter_Formatter_symbolNoAntiquot_formatter___closed__7; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -10853,6 +10853,7 @@ return x_4; lean_object* initialize_Init(uint8_t builtin, lean_object*); lean_object* initialize_Lean_CoreM(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Parser_Extension(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Parser_StrInterpolation(uint8_t builtin, lean_object*); lean_object* initialize_Lean_KeyedDeclsAttribute(uint8_t builtin, lean_object*); lean_object* initialize_Lean_ParserCompiler_Attribute(uint8_t builtin, lean_object*); lean_object* initialize_Lean_PrettyPrinter_Basic(uint8_t builtin, lean_object*); @@ -10870,6 +10871,9 @@ lean_dec_ref(res); res = initialize_Lean_Parser_Extension(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Parser_StrInterpolation(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); res = initialize_Lean_KeyedDeclsAttribute(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/PrettyPrinter/Parenthesizer.c b/stage0/stdlib/Lean/PrettyPrinter/Parenthesizer.c index 550d03cfad..f46667ccc8 100644 --- a/stage0/stdlib/Lean/PrettyPrinter/Parenthesizer.c +++ b/stage0/stdlib/Lean/PrettyPrinter/Parenthesizer.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.PrettyPrinter.Parenthesizer -// Imports: Init Lean.CoreM Lean.KeyedDeclsAttribute Lean.Parser.Extension Lean.ParserCompiler.Attribute Lean.PrettyPrinter.Basic +// Imports: Init Lean.Parser.Extension Lean.Parser.StrInterpolation Lean.ParserCompiler.Attribute Lean.PrettyPrinter.Basic #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -10661,9 +10661,8 @@ return x_4; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_CoreM(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_KeyedDeclsAttribute(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Parser_Extension(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Parser_StrInterpolation(uint8_t builtin, lean_object*); lean_object* initialize_Lean_ParserCompiler_Attribute(uint8_t builtin, lean_object*); lean_object* initialize_Lean_PrettyPrinter_Basic(uint8_t builtin, lean_object*); static bool _G_initialized = false; @@ -10674,15 +10673,12 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_CoreM(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_KeyedDeclsAttribute(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Parser_Extension(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Parser_StrInterpolation(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); res = initialize_Lean_ParserCompiler_Attribute(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Server/Completion.c b/stage0/stdlib/Lean/Server/Completion.c index dcc549f27f..2f5624877a 100644 --- a/stage0/stdlib/Lean/Server/Completion.c +++ b/stage0/stdlib/Lean/Server/Completion.c @@ -84,7 +84,6 @@ LEAN_EXPORT lean_object* l_Std_AssocList_forM___at___private_Lean_Server_Complet uint8_t lean_name_eq(lean_object*, lean_object*); lean_object* lean_private_to_user_name(lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_forM___at_Lean_Server_Completion_completeNamespaces___spec__4(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_forallTelescopeCompatibleAux___spec__15___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_forIn_loop___at___private_Lean_Server_Completion_0__Lean_Server_Completion_idCompletionCore___spec__17___closed__2; LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___private_Lean_Server_Completion_0__Lean_Server_Completion_dotCompletion___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_instInhabitedNat; @@ -349,6 +348,7 @@ lean_object* lean_data_value_to_string(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Server_Completion_0__Lean_Server_Completion_getDotCompletionTypeNames(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Server_Completion_0__Lean_Server_Completion_getCompletionKindForDecl___closed__6; uint8_t lean_is_aux_recursor(lean_object*, lean_object*); +lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_SynthInstance_removeUnusedArguments_x3f___spec__2___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Server_Completion_completeNamespaces___spec__7(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Server_Completion_0__Lean_Server_Completion_idCompletionCore___spec__27(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Server_Completion_0__Lean_Server_Completion_fieldIdCompletion___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -825,7 +825,7 @@ lean_dec(x_1); x_15 = lean_alloc_closure((void*)(l___private_Lean_Server_Completion_0__Lean_Server_Completion_consumeImplicitPrefix___rarg___lambda__1), 8, 2); lean_closure_set(x_15, 0, x_10); lean_closure_set(x_15, 1, x_2); -x_16 = l_Lean_Meta_withLocalDecl___at_Lean_Meta_forallTelescopeCompatibleAux___spec__15___rarg(x_8, x_11, x_9, x_15, x_3, x_4, x_5, x_6, x_7); +x_16 = l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_SynthInstance_removeUnusedArguments_x3f___spec__2___rarg(x_8, x_11, x_9, x_15, x_3, x_4, x_5, x_6, x_7); return x_16; } } @@ -2300,6 +2300,7 @@ return x_28; else { uint8_t x_29; +lean_dec(x_1); x_29 = !lean_is_exclusive(x_11); if (x_29 == 0) { @@ -2440,6 +2441,7 @@ else { uint8_t x_71; lean_dec(x_3); +lean_dec(x_1); x_71 = !lean_is_exclusive(x_11); if (x_71 == 0) { @@ -2481,7 +2483,6 @@ uint8_t x_10; lean_object* x_11; x_10 = lean_unbox(x_4); lean_dec(x_4); x_11 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_mkCompletionItem(x_1, x_2, x_3, x_10, x_5, x_6, x_7, x_8, x_9); -lean_dec(x_1); return x_11; } } @@ -2806,7 +2807,6 @@ x_14 = lean_unbox_float(x_5); lean_dec(x_5); x_15 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addCompletionItem___lambda__1(x_1, x_2, x_13, x_4, x_14, x_6, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_7); -lean_dec(x_1); return x_15; } } @@ -2820,7 +2820,6 @@ x_14 = lean_unbox_float(x_6); lean_dec(x_6); x_15 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addCompletionItem(x_1, x_2, x_3, x_4, x_13, x_14, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_7); -lean_dec(x_1); return x_15; } } @@ -4334,6 +4333,7 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_3); lean_dec(x_2); +lean_dec(x_1); x_17 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addCompletionItem___lambda__1___closed__1; lean_ctor_set(x_11, 0, x_17); return x_11; @@ -4365,6 +4365,7 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_3); lean_dec(x_2); +lean_dec(x_1); x_21 = !lean_is_exclusive(x_19); if (x_21 == 0) { @@ -4434,6 +4435,7 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_3); lean_dec(x_2); +lean_dec(x_1); x_38 = !lean_is_exclusive(x_19); if (x_38 == 0) { @@ -4477,6 +4479,7 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_3); lean_dec(x_2); +lean_dec(x_1); x_46 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addCompletionItem___lambda__1___closed__1; x_47 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_47, 0, x_46); @@ -4509,6 +4512,7 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_3); lean_dec(x_2); +lean_dec(x_1); x_51 = lean_ctor_get(x_49, 1); lean_inc(x_51); if (lean_is_exclusive(x_49)) { @@ -4568,6 +4572,7 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_3); lean_dec(x_2); +lean_dec(x_1); x_62 = lean_ctor_get(x_49, 0); lean_inc(x_62); x_63 = lean_ctor_get(x_49, 1); @@ -4601,7 +4606,6 @@ x_11 = lean_unbox_float(x_4); lean_dec(x_4); x_12 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addCompletionItemForDecl(x_1, x_2, x_3, x_11, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec(x_5); -lean_dec(x_1); return x_12; } } @@ -7853,7 +7857,6 @@ lean_inc(x_11); lean_inc(x_10); lean_inc(x_1); x_71 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addCompletionItem(x_59, x_68, x_1, x_62, x_69, x_70, x_9, x_10, x_11, x_12, x_13, x_65); -lean_dec(x_59); if (lean_obj_tag(x_71) == 0) { lean_object* x_72; @@ -7934,7 +7937,6 @@ lean_inc(x_11); lean_inc(x_10); lean_inc(x_1); x_86 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addCompletionItem(x_59, x_82, x_1, x_83, x_84, x_85, x_9, x_10, x_11, x_12, x_13, x_65); -lean_dec(x_59); if (lean_obj_tag(x_86) == 0) { lean_object* x_87; @@ -8639,6 +8641,7 @@ lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); +lean_dec(x_2); lean_dec(x_1); x_11 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addCompletionItem___lambda__1___closed__1; x_12 = lean_alloc_ctor(0, 2, 0); @@ -8671,6 +8674,7 @@ lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_1); +lean_inc(x_2); x_19 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addCompletionItemForDecl(x_2, x_13, x_1, x_3, x_5, x_6, x_7, x_8, x_9, x_18); if (lean_obj_tag(x_19) == 0) { @@ -8685,6 +8689,7 @@ lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); +lean_dec(x_2); lean_dec(x_1); x_21 = !lean_is_exclusive(x_19); if (x_21 == 0) @@ -8729,6 +8734,7 @@ lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); +lean_dec(x_2); lean_dec(x_1); x_29 = !lean_is_exclusive(x_19); if (x_29 == 0) @@ -8774,6 +8780,7 @@ lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); +lean_dec(x_2); lean_dec(x_1); x_11 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addCompletionItem___lambda__1___closed__1; x_12 = lean_alloc_ctor(0, 2, 0); @@ -8806,6 +8813,7 @@ lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_1); +lean_inc(x_2); x_19 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addCompletionItemForDecl(x_2, x_13, x_1, x_3, x_5, x_6, x_7, x_8, x_9, x_18); if (lean_obj_tag(x_19) == 0) { @@ -8820,6 +8828,7 @@ lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); +lean_dec(x_2); lean_dec(x_1); x_21 = !lean_is_exclusive(x_19); if (x_21 == 0) @@ -8864,6 +8873,7 @@ lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); +lean_dec(x_2); lean_dec(x_1); x_29 = !lean_is_exclusive(x_19); if (x_29 == 0) @@ -9814,7 +9824,6 @@ x_21 = lean_unbox_float(x_20); lean_dec(x_20); x_22 = l_List_forM___at___private_Lean_Server_Completion_0__Lean_Server_Completion_idCompletionCore___spec__8(x_3, x_4, x_21, x_5, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_6); -lean_dec(x_4); return x_22; } } @@ -9995,7 +10004,6 @@ lean_inc(x_8); lean_inc(x_7); lean_inc(x_1); x_47 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addCompletionItemForDecl(x_37, x_38, x_1, x_46, x_6, x_7, x_8, x_9, x_10, x_42); -lean_dec(x_37); if (lean_obj_tag(x_47) == 0) { lean_object* x_48; @@ -11090,7 +11098,6 @@ lean_inc(x_10); lean_inc(x_9); lean_inc(x_1); x_77 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addCompletionItem(x_69, x_73, x_1, x_74, x_75, x_76, x_8, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_69); if (lean_obj_tag(x_77) == 0) { lean_object* x_78; @@ -11850,7 +11857,6 @@ lean_inc(x_10); lean_inc(x_9); lean_inc(x_1); x_59 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addCompletionItem(x_51, x_55, x_1, x_56, x_57, x_58, x_8, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_51); if (lean_obj_tag(x_59) == 0) { lean_object* x_60; @@ -12687,7 +12693,6 @@ lean_dec(x_35); x_38 = lean_unbox_float(x_24); lean_dec(x_24); x_39 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addCompletionItem(x_23, x_36, x_5, x_26, x_37, x_38, x_7, x_8, x_9, x_10, x_11, x_33); -lean_dec(x_23); if (lean_obj_tag(x_39) == 0) { lean_object* x_40; @@ -12784,7 +12789,6 @@ lean_dec(x_57); x_61 = lean_unbox_float(x_24); lean_dec(x_24); x_62 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addCompletionItem(x_23, x_58, x_5, x_59, x_60, x_61, x_7, x_8, x_9, x_10, x_11, x_33); -lean_dec(x_23); if (lean_obj_tag(x_62) == 0) { lean_object* x_63; @@ -13309,7 +13313,6 @@ lean_inc(x_9); lean_inc(x_8); lean_inc(x_3); x_50 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addCompletionItem(x_38, x_47, x_3, x_41, x_48, x_49, x_7, x_8, x_9, x_10, x_11, x_44); -lean_dec(x_38); if (lean_obj_tag(x_50) == 0) { lean_object* x_51; @@ -13394,7 +13397,6 @@ lean_inc(x_9); lean_inc(x_8); lean_inc(x_3); x_65 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addCompletionItem(x_38, x_61, x_3, x_62, x_63, x_64, x_7, x_8, x_9, x_10, x_11, x_44); -lean_dec(x_38); if (lean_obj_tag(x_65) == 0) { lean_object* x_66; @@ -14177,7 +14179,6 @@ x_11 = lean_unbox_float(x_3); lean_dec(x_3); x_12 = l_List_forM___at___private_Lean_Server_Completion_0__Lean_Server_Completion_idCompletionCore___spec__7(x_1, x_2, x_11, x_4, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec(x_5); -lean_dec(x_2); return x_12; } } @@ -14189,7 +14190,6 @@ x_11 = lean_unbox_float(x_3); lean_dec(x_3); x_12 = l_List_forM___at___private_Lean_Server_Completion_0__Lean_Server_Completion_idCompletionCore___spec__8(x_1, x_2, x_11, x_4, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec(x_5); -lean_dec(x_2); return x_12; } } @@ -14402,7 +14402,6 @@ x_11 = lean_unbox_float(x_4); lean_dec(x_4); x_12 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_idCompletionCore___lambda__6(x_1, x_2, x_3, x_11, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec(x_5); -lean_dec(x_2); return x_12; } } @@ -15636,6 +15635,7 @@ if (x_42 == 0) { lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; double x_48; uint8_t x_49; lean_object* x_50; x_43 = lean_ctor_get(x_34, 0); +lean_inc(x_18); x_44 = l_Lean_Name_getString_x21(x_18); x_45 = lean_box(0); x_46 = l_Lean_Name_str___override(x_45, x_44); @@ -15645,7 +15645,6 @@ x_48 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addKeywordCo x_49 = lean_unbox(x_43); lean_dec(x_43); x_50 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addCompletionItem(x_46, x_47, x_2, x_34, x_49, x_48, x_5, x_6, x_7, x_8, x_9, x_41); -lean_dec(x_46); return x_50; } else @@ -15654,6 +15653,7 @@ lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean x_51 = lean_ctor_get(x_34, 0); lean_inc(x_51); lean_dec(x_34); +lean_inc(x_18); x_52 = l_Lean_Name_getString_x21(x_18); x_53 = lean_box(0); x_54 = l_Lean_Name_str___override(x_53, x_52); @@ -15664,7 +15664,6 @@ x_57 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addKeywordCo x_58 = lean_unbox(x_51); lean_dec(x_51); x_59 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addCompletionItem(x_54, x_55, x_2, x_56, x_58, x_57, x_5, x_6, x_7, x_8, x_9, x_41); -lean_dec(x_54); return x_59; } } @@ -15906,6 +15905,7 @@ if (lean_is_exclusive(x_94)) { lean_dec_ref(x_94); x_101 = lean_box(0); } +lean_inc(x_80); x_102 = l_Lean_Name_getString_x21(x_80); x_103 = lean_box(0); x_104 = l_Lean_Name_str___override(x_103, x_102); @@ -15920,7 +15920,6 @@ x_107 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addKeywordC x_108 = lean_unbox(x_100); lean_dec(x_100); x_109 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addCompletionItem(x_104, x_105, x_2, x_106, x_108, x_107, x_5, x_6, x_7, x_8, x_9, x_99); -lean_dec(x_104); return x_109; } } @@ -16616,7 +16615,6 @@ lean_dec(x_35); x_38 = lean_unbox_float(x_24); lean_dec(x_24); x_39 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addCompletionItem(x_23, x_36, x_3, x_26, x_37, x_38, x_6, x_7, x_8, x_9, x_10, x_33); -lean_dec(x_23); return x_39; } else @@ -16633,7 +16631,6 @@ lean_dec(x_40); x_44 = lean_unbox_float(x_24); lean_dec(x_24); x_45 = l___private_Lean_Server_Completion_0__Lean_Server_Completion_addCompletionItem(x_23, x_41, x_3, x_42, x_43, x_44, x_6, x_7, x_8, x_9, x_10, x_33); -lean_dec(x_23); return x_45; } } diff --git a/stage0/stdlib/Lean/Server/FileWorker.c b/stage0/stdlib/Lean/Server/FileWorker.c index 51dfb73318..35574e2995 100644 --- a/stage0/stdlib/Lean/Server/FileWorker.c +++ b/stage0/stdlib/Lean/Server/FileWorker.c @@ -36,7 +36,6 @@ static lean_object* l_IO_FS_Stream_readRequestAs___at_Lean_Server_FileWorker_ini LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleRequest___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Server_FileWorker_lakeSetupSearchPath___closed__4; LEAN_EXPORT lean_object* l_Std_RBNode_foldM___at_Lean_Server_FileWorker_mainLoop___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Server_FileWorker_lakeSetupSearchPath___spec__2(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_updateDocument___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); LEAN_EXPORT lean_object* l_IO_FS_Stream_readLspRequestAs___at_Lean_Server_FileWorker_initAndRunWorker___spec__1(lean_object*, lean_object*, lean_object*); @@ -413,6 +412,7 @@ lean_object* l_Lean_Server_foldDocumentChanges(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_forIn_visit___at_Lean_Server_FileWorker_mainLoop___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Server_FileWorker_0__Lean_Server_FileWorker_nextCmdSnap___lambda__1___closed__1; static lean_object* l_Lean_Server_FileWorker_handleDidChange___closed__4; +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Server_FileWorker_lakeSetupSearchPath___spec__2(lean_object*, lean_object*, lean_object*); lean_object* l_IO_FS_Stream_withPrefix(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_parseParams___at_Lean_Server_FileWorker_handleNotification___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Json_getObjValAs_x3f___at_Lean_Lsp_instFromJsonInitializeParams___spec__4(lean_object*, lean_object*); @@ -2287,211 +2287,124 @@ goto _start; } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Server_FileWorker_lakeSetupSearchPath___spec__2(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Server_FileWorker_lakeSetupSearchPath___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_3; lean_object* x_4; -x_3 = lean_box(0); -x_4 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_4, 0, x_3); -lean_ctor_set(x_4, 1, x_2); -return x_4; +lean_object* x_4; lean_object* x_5; +x_4 = l_List_reverse___rarg(x_2); +x_5 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_5, 0, x_4); +lean_ctor_set(x_5, 1, x_3); +return x_5; } else { -uint8_t x_5; -x_5 = !lean_is_exclusive(x_1); -if (x_5 == 0) +uint8_t x_6; +x_6 = !lean_is_exclusive(x_1); +if (x_6 == 0) { -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = lean_ctor_get(x_1, 0); -x_7 = lean_ctor_get(x_1, 1); -x_8 = l_Lean_realPathNormalized(x_6, x_2); -if (lean_obj_tag(x_8) == 0) +lean_object* x_7; lean_object* x_8; lean_object* x_9; +x_7 = lean_ctor_get(x_1, 0); +x_8 = lean_ctor_get(x_1, 1); +x_9 = l_Lean_realPathNormalized(x_7, x_3); +if (lean_obj_tag(x_9) == 0) { -lean_object* x_9; lean_object* x_10; lean_object* x_11; -x_9 = lean_ctor_get(x_8, 0); -lean_inc(x_9); -x_10 = lean_ctor_get(x_8, 1); +lean_object* x_10; lean_object* x_11; +x_10 = lean_ctor_get(x_9, 0); lean_inc(x_10); +x_11 = lean_ctor_get(x_9, 1); +lean_inc(x_11); +lean_dec(x_9); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_10); +{ +lean_object* _tmp_0 = x_8; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_2 = x_11; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_3 = _tmp_2; +} +goto _start; +} +else +{ +uint8_t x_13; +lean_free_object(x_1); lean_dec(x_8); -x_11 = l_List_mapM___at_Lean_Server_FileWorker_lakeSetupSearchPath___spec__2(x_7, x_10); -if (lean_obj_tag(x_11) == 0) +lean_dec(x_2); +x_13 = !lean_is_exclusive(x_9); +if (x_13 == 0) { -uint8_t x_12; -x_12 = !lean_is_exclusive(x_11); -if (x_12 == 0) -{ -lean_object* x_13; -x_13 = lean_ctor_get(x_11, 0); -lean_ctor_set(x_1, 1, x_13); -lean_ctor_set(x_1, 0, x_9); -lean_ctor_set(x_11, 0, x_1); -return x_11; +return x_9; } else { lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_14 = lean_ctor_get(x_11, 0); -x_15 = lean_ctor_get(x_11, 1); +x_14 = lean_ctor_get(x_9, 0); +x_15 = lean_ctor_get(x_9, 1); lean_inc(x_15); lean_inc(x_14); -lean_dec(x_11); -lean_ctor_set(x_1, 1, x_14); -lean_ctor_set(x_1, 0, x_9); -x_16 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_16, 0, x_1); +lean_dec(x_9); +x_16 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_16, 0, x_14); lean_ctor_set(x_16, 1, x_15); return x_16; } } -else -{ -uint8_t x_17; -lean_dec(x_9); -lean_free_object(x_1); -x_17 = !lean_is_exclusive(x_11); -if (x_17 == 0) -{ -return x_11; } else { -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_11, 0); -x_19 = lean_ctor_get(x_11, 1); -lean_inc(x_19); +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_ctor_get(x_1, 0); +x_18 = lean_ctor_get(x_1, 1); lean_inc(x_18); -lean_dec(x_11); -x_20 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_20, 0, x_18); -lean_ctor_set(x_20, 1, x_19); -return x_20; -} -} -} -else -{ -uint8_t x_21; -lean_free_object(x_1); -lean_dec(x_7); -x_21 = !lean_is_exclusive(x_8); -if (x_21 == 0) -{ -return x_8; -} -else -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_8, 0); -x_23 = lean_ctor_get(x_8, 1); -lean_inc(x_23); -lean_inc(x_22); -lean_dec(x_8); -x_24 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -return x_24; -} -} -} -else -{ -lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = lean_ctor_get(x_1, 0); -x_26 = lean_ctor_get(x_1, 1); -lean_inc(x_26); -lean_inc(x_25); +lean_inc(x_17); lean_dec(x_1); -x_27 = l_Lean_realPathNormalized(x_25, x_2); -if (lean_obj_tag(x_27) == 0) +x_19 = l_Lean_realPathNormalized(x_17, x_3); +if (lean_obj_tag(x_19) == 0) { -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_27, 0); -lean_inc(x_28); -x_29 = lean_ctor_get(x_27, 1); -lean_inc(x_29); -lean_dec(x_27); -x_30 = l_List_mapM___at_Lean_Server_FileWorker_lakeSetupSearchPath___spec__2(x_26, x_29); -if (lean_obj_tag(x_30) == 0) -{ -lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_31 = lean_ctor_get(x_30, 0); -lean_inc(x_31); -x_32 = lean_ctor_get(x_30, 1); -lean_inc(x_32); -if (lean_is_exclusive(x_30)) { - lean_ctor_release(x_30, 0); - lean_ctor_release(x_30, 1); - x_33 = x_30; -} else { - lean_dec_ref(x_30); - x_33 = lean_box(0); -} -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_28); -lean_ctor_set(x_34, 1, x_31); -if (lean_is_scalar(x_33)) { - x_35 = lean_alloc_ctor(0, 2, 0); -} else { - x_35 = x_33; -} -lean_ctor_set(x_35, 0, x_34); -lean_ctor_set(x_35, 1, x_32); -return x_35; +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_22, 0, x_20); +lean_ctor_set(x_22, 1, x_2); +x_1 = x_18; +x_2 = x_22; +x_3 = x_21; +goto _start; } else { -lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -lean_dec(x_28); -x_36 = lean_ctor_get(x_30, 0); -lean_inc(x_36); -x_37 = lean_ctor_get(x_30, 1); -lean_inc(x_37); -if (lean_is_exclusive(x_30)) { - lean_ctor_release(x_30, 0); - lean_ctor_release(x_30, 1); - x_38 = x_30; +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; +lean_dec(x_18); +lean_dec(x_2); +x_24 = lean_ctor_get(x_19, 0); +lean_inc(x_24); +x_25 = lean_ctor_get(x_19, 1); +lean_inc(x_25); +if (lean_is_exclusive(x_19)) { + lean_ctor_release(x_19, 0); + lean_ctor_release(x_19, 1); + x_26 = x_19; } else { - lean_dec_ref(x_30); - x_38 = lean_box(0); + lean_dec_ref(x_19); + x_26 = lean_box(0); } -if (lean_is_scalar(x_38)) { - x_39 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_26)) { + x_27 = lean_alloc_ctor(1, 2, 0); } else { - x_39 = x_38; + x_27 = x_26; } -lean_ctor_set(x_39, 0, x_36); -lean_ctor_set(x_39, 1, x_37); -return x_39; -} -} -else -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -lean_dec(x_26); -x_40 = lean_ctor_get(x_27, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_27, 1); -lean_inc(x_41); -if (lean_is_exclusive(x_27)) { - lean_ctor_release(x_27, 0); - lean_ctor_release(x_27, 1); - x_42 = x_27; -} else { - lean_dec_ref(x_27); - x_42 = lean_box(0); -} -if (lean_is_scalar(x_42)) { - x_43 = lean_alloc_ctor(1, 2, 0); -} else { - x_43 = x_42; -} -lean_ctor_set(x_43, 0, x_40); -lean_ctor_set(x_43, 1, x_41); -return x_43; +lean_ctor_set(x_27, 0, x_24); +lean_ctor_set(x_27, 1, x_25); +return x_27; } } } @@ -2863,71 +2776,74 @@ x_92 = lean_unsigned_to_nat(0u); x_93 = lean_nat_dec_lt(x_92, x_91); if (x_93 == 0) { -lean_object* x_94; lean_object* x_95; +lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_dec(x_91); lean_dec(x_90); x_94 = lean_ctor_get(x_83, 1); lean_inc(x_94); lean_dec(x_83); -x_95 = l_List_mapM___at_Lean_Server_FileWorker_lakeSetupSearchPath___spec__2(x_94, x_89); -return x_95; +x_95 = lean_box(0); +x_96 = l_List_mapM_loop___at_Lean_Server_FileWorker_lakeSetupSearchPath___spec__2(x_94, x_95, x_89); +return x_96; } else { -uint8_t x_96; -x_96 = lean_nat_dec_le(x_91, x_91); -if (x_96 == 0) +uint8_t x_97; +x_97 = lean_nat_dec_le(x_91, x_91); +if (x_97 == 0) { -lean_object* x_97; lean_object* x_98; +lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_dec(x_91); lean_dec(x_90); -x_97 = lean_ctor_get(x_83, 1); -lean_inc(x_97); +x_98 = lean_ctor_get(x_83, 1); +lean_inc(x_98); lean_dec(x_83); -x_98 = l_List_mapM___at_Lean_Server_FileWorker_lakeSetupSearchPath___spec__2(x_97, x_89); -return x_98; +x_99 = lean_box(0); +x_100 = l_List_mapM_loop___at_Lean_Server_FileWorker_lakeSetupSearchPath___spec__2(x_98, x_99, x_89); +return x_100; } else { -size_t x_99; lean_object* x_100; lean_object* x_101; -x_99 = lean_usize_of_nat(x_91); +size_t x_101; lean_object* x_102; lean_object* x_103; +x_101 = lean_usize_of_nat(x_91); lean_dec(x_91); -x_100 = lean_box(0); -x_101 = l_Array_foldlMUnsafe_fold___at_Lean_Server_FileWorker_lakeSetupSearchPath___spec__3(x_90, x_8, x_99, x_100, x_89); +x_102 = lean_box(0); +x_103 = l_Array_foldlMUnsafe_fold___at_Lean_Server_FileWorker_lakeSetupSearchPath___spec__3(x_90, x_8, x_101, x_102, x_89); lean_dec(x_90); -if (lean_obj_tag(x_101) == 0) +if (lean_obj_tag(x_103) == 0) { -lean_object* x_102; lean_object* x_103; lean_object* x_104; -x_102 = lean_ctor_get(x_101, 1); -lean_inc(x_102); -lean_dec(x_101); -x_103 = lean_ctor_get(x_83, 1); -lean_inc(x_103); +lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; +x_104 = lean_ctor_get(x_103, 1); +lean_inc(x_104); +lean_dec(x_103); +x_105 = lean_ctor_get(x_83, 1); +lean_inc(x_105); lean_dec(x_83); -x_104 = l_List_mapM___at_Lean_Server_FileWorker_lakeSetupSearchPath___spec__2(x_103, x_102); -return x_104; +x_106 = lean_box(0); +x_107 = l_List_mapM_loop___at_Lean_Server_FileWorker_lakeSetupSearchPath___spec__2(x_105, x_106, x_104); +return x_107; } else { -uint8_t x_105; +uint8_t x_108; lean_dec(x_83); -x_105 = !lean_is_exclusive(x_101); -if (x_105 == 0) +x_108 = !lean_is_exclusive(x_103); +if (x_108 == 0) { -return x_101; +return x_103; } else { -lean_object* x_106; lean_object* x_107; lean_object* x_108; -x_106 = lean_ctor_get(x_101, 0); -x_107 = lean_ctor_get(x_101, 1); -lean_inc(x_107); -lean_inc(x_106); -lean_dec(x_101); -x_108 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_108, 0, x_106); -lean_ctor_set(x_108, 1, x_107); -return x_108; +lean_object* x_109; lean_object* x_110; lean_object* x_111; +x_109 = lean_ctor_get(x_103, 0); +x_110 = lean_ctor_get(x_103, 1); +lean_inc(x_110); +lean_inc(x_109); +lean_dec(x_103); +x_111 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_111, 0, x_109); +lean_ctor_set(x_111, 1, x_110); +return x_111; } } } @@ -2935,49 +2851,49 @@ return x_108; } else { -uint8_t x_109; +uint8_t x_112; lean_dec(x_83); -x_109 = !lean_is_exclusive(x_88); -if (x_109 == 0) +x_112 = !lean_is_exclusive(x_88); +if (x_112 == 0) { return x_88; } else { -lean_object* x_110; lean_object* x_111; lean_object* x_112; -x_110 = lean_ctor_get(x_88, 0); -x_111 = lean_ctor_get(x_88, 1); -lean_inc(x_111); -lean_inc(x_110); +lean_object* x_113; lean_object* x_114; lean_object* x_115; +x_113 = lean_ctor_get(x_88, 0); +x_114 = lean_ctor_get(x_88, 1); +lean_inc(x_114); +lean_inc(x_113); lean_dec(x_88); -x_112 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_112, 0, x_110); -lean_ctor_set(x_112, 1, x_111); -return x_112; +x_115 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_115, 0, x_113); +lean_ctor_set(x_115, 1, x_114); +return x_115; } } } else { -uint8_t x_113; +uint8_t x_116; lean_dec(x_83); -x_113 = !lean_is_exclusive(x_84); -if (x_113 == 0) +x_116 = !lean_is_exclusive(x_84); +if (x_116 == 0) { return x_84; } else { -lean_object* x_114; lean_object* x_115; lean_object* x_116; -x_114 = lean_ctor_get(x_84, 0); -x_115 = lean_ctor_get(x_84, 1); -lean_inc(x_115); -lean_inc(x_114); +lean_object* x_117; lean_object* x_118; lean_object* x_119; +x_117 = lean_ctor_get(x_84, 0); +x_118 = lean_ctor_get(x_84, 1); +lean_inc(x_118); +lean_inc(x_117); lean_dec(x_84); -x_116 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_116, 0, x_114); -lean_ctor_set(x_116, 1, x_115); -return x_116; +x_119 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_119, 0, x_117); +lean_ctor_set(x_119, 1, x_118); +return x_119; } } } @@ -2986,260 +2902,263 @@ return x_116; } else { -lean_object* x_117; lean_object* x_118; uint32_t x_119; uint32_t x_120; uint8_t x_121; -x_117 = lean_ctor_get(x_39, 0); -x_118 = lean_ctor_get(x_39, 1); -lean_inc(x_118); -lean_inc(x_117); +lean_object* x_120; lean_object* x_121; uint32_t x_122; uint32_t x_123; uint8_t x_124; +x_120 = lean_ctor_get(x_39, 0); +x_121 = lean_ctor_get(x_39, 1); +lean_inc(x_121); +lean_inc(x_120); lean_dec(x_39); -x_119 = 0; -x_120 = lean_unbox_uint32(x_117); -x_121 = lean_uint32_dec_eq(x_120, x_119); -if (x_121 == 0) -{ -uint32_t x_122; uint32_t x_123; uint8_t x_124; -x_122 = 2; -x_123 = lean_unbox_uint32(x_117); -lean_dec(x_117); +x_122 = 0; +x_123 = lean_unbox_uint32(x_120); x_124 = lean_uint32_dec_eq(x_123, x_122); if (x_124 == 0) { -lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; -x_125 = l_Lean_Server_FileWorker_lakeSetupSearchPath___closed__6; -x_126 = lean_string_append(x_125, x_15); +uint32_t x_125; uint32_t x_126; uint8_t x_127; +x_125 = 2; +x_126 = lean_unbox_uint32(x_120); +lean_dec(x_120); +x_127 = lean_uint32_dec_eq(x_126, x_125); +if (x_127 == 0) +{ +lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; +x_128 = l_Lean_Server_FileWorker_lakeSetupSearchPath___closed__6; +x_129 = lean_string_append(x_128, x_15); lean_dec(x_15); -x_127 = l_Lean_Server_FileWorker_lakeSetupSearchPath___closed__7; -x_128 = lean_string_append(x_126, x_127); -x_129 = lean_string_append(x_128, x_34); -lean_dec(x_34); -x_130 = l_Lean_Server_FileWorker_lakeSetupSearchPath___closed__8; +x_130 = l_Lean_Server_FileWorker_lakeSetupSearchPath___closed__7; x_131 = lean_string_append(x_129, x_130); -x_132 = lean_string_append(x_131, x_37); +x_132 = lean_string_append(x_131, x_34); +lean_dec(x_34); +x_133 = l_Lean_Server_FileWorker_lakeSetupSearchPath___closed__8; +x_134 = lean_string_append(x_132, x_133); +x_135 = lean_string_append(x_134, x_37); lean_dec(x_37); -x_133 = lean_string_append(x_132, x_23); -x_134 = l_IO_throwServerError___rarg(x_133, x_118); -return x_134; +x_136 = lean_string_append(x_135, x_23); +x_137 = l_IO_throwServerError___rarg(x_136, x_121); +return x_137; } else { -lean_object* x_135; lean_object* x_136; +lean_object* x_138; lean_object* x_139; lean_dec(x_37); lean_dec(x_34); lean_dec(x_15); -x_135 = lean_box(0); -x_136 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_136, 0, x_135); -lean_ctor_set(x_136, 1, x_118); -return x_136; +x_138 = lean_box(0); +x_139 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_139, 0, x_138); +lean_ctor_set(x_139, 1, x_121); +return x_139; } } else { -lean_object* x_137; -lean_dec(x_117); +lean_object* x_140; +lean_dec(x_120); lean_inc(x_34); -x_137 = l_Lean_Json_parse(x_34); -if (lean_obj_tag(x_137) == 0) +x_140 = l_Lean_Json_parse(x_34); +if (lean_obj_tag(x_140) == 0) { -lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; -lean_dec(x_137); -x_138 = l_Lean_Server_FileWorker_lakeSetupSearchPath___closed__9; -x_139 = lean_string_append(x_138, x_15); +lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; +lean_dec(x_140); +x_141 = l_Lean_Server_FileWorker_lakeSetupSearchPath___closed__9; +x_142 = lean_string_append(x_141, x_15); lean_dec(x_15); -x_140 = l_Lean_Server_FileWorker_lakeSetupSearchPath___closed__10; -x_141 = lean_string_append(x_139, x_140); -x_142 = lean_string_append(x_141, x_34); -lean_dec(x_34); -x_143 = l_Lean_Server_FileWorker_lakeSetupSearchPath___closed__8; +x_143 = l_Lean_Server_FileWorker_lakeSetupSearchPath___closed__10; x_144 = lean_string_append(x_142, x_143); -x_145 = lean_string_append(x_144, x_37); +x_145 = lean_string_append(x_144, x_34); +lean_dec(x_34); +x_146 = l_Lean_Server_FileWorker_lakeSetupSearchPath___closed__8; +x_147 = lean_string_append(x_145, x_146); +x_148 = lean_string_append(x_147, x_37); lean_dec(x_37); -x_146 = lean_string_append(x_145, x_23); -x_147 = l_IO_throwServerError___rarg(x_146, x_118); -return x_147; +x_149 = lean_string_append(x_148, x_23); +x_150 = l_IO_throwServerError___rarg(x_149, x_121); +return x_150; } else { -lean_object* x_148; lean_object* x_149; -x_148 = lean_ctor_get(x_137, 0); -lean_inc(x_148); -lean_dec(x_137); -x_149 = l___private_Lean_Util_Paths_0__Lean_fromJsonLeanPaths____x40_Lean_Util_Paths___hyg_90_(x_148); -if (lean_obj_tag(x_149) == 0) +lean_object* x_151; lean_object* x_152; +x_151 = lean_ctor_get(x_140, 0); +lean_inc(x_151); +lean_dec(x_140); +x_152 = l___private_Lean_Util_Paths_0__Lean_fromJsonLeanPaths____x40_Lean_Util_Paths___hyg_90_(x_151); +if (lean_obj_tag(x_152) == 0) { -lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; -lean_dec(x_149); -x_150 = l_Lean_Server_FileWorker_lakeSetupSearchPath___closed__9; -x_151 = lean_string_append(x_150, x_15); +lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; +lean_dec(x_152); +x_153 = l_Lean_Server_FileWorker_lakeSetupSearchPath___closed__9; +x_154 = lean_string_append(x_153, x_15); lean_dec(x_15); -x_152 = l_Lean_Server_FileWorker_lakeSetupSearchPath___closed__10; -x_153 = lean_string_append(x_151, x_152); -x_154 = lean_string_append(x_153, x_34); -lean_dec(x_34); -x_155 = l_Lean_Server_FileWorker_lakeSetupSearchPath___closed__8; +x_155 = l_Lean_Server_FileWorker_lakeSetupSearchPath___closed__10; x_156 = lean_string_append(x_154, x_155); -x_157 = lean_string_append(x_156, x_37); +x_157 = lean_string_append(x_156, x_34); +lean_dec(x_34); +x_158 = l_Lean_Server_FileWorker_lakeSetupSearchPath___closed__8; +x_159 = lean_string_append(x_157, x_158); +x_160 = lean_string_append(x_159, x_37); lean_dec(x_37); -x_158 = lean_string_append(x_157, x_23); -x_159 = l_IO_throwServerError___rarg(x_158, x_118); -return x_159; +x_161 = lean_string_append(x_160, x_23); +x_162 = l_IO_throwServerError___rarg(x_161, x_121); +return x_162; } else { -lean_object* x_160; lean_object* x_161; +lean_object* x_163; lean_object* x_164; lean_dec(x_37); lean_dec(x_34); lean_dec(x_15); -x_160 = lean_ctor_get(x_149, 0); -lean_inc(x_160); -lean_dec(x_149); -x_161 = lean_get_prefix(x_118); -if (lean_obj_tag(x_161) == 0) -{ -lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; -x_162 = lean_ctor_get(x_161, 0); -lean_inc(x_162); -x_163 = lean_ctor_get(x_161, 1); +x_163 = lean_ctor_get(x_152, 0); lean_inc(x_163); -lean_dec(x_161); -x_164 = lean_ctor_get(x_160, 0); -lean_inc(x_164); -x_165 = l_Lean_initSearchPath(x_162, x_164, x_163); -if (lean_obj_tag(x_165) == 0) +lean_dec(x_152); +x_164 = lean_get_prefix(x_121); +if (lean_obj_tag(x_164) == 0) { -lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; uint8_t x_170; -x_166 = lean_ctor_get(x_165, 1); +lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; +x_165 = lean_ctor_get(x_164, 0); +lean_inc(x_165); +x_166 = lean_ctor_get(x_164, 1); lean_inc(x_166); -lean_dec(x_165); -x_167 = lean_ctor_get(x_160, 2); +lean_dec(x_164); +x_167 = lean_ctor_get(x_163, 0); lean_inc(x_167); -x_168 = lean_array_get_size(x_167); -x_169 = lean_unsigned_to_nat(0u); -x_170 = lean_nat_dec_lt(x_169, x_168); -if (x_170 == 0) +x_168 = l_Lean_initSearchPath(x_165, x_167, x_166); +if (lean_obj_tag(x_168) == 0) { -lean_object* x_171; lean_object* x_172; +lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; uint8_t x_173; +x_169 = lean_ctor_get(x_168, 1); +lean_inc(x_169); lean_dec(x_168); -lean_dec(x_167); -x_171 = lean_ctor_get(x_160, 1); -lean_inc(x_171); -lean_dec(x_160); -x_172 = l_List_mapM___at_Lean_Server_FileWorker_lakeSetupSearchPath___spec__2(x_171, x_166); -return x_172; -} -else -{ -uint8_t x_173; -x_173 = lean_nat_dec_le(x_168, x_168); +x_170 = lean_ctor_get(x_163, 2); +lean_inc(x_170); +x_171 = lean_array_get_size(x_170); +x_172 = lean_unsigned_to_nat(0u); +x_173 = lean_nat_dec_lt(x_172, x_171); if (x_173 == 0) { -lean_object* x_174; lean_object* x_175; -lean_dec(x_168); -lean_dec(x_167); -x_174 = lean_ctor_get(x_160, 1); +lean_object* x_174; lean_object* x_175; lean_object* x_176; +lean_dec(x_171); +lean_dec(x_170); +x_174 = lean_ctor_get(x_163, 1); lean_inc(x_174); -lean_dec(x_160); -x_175 = l_List_mapM___at_Lean_Server_FileWorker_lakeSetupSearchPath___spec__2(x_174, x_166); -return x_175; +lean_dec(x_163); +x_175 = lean_box(0); +x_176 = l_List_mapM_loop___at_Lean_Server_FileWorker_lakeSetupSearchPath___spec__2(x_174, x_175, x_169); +return x_176; } else { -size_t x_176; lean_object* x_177; lean_object* x_178; -x_176 = lean_usize_of_nat(x_168); -lean_dec(x_168); -x_177 = lean_box(0); -x_178 = l_Array_foldlMUnsafe_fold___at_Lean_Server_FileWorker_lakeSetupSearchPath___spec__3(x_167, x_8, x_176, x_177, x_166); -lean_dec(x_167); -if (lean_obj_tag(x_178) == 0) +uint8_t x_177; +x_177 = lean_nat_dec_le(x_171, x_171); +if (x_177 == 0) { -lean_object* x_179; lean_object* x_180; lean_object* x_181; -x_179 = lean_ctor_get(x_178, 1); -lean_inc(x_179); -lean_dec(x_178); -x_180 = lean_ctor_get(x_160, 1); -lean_inc(x_180); -lean_dec(x_160); -x_181 = l_List_mapM___at_Lean_Server_FileWorker_lakeSetupSearchPath___spec__2(x_180, x_179); -return x_181; +lean_object* x_178; lean_object* x_179; lean_object* x_180; +lean_dec(x_171); +lean_dec(x_170); +x_178 = lean_ctor_get(x_163, 1); +lean_inc(x_178); +lean_dec(x_163); +x_179 = lean_box(0); +x_180 = l_List_mapM_loop___at_Lean_Server_FileWorker_lakeSetupSearchPath___spec__2(x_178, x_179, x_169); +return x_180; } else { -lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; -lean_dec(x_160); -x_182 = lean_ctor_get(x_178, 0); -lean_inc(x_182); -x_183 = lean_ctor_get(x_178, 1); -lean_inc(x_183); -if (lean_is_exclusive(x_178)) { - lean_ctor_release(x_178, 0); - lean_ctor_release(x_178, 1); - x_184 = x_178; -} else { - lean_dec_ref(x_178); - x_184 = lean_box(0); +size_t x_181; lean_object* x_182; lean_object* x_183; +x_181 = lean_usize_of_nat(x_171); +lean_dec(x_171); +x_182 = lean_box(0); +x_183 = l_Array_foldlMUnsafe_fold___at_Lean_Server_FileWorker_lakeSetupSearchPath___spec__3(x_170, x_8, x_181, x_182, x_169); +lean_dec(x_170); +if (lean_obj_tag(x_183) == 0) +{ +lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; +x_184 = lean_ctor_get(x_183, 1); +lean_inc(x_184); +lean_dec(x_183); +x_185 = lean_ctor_get(x_163, 1); +lean_inc(x_185); +lean_dec(x_163); +x_186 = lean_box(0); +x_187 = l_List_mapM_loop___at_Lean_Server_FileWorker_lakeSetupSearchPath___spec__2(x_185, x_186, x_184); +return x_187; } -if (lean_is_scalar(x_184)) { - x_185 = lean_alloc_ctor(1, 2, 0); +else +{ +lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; +lean_dec(x_163); +x_188 = lean_ctor_get(x_183, 0); +lean_inc(x_188); +x_189 = lean_ctor_get(x_183, 1); +lean_inc(x_189); +if (lean_is_exclusive(x_183)) { + lean_ctor_release(x_183, 0); + lean_ctor_release(x_183, 1); + x_190 = x_183; } else { - x_185 = x_184; + lean_dec_ref(x_183); + x_190 = lean_box(0); } -lean_ctor_set(x_185, 0, x_182); -lean_ctor_set(x_185, 1, x_183); -return x_185; +if (lean_is_scalar(x_190)) { + x_191 = lean_alloc_ctor(1, 2, 0); +} else { + x_191 = x_190; +} +lean_ctor_set(x_191, 0, x_188); +lean_ctor_set(x_191, 1, x_189); +return x_191; } } } } else { -lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; -lean_dec(x_160); -x_186 = lean_ctor_get(x_165, 0); -lean_inc(x_186); -x_187 = lean_ctor_get(x_165, 1); -lean_inc(x_187); -if (lean_is_exclusive(x_165)) { - lean_ctor_release(x_165, 0); - lean_ctor_release(x_165, 1); - x_188 = x_165; +lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; +lean_dec(x_163); +x_192 = lean_ctor_get(x_168, 0); +lean_inc(x_192); +x_193 = lean_ctor_get(x_168, 1); +lean_inc(x_193); +if (lean_is_exclusive(x_168)) { + lean_ctor_release(x_168, 0); + lean_ctor_release(x_168, 1); + x_194 = x_168; } else { - lean_dec_ref(x_165); - x_188 = lean_box(0); + lean_dec_ref(x_168); + x_194 = lean_box(0); } -if (lean_is_scalar(x_188)) { - x_189 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_194)) { + x_195 = lean_alloc_ctor(1, 2, 0); } else { - x_189 = x_188; + x_195 = x_194; } -lean_ctor_set(x_189, 0, x_186); -lean_ctor_set(x_189, 1, x_187); -return x_189; +lean_ctor_set(x_195, 0, x_192); +lean_ctor_set(x_195, 1, x_193); +return x_195; } } else { -lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; -lean_dec(x_160); -x_190 = lean_ctor_get(x_161, 0); -lean_inc(x_190); -x_191 = lean_ctor_get(x_161, 1); -lean_inc(x_191); -if (lean_is_exclusive(x_161)) { - lean_ctor_release(x_161, 0); - lean_ctor_release(x_161, 1); - x_192 = x_161; +lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; +lean_dec(x_163); +x_196 = lean_ctor_get(x_164, 0); +lean_inc(x_196); +x_197 = lean_ctor_get(x_164, 1); +lean_inc(x_197); +if (lean_is_exclusive(x_164)) { + lean_ctor_release(x_164, 0); + lean_ctor_release(x_164, 1); + x_198 = x_164; } else { - lean_dec_ref(x_161); - x_192 = lean_box(0); + lean_dec_ref(x_164); + x_198 = lean_box(0); } -if (lean_is_scalar(x_192)) { - x_193 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_198)) { + x_199 = lean_alloc_ctor(1, 2, 0); } else { - x_193 = x_192; + x_199 = x_198; } -lean_ctor_set(x_193, 0, x_190); -lean_ctor_set(x_193, 1, x_191); -return x_193; +lean_ctor_set(x_199, 0, x_196); +lean_ctor_set(x_199, 1, x_197); +return x_199; } } } @@ -3248,107 +3167,107 @@ return x_193; } else { -uint8_t x_194; +uint8_t x_200; lean_dec(x_37); lean_dec(x_34); lean_dec(x_15); -x_194 = !lean_is_exclusive(x_39); -if (x_194 == 0) +x_200 = !lean_is_exclusive(x_39); +if (x_200 == 0) { return x_39; } else { -lean_object* x_195; lean_object* x_196; lean_object* x_197; -x_195 = lean_ctor_get(x_39, 0); -x_196 = lean_ctor_get(x_39, 1); -lean_inc(x_196); -lean_inc(x_195); +lean_object* x_201; lean_object* x_202; lean_object* x_203; +x_201 = lean_ctor_get(x_39, 0); +x_202 = lean_ctor_get(x_39, 1); +lean_inc(x_202); +lean_inc(x_201); lean_dec(x_39); -x_197 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_197, 0, x_195); -lean_ctor_set(x_197, 1, x_196); -return x_197; +x_203 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_203, 0, x_201); +lean_ctor_set(x_203, 1, x_202); +return x_203; } } } else { -uint8_t x_198; +uint8_t x_204; lean_dec(x_34); lean_dec(x_21); lean_dec(x_15); -x_198 = !lean_is_exclusive(x_36); -if (x_198 == 0) +x_204 = !lean_is_exclusive(x_36); +if (x_204 == 0) { return x_36; } else { -lean_object* x_199; lean_object* x_200; lean_object* x_201; -x_199 = lean_ctor_get(x_36, 0); -x_200 = lean_ctor_get(x_36, 1); -lean_inc(x_200); -lean_inc(x_199); +lean_object* x_205; lean_object* x_206; lean_object* x_207; +x_205 = lean_ctor_get(x_36, 0); +x_206 = lean_ctor_get(x_36, 1); +lean_inc(x_206); +lean_inc(x_205); lean_dec(x_36); -x_201 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_201, 0, x_199); -lean_ctor_set(x_201, 1, x_200); -return x_201; +x_207 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_207, 0, x_205); +lean_ctor_set(x_207, 1, x_206); +return x_207; } } } else { -uint8_t x_202; +uint8_t x_208; lean_dec(x_28); lean_dec(x_21); lean_dec(x_15); -x_202 = !lean_is_exclusive(x_31); -if (x_202 == 0) +x_208 = !lean_is_exclusive(x_31); +if (x_208 == 0) { return x_31; } else { -lean_object* x_203; lean_object* x_204; lean_object* x_205; -x_203 = lean_ctor_get(x_31, 0); -x_204 = lean_ctor_get(x_31, 1); -lean_inc(x_204); -lean_inc(x_203); +lean_object* x_209; lean_object* x_210; lean_object* x_211; +x_209 = lean_ctor_get(x_31, 0); +x_210 = lean_ctor_get(x_31, 1); +lean_inc(x_210); +lean_inc(x_209); lean_dec(x_31); -x_205 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_205, 0, x_203); -lean_ctor_set(x_205, 1, x_204); -return x_205; +x_211 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_211, 0, x_209); +lean_ctor_set(x_211, 1, x_210); +return x_211; } } } else { -uint8_t x_206; +uint8_t x_212; lean_dec(x_15); lean_dec(x_11); lean_dec(x_4); lean_dec(x_2); lean_dec(x_1); -x_206 = !lean_is_exclusive(x_20); -if (x_206 == 0) +x_212 = !lean_is_exclusive(x_20); +if (x_212 == 0) { return x_20; } else { -lean_object* x_207; lean_object* x_208; lean_object* x_209; -x_207 = lean_ctor_get(x_20, 0); -x_208 = lean_ctor_get(x_20, 1); -lean_inc(x_208); -lean_inc(x_207); +lean_object* x_213; lean_object* x_214; lean_object* x_215; +x_213 = lean_ctor_get(x_20, 0); +x_214 = lean_ctor_get(x_20, 1); +lean_inc(x_214); +lean_inc(x_213); lean_dec(x_20); -x_209 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_209, 0, x_207); -lean_ctor_set(x_209, 1, x_208); -return x_209; +x_215 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_215, 0, x_213); +lean_ctor_set(x_215, 1, x_214); +return x_215; } } } diff --git a/stage0/stdlib/Lean/Server/FileWorker/RequestHandling.c b/stage0/stdlib/Lean/Server/FileWorker/RequestHandling.c index 1294fb07b9..6d93ef5b15 100644 --- a/stage0/stdlib/Lean/Server/FileWorker/RequestHandling.c +++ b/stage0/stdlib/Lean/Server/FileWorker/RequestHandling.c @@ -76,16 +76,16 @@ static lean_object* l_Lean_Server_FileWorker_handleDocumentHighlight_highlightRe static lean_object* l_Lean_Server_FileWorker_handleHover___closed__1; static lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__1___lambda__4___closed__2; static lean_object* l_Lean_Server_FileWorker_handleDocumentSymbol_toDocumentSymbols___lambda__6___closed__3; -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___boxed(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleHover___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleDocumentHighlight___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleDocumentSymbol_toDocumentSymbols___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__1; lean_object* lean_array_uset(lean_object*, size_t, lean_object*); static lean_object* l_Lean_Server_FileWorker_handlePlainGoal___closed__2; -static lean_object* l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__3; LEAN_EXPORT lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__24___lambda__1(lean_object*); +static lean_object* l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__4; LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_locationLinksOfInfo___lambda__9___boxed(lean_object*, lean_object*); +lean_object* l_ReaderT_pure___at_Lean_Elab_CompletionInfo_format___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Lsp_SemanticTokenType_toCtorIdx(uint8_t); static lean_object* l_Lean_Server_FileWorker_handleDocumentHighlight_highlightReturn_x3f___closed__10; lean_object* l_Lean_Server_RequestError_ofIoError(lean_object*); @@ -148,13 +148,11 @@ lean_object* l_IO_sleep(uint32_t, lean_object*); static lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__21___lambda__3___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_withPPShowLetValues___at_Lean_Server_FileWorker_getInteractiveGoals___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__1___lambda__5___closed__2; -static lean_object* l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__4; static lean_object* l_Lean_Server_FileWorker_handleWaitForDiagnostics___lambda__2___closed__1; static lean_object* l_Lean_Server_FileWorker_noHighlightKinds___closed__9; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__17___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleCompletion___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____closed__25; -lean_object* l_ReaderT_pure___at_Lean_Meta_Match_mkMatcher___spec__5___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__14___lambda__3___closed__2; static lean_object* l_Lean_Server_FileWorker_handleFoldingRange_isImport___closed__5; LEAN_EXPORT lean_object* l_liftExcept___at_Lean_Server_FileWorker_handleWaitForDiagnostics___spec__1(lean_object*, lean_object*, lean_object*); @@ -203,7 +201,6 @@ lean_object* l_panic___at_Lean_FileMap_toPosition_loop___spec__1(lean_object*); static lean_object* l_Lean_Server_FileWorker_locationLinksOfInfo___lambda__2___closed__2; LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleDocumentHighlight___lambda__2(lean_object*, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleDocumentHighlight(lean_object*, lean_object*, lean_object*); -static lean_object* l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__6; LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Server_FileWorker_handleSemanticTokens_highlightId___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__31___lambda__3___closed__1; LEAN_EXPORT lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__1___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*); @@ -249,6 +246,7 @@ LEAN_EXPORT lean_object* l_liftExcept___at_Lean_Server_FileWorker_initFn____x40_ LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleCompletion___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleFoldingRange_addRanges(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Server_FileWorker_handleDocumentSymbol_toDocumentSymbols___closed__10; +static lean_object* l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__7; lean_object* l_Lean_Syntax_findStack_x3f(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Data_Lsp_LanguageFeatures_0__Lean_Lsp_toJsonSemanticTokens____x40_Lean_Data_Lsp_LanguageFeatures___hyg_5645_(lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__1___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*); @@ -281,7 +279,6 @@ lean_object* lean_task_map(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__21(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleDocumentHighlight_highlightReturn_x3f___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_handlePlainGoal___spec__2___closed__2; -static lean_object* l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__5; LEAN_EXPORT lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_liftExcept___at_Lean_Server_FileWorker_handleWaitForDiagnostics___spec__1___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_locationLinksOfInfo___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -332,6 +329,7 @@ LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_getInteractiveTermGoal___lambd lean_object* l___private_Lean_Data_Lsp_LanguageFeatures_0__Lean_Lsp_toJsonDocumentHighlight____x40_Lean_Data_Lsp_LanguageFeatures___hyg_2797_(lean_object*); lean_object* lean_local_ctx_pop(lean_object*); static lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__10___lambda__4___closed__1; +static lean_object* l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__5; static lean_object* l_Lean_Server_FileWorker_handleCompletion___closed__1; LEAN_EXPORT uint8_t l_Lean_Server_FileWorker_handleDocumentSymbol___rarg___lambda__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__4___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*); @@ -352,7 +350,6 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_FileWorker_ha lean_object* l___private_Lean_Data_Lsp_LanguageFeatures_0__Lean_Lsp_fromJsonCompletionParams____x40_Lean_Data_Lsp_LanguageFeatures___hyg_1687_(lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__27___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Task_Priority_default; -static lean_object* l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__7; lean_object* l_Lean_Elab_Info_range_x3f(lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleDocumentSymbol_toDocumentSymbols___lambda__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_liftExcept___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__23___boxed(lean_object*, lean_object*, lean_object*); @@ -392,6 +389,7 @@ LEAN_EXPORT lean_object* l_Lean_Server_parseRequestParams___at_Lean_Server_FileW LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleHover___lambda__3___boxed(lean_object*); static lean_object* l_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____closed__11; static lean_object* l_Lean_Server_FileWorker_handlePlainGoal___closed__3; +static lean_object* l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__6; lean_object* l_Lean_Syntax_getPos_x3f(lean_object*, uint8_t); LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleHover(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__27(lean_object*, lean_object*, lean_object*); @@ -442,11 +440,11 @@ LEAN_EXPORT lean_object* l_liftExcept___at_Lean_Server_FileWorker_initFn____x40_ LEAN_EXPORT lean_object* l_List_findSomeM_x3f___at_Lean_Server_FileWorker_handleHover___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleDocumentSymbol_sectionLikeToDocumentSymbols(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_parseRequestParams___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__11(lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Server_FileWorker_noHighlightKinds___closed__16; lean_object* l_panic___at_Lean_Elab_InfoTree_hoverableInfoAt_x3f___spec__2(lean_object*); lean_object* l_Lean_Meta_withPPInaccessibleNamesImp___rarg(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__18___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__3; LEAN_EXPORT lean_object* l_liftExcept___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__16(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__18___lambda__4___closed__1; LEAN_EXPORT lean_object* l_liftExcept___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__23(lean_object*, lean_object*, lean_object*); @@ -508,7 +506,6 @@ lean_object* l_Lean_Syntax_getTailPos_x3f(lean_object*, uint8_t); static lean_object* l_Lean_Server_FileWorker_handleDocumentHighlight_highlightReturn_x3f___closed__6; LEAN_EXPORT lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__31(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Server_FileWorker_handleDocumentSymbol_toDocumentSymbols___lambda__3___closed__6; -static lean_object* l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__2; LEAN_EXPORT lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__24___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_contains___at_Lean_Server_FileWorker_handleSemanticTokens_go___spec__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Server_FileWorker_handleSemanticTokens_go___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -523,6 +520,7 @@ LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleWaitForDiagnostics(lean_ LEAN_EXPORT lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__4___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_string_length(lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleDocumentSymbol_toDocumentSymbols___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handlePlainTermGoal___lambda__1___boxed(lean_object*); lean_object* l_List_getLast_x21___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_ReaderT_pure___at_Lean_Server_FileWorker_handleCompletion___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*); @@ -586,6 +584,7 @@ lean_object* l_Lean_Elab_ContextInfo_runMetaM___rarg(lean_object*, lean_object*, static lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__10___lambda__3___closed__1; static lean_object* l_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____closed__2; LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleSemanticTokens_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__2; static lean_object* l_Lean_Server_parseRequestParams___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__2___closed__1; LEAN_EXPORT lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__24(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_getInteractiveTermGoal(lean_object*, lean_object*, lean_object*); @@ -620,9 +619,10 @@ static lean_object* l_List_findSomeM_x3f___at_Lean_Server_FileWorker_handleHover LEAN_EXPORT lean_object* l_Lean_Server_parseRequestParams___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____spec__35(lean_object*); static lean_object* l_Lean_Server_FileWorker_handleDocumentSymbol___rarg___closed__1; LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_locationLinksOfInfo___lambda__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_getLastD___rarg(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____closed__8; +static lean_object* l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__1; LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleDocumentHighlight_highlightReturn_x3f___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____closed__17; static lean_object* l_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9653____closed__1; @@ -3906,7 +3906,7 @@ lean_ctor_set(x_63, 2, x_59); lean_ctor_set(x_63, 3, x_59); x_64 = l_Lean_Server_FileWorker_locationLinksOfInfo___lambda__2___closed__4; x_65 = lean_array_push(x_64, x_63); -x_66 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Meta_Match_mkMatcher___spec__5___rarg___boxed), 6, 1); +x_66 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Elab_CompletionInfo_format___spec__2___rarg___boxed), 6, 1); lean_closure_set(x_66, 0, x_65); x_67 = l_Lean_Elab_ContextInfo_runMetaM___rarg(x_4, x_13, x_66, x_11); if (lean_obj_tag(x_67) == 0) @@ -3981,7 +3981,7 @@ lean_ctor_set(x_83, 2, x_59); lean_ctor_set(x_83, 3, x_59); x_84 = l_Lean_Server_FileWorker_locationLinksOfInfo___lambda__2___closed__4; x_85 = lean_array_push(x_84, x_83); -x_86 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Meta_Match_mkMatcher___spec__5___rarg___boxed), 6, 1); +x_86 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Elab_CompletionInfo_format___spec__2___rarg___boxed), 6, 1); lean_closure_set(x_86, 0, x_85); x_87 = l_Lean_Elab_ContextInfo_runMetaM___rarg(x_4, x_13, x_86, x_11); if (lean_obj_tag(x_87) == 0) @@ -4052,7 +4052,7 @@ lean_ctor_set(x_102, 2, x_59); lean_ctor_set(x_102, 3, x_59); x_103 = l_Lean_Server_FileWorker_locationLinksOfInfo___lambda__2___closed__4; x_104 = lean_array_push(x_103, x_102); -x_105 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Meta_Match_mkMatcher___spec__5___rarg___boxed), 6, 1); +x_105 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Elab_CompletionInfo_format___spec__2___rarg___boxed), 6, 1); lean_closure_set(x_105, 0, x_104); x_106 = l_Lean_Elab_ContextInfo_runMetaM___rarg(x_4, x_13, x_105, x_11); if (lean_obj_tag(x_106) == 0) @@ -4884,241 +4884,154 @@ x_10 = l_Lean_Meta_withPPShowLetValues___at_Lean_Server_FileWorker_getInteractiv return x_10; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___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_EXPORT lean_object* l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_7; lean_object* x_8; +lean_object* x_8; lean_object* x_9; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_8 = l_List_reverse___rarg(x_2); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_7); +return x_9; +} +else +{ +uint8_t x_10; +x_10 = !lean_is_exclusive(x_1); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_11 = lean_ctor_get(x_1, 0); +x_12 = lean_ctor_get(x_1, 1); +x_13 = lean_alloc_closure((void*)(l_Lean_Widget_goalToInteractive), 6, 1); +lean_closure_set(x_13, 0, x_11); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_14 = l_Lean_Meta_withPPForTacticGoal___at_Lean_Server_FileWorker_getInteractiveGoals___spec__1(x_13, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_14) == 0) +{ +lean_object* x_15; lean_object* x_16; +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); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_15); +{ +lean_object* _tmp_0 = x_12; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_6 = x_16; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_7 = _tmp_6; +} +goto _start; +} +else +{ +uint8_t x_18; +lean_free_object(x_1); +lean_dec(x_12); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_7 = lean_box(0); -x_8 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_8, 0, x_7); -lean_ctor_set(x_8, 1, x_6); -return x_8; -} -else +x_18 = !lean_is_exclusive(x_14); +if (x_18 == 0) { -uint8_t x_9; -x_9 = !lean_is_exclusive(x_1); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_10 = lean_ctor_get(x_1, 0); -x_11 = lean_ctor_get(x_1, 1); -x_12 = lean_alloc_closure((void*)(l_Lean_Widget_goalToInteractive), 6, 1); -lean_closure_set(x_12, 0, x_10); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_13 = l_Lean_Meta_withPPForTacticGoal___at_Lean_Server_FileWorker_getInteractiveGoals___spec__1(x_12, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_13) == 0) -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_14 = lean_ctor_get(x_13, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_13, 1); -lean_inc(x_15); -lean_dec(x_13); -x_16 = l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__4(x_11, x_2, x_3, x_4, x_5, x_15); -if (lean_obj_tag(x_16) == 0) -{ -uint8_t x_17; -x_17 = !lean_is_exclusive(x_16); -if (x_17 == 0) -{ -lean_object* x_18; -x_18 = lean_ctor_get(x_16, 0); -lean_ctor_set(x_1, 1, x_18); -lean_ctor_set(x_1, 0, x_14); -lean_ctor_set(x_16, 0, x_1); -return x_16; +return x_14; } else { lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_19 = lean_ctor_get(x_16, 0); -x_20 = lean_ctor_get(x_16, 1); +x_19 = lean_ctor_get(x_14, 0); +x_20 = lean_ctor_get(x_14, 1); lean_inc(x_20); lean_inc(x_19); -lean_dec(x_16); -lean_ctor_set(x_1, 1, x_19); -lean_ctor_set(x_1, 0, x_14); -x_21 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_21, 0, x_1); +lean_dec(x_14); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); lean_ctor_set(x_21, 1, x_20); return x_21; } } -else -{ -uint8_t x_22; -lean_dec(x_14); -lean_free_object(x_1); -x_22 = !lean_is_exclusive(x_16); -if (x_22 == 0) -{ -return x_16; } else { -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_16, 0); -x_24 = lean_ctor_get(x_16, 1); -lean_inc(x_24); +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_22 = lean_ctor_get(x_1, 0); +x_23 = lean_ctor_get(x_1, 1); lean_inc(x_23); -lean_dec(x_16); -x_25 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_25, 0, x_23); -lean_ctor_set(x_25, 1, x_24); -return x_25; -} -} -} -else +lean_inc(x_22); +lean_dec(x_1); +x_24 = lean_alloc_closure((void*)(l_Lean_Widget_goalToInteractive), 6, 1); +lean_closure_set(x_24, 0, x_22); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_25 = l_Lean_Meta_withPPForTacticGoal___at_Lean_Server_FileWorker_getInteractiveGoals___spec__1(x_24, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_25) == 0) { -uint8_t x_26; -lean_free_object(x_1); -lean_dec(x_11); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_26 = !lean_is_exclusive(x_13); -if (x_26 == 0) -{ -return x_13; -} -else -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_27 = lean_ctor_get(x_13, 0); -x_28 = lean_ctor_get(x_13, 1); -lean_inc(x_28); +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_25, 0); +lean_inc(x_26); +x_27 = lean_ctor_get(x_25, 1); lean_inc(x_27); -lean_dec(x_13); -x_29 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_29, 0, x_27); -lean_ctor_set(x_29, 1, x_28); -return x_29; -} -} +lean_dec(x_25); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_2); +x_1 = x_23; +x_2 = x_28; +x_7 = x_27; +goto _start; } else { lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_30 = lean_ctor_get(x_1, 0); -x_31 = lean_ctor_get(x_1, 1); -lean_inc(x_31); -lean_inc(x_30); -lean_dec(x_1); -x_32 = lean_alloc_closure((void*)(l_Lean_Widget_goalToInteractive), 6, 1); -lean_closure_set(x_32, 0, x_30); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_33 = l_Lean_Meta_withPPForTacticGoal___at_Lean_Server_FileWorker_getInteractiveGoals___spec__1(x_32, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_33) == 0) -{ -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_33, 0); -lean_inc(x_34); -x_35 = lean_ctor_get(x_33, 1); -lean_inc(x_35); -lean_dec(x_33); -x_36 = l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__4(x_31, x_2, x_3, x_4, x_5, 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; -x_37 = lean_ctor_get(x_36, 0); -lean_inc(x_37); -x_38 = lean_ctor_get(x_36, 1); -lean_inc(x_38); -if (lean_is_exclusive(x_36)) { - lean_ctor_release(x_36, 0); - lean_ctor_release(x_36, 1); - x_39 = x_36; -} else { - lean_dec_ref(x_36); - x_39 = lean_box(0); -} -x_40 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_40, 0, x_34); -lean_ctor_set(x_40, 1, x_37); -if (lean_is_scalar(x_39)) { - x_41 = lean_alloc_ctor(0, 2, 0); -} else { - x_41 = x_39; -} -lean_ctor_set(x_41, 0, x_40); -lean_ctor_set(x_41, 1, x_38); -return x_41; -} -else -{ -lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; -lean_dec(x_34); -x_42 = lean_ctor_get(x_36, 0); -lean_inc(x_42); -x_43 = lean_ctor_get(x_36, 1); -lean_inc(x_43); -if (lean_is_exclusive(x_36)) { - lean_ctor_release(x_36, 0); - lean_ctor_release(x_36, 1); - x_44 = x_36; -} else { - lean_dec_ref(x_36); - x_44 = lean_box(0); -} -if (lean_is_scalar(x_44)) { - x_45 = lean_alloc_ctor(1, 2, 0); -} else { - x_45 = x_44; -} -lean_ctor_set(x_45, 0, x_42); -lean_ctor_set(x_45, 1, x_43); -return x_45; -} -} -else -{ -lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; -lean_dec(x_31); +lean_dec(x_23); +lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_46 = lean_ctor_get(x_33, 0); -lean_inc(x_46); -x_47 = lean_ctor_get(x_33, 1); -lean_inc(x_47); -if (lean_is_exclusive(x_33)) { - lean_ctor_release(x_33, 0); - lean_ctor_release(x_33, 1); - x_48 = x_33; +x_30 = lean_ctor_get(x_25, 0); +lean_inc(x_30); +x_31 = lean_ctor_get(x_25, 1); +lean_inc(x_31); +if (lean_is_exclusive(x_25)) { + lean_ctor_release(x_25, 0); + lean_ctor_release(x_25, 1); + x_32 = x_25; } else { - lean_dec_ref(x_33); - x_48 = lean_box(0); + lean_dec_ref(x_25); + x_32 = lean_box(0); } -if (lean_is_scalar(x_48)) { - x_49 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_32)) { + x_33 = lean_alloc_ctor(1, 2, 0); } else { - x_49 = x_48; + x_33 = x_32; } -lean_ctor_set(x_49, 0, x_46); -lean_ctor_set(x_49, 1, x_47); -return x_49; +lean_ctor_set(x_33, 0, x_30); +lean_ctor_set(x_33, 1, x_31); +return x_33; } } } } } -static lean_object* _init_l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__1() { +static lean_object* _init_l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__1() { _start: { lean_object* x_1; @@ -5126,21 +5039,21 @@ x_1 = l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0)); return x_1; } } -static lean_object* _init_l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__2() { +static lean_object* _init_l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__1; +x_1 = l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__1; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__3() { +static lean_object* _init_l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__2; +x_1 = l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__2; x_2 = lean_unsigned_to_nat(0u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -5148,7 +5061,7 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__4() { +static lean_object* _init_l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__4() { _start: { lean_object* x_1; lean_object* x_2; @@ -5157,23 +5070,23 @@ x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -static lean_object* _init_l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__5() { +static lean_object* _init_l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__5() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__4; +x_1 = l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__4; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__6() { +static lean_object* _init_l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__6() { _start: { size_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = 5; -x_2 = l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__5; -x_3 = l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__4; +x_2 = l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__5; +x_3 = l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__4; x_4 = lean_unsigned_to_nat(0u); x_5 = lean_alloc_ctor(0, 4, sizeof(size_t)*1); lean_ctor_set(x_5, 0, x_2); @@ -5184,825 +5097,564 @@ lean_ctor_set_usize(x_5, 4, x_1); return x_5; } } -static lean_object* _init_l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__7() { +static lean_object* _init_l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__3; -x_2 = l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__6; +x_1 = l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__3; +x_2 = l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__6; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_4; lean_object* x_5; -x_4 = lean_box(0); -x_5 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_5, 0, x_4); -lean_ctor_set(x_5, 1, x_3); -return x_5; +lean_object* x_5; lean_object* x_6; +x_5 = l_List_reverse___rarg(x_2); +x_6 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_6, 0, x_5); +lean_ctor_set(x_6, 1, x_4); +return x_6; } else { -lean_object* x_6; uint8_t x_7; -x_6 = lean_ctor_get(x_1, 0); -lean_inc(x_6); -x_7 = lean_ctor_get_uint8(x_6, sizeof(void*)*3); +uint8_t x_7; +x_7 = !lean_is_exclusive(x_1); if (x_7 == 0) { -lean_object* x_8; uint8_t x_9; -x_8 = lean_ctor_get(x_6, 0); -lean_inc(x_8); -x_9 = !lean_is_exclusive(x_1); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; -x_10 = lean_ctor_get(x_1, 1); -x_11 = lean_ctor_get(x_1, 0); -lean_dec(x_11); -x_12 = lean_ctor_get(x_6, 1); -lean_inc(x_12); -lean_dec(x_6); -x_13 = !lean_is_exclusive(x_8); -if (x_13 == 0) -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_14 = lean_ctor_get(x_8, 2); -lean_dec(x_14); -x_15 = lean_ctor_get(x_12, 1); -lean_inc(x_15); -lean_ctor_set(x_8, 2, x_15); -x_16 = lean_ctor_get(x_12, 2); -lean_inc(x_16); -lean_dec(x_12); -x_17 = lean_alloc_closure((void*)(l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__4), 6, 1); -lean_closure_set(x_17, 0, x_16); -x_18 = l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__7; -x_19 = l_Lean_Elab_ContextInfo_runMetaM___rarg(x_8, x_18, x_17, x_3); +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12; lean_object* x_13; +x_8 = lean_ctor_get(x_1, 0); +x_9 = lean_ctor_get(x_1, 1); +x_10 = lean_ctor_get(x_8, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_8, 1); +lean_inc(x_11); +x_12 = lean_ctor_get_uint8(x_8, sizeof(void*)*3); lean_dec(x_8); -if (lean_obj_tag(x_19) == 0) +x_13 = lean_box(0); +if (x_12 == 0) { -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_ctor_get(x_19, 0); -lean_inc(x_20); -x_21 = lean_ctor_get(x_19, 1); -lean_inc(x_21); -lean_dec(x_19); -x_22 = l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5(x_10, x_2, x_21); -if (lean_obj_tag(x_22) == 0) +uint8_t x_14; +x_14 = !lean_is_exclusive(x_10); +if (x_14 == 0) { -uint8_t x_23; -x_23 = !lean_is_exclusive(x_22); -if (x_23 == 0) -{ -lean_object* x_24; -x_24 = lean_ctor_get(x_22, 0); -lean_ctor_set(x_1, 1, x_24); -lean_ctor_set(x_1, 0, x_20); -lean_ctor_set(x_22, 0, x_1); -return x_22; -} -else -{ -lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = lean_ctor_get(x_22, 0); -x_26 = lean_ctor_get(x_22, 1); -lean_inc(x_26); -lean_inc(x_25); -lean_dec(x_22); -lean_ctor_set(x_1, 1, x_25); -lean_ctor_set(x_1, 0, x_20); -x_27 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_27, 0, x_1); -lean_ctor_set(x_27, 1, x_26); -return x_27; -} -} -else -{ -uint8_t x_28; -lean_dec(x_20); -lean_free_object(x_1); -x_28 = !lean_is_exclusive(x_22); -if (x_28 == 0) -{ -return x_22; -} -else -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_22, 0); -x_30 = lean_ctor_get(x_22, 1); -lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_22); -x_31 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_31, 0, x_29); -lean_ctor_set(x_31, 1, x_30); -return x_31; -} -} -} -else -{ -uint8_t x_32; -lean_free_object(x_1); +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_15 = lean_ctor_get(x_10, 2); +lean_dec(x_15); +x_16 = lean_ctor_get(x_11, 1); +lean_inc(x_16); +lean_ctor_set(x_10, 2, x_16); +x_17 = lean_ctor_get(x_11, 2); +lean_inc(x_17); +lean_dec(x_11); +x_18 = lean_alloc_closure((void*)(l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__4), 7, 2); +lean_closure_set(x_18, 0, x_17); +lean_closure_set(x_18, 1, x_13); +x_19 = l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__7; +x_20 = l_Lean_Elab_ContextInfo_runMetaM___rarg(x_10, x_19, x_18, x_4); lean_dec(x_10); -x_32 = !lean_is_exclusive(x_19); -if (x_32 == 0) +if (lean_obj_tag(x_20) == 0) { -lean_object* x_33; lean_object* x_34; -x_33 = lean_ctor_get(x_19, 0); -x_34 = l_Lean_Server_RequestError_ofIoError(x_33); -lean_ctor_set(x_19, 0, x_34); -return x_19; +lean_object* x_21; lean_object* x_22; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_21); +{ +lean_object* _tmp_0 = x_9; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_3 = x_22; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_4 = _tmp_3; +} +goto _start; } else { -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_35 = lean_ctor_get(x_19, 0); -x_36 = lean_ctor_get(x_19, 1); +uint8_t x_24; +lean_free_object(x_1); +lean_dec(x_9); +lean_dec(x_2); +x_24 = !lean_is_exclusive(x_20); +if (x_24 == 0) +{ +lean_object* x_25; lean_object* x_26; +x_25 = lean_ctor_get(x_20, 0); +x_26 = l_Lean_Server_RequestError_ofIoError(x_25); +lean_ctor_set(x_20, 0, x_26); +return x_20; +} +else +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_27 = lean_ctor_get(x_20, 0); +x_28 = lean_ctor_get(x_20, 1); +lean_inc(x_28); +lean_inc(x_27); +lean_dec(x_20); +x_29 = l_Lean_Server_RequestError_ofIoError(x_27); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_29); +lean_ctor_set(x_30, 1, x_28); +return x_30; +} +} +} +else +{ +lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_31 = lean_ctor_get(x_10, 0); +x_32 = lean_ctor_get(x_10, 1); +x_33 = lean_ctor_get(x_10, 3); +x_34 = lean_ctor_get(x_10, 4); +x_35 = lean_ctor_get(x_10, 5); +x_36 = lean_ctor_get(x_10, 6); lean_inc(x_36); lean_inc(x_35); -lean_dec(x_19); -x_37 = l_Lean_Server_RequestError_ofIoError(x_35); -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_37); -lean_ctor_set(x_38, 1, x_36); -return x_38; +lean_inc(x_34); +lean_inc(x_33); +lean_inc(x_32); +lean_inc(x_31); +lean_dec(x_10); +x_37 = lean_ctor_get(x_11, 1); +lean_inc(x_37); +x_38 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_38, 0, x_31); +lean_ctor_set(x_38, 1, x_32); +lean_ctor_set(x_38, 2, x_37); +lean_ctor_set(x_38, 3, x_33); +lean_ctor_set(x_38, 4, x_34); +lean_ctor_set(x_38, 5, x_35); +lean_ctor_set(x_38, 6, x_36); +x_39 = lean_ctor_get(x_11, 2); +lean_inc(x_39); +lean_dec(x_11); +x_40 = lean_alloc_closure((void*)(l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__4), 7, 2); +lean_closure_set(x_40, 0, x_39); +lean_closure_set(x_40, 1, x_13); +x_41 = l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__7; +x_42 = l_Lean_Elab_ContextInfo_runMetaM___rarg(x_38, x_41, x_40, x_4); +lean_dec(x_38); +if (lean_obj_tag(x_42) == 0) +{ +lean_object* x_43; lean_object* x_44; +x_43 = lean_ctor_get(x_42, 0); +lean_inc(x_43); +x_44 = lean_ctor_get(x_42, 1); +lean_inc(x_44); +lean_dec(x_42); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_43); +{ +lean_object* _tmp_0 = x_9; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_3 = x_44; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_4 = _tmp_3; +} +goto _start; +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; +lean_free_object(x_1); +lean_dec(x_9); +lean_dec(x_2); +x_46 = lean_ctor_get(x_42, 0); +lean_inc(x_46); +x_47 = lean_ctor_get(x_42, 1); +lean_inc(x_47); +if (lean_is_exclusive(x_42)) { + lean_ctor_release(x_42, 0); + lean_ctor_release(x_42, 1); + x_48 = x_42; +} else { + lean_dec_ref(x_42); + x_48 = lean_box(0); +} +x_49 = l_Lean_Server_RequestError_ofIoError(x_46); +if (lean_is_scalar(x_48)) { + x_50 = lean_alloc_ctor(1, 2, 0); +} else { + x_50 = x_48; +} +lean_ctor_set(x_50, 0, x_49); +lean_ctor_set(x_50, 1, x_47); +return x_50; } } } else { -lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; -x_39 = lean_ctor_get(x_8, 0); -x_40 = lean_ctor_get(x_8, 1); -x_41 = lean_ctor_get(x_8, 3); -x_42 = lean_ctor_get(x_8, 4); -x_43 = lean_ctor_get(x_8, 5); -x_44 = lean_ctor_get(x_8, 6); -lean_inc(x_44); -lean_inc(x_43); -lean_inc(x_42); -lean_inc(x_41); -lean_inc(x_40); -lean_inc(x_39); -lean_dec(x_8); -x_45 = lean_ctor_get(x_12, 1); -lean_inc(x_45); -x_46 = lean_alloc_ctor(0, 7, 0); -lean_ctor_set(x_46, 0, x_39); -lean_ctor_set(x_46, 1, x_40); -lean_ctor_set(x_46, 2, x_45); -lean_ctor_set(x_46, 3, x_41); -lean_ctor_set(x_46, 4, x_42); -lean_ctor_set(x_46, 5, x_43); -lean_ctor_set(x_46, 6, x_44); -x_47 = lean_ctor_get(x_12, 2); -lean_inc(x_47); -lean_dec(x_12); -x_48 = lean_alloc_closure((void*)(l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__4), 6, 1); -lean_closure_set(x_48, 0, x_47); -x_49 = l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__7; -x_50 = l_Lean_Elab_ContextInfo_runMetaM___rarg(x_46, x_49, x_48, x_3); -lean_dec(x_46); -if (lean_obj_tag(x_50) == 0) +uint8_t x_51; +x_51 = !lean_is_exclusive(x_10); +if (x_51 == 0) { -lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_51 = lean_ctor_get(x_50, 0); -lean_inc(x_51); -x_52 = lean_ctor_get(x_50, 1); -lean_inc(x_52); -lean_dec(x_50); -x_53 = l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5(x_10, x_2, x_52); -if (lean_obj_tag(x_53) == 0) -{ -lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; -x_54 = lean_ctor_get(x_53, 0); +lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; +x_52 = lean_ctor_get(x_10, 2); +lean_dec(x_52); +x_53 = lean_ctor_get(x_11, 3); +lean_inc(x_53); +lean_ctor_set(x_10, 2, x_53); +x_54 = lean_ctor_get(x_11, 4); lean_inc(x_54); -x_55 = lean_ctor_get(x_53, 1); -lean_inc(x_55); -if (lean_is_exclusive(x_53)) { - lean_ctor_release(x_53, 0); - lean_ctor_release(x_53, 1); - x_56 = x_53; -} else { - lean_dec_ref(x_53); - x_56 = lean_box(0); +lean_dec(x_11); +x_55 = lean_alloc_closure((void*)(l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__4), 7, 2); +lean_closure_set(x_55, 0, x_54); +lean_closure_set(x_55, 1, x_13); +x_56 = l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__7; +x_57 = l_Lean_Elab_ContextInfo_runMetaM___rarg(x_10, x_56, x_55, x_4); +lean_dec(x_10); +if (lean_obj_tag(x_57) == 0) +{ +lean_object* x_58; lean_object* x_59; +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); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_58); +{ +lean_object* _tmp_0 = x_9; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_3 = x_59; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_4 = _tmp_3; } -lean_ctor_set(x_1, 1, x_54); -lean_ctor_set(x_1, 0, x_51); -if (lean_is_scalar(x_56)) { - x_57 = lean_alloc_ctor(0, 2, 0); -} else { - x_57 = x_56; +goto _start; } -lean_ctor_set(x_57, 0, x_1); -lean_ctor_set(x_57, 1, x_55); +else +{ +uint8_t x_61; +lean_free_object(x_1); +lean_dec(x_9); +lean_dec(x_2); +x_61 = !lean_is_exclusive(x_57); +if (x_61 == 0) +{ +lean_object* x_62; lean_object* x_63; +x_62 = lean_ctor_get(x_57, 0); +x_63 = l_Lean_Server_RequestError_ofIoError(x_62); +lean_ctor_set(x_57, 0, x_63); return x_57; } else { -lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; -lean_dec(x_51); -lean_free_object(x_1); -x_58 = lean_ctor_get(x_53, 0); -lean_inc(x_58); -x_59 = lean_ctor_get(x_53, 1); -lean_inc(x_59); -if (lean_is_exclusive(x_53)) { - lean_ctor_release(x_53, 0); - lean_ctor_release(x_53, 1); - x_60 = x_53; -} else { - lean_dec_ref(x_53); - x_60 = lean_box(0); -} -if (lean_is_scalar(x_60)) { - x_61 = lean_alloc_ctor(1, 2, 0); -} else { - x_61 = x_60; -} -lean_ctor_set(x_61, 0, x_58); -lean_ctor_set(x_61, 1, x_59); -return x_61; -} -} -else -{ -lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; -lean_free_object(x_1); -lean_dec(x_10); -x_62 = lean_ctor_get(x_50, 0); -lean_inc(x_62); -x_63 = lean_ctor_get(x_50, 1); -lean_inc(x_63); -if (lean_is_exclusive(x_50)) { - lean_ctor_release(x_50, 0); - lean_ctor_release(x_50, 1); - x_64 = x_50; -} else { - lean_dec_ref(x_50); - x_64 = lean_box(0); -} -x_65 = l_Lean_Server_RequestError_ofIoError(x_62); -if (lean_is_scalar(x_64)) { - x_66 = lean_alloc_ctor(1, 2, 0); -} else { - x_66 = x_64; -} -lean_ctor_set(x_66, 0, x_65); -lean_ctor_set(x_66, 1, x_63); -return x_66; +lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_64 = lean_ctor_get(x_57, 0); +x_65 = lean_ctor_get(x_57, 1); +lean_inc(x_65); +lean_inc(x_64); +lean_dec(x_57); +x_66 = l_Lean_Server_RequestError_ofIoError(x_64); +x_67 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_67, 0, x_66); +lean_ctor_set(x_67, 1, x_65); +return x_67; } } } else { -lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; -x_67 = lean_ctor_get(x_1, 1); -lean_inc(x_67); -lean_dec(x_1); -x_68 = lean_ctor_get(x_6, 1); -lean_inc(x_68); -lean_dec(x_6); -x_69 = lean_ctor_get(x_8, 0); -lean_inc(x_69); -x_70 = lean_ctor_get(x_8, 1); -lean_inc(x_70); -x_71 = lean_ctor_get(x_8, 3); -lean_inc(x_71); -x_72 = lean_ctor_get(x_8, 4); -lean_inc(x_72); -x_73 = lean_ctor_get(x_8, 5); +lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; +x_68 = lean_ctor_get(x_10, 0); +x_69 = lean_ctor_get(x_10, 1); +x_70 = lean_ctor_get(x_10, 3); +x_71 = lean_ctor_get(x_10, 4); +x_72 = lean_ctor_get(x_10, 5); +x_73 = lean_ctor_get(x_10, 6); lean_inc(x_73); -x_74 = lean_ctor_get(x_8, 6); +lean_inc(x_72); +lean_inc(x_71); +lean_inc(x_70); +lean_inc(x_69); +lean_inc(x_68); +lean_dec(x_10); +x_74 = lean_ctor_get(x_11, 3); lean_inc(x_74); -if (lean_is_exclusive(x_8)) { - lean_ctor_release(x_8, 0); - lean_ctor_release(x_8, 1); - lean_ctor_release(x_8, 2); - lean_ctor_release(x_8, 3); - lean_ctor_release(x_8, 4); - lean_ctor_release(x_8, 5); - lean_ctor_release(x_8, 6); - x_75 = x_8; -} else { - lean_dec_ref(x_8); - x_75 = lean_box(0); -} -x_76 = lean_ctor_get(x_68, 1); +x_75 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_75, 0, x_68); +lean_ctor_set(x_75, 1, x_69); +lean_ctor_set(x_75, 2, x_74); +lean_ctor_set(x_75, 3, x_70); +lean_ctor_set(x_75, 4, x_71); +lean_ctor_set(x_75, 5, x_72); +lean_ctor_set(x_75, 6, x_73); +x_76 = lean_ctor_get(x_11, 4); lean_inc(x_76); -if (lean_is_scalar(x_75)) { - x_77 = lean_alloc_ctor(0, 7, 0); -} else { - x_77 = x_75; -} -lean_ctor_set(x_77, 0, x_69); -lean_ctor_set(x_77, 1, x_70); -lean_ctor_set(x_77, 2, x_76); -lean_ctor_set(x_77, 3, x_71); -lean_ctor_set(x_77, 4, x_72); -lean_ctor_set(x_77, 5, x_73); -lean_ctor_set(x_77, 6, x_74); -x_78 = lean_ctor_get(x_68, 2); -lean_inc(x_78); -lean_dec(x_68); -x_79 = lean_alloc_closure((void*)(l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__4), 6, 1); -lean_closure_set(x_79, 0, x_78); -x_80 = l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__7; -x_81 = l_Lean_Elab_ContextInfo_runMetaM___rarg(x_77, x_80, x_79, x_3); -lean_dec(x_77); -if (lean_obj_tag(x_81) == 0) +lean_dec(x_11); +x_77 = lean_alloc_closure((void*)(l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__4), 7, 2); +lean_closure_set(x_77, 0, x_76); +lean_closure_set(x_77, 1, x_13); +x_78 = l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__7; +x_79 = l_Lean_Elab_ContextInfo_runMetaM___rarg(x_75, x_78, x_77, x_4); +lean_dec(x_75); +if (lean_obj_tag(x_79) == 0) { -lean_object* x_82; lean_object* x_83; lean_object* x_84; -x_82 = lean_ctor_get(x_81, 0); -lean_inc(x_82); -x_83 = lean_ctor_get(x_81, 1); +lean_object* x_80; lean_object* x_81; +x_80 = lean_ctor_get(x_79, 0); +lean_inc(x_80); +x_81 = lean_ctor_get(x_79, 1); +lean_inc(x_81); +lean_dec(x_79); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_80); +{ +lean_object* _tmp_0 = x_9; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_3 = x_81; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_4 = _tmp_3; +} +goto _start; +} +else +{ +lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; +lean_free_object(x_1); +lean_dec(x_9); +lean_dec(x_2); +x_83 = lean_ctor_get(x_79, 0); lean_inc(x_83); -lean_dec(x_81); -x_84 = l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5(x_67, x_2, x_83); -if (lean_obj_tag(x_84) == 0) -{ -lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; -x_85 = lean_ctor_get(x_84, 0); -lean_inc(x_85); -x_86 = lean_ctor_get(x_84, 1); -lean_inc(x_86); -if (lean_is_exclusive(x_84)) { - lean_ctor_release(x_84, 0); - lean_ctor_release(x_84, 1); - x_87 = x_84; +x_84 = lean_ctor_get(x_79, 1); +lean_inc(x_84); +if (lean_is_exclusive(x_79)) { + lean_ctor_release(x_79, 0); + lean_ctor_release(x_79, 1); + x_85 = x_79; } else { - lean_dec_ref(x_84); - x_87 = lean_box(0); + lean_dec_ref(x_79); + x_85 = lean_box(0); } -x_88 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_88, 0, x_82); -lean_ctor_set(x_88, 1, x_85); -if (lean_is_scalar(x_87)) { - x_89 = lean_alloc_ctor(0, 2, 0); +x_86 = l_Lean_Server_RequestError_ofIoError(x_83); +if (lean_is_scalar(x_85)) { + x_87 = lean_alloc_ctor(1, 2, 0); } else { - x_89 = x_87; + x_87 = x_85; } -lean_ctor_set(x_89, 0, x_88); -lean_ctor_set(x_89, 1, x_86); -return x_89; +lean_ctor_set(x_87, 0, x_86); +lean_ctor_set(x_87, 1, x_84); +return x_87; } -else -{ -lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; -lean_dec(x_82); -x_90 = lean_ctor_get(x_84, 0); -lean_inc(x_90); -x_91 = lean_ctor_get(x_84, 1); -lean_inc(x_91); -if (lean_is_exclusive(x_84)) { - lean_ctor_release(x_84, 0); - lean_ctor_release(x_84, 1); - x_92 = x_84; -} else { - lean_dec_ref(x_84); - x_92 = lean_box(0); -} -if (lean_is_scalar(x_92)) { - x_93 = lean_alloc_ctor(1, 2, 0); -} else { - x_93 = x_92; -} -lean_ctor_set(x_93, 0, x_90); -lean_ctor_set(x_93, 1, x_91); -return x_93; -} -} -else -{ -lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; -lean_dec(x_67); -x_94 = lean_ctor_get(x_81, 0); -lean_inc(x_94); -x_95 = lean_ctor_get(x_81, 1); -lean_inc(x_95); -if (lean_is_exclusive(x_81)) { - lean_ctor_release(x_81, 0); - lean_ctor_release(x_81, 1); - x_96 = x_81; -} else { - lean_dec_ref(x_81); - x_96 = lean_box(0); -} -x_97 = l_Lean_Server_RequestError_ofIoError(x_94); -if (lean_is_scalar(x_96)) { - x_98 = lean_alloc_ctor(1, 2, 0); -} else { - x_98 = x_96; -} -lean_ctor_set(x_98, 0, x_97); -lean_ctor_set(x_98, 1, x_95); -return x_98; } } } else { -lean_object* x_99; uint8_t x_100; -x_99 = lean_ctor_get(x_6, 0); -lean_inc(x_99); -x_100 = !lean_is_exclusive(x_1); -if (x_100 == 0) -{ -lean_object* x_101; lean_object* x_102; lean_object* x_103; uint8_t x_104; -x_101 = lean_ctor_get(x_1, 1); -x_102 = lean_ctor_get(x_1, 0); -lean_dec(x_102); -x_103 = lean_ctor_get(x_6, 1); -lean_inc(x_103); -lean_dec(x_6); -x_104 = !lean_is_exclusive(x_99); -if (x_104 == 0) -{ -lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; -x_105 = lean_ctor_get(x_99, 2); -lean_dec(x_105); -x_106 = lean_ctor_get(x_103, 3); -lean_inc(x_106); -lean_ctor_set(x_99, 2, x_106); -x_107 = lean_ctor_get(x_103, 4); -lean_inc(x_107); -lean_dec(x_103); -x_108 = lean_alloc_closure((void*)(l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__4), 6, 1); -lean_closure_set(x_108, 0, x_107); -x_109 = l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__7; -x_110 = l_Lean_Elab_ContextInfo_runMetaM___rarg(x_99, x_109, x_108, x_3); -lean_dec(x_99); -if (lean_obj_tag(x_110) == 0) -{ -lean_object* x_111; lean_object* x_112; lean_object* x_113; -x_111 = lean_ctor_get(x_110, 0); -lean_inc(x_111); -x_112 = lean_ctor_get(x_110, 1); -lean_inc(x_112); -lean_dec(x_110); -x_113 = l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5(x_101, x_2, x_112); -if (lean_obj_tag(x_113) == 0) -{ -uint8_t x_114; -x_114 = !lean_is_exclusive(x_113); -if (x_114 == 0) -{ -lean_object* x_115; -x_115 = lean_ctor_get(x_113, 0); -lean_ctor_set(x_1, 1, x_115); -lean_ctor_set(x_1, 0, x_111); -lean_ctor_set(x_113, 0, x_1); -return x_113; -} -else -{ -lean_object* x_116; lean_object* x_117; lean_object* x_118; -x_116 = lean_ctor_get(x_113, 0); -x_117 = lean_ctor_get(x_113, 1); -lean_inc(x_117); -lean_inc(x_116); -lean_dec(x_113); -lean_ctor_set(x_1, 1, x_116); -lean_ctor_set(x_1, 0, x_111); -x_118 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_118, 0, x_1); -lean_ctor_set(x_118, 1, x_117); -return x_118; -} -} -else -{ -uint8_t x_119; -lean_dec(x_111); -lean_free_object(x_1); -x_119 = !lean_is_exclusive(x_113); -if (x_119 == 0) -{ -return x_113; -} -else -{ -lean_object* x_120; lean_object* x_121; lean_object* x_122; -x_120 = lean_ctor_get(x_113, 0); -x_121 = lean_ctor_get(x_113, 1); -lean_inc(x_121); -lean_inc(x_120); -lean_dec(x_113); -x_122 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_122, 0, x_120); -lean_ctor_set(x_122, 1, x_121); -return x_122; -} -} -} -else -{ -uint8_t x_123; -lean_free_object(x_1); -lean_dec(x_101); -x_123 = !lean_is_exclusive(x_110); -if (x_123 == 0) -{ -lean_object* x_124; lean_object* x_125; -x_124 = lean_ctor_get(x_110, 0); -x_125 = l_Lean_Server_RequestError_ofIoError(x_124); -lean_ctor_set(x_110, 0, x_125); -return x_110; -} -else -{ -lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; -x_126 = lean_ctor_get(x_110, 0); -x_127 = lean_ctor_get(x_110, 1); -lean_inc(x_127); -lean_inc(x_126); -lean_dec(x_110); -x_128 = l_Lean_Server_RequestError_ofIoError(x_126); -x_129 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_129, 0, x_128); -lean_ctor_set(x_129, 1, x_127); -return x_129; -} -} -} -else -{ -lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; -x_130 = lean_ctor_get(x_99, 0); -x_131 = lean_ctor_get(x_99, 1); -x_132 = lean_ctor_get(x_99, 3); -x_133 = lean_ctor_get(x_99, 4); -x_134 = lean_ctor_get(x_99, 5); -x_135 = lean_ctor_get(x_99, 6); -lean_inc(x_135); -lean_inc(x_134); -lean_inc(x_133); -lean_inc(x_132); -lean_inc(x_131); -lean_inc(x_130); -lean_dec(x_99); -x_136 = lean_ctor_get(x_103, 3); -lean_inc(x_136); -x_137 = lean_alloc_ctor(0, 7, 0); -lean_ctor_set(x_137, 0, x_130); -lean_ctor_set(x_137, 1, x_131); -lean_ctor_set(x_137, 2, x_136); -lean_ctor_set(x_137, 3, x_132); -lean_ctor_set(x_137, 4, x_133); -lean_ctor_set(x_137, 5, x_134); -lean_ctor_set(x_137, 6, x_135); -x_138 = lean_ctor_get(x_103, 4); -lean_inc(x_138); -lean_dec(x_103); -x_139 = lean_alloc_closure((void*)(l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__4), 6, 1); -lean_closure_set(x_139, 0, x_138); -x_140 = l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__7; -x_141 = l_Lean_Elab_ContextInfo_runMetaM___rarg(x_137, x_140, x_139, x_3); -lean_dec(x_137); -if (lean_obj_tag(x_141) == 0) -{ -lean_object* x_142; lean_object* x_143; lean_object* x_144; -x_142 = lean_ctor_get(x_141, 0); -lean_inc(x_142); -x_143 = lean_ctor_get(x_141, 1); -lean_inc(x_143); -lean_dec(x_141); -x_144 = l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5(x_101, x_2, x_143); -if (lean_obj_tag(x_144) == 0) -{ -lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; -x_145 = lean_ctor_get(x_144, 0); -lean_inc(x_145); -x_146 = lean_ctor_get(x_144, 1); -lean_inc(x_146); -if (lean_is_exclusive(x_144)) { - lean_ctor_release(x_144, 0); - lean_ctor_release(x_144, 1); - x_147 = x_144; -} else { - lean_dec_ref(x_144); - x_147 = lean_box(0); -} -lean_ctor_set(x_1, 1, x_145); -lean_ctor_set(x_1, 0, x_142); -if (lean_is_scalar(x_147)) { - x_148 = lean_alloc_ctor(0, 2, 0); -} else { - x_148 = x_147; -} -lean_ctor_set(x_148, 0, x_1); -lean_ctor_set(x_148, 1, x_146); -return x_148; -} -else -{ -lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; -lean_dec(x_142); -lean_free_object(x_1); -x_149 = lean_ctor_get(x_144, 0); -lean_inc(x_149); -x_150 = lean_ctor_get(x_144, 1); -lean_inc(x_150); -if (lean_is_exclusive(x_144)) { - lean_ctor_release(x_144, 0); - lean_ctor_release(x_144, 1); - x_151 = x_144; -} else { - lean_dec_ref(x_144); - x_151 = lean_box(0); -} -if (lean_is_scalar(x_151)) { - x_152 = lean_alloc_ctor(1, 2, 0); -} else { - x_152 = x_151; -} -lean_ctor_set(x_152, 0, x_149); -lean_ctor_set(x_152, 1, x_150); -return x_152; -} -} -else -{ -lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; -lean_free_object(x_1); -lean_dec(x_101); -x_153 = lean_ctor_get(x_141, 0); -lean_inc(x_153); -x_154 = lean_ctor_get(x_141, 1); -lean_inc(x_154); -if (lean_is_exclusive(x_141)) { - lean_ctor_release(x_141, 0); - lean_ctor_release(x_141, 1); - x_155 = x_141; -} else { - lean_dec_ref(x_141); - x_155 = lean_box(0); -} -x_156 = l_Lean_Server_RequestError_ofIoError(x_153); -if (lean_is_scalar(x_155)) { - x_157 = lean_alloc_ctor(1, 2, 0); -} else { - x_157 = x_155; -} -lean_ctor_set(x_157, 0, x_156); -lean_ctor_set(x_157, 1, x_154); -return x_157; -} -} -} -else -{ -lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; -x_158 = lean_ctor_get(x_1, 1); -lean_inc(x_158); +lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93; +x_88 = lean_ctor_get(x_1, 0); +x_89 = lean_ctor_get(x_1, 1); +lean_inc(x_89); +lean_inc(x_88); lean_dec(x_1); -x_159 = lean_ctor_get(x_6, 1); -lean_inc(x_159); -lean_dec(x_6); -x_160 = lean_ctor_get(x_99, 0); -lean_inc(x_160); -x_161 = lean_ctor_get(x_99, 1); -lean_inc(x_161); -x_162 = lean_ctor_get(x_99, 3); -lean_inc(x_162); -x_163 = lean_ctor_get(x_99, 4); -lean_inc(x_163); -x_164 = lean_ctor_get(x_99, 5); -lean_inc(x_164); -x_165 = lean_ctor_get(x_99, 6); -lean_inc(x_165); -if (lean_is_exclusive(x_99)) { - lean_ctor_release(x_99, 0); - lean_ctor_release(x_99, 1); - lean_ctor_release(x_99, 2); - lean_ctor_release(x_99, 3); - lean_ctor_release(x_99, 4); - lean_ctor_release(x_99, 5); - lean_ctor_release(x_99, 6); - x_166 = x_99; -} else { - lean_dec_ref(x_99); - x_166 = lean_box(0); -} -x_167 = lean_ctor_get(x_159, 3); -lean_inc(x_167); -if (lean_is_scalar(x_166)) { - x_168 = lean_alloc_ctor(0, 7, 0); -} else { - x_168 = x_166; -} -lean_ctor_set(x_168, 0, x_160); -lean_ctor_set(x_168, 1, x_161); -lean_ctor_set(x_168, 2, x_167); -lean_ctor_set(x_168, 3, x_162); -lean_ctor_set(x_168, 4, x_163); -lean_ctor_set(x_168, 5, x_164); -lean_ctor_set(x_168, 6, x_165); -x_169 = lean_ctor_get(x_159, 4); -lean_inc(x_169); -lean_dec(x_159); -x_170 = lean_alloc_closure((void*)(l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__4), 6, 1); -lean_closure_set(x_170, 0, x_169); -x_171 = l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__7; -x_172 = l_Lean_Elab_ContextInfo_runMetaM___rarg(x_168, x_171, x_170, x_3); -lean_dec(x_168); -if (lean_obj_tag(x_172) == 0) +x_90 = lean_ctor_get(x_88, 0); +lean_inc(x_90); +x_91 = lean_ctor_get(x_88, 1); +lean_inc(x_91); +x_92 = lean_ctor_get_uint8(x_88, sizeof(void*)*3); +lean_dec(x_88); +x_93 = lean_box(0); +if (x_92 == 0) { -lean_object* x_173; lean_object* x_174; lean_object* x_175; -x_173 = lean_ctor_get(x_172, 0); -lean_inc(x_173); -x_174 = lean_ctor_get(x_172, 1); -lean_inc(x_174); -lean_dec(x_172); -x_175 = l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5(x_158, x_2, x_174); -if (lean_obj_tag(x_175) == 0) +lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; +x_94 = lean_ctor_get(x_90, 0); +lean_inc(x_94); +x_95 = lean_ctor_get(x_90, 1); +lean_inc(x_95); +x_96 = lean_ctor_get(x_90, 3); +lean_inc(x_96); +x_97 = lean_ctor_get(x_90, 4); +lean_inc(x_97); +x_98 = lean_ctor_get(x_90, 5); +lean_inc(x_98); +x_99 = lean_ctor_get(x_90, 6); +lean_inc(x_99); +if (lean_is_exclusive(x_90)) { + lean_ctor_release(x_90, 0); + lean_ctor_release(x_90, 1); + lean_ctor_release(x_90, 2); + lean_ctor_release(x_90, 3); + lean_ctor_release(x_90, 4); + lean_ctor_release(x_90, 5); + lean_ctor_release(x_90, 6); + x_100 = x_90; +} else { + lean_dec_ref(x_90); + x_100 = lean_box(0); +} +x_101 = lean_ctor_get(x_91, 1); +lean_inc(x_101); +if (lean_is_scalar(x_100)) { + x_102 = lean_alloc_ctor(0, 7, 0); +} else { + x_102 = x_100; +} +lean_ctor_set(x_102, 0, x_94); +lean_ctor_set(x_102, 1, x_95); +lean_ctor_set(x_102, 2, x_101); +lean_ctor_set(x_102, 3, x_96); +lean_ctor_set(x_102, 4, x_97); +lean_ctor_set(x_102, 5, x_98); +lean_ctor_set(x_102, 6, x_99); +x_103 = lean_ctor_get(x_91, 2); +lean_inc(x_103); +lean_dec(x_91); +x_104 = lean_alloc_closure((void*)(l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__4), 7, 2); +lean_closure_set(x_104, 0, x_103); +lean_closure_set(x_104, 1, x_93); +x_105 = l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__7; +x_106 = l_Lean_Elab_ContextInfo_runMetaM___rarg(x_102, x_105, x_104, x_4); +lean_dec(x_102); +if (lean_obj_tag(x_106) == 0) { -lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; -x_176 = lean_ctor_get(x_175, 0); -lean_inc(x_176); -x_177 = lean_ctor_get(x_175, 1); -lean_inc(x_177); -if (lean_is_exclusive(x_175)) { - lean_ctor_release(x_175, 0); - lean_ctor_release(x_175, 1); - x_178 = x_175; -} else { - lean_dec_ref(x_175); - x_178 = lean_box(0); -} -x_179 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_179, 0, x_173); -lean_ctor_set(x_179, 1, x_176); -if (lean_is_scalar(x_178)) { - x_180 = lean_alloc_ctor(0, 2, 0); -} else { - x_180 = x_178; -} -lean_ctor_set(x_180, 0, x_179); -lean_ctor_set(x_180, 1, x_177); -return x_180; +lean_object* x_107; lean_object* x_108; lean_object* x_109; +x_107 = lean_ctor_get(x_106, 0); +lean_inc(x_107); +x_108 = lean_ctor_get(x_106, 1); +lean_inc(x_108); +lean_dec(x_106); +x_109 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_109, 0, x_107); +lean_ctor_set(x_109, 1, x_2); +x_1 = x_89; +x_2 = x_109; +x_4 = x_108; +goto _start; } else { -lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; -lean_dec(x_173); -x_181 = lean_ctor_get(x_175, 0); -lean_inc(x_181); -x_182 = lean_ctor_get(x_175, 1); -lean_inc(x_182); -if (lean_is_exclusive(x_175)) { - lean_ctor_release(x_175, 0); - lean_ctor_release(x_175, 1); - x_183 = x_175; +lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; +lean_dec(x_89); +lean_dec(x_2); +x_111 = lean_ctor_get(x_106, 0); +lean_inc(x_111); +x_112 = lean_ctor_get(x_106, 1); +lean_inc(x_112); +if (lean_is_exclusive(x_106)) { + lean_ctor_release(x_106, 0); + lean_ctor_release(x_106, 1); + x_113 = x_106; } else { - lean_dec_ref(x_175); - x_183 = lean_box(0); + lean_dec_ref(x_106); + x_113 = lean_box(0); } -if (lean_is_scalar(x_183)) { - x_184 = lean_alloc_ctor(1, 2, 0); +x_114 = l_Lean_Server_RequestError_ofIoError(x_111); +if (lean_is_scalar(x_113)) { + x_115 = lean_alloc_ctor(1, 2, 0); } else { - x_184 = x_183; + x_115 = x_113; } -lean_ctor_set(x_184, 0, x_181); -lean_ctor_set(x_184, 1, x_182); -return x_184; +lean_ctor_set(x_115, 0, x_114); +lean_ctor_set(x_115, 1, x_112); +return x_115; } } else { -lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; -lean_dec(x_158); -x_185 = lean_ctor_get(x_172, 0); -lean_inc(x_185); -x_186 = lean_ctor_get(x_172, 1); -lean_inc(x_186); -if (lean_is_exclusive(x_172)) { - lean_ctor_release(x_172, 0); - lean_ctor_release(x_172, 1); - x_187 = x_172; +lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; +x_116 = lean_ctor_get(x_90, 0); +lean_inc(x_116); +x_117 = lean_ctor_get(x_90, 1); +lean_inc(x_117); +x_118 = lean_ctor_get(x_90, 3); +lean_inc(x_118); +x_119 = lean_ctor_get(x_90, 4); +lean_inc(x_119); +x_120 = lean_ctor_get(x_90, 5); +lean_inc(x_120); +x_121 = lean_ctor_get(x_90, 6); +lean_inc(x_121); +if (lean_is_exclusive(x_90)) { + lean_ctor_release(x_90, 0); + lean_ctor_release(x_90, 1); + lean_ctor_release(x_90, 2); + lean_ctor_release(x_90, 3); + lean_ctor_release(x_90, 4); + lean_ctor_release(x_90, 5); + lean_ctor_release(x_90, 6); + x_122 = x_90; } else { - lean_dec_ref(x_172); - x_187 = lean_box(0); + lean_dec_ref(x_90); + x_122 = lean_box(0); } -x_188 = l_Lean_Server_RequestError_ofIoError(x_185); -if (lean_is_scalar(x_187)) { - x_189 = lean_alloc_ctor(1, 2, 0); +x_123 = lean_ctor_get(x_91, 3); +lean_inc(x_123); +if (lean_is_scalar(x_122)) { + x_124 = lean_alloc_ctor(0, 7, 0); } else { - x_189 = x_187; + x_124 = x_122; } -lean_ctor_set(x_189, 0, x_188); -lean_ctor_set(x_189, 1, x_186); -return x_189; +lean_ctor_set(x_124, 0, x_116); +lean_ctor_set(x_124, 1, x_117); +lean_ctor_set(x_124, 2, x_123); +lean_ctor_set(x_124, 3, x_118); +lean_ctor_set(x_124, 4, x_119); +lean_ctor_set(x_124, 5, x_120); +lean_ctor_set(x_124, 6, x_121); +x_125 = lean_ctor_get(x_91, 4); +lean_inc(x_125); +lean_dec(x_91); +x_126 = lean_alloc_closure((void*)(l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__4), 7, 2); +lean_closure_set(x_126, 0, x_125); +lean_closure_set(x_126, 1, x_93); +x_127 = l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__7; +x_128 = l_Lean_Elab_ContextInfo_runMetaM___rarg(x_124, x_127, x_126, x_4); +lean_dec(x_124); +if (lean_obj_tag(x_128) == 0) +{ +lean_object* x_129; lean_object* x_130; lean_object* x_131; +x_129 = lean_ctor_get(x_128, 0); +lean_inc(x_129); +x_130 = lean_ctor_get(x_128, 1); +lean_inc(x_130); +lean_dec(x_128); +x_131 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_131, 0, x_129); +lean_ctor_set(x_131, 1, x_2); +x_1 = x_89; +x_2 = x_131; +x_4 = x_130; +goto _start; +} +else +{ +lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; +lean_dec(x_89); +lean_dec(x_2); +x_133 = lean_ctor_get(x_128, 0); +lean_inc(x_133); +x_134 = lean_ctor_get(x_128, 1); +lean_inc(x_134); +if (lean_is_exclusive(x_128)) { + lean_ctor_release(x_128, 0); + lean_ctor_release(x_128, 1); + x_135 = x_128; +} else { + lean_dec_ref(x_128); + x_135 = lean_box(0); +} +x_136 = l_Lean_Server_RequestError_ofIoError(x_133); +if (lean_is_scalar(x_135)) { + x_137 = lean_alloc_ctor(1, 2, 0); +} else { + x_137 = x_135; +} +lean_ctor_set(x_137, 0, x_136); +lean_ctor_set(x_137, 1, x_134); +return x_137; } } } @@ -6035,68 +5687,69 @@ return x_9; } else { -lean_object* x_10; +lean_object* x_10; lean_object* x_11; lean_dec(x_3); -x_10 = l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5(x_8, x_5, x_6); -if (lean_obj_tag(x_10) == 0) +x_10 = lean_box(0); +x_11 = l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5(x_8, x_10, x_5, x_6); +if (lean_obj_tag(x_11) == 0) { -uint8_t x_11; -x_11 = !lean_is_exclusive(x_10); -if (x_11 == 0) +uint8_t x_12; +x_12 = !lean_is_exclusive(x_11); +if (x_12 == 0) { -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_12 = lean_ctor_get(x_10, 0); -x_13 = l_List_join___rarg(x_12); -x_14 = l_List_redLength___rarg(x_13); -x_15 = lean_mk_empty_array_with_capacity(x_14); -lean_dec(x_14); -x_16 = l_List_toArrayAux___rarg(x_13, x_15); -x_17 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_17, 0, x_16); -lean_ctor_set(x_10, 0, x_17); -return x_10; +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_13 = lean_ctor_get(x_11, 0); +x_14 = l_List_join___rarg(x_13); +x_15 = l_List_redLength___rarg(x_14); +x_16 = lean_mk_empty_array_with_capacity(x_15); +lean_dec(x_15); +x_17 = l_List_toArrayAux___rarg(x_14, x_16); +x_18 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_18, 0, x_17); +lean_ctor_set(x_11, 0, x_18); +return x_11; } else { -lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_18 = lean_ctor_get(x_10, 0); -x_19 = lean_ctor_get(x_10, 1); +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_19 = lean_ctor_get(x_11, 0); +x_20 = lean_ctor_get(x_11, 1); +lean_inc(x_20); lean_inc(x_19); -lean_inc(x_18); -lean_dec(x_10); -x_20 = l_List_join___rarg(x_18); -x_21 = l_List_redLength___rarg(x_20); -x_22 = lean_mk_empty_array_with_capacity(x_21); -lean_dec(x_21); -x_23 = l_List_toArrayAux___rarg(x_20, x_22); -x_24 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_24, 0, x_23); -x_25 = lean_alloc_ctor(0, 2, 0); +lean_dec(x_11); +x_21 = l_List_join___rarg(x_19); +x_22 = l_List_redLength___rarg(x_21); +x_23 = lean_mk_empty_array_with_capacity(x_22); +lean_dec(x_22); +x_24 = l_List_toArrayAux___rarg(x_21, x_23); +x_25 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_25, 0, x_24); -lean_ctor_set(x_25, 1, x_19); -return x_25; +x_26 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_26, 0, x_25); +lean_ctor_set(x_26, 1, x_20); +return x_26; } } else { -uint8_t x_26; -x_26 = !lean_is_exclusive(x_10); -if (x_26 == 0) +uint8_t x_27; +x_27 = !lean_is_exclusive(x_11); +if (x_27 == 0) { -return x_10; +return x_11; } else { -lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_27 = lean_ctor_get(x_10, 0); -x_28 = lean_ctor_get(x_10, 1); +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_11, 0); +x_29 = lean_ctor_get(x_11, 1); +lean_inc(x_29); lean_inc(x_28); -lean_inc(x_27); -lean_dec(x_10); -x_29 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_29, 0, x_27); -lean_ctor_set(x_29, 1, x_28); -return x_29; +lean_dec(x_11); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; } } } @@ -6154,13 +5807,13 @@ x_9 = l_Lean_Meta_withPPShowLetValues___at_Lean_Server_FileWorker_getInteractive return x_9; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { -lean_object* x_4; -x_4 = l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5(x_1, x_2, x_3); -lean_dec(x_2); -return x_4; +lean_object* x_5; +x_5 = l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5(x_1, x_2, x_3, x_4); +lean_dec(x_3); +return x_5; } } LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_getInteractiveGoals___lambda__1___boxed(lean_object* x_1, lean_object* x_2) { @@ -22399,20 +22052,20 @@ l_Lean_Server_FileWorker_locationLinksOfInfo___lambda__10___closed__1 = _init_l_ lean_mark_persistent(l_Lean_Server_FileWorker_locationLinksOfInfo___lambda__10___closed__1); l_Lean_Server_FileWorker_handleDefinition___closed__1 = _init_l_Lean_Server_FileWorker_handleDefinition___closed__1(); lean_mark_persistent(l_Lean_Server_FileWorker_handleDefinition___closed__1); -l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__1 = _init_l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__1(); -lean_mark_persistent(l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__1); -l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__2 = _init_l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__2(); -lean_mark_persistent(l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__2); -l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__3 = _init_l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__3(); -lean_mark_persistent(l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__3); -l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__4 = _init_l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__4(); -lean_mark_persistent(l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__4); -l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__5 = _init_l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__5(); -lean_mark_persistent(l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__5); -l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__6 = _init_l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__6(); -lean_mark_persistent(l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__6); -l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__7 = _init_l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__7(); -lean_mark_persistent(l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__7); +l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__1 = _init_l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__1(); +lean_mark_persistent(l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__1); +l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__2 = _init_l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__2(); +lean_mark_persistent(l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__2); +l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__3 = _init_l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__3(); +lean_mark_persistent(l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__3); +l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__4 = _init_l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__4(); +lean_mark_persistent(l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__4); +l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__5 = _init_l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__5(); +lean_mark_persistent(l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__5); +l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__6 = _init_l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__6(); +lean_mark_persistent(l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__6); +l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__7 = _init_l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__7(); +lean_mark_persistent(l_List_mapM_loop___at_Lean_Server_FileWorker_getInteractiveGoals___spec__5___closed__7); l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_handlePlainGoal___spec__2___closed__1 = _init_l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_handlePlainGoal___spec__2___closed__1(); lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_handlePlainGoal___spec__2___closed__1); l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_handlePlainGoal___spec__2___closed__2 = _init_l_Array_mapMUnsafe_map___at_Lean_Server_FileWorker_handlePlainGoal___spec__2___closed__2(); diff --git a/stage0/stdlib/Lean/Server/InfoUtils.c b/stage0/stdlib/Lean/Server/InfoUtils.c index c17da34c05..8ff6a41dc8 100644 --- a/stage0/stdlib/Lean/Server/InfoUtils.c +++ b/stage0/stdlib/Lean/Server/InfoUtils.c @@ -15,6 +15,7 @@ extern "C" { #endif lean_object* l_List_reverse___rarg(lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_InfoTree_foldInfo_go___spec__22___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_InfoTree_collectNodesBottomUp___spec__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_InfoTree_foldInfo_go___spec__26(lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_anyMAux___at_Lean_Elab_InfoTree_hasSorry_go___spec__2(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_InfoTree_visitM_go___at_Lean_Elab_InfoTree_hoverableInfoAt_x3f___spec__5(lean_object*, lean_object*, lean_object*, lean_object*); @@ -61,6 +62,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Info_occursBefore_x3f(lean_object*, lean_ob static lean_object* l_Lean_Elab_InfoTree_hoverableInfoAt_x3f___lambda__3___closed__4; LEAN_EXPORT uint8_t l_Lean_Elab_Info_isSmaller(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_InfoTree_foldInfo_go___spec__6(lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_InfoTree_visitM_go___spec__2(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_InfoTree_hasSorry_go___spec__50___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_InfoTree_goalsAt_x3f_hasNestedTactic___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Info_occursBefore_x3f___boxed(lean_object*, lean_object*); @@ -68,10 +70,10 @@ LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_InfoTree_hasSorry LEAN_EXPORT lean_object* l_Lean_Elab_InfoTree_visitM_go___at_Lean_Elab_InfoTree_collectNodesBottomUp___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_InfoTree_foldInfo_go___spec__19(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Info_type_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_InfoTree_visitM_go___spec__2(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_InfoTree_foldInfo_go___spec__22(lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_InfoTree_goalsAt_x3f_hasNestedTactic___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_InfoTree_hasSorry_go___spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_InfoTree_collectNodesBottomUp___spec__5(lean_object*); uint8_t l_Lean_Syntax_structEq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Info_fmtHover_x3f_isAtomicFormat___boxed(lean_object*); lean_object* l_Std_Format_joinSep___at_Prod_repr___spec__1(lean_object*, lean_object*); @@ -191,13 +193,13 @@ LEAN_EXPORT lean_object* l_Lean_Elab_InfoTree_collectNodesBottomUp___rarg(lean_o LEAN_EXPORT lean_object* l_Std_PersistentArray_anyM___at_Lean_Elab_InfoTree_hasSorry_go___spec__26(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_anyMAux___at_Lean_Elab_InfoTree_hasSorry_go___spec__22(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_InfoTree_hasSorry_go___spec__35(lean_object*, lean_object*, size_t, size_t, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_InfoTree_hoverableInfoAt_x3f___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_InfoTree_hasSorry_go___spec__35___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_InfoTree_hoverableInfoAt_x3f___lambda__3___closed__8; LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_InfoTree_hasSorry_go___spec__39(lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_InfoTree_goalsAt_x3f___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Elab_Info_contains(lean_object*, lean_object*, uint8_t); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_InfoTree_hasSorry_go___spec__30___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_InfoTree_visitM_go___spec__2___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_InfoTree_visitM_go___rarg___closed__3; LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_InfoTree_hasSorry_go___spec__38(lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_InfoTree_foldInfo_go___spec__6___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -258,6 +260,7 @@ static lean_object* l_List_mapTRAux___at_Lean_Elab_InfoTree_smallestInfo_x3f___s LEAN_EXPORT lean_object* l_List_filterTRAux___at_Lean_Elab_InfoTree_hoverableInfoAt_x3f___spec__3(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_InfoTree_collectNodesBottomUp___rarg___lambda__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_InfoTree_foldInfo_go___spec__11(lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_InfoTree_visitM_go___spec__2___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Info_occursInside_x3f(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_max___at_Lean_Elab_InfoTree_hoverableInfoAt_x3f___spec__10(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_InfoTree_foldInfo_go___spec__17(lean_object*); @@ -292,8 +295,6 @@ lean_object* l_List_redLength___rarg(lean_object*); static lean_object* l_Lean_Elab_InfoTree_hoverableInfoAt_x3f___lambda__5___closed__1; LEAN_EXPORT lean_object* l_List_filterTRAux___at_Lean_Elab_InfoTree_goalsAt_x3f___spec__8(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_InfoTree_foldInfo_go___spec__9(lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_InfoTree_collectNodesBottomUp___spec__5(lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_InfoTree_visitM_go___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_InfoTree_foldInfo_go___spec__26___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_InfoTree_foldInfo_go___spec__26___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_find_x3f___rarg(lean_object*, lean_object*); @@ -401,7 +402,6 @@ LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_InfoTree_goalsAt_x3f__ LEAN_EXPORT lean_object* l_Lean_Elab_Info_pos_x3f(lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_foldlM___at_Lean_Elab_InfoTree_foldInfo_go___spec__14(lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_InfoTree_hasSorry_go___spec__8(lean_object*, lean_object*, size_t, size_t, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_InfoTree_hoverableInfoAt_x3f___spec__7(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_pp_universes; uint8_t l_List_isEmpty___rarg(lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_InfoTree_hasSorry_go___spec__20___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -428,17 +428,16 @@ LEAN_EXPORT lean_object* l_Std_PersistentArray_foldlM___at_Lean_Elab_InfoTree_fo LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_InfoTree_hasSorry_go___spec__34___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldl___at_Lean_Elab_InfoTree_hoverableInfoAt_x3f___spec__11(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Elab_InfoTree_goalsAt_x3f___spec__7(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_InfoTree_collectNodesBottomUp___spec__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentArray_0__Std_PersistentArray_foldlFromMAux___at_Lean_Elab_InfoTree_foldInfo_go___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Option_set___at_Lean_Meta_withPPInaccessibleNamesImp___spec__2(lean_object*, lean_object*, uint8_t); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_InfoTree_hasSorry_go___spec__25___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Data_PersistentArray_0__Std_PersistentArray_foldlFromMAux___at_Lean_Elab_InfoTree_foldInfo_go___spec__2___rarg___closed__1; +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_InfoTree_visitM_go___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_foldlM___at_Lean_Elab_InfoTree_foldInfo_go___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_InfoTree_hoverableInfoAt_x3f___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_InfoTree_goalsAt_x3f_hasNestedTactic___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_InfoTree_hoverableInfoAt_x3f___lambda__5___closed__6; static lean_object* l_List_mapTRAux___at_Lean_Elab_InfoTree_smallestInfo_x3f___spec__1___closed__4; -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_InfoTree_visitM_go___spec__2___rarg___lambda__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_CompletionInfo_stx(lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_InfoTree_goalsAt_x3f_hasNestedTactic___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_InfoTree_visitM_go___at_Lean_Elab_InfoTree_collectNodesBottomUp___spec__3(lean_object*); @@ -478,88 +477,68 @@ x_3 = lean_alloc_closure((void*)(l_panic___at_Lean_Elab_InfoTree_visitM_go___spe return x_3; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_InfoTree_visitM_go___spec__2___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_InfoTree_visitM_go___spec__2___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_4 = lean_ctor_get(x_1, 0); -lean_inc(x_4); -lean_dec(x_1); -x_5 = lean_ctor_get(x_4, 1); -lean_inc(x_5); -lean_dec(x_4); -x_6 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_6, 0, x_2); -lean_ctor_set(x_6, 1, x_3); -x_7 = lean_apply_2(x_5, lean_box(0), x_6); -return x_7; +lean_object* x_8; lean_object* x_9; +x_8 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_1); +x_9 = l_List_mapM_loop___at_Lean_Elab_InfoTree_visitM_go___spec__2___rarg(x_2, x_3, x_4, x_5, x_6, x_8); +return x_9; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_InfoTree_visitM_go___spec__2___rarg___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; lean_object* x_9; lean_object* x_10; -lean_inc(x_1); -x_8 = l_List_mapM___at_Lean_Elab_InfoTree_visitM_go___spec__2___rarg(x_1, x_2, x_3, x_4, x_5); -x_9 = lean_alloc_closure((void*)(l_List_mapM___at_Lean_Elab_InfoTree_visitM_go___spec__2___rarg___lambda__1), 3, 2); -lean_closure_set(x_9, 0, x_1); -lean_closure_set(x_9, 1, x_7); -x_10 = lean_apply_4(x_6, lean_box(0), lean_box(0), x_8, x_9); -return x_10; -} -} -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_InfoTree_visitM_go___spec__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_InfoTree_visitM_go___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: { if (lean_obj_tag(x_5) == 0) { -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_6 = lean_ctor_get(x_1, 0); -lean_inc(x_6); -lean_dec(x_1); -x_7 = lean_ctor_get(x_6, 1); +x_7 = lean_ctor_get(x_1, 0); lean_inc(x_7); -lean_dec(x_6); -x_8 = lean_box(0); -x_9 = lean_apply_2(x_7, lean_box(0), x_8); -return x_9; +lean_dec(x_1); +x_8 = lean_ctor_get(x_7, 1); +lean_inc(x_8); +lean_dec(x_7); +x_9 = l_List_reverse___rarg(x_6); +x_10 = lean_apply_2(x_8, lean_box(0), x_9); +return x_10; } else { -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_10 = lean_ctor_get(x_5, 0); -lean_inc(x_10); -x_11 = lean_ctor_get(x_5, 1); +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_11 = lean_ctor_get(x_5, 0); lean_inc(x_11); -lean_dec(x_5); -x_12 = lean_ctor_get(x_1, 1); +x_12 = lean_ctor_get(x_5, 1); lean_inc(x_12); +lean_dec(x_5); +x_13 = lean_ctor_get(x_1, 1); +lean_inc(x_13); lean_inc(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_13 = l_Lean_Elab_InfoTree_visitM_go___rarg(x_1, x_2, x_3, x_4, x_10); -lean_inc(x_12); -x_14 = lean_alloc_closure((void*)(l_List_mapM___at_Lean_Elab_InfoTree_visitM_go___spec__2___rarg___lambda__2), 7, 6); -lean_closure_set(x_14, 0, x_1); -lean_closure_set(x_14, 1, x_2); -lean_closure_set(x_14, 2, x_3); -lean_closure_set(x_14, 3, x_4); -lean_closure_set(x_14, 4, x_11); -lean_closure_set(x_14, 5, x_12); -x_15 = lean_apply_4(x_12, lean_box(0), lean_box(0), x_13, x_14); -return x_15; +x_14 = l_Lean_Elab_InfoTree_visitM_go___rarg(x_1, x_2, x_3, x_4, x_11); +x_15 = lean_alloc_closure((void*)(l_List_mapM_loop___at_Lean_Elab_InfoTree_visitM_go___spec__2___rarg___lambda__1), 7, 6); +lean_closure_set(x_15, 0, x_6); +lean_closure_set(x_15, 1, x_1); +lean_closure_set(x_15, 2, x_2); +lean_closure_set(x_15, 3, x_3); +lean_closure_set(x_15, 4, x_4); +lean_closure_set(x_15, 5, x_12); +x_16 = lean_apply_4(x_13, lean_box(0), lean_box(0), x_14, x_15); +return x_16; } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_InfoTree_visitM_go___spec__2(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_InfoTree_visitM_go___spec__2(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = lean_alloc_closure((void*)(l_List_mapM___at_Lean_Elab_InfoTree_visitM_go___spec__2___rarg), 5, 0); +x_3 = lean_alloc_closure((void*)(l_List_mapM_loop___at_Lean_Elab_InfoTree_visitM_go___spec__2___rarg), 6, 0); return x_3; } } @@ -593,26 +572,27 @@ return x_10; LEAN_EXPORT lean_object* l_Lean_Elab_InfoTree_visitM_go___rarg___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_inc(x_1); x_9 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_9, 0, x_1); x_10 = l_Lean_Elab_Info_updateContext_x3f(x_9, x_2); lean_inc(x_3); x_11 = l_Std_PersistentArray_toList___rarg(x_3); +x_12 = lean_box(0); lean_inc(x_6); lean_inc(x_4); -x_12 = l_List_mapM___at_Lean_Elab_InfoTree_visitM_go___spec__2___rarg(x_4, x_5, x_6, x_10, x_11); +x_13 = l_List_mapM_loop___at_Lean_Elab_InfoTree_visitM_go___spec__2___rarg(x_4, x_5, x_6, x_10, x_11, x_12); lean_inc(x_7); -x_13 = lean_alloc_closure((void*)(l_Lean_Elab_InfoTree_visitM_go___rarg___lambda__2), 7, 6); -lean_closure_set(x_13, 0, x_6); -lean_closure_set(x_13, 1, x_1); -lean_closure_set(x_13, 2, x_2); -lean_closure_set(x_13, 3, x_3); -lean_closure_set(x_13, 4, x_4); -lean_closure_set(x_13, 5, x_7); -x_14 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_12, x_13); -return x_14; +x_14 = lean_alloc_closure((void*)(l_Lean_Elab_InfoTree_visitM_go___rarg___lambda__2), 7, 6); +lean_closure_set(x_14, 0, x_6); +lean_closure_set(x_14, 1, x_1); +lean_closure_set(x_14, 2, x_2); +lean_closure_set(x_14, 3, x_3); +lean_closure_set(x_14, 4, x_4); +lean_closure_set(x_14, 5, x_7); +x_15 = lean_apply_4(x_7, lean_box(0), lean_box(0), x_13, x_14); +return x_15; } } static lean_object* _init_l_Lean_Elab_InfoTree_visitM_go___rarg___closed__1() { @@ -979,62 +959,68 @@ x_2 = lean_alloc_closure((void*)(l_panic___at_Lean_Elab_InfoTree_collectNodesBot return x_2; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_InfoTree_collectNodesBottomUp___spec__5___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_InfoTree_collectNodesBottomUp___spec__5___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { if (lean_obj_tag(x_4) == 0) { -lean_object* x_5; +lean_object* x_6; lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_5 = lean_box(0); -return x_5; +x_6 = l_List_reverse___rarg(x_5); +return x_6; } else { -uint8_t x_6; -x_6 = !lean_is_exclusive(x_4); -if (x_6 == 0) +uint8_t x_7; +x_7 = !lean_is_exclusive(x_4); +if (x_7 == 0) { -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; -x_7 = lean_ctor_get(x_4, 0); -x_8 = lean_ctor_get(x_4, 1); +lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_8 = lean_ctor_get(x_4, 0); +x_9 = lean_ctor_get(x_4, 1); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_9 = l_Lean_Elab_InfoTree_visitM_go___at_Lean_Elab_InfoTree_collectNodesBottomUp___spec__3___rarg(x_1, x_2, x_3, x_7); -x_10 = l_List_mapM___at_Lean_Elab_InfoTree_collectNodesBottomUp___spec__5___rarg(x_1, x_2, x_3, x_8); -lean_ctor_set(x_4, 1, x_10); -lean_ctor_set(x_4, 0, x_9); -return x_4; +x_10 = l_Lean_Elab_InfoTree_visitM_go___at_Lean_Elab_InfoTree_collectNodesBottomUp___spec__3___rarg(x_1, x_2, x_3, x_8); +lean_ctor_set(x_4, 1, x_5); +lean_ctor_set(x_4, 0, x_10); +{ +lean_object* _tmp_3 = x_9; +lean_object* _tmp_4 = x_4; +x_4 = _tmp_3; +x_5 = _tmp_4; +} +goto _start; } else { -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_11 = lean_ctor_get(x_4, 0); -x_12 = lean_ctor_get(x_4, 1); +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_12 = lean_ctor_get(x_4, 0); +x_13 = lean_ctor_get(x_4, 1); +lean_inc(x_13); lean_inc(x_12); -lean_inc(x_11); lean_dec(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_13 = l_Lean_Elab_InfoTree_visitM_go___at_Lean_Elab_InfoTree_collectNodesBottomUp___spec__3___rarg(x_1, x_2, x_3, x_11); -x_14 = l_List_mapM___at_Lean_Elab_InfoTree_collectNodesBottomUp___spec__5___rarg(x_1, x_2, x_3, x_12); +x_14 = l_Lean_Elab_InfoTree_visitM_go___at_Lean_Elab_InfoTree_collectNodesBottomUp___spec__3___rarg(x_1, x_2, x_3, x_12); x_15 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_15, 0, x_13); -lean_ctor_set(x_15, 1, x_14); -return x_15; +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_5); +x_4 = x_13; +x_5 = x_15; +goto _start; } } } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_InfoTree_collectNodesBottomUp___spec__5(lean_object* x_1) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_InfoTree_collectNodesBottomUp___spec__5(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_List_mapM___at_Lean_Elab_InfoTree_collectNodesBottomUp___spec__5___rarg), 4, 0); +x_2 = lean_alloc_closure((void*)(l_List_mapM_loop___at_Lean_Elab_InfoTree_collectNodesBottomUp___spec__5___rarg), 5, 0); return x_2; } } @@ -1122,7 +1108,7 @@ uint8_t x_21; x_21 = !lean_is_exclusive(x_3); if (x_21 == 0) { -lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; x_22 = lean_ctor_get(x_3, 0); x_23 = lean_ctor_get(x_4, 0); lean_inc(x_23); @@ -1133,47 +1119,49 @@ lean_inc(x_22); x_25 = l_Lean_Elab_Info_updateContext_x3f(x_3, x_23); lean_inc(x_24); x_26 = l_Std_PersistentArray_toList___rarg(x_24); +x_27 = lean_box(0); lean_inc(x_2); -x_27 = l_List_mapM___at_Lean_Elab_InfoTree_collectNodesBottomUp___spec__5___rarg(x_1, x_2, x_25, x_26); -x_28 = lean_apply_4(x_2, x_22, x_23, x_24, x_27); -x_29 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_29, 0, x_28); -return x_29; +x_28 = l_List_mapM_loop___at_Lean_Elab_InfoTree_collectNodesBottomUp___spec__5___rarg(x_1, x_2, x_25, x_26, x_27); +x_29 = lean_apply_4(x_2, x_22, x_23, x_24, x_28); +x_30 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_30, 0, x_29); +return x_30; } else { -lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_30 = lean_ctor_get(x_3, 0); -lean_inc(x_30); -lean_dec(x_3); -x_31 = lean_ctor_get(x_4, 0); +lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_31 = lean_ctor_get(x_3, 0); lean_inc(x_31); -x_32 = lean_ctor_get(x_4, 1); +lean_dec(x_3); +x_32 = lean_ctor_get(x_4, 0); lean_inc(x_32); +x_33 = lean_ctor_get(x_4, 1); +lean_inc(x_33); lean_dec(x_4); -lean_inc(x_30); -x_33 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_33, 0, x_30); -x_34 = l_Lean_Elab_Info_updateContext_x3f(x_33, x_31); -lean_inc(x_32); -x_35 = l_Std_PersistentArray_toList___rarg(x_32); +lean_inc(x_31); +x_34 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_34, 0, x_31); +x_35 = l_Lean_Elab_Info_updateContext_x3f(x_34, x_32); +lean_inc(x_33); +x_36 = l_Std_PersistentArray_toList___rarg(x_33); +x_37 = lean_box(0); lean_inc(x_2); -x_36 = l_List_mapM___at_Lean_Elab_InfoTree_collectNodesBottomUp___spec__5___rarg(x_1, x_2, x_34, x_35); -x_37 = lean_apply_4(x_2, x_30, x_31, x_32, x_36); -x_38 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_38, 0, x_37); -return x_38; +x_38 = l_List_mapM_loop___at_Lean_Elab_InfoTree_collectNodesBottomUp___spec__5___rarg(x_1, x_2, x_35, x_36, x_37); +x_39 = lean_apply_4(x_2, x_31, x_32, x_33, x_38); +x_40 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_40, 0, x_39); +return x_40; } } default: { -lean_object* x_39; +lean_object* x_41; lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_39 = lean_box(0); -return x_39; +x_41 = lean_box(0); +return x_41; } } } @@ -4698,53 +4686,59 @@ x_3 = lean_panic_fn(x_2, x_1); return x_3; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Elab_InfoTree_hoverableInfoAt_x3f___spec__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_InfoTree_hoverableInfoAt_x3f___spec__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { if (lean_obj_tag(x_4) == 0) { -lean_object* x_5; +lean_object* x_6; lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_5 = lean_box(0); -return x_5; +x_6 = l_List_reverse___rarg(x_5); +return x_6; } else { -uint8_t x_6; -x_6 = !lean_is_exclusive(x_4); -if (x_6 == 0) +uint8_t x_7; +x_7 = !lean_is_exclusive(x_4); +if (x_7 == 0) { -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; -x_7 = lean_ctor_get(x_4, 0); -x_8 = lean_ctor_get(x_4, 1); +lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_8 = lean_ctor_get(x_4, 0); +x_9 = lean_ctor_get(x_4, 1); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_9 = l_Lean_Elab_InfoTree_visitM_go___at_Lean_Elab_InfoTree_hoverableInfoAt_x3f___spec__5(x_1, x_2, x_3, x_7); -x_10 = l_List_mapM___at_Lean_Elab_InfoTree_hoverableInfoAt_x3f___spec__7(x_1, x_2, x_3, x_8); -lean_ctor_set(x_4, 1, x_10); -lean_ctor_set(x_4, 0, x_9); -return x_4; +x_10 = l_Lean_Elab_InfoTree_visitM_go___at_Lean_Elab_InfoTree_hoverableInfoAt_x3f___spec__5(x_1, x_2, x_3, x_8); +lean_ctor_set(x_4, 1, x_5); +lean_ctor_set(x_4, 0, x_10); +{ +lean_object* _tmp_3 = x_9; +lean_object* _tmp_4 = x_4; +x_4 = _tmp_3; +x_5 = _tmp_4; +} +goto _start; } else { -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_11 = lean_ctor_get(x_4, 0); -x_12 = lean_ctor_get(x_4, 1); +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_12 = lean_ctor_get(x_4, 0); +x_13 = lean_ctor_get(x_4, 1); +lean_inc(x_13); lean_inc(x_12); -lean_inc(x_11); lean_dec(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_13 = l_Lean_Elab_InfoTree_visitM_go___at_Lean_Elab_InfoTree_hoverableInfoAt_x3f___spec__5(x_1, x_2, x_3, x_11); -x_14 = l_List_mapM___at_Lean_Elab_InfoTree_hoverableInfoAt_x3f___spec__7(x_1, x_2, x_3, x_12); +x_14 = l_Lean_Elab_InfoTree_visitM_go___at_Lean_Elab_InfoTree_hoverableInfoAt_x3f___spec__5(x_1, x_2, x_3, x_12); x_15 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_15, 0, x_13); -lean_ctor_set(x_15, 1, x_14); -return x_15; +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_5); +x_4 = x_13; +x_5 = x_15; +goto _start; } } } @@ -4833,7 +4827,7 @@ uint8_t x_21; x_21 = !lean_is_exclusive(x_3); if (x_21 == 0) { -lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; x_22 = lean_ctor_get(x_3, 0); x_23 = lean_ctor_get(x_4, 0); lean_inc(x_23); @@ -4844,47 +4838,49 @@ lean_inc(x_22); x_25 = l_Lean_Elab_Info_updateContext_x3f(x_3, x_23); lean_inc(x_24); x_26 = l_Std_PersistentArray_toList___rarg(x_24); +x_27 = lean_box(0); lean_inc(x_2); -x_27 = l_List_mapM___at_Lean_Elab_InfoTree_hoverableInfoAt_x3f___spec__7(x_1, x_2, x_25, x_26); -x_28 = lean_apply_4(x_2, x_22, x_23, x_24, x_27); -x_29 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_29, 0, x_28); -return x_29; +x_28 = l_List_mapM_loop___at_Lean_Elab_InfoTree_hoverableInfoAt_x3f___spec__7(x_1, x_2, x_25, x_26, x_27); +x_29 = lean_apply_4(x_2, x_22, x_23, x_24, x_28); +x_30 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_30, 0, x_29); +return x_30; } else { -lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_30 = lean_ctor_get(x_3, 0); -lean_inc(x_30); -lean_dec(x_3); -x_31 = lean_ctor_get(x_4, 0); +lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_31 = lean_ctor_get(x_3, 0); lean_inc(x_31); -x_32 = lean_ctor_get(x_4, 1); +lean_dec(x_3); +x_32 = lean_ctor_get(x_4, 0); lean_inc(x_32); +x_33 = lean_ctor_get(x_4, 1); +lean_inc(x_33); lean_dec(x_4); -lean_inc(x_30); -x_33 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_33, 0, x_30); -x_34 = l_Lean_Elab_Info_updateContext_x3f(x_33, x_31); -lean_inc(x_32); -x_35 = l_Std_PersistentArray_toList___rarg(x_32); +lean_inc(x_31); +x_34 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_34, 0, x_31); +x_35 = l_Lean_Elab_Info_updateContext_x3f(x_34, x_32); +lean_inc(x_33); +x_36 = l_Std_PersistentArray_toList___rarg(x_33); +x_37 = lean_box(0); lean_inc(x_2); -x_36 = l_List_mapM___at_Lean_Elab_InfoTree_hoverableInfoAt_x3f___spec__7(x_1, x_2, x_34, x_35); -x_37 = lean_apply_4(x_2, x_30, x_31, x_32, x_36); -x_38 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_38, 0, x_37); -return x_38; +x_38 = l_List_mapM_loop___at_Lean_Elab_InfoTree_hoverableInfoAt_x3f___spec__7(x_1, x_2, x_35, x_36, x_37); +x_39 = lean_apply_4(x_2, x_31, x_32, x_33, x_38); +x_40 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_40, 0, x_39); +return x_40; } } default: { -lean_object* x_39; +lean_object* x_41; lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_39 = lean_box(0); -return x_39; +x_41 = lean_box(0); +return x_41; } } } diff --git a/stage0/stdlib/Lean/Server/References.c b/stage0/stdlib/Lean/Server/References.c index 0baf6f18ca..f6cbb0a128 100644 --- a/stage0/stdlib/Lean/Server/References.c +++ b/stage0/stdlib/Lean/Server/References.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Server.References -// Imports: Init Lean.Server.Utils +// Imports: Init Lean.Data.Lsp.Internal Lean.Server.Utils #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -57,6 +57,7 @@ lean_object* l_Lean_Json_getObjValAs_x3f___at___private_Lean_Data_Lsp_Internal_0 static lean_object* l_Lean_Elab_InfoTree_visitM_go___at_Lean_Server_findReferences___spec__3___closed__1; static lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_findReferences___spec__6___closed__1; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Server_References_0__Lean_Server_toJsonIlean____x40_Lean_Server_References___hyg_909____spec__1(size_t, size_t, size_t, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Server_combineFvars_buildIdMap___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Lsp_instToJsonRefInfo___spec__2(size_t, size_t, lean_object*); uint64_t l___private_Lean_Data_Lsp_Internal_0__Lean_Lsp_hashRefIdent____x40_Lean_Data_Lsp_Internal___hyg_111_(lean_object*); LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_Server_References_addIlean___spec__1(lean_object*, lean_object*, lean_object*); @@ -95,7 +96,6 @@ LEAN_EXPORT lean_object* l_Lean_Server_combineFvars_buildIdMap(lean_object*, lea static lean_object* l_Lean_Server_Reference_aliases___default___closed__1; lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Server_findReferences___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Info_updateContext_x3f(lean_object*, lean_object*); lean_object* lean_string_append(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_dedupReferences(lean_object*, uint8_t); @@ -121,6 +121,7 @@ LEAN_EXPORT lean_object* l_Lean_Server_findReferences(lean_object*, lean_object* LEAN_EXPORT uint8_t l_Std_AssocList_contains___at_Lean_Server_References_updateWorkerRefs___spec__7(lean_object*, lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Server_References_addIlean___spec__5(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Server_findReferences___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_qsort_sort___at_Lean_Server_dedupReferences___spec__13___lambda__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_References_finalizeWorkerRefs___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_References_referringTo(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*); @@ -175,7 +176,6 @@ LEAN_EXPORT lean_object* l_Lean_Server_References_addIlean(lean_object*, lean_ob static lean_object* l_List_forIn_loop___at_Lean_Server_References_referringTo___spec__5___closed__1; LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Server_References_referringTo___spec__5___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_Server_References_addIlean___spec__2___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Server_combineFvars_buildIdMap___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Server_References_referringTo___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Lsp_ModuleRefs_findAt___spec__1(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Server_dedupReferences___closed__2; @@ -3196,107 +3196,75 @@ x_5 = lean_apply_1(x_4, x_2); return x_5; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Server_findReferences___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Server_findReferences___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) { _start: { if (lean_obj_tag(x_4) == 0) { -lean_object* x_6; lean_object* x_7; +lean_object* x_7; lean_object* x_8; lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_6 = lean_box(0); -x_7 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_7, 0, x_6); -lean_ctor_set(x_7, 1, x_5); -return x_7; +x_7 = l_List_reverse___rarg(x_5); +x_8 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_6); +return x_8; } else { -uint8_t x_8; -x_8 = !lean_is_exclusive(x_4); -if (x_8 == 0) +uint8_t x_9; +x_9 = !lean_is_exclusive(x_4); +if (x_9 == 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; uint8_t x_15; -x_9 = lean_ctor_get(x_4, 0); -x_10 = lean_ctor_get(x_4, 1); +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_10 = lean_ctor_get(x_4, 0); +x_11 = lean_ctor_get(x_4, 1); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_11 = l_Lean_Elab_InfoTree_visitM_go___at_Lean_Server_findReferences___spec__3(x_1, x_2, x_3, x_9, x_5); -x_12 = lean_ctor_get(x_11, 0); -lean_inc(x_12); -x_13 = lean_ctor_get(x_11, 1); +x_12 = l_Lean_Elab_InfoTree_visitM_go___at_Lean_Server_findReferences___spec__3(x_1, x_2, x_3, x_10, x_6); +x_13 = lean_ctor_get(x_12, 0); lean_inc(x_13); -lean_dec(x_11); -x_14 = l_List_mapM___at_Lean_Server_findReferences___spec__5(x_1, x_2, x_3, x_10, x_13); -x_15 = !lean_is_exclusive(x_14); -if (x_15 == 0) +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +lean_ctor_set(x_4, 1, x_5); +lean_ctor_set(x_4, 0, x_13); { -lean_object* x_16; -x_16 = lean_ctor_get(x_14, 0); -lean_ctor_set(x_4, 1, x_16); -lean_ctor_set(x_4, 0, x_12); -lean_ctor_set(x_14, 0, x_4); -return x_14; +lean_object* _tmp_3 = x_11; +lean_object* _tmp_4 = x_4; +lean_object* _tmp_5 = x_14; +x_4 = _tmp_3; +x_5 = _tmp_4; +x_6 = _tmp_5; +} +goto _start; } else { -lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_17 = lean_ctor_get(x_14, 0); -x_18 = lean_ctor_get(x_14, 1); -lean_inc(x_18); +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_16 = lean_ctor_get(x_4, 0); +x_17 = lean_ctor_get(x_4, 1); lean_inc(x_17); -lean_dec(x_14); -lean_ctor_set(x_4, 1, x_17); -lean_ctor_set(x_4, 0, x_12); -x_19 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_19, 0, x_4); -lean_ctor_set(x_19, 1, x_18); -return x_19; -} -} -else -{ -lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_20 = lean_ctor_get(x_4, 0); -x_21 = lean_ctor_get(x_4, 1); -lean_inc(x_21); -lean_inc(x_20); +lean_inc(x_16); lean_dec(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_22 = l_Lean_Elab_InfoTree_visitM_go___at_Lean_Server_findReferences___spec__3(x_1, x_2, x_3, x_20, x_5); -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = l_List_mapM___at_Lean_Server_findReferences___spec__5(x_1, x_2, x_3, x_21, x_24); -x_26 = lean_ctor_get(x_25, 0); -lean_inc(x_26); -x_27 = lean_ctor_get(x_25, 1); -lean_inc(x_27); -if (lean_is_exclusive(x_25)) { - lean_ctor_release(x_25, 0); - lean_ctor_release(x_25, 1); - x_28 = x_25; -} else { - lean_dec_ref(x_25); - x_28 = lean_box(0); -} -x_29 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_29, 0, x_23); -lean_ctor_set(x_29, 1, x_26); -if (lean_is_scalar(x_28)) { - x_30 = lean_alloc_ctor(0, 2, 0); -} else { - x_30 = x_28; -} -lean_ctor_set(x_30, 0, x_29); -lean_ctor_set(x_30, 1, x_27); -return x_30; +x_18 = l_Lean_Elab_InfoTree_visitM_go___at_Lean_Server_findReferences___spec__3(x_1, x_2, x_3, x_16, x_6); +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_5); +x_4 = x_17; +x_5 = x_21; +x_6 = x_20; +goto _start; } } } @@ -3425,7 +3393,7 @@ uint8_t x_23; x_23 = !lean_is_exclusive(x_3); if (x_23 == 0) { -lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36; x_24 = lean_ctor_get(x_3, 0); x_25 = lean_ctor_get(x_4, 0); lean_inc(x_25); @@ -3444,109 +3412,111 @@ lean_inc(x_24); x_29 = l_Lean_Elab_Info_updateContext_x3f(x_3, x_25); lean_inc(x_26); x_30 = l_Std_PersistentArray_toList___rarg(x_26); +x_31 = lean_box(0); lean_inc(x_2); -x_31 = l_List_mapM___at_Lean_Server_findReferences___spec__5(x_1, x_2, x_29, x_30, x_28); -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); +x_32 = l_List_mapM_loop___at_Lean_Server_findReferences___spec__5(x_1, x_2, x_29, x_30, x_31, x_28); +x_33 = lean_ctor_get(x_32, 0); lean_inc(x_33); -lean_dec(x_31); -x_34 = lean_apply_5(x_2, x_24, x_25, x_26, x_32, x_33); -x_35 = !lean_is_exclusive(x_34); -if (x_35 == 0) +x_34 = lean_ctor_get(x_32, 1); +lean_inc(x_34); +lean_dec(x_32); +x_35 = lean_apply_5(x_2, x_24, x_25, x_26, x_33, x_34); +x_36 = !lean_is_exclusive(x_35); +if (x_36 == 0) { -lean_object* x_36; lean_object* x_37; -x_36 = lean_ctor_get(x_34, 0); -x_37 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_37, 0, x_36); -lean_ctor_set(x_34, 0, x_37); -return x_34; +lean_object* x_37; lean_object* x_38; +x_37 = lean_ctor_get(x_35, 0); +x_38 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_38, 0, x_37); +lean_ctor_set(x_35, 0, x_38); +return x_35; } else { -lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; -x_38 = lean_ctor_get(x_34, 0); -x_39 = lean_ctor_get(x_34, 1); +lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_39 = lean_ctor_get(x_35, 0); +x_40 = lean_ctor_get(x_35, 1); +lean_inc(x_40); lean_inc(x_39); -lean_inc(x_38); -lean_dec(x_34); -x_40 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_40, 0, x_38); -x_41 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_41, 0, x_40); -lean_ctor_set(x_41, 1, x_39); -return x_41; +lean_dec(x_35); +x_41 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_41, 0, x_39); +x_42 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_42, 0, x_41); +lean_ctor_set(x_42, 1, x_40); +return x_42; } } else { -lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; -x_42 = lean_ctor_get(x_3, 0); -lean_inc(x_42); -lean_dec(x_3); -x_43 = lean_ctor_get(x_4, 0); +lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_43 = lean_ctor_get(x_3, 0); lean_inc(x_43); -x_44 = lean_ctor_get(x_4, 1); +lean_dec(x_3); +x_44 = lean_ctor_get(x_4, 0); lean_inc(x_44); +x_45 = lean_ctor_get(x_4, 1); +lean_inc(x_45); lean_dec(x_4); lean_inc(x_1); +lean_inc(x_45); lean_inc(x_44); lean_inc(x_43); -lean_inc(x_42); -x_45 = lean_apply_4(x_1, x_42, x_43, x_44, x_5); -x_46 = lean_ctor_get(x_45, 1); -lean_inc(x_46); -lean_dec(x_45); -lean_inc(x_42); -x_47 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_47, 0, x_42); -x_48 = l_Lean_Elab_Info_updateContext_x3f(x_47, x_43); -lean_inc(x_44); -x_49 = l_Std_PersistentArray_toList___rarg(x_44); +x_46 = lean_apply_4(x_1, x_43, x_44, x_45, x_5); +x_47 = lean_ctor_get(x_46, 1); +lean_inc(x_47); +lean_dec(x_46); +lean_inc(x_43); +x_48 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_48, 0, x_43); +x_49 = l_Lean_Elab_Info_updateContext_x3f(x_48, x_44); +lean_inc(x_45); +x_50 = l_Std_PersistentArray_toList___rarg(x_45); +x_51 = lean_box(0); lean_inc(x_2); -x_50 = l_List_mapM___at_Lean_Server_findReferences___spec__5(x_1, x_2, x_48, x_49, x_46); -x_51 = lean_ctor_get(x_50, 0); -lean_inc(x_51); -x_52 = lean_ctor_get(x_50, 1); -lean_inc(x_52); -lean_dec(x_50); -x_53 = lean_apply_5(x_2, x_42, x_43, x_44, x_51, x_52); -x_54 = lean_ctor_get(x_53, 0); +x_52 = l_List_mapM_loop___at_Lean_Server_findReferences___spec__5(x_1, x_2, x_49, x_50, x_51, x_47); +x_53 = lean_ctor_get(x_52, 0); +lean_inc(x_53); +x_54 = lean_ctor_get(x_52, 1); lean_inc(x_54); -x_55 = lean_ctor_get(x_53, 1); -lean_inc(x_55); -if (lean_is_exclusive(x_53)) { - lean_ctor_release(x_53, 0); - lean_ctor_release(x_53, 1); - x_56 = x_53; +lean_dec(x_52); +x_55 = lean_apply_5(x_2, x_43, x_44, x_45, x_53, x_54); +x_56 = lean_ctor_get(x_55, 0); +lean_inc(x_56); +x_57 = lean_ctor_get(x_55, 1); +lean_inc(x_57); +if (lean_is_exclusive(x_55)) { + lean_ctor_release(x_55, 0); + lean_ctor_release(x_55, 1); + x_58 = x_55; } else { - lean_dec_ref(x_53); - x_56 = lean_box(0); + lean_dec_ref(x_55); + x_58 = lean_box(0); } -x_57 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_57, 0, x_54); -if (lean_is_scalar(x_56)) { - x_58 = lean_alloc_ctor(0, 2, 0); +x_59 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_59, 0, x_56); +if (lean_is_scalar(x_58)) { + x_60 = lean_alloc_ctor(0, 2, 0); } else { - x_58 = x_56; + x_60 = x_58; } -lean_ctor_set(x_58, 0, x_57); -lean_ctor_set(x_58, 1, x_55); -return x_58; +lean_ctor_set(x_60, 0, x_59); +lean_ctor_set(x_60, 1, x_57); +return x_60; } } default: { -lean_object* x_59; lean_object* x_60; +lean_object* x_61; lean_object* x_62; lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_59 = lean_box(0); -x_60 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_60, 0, x_59); -lean_ctor_set(x_60, 1, x_5); -return x_60; +x_61 = lean_box(0); +x_62 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_62, 0, x_61); +lean_ctor_set(x_62, 1, x_5); +return x_62; } } } @@ -4476,107 +4446,75 @@ x_5 = lean_apply_1(x_4, x_2); return x_5; } } -LEAN_EXPORT lean_object* l_List_mapM___at_Lean_Server_combineFvars_buildIdMap___spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Server_combineFvars_buildIdMap___spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { if (lean_obj_tag(x_4) == 0) { -lean_object* x_6; lean_object* x_7; +lean_object* x_7; lean_object* x_8; lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_6 = lean_box(0); -x_7 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_7, 0, x_6); -lean_ctor_set(x_7, 1, x_5); -return x_7; +x_7 = l_List_reverse___rarg(x_5); +x_8 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_6); +return x_8; } else { -uint8_t x_8; -x_8 = !lean_is_exclusive(x_4); -if (x_8 == 0) +uint8_t x_9; +x_9 = !lean_is_exclusive(x_4); +if (x_9 == 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; uint8_t x_15; -x_9 = lean_ctor_get(x_4, 0); -x_10 = lean_ctor_get(x_4, 1); +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_10 = lean_ctor_get(x_4, 0); +x_11 = lean_ctor_get(x_4, 1); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_11 = l_Lean_Elab_InfoTree_visitM_go___at_Lean_Server_combineFvars_buildIdMap___spec__7(x_1, x_2, x_3, x_9, x_5); -x_12 = lean_ctor_get(x_11, 0); -lean_inc(x_12); -x_13 = lean_ctor_get(x_11, 1); +x_12 = l_Lean_Elab_InfoTree_visitM_go___at_Lean_Server_combineFvars_buildIdMap___spec__7(x_1, x_2, x_3, x_10, x_6); +x_13 = lean_ctor_get(x_12, 0); lean_inc(x_13); -lean_dec(x_11); -x_14 = l_List_mapM___at_Lean_Server_combineFvars_buildIdMap___spec__9(x_1, x_2, x_3, x_10, x_13); -x_15 = !lean_is_exclusive(x_14); -if (x_15 == 0) +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +lean_ctor_set(x_4, 1, x_5); +lean_ctor_set(x_4, 0, x_13); { -lean_object* x_16; -x_16 = lean_ctor_get(x_14, 0); -lean_ctor_set(x_4, 1, x_16); -lean_ctor_set(x_4, 0, x_12); -lean_ctor_set(x_14, 0, x_4); -return x_14; +lean_object* _tmp_3 = x_11; +lean_object* _tmp_4 = x_4; +lean_object* _tmp_5 = x_14; +x_4 = _tmp_3; +x_5 = _tmp_4; +x_6 = _tmp_5; +} +goto _start; } else { -lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_17 = lean_ctor_get(x_14, 0); -x_18 = lean_ctor_get(x_14, 1); -lean_inc(x_18); +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_16 = lean_ctor_get(x_4, 0); +x_17 = lean_ctor_get(x_4, 1); lean_inc(x_17); -lean_dec(x_14); -lean_ctor_set(x_4, 1, x_17); -lean_ctor_set(x_4, 0, x_12); -x_19 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_19, 0, x_4); -lean_ctor_set(x_19, 1, x_18); -return x_19; -} -} -else -{ -lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_20 = lean_ctor_get(x_4, 0); -x_21 = lean_ctor_get(x_4, 1); -lean_inc(x_21); -lean_inc(x_20); +lean_inc(x_16); lean_dec(x_4); lean_inc(x_3); lean_inc(x_2); lean_inc(x_1); -x_22 = l_Lean_Elab_InfoTree_visitM_go___at_Lean_Server_combineFvars_buildIdMap___spec__7(x_1, x_2, x_3, x_20, x_5); -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = l_List_mapM___at_Lean_Server_combineFvars_buildIdMap___spec__9(x_1, x_2, x_3, x_21, x_24); -x_26 = lean_ctor_get(x_25, 0); -lean_inc(x_26); -x_27 = lean_ctor_get(x_25, 1); -lean_inc(x_27); -if (lean_is_exclusive(x_25)) { - lean_ctor_release(x_25, 0); - lean_ctor_release(x_25, 1); - x_28 = x_25; -} else { - lean_dec_ref(x_25); - x_28 = lean_box(0); -} -x_29 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_29, 0, x_23); -lean_ctor_set(x_29, 1, x_26); -if (lean_is_scalar(x_28)) { - x_30 = lean_alloc_ctor(0, 2, 0); -} else { - x_30 = x_28; -} -lean_ctor_set(x_30, 0, x_29); -lean_ctor_set(x_30, 1, x_27); -return x_30; +x_18 = l_Lean_Elab_InfoTree_visitM_go___at_Lean_Server_combineFvars_buildIdMap___spec__7(x_1, x_2, x_3, x_16, x_6); +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_5); +x_4 = x_17; +x_5 = x_21; +x_6 = x_20; +goto _start; } } } @@ -4668,7 +4606,7 @@ uint8_t x_23; x_23 = !lean_is_exclusive(x_3); if (x_23 == 0) { -lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36; x_24 = lean_ctor_get(x_3, 0); x_25 = lean_ctor_get(x_4, 0); lean_inc(x_25); @@ -4687,109 +4625,111 @@ lean_inc(x_24); x_29 = l_Lean_Elab_Info_updateContext_x3f(x_3, x_25); lean_inc(x_26); x_30 = l_Std_PersistentArray_toList___rarg(x_26); +x_31 = lean_box(0); lean_inc(x_2); -x_31 = l_List_mapM___at_Lean_Server_combineFvars_buildIdMap___spec__9(x_1, x_2, x_29, x_30, x_28); -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); +x_32 = l_List_mapM_loop___at_Lean_Server_combineFvars_buildIdMap___spec__9(x_1, x_2, x_29, x_30, x_31, x_28); +x_33 = lean_ctor_get(x_32, 0); lean_inc(x_33); -lean_dec(x_31); -x_34 = lean_apply_5(x_2, x_24, x_25, x_26, x_32, x_33); -x_35 = !lean_is_exclusive(x_34); -if (x_35 == 0) +x_34 = lean_ctor_get(x_32, 1); +lean_inc(x_34); +lean_dec(x_32); +x_35 = lean_apply_5(x_2, x_24, x_25, x_26, x_33, x_34); +x_36 = !lean_is_exclusive(x_35); +if (x_36 == 0) { -lean_object* x_36; lean_object* x_37; -x_36 = lean_ctor_get(x_34, 0); -x_37 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_37, 0, x_36); -lean_ctor_set(x_34, 0, x_37); -return x_34; +lean_object* x_37; lean_object* x_38; +x_37 = lean_ctor_get(x_35, 0); +x_38 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_38, 0, x_37); +lean_ctor_set(x_35, 0, x_38); +return x_35; } else { -lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; -x_38 = lean_ctor_get(x_34, 0); -x_39 = lean_ctor_get(x_34, 1); +lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_39 = lean_ctor_get(x_35, 0); +x_40 = lean_ctor_get(x_35, 1); +lean_inc(x_40); lean_inc(x_39); -lean_inc(x_38); -lean_dec(x_34); -x_40 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_40, 0, x_38); -x_41 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_41, 0, x_40); -lean_ctor_set(x_41, 1, x_39); -return x_41; +lean_dec(x_35); +x_41 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_41, 0, x_39); +x_42 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_42, 0, x_41); +lean_ctor_set(x_42, 1, x_40); +return x_42; } } else { -lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; -x_42 = lean_ctor_get(x_3, 0); -lean_inc(x_42); -lean_dec(x_3); -x_43 = lean_ctor_get(x_4, 0); +lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_43 = lean_ctor_get(x_3, 0); lean_inc(x_43); -x_44 = lean_ctor_get(x_4, 1); +lean_dec(x_3); +x_44 = lean_ctor_get(x_4, 0); lean_inc(x_44); +x_45 = lean_ctor_get(x_4, 1); +lean_inc(x_45); lean_dec(x_4); lean_inc(x_1); +lean_inc(x_45); lean_inc(x_44); lean_inc(x_43); -lean_inc(x_42); -x_45 = lean_apply_4(x_1, x_42, x_43, x_44, x_5); -x_46 = lean_ctor_get(x_45, 1); -lean_inc(x_46); -lean_dec(x_45); -lean_inc(x_42); -x_47 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_47, 0, x_42); -x_48 = l_Lean_Elab_Info_updateContext_x3f(x_47, x_43); -lean_inc(x_44); -x_49 = l_Std_PersistentArray_toList___rarg(x_44); +x_46 = lean_apply_4(x_1, x_43, x_44, x_45, x_5); +x_47 = lean_ctor_get(x_46, 1); +lean_inc(x_47); +lean_dec(x_46); +lean_inc(x_43); +x_48 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_48, 0, x_43); +x_49 = l_Lean_Elab_Info_updateContext_x3f(x_48, x_44); +lean_inc(x_45); +x_50 = l_Std_PersistentArray_toList___rarg(x_45); +x_51 = lean_box(0); lean_inc(x_2); -x_50 = l_List_mapM___at_Lean_Server_combineFvars_buildIdMap___spec__9(x_1, x_2, x_48, x_49, x_46); -x_51 = lean_ctor_get(x_50, 0); -lean_inc(x_51); -x_52 = lean_ctor_get(x_50, 1); -lean_inc(x_52); -lean_dec(x_50); -x_53 = lean_apply_5(x_2, x_42, x_43, x_44, x_51, x_52); -x_54 = lean_ctor_get(x_53, 0); +x_52 = l_List_mapM_loop___at_Lean_Server_combineFvars_buildIdMap___spec__9(x_1, x_2, x_49, x_50, x_51, x_47); +x_53 = lean_ctor_get(x_52, 0); +lean_inc(x_53); +x_54 = lean_ctor_get(x_52, 1); lean_inc(x_54); -x_55 = lean_ctor_get(x_53, 1); -lean_inc(x_55); -if (lean_is_exclusive(x_53)) { - lean_ctor_release(x_53, 0); - lean_ctor_release(x_53, 1); - x_56 = x_53; +lean_dec(x_52); +x_55 = lean_apply_5(x_2, x_43, x_44, x_45, x_53, x_54); +x_56 = lean_ctor_get(x_55, 0); +lean_inc(x_56); +x_57 = lean_ctor_get(x_55, 1); +lean_inc(x_57); +if (lean_is_exclusive(x_55)) { + lean_ctor_release(x_55, 0); + lean_ctor_release(x_55, 1); + x_58 = x_55; } else { - lean_dec_ref(x_53); - x_56 = lean_box(0); + lean_dec_ref(x_55); + x_58 = lean_box(0); } -x_57 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_57, 0, x_54); -if (lean_is_scalar(x_56)) { - x_58 = lean_alloc_ctor(0, 2, 0); +x_59 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_59, 0, x_56); +if (lean_is_scalar(x_58)) { + x_60 = lean_alloc_ctor(0, 2, 0); } else { - x_58 = x_56; + x_60 = x_58; } -lean_ctor_set(x_58, 0, x_57); -lean_ctor_set(x_58, 1, x_55); -return x_58; +lean_ctor_set(x_60, 0, x_59); +lean_ctor_set(x_60, 1, x_57); +return x_60; } } default: { -lean_object* x_59; lean_object* x_60; +lean_object* x_61; lean_object* x_62; lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_59 = lean_box(0); -x_60 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_60, 0, x_59); -lean_ctor_set(x_60, 1, x_5); -return x_60; +x_61 = lean_box(0); +x_62 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_62, 0, x_61); +lean_ctor_set(x_62, 1, x_5); +return x_62; } } } @@ -12765,6 +12705,7 @@ return x_2; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Data_Lsp_Internal(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Server_Utils(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Server_References(uint8_t builtin, lean_object* w) { @@ -12774,6 +12715,9 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Data_Lsp_Internal(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); res = initialize_Lean_Server_Utils(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Server/Rpc/Deriving.c b/stage0/stdlib/Lean/Server/Rpc/Deriving.c index 6b91bc8692..0658ed3fb8 100644 --- a/stage0/stdlib/Lean/Server/Rpc/Deriving.c +++ b/stage0/stdlib/Lean/Server/Rpc/Deriving.c @@ -14,7 +14,6 @@ extern "C" { #endif lean_object* l_Lean_getConstInfo___at_Lean_Elab_Term_mkConst___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__17(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Server_Rpc_Deriving_0__Lean_Server_RpcEncodable_deriveStructureInstance___spec__6___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkCIdentFrom(lean_object*, lean_object*); static lean_object* l___private_Lean_Server_Rpc_Deriving_0__Lean_Server_RpcEncodable_deriveStructureInstance___lambda__1___closed__68; @@ -426,6 +425,7 @@ static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Server_Rpc_Deri static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Server_Rpc_Deriving_0__Lean_Server_RpcEncodable_deriveStructureInstance___spec__1___closed__34; static lean_object* l___private_Lean_Server_Rpc_Deriving_0__Lean_Server_RpcEncodable_deriveStructureInstance___lambda__1___closed__11; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Server_Rpc_Deriving_0__Lean_Server_RpcEncodable_deriveStructureInstance___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__19(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Server_Rpc_Deriving_0__Lean_Server_RpcEncodable_deriveStructureInstance___spec__1___closed__48; LEAN_EXPORT lean_object* l___private_Lean_Server_Rpc_Deriving_0__Lean_Server_RpcEncodable_deriveStructureInstance(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Server_Rpc_Deriving_0__Lean_Server_RpcEncodable_deriveInductiveInstance___spec__6(lean_object*, lean_object*, size_t, size_t, lean_object*); @@ -10602,7 +10602,7 @@ _start: lean_object* x_5; lean_inc(x_2); lean_inc(x_1); -x_5 = l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__17(x_1, x_2, x_3, x_4); +x_5 = l_Lean_getConstInfo___at_Lean_Elab_elabDeriving___spec__19(x_1, x_2, x_3, x_4); if (lean_obj_tag(x_5) == 0) { lean_object* x_6; diff --git a/stage0/stdlib/Lean/Server/Rpc/RequestHandling.c b/stage0/stdlib/Lean/Server/Rpc/RequestHandling.c index d1a1b20954..a456e16a2a 100644 --- a/stage0/stdlib/Lean/Server/Rpc/RequestHandling.c +++ b/stage0/stdlib/Lean/Server/Rpc/RequestHandling.c @@ -178,6 +178,7 @@ static lean_object* l_Lean_Server_registerRpcProcedure___lambda__1___closed__17; static lean_object* l_Lean_Server_registerRpcProcedure___lambda__3___closed__24; lean_object* l_Lean_Server_RequestM_bindTask___rarg(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Server_initFn____x40_Lean_Server_Rpc_RequestHandling___hyg_1348____closed__8; +uint8_t l_Array_contains___at_Lean_findField_x3f___spec__1(lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); lean_object* l_Lean_Server_RequestM_readDoc___at_Lean_Server_RequestM_withWaitFindSnapAtPos___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_initFn____x40_Lean_Server_Rpc_RequestHandling___hyg_350____spec__1___lambda__1(lean_object*); @@ -230,7 +231,6 @@ static lean_object* l___private_Lean_Server_Rpc_RequestHandling_0__Lean_Server_e static lean_object* l_Lean_Server_registerRpcProcedure___lambda__3___closed__19; lean_object* l_Lean_Syntax_getPos_x3f(lean_object*, uint8_t); LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Server_registerRpcProcedure___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -uint8_t l_Array_contains___at___private_Lean_Meta_Match_Value_0__Lean_Meta_isUIntTypeName___spec__1(lean_object*, lean_object*); lean_object* l_String_intercalate(lean_object*, lean_object*); lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); static lean_object* l___private_Lean_Server_Rpc_RequestHandling_0__Lean_Server_evalRpcProcedureUnsafe___closed__7; @@ -4192,7 +4192,7 @@ else { lean_object* x_7; uint8_t x_8; x_7 = l___private_Lean_MonadEnv_0__Lean_supportedRecursors; -x_8 = l_Array_contains___at___private_Lean_Meta_Match_Value_0__Lean_Meta_isUIntTypeName___spec__1(x_7, x_3); +x_8 = l_Array_contains___at_Lean_findField_x3f___spec__1(x_7, x_3); lean_dec(x_3); if (x_8 == 0) { @@ -4219,7 +4219,7 @@ if (x_11 == 0) lean_object* x_12; uint8_t x_13; lean_dec(x_1); x_12 = l___private_Lean_MonadEnv_0__Lean_supportedRecursors; -x_13 = l_Array_contains___at___private_Lean_Meta_Match_Value_0__Lean_Meta_isUIntTypeName___spec__1(x_12, x_3); +x_13 = l_Array_contains___at_Lean_findField_x3f___spec__1(x_12, x_3); lean_dec(x_3); if (x_13 == 0) { @@ -4250,7 +4250,7 @@ else { lean_object* x_18; uint8_t x_19; x_18 = l___private_Lean_MonadEnv_0__Lean_supportedRecursors; -x_19 = l_Array_contains___at___private_Lean_Meta_Match_Value_0__Lean_Meta_isUIntTypeName___spec__1(x_18, x_3); +x_19 = l_Array_contains___at_Lean_findField_x3f___spec__1(x_18, x_3); lean_dec(x_3); if (x_19 == 0) { diff --git a/stage0/stdlib/Lean/Server/Utils.c b/stage0/stdlib/Lean/Server/Utils.c index 290de60b91..16c613226f 100644 --- a/stage0/stdlib/Lean/Server/Utils.c +++ b/stage0/stdlib/Lean/Server/Utils.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Server.Utils -// Imports: Init Lean.Data.Position Lean.Data.Lsp Lean.Server.InfoUtils Init.System.FilePath Lean.Parser.Basic +// Imports: Init Lean.Data.Lsp.Communication Lean.Data.Lsp.Diagnostics Lean.Data.Lsp.Extra Lean.Data.Lsp.TextSync Lean.Server.InfoUtils #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -1795,11 +1795,11 @@ return x_3; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Data_Position(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Data_Lsp(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Data_Lsp_Communication(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Data_Lsp_Diagnostics(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Data_Lsp_Extra(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Data_Lsp_TextSync(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Server_InfoUtils(uint8_t builtin, lean_object*); -lean_object* initialize_Init_System_FilePath(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Parser_Basic(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Server_Utils(uint8_t builtin, lean_object* w) { lean_object * res; @@ -1808,21 +1808,21 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Data_Position(builtin, lean_io_mk_world()); +res = initialize_Lean_Data_Lsp_Communication(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Data_Lsp(builtin, lean_io_mk_world()); +res = initialize_Lean_Data_Lsp_Diagnostics(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Data_Lsp_Extra(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Data_Lsp_TextSync(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_Server_InfoUtils(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Init_System_FilePath(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Parser_Basic(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); l_Lean_Server_instInhabitedDocumentMeta___closed__1 = _init_l_Lean_Server_instInhabitedDocumentMeta___closed__1(); lean_mark_persistent(l_Lean_Server_instInhabitedDocumentMeta___closed__1); l_Lean_Server_instInhabitedDocumentMeta___closed__2 = _init_l_Lean_Server_instInhabitedDocumentMeta___closed__2(); diff --git a/stage0/stdlib/Lean/SubExpr.c b/stage0/stdlib/Lean/SubExpr.c index f30a0c2464..8182724a5a 100644 --- a/stage0/stdlib/Lean/SubExpr.c +++ b/stage0/stdlib/Lean/SubExpr.c @@ -87,6 +87,7 @@ static lean_object* l___private_Lean_SubExpr_0__Lean_SubExpr_Pos_ofStringCoord__ lean_object* l_Nat_repr(lean_object*); LEAN_EXPORT uint8_t l_Lean_SubExpr_Pos_all(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_SubExpr_Pos_foldlM___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_panic___at_String_toNat_x21___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_SubExpr_Pos_instDecidableEqPos___boxed(lean_object*, lean_object*); lean_object* l_List_toString___at_Lean_MetavarContext_MkBinding_instToStringException___spec__2(lean_object*); lean_object* l_Function_comp___rarg(lean_object*, lean_object*, lean_object*); @@ -135,7 +136,6 @@ lean_object* lean_nat_mul(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_SubExpr_Pos_fromString_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_SubExpr_Pos_pushAppArg___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_SubExpr_Pos_foldl___rarg___boxed(lean_object*, lean_object*, lean_object*); -lean_object* l_panic___at_Lean_TSyntax_getNat___spec__1(lean_object*); lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); static lean_object* l___private_Lean_SubExpr_0__Lean_SubExpr_Pos_ofStringCoord___closed__7; LEAN_EXPORT lean_object* l_Lean_SubExpr_Pos_foldrM___rarg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -294,7 +294,7 @@ else { lean_object* x_5; lean_object* x_6; x_5 = l_Lean_SubExpr_Pos_head___closed__4; -x_6 = l_panic___at_Lean_TSyntax_getNat___spec__1(x_5); +x_6 = l_panic___at_String_toNat_x21___spec__1(x_5); return x_6; } } diff --git a/stage0/stdlib/Lean/Syntax.c b/stage0/stdlib/Lean/Syntax.c index dea10b2f5a..1abaef4d95 100644 --- a/stage0/stdlib/Lean/Syntax.c +++ b/stage0/stdlib/Lean/Syntax.c @@ -56,7 +56,6 @@ LEAN_EXPORT lean_object* l_Lean_Syntax_instForInTopDownSyntax_loop___rarg___lamb LEAN_EXPORT lean_object* l_Lean_Syntax_antiquotSuffixSplice_x3f(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Syntax_reprint___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_MonadTraverser_goRight___rarg(lean_object*); -static lean_object* l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__3; LEAN_EXPORT lean_object* l_Lean_Syntax_getIdAt(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_rewriteBottomUpM___at_Lean_Syntax_rewriteBottomUp___spec__1(lean_object*, lean_object*); lean_object* lean_array_uset(lean_object*, size_t, lean_object*); @@ -66,7 +65,6 @@ static lean_object* l_Lean_Syntax_getQuotContent___closed__4; LEAN_EXPORT lean_object* l_Lean_Syntax_MonadTraverser_getCur___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_MonadTraverser_goRight___rarg___lambda__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_isEscapedAntiquot___boxed(lean_object*); -static lean_object* l_Lean_Syntax_getAtomVal_x21___closed__2; LEAN_EXPORT lean_object* l_Lean_Syntax_MonadTraverser_getCur(lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_MonadTraverser_goRight(lean_object*); static lean_object* l_Lean_isLitKind___closed__7; @@ -78,7 +76,6 @@ LEAN_EXPORT lean_object* l_Lean_Syntax_mkAntiquotSpliceNode(lean_object*, lean_o uint8_t lean_name_eq(lean_object*, lean_object*); static lean_object* l_String_instInhabitedRange___closed__1; static lean_object* l_Lean_Syntax_identComponents___closed__7; -LEAN_EXPORT lean_object* l_Lean_Syntax_getAtomVal_x21___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_mkAntiquotSuffixSpliceNode(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Syntax_mkAntiquotNode___closed__16; static lean_object* l_Lean_Syntax_instForInTopDownSyntax_loop___at_Lean_Syntax_reprint___spec__3___closed__1; @@ -86,7 +83,6 @@ LEAN_EXPORT lean_object* l_String_instHashableRange; extern lean_object* l_instInhabitedNat; LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Syntax_mkAntiquotNode___closed__18; -static lean_object* l_Lean_Syntax_getAtomVal_x21___closed__1; static lean_object* l_Lean_isLitKind___closed__10; LEAN_EXPORT lean_object* l_Lean_Syntax_getRange_x3f___boxed(lean_object*, lean_object*); lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*); @@ -114,7 +110,6 @@ lean_object* lean_string_utf8_byte_size(lean_object*); static lean_object* l_Lean_Syntax_reprint_reprintLeaf___closed__1; static lean_object* l_Lean_Syntax_mkAntiquotNode___closed__10; LEAN_EXPORT lean_object* l_Lean_Syntax_rewriteBottomUpM(lean_object*); -static lean_object* l_Lean_Syntax_getAtomVal_x21___closed__4; static lean_object* l_Lean_Syntax_MonadTraverser_getCur___rarg___closed__1; static lean_object* l_Lean_Syntax_mkAntiquotNode___closed__20; LEAN_EXPORT lean_object* l_Lean_Syntax_getAntiquotTerm___boxed(lean_object*); @@ -192,7 +187,6 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Syntax_updateLeading__ LEAN_EXPORT lean_object* l_Lean_unreachIsNodeMissing(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_replaceM(lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_getIdAt___boxed(lean_object*, lean_object*); -lean_object* l_panic___at_Lean_TSyntax_getString___spec__1(lean_object*); LEAN_EXPORT lean_object* l_String_instReprRange; static lean_object* l___private_Lean_Syntax_0__String_reprRange____x40_Lean_Syntax___hyg_34____closed__8; static lean_object* l_Lean_Syntax_mkAntiquotSpliceNode___closed__8; @@ -241,13 +235,13 @@ LEAN_EXPORT lean_object* l_Lean_Syntax_instForInTopDownSyntax_loop___at_Lean_Syn LEAN_EXPORT uint8_t l_Lean_Syntax_hasMissing___lambda__1(lean_object*); static lean_object* l_Lean_Syntax_antiquotSpliceKind_x3f___closed__1; static lean_object* l_Lean_Syntax_mkAntiquotNode___closed__19; +static lean_object* l_Lean_Syntax_identComponents___closed__9; lean_object* l_List_zipWith___at_List_zip___spec__1___rarg(lean_object*, lean_object*); lean_object* l_Lean_Syntax_splitNameLit(lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_instForInTopDownSyntax___rarg___lambda__1(lean_object*, lean_object*); static lean_object* l_Lean_Syntax_mkAntiquotSpliceNode___closed__6; LEAN_EXPORT lean_object* l_Lean_Syntax_findStack_x3f_go___lambda__1(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Syntax_0__String_reprRange____x40_Lean_Syntax___hyg_34____boxed(lean_object*, lean_object*); -static lean_object* l_Lean_Syntax_getAtomVal_x21___closed__3; LEAN_EXPORT lean_object* l_Lean_Syntax_MonadTraverser_goLeft___rarg___lambda__1(lean_object*); size_t lean_usize_of_nat(lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_MonadTraverser_goUp(lean_object*); @@ -293,7 +287,9 @@ LEAN_EXPORT lean_object* l_Lean_Syntax_MonadTraverser_getIdx___rarg___lambda__1( LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Syntax_antiquotKinds___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_setArg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_SourceInfo_updateTrailing(lean_object*, lean_object*); +static lean_object* l_Lean_Syntax_getAtomVal___closed__1; LEAN_EXPORT lean_object* l_Lean_Syntax_rewriteBottomUpM___rarg(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Syntax_getAtomVal___boxed(lean_object*); static lean_object* l___private_Lean_Syntax_0__String_reprRange____x40_Lean_Syntax___hyg_34____closed__9; lean_object* l_panic___at_Lean_expandExplicitBindersAux_loop___spec__1(lean_object*); static lean_object* l_Lean_Syntax_getQuotContent___closed__3; @@ -379,9 +375,9 @@ LEAN_EXPORT lean_object* l_Lean_Syntax_antiquotSpliceKind_x3f(lean_object*); LEAN_EXPORT lean_object* l_Lean_unreachIsNodeIdent(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_instForInTopDownSyntax_loop___rarg___lambda__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Syntax_0__String_reprRange____x40_Lean_Syntax___hyg_34____closed__16; +LEAN_EXPORT lean_object* l_Lean_Syntax_getAtomVal(lean_object*); static lean_object* l_Lean_Syntax_instForInTopDownSyntax_loop___rarg___lambda__7___closed__2; LEAN_EXPORT lean_object* l_Lean_Syntax_antiquotKinds(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Syntax_getAtomVal_x21(lean_object*); lean_object* l_Nat_min(lean_object*, lean_object*); static lean_object* l_Lean_Syntax_isQuot___closed__2; static lean_object* l_Lean_Syntax_updateTrailing___closed__4; @@ -1229,44 +1225,15 @@ return x_10; } } } -static lean_object* _init_l_Lean_Syntax_getAtomVal_x21___closed__1() { +static lean_object* _init_l_Lean_Syntax_getAtomVal___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("Lean.Syntax", 11); +x_1 = lean_mk_string_from_bytes("", 0); return x_1; } } -static lean_object* _init_l_Lean_Syntax_getAtomVal_x21___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("Lean.Syntax.getAtomVal!", 23); -return x_1; -} -} -static lean_object* _init_l_Lean_Syntax_getAtomVal_x21___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("getAtomVal!: not an atom", 24); -return x_1; -} -} -static lean_object* _init_l_Lean_Syntax_getAtomVal_x21___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Syntax_getAtomVal_x21___closed__1; -x_2 = l_Lean_Syntax_getAtomVal_x21___closed__2; -x_3 = lean_unsigned_to_nat(82u); -x_4 = lean_unsigned_to_nat(18u); -x_5 = l_Lean_Syntax_getAtomVal_x21___closed__3; -x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); -return x_6; -} -} -LEAN_EXPORT lean_object* l_Lean_Syntax_getAtomVal_x21(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Syntax_getAtomVal(lean_object* x_1) { _start: { if (lean_obj_tag(x_1) == 2) @@ -1278,18 +1245,17 @@ return x_2; } else { -lean_object* x_3; lean_object* x_4; -x_3 = l_Lean_Syntax_getAtomVal_x21___closed__4; -x_4 = l_panic___at_Lean_TSyntax_getString___spec__1(x_3); -return x_4; +lean_object* x_3; +x_3 = l_Lean_Syntax_getAtomVal___closed__1; +return x_3; } } } -LEAN_EXPORT lean_object* l_Lean_Syntax_getAtomVal_x21___boxed(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Syntax_getAtomVal___boxed(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = l_Lean_Syntax_getAtomVal_x21(x_1); +x_2 = l_Lean_Syntax_getAtomVal(x_1); lean_dec(x_1); return x_2; } @@ -2983,27 +2949,19 @@ return x_3; static lean_object* _init_l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__1() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_from_bytes("", 0); -return x_1; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Syntax_getAtomVal___closed__1; +x_2 = lean_string_utf8_byte_size(x_1); +return x_2; } } static lean_object* _init_l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__1; -x_2 = lean_string_utf8_byte_size(x_1); -return x_2; -} -} -static lean_object* _init_l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__3() { -_start: -{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__1; +x_1 = l_Lean_Syntax_getAtomVal___closed__1; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__2; +x_3 = l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__1; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -3065,7 +3023,7 @@ lean_dec(x_23); lean_dec(x_24); x_26 = lean_nat_add(x_21, x_25); lean_dec(x_25); -x_27 = l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__3; +x_27 = l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__2; x_28 = lean_alloc_ctor(0, 4, 0); lean_ctor_set(x_28, 0, x_27); lean_ctor_set(x_28, 1, x_21); @@ -3098,7 +3056,7 @@ lean_dec(x_31); lean_dec(x_32); x_34 = lean_nat_add(x_21, x_33); lean_dec(x_33); -x_35 = l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__3; +x_35 = l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__2; lean_inc(x_4); x_36 = lean_alloc_ctor(0, 4, 0); lean_ctor_set(x_36, 0, x_35); @@ -3135,7 +3093,7 @@ lean_dec(x_39); lean_dec(x_40); x_42 = lean_nat_add(x_21, x_41); lean_dec(x_41); -x_43 = l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__3; +x_43 = l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__2; lean_inc(x_2); x_44 = lean_alloc_ctor(0, 4, 0); lean_ctor_set(x_44, 0, x_2); @@ -3235,7 +3193,7 @@ lean_dec(x_68); lean_dec(x_69); x_71 = lean_nat_add(x_66, x_70); lean_dec(x_70); -x_72 = l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__3; +x_72 = l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__2; x_73 = lean_alloc_ctor(0, 4, 0); lean_ctor_set(x_73, 0, x_72); lean_ctor_set(x_73, 1, x_66); @@ -3265,7 +3223,7 @@ lean_dec(x_77); lean_dec(x_78); x_80 = lean_nat_add(x_66, x_79); lean_dec(x_79); -x_81 = l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__3; +x_81 = l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__2; lean_inc(x_4); x_82 = lean_alloc_ctor(0, 4, 0); lean_ctor_set(x_82, 0, x_81); @@ -3299,7 +3257,7 @@ lean_dec(x_86); lean_dec(x_87); x_89 = lean_nat_add(x_66, x_88); lean_dec(x_88); -x_90 = l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__3; +x_90 = l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__2; lean_inc(x_2); x_91 = lean_alloc_ctor(0, 4, 0); lean_ctor_set(x_91, 0, x_2); @@ -3543,7 +3501,7 @@ static lean_object* _init_l_Lean_Syntax_identComponents___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("Lean.Syntax.identComponents", 27); +x_1 = lean_mk_string_from_bytes("Lean.Syntax", 11); return x_1; } } @@ -3551,24 +3509,32 @@ static lean_object* _init_l_Lean_Syntax_identComponents___closed__2() { _start: { lean_object* x_1; -x_1 = lean_mk_string_from_bytes("unreachable code has been reached", 33); +x_1 = lean_mk_string_from_bytes("Lean.Syntax.identComponents", 27); return x_1; } } static lean_object* _init_l_Lean_Syntax_identComponents___closed__3() { _start: { +lean_object* x_1; +x_1 = lean_mk_string_from_bytes("unreachable code has been reached", 33); +return x_1; +} +} +static lean_object* _init_l_Lean_Syntax_identComponents___closed__4() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Syntax_getAtomVal_x21___closed__1; -x_2 = l_Lean_Syntax_identComponents___closed__1; +x_1 = l_Lean_Syntax_identComponents___closed__1; +x_2 = l_Lean_Syntax_identComponents___closed__2; x_3 = lean_unsigned_to_nat(227u); x_4 = lean_unsigned_to_nat(9u); -x_5 = l_Lean_Syntax_identComponents___closed__2; +x_5 = l_Lean_Syntax_identComponents___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l_Lean_Syntax_identComponents___closed__4() { +static lean_object* _init_l_Lean_Syntax_identComponents___closed__5() { _start: { lean_object* x_1; @@ -3576,7 +3542,7 @@ x_1 = lean_mk_string_from_bytes("assertion violation: ", 21); return x_1; } } -static lean_object* _init_l_Lean_Syntax_identComponents___closed__5() { +static lean_object* _init_l_Lean_Syntax_identComponents___closed__6() { _start: { lean_object* x_1; @@ -3584,34 +3550,34 @@ x_1 = lean_mk_string_from_bytes("nameComps.length == rawComps.length\n ", 40) return x_1; } } -static lean_object* _init_l_Lean_Syntax_identComponents___closed__6() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Syntax_identComponents___closed__4; -x_2 = l_Lean_Syntax_identComponents___closed__5; -x_3 = lean_string_append(x_1, x_2); -return x_3; -} -} static lean_object* _init_l_Lean_Syntax_identComponents___closed__7() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Syntax_getAtomVal_x21___closed__1; -x_2 = l_Lean_Syntax_identComponents___closed__1; -x_3 = lean_unsigned_to_nat(214u); -x_4 = lean_unsigned_to_nat(4u); -x_5 = l_Lean_Syntax_identComponents___closed__6; -x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); -return x_6; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Syntax_identComponents___closed__5; +x_2 = l_Lean_Syntax_identComponents___closed__6; +x_3 = lean_string_append(x_1, x_2); +return x_3; } } static lean_object* _init_l_Lean_Syntax_identComponents___closed__8() { _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_Syntax_identComponents___closed__1; +x_2 = l_Lean_Syntax_identComponents___closed__2; +x_3 = lean_unsigned_to_nat(214u); +x_4 = lean_unsigned_to_nat(4u); +x_5 = l_Lean_Syntax_identComponents___closed__7; +x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); +return x_6; +} +} +static lean_object* _init_l_Lean_Syntax_identComponents___closed__9() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__1; +x_1 = l_Lean_Syntax_getAtomVal___closed__1; x_2 = lean_unsigned_to_nat(0u); x_3 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_3, 0, x_1); @@ -3710,7 +3676,7 @@ lean_dec(x_33); lean_dec(x_32); lean_dec(x_31); lean_dec(x_29); -x_41 = l_Lean_Syntax_identComponents___closed__8; +x_41 = l_Lean_Syntax_identComponents___closed__9; x_42 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_42, 0, x_41); lean_ctor_set(x_42, 1, x_30); @@ -3734,7 +3700,7 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_4); -x_17 = l_Lean_Syntax_identComponents___closed__7; +x_17 = l_Lean_Syntax_identComponents___closed__8; x_18 = l_panic___at_Lean_Syntax_identComponents___spec__1(x_17); return x_18; } @@ -3784,7 +3750,7 @@ else lean_object* x_53; lean_object* x_54; lean_dec(x_2); lean_dec(x_1); -x_53 = l_Lean_Syntax_identComponents___closed__3; +x_53 = l_Lean_Syntax_identComponents___closed__4; x_54 = l_panic___at_Lean_Syntax_identComponents___spec__1(x_53); return x_54; } @@ -4343,7 +4309,7 @@ x_5 = lean_ctor_get(x_3, 0); x_6 = lean_ctor_get(x_3, 1); x_7 = lean_ctor_get(x_3, 2); x_8 = lean_string_utf8_extract(x_5, x_6, x_7); -x_9 = l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__1; +x_9 = l_Lean_Syntax_getAtomVal___closed__1; x_10 = lean_string_append(x_9, x_8); lean_dec(x_8); x_11 = lean_string_append(x_10, x_9); @@ -5066,7 +5032,7 @@ _start: { uint8_t x_2; lean_object* x_3; lean_object* x_4; x_2 = 1; -x_3 = l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__1; +x_3 = l_Lean_Syntax_getAtomVal___closed__1; x_4 = l_Lean_Syntax_instForInTopDownSyntax_loop___at_Lean_Syntax_reprint___spec__3(x_2, x_1, x_3, x_3); if (lean_obj_tag(x_4) == 0) { @@ -8518,14 +8484,8 @@ l_Lean_isLitKind___closed__9 = _init_l_Lean_isLitKind___closed__9(); lean_mark_persistent(l_Lean_isLitKind___closed__9); l_Lean_isLitKind___closed__10 = _init_l_Lean_isLitKind___closed__10(); lean_mark_persistent(l_Lean_isLitKind___closed__10); -l_Lean_Syntax_getAtomVal_x21___closed__1 = _init_l_Lean_Syntax_getAtomVal_x21___closed__1(); -lean_mark_persistent(l_Lean_Syntax_getAtomVal_x21___closed__1); -l_Lean_Syntax_getAtomVal_x21___closed__2 = _init_l_Lean_Syntax_getAtomVal_x21___closed__2(); -lean_mark_persistent(l_Lean_Syntax_getAtomVal_x21___closed__2); -l_Lean_Syntax_getAtomVal_x21___closed__3 = _init_l_Lean_Syntax_getAtomVal_x21___closed__3(); -lean_mark_persistent(l_Lean_Syntax_getAtomVal_x21___closed__3); -l_Lean_Syntax_getAtomVal_x21___closed__4 = _init_l_Lean_Syntax_getAtomVal_x21___closed__4(); -lean_mark_persistent(l_Lean_Syntax_getAtomVal_x21___closed__4); +l_Lean_Syntax_getAtomVal___closed__1 = _init_l_Lean_Syntax_getAtomVal___closed__1(); +lean_mark_persistent(l_Lean_Syntax_getAtomVal___closed__1); l_Lean_Syntax_asNode___closed__1 = _init_l_Lean_Syntax_asNode___closed__1(); lean_mark_persistent(l_Lean_Syntax_asNode___closed__1); l_Lean_Syntax_asNode___closed__2 = _init_l_Lean_Syntax_asNode___closed__2(); @@ -8546,8 +8506,6 @@ l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__1 = _init_l lean_mark_persistent(l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__1); l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__2 = _init_l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__2(); lean_mark_persistent(l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__2); -l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__3 = _init_l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__3(); -lean_mark_persistent(l_List_mapTRAux___at_Lean_Syntax_identComponents___spec__2___closed__3); l_Lean_Syntax_identComponents___closed__1 = _init_l_Lean_Syntax_identComponents___closed__1(); lean_mark_persistent(l_Lean_Syntax_identComponents___closed__1); l_Lean_Syntax_identComponents___closed__2 = _init_l_Lean_Syntax_identComponents___closed__2(); @@ -8564,6 +8522,8 @@ l_Lean_Syntax_identComponents___closed__7 = _init_l_Lean_Syntax_identComponents_ lean_mark_persistent(l_Lean_Syntax_identComponents___closed__7); l_Lean_Syntax_identComponents___closed__8 = _init_l_Lean_Syntax_identComponents___closed__8(); lean_mark_persistent(l_Lean_Syntax_identComponents___closed__8); +l_Lean_Syntax_identComponents___closed__9 = _init_l_Lean_Syntax_identComponents___closed__9(); +lean_mark_persistent(l_Lean_Syntax_identComponents___closed__9); l_Lean_Syntax_instForInTopDownSyntax_loop___rarg___lambda__7___closed__1 = _init_l_Lean_Syntax_instForInTopDownSyntax_loop___rarg___lambda__7___closed__1(); lean_mark_persistent(l_Lean_Syntax_instForInTopDownSyntax_loop___rarg___lambda__7___closed__1); l_Lean_Syntax_instForInTopDownSyntax_loop___rarg___lambda__7___closed__2 = _init_l_Lean_Syntax_instForInTopDownSyntax_loop___rarg___lambda__7___closed__2(); diff --git a/stage0/stdlib/Lean/Util/PPExt.c b/stage0/stdlib/Lean/Util/PPExt.c index 7d3bafd2ac..bce2823728 100644 --- a/stage0/stdlib/Lean/Util/PPExt.c +++ b/stage0/stdlib/Lean/Util/PPExt.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Util.PPExt -// Imports: Init Lean.Environment Lean.Syntax Lean.MetavarContext Lean.Data.OpenDecl +// Imports: Init Lean.Environment Lean.MetavarContext Lean.Data.OpenDecl #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -1307,7 +1307,6 @@ return x_9; } lean_object* initialize_Init(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Environment(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Syntax(uint8_t builtin, lean_object*); lean_object* initialize_Lean_MetavarContext(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Data_OpenDecl(uint8_t builtin, lean_object*); static bool _G_initialized = false; @@ -1321,9 +1320,6 @@ lean_dec_ref(res); res = initialize_Lean_Environment(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Syntax(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_MetavarContext(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Util/Profile.c b/stage0/stdlib/Lean/Util/Profile.c index d1d7325ec9..eb3bed0760 100644 --- a/stage0/stdlib/Lean/Util/Profile.c +++ b/stage0/stdlib/Lean/Util/Profile.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Util.Profile -// Imports: Init Lean.Data.Position +// Imports: Init Lean.Data.Options #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -158,7 +158,7 @@ return x_6; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Data_Position(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Data_Options(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Util_Profile(uint8_t builtin, lean_object* w) { lean_object * res; @@ -167,7 +167,7 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Data_Position(builtin, lean_io_mk_world()); +res = initialize_Lean_Data_Options(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Util/Trace.c b/stage0/stdlib/Lean/Util/Trace.c index e7803f1eb9..abfbbb0bbd 100644 --- a/stage0/stdlib/Lean/Util/Trace.c +++ b/stage0/stdlib/Lean/Util/Trace.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Util.Trace -// Imports: Init Lean.Message Lean.MonadEnv +// Imports: Init Lean.Exception #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -4883,8 +4883,7 @@ return x_2; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Message(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_MonadEnv(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Exception(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Util_Trace(uint8_t builtin, lean_object* w) { lean_object * res; @@ -4893,10 +4892,7 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Message(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_MonadEnv(builtin, lean_io_mk_world()); +res = initialize_Lean_Exception(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_instInhabitedTraceElem___closed__1 = _init_l_Lean_instInhabitedTraceElem___closed__1(); diff --git a/stage0/stdlib/Lean/Widget/InteractiveGoal.c b/stage0/stdlib/Lean/Widget/InteractiveGoal.c index af96ca2e51..23976820a9 100644 --- a/stage0/stdlib/Lean/Widget/InteractiveGoal.c +++ b/stage0/stdlib/Lean/Widget/InteractiveGoal.c @@ -72,6 +72,7 @@ lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); LEAN_EXPORT lean_object* l_Lean_Widget_instRpcEncodableInteractiveTermGoal; static lean_object* l_Lean_Widget_instInhabitedInteractiveTermGoal___closed__1; +lean_object* l_Lean_throwError___at___private_Lean_Meta_InferType_0__Lean_Meta_inferProjType___spec__1(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_Meta_isClass_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_forInAux___at_Lean_Widget_goalToInteractive___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -124,7 +125,6 @@ static lean_object* l_Lean_Widget_goalToInteractive___lambda__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Widget_InteractiveTermGoal_toInteractiveGoal(lean_object*); static lean_object* l_Lean_Widget_instRpcEncodableInteractiveHypothesisBundle___closed__1; LEAN_EXPORT lean_object* l_Lean_Widget_instToJsonRpcEncodablePacket__2; -lean_object* l_Std_RBNode_findCore___at_Lean_Meta_removeUnused___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Widget_instRpcEncodableInteractiveHypothesisBundle_enc____x40_Lean_Widget_InteractiveGoal___hyg_5____spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Widget_instRpcEncodableInteractiveGoals___closed__1; LEAN_EXPORT lean_object* l_Std_PersistentArray_forIn___at_Lean_Widget_goalToInteractive___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -161,7 +161,6 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Widget_instRpcEncodabl LEAN_EXPORT lean_object* l_MonadExcept_ofExcept___at_Lean_Widget_instRpcEncodableInteractiveGoal_dec____x40_Lean_Widget_InteractiveGoal___hyg_611____spec__2___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Widget_instRpcEncodableInteractiveHypothesisBundle_enc____x40_Lean_Widget_InteractiveGoal___hyg_5_(lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_fvarId(lean_object*); -lean_object* l_Lean_throwError___at_Lean_Meta_mkSimpCongrTheorem___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_fromJsonCommand____x40_Lean_Data_Lsp_Basic___hyg_1293____spec__2(size_t, size_t, lean_object*); static lean_object* l___private_Lean_Widget_InteractiveGoal_0__Lean_Widget_fromJsonRpcEncodablePacket____x40_Lean_Widget_InteractiveGoal___hyg_127____closed__6; lean_object* l_Lean_LocalDecl_type(lean_object*); @@ -202,6 +201,7 @@ lean_object* l_Lean_Json_mkObj(lean_object*); static lean_object* l_Array_forInUnsafe_loop___at_Lean_Widget_InteractiveGoal_pretty___spec__3___closed__6; LEAN_EXPORT lean_object* l_Lean_Widget_instInhabitedInteractiveTermGoal; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Widget_instRpcEncodableInteractiveGoal_dec____x40_Lean_Widget_InteractiveGoal___hyg_611____spec__1(size_t, size_t, lean_object*, lean_object*); +lean_object* l_Std_RBNode_findCore___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__5(lean_object*, lean_object*); lean_object* l_Lean_MetavarContext_findDecl_x3f(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_forInAux___at_Lean_Widget_goalToInteractive___spec__3___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Json_pretty(lean_object*, lean_object*); @@ -10722,7 +10722,7 @@ lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); x_15 = l_Lean_Widget_addInteractiveHypothesisBundle___closed__2; -x_16 = l_Lean_throwError___at_Lean_Meta_mkSimpCongrTheorem___spec__6(x_15, x_5, x_6, x_7, x_8, x_9); +x_16 = l_Lean_throwError___at___private_Lean_Meta_InferType_0__Lean_Meta_inferProjType___spec__1(x_15, x_5, x_6, x_7, x_8, x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -11265,7 +11265,7 @@ if (x_194 == 0) { lean_object* x_195; lean_object* x_196; x_195 = l_Lean_LocalDecl_fvarId(x_43); -x_196 = l_Std_RBNode_findCore___at_Lean_Meta_removeUnused___spec__1(x_3, x_195); +x_196 = l_Std_RBNode_findCore___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__5(x_3, x_195); lean_dec(x_195); if (lean_obj_tag(x_196) == 0) { @@ -11321,7 +11321,7 @@ else { lean_object* x_206; lean_object* x_207; x_206 = l_Lean_LocalDecl_fvarId(x_43); -x_207 = l_Std_RBNode_findCore___at_Lean_Meta_removeUnused___spec__1(x_3, x_206); +x_207 = l_Std_RBNode_findCore___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__5(x_3, x_206); lean_dec(x_206); if (lean_obj_tag(x_207) == 0) { @@ -11357,7 +11357,7 @@ block_193: lean_object* x_50; lean_object* x_51; lean_dec(x_49); x_50 = l_Lean_LocalDecl_fvarId(x_43); -x_51 = l_Std_RBNode_findCore___at_Lean_Meta_removeUnused___spec__1(x_4, x_50); +x_51 = l_Std_RBNode_findCore___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__5(x_4, x_50); if (lean_obj_tag(x_51) == 0) { lean_dec(x_50); @@ -12417,7 +12417,7 @@ if (x_195 == 0) { lean_object* x_196; lean_object* x_197; x_196 = l_Lean_LocalDecl_fvarId(x_44); -x_197 = l_Std_RBNode_findCore___at_Lean_Meta_removeUnused___spec__1(x_3, x_196); +x_197 = l_Std_RBNode_findCore___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__5(x_3, x_196); lean_dec(x_196); if (lean_obj_tag(x_197) == 0) { @@ -12473,7 +12473,7 @@ else { lean_object* x_207; lean_object* x_208; x_207 = l_Lean_LocalDecl_fvarId(x_44); -x_208 = l_Std_RBNode_findCore___at_Lean_Meta_removeUnused___spec__1(x_3, x_207); +x_208 = l_Std_RBNode_findCore___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__5(x_3, x_207); lean_dec(x_207); if (lean_obj_tag(x_208) == 0) { @@ -12509,7 +12509,7 @@ block_194: lean_object* x_51; lean_object* x_52; lean_dec(x_50); x_51 = l_Lean_LocalDecl_fvarId(x_44); -x_52 = l_Std_RBNode_findCore___at_Lean_Meta_removeUnused___spec__1(x_4, x_51); +x_52 = l_Std_RBNode_findCore___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__5(x_4, x_51); if (lean_obj_tag(x_52) == 0) { lean_dec(x_51); diff --git a/stage0/stdlib/Lean/Widget/UserWidget.c b/stage0/stdlib/Lean/Widget/UserWidget.c index 7c0e6c457f..78497dc780 100644 --- a/stage0/stdlib/Lean/Widget/UserWidget.c +++ b/stage0/stdlib/Lean/Widget/UserWidget.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Widget.UserWidget -// Imports: Init Lean.Widget.Basic Lean.Data.Json Lean.Environment Lean.Server Lean.Elab.Eval +// Imports: Init Lean.Elab.Eval Lean.Server.Rpc.RequestHandling #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -19,6 +19,7 @@ lean_object* l_Lean_addMessageContextPartial___at_Lean_Core_instAddMessageContex static lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_attributeImpl___elambda__1___rarg___closed__1; LEAN_EXPORT lean_object* l_Lean_Widget_getWidgetSource___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_add(size_t, size_t); +LEAN_EXPORT lean_object* l_ReaderT_pure___at_Lean_Widget_getWidgets___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_instRpcEncodable___rarg(lean_object*, lean_object*); static lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_attributeImpl___elambda__2___closed__1; lean_object* l_Lean_stringToMessageData(lean_object*); @@ -28,6 +29,7 @@ lean_object* lean_mk_empty_array_with_capacity(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_evalJsonUnsafe(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); uint8_t lean_uint64_dec_eq(uint64_t, uint64_t); +static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Widget_elabWidgetCmd___spec__1___rarg___closed__1; lean_object* l_Lean_Syntax_getTrailingSize(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_attributeImpl___elambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Widget_instInhabitedUserWidgetDefinition___closed__1; @@ -35,13 +37,15 @@ static lean_object* l_Lean_Widget_initFn____x40_Lean_Widget_UserWidget___hyg_423 uint8_t lean_usize_dec_eq(size_t, size_t); lean_object* lean_array_uget(lean_object*, size_t); LEAN_EXPORT lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_attributeImpl___elambda__1___boxed(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Widget_elabWidgetCmd___spec__1(lean_object*, lean_object*); uint64_t lean_uint64_of_nat(lean_object*); static lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_attributeImpl___elambda__2___closed__2; LEAN_EXPORT uint8_t l_Lean_Widget_getWidgets___lambda__1(lean_object*, lean_object*); -static lean_object* l_Lean_Widget_getWidgets___closed__2; static lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_attributeImpl___closed__12; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Widget_initFn____x40_Lean_Widget_UserWidget___hyg_423____spec__5(lean_object*, size_t, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Widget_getWidgets___spec__2(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); lean_object* lean_array_uset(lean_object*, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Widget_elabWidgetCmd___spec__1___boxed(lean_object*, lean_object*); extern lean_object* l_Lean_Lsp_instToJsonPosition; static lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_toJsonGetWidgetsResponse____x40_Lean_Widget_UserWidget___hyg_1273____closed__1; static lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_getUserWidgetDefinitionUnsafe___closed__4; @@ -52,6 +56,7 @@ static lean_object* l_Lean_Json_getObjValAs_x3f___at___private_Lean_Widget_UserW lean_object* lean_st_ref_get(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Widget_instInhabitedUserWidgetDefinition; LEAN_EXPORT lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_fromJsonUserWidgetDefinition____x40_Lean_Widget_UserWidget___hyg_162____boxed(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Widget_saveWidgetInfo___at_Lean_Widget_elabWidgetCmd___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Widget_getWidgetSource___lambda__5(uint64_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Widget_instToJsonUserWidgetDefinition; LEAN_EXPORT lean_object* l_Lean_Widget_instFromJsonGetWidgetsResponse; @@ -83,6 +88,7 @@ static lean_object* l_Lean_Json_getObjValAs_x3f___at___private_Lean_Widget_UserW LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Widget_initFn____x40_Lean_Widget_UserWidget___hyg_423____spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Widget_getWidgetSource___rpc__wrapped___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_toJsonWidgetSource____x40_Lean_Widget_UserWidget___hyg_24_(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_Widget_initFn____x40_Lean_Widget_UserWidget___hyg_423____spec__2(lean_object*, uint64_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Widget_instFromJsonUserWidgetDefinition; @@ -107,6 +113,7 @@ lean_object* l_Lean_MapDeclarationExtension_insert___rarg(lean_object*, lean_obj LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Widget_UserWidget_0__Lean_Widget_getUserWidgetDefinitionUnsafe___spec__3(lean_object*); static lean_object* l_Lean_Widget_instFromJsonUserWidget___closed__1; LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_Widget_getWidgetSource___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_st_ref_take(lean_object*, lean_object*); static lean_object* l_Lean_Server_wrapRpcProcedure___at_Lean_Widget_getWidgetSource___rpc__wrapped___spec__1___closed__2; lean_object* l_Lean_bignumToJson(lean_object*); static uint64_t l_Lean_Widget_instInhabitedUserWidget___closed__1; @@ -174,7 +181,9 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Widget_UserW LEAN_EXPORT lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_toJsonUserWidget____x40_Lean_Widget_UserWidget___hyg_258_(lean_object*); LEAN_EXPORT lean_object* l_Lean_Json_getObjValAs_x3f___at___private_Lean_Widget_UserWidget_0__Lean_Widget_fromJsonGetWidgetsResponse____x40_Lean_Widget_UserWidget___hyg_1302____spec__1(lean_object*, lean_object*); lean_object* l_Lean_Elab_Info_stx(lean_object*); +static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3___closed__1; LEAN_EXPORT lean_object* l_Lean_ofExcept___at___private_Lean_Widget_UserWidget_0__Lean_Widget_getUserWidgetDefinitionUnsafe___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3___closed__2; static lean_object* l_Lean_Widget_widgetCmd___closed__2; static lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_attributeImpl___closed__6; static lean_object* l_Lean_Widget_instFromJsonGetWidgetSourceParams___closed__1; @@ -184,25 +193,28 @@ static lean_object* l_Lean_Widget_widgetCmd___closed__12; size_t lean_usize_of_nat(lean_object*); LEAN_EXPORT lean_object* l_Lean_Widget_elabWidgetCmd___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Widget_getWidgetSource___lambda__1___boxed(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Widget_saveWidgetInfo___at_Lean_Widget_elabWidgetCmd___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PersistentEnvExtension_addEntry___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_ofExcept___at___private_Lean_Widget_UserWidget_0__Lean_Widget_getUserWidgetDefinitionUnsafe___spec__2(lean_object*); lean_object* l_Lean_Environment_evalConstCheck___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_SimplePersistentEnvExtension_getState___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_pushInfoLeaf___rarg(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Widget_getWidgetSource___closed__1; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Widget_getWidgets___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Widget_initFn____x40_Lean_Widget_UserWidget___hyg_423____lambda__2___boxed(lean_object*); static lean_object* l_Lean_Widget_instFromJsonGetWidgetsResponse___closed__1; lean_object* l_Lean_setEnv___at_Lean_registerTagAttribute___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Widget_initFn____x40_Lean_Widget_UserWidget___hyg_423____spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Array_mapMUnsafe_map___at_Lean_Widget_getWidgets___spec__2___closed__1; static lean_object* l_Lean_Widget_instFromJsonUserWidgetInstance___closed__1; static lean_object* l_Lean_Widget_getWidgets___rpc__wrapped___closed__1; static lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_attributeImpl___closed__3; lean_object* l_List_redLength___rarg(lean_object*); +lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_ReaderT_pure___at_Lean_Widget_getWidgets___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Widget_saveWidgetInfo___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Widget_UserWidget_0__Lean_Widget_toJsonGetWidgetsResponse____x40_Lean_Widget_UserWidget___hyg_1273____spec__1___boxed(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Widget_getWidgets___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_evalConstCheck___at___private_Lean_Widget_UserWidget_0__Lean_Widget_getUserWidgetDefinitionUnsafe___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Json_getObjValD(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Widget_userWidgetRegistry; @@ -212,6 +224,7 @@ static lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_attributeI lean_object* lean_list_to_array(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_getUserWidgetDefinitionUnsafe(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_attributeImpl___closed__14; +LEAN_EXPORT lean_object* l_Lean_Widget_saveWidgetInfo___at_Lean_Widget_elabWidgetCmd___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); static lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_evalJsonUnsafe___closed__2; uint8_t l_Std_RBNode_isRed___rarg(lean_object*); @@ -219,12 +232,15 @@ lean_object* l_Lean_Elab_Info_tailPos_x3f(lean_object*); static lean_object* l_Lean_Widget_instToJsonWidgetSource___closed__1; lean_object* l_Lean_Syntax_getRange_x3f(lean_object*, uint8_t); lean_object* l_Lean_Json_getObjValAs_x3f___at___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonRpcConnected____x40_Lean_Data_Lsp_Extra___hyg_1049____spec__1(lean_object*, lean_object*); +static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Widget_elabWidgetCmd___spec__1___rarg___closed__2; +LEAN_EXPORT lean_object* l_ReaderT_pure___at_Lean_Widget_getWidgets___spec__1___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_wrapRpcProcedure___at_Lean_Widget_getWidgetSource___rpc__wrapped___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_Widget_getWidgetSource___spec__1(lean_object*, uint64_t); LEAN_EXPORT lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_fromJsonUserWidget____x40_Lean_Widget_UserWidget___hyg_309_(lean_object*); lean_object* l_Lean_Json_getObjValAs_x3f___at___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonRpcCallParams____x40_Lean_Data_Lsp_Extra___hyg_1153____spec__1(lean_object*, lean_object*); static lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_attributeImpl___closed__18; lean_object* l_Lean_Json_getObjValAs_x3f___at___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_fromJsonLocationLink____x40_Lean_Data_Lsp_Basic___hyg_1123____spec__1(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Widget_elabWidgetCmd___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Widget_getWidgetSource___lambda__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Json_mkObj(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_attributeImpl___elambda__2(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); @@ -233,6 +249,7 @@ LEAN_EXPORT lean_object* l_Lean_Widget_widgetInfosAt_x3f___lambda__1___boxed(lea LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Widget_initFn____x40_Lean_Widget_UserWidget___hyg_423____spec__3___at_Lean_Widget_initFn____x40_Lean_Widget_UserWidget___hyg_423____spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_toJsonUserWidgetInstance____x40_Lean_Widget_UserWidget___hyg_1083_(lean_object*); static lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_toJsonGetWidgetSourceParams____x40_Lean_Widget_UserWidget___hyg_628____closed__1; +lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_Snapshots_Snapshot_endPos(lean_object*); lean_object* l_Lean_Json_pretty(lean_object*, lean_object*); static lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_attributeImpl___closed__8; @@ -243,9 +260,11 @@ lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Widget_initFn____x40_Lean_Widget_UserWidget___hyg_423____spec__3(lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Widget_getWidgets___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_attributeImpl___closed__9; +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Widget_elabWidgetCmd___spec__1___rarg(lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_insert___at_Lean_Widget_initFn____x40_Lean_Widget_UserWidget___hyg_423____spec__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Server_RequestM_withWaitFindSnap___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Widget_UserWidget_0__Lean_Widget_getUserWidgetDefinitionUnsafe___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3___closed__3; LEAN_EXPORT lean_object* l_Lean_Widget_getWidgetSource___lambda__2___boxed(lean_object*, lean_object*, lean_object*); lean_object* lean_uint64_to_nat(uint64_t); LEAN_EXPORT lean_object* l_Lean_Widget_widgetInfosAt_x3f(lean_object*, lean_object*, lean_object*); @@ -255,20 +274,19 @@ uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Widget_getWidgets(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Widget_widgetCmd___closed__4; LEAN_EXPORT lean_object* l_Lean_Widget_instToJsonUserWidgetInstance; +extern lean_object* l_Lean_Elab_unsupportedSyntaxExceptionId; LEAN_EXPORT lean_object* l_Lean_Widget_getWidgetSource___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_attributeImpl___closed__1; -lean_object* l_ReaderT_pure___at_Lean_Server_FileWorker_handleCompletion___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); static lean_object* l_Lean_Widget_instToJsonGetWidgetsResponse___closed__1; +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Widget_elabWidgetCmd___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Widget_widgetInfosAt_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Widget_widgetCmd___closed__9; lean_object* l_Lean_Elab_Info_pos_x3f(lean_object*); LEAN_EXPORT lean_object* l_Lean_Widget_instToJsonGetWidgetsResponse; static lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_attributeImpl___closed__13; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Widget_getWidgets___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_toJsonWidgetSource____x40_Lean_Widget_UserWidget___hyg_24____closed__1; static lean_object* l_Lean_Widget_instFromJsonWidgetSource___closed__1; -static lean_object* l_Array_mapMUnsafe_map___at_Lean_Widget_getWidgets___spec__1___closed__1; static lean_object* l_Lean_Widget_widgetCmd___closed__13; LEAN_EXPORT lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_attributeImpl___elambda__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Json_opt___at___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_toJsonLocationLink____x40_Lean_Data_Lsp_Basic___hyg_1068____spec__1(lean_object*, lean_object*); @@ -282,7 +300,6 @@ lean_object* l___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_toJsonPosition____x40_L LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_Widget_getWidgetSource___spec__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Widget_instFromJsonWidgetSource; LEAN_EXPORT lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_toJsonGetWidgetsResponse____x40_Lean_Widget_UserWidget___hyg_1273_(lean_object*); -lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Linter_MissingDocs_handleIn___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Widget_initFn____x40_Lean_Widget_UserWidget___hyg_423____lambda__1(lean_object*, lean_object*); static lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_toJsonGetWidgetSourceParams____x40_Lean_Widget_UserWidget___hyg_628____closed__2; static lean_object* l_Lean_Widget_instInhabitedWidgetSource___closed__1; @@ -291,14 +308,12 @@ static lean_object* l_Lean_Widget_widgetCmd___closed__15; lean_object* l_Lean_Server_Snapshots_Snapshot_env(lean_object*); static lean_object* l_Lean_Widget_widgetCmd___closed__5; LEAN_EXPORT lean_object* l_Lean_Widget_instToJsonGetWidgetSourceParams; -lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_elabDeriving___spec__1___rarg(lean_object*); uint64_t lean_string_hash(lean_object*); static lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_toJsonUserWidget____x40_Lean_Widget_UserWidget___hyg_258____closed__1; static lean_object* l_Lean_Widget_getWidgets___rpc__wrapped___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_toJsonGetWidgetSourceParams____x40_Lean_Widget_UserWidget___hyg_628_(lean_object*); static lean_object* l_Lean_Widget_widgetCmd___closed__3; uint8_t lean_nat_dec_lt(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Widget_saveWidgetInfo___at_Lean_Widget_elabWidgetCmd___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Widget_UserWidget_0__Lean_Widget_evalJsonUnsafe___closed__3; static lean_object* _init_l_Lean_Widget_instInhabitedWidgetSource___closed__1() { _start: @@ -5710,7 +5725,25 @@ x_1 = l_Lean_Widget_instFromJsonGetWidgetsResponse___closed__1; return x_1; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Widget_getWidgets___spec__1___closed__1() { +LEAN_EXPORT lean_object* l_ReaderT_pure___at_Lean_Widget_getWidgets___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_4, 0, x_1); +lean_ctor_set(x_4, 1, x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l_ReaderT_pure___at_Lean_Widget_getWidgets___spec__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Widget_getWidgets___spec__1___rarg___boxed), 3, 0); +return x_2; +} +} +static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Widget_getWidgets___spec__2___closed__1() { _start: { lean_object* x_1; @@ -5718,7 +5751,7 @@ x_1 = lean_mk_string_from_bytes("No registered user-widget with id ", 34); return x_1; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Widget_getWidgets___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_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Widget_getWidgets___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) { _start: { uint8_t x_8; @@ -5753,7 +5786,7 @@ lean_dec(x_10); lean_dec(x_2); x_17 = 1; x_18 = l_Lean_Name_toString(x_13, x_17); -x_19 = l_Array_mapMUnsafe_map___at_Lean_Widget_getWidgets___spec__1___closed__1; +x_19 = l_Array_mapMUnsafe_map___at_Lean_Widget_getWidgets___spec__2___closed__1; x_20 = lean_string_append(x_19, x_18); lean_dec(x_18); x_21 = l_Lean_Widget_instInhabitedWidgetSource___closed__1; @@ -5942,7 +5975,7 @@ x_12 = lean_array_get_size(x_11); x_13 = lean_usize_of_nat(x_12); lean_dec(x_12); x_14 = 0; -x_15 = l_Array_mapMUnsafe_map___at_Lean_Widget_getWidgets___spec__1(x_1, x_6, x_13, x_14, x_11, x_4, x_5); +x_15 = l_Array_mapMUnsafe_map___at_Lean_Widget_getWidgets___spec__2(x_1, x_6, x_13, x_14, x_11, x_4, x_5); lean_dec(x_1); if (lean_obj_tag(x_15) == 0) { @@ -5999,20 +6032,10 @@ x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -static lean_object* _init_l_Lean_Widget_getWidgets___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Widget_getWidgets___closed__1; -x_2 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Server_FileWorker_handleCompletion___spec__1___rarg___boxed), 3, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; -} -} LEAN_EXPORT lean_object* l_Lean_Widget_getWidgets(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { -lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; x_4 = l_Lean_Server_RequestM_readDoc___at_Lean_Server_RequestM_withWaitFindSnapAtPos___spec__1(x_2, x_3); x_5 = lean_ctor_get(x_4, 0); lean_inc(x_5); @@ -6028,15 +6051,26 @@ x_9 = l_Lean_FileMap_lspPosToUtf8Pos(x_8, x_1); lean_inc(x_9); x_10 = lean_alloc_closure((void*)(l_Lean_Widget_getWidgets___lambda__1___boxed), 2, 1); lean_closure_set(x_10, 0, x_9); -x_11 = lean_alloc_closure((void*)(l_Lean_Widget_getWidgets___lambda__2___boxed), 5, 2); -lean_closure_set(x_11, 0, x_8); -lean_closure_set(x_11, 1, x_9); -x_12 = l_Lean_Widget_getWidgets___closed__2; -x_13 = l_Lean_Server_RequestM_withWaitFindSnap___rarg(x_5, x_10, x_12, x_11, x_2, x_6); -return x_13; +x_11 = l_Lean_Widget_getWidgets___closed__1; +x_12 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Widget_getWidgets___spec__1___rarg___boxed), 3, 1); +lean_closure_set(x_12, 0, x_11); +x_13 = lean_alloc_closure((void*)(l_Lean_Widget_getWidgets___lambda__2___boxed), 5, 2); +lean_closure_set(x_13, 0, x_8); +lean_closure_set(x_13, 1, x_9); +x_14 = l_Lean_Server_RequestM_withWaitFindSnap___rarg(x_5, x_10, x_12, x_13, x_2, x_6); +return x_14; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Widget_getWidgets___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_ReaderT_pure___at_Lean_Widget_getWidgets___spec__1___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_ReaderT_pure___at_Lean_Widget_getWidgets___spec__1___rarg(x_1, x_2, x_3); +lean_dec(x_2); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Widget_getWidgets___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { size_t x_8; size_t x_9; lean_object* x_10; @@ -6044,7 +6078,7 @@ x_8 = lean_unbox_usize(x_3); lean_dec(x_3); x_9 = lean_unbox_usize(x_4); lean_dec(x_4); -x_10 = l_Array_mapMUnsafe_map___at_Lean_Widget_getWidgets___spec__1(x_1, x_2, x_8, x_9, x_5, x_6, x_7); +x_10 = l_Array_mapMUnsafe_map___at_Lean_Widget_getWidgets___spec__2(x_1, x_2, x_8, x_9, x_5, x_6, x_7); lean_dec(x_6); lean_dec(x_1); return x_10; @@ -6374,7 +6408,339 @@ x_11 = l_Lean_Elab_Term_evalTerm___rarg(x_9, x_1, x_10, x_2, x_3, x_4, x_5, x_6, return x_11; } } -LEAN_EXPORT lean_object* l_Lean_Widget_saveWidgetInfo___at_Lean_Widget_elabWidgetCmd___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) { +static lean_object* _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Widget_elabWidgetCmd___spec__1___rarg___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_Elab_unsupportedSyntaxExceptionId; +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Widget_elabWidgetCmd___spec__1___rarg___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Widget_elabWidgetCmd___spec__1___rarg___closed__1; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Widget_elabWidgetCmd___spec__1___rarg(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Widget_elabWidgetCmd___spec__1___rarg___closed__2; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Widget_elabWidgetCmd___spec__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = lean_alloc_closure((void*)(l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Widget_elabWidgetCmd___spec__1___rarg), 1, 0); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Widget_elabWidgetCmd___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; +x_5 = lean_st_ref_get(x_3, x_4); +x_6 = lean_ctor_get(x_5, 0); +lean_inc(x_6); +x_7 = lean_ctor_get(x_6, 7); +lean_inc(x_7); +lean_dec(x_6); +x_8 = lean_ctor_get_uint8(x_7, sizeof(void*)*2); +lean_dec(x_7); +if (x_8 == 0) +{ +uint8_t x_9; +lean_dec(x_1); +x_9 = !lean_is_exclusive(x_5); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; +x_10 = lean_ctor_get(x_5, 0); +lean_dec(x_10); +x_11 = lean_box(0); +lean_ctor_set(x_5, 0, x_11); +return x_5; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_5, 1); +lean_inc(x_12); +lean_dec(x_5); +x_13 = lean_box(0); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_13); +lean_ctor_set(x_14, 1, x_12); +return x_14; +} +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; +x_15 = lean_ctor_get(x_5, 1); +lean_inc(x_15); +lean_dec(x_5); +x_16 = lean_st_ref_take(x_3, x_15); +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_17, 7); +lean_inc(x_18); +x_19 = lean_ctor_get(x_16, 1); +lean_inc(x_19); +lean_dec(x_16); +x_20 = !lean_is_exclusive(x_17); +if (x_20 == 0) +{ +lean_object* x_21; uint8_t x_22; +x_21 = lean_ctor_get(x_17, 7); +lean_dec(x_21); +x_22 = !lean_is_exclusive(x_18); +if (x_22 == 0) +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; +x_23 = lean_ctor_get(x_18, 1); +x_24 = l_Std_PersistentArray_push___rarg(x_23, x_1); +lean_ctor_set(x_18, 1, x_24); +x_25 = lean_st_ref_set(x_3, x_17, x_19); +x_26 = !lean_is_exclusive(x_25); +if (x_26 == 0) +{ +lean_object* x_27; lean_object* x_28; +x_27 = lean_ctor_get(x_25, 0); +lean_dec(x_27); +x_28 = lean_box(0); +lean_ctor_set(x_25, 0, x_28); +return x_25; +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_25, 1); +lean_inc(x_29); +lean_dec(x_25); +x_30 = lean_box(0); +x_31 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_31, 0, x_30); +lean_ctor_set(x_31, 1, x_29); +return x_31; +} +} +else +{ +uint8_t x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_32 = lean_ctor_get_uint8(x_18, sizeof(void*)*2); +x_33 = lean_ctor_get(x_18, 0); +x_34 = lean_ctor_get(x_18, 1); +lean_inc(x_34); +lean_inc(x_33); +lean_dec(x_18); +x_35 = l_Std_PersistentArray_push___rarg(x_34, x_1); +x_36 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_36, 0, x_33); +lean_ctor_set(x_36, 1, x_35); +lean_ctor_set_uint8(x_36, sizeof(void*)*2, x_32); +lean_ctor_set(x_17, 7, x_36); +x_37 = lean_st_ref_set(x_3, x_17, x_19); +x_38 = lean_ctor_get(x_37, 1); +lean_inc(x_38); +if (lean_is_exclusive(x_37)) { + lean_ctor_release(x_37, 0); + lean_ctor_release(x_37, 1); + x_39 = x_37; +} else { + lean_dec_ref(x_37); + x_39 = lean_box(0); +} +x_40 = lean_box(0); +if (lean_is_scalar(x_39)) { + x_41 = lean_alloc_ctor(0, 2, 0); +} else { + x_41 = x_39; +} +lean_ctor_set(x_41, 0, x_40); +lean_ctor_set(x_41, 1, x_38); +return x_41; +} +} +else +{ +lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; uint8_t x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; +x_42 = lean_ctor_get(x_17, 0); +x_43 = lean_ctor_get(x_17, 1); +x_44 = lean_ctor_get(x_17, 2); +x_45 = lean_ctor_get(x_17, 3); +x_46 = lean_ctor_get(x_17, 4); +x_47 = lean_ctor_get(x_17, 5); +x_48 = lean_ctor_get(x_17, 6); +x_49 = lean_ctor_get(x_17, 8); +lean_inc(x_49); +lean_inc(x_48); +lean_inc(x_47); +lean_inc(x_46); +lean_inc(x_45); +lean_inc(x_44); +lean_inc(x_43); +lean_inc(x_42); +lean_dec(x_17); +x_50 = lean_ctor_get_uint8(x_18, sizeof(void*)*2); +x_51 = lean_ctor_get(x_18, 0); +lean_inc(x_51); +x_52 = lean_ctor_get(x_18, 1); +lean_inc(x_52); +if (lean_is_exclusive(x_18)) { + lean_ctor_release(x_18, 0); + lean_ctor_release(x_18, 1); + x_53 = x_18; +} else { + lean_dec_ref(x_18); + x_53 = lean_box(0); +} +x_54 = l_Std_PersistentArray_push___rarg(x_52, x_1); +if (lean_is_scalar(x_53)) { + x_55 = lean_alloc_ctor(0, 2, 1); +} else { + x_55 = x_53; +} +lean_ctor_set(x_55, 0, x_51); +lean_ctor_set(x_55, 1, x_54); +lean_ctor_set_uint8(x_55, sizeof(void*)*2, x_50); +x_56 = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(x_56, 0, x_42); +lean_ctor_set(x_56, 1, x_43); +lean_ctor_set(x_56, 2, x_44); +lean_ctor_set(x_56, 3, x_45); +lean_ctor_set(x_56, 4, x_46); +lean_ctor_set(x_56, 5, x_47); +lean_ctor_set(x_56, 6, x_48); +lean_ctor_set(x_56, 7, x_55); +lean_ctor_set(x_56, 8, x_49); +x_57 = lean_st_ref_set(x_3, x_56, x_19); +x_58 = lean_ctor_get(x_57, 1); +lean_inc(x_58); +if (lean_is_exclusive(x_57)) { + lean_ctor_release(x_57, 0); + lean_ctor_release(x_57, 1); + x_59 = x_57; +} else { + lean_dec_ref(x_57); + x_59 = lean_box(0); +} +x_60 = lean_box(0); +if (lean_is_scalar(x_59)) { + x_61 = lean_alloc_ctor(0, 2, 0); +} else { + x_61 = x_59; +} +lean_ctor_set(x_61, 0, x_60); +lean_ctor_set(x_61, 1, x_58); +return x_61; +} +} +} +} +static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(32u); +x_2 = lean_mk_empty_array_with_capacity(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3___closed__1; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3___closed__3() { +_start: +{ +size_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = 5; +x_2 = l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3___closed__2; +x_3 = l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3___closed__1; +x_4 = lean_unsigned_to_nat(0u); +x_5 = lean_alloc_ctor(0, 4, sizeof(size_t)*1); +lean_ctor_set(x_5, 0, x_2); +lean_ctor_set(x_5, 1, x_3); +lean_ctor_set(x_5, 2, x_4); +lean_ctor_set(x_5, 3, x_4); +lean_ctor_set_usize(x_5, 4, x_1); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; +x_5 = lean_st_ref_get(x_3, x_4); +x_6 = lean_ctor_get(x_5, 0); +lean_inc(x_6); +x_7 = lean_ctor_get(x_6, 7); +lean_inc(x_7); +lean_dec(x_6); +x_8 = lean_ctor_get_uint8(x_7, sizeof(void*)*2); +lean_dec(x_7); +if (x_8 == 0) +{ +uint8_t x_9; +lean_dec(x_1); +x_9 = !lean_is_exclusive(x_5); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; +x_10 = lean_ctor_get(x_5, 0); +lean_dec(x_10); +x_11 = lean_box(0); +lean_ctor_set(x_5, 0, x_11); +return x_5; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_5, 1); +lean_inc(x_12); +lean_dec(x_5); +x_13 = lean_box(0); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_13); +lean_ctor_set(x_14, 1, x_12); +return x_14; +} +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_15 = lean_ctor_get(x_5, 1); +lean_inc(x_15); +lean_dec(x_5); +x_16 = l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3___closed__3; +x_17 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_17, 0, x_1); +lean_ctor_set(x_17, 1, x_16); +x_18 = l_Lean_Elab_pushInfoTree___at_Lean_Widget_elabWidgetCmd___spec__4(x_17, x_2, x_3, x_15); +return x_18; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Widget_saveWidgetInfo___at_Lean_Widget_elabWidgetCmd___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; lean_object* x_9; @@ -6384,7 +6750,8 @@ lean_ctor_set(x_7, 1, x_1); lean_ctor_set(x_7, 2, x_2); x_8 = lean_alloc_ctor(6, 1, 0); lean_ctor_set(x_8, 0, x_7); -x_9 = l_Lean_Elab_pushInfoLeaf___at_Lean_Linter_MissingDocs_handleIn___spec__3(x_8, x_4, x_5, x_6); +x_9 = l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3(x_8, x_4, x_5, x_6); +lean_dec(x_4); return x_9; } } @@ -6409,7 +6776,7 @@ lean_object* x_7; lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_7 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_elabDeriving___spec__1___rarg(x_4); +x_7 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Widget_elabWidgetCmd___spec__1___rarg(x_4); return x_7; } else @@ -6427,7 +6794,7 @@ lean_dec(x_9); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_elabDeriving___spec__1___rarg(x_4); +x_12 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Widget_elabWidgetCmd___spec__1___rarg(x_4); return x_12; } else @@ -6449,9 +6816,8 @@ lean_inc(x_18); lean_dec(x_16); x_19 = l_Lean_Syntax_getId(x_9); lean_dec(x_9); -x_20 = l_Lean_Widget_saveWidgetInfo___at_Lean_Widget_elabWidgetCmd___spec__1(x_19, x_17, x_1, x_2, x_3, x_18); +x_20 = l_Lean_Widget_saveWidgetInfo___at_Lean_Widget_elabWidgetCmd___spec__2(x_19, x_17, x_1, x_2, x_3, x_18); lean_dec(x_3); -lean_dec(x_2); return x_20; } else @@ -6484,13 +6850,42 @@ return x_24; } } } -LEAN_EXPORT lean_object* l_Lean_Widget_saveWidgetInfo___at_Lean_Widget_elabWidgetCmd___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_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Widget_elabWidgetCmd___spec__1___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Widget_elabWidgetCmd___spec__1(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Widget_elabWidgetCmd___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_Elab_pushInfoTree___at_Lean_Widget_elabWidgetCmd___spec__4(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Widget_saveWidgetInfo___at_Lean_Widget_elabWidgetCmd___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_Widget_saveWidgetInfo___at_Lean_Widget_elabWidgetCmd___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_Widget_saveWidgetInfo___at_Lean_Widget_elabWidgetCmd___spec__2(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_5); -lean_dec(x_4); return x_7; } } @@ -6504,11 +6899,8 @@ return x_10; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Widget_Basic(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Data_Json(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Environment(uint8_t builtin, lean_object*); -lean_object* initialize_Lean_Server(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_Eval(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Server_Rpc_RequestHandling(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Widget_UserWidget(uint8_t builtin, lean_object* w) { lean_object * res; @@ -6517,21 +6909,12 @@ _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Widget_Basic(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Data_Json(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Environment(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -res = initialize_Lean_Server(builtin, lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); res = initialize_Lean_Elab_Eval(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Server_Rpc_RequestHandling(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); l_Lean_Widget_instInhabitedWidgetSource___closed__1 = _init_l_Lean_Widget_instInhabitedWidgetSource___closed__1(); lean_mark_persistent(l_Lean_Widget_instInhabitedWidgetSource___closed__1); l_Lean_Widget_instInhabitedWidgetSource = _init_l_Lean_Widget_instInhabitedWidgetSource(); @@ -6720,12 +7103,10 @@ l_Lean_Widget_instFromJsonGetWidgetsResponse___closed__1 = _init_l_Lean_Widget_i lean_mark_persistent(l_Lean_Widget_instFromJsonGetWidgetsResponse___closed__1); l_Lean_Widget_instFromJsonGetWidgetsResponse = _init_l_Lean_Widget_instFromJsonGetWidgetsResponse(); lean_mark_persistent(l_Lean_Widget_instFromJsonGetWidgetsResponse); -l_Array_mapMUnsafe_map___at_Lean_Widget_getWidgets___spec__1___closed__1 = _init_l_Array_mapMUnsafe_map___at_Lean_Widget_getWidgets___spec__1___closed__1(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Widget_getWidgets___spec__1___closed__1); +l_Array_mapMUnsafe_map___at_Lean_Widget_getWidgets___spec__2___closed__1 = _init_l_Array_mapMUnsafe_map___at_Lean_Widget_getWidgets___spec__2___closed__1(); +lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Widget_getWidgets___spec__2___closed__1); l_Lean_Widget_getWidgets___closed__1 = _init_l_Lean_Widget_getWidgets___closed__1(); lean_mark_persistent(l_Lean_Widget_getWidgets___closed__1); -l_Lean_Widget_getWidgets___closed__2 = _init_l_Lean_Widget_getWidgets___closed__2(); -lean_mark_persistent(l_Lean_Widget_getWidgets___closed__2); l_Lean_Server_wrapRpcProcedure___at_Lean_Widget_getWidgets___rpc__wrapped___spec__1___closed__1 = _init_l_Lean_Server_wrapRpcProcedure___at_Lean_Widget_getWidgets___rpc__wrapped___spec__1___closed__1(); lean_mark_persistent(l_Lean_Server_wrapRpcProcedure___at_Lean_Widget_getWidgets___rpc__wrapped___spec__1___closed__1); l_Lean_Server_wrapRpcProcedure___at_Lean_Widget_getWidgets___rpc__wrapped___spec__1___closed__2 = _init_l_Lean_Server_wrapRpcProcedure___at_Lean_Widget_getWidgets___rpc__wrapped___spec__1___closed__2(); @@ -6776,6 +7157,16 @@ l___private_Lean_Widget_UserWidget_0__Lean_Widget_evalJsonUnsafe___closed__2 = _ lean_mark_persistent(l___private_Lean_Widget_UserWidget_0__Lean_Widget_evalJsonUnsafe___closed__2); l___private_Lean_Widget_UserWidget_0__Lean_Widget_evalJsonUnsafe___closed__3 = _init_l___private_Lean_Widget_UserWidget_0__Lean_Widget_evalJsonUnsafe___closed__3(); lean_mark_persistent(l___private_Lean_Widget_UserWidget_0__Lean_Widget_evalJsonUnsafe___closed__3); +l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Widget_elabWidgetCmd___spec__1___rarg___closed__1 = _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Widget_elabWidgetCmd___spec__1___rarg___closed__1(); +lean_mark_persistent(l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Widget_elabWidgetCmd___spec__1___rarg___closed__1); +l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Widget_elabWidgetCmd___spec__1___rarg___closed__2 = _init_l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Widget_elabWidgetCmd___spec__1___rarg___closed__2(); +lean_mark_persistent(l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Widget_elabWidgetCmd___spec__1___rarg___closed__2); +l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3___closed__1 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3___closed__1(); +lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3___closed__1); +l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3___closed__2 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3___closed__2(); +lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3___closed__2); +l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3___closed__3 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3___closed__3(); +lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_Widget_elabWidgetCmd___spec__3___closed__3); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus