From 0158c2eeb7bbe244b1e7dabd0f4496c57bf64ac7 Mon Sep 17 00:00:00 2001 From: Leonardo de Moura Date: Tue, 1 Mar 2022 09:03:20 -0800 Subject: [PATCH] chore: update stage0 --- stage0/src/Init/Core.lean | 7 +- stage0/src/Init/Data/List/Basic.lean | 4 + stage0/src/Init/Data/Nat/Basic.lean | 12 + stage0/src/Init/Data/Nat/Linear.lean | 4 + stage0/src/Init/Data/Prod.lean | 1 + stage0/src/Init/Prelude.lean | 8 + stage0/src/Init/SimpLemmas.lean | 5 +- stage0/src/Lean/Compiler/ConstFolding.lean | 19 +- stage0/src/Lean/Compiler/IR/SimpCase.lean | 5 +- stage0/src/kernel/inductive.h | 2 + stage0/src/kernel/type_checker.cpp | 10 +- stage0/stdlib/Init/Data/Array/Basic.c | 1 + stage0/stdlib/Init/Data/Array/BinSearch.c | 2 +- stage0/stdlib/Init/Data/Array/Subarray.c | 2 +- stage0/stdlib/Init/Data/ByteArray/Basic.c | 1 + stage0/stdlib/Init/Data/FloatArray/Basic.c | 1 + stage0/stdlib/Init/Data/Format/Basic.c | 2 +- stage0/stdlib/Init/Data/Nat/Linear.c | 1 + stage0/stdlib/Init/Data/Ord.c | 1 + stage0/stdlib/Init/Data/String/Basic.c | 1 + stage0/stdlib/Init/Meta.c | 1 + stage0/stdlib/Init/NotationExtra.c | 1 + stage0/stdlib/Init/Prelude.c | 22 + stage0/stdlib/Init/System/FilePath.c | 1 + stage0/stdlib/Init/System/IO.c | 2 +- stage0/stdlib/Lean/Attributes.c | 2 +- stage0/stdlib/Lean/Compiler/ConstFolding.c | 457 ++++++++- stage0/stdlib/Lean/Compiler/ExternAttr.c | 1 + stage0/stdlib/Lean/Compiler/IR/Basic.c | 1 + stage0/stdlib/Lean/Compiler/IR/Borrow.c | 1 + stage0/stdlib/Lean/Compiler/IR/Boxing.c | 1 + stage0/stdlib/Lean/Compiler/IR/Checker.c | 1 + .../Lean/Compiler/IR/ElimDeadBranches.c | 1 + stage0/stdlib/Lean/Compiler/IR/EmitC.c | 1 + stage0/stdlib/Lean/Compiler/IR/EmitUtil.c | 2 +- .../Lean/Compiler/IR/ExpandResetReuse.c | 1 + stage0/stdlib/Lean/Compiler/IR/Format.c | 2 +- stage0/stdlib/Lean/Compiler/IR/FreeVars.c | 1 + stage0/stdlib/Lean/Compiler/IR/LiveVars.c | 1 + stage0/stdlib/Lean/Compiler/IR/NormIds.c | 1 + stage0/stdlib/Lean/Compiler/IR/RC.c | 418 ++++---- stage0/stdlib/Lean/Compiler/IR/ResetReuse.c | 2 +- stage0/stdlib/Lean/Compiler/IR/SimpCase.c | 124 +-- stage0/stdlib/Lean/Compiler/InlineAttrs.c | 2 +- stage0/stdlib/Lean/Compiler/Specialize.c | 2 +- stage0/stdlib/Lean/CoreM.c | 2 +- stage0/stdlib/Lean/Data/Json/Basic.c | 1 + stage0/stdlib/Lean/Data/Json/FromToJson.c | 1 + stage0/stdlib/Lean/Data/JsonRpc.c | 1 + stage0/stdlib/Lean/Data/KVMap.c | 2 +- stage0/stdlib/Lean/Data/LBool.c | 2 +- stage0/stdlib/Lean/Data/Lsp/Basic.c | 1 + stage0/stdlib/Lean/Data/Lsp/Diagnostics.c | 1 + stage0/stdlib/Lean/Data/Lsp/Extra.c | 1 + stage0/stdlib/Lean/Data/Name.c | 1 + stage0/stdlib/Lean/Data/Occurrences.c | 2 +- stage0/stdlib/Lean/Data/Position.c | 1 + stage0/stdlib/Lean/Data/Rat.c | 1 + stage0/stdlib/Lean/Declaration.c | 2 +- stage0/stdlib/Lean/Elab/App.c | 1 + stage0/stdlib/Lean/Elab/Binders.c | 1 + stage0/stdlib/Lean/Elab/BuiltinCommand.c | 1 + stage0/stdlib/Lean/Elab/BuiltinNotation.c | 1 + stage0/stdlib/Lean/Elab/Command.c | 2 +- stage0/stdlib/Lean/Elab/Declaration.c | 2 +- stage0/stdlib/Lean/Elab/DefView.c | 2 +- stage0/stdlib/Lean/Elab/Deriving/BEq.c | 1 + stage0/stdlib/Lean/Elab/Deriving/Basic.c | 1 + stage0/stdlib/Lean/Elab/Deriving/DecEq.c | 1 + stage0/stdlib/Lean/Elab/Deriving/FromToJson.c | 1 + stage0/stdlib/Lean/Elab/Deriving/Repr.c | 1 + stage0/stdlib/Lean/Elab/Do.c | 1 + stage0/stdlib/Lean/Elab/Exception.c | 2 +- stage0/stdlib/Lean/Elab/Inductive.c | 246 +++-- stage0/stdlib/Lean/Elab/InfoTree.c | 2 +- stage0/stdlib/Lean/Elab/Macro.c | 2 +- stage0/stdlib/Lean/Elab/Match.c | 1 + stage0/stdlib/Lean/Elab/MutualDef.c | 1 + stage0/stdlib/Lean/Elab/PatternVar.c | 2 +- stage0/stdlib/Lean/Elab/PreDefinition/Main.c | 2 +- .../Elab/PreDefinition/Structural/BRecOn.c | 1 + .../PreDefinition/Structural/FindRecArg.c | 1 + .../Lean/Elab/PreDefinition/Structural/Main.c | 2 +- .../stdlib/Lean/Elab/PreDefinition/WF/Fix.c | 2 +- .../stdlib/Lean/Elab/PreDefinition/WF/Main.c | 1 + .../Lean/Elab/PreDefinition/WF/PackDomain.c | 1 + .../Lean/Elab/PreDefinition/WF/PackMutual.c | 1 + stage0/stdlib/Lean/Elab/Quotation.c | 1 + stage0/stdlib/Lean/Elab/Quotation/Precheck.c | 2 +- stage0/stdlib/Lean/Elab/StructInst.c | 1 + stage0/stdlib/Lean/Elab/Syntax.c | 1 + stage0/stdlib/Lean/Elab/SyntheticMVars.c | 1 + stage0/stdlib/Lean/Elab/Tactic/Basic.c | 2 +- .../stdlib/Lean/Elab/Tactic/BuiltinTactic.c | 1 + stage0/stdlib/Lean/Elab/Tactic/Conv/Congr.c | 2 +- stage0/stdlib/Lean/Elab/Tactic/Induction.c | 2 +- stage0/stdlib/Lean/Elab/Tactic/Match.c | 2 +- stage0/stdlib/Lean/Elab/Term.c | 1 + stage0/stdlib/Lean/Elab/Util.c | 2 +- stage0/stdlib/Lean/Environment.c | 1 + stage0/stdlib/Lean/Exception.c | 2 +- stage0/stdlib/Lean/Expr.c | 1 + stage0/stdlib/Lean/HeadIndex.c | 2 +- stage0/stdlib/Lean/Hygiene.c | 2 +- stage0/stdlib/Lean/InternalExceptionId.c | 2 +- stage0/stdlib/Lean/KeyedDeclsAttribute.c | 2 +- stage0/stdlib/Lean/Level.c | 1 + stage0/stdlib/Lean/LocalContext.c | 1 + stage0/stdlib/Lean/Message.c | 2 +- stage0/stdlib/Lean/Meta/ACLt.c | 1 + stage0/stdlib/Lean/Meta/AbstractMVars.c | 1 + stage0/stdlib/Lean/Meta/AppBuilder.c | 2 +- stage0/stdlib/Lean/Meta/Basic.c | 1 + stage0/stdlib/Lean/Meta/Check.c | 1 + stage0/stdlib/Lean/Meta/Coe.c | 2 +- stage0/stdlib/Lean/Meta/CongrTheorems.c | 1 + stage0/stdlib/Lean/Meta/Constructions.c | 1 + stage0/stdlib/Lean/Meta/DiscrTree.c | 1 + stage0/stdlib/Lean/Meta/DiscrTreeTypes.c | 2 +- stage0/stdlib/Lean/Meta/ExprDefEq.c | 199 ++-- stage0/stdlib/Lean/Meta/FunInfo.c | 1 + stage0/stdlib/Lean/Meta/IndPredBelow.c | 1 + stage0/stdlib/Lean/Meta/InferType.c | 146 ++- stage0/stdlib/Lean/Meta/Instances.c | 1 + stage0/stdlib/Lean/Meta/KAbstract.c | 2 +- stage0/stdlib/Lean/Meta/LevelDefEq.c | 2 +- stage0/stdlib/Lean/Meta/Match/Basic.c | 2 +- stage0/stdlib/Lean/Meta/Match/Match.c | 927 +++++++++--------- stage0/stdlib/Lean/Meta/Match/MatchEqs.c | 2 +- stage0/stdlib/Lean/Meta/Offset.c | 2 +- stage0/stdlib/Lean/Meta/PPGoal.c | 2 +- stage0/stdlib/Lean/Meta/RecursorInfo.c | 126 ++- stage0/stdlib/Lean/Meta/Reduce.c | 1 + stage0/stdlib/Lean/Meta/ReduceEval.c | 2 +- stage0/stdlib/Lean/Meta/SizeOf.c | 1 + stage0/stdlib/Lean/Meta/SynthInstance.c | 1 + stage0/stdlib/Lean/Meta/Tactic/Apply.c | 1 + stage0/stdlib/Lean/Meta/Tactic/Assert.c | 1 + stage0/stdlib/Lean/Meta/Tactic/Cases.c | 1 + stage0/stdlib/Lean/Meta/Tactic/Constructor.c | 2 +- .../stdlib/Lean/Meta/Tactic/Contradiction.c | 2 +- stage0/stdlib/Lean/Meta/Tactic/Delta.c | 2 +- stage0/stdlib/Lean/Meta/Tactic/ElimInfo.c | 1 + stage0/stdlib/Lean/Meta/Tactic/Induction.c | 1 + stage0/stdlib/Lean/Meta/Tactic/Intro.c | 1 + .../stdlib/Lean/Meta/Tactic/LinearArith/Nat.c | 533 ++++++---- .../Lean/Meta/Tactic/LinearArith/Simp.c | 2 +- stage0/stdlib/Lean/Meta/Tactic/Simp/Main.c | 1 + .../Lean/Meta/Tactic/Simp/SimpCongrTheorems.c | 2 +- .../Lean/Meta/Tactic/Simp/SimpTheorems.c | 2 +- stage0/stdlib/Lean/Meta/Tactic/Subst.c | 1 + stage0/stdlib/Lean/Meta/Tactic/Util.c | 1 + stage0/stdlib/Lean/Meta/Transform.c | 2 +- stage0/stdlib/Lean/Meta/UnificationHint.c | 2 +- stage0/stdlib/Lean/Meta/WHNF.c | 1 + stage0/stdlib/Lean/MetavarContext.c | 1 + stage0/stdlib/Lean/MonadEnv.c | 2 +- stage0/stdlib/Lean/Parser/Attr.c | 2 +- stage0/stdlib/Lean/Parser/Basic.c | 1 + stage0/stdlib/Lean/Parser/Command.c | 2 +- stage0/stdlib/Lean/Parser/Do.c | 2 +- stage0/stdlib/Lean/Parser/Extension.c | 1 + stage0/stdlib/Lean/Parser/Level.c | 2 +- stage0/stdlib/Lean/Parser/Module.c | 2 +- stage0/stdlib/Lean/Parser/Syntax.c | 2 +- stage0/stdlib/Lean/Parser/Tactic.c | 2 +- stage0/stdlib/Lean/Parser/Term.c | 2 +- .../Lean/PrettyPrinter/Delaborator/Basic.c | 1 + .../Lean/PrettyPrinter/Delaborator/Builtins.c | 1 + .../Lean/PrettyPrinter/Delaborator/SubExpr.c | 2 +- .../Delaborator/TopDownAnalyze.c | 1 + stage0/stdlib/Lean/PrettyPrinter/Formatter.c | 1 + .../stdlib/Lean/PrettyPrinter/Parenthesizer.c | 1 + stage0/stdlib/Lean/Server/Completion.c | 2 +- .../Lean/Server/FileWorker/RequestHandling.c | 2 +- stage0/stdlib/Lean/Server/InfoUtils.c | 2 +- stage0/stdlib/Lean/Server/References.c | 2 +- stage0/stdlib/Lean/Server/Rpc/Deriving.c | 1 + stage0/stdlib/Lean/Server/Snapshots.c | 2 +- stage0/stdlib/Lean/Server/Watchdog.c | 1 + stage0/stdlib/Lean/Structure.c | 1 + stage0/stdlib/Lean/Syntax.c | 1 + stage0/stdlib/Lean/Util/Recognizers.c | 2 +- stage0/stdlib/Lean/Util/SCC.c | 2 +- stage0/stdlib/Lean/Util/Trace.c | 1 + stage0/stdlib/Lean/Widget/InteractiveCode.c | 1 + stage0/stdlib/Lean/Widget/InteractiveGoal.c | 2 +- stage0/stdlib/Lean/Widget/TaggedText.c | 1 + stage0/stdlib/Std/Data/BinomialHeap.c | 2 +- stage0/stdlib/Std/Data/PersistentArray.c | 1 + stage0/stdlib/Std/Data/PersistentHashMap.c | 1 + 191 files changed, 2161 insertions(+), 1358 deletions(-) diff --git a/stage0/src/Init/Core.lean b/stage0/src/Init/Core.lean index 4e8ae36f98..ee209d1f07 100644 --- a/stage0/src/Init/Core.lean +++ b/stage0/src/Init/Core.lean @@ -178,21 +178,22 @@ infix:50 " != " => bne class LawfulBEq (α : Type u) [BEq α] : Prop where eq_of_beq : (a b : α) → (a == b) = true → a = b + rfl : (a : α) → (a == a) = true theorem eq_of_beq [BEq α] [LawfulBEq α] {a b : α} (h : (a == b) = true) : a = b := LawfulBEq.eq_of_beq a b h instance : LawfulBEq Bool where eq_of_beq a b h := by cases a <;> cases b <;> first | rfl | contradiction - -instance : LawfulBEq Nat where - eq_of_beq _ _ h := of_decide_eq_true h + rfl a := by cases a <;> decide instance : LawfulBEq Char where eq_of_beq _ _ h := of_decide_eq_true h + rfl a := of_decide_eq_self_eq_true a instance : LawfulBEq String where eq_of_beq _ _ h := of_decide_eq_true h + rfl a := of_decide_eq_self_eq_true a /- Logical connectives an equality -/ diff --git a/stage0/src/Init/Data/List/Basic.lean b/stage0/src/Init/Data/List/Basic.lean index a77e0b9926..5e84bff599 100644 --- a/stage0/src/Init/Data/List/Basic.lean +++ b/stage0/src/Init/Data/List/Basic.lean @@ -483,5 +483,9 @@ instance [BEq α] [LawfulBEq α] : LawfulBEq (List α) where simp [BEq.beq, List.beq] intro ⟨h₁, h₂⟩ exact ⟨eq_of_beq h₁, ih _ h₂⟩ + rfl as := by + induction as with + | nil => rfl + | cons a as ih => simp [BEq.beq, List.beq, LawfulBEq.rfl]; exact ih end List diff --git a/stage0/src/Init/Data/Nat/Basic.lean b/stage0/src/Init/Data/Nat/Basic.lean index f29613e388..56390c98b7 100644 --- a/stage0/src/Init/Data/Nat/Basic.lean +++ b/stage0/src/Init/Data/Nat/Basic.lean @@ -60,6 +60,18 @@ def blt (a b : Nat) : Bool := @[simp] theorem ble_eq : (Nat.ble x y = true) = (x ≤ y) := propext <| Iff.intro Nat.le_of_ble_eq_true Nat.ble_eq_true_of_le @[simp] theorem blt_eq : (Nat.blt x y = true) = (x < y) := propext <| Iff.intro Nat.le_of_ble_eq_true Nat.ble_eq_true_of_le +instance : LawfulBEq Nat where + eq_of_beq _ _ h := Nat.eq_of_beq_eq_true h + rfl a := by simp [BEq.beq] + +@[simp] theorem beq_eq_true_eq (a b : Nat) : ((a == b) = true) = (a = b) := propext <| Iff.intro eq_of_beq (fun h => by subst h; apply LawfulBEq.rfl) +@[simp] theorem not_beq_eq_true_eq (a b : Nat) : ((!(a == b)) = true) = ¬(a = b) := + propext <| Iff.intro + (fun h₁ h₂ => by subst h₂; rw [LawfulBEq.rfl] at h₁; contradiction) + (fun h => + have : ¬ ((a == b) = true) := fun h' => absurd (eq_of_beq h') h + by simp [this]) + /- Nat.add theorems -/ @[simp] protected theorem zero_add : ∀ (n : Nat), 0 + n = n diff --git a/stage0/src/Init/Data/Nat/Linear.lean b/stage0/src/Init/Data/Nat/Linear.lean index a4417f3eae..db05a780e9 100644 --- a/stage0/src/Init/Data/Nat/Linear.lean +++ b/stage0/src/Init/Data/Nat/Linear.lean @@ -179,6 +179,10 @@ instance : LawfulBEq PolyCnstr where simp at h have ⟨⟨h₁, h₂⟩, h₃⟩ := h rw [h₁, eq_of_beq h₂, eq_of_beq h₃] + rfl a := by + cases a; rename_i eq lhs rhs + show (eq == eq && lhs == lhs && rhs == rhs) = true + simp [LawfulBEq.rfl] def PolyCnstr.mul (k : Nat) (c : PolyCnstr) : PolyCnstr := { c with lhs := c.lhs.mul k, rhs := c.rhs.mul k } diff --git a/stage0/src/Init/Data/Prod.lean b/stage0/src/Init/Data/Prod.lean index 6b192a4e3d..f5564dd9dd 100644 --- a/stage0/src/Init/Data/Prod.lean +++ b/stage0/src/Init/Data/Prod.lean @@ -8,3 +8,4 @@ import Init.SimpLemmas instance [BEq α] [BEq β] [LawfulBEq α] [LawfulBEq β] : LawfulBEq (α × β) where eq_of_beq a b h := by cases a; cases b; simp [BEq.beq] at h; have ⟨h₁, h₂⟩ := h; rw [eq_of_beq h₁, eq_of_beq h₂] + rfl a := by cases a; simp [BEq.beq, LawfulBEq.rfl] diff --git a/stage0/src/Init/Prelude.lean b/stage0/src/Init/Prelude.lean index a5b97170c1..2296a879d0 100644 --- a/stage0/src/Init/Prelude.lean +++ b/stage0/src/Init/Prelude.lean @@ -300,6 +300,11 @@ theorem of_decide_eq_false [s : Decidable p] : Eq (decide p) false → Not p := | isTrue h₁ => absurd h (ne_false_of_eq_true (decide_eq_true h₁)) | isFalse h₁ => h₁ +theorem of_decide_eq_self_eq_true [s : DecidableEq α] (a : α) : Eq (decide (Eq a a)) true := + match (generalizing := false) s a a with + | isTrue h₁ => rfl + | isFalse h₁ => absurd rfl h₁ + @[inline] instance : DecidableEq Bool := fun a b => match a, b with | false, false => isTrue rfl @@ -600,6 +605,9 @@ def Nat.beq : (@& Nat) → (@& Nat) → Bool | succ n, zero => false | succ n, succ m => beq n m +instance : BEq Nat where + beq := Nat.beq + theorem Nat.eq_of_beq_eq_true : {n m : Nat} → Eq (beq n m) true → Eq n m | zero, zero, h => rfl | zero, succ m, h => Bool.noConfusion h diff --git a/stage0/src/Init/SimpLemmas.lean b/stage0/src/Init/SimpLemmas.lean index 8ff2c6f950..88c77e67d2 100644 --- a/stage0/src/Init/SimpLemmas.lean +++ b/stage0/src/Init/SimpLemmas.lean @@ -150,10 +150,9 @@ theorem Bool.of_not_eq_false {b : Bool} : ¬ (b = false) → b = true := by case @[simp] theorem decide_not [h : Decidable p] : decide (¬ p) = !decide p := by cases h <;> rfl @[simp] theorem not_decide_eq_true [h : Decidable p] : ((!decide p) = true) = ¬ p := by cases h <;> simp [decide, *] -@[simp] theorem Nat.beq_to_eq (a b : Nat) : ((a == b) = true) = (a = b) := by simp [BEq.beq] -@[simp] theorem Nat.not_beq_to_not_eq (a b : Nat) : ((!(a == b)) = true) = ¬(a = b) := by simp [BEq.beq] - @[simp] theorem heq_eq_eq {α : Sort u} (a b : α) : HEq a b = (a = b) := propext <| Iff.intro eq_of_heq heq_of_eq @[simp] theorem cond_true (a b : α) : cond true a b = a := rfl @[simp] theorem cond_false (a b : α) : cond false a b = b := rfl + +@[simp] theorem beq_self_eq_true [BEq α] [LawfulBEq α] (a : α) : (a == a) = true := LawfulBEq.rfl a diff --git a/stage0/src/Lean/Compiler/ConstFolding.lean b/stage0/src/Lean/Compiler/ConstFolding.lean index 64cbeb15ae..8a9571f755 100644 --- a/stage0/src/Lean/Compiler/ConstFolding.lean +++ b/stage0/src/Lean/Compiler/ConstFolding.lean @@ -125,6 +125,19 @@ def foldNatDecEq := foldNatBinPred mkNatEq (fun a b => a = b) def foldNatDecLt := foldNatBinPred mkNatLt (fun a b => a < b) def foldNatDecLe := foldNatBinPred mkNatLe (fun a b => a ≤ b) +def foldNatBinBoolPred (fn : Nat → Nat → Bool) (a₁ a₂ : Expr) : Option Expr := + OptionM.run do + let n₁ ← getNumLit a₁ + let n₂ ← getNumLit a₂ + if fn n₁ n₂ then + return mkConst ``Bool.true + else + return mkConst ``Bool.false + +def foldNatBeq := fun _ : Bool => foldNatBinBoolPred (fun a b => a == b) +def foldNatBle := fun _ : Bool => foldNatBinBoolPred (fun a b => a < b) +def foldNatBlt := fun _ : Bool => foldNatBinBoolPred (fun a b => a ≤ b) + def natFoldFns : List (Name × BinFoldFn) := [(``Nat.add, foldNatAdd), (``Nat.mul, foldNatMul), @@ -133,7 +146,11 @@ def natFoldFns : List (Name × BinFoldFn) := (``Nat.pow, foldNatPow), (``Nat.decEq, foldNatDecEq), (``Nat.decLt, foldNatDecLt), - (``Nat.decLe, foldNatDecLe)] + (``Nat.decLe, foldNatDecLe), + (``Nat.beq, foldNatBeq), + (``Nat.blt, foldNatBlt), + (``Nat.ble, foldNatBle) +] def getBoolLit : Expr → Option Bool | Expr.const ``Bool.true _ _ => some true diff --git a/stage0/src/Lean/Compiler/IR/SimpCase.lean b/stage0/src/Lean/Compiler/IR/SimpCase.lean index 5a6042c84e..8a8cb2a806 100644 --- a/stage0/src/Lean/Compiler/IR/SimpCase.lean +++ b/stage0/src/Lean/Compiler/IR/SimpCase.lean @@ -43,8 +43,11 @@ private def addDefault (alts : Array Alt) : Array Alt := let alts := alts.filter fun alt => alt.body != max.body alts.push (Alt.default max.body) +private def filterUnreachable (alts : Array Alt) : Array Alt := + alts.filter fun alt => alt.body != FnBody.unreachable + private def mkSimpCase (tid : Name) (x : VarId) (xType : IRType) (alts : Array Alt) : FnBody := - let alts := alts.filter (fun alt => alt.body != FnBody.unreachable); + let alts := filterUnreachable alts let alts := addDefault alts; if alts.size == 0 then FnBody.unreachable diff --git a/stage0/src/kernel/inductive.h b/stage0/src/kernel/inductive.h index 27feac701d..dd6b2671b2 100644 --- a/stage0/src/kernel/inductive.h +++ b/stage0/src/kernel/inductive.h @@ -67,6 +67,8 @@ inline expr to_cnstr_when_structure(environment const & env, name const & induct expr e_type = whnf(infer_type(e)); if (!is_constant(get_app_fn(e_type), induct_name)) return e; + if (whnf(infer_type(e_type)) == mk_Prop()) + return e; return expand_eta_struct(env, e_type, e); } diff --git a/stage0/src/kernel/type_checker.cpp b/stage0/src/kernel/type_checker.cpp index b097689ea4..60ca5f9ea1 100644 --- a/stage0/src/kernel/type_checker.cpp +++ b/stage0/src/kernel/type_checker.cpp @@ -252,18 +252,22 @@ expr type_checker::infer_proj(expr const & e, bool infer_only) { if (!is_pi(r)) throw invalid_proj_exception(env(), m_lctx, e); r = instantiate(binding_body(r), args[i]); } + bool is_prop_type = is_prop(type); for (unsigned i = 0; i < idx; i++) { r = whnf(r); if (!is_pi(r)) throw invalid_proj_exception(env(), m_lctx, e); - if (has_loose_bvars(binding_body(r))) + if (has_loose_bvars(binding_body(r))) { + if (is_prop_type && !is_prop(binding_domain(r))) + throw invalid_proj_exception(env(), m_lctx, e); r = instantiate(binding_body(r), mk_proj(I_name, i, proj_expr(e))); - else + } else { r = binding_body(r); + } } r = whnf(r); if (!is_pi(r)) throw invalid_proj_exception(env(), m_lctx, e); r = binding_domain(r); - if (is_prop(type) && !is_prop(r)) + if (is_prop_type && !is_prop(r)) throw invalid_proj_exception(env(), m_lctx, e); return r; } diff --git a/stage0/stdlib/Init/Data/Array/Basic.c b/stage0/stdlib/Init/Data/Array/Basic.c index 8d0e4dd016..33c662e4f2 100644 --- a/stage0/stdlib/Init/Data/Array/Basic.c +++ b/stage0/stdlib/Init/Data/Array/Basic.c @@ -453,6 +453,7 @@ LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at_Array_findSomeRev_x3 LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Array_filterM___spec__1___rarg___lambda__2(size_t, lean_object*, lean_object*, lean_object*, size_t, lean_object*); LEAN_EXPORT lean_object* l_Array_popWhile(lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Array_append___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_modifyMUnsafe___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_concatMapM___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapIdx___rarg___boxed(lean_object*, lean_object*); diff --git a/stage0/stdlib/Init/Data/Array/BinSearch.c b/stage0/stdlib/Init/Data/Array/BinSearch.c index 56ebe24e47..30af1e3388 100644 --- a/stage0/stdlib/Init/Data/Array/BinSearch.c +++ b/stage0/stdlib/Init/Data/Array/BinSearch.c @@ -34,7 +34,6 @@ LEAN_EXPORT lean_object* l_Array_binInsertM___rarg___lambda__2(lean_object*, lea LEAN_EXPORT lean_object* l_Array_binSearchAux___at_Array_binSearchContains___spec__1(lean_object*); LEAN_EXPORT uint8_t l_Array_binSearchAux___at_Array_binSearchContains___spec__1___rarg(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_BinSearch_0__Array_binInsertAux___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_binSearchContains___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -59,6 +58,7 @@ LEAN_EXPORT lean_object* l_Array_binInsertM___rarg(lean_object*, lean_object*, l LEAN_EXPORT lean_object* l_Array_binSearchAux___at_Array_binSearch___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_binSearchAux___at_Array_binSearch___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_BinSearch_0__Array_binInsertAux___at_Array_binInsert___spec__2___rarg(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_binSearchContains___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_binSearchContains(lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_BinSearch_0__Array_binInsertAux___at_Array_binInsert___spec__2(lean_object*); diff --git a/stage0/stdlib/Init/Data/Array/Subarray.c b/stage0/stdlib/Init/Data/Array/Subarray.c index a40dd9cdd6..1f1186ffab 100644 --- a/stage0/stdlib/Init/Data/Array/Subarray.c +++ b/stage0/stdlib/Init/Data/Array/Subarray.c @@ -87,7 +87,6 @@ LEAN_EXPORT lean_object* l_Subarray_popFront___rarg(lean_object*); static lean_object* l_Array___aux__Init__Data__Array__Subarray______macroRules__Array__term_____x5b_x3a___x5d__1___closed__2; LEAN_EXPORT lean_object* l_Subarray_anyM(lean_object*, lean_object*); static lean_object* l_Array___aux__Init__Data__Array__Subarray______macroRules__Array__term_____x5b___x3a___x5d__1___closed__6; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Subarray_all___rarg___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Subarray_toArray___rarg(lean_object*); LEAN_EXPORT uint8_t l_Subarray_any___rarg(lean_object*, lean_object*); @@ -183,6 +182,7 @@ LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Subarray_foldr___spec__1 static lean_object* l_instReprSubarray___rarg___closed__10; LEAN_EXPORT lean_object* l_Subarray_forM___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_ofSubarray___rarg(lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_instReprSubarray___rarg___closed__8; LEAN_EXPORT uint8_t l_Subarray_all___rarg(lean_object*, lean_object*); static lean_object* l_instReprSubarray___rarg___closed__4; diff --git a/stage0/stdlib/Init/Data/ByteArray/Basic.c b/stage0/stdlib/Init/Data/ByteArray/Basic.c index 593b90bb7d..d8104d0639 100644 --- a/stage0/stdlib/Init/Data/ByteArray/Basic.c +++ b/stage0/stdlib/Init/Data/ByteArray/Basic.c @@ -97,6 +97,7 @@ static lean_object* l_ByteArray_toUInt64LE_x21___closed__2; uint64_t lean_uint64_shift_left(uint64_t, uint64_t); LEAN_EXPORT lean_object* l_ByteArray_forIn_loop___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint64_t lean_uint64_lor(uint64_t, uint64_t); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* lean_byte_array_copy_slice(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t); LEAN_EXPORT lean_object* l_ByteArray_foldlMUnsafe_fold___rarg___lambda__1(size_t, lean_object*, lean_object*, lean_object*, size_t, lean_object*); LEAN_EXPORT lean_object* l_ByteArray_forIn_loop(lean_object*, lean_object*); diff --git a/stage0/stdlib/Init/Data/FloatArray/Basic.c b/stage0/stdlib/Init/Data/FloatArray/Basic.c index 309e593c9b..b21b19142e 100644 --- a/stage0/stdlib/Init/Data/FloatArray/Basic.c +++ b/stage0/stdlib/Init/Data/FloatArray/Basic.c @@ -80,6 +80,7 @@ lean_object* lean_float_array_set(lean_object*, lean_object*, double); LEAN_EXPORT lean_object* l_List_toString___at_instToStringFloatArray___spec__1(lean_object*); LEAN_EXPORT lean_object* l_instToStringFloatArray(lean_object*); LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe_fold___rarg___lambda__1(size_t, lean_object*, lean_object*, lean_object*, size_t, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe_fold___at_FloatArray_foldl___spec__1(lean_object*); LEAN_EXPORT lean_object* l_FloatArray_foldlMUnsafe_fold___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_mk_empty_float_array(lean_object*); diff --git a/stage0/stdlib/Init/Data/Format/Basic.c b/stage0/stdlib/Init/Data/Format/Basic.c index 8a6de2502c..6e1e99eeaf 100644 --- a/stage0/stdlib/Init/Data/Format/Basic.c +++ b/stage0/stdlib/Init/Data/Format/Basic.c @@ -62,7 +62,6 @@ LEAN_EXPORT lean_object* l_Std_Format_joinSuffix___rarg(lean_object*, lean_objec LEAN_EXPORT lean_object* l_Std_Format_FlattenBehavior_noConfusion___rarg(uint8_t, uint8_t, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Format_Basic_0__Std_Format_SpaceResult_space___default; LEAN_EXPORT lean_object* l___private_Init_Data_Format_Basic_0__Std_Format_pushGroup___at_Std_Format_pretty___spec__3___boxed(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_Std_instToFormatString(lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Format_Basic_0__Std_Format_State_out___default; lean_object* lean_nat_sub(lean_object*, lean_object*); @@ -136,6 +135,7 @@ LEAN_EXPORT lean_object* l_panic___at___private_Init_Data_Format_Basic_0__Std_Fo LEAN_EXPORT lean_object* l_Std_Format_instCoeStringFormat(lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Format_Basic_0__Std_Format_be___rarg___lambda__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Format_isEmpty___closed__1; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldl___at_Std_Format_join___spec__1(lean_object*, lean_object*); lean_object* lean_panic_fn(lean_object*, lean_object*); lean_object* l_StateT_instMonadStateT___rarg(lean_object*); diff --git a/stage0/stdlib/Init/Data/Nat/Linear.c b/stage0/stdlib/Init/Data/Nat/Linear.c index 00683a0d35..e23366d54b 100644 --- a/stage0/stdlib/Init/Data/Nat/Linear.c +++ b/stage0/stdlib/Init/Data/Nat/Linear.c @@ -69,6 +69,7 @@ LEAN_EXPORT lean_object* l_Nat_Linear_Poly_isNum_x3f___boxed(lean_object*); LEAN_EXPORT lean_object* l_Nat_Linear_Certificate_combineHyps(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Nat_Linear_Poly_isNonZero(lean_object*); lean_object* lean_nat_mul(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Nat_Linear_Certificate_combine___closed__1; LEAN_EXPORT lean_object* l_Nat_Linear_ExprCnstr_toPoly___boxed(lean_object*); LEAN_EXPORT lean_object* l_Nat_Linear_Poly_norm(lean_object*); diff --git a/stage0/stdlib/Init/Data/Ord.c b/stage0/stdlib/Init/Data/Ord.c index 1e6dafdca7..f64a3d4ef0 100644 --- a/stage0/stdlib/Init/Data/Ord.c +++ b/stage0/stdlib/Init/Data/Ord.c @@ -62,6 +62,7 @@ LEAN_EXPORT uint8_t l_compareOfLessAndEq___rarg(lean_object*, lean_object*, lean LEAN_EXPORT uint8_t l_instOrdUInt32(uint32_t, uint32_t); uint8_t lean_int_dec_lt(lean_object*, lean_object*); uint8_t lean_uint16_dec_lt(uint16_t, uint16_t); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_instOrdUSize(size_t, size_t); LEAN_EXPORT lean_object* l_Ordering_noConfusion___rarg___lambda__1___boxed(lean_object*); LEAN_EXPORT lean_object* l_Ordering_toCtorIdx(uint8_t); diff --git a/stage0/stdlib/Init/Data/String/Basic.c b/stage0/stdlib/Init/Data/String/Basic.c index 42dd127cd3..929e387d40 100644 --- a/stage0/stdlib/Init/Data/String/Basic.c +++ b/stage0/stdlib/Init/Data/String/Basic.c @@ -247,6 +247,7 @@ LEAN_EXPORT lean_object* l_Substring_dropRight(lean_object*, lean_object*); lean_object* lean_nat_mul(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Substring_splitOn_loop___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_String_anyAux(lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_String_toLower(lean_object*); LEAN_EXPORT lean_object* l_String_foldlAux(lean_object*); LEAN_EXPORT uint8_t l_String_startsWith(lean_object*, lean_object*); diff --git a/stage0/stdlib/Init/Meta.c b/stage0/stdlib/Init/Meta.c index d12bbb505f..4c89d7df66 100644 --- a/stage0/stdlib/Init/Meta.c +++ b/stage0/stdlib/Init/Meta.c @@ -693,6 +693,7 @@ static lean_object* l_List_foldr___at_Lean_Syntax_decodeNameLit___spec__1___clos LEAN_EXPORT lean_object* l_Lean_Syntax_decodeQuotedChar___boxed__const__1; static lean_object* l_Lean_Parser_Tactic___aux__Init__Meta______macroRules__Lean__Parser__Tactic__tacticErw______1___closed__5; LEAN_EXPORT lean_object* l_Lean_Syntax_getTailInfo_x3f(lean_object*); +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; LEAN_EXPORT uint8_t l_Lean_Meta_Simp_Config_iota___default; diff --git a/stage0/stdlib/Init/NotationExtra.c b/stage0/stdlib/Init/NotationExtra.c index d75bc3e78d..7aa372a92d 100644 --- a/stage0/stdlib/Init/NotationExtra.c +++ b/stage0/stdlib/Init/NotationExtra.c @@ -543,6 +543,7 @@ static lean_object* l_command__ClassAbbrev_____x3a___x3a_x3d_____x2c___closed__9 static lean_object* l_calc___closed__5; static lean_object* l_solve___closed__14; static lean_object* l___aux__Init__NotationExtra______macroRules__term_x25_x5b___x7c___x5d__1___closed__6; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l___aux__Init__NotationExtra______macroRules__tacticFunext______1___closed__2; LEAN_EXPORT lean_object* l_unexpandUnit___boxed(lean_object*); static lean_object* l_solve___closed__5; diff --git a/stage0/stdlib/Init/Prelude.c b/stage0/stdlib/Init/Prelude.c index ff5e7c549d..c9398e293c 100644 --- a/stage0/stdlib/Init/Prelude.c +++ b/stage0/stdlib/Init/Prelude.c @@ -248,6 +248,7 @@ LEAN_EXPORT lean_object* l_inferInstance___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_Macro_instInhabitedMethods___lambda__3___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_getThe___rarg(lean_object*); LEAN_EXPORT lean_object* l___private_Init_Prelude_0__Lean_extractMacroScopesAux(lean_object*, lean_object*); +static lean_object* l_instBEqNat___closed__1; LEAN_EXPORT uint8_t l_Lean_Name_hasMacroScopes(lean_object*); LEAN_EXPORT uint8_t l_instDecidableEqChar(uint32_t, uint32_t); LEAN_EXPORT lean_object* l_ReaderT_instMonadReaderT___rarg___lambda__7___boxed(lean_object*, lean_object*, lean_object*); @@ -728,6 +729,7 @@ LEAN_EXPORT lean_object* lean_simp_macro_scopes(lean_object*); LEAN_EXPORT lean_object* l_max___rarg(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_instMonadQuotationUnexpandM___closed__3; LEAN_EXPORT lean_object* l_EStateM_bind(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_instBEqNat; LEAN_EXPORT lean_object* l_UInt32_val___boxed(lean_object*); LEAN_EXPORT lean_object* l_dite___rarg(uint8_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_unsafeCast(lean_object*, lean_object*); @@ -1983,6 +1985,22 @@ x_4 = lean_box(x_3); return x_4; } } +static lean_object* _init_l_instBEqNat___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Nat_beq___boxed), 2, 0); +return x_1; +} +} +static lean_object* _init_l_instBEqNat() { +_start: +{ +lean_object* x_1; +x_1 = l_instBEqNat___closed__1; +return x_1; +} +} LEAN_EXPORT lean_object* l_Nat_decEq___boxed(lean_object* x_1, lean_object* x_2) { _start: { @@ -10537,6 +10555,10 @@ l_instPowNat___closed__1 = _init_l_instPowNat___closed__1(); lean_mark_persistent(l_instPowNat___closed__1); l_instPowNat = _init_l_instPowNat(); lean_mark_persistent(l_instPowNat); +l_instBEqNat___closed__1 = _init_l_instBEqNat___closed__1(); +lean_mark_persistent(l_instBEqNat___closed__1); +l_instBEqNat = _init_l_instBEqNat(); +lean_mark_persistent(l_instBEqNat); l_instLENat = _init_l_instLENat(); lean_mark_persistent(l_instLENat); l_instLTNat = _init_l_instLTNat(); diff --git a/stage0/stdlib/Init/System/FilePath.c b/stage0/stdlib/Init/System/FilePath.c index 17c7d4fd35..432353669f 100644 --- a/stage0/stdlib/Init/System/FilePath.c +++ b/stage0/stdlib/Init/System/FilePath.c @@ -101,6 +101,7 @@ lean_object* l_Char_toLower(uint32_t); LEAN_EXPORT uint8_t l_List_elem___at_System_FilePath_normalize___spec__1(uint32_t, lean_object*); LEAN_EXPORT lean_object* l_System_instHashableFilePath; LEAN_EXPORT uint32_t l_System_SearchPath_separator; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_System_FilePath_pathSeparators___closed__2; LEAN_EXPORT lean_object* l_System_SearchPath_parse(lean_object*); uint64_t lean_uint64_mix_hash(uint64_t, uint64_t); diff --git a/stage0/stdlib/Init/System/IO.c b/stage0/stdlib/Init/System/IO.c index a04b5a97e6..245922f0a6 100644 --- a/stage0/stdlib/Init/System/IO.c +++ b/stage0/stdlib/Init/System/IO.c @@ -206,7 +206,6 @@ LEAN_EXPORT lean_object* l_EIO_toIO___rarg(lean_object*, lean_object*, lean_obje static uint32_t l_IO_AccessRight_flags___closed__1; static uint32_t l_IO_AccessRight_flags___closed__9; LEAN_EXPORT lean_object* l_IO_FS_Handle_readBinToEnd(lean_object*, lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_IO_sleep___lambda__1(lean_object*, lean_object*); static uint32_t l_IO_AccessRight_flags___closed__2; LEAN_EXPORT lean_object* l_IO_FS_readBinFile___boxed(lean_object*, lean_object*); @@ -474,6 +473,7 @@ lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Init_System_IO_0__IO_FS_reprSystemTime____x40_Init_System_IO___hyg_2117____closed__2; LEAN_EXPORT lean_object* l_IO_toEIO___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_IO_FS_Handle_putStrLn(lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_IO_FS_createDirAll___lambda__2___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_termPrintln_x21_______closed__11; static lean_object* l___private_Init_System_IO_0__IO_FS_reprDirEntry____x40_Init_System_IO___hyg_1886____closed__2; diff --git a/stage0/stdlib/Lean/Attributes.c b/stage0/stdlib/Lean/Attributes.c index 03926ee8f7..e979de50c8 100644 --- a/stage0/stdlib/Lean/Attributes.c +++ b/stage0/stdlib/Lean/Attributes.c @@ -161,7 +161,6 @@ LEAN_EXPORT lean_object* l_Std_PersistentHashMap_find_x3f___at_Lean_getBuiltinAt LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_updateEnvAttributesImpl___spec__3(lean_object*, size_t, size_t, lean_object*); static lean_object* l_Lean_instToStringAttributeKind___closed__3; LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_registerEnumAttributes___spec__3___rarg___lambda__1(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 uint8_t l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_128_(uint8_t, uint8_t); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_getBuiltinAttributeNames___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); @@ -371,6 +370,7 @@ static lean_object* l_Lean_registerBuiltinAttribute___lambda__2___closed__1; LEAN_EXPORT lean_object* l_Std_RBNode_find___at_Lean_ParametricAttribute_getParam___spec__1(lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_registerBuiltinAttribute___closed__2; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT uint8_t l___private_Lean_Attributes_0__Lean_beqAttributeApplicationTime____x40_Lean_Attributes___hyg_13_(uint8_t, uint8_t); extern lean_object* l_Lean_instInhabitedName; static lean_object* l_Lean_Attribute_Builtin_getIdent___closed__2; diff --git a/stage0/stdlib/Lean/Compiler/ConstFolding.c b/stage0/stdlib/Lean/Compiler/ConstFolding.c index f6aa721e32..4ca9e018c4 100644 --- a/stage0/stdlib/Lean/Compiler/ConstFolding.c +++ b/stage0/stdlib/Lean/Compiler/ConstFolding.c @@ -40,9 +40,11 @@ lean_object* l_Nat_div___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_NumScalarTypeInfo_size___default___boxed(lean_object*); static lean_object* l_Lean_Compiler_foldCharOfNat___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_foldUIntSub___lambda__1(lean_object*, uint8_t, lean_object*, lean_object*); +lean_object* l_Nat_beq___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_natFoldFns___closed__15; static lean_object* l_Lean_Compiler_toDecidableExpr___closed__6; static lean_object* l_Lean_Compiler_foldCharOfNat___closed__2; +LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatBeq(uint8_t); LEAN_EXPORT lean_object* l_Lean_Compiler_NumScalarTypeInfo_ofNatFn___default(lean_object*); extern lean_object* l_System_Platform_numBits; LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatPow___boxed(lean_object*); @@ -59,6 +61,7 @@ static lean_object* l_Lean_Compiler_foldNatMul___rarg___closed__1; static lean_object* l_Lean_Compiler_getBoolLit___closed__2; LEAN_EXPORT lean_object* l_Lean_Compiler_preUIntBinFoldFns; LEAN_EXPORT lean_object* l_Lean_Compiler_foldStrictAnd___boxed(lean_object*); +static lean_object* l_Lean_Compiler_natFoldFns___closed__51; LEAN_EXPORT lean_object* l_Lean_Compiler_natFoldFns; static lean_object* l_Lean_Compiler_preUIntBinFoldFns___closed__25; static lean_object* l_Lean_Compiler_boolFoldFns___closed__5; @@ -81,6 +84,7 @@ lean_object* lean_nat_pow(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatMod(uint8_t); static lean_object* l_Lean_Compiler_natFoldFns___closed__27; static lean_object* l_Lean_Compiler_natFoldFns___closed__9; +static lean_object* l_Lean_Compiler_natFoldFns___closed__40; static lean_object* l_Lean_Compiler_natFoldFns___closed__4; static lean_object* l_Lean_Compiler_numScalarTypes___closed__20; static lean_object* l_List_foldl___at_Lean_Compiler_uintFoldToNatFns___spec__1___closed__1; @@ -97,14 +101,17 @@ static lean_object* l_Lean_Compiler_foldNatDecLe___closed__1; uint32_t lean_uint32_of_nat(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatAdd___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatDecLe___boxed(lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_natFoldFns___closed__45; LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatDiv(uint8_t); extern lean_object* l_Lean_levelZero; lean_object* lean_nat_add(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_preUIntBinFoldFns___closed__19; LEAN_EXPORT lean_object* l_Lean_Compiler_mkUInt32Lit(lean_object*); static lean_object* l_Lean_Compiler_numScalarTypes___closed__17; +static lean_object* l_Lean_Compiler_natFoldFns___closed__37; static lean_object* l_Lean_Compiler_toDecidableExpr___closed__4; static lean_object* l_Lean_Compiler_numScalarTypes___closed__27; +static lean_object* l_Lean_Compiler_foldNatBinBoolPred___closed__2; static lean_object* l_Lean_Compiler_numScalarTypes___closed__4; static lean_object* l_Lean_Compiler_natFoldFns___closed__16; lean_object* l_Lean_mkAppN(lean_object*, lean_object*); @@ -112,21 +119,25 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_binFoldFns; static lean_object* l_Lean_Compiler_mkNatLe___closed__2; lean_object* l_Lean_mkDecIsTrue(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_foldStrictOr___rarg(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatBle___rarg(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_natFoldFns___closed__7; static lean_object* l_Lean_Compiler_preUIntBinFoldFns___closed__21; LEAN_EXPORT lean_object* l_List_lookup___at_Lean_Compiler_findUnFoldFn___spec__1(lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_foldNatBinBoolPred___closed__1; static lean_object* l_Lean_Compiler_numScalarTypes___closed__8; static lean_object* l_Lean_Compiler_binFoldFns___closed__1; static lean_object* l_Lean_Compiler_mkNatEq___closed__3; static lean_object* l_Lean_Compiler_toDecidableExpr___closed__8; LEAN_EXPORT lean_object* l_Lean_Compiler_foldUIntDiv___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_natFoldFns___closed__21; +static lean_object* l_Lean_Compiler_natFoldFns___closed__38; LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatDecEq(uint8_t, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_foldUIntDiv___closed__1; static lean_object* l_Lean_Compiler_mkNatEq___closed__8; LEAN_EXPORT lean_object* l_Lean_Compiler_toDecidableExpr___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* lean_fold_un_op(uint8_t, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_toDecidableExpr___closed__1; +static lean_object* l_Lean_Compiler_natFoldFns___closed__42; static lean_object* l_Lean_Compiler_boolFoldFns___closed__6; static lean_object* l_Lean_Compiler_unFoldFns___closed__6; lean_object* lean_nat_sub(lean_object*, lean_object*); @@ -149,6 +160,7 @@ static lean_object* l_Lean_Compiler_preUIntBinFoldFns___closed__17; static lean_object* l_Lean_Compiler_numScalarTypes___closed__3; static lean_object* l_Lean_Compiler_unFoldFns___closed__4; static lean_object* l_Lean_Compiler_numScalarTypes___closed__5; +LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatBle(uint8_t); static lean_object* l_Lean_Compiler_preUIntBinFoldFns___closed__4; static lean_object* l_Lean_Compiler_unFoldFns___closed__9; static lean_object* l_Lean_Compiler_numScalarTypes___closed__18; @@ -159,6 +171,7 @@ LEAN_EXPORT lean_object* l_List_lookup___at_Lean_Compiler_findUnFoldFn___spec__1 static lean_object* l_Lean_Compiler_numScalarTypes___closed__14; static lean_object* l_Lean_Compiler_preUIntBinFoldFns___closed__12; static lean_object* l_Lean_Compiler_numScalarTypes___closed__28; +static lean_object* l_Lean_Compiler_natFoldFns___closed__47; static lean_object* l_Lean_Compiler_boolFoldFns___closed__8; LEAN_EXPORT lean_object* l_Lean_Compiler_foldUIntMod___lambda__1(lean_object*, uint8_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_getInfoFromFn(lean_object*, lean_object*); @@ -166,6 +179,7 @@ static lean_object* l_Lean_Compiler_mkNatEq___closed__4; LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Compiler_uintBinFoldFns___spec__1___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_unFoldFns___closed__8; static lean_object* l_Lean_Compiler_mkNatLe___closed__8; +LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatBlt(uint8_t); static lean_object* l_Lean_Compiler_natFoldFns___closed__12; lean_object* l_Nat_repr(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_findUnFoldFn(lean_object*); @@ -189,6 +203,7 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_mkUIntTypeName(lean_object*); LEAN_EXPORT lean_object* l_List_lookup___at_Lean_Compiler_findBinFoldFn___spec__1(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_unFoldFns___closed__2; static lean_object* l_Lean_Compiler_boolFoldFns___closed__2; +LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatBle___boxed(lean_object*); static lean_object* l_Lean_Compiler_boolFoldFns___closed__4; static lean_object* l_Lean_Compiler_numScalarTypes___closed__26; static lean_object* l_Lean_Compiler_mkUIntTypeName___closed__1; @@ -206,7 +221,9 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_foldUIntMul___boxed(lean_object*, lean_ static lean_object* l_Lean_Compiler_natFoldFns___closed__2; LEAN_EXPORT lean_object* l_Lean_Compiler_getInfoFromFn___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_foldUIntMul___closed__1; +LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatBeq___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_foldBinOp___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_natFoldFns___closed__48; LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatDecLe(uint8_t, lean_object*, lean_object*); lean_object* l_Lean_mkDecIsFalse(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_preUIntBinFoldFns___closed__11; @@ -218,6 +235,9 @@ static lean_object* l_Lean_Compiler_boolFoldFns___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatBinPred(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_mkNatLt___closed__2; LEAN_EXPORT lean_object* l_List_foldl___at_Lean_Compiler_uintFoldToNatFns___spec__1(lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_natFoldFns___closed__50; +LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatBlt___rarg(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatBlt___boxed(lean_object*); static lean_object* l_Lean_Compiler_unFoldFns___closed__7; LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatDiv___boxed(lean_object*); static lean_object* l_Lean_Compiler_natFoldFns___closed__34; @@ -251,7 +271,9 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_mkNatLt(lean_object*, lean_object*); lean_object* l_Lean_mkApp(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_mkUIntLit(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_foldBinUInt___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatBeq___boxed(lean_object*); static lean_object* l_Lean_Compiler_preUIntBinFoldFns___closed__24; +static lean_object* l_Lean_Compiler_foldNatBeq___rarg___closed__1; lean_object* l_Lean_Name_append(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_mkNatLe___closed__1; static lean_object* l_Lean_Compiler_numScalarTypes___closed__2; @@ -261,6 +283,7 @@ static lean_object* l_Lean_Compiler_mkNatLt___closed__6; lean_object* l_Nat_mul___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_NumScalarTypeInfo_toNatFn___default(lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatAdd(uint8_t); +static lean_object* l_Lean_Compiler_natFoldFns___closed__49; static lean_object* l_Lean_Compiler_natFoldFns___closed__24; LEAN_EXPORT lean_object* l_Lean_Compiler_foldStrictOr(uint8_t); static lean_object* l_Lean_Compiler_mkNatLt___closed__4; @@ -268,6 +291,7 @@ lean_object* lean_nat_mul(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_natFoldFns___closed__36; static lean_object* l_Lean_Compiler_numScalarTypes___closed__10; static lean_object* l_Lean_Compiler_natFoldFns___closed__35; +LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatBinBoolPred(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_findBinFoldFn___boxed(lean_object*); static lean_object* l_Lean_Compiler_natFoldFns___closed__17; static lean_object* l_Lean_Compiler_foldNatMod___rarg___closed__1; @@ -298,6 +322,7 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_foldBinUInt(lean_object*, uint8_t, lean LEAN_EXPORT lean_object* l_Lean_Compiler_foldUIntAdd(uint8_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldr___at_Lean_Compiler_isOfNat___spec__1___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_mkNatLe___closed__7; +static lean_object* l_Lean_Compiler_natFoldFns___closed__39; lean_object* lean_nat_mod(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_numScalarTypes___closed__7; static lean_object* l_Lean_Compiler_natFoldFns___closed__1; @@ -306,17 +331,20 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_getInfoFromVal___boxed(lean_object*); static lean_object* l_Lean_Compiler_natFoldFns___closed__23; static lean_object* l_Lean_Compiler_preUIntBinFoldFns___closed__16; LEAN_EXPORT lean_object* l_Lean_Compiler_foldUIntMul___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_natFoldFns___closed__41; static lean_object* l_Lean_Compiler_numScalarTypes___closed__11; static lean_object* l_Lean_Compiler_mkNatLt___closed__8; extern lean_object* l_Lean_levelOne; LEAN_EXPORT lean_object* l_Lean_Compiler_foldUIntMul(uint8_t, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_foldNatDecEq___closed__2; static lean_object* l_Lean_Compiler_preUIntBinFoldFns___closed__6; +static lean_object* l_Lean_Compiler_natFoldFns___closed__43; LEAN_EXPORT lean_object* lean_get_num_lit(lean_object*); static lean_object* l_Lean_Compiler_foldNatDecLt___closed__1; lean_object* l_Lean_mkConst(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_boolFoldFns; static lean_object* l_Lean_Compiler_unFoldFns___closed__10; +static lean_object* l_Lean_Compiler_natFoldFns___closed__46; static lean_object* l_Lean_Compiler_getBoolLit___closed__1; LEAN_EXPORT lean_object* l_Lean_Compiler_findUnFoldFn___boxed(lean_object*); lean_object* l_List_appendTR___rarg(lean_object*, lean_object*); @@ -334,6 +362,7 @@ static lean_object* l_Lean_Compiler_mkNatLt___closed__9; lean_object* l_Nat_decEq___boxed(lean_object*, lean_object*); uint8_t lean_string_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatDecEq___boxed(lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Compiler_natFoldFns___closed__44; uint8_t lean_nat_dec_lt(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_boolFoldFns___closed__10; static lean_object* l_Lean_Compiler_toDecidableExpr___closed__2; @@ -2749,6 +2778,168 @@ x_5 = l_Lean_Compiler_foldNatDecLe(x_4, x_2, x_3); return x_5; } } +static lean_object* _init_l_Lean_Compiler_foldNatBinBoolPred___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Compiler_toDecidableExpr___closed__5; +x_2 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Compiler_foldNatBinBoolPred___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Compiler_toDecidableExpr___closed__8; +x_2 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatBinBoolPred(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = lean_get_num_lit(x_2); +if (lean_obj_tag(x_4) == 0) +{ +lean_object* x_5; +lean_dec(x_3); +lean_dec(x_1); +x_5 = lean_box(0); +return x_5; +} +else +{ +lean_object* x_6; lean_object* x_7; +x_6 = lean_ctor_get(x_4, 0); +lean_inc(x_6); +lean_dec(x_4); +x_7 = lean_get_num_lit(x_3); +if (lean_obj_tag(x_7) == 0) +{ +lean_object* x_8; +lean_dec(x_6); +lean_dec(x_1); +x_8 = lean_box(0); +return x_8; +} +else +{ +lean_object* x_9; lean_object* x_10; uint8_t x_11; +x_9 = lean_ctor_get(x_7, 0); +lean_inc(x_9); +lean_dec(x_7); +x_10 = lean_apply_2(x_1, x_6, x_9); +x_11 = lean_unbox(x_10); +lean_dec(x_10); +if (x_11 == 0) +{ +lean_object* x_12; +x_12 = l_Lean_Compiler_foldNatBinBoolPred___closed__1; +return x_12; +} +else +{ +lean_object* x_13; +x_13 = l_Lean_Compiler_foldNatBinBoolPred___closed__2; +return x_13; +} +} +} +} +} +static lean_object* _init_l_Lean_Compiler_foldNatBeq___rarg___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Nat_beq___boxed), 2, 0); +return x_1; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatBeq___rarg(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; +x_3 = l_Lean_Compiler_foldNatBeq___rarg___closed__1; +x_4 = l_Lean_Compiler_foldNatBinBoolPred(x_3, x_1, x_2); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatBeq(uint8_t x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Compiler_foldNatBeq___rarg), 2, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatBeq___boxed(lean_object* x_1) { +_start: +{ +uint8_t x_2; lean_object* x_3; +x_2 = lean_unbox(x_1); +lean_dec(x_1); +x_3 = l_Lean_Compiler_foldNatBeq(x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatBle___rarg(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; +x_3 = l_Lean_Compiler_foldNatDecLt___closed__2; +x_4 = l_Lean_Compiler_foldNatBinBoolPred(x_3, x_1, x_2); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatBle(uint8_t x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Compiler_foldNatBle___rarg), 2, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatBle___boxed(lean_object* x_1) { +_start: +{ +uint8_t x_2; lean_object* x_3; +x_2 = lean_unbox(x_1); +lean_dec(x_1); +x_3 = l_Lean_Compiler_foldNatBle(x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatBlt___rarg(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; +x_3 = l_Lean_Compiler_foldNatDecLe___closed__2; +x_4 = l_Lean_Compiler_foldNatBinBoolPred(x_3, x_1, x_2); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatBlt(uint8_t x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Compiler_foldNatBlt___rarg), 2, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Compiler_foldNatBlt___boxed(lean_object* x_1) { +_start: +{ +uint8_t x_2; lean_object* x_3; +x_2 = lean_unbox(x_1); +lean_dec(x_1); +x_3 = l_Lean_Compiler_foldNatBlt(x_2); +return x_3; +} +} static lean_object* _init_l_Lean_Compiler_natFoldFns___closed__1() { _start: { @@ -3024,46 +3215,36 @@ return x_3; static lean_object* _init_l_Lean_Compiler_natFoldFns___closed__29() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Compiler_natFoldFns___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; +lean_object* x_1; +x_1 = lean_mk_string("beq"); +return x_1; } } static lean_object* _init_l_Lean_Compiler_natFoldFns___closed__30() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Compiler_natFoldFns___closed__24; +x_1 = l_Lean_Compiler_mkNatEq___closed__6; x_2 = l_Lean_Compiler_natFoldFns___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); +x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } static lean_object* _init_l_Lean_Compiler_natFoldFns___closed__31() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Compiler_natFoldFns___closed__20; -x_2 = l_Lean_Compiler_natFoldFns___closed__30; -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_alloc_closure((void*)(l_Lean_Compiler_foldNatBeq___boxed), 1, 0); +return x_1; } } static lean_object* _init_l_Lean_Compiler_natFoldFns___closed__32() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Compiler_natFoldFns___closed__16; +x_1 = l_Lean_Compiler_natFoldFns___closed__30; x_2 = l_Lean_Compiler_natFoldFns___closed__31; -x_3 = lean_alloc_ctor(1, 2, 0); +x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; @@ -3072,45 +3253,205 @@ return x_3; static lean_object* _init_l_Lean_Compiler_natFoldFns___closed__33() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Compiler_natFoldFns___closed__12; -x_2 = l_Lean_Compiler_natFoldFns___closed__32; -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("blt"); +return x_1; } } static lean_object* _init_l_Lean_Compiler_natFoldFns___closed__34() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Compiler_natFoldFns___closed__9; +x_1 = l_Lean_Compiler_mkNatEq___closed__6; x_2 = l_Lean_Compiler_natFoldFns___closed__33; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); +x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } static lean_object* _init_l_Lean_Compiler_natFoldFns___closed__35() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Compiler_natFoldFns___closed__6; -x_2 = l_Lean_Compiler_natFoldFns___closed__34; -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_alloc_closure((void*)(l_Lean_Compiler_foldNatBlt___boxed), 1, 0); +return x_1; } } static lean_object* _init_l_Lean_Compiler_natFoldFns___closed__36() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Compiler_natFoldFns___closed__3; +x_1 = l_Lean_Compiler_natFoldFns___closed__34; x_2 = l_Lean_Compiler_natFoldFns___closed__35; +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Compiler_natFoldFns___closed__37() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("ble"); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_natFoldFns___closed__38() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_mkNatEq___closed__6; +x_2 = l_Lean_Compiler_natFoldFns___closed__37; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Compiler_natFoldFns___closed__39() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Compiler_foldNatBle___boxed), 1, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Compiler_natFoldFns___closed__40() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_natFoldFns___closed__38; +x_2 = l_Lean_Compiler_natFoldFns___closed__39; +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Compiler_natFoldFns___closed__41() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Compiler_natFoldFns___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_Lean_Compiler_natFoldFns___closed__42() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_natFoldFns___closed__36; +x_2 = l_Lean_Compiler_natFoldFns___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_Lean_Compiler_natFoldFns___closed__43() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_natFoldFns___closed__32; +x_2 = l_Lean_Compiler_natFoldFns___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_Lean_Compiler_natFoldFns___closed__44() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_natFoldFns___closed__28; +x_2 = l_Lean_Compiler_natFoldFns___closed__43; +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_Compiler_natFoldFns___closed__45() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_natFoldFns___closed__24; +x_2 = l_Lean_Compiler_natFoldFns___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_Compiler_natFoldFns___closed__46() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_natFoldFns___closed__20; +x_2 = l_Lean_Compiler_natFoldFns___closed__45; +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_Compiler_natFoldFns___closed__47() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_natFoldFns___closed__16; +x_2 = l_Lean_Compiler_natFoldFns___closed__46; +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_Compiler_natFoldFns___closed__48() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_natFoldFns___closed__12; +x_2 = l_Lean_Compiler_natFoldFns___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_Lean_Compiler_natFoldFns___closed__49() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_natFoldFns___closed__9; +x_2 = l_Lean_Compiler_natFoldFns___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_Compiler_natFoldFns___closed__50() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_natFoldFns___closed__6; +x_2 = l_Lean_Compiler_natFoldFns___closed__49; +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_Compiler_natFoldFns___closed__51() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Compiler_natFoldFns___closed__3; +x_2 = l_Lean_Compiler_natFoldFns___closed__50; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); @@ -3121,7 +3462,7 @@ static lean_object* _init_l_Lean_Compiler_natFoldFns() { _start: { lean_object* x_1; -x_1 = l_Lean_Compiler_natFoldFns___closed__36; +x_1 = l_Lean_Compiler_natFoldFns___closed__51; return x_1; } } @@ -4594,6 +4935,12 @@ l_Lean_Compiler_foldNatDecLe___closed__1 = _init_l_Lean_Compiler_foldNatDecLe___ lean_mark_persistent(l_Lean_Compiler_foldNatDecLe___closed__1); l_Lean_Compiler_foldNatDecLe___closed__2 = _init_l_Lean_Compiler_foldNatDecLe___closed__2(); lean_mark_persistent(l_Lean_Compiler_foldNatDecLe___closed__2); +l_Lean_Compiler_foldNatBinBoolPred___closed__1 = _init_l_Lean_Compiler_foldNatBinBoolPred___closed__1(); +lean_mark_persistent(l_Lean_Compiler_foldNatBinBoolPred___closed__1); +l_Lean_Compiler_foldNatBinBoolPred___closed__2 = _init_l_Lean_Compiler_foldNatBinBoolPred___closed__2(); +lean_mark_persistent(l_Lean_Compiler_foldNatBinBoolPred___closed__2); +l_Lean_Compiler_foldNatBeq___rarg___closed__1 = _init_l_Lean_Compiler_foldNatBeq___rarg___closed__1(); +lean_mark_persistent(l_Lean_Compiler_foldNatBeq___rarg___closed__1); l_Lean_Compiler_natFoldFns___closed__1 = _init_l_Lean_Compiler_natFoldFns___closed__1(); lean_mark_persistent(l_Lean_Compiler_natFoldFns___closed__1); l_Lean_Compiler_natFoldFns___closed__2 = _init_l_Lean_Compiler_natFoldFns___closed__2(); @@ -4666,6 +5013,36 @@ l_Lean_Compiler_natFoldFns___closed__35 = _init_l_Lean_Compiler_natFoldFns___clo lean_mark_persistent(l_Lean_Compiler_natFoldFns___closed__35); l_Lean_Compiler_natFoldFns___closed__36 = _init_l_Lean_Compiler_natFoldFns___closed__36(); lean_mark_persistent(l_Lean_Compiler_natFoldFns___closed__36); +l_Lean_Compiler_natFoldFns___closed__37 = _init_l_Lean_Compiler_natFoldFns___closed__37(); +lean_mark_persistent(l_Lean_Compiler_natFoldFns___closed__37); +l_Lean_Compiler_natFoldFns___closed__38 = _init_l_Lean_Compiler_natFoldFns___closed__38(); +lean_mark_persistent(l_Lean_Compiler_natFoldFns___closed__38); +l_Lean_Compiler_natFoldFns___closed__39 = _init_l_Lean_Compiler_natFoldFns___closed__39(); +lean_mark_persistent(l_Lean_Compiler_natFoldFns___closed__39); +l_Lean_Compiler_natFoldFns___closed__40 = _init_l_Lean_Compiler_natFoldFns___closed__40(); +lean_mark_persistent(l_Lean_Compiler_natFoldFns___closed__40); +l_Lean_Compiler_natFoldFns___closed__41 = _init_l_Lean_Compiler_natFoldFns___closed__41(); +lean_mark_persistent(l_Lean_Compiler_natFoldFns___closed__41); +l_Lean_Compiler_natFoldFns___closed__42 = _init_l_Lean_Compiler_natFoldFns___closed__42(); +lean_mark_persistent(l_Lean_Compiler_natFoldFns___closed__42); +l_Lean_Compiler_natFoldFns___closed__43 = _init_l_Lean_Compiler_natFoldFns___closed__43(); +lean_mark_persistent(l_Lean_Compiler_natFoldFns___closed__43); +l_Lean_Compiler_natFoldFns___closed__44 = _init_l_Lean_Compiler_natFoldFns___closed__44(); +lean_mark_persistent(l_Lean_Compiler_natFoldFns___closed__44); +l_Lean_Compiler_natFoldFns___closed__45 = _init_l_Lean_Compiler_natFoldFns___closed__45(); +lean_mark_persistent(l_Lean_Compiler_natFoldFns___closed__45); +l_Lean_Compiler_natFoldFns___closed__46 = _init_l_Lean_Compiler_natFoldFns___closed__46(); +lean_mark_persistent(l_Lean_Compiler_natFoldFns___closed__46); +l_Lean_Compiler_natFoldFns___closed__47 = _init_l_Lean_Compiler_natFoldFns___closed__47(); +lean_mark_persistent(l_Lean_Compiler_natFoldFns___closed__47); +l_Lean_Compiler_natFoldFns___closed__48 = _init_l_Lean_Compiler_natFoldFns___closed__48(); +lean_mark_persistent(l_Lean_Compiler_natFoldFns___closed__48); +l_Lean_Compiler_natFoldFns___closed__49 = _init_l_Lean_Compiler_natFoldFns___closed__49(); +lean_mark_persistent(l_Lean_Compiler_natFoldFns___closed__49); +l_Lean_Compiler_natFoldFns___closed__50 = _init_l_Lean_Compiler_natFoldFns___closed__50(); +lean_mark_persistent(l_Lean_Compiler_natFoldFns___closed__50); +l_Lean_Compiler_natFoldFns___closed__51 = _init_l_Lean_Compiler_natFoldFns___closed__51(); +lean_mark_persistent(l_Lean_Compiler_natFoldFns___closed__51); l_Lean_Compiler_natFoldFns = _init_l_Lean_Compiler_natFoldFns(); lean_mark_persistent(l_Lean_Compiler_natFoldFns); l_Lean_Compiler_getBoolLit___closed__1 = _init_l_Lean_Compiler_getBoolLit___closed__1(); diff --git a/stage0/stdlib/Lean/Compiler/ExternAttr.c b/stage0/stdlib/Lean/Compiler/ExternAttr.c index 59ea8f97f0..d08347bb6e 100644 --- a/stage0/stdlib/Lean/Compiler/ExternAttr.c +++ b/stage0/stdlib/Lean/Compiler/ExternAttr.c @@ -145,6 +145,7 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Compiler_E LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Compiler_ExternAttr_0__Lean_syntaxToExternAttrData___spec__3___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_mul(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Compiler_ExternAttr_0__Lean_getExternConstArity___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_expandExternPatternAux(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_getExternEntryForAux___boxed(lean_object*, lean_object*); uint8_t l_Lean_Syntax_isNone(lean_object*); diff --git a/stage0/stdlib/Lean/Compiler/IR/Basic.c b/stage0/stdlib/Lean/Compiler/IR/Basic.c index 6d5fb09172..226c69a348 100644 --- a/stage0/stdlib/Lean/Compiler/IR/Basic.c +++ b/stage0/stdlib/Lean/Compiler/IR/Basic.c @@ -245,6 +245,7 @@ LEAN_EXPORT uint8_t l_Lean_IR_CtorInfo_beq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_instToFormatJoinPointId(lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_IRType_isStruct___boxed(lean_object*); static lean_object* l___private_Lean_Compiler_IR_Basic_0__Lean_IR_reprCtorInfo____x40_Lean_Compiler_IR_Basic___hyg_748____closed__2; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_IRType_instBEqIRType; LEAN_EXPORT lean_object* l_Lean_IR_Decl_updateBody_x21(lean_object*, lean_object*); LEAN_EXPORT lean_object* lean_ir_mk_uset(lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Compiler/IR/Borrow.c b/stage0/stdlib/Lean/Compiler/IR/Borrow.c index 385d4dabc7..8960e0b1c4 100644 --- a/stage0/stdlib/Lean/Compiler/IR/Borrow.c +++ b/stage0/stdlib/Lean/Compiler/IR/Borrow.c @@ -177,6 +177,7 @@ lean_object* lean_nat_mul(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_Borrow_isOwned___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_IR_Borrow_ApplyParamMap_visitFnBody___spec__4(lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_Borrow_ApplyParamMap_visitDecls(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Std_AssocList_foldlM___at_Lean_IR_Borrow_ParamMap_fmt___spec__1___closed__3; LEAN_EXPORT lean_object* l_Lean_IR_Borrow_ownArgsIfParam(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_Borrow_ownArgsUsingParams(lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Compiler/IR/Boxing.c b/stage0/stdlib/Lean/Compiler/IR/Boxing.c index 1f724ebc34..075a8f4808 100644 --- a/stage0/stdlib/Lean/Compiler/IR/Boxing.c +++ b/stage0/stdlib/Lean/Compiler/IR/Boxing.c @@ -123,6 +123,7 @@ LEAN_EXPORT lean_object* l_Lean_IR_ExplicitBoxing_mkBoxedVersion(lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_ExplicitBoxing_unboxResultIfNeeded___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_IR_LocalContext_addLocal(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_ExplicitBoxing_eqvTypes___boxed(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_ExplicitBoxing_getResultType(lean_object*, lean_object*); lean_object* l_Lean_IR_Decl_updateBody_x21(lean_object*, lean_object*); static lean_object* l_Lean_IR_ExplicitBoxing_getDecl___closed__1; diff --git a/stage0/stdlib/Lean/Compiler/IR/Checker.c b/stage0/stdlib/Lean/Compiler/IR/Checker.c index 9a35ae8afc..a829b34e63 100644 --- a/stage0/stdlib/Lean/Compiler/IR/Checker.c +++ b/stage0/stdlib/Lean/Compiler/IR/Checker.c @@ -121,6 +121,7 @@ LEAN_EXPORT lean_object* l_Lean_IR_Checker_checkPartialApp___boxed(lean_object*, lean_object* l_Lean_IR_LocalContext_addLocal(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_mul(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_Checker_getUSizeSize(lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_IR_Checker_checkFullApp___closed__1; LEAN_EXPORT lean_object* l_Lean_IR_Checker_getMaxCtorFields(lean_object*); static lean_object* l_Lean_IR_Checker_checkJP___closed__2; diff --git a/stage0/stdlib/Lean/Compiler/IR/ElimDeadBranches.c b/stage0/stdlib/Lean/Compiler/IR/ElimDeadBranches.c index 4b4e2e9d74..ce1a0b5ecb 100644 --- a/stage0/stdlib/Lean/Compiler/IR/ElimDeadBranches.c +++ b/stage0/stdlib/Lean/Compiler/IR/ElimDeadBranches.c @@ -292,6 +292,7 @@ LEAN_EXPORT lean_object* l_Lean_mkStateFromImportedEntries___at_Lean_IR_Unreacha lean_object* l_Lean_Name_getPrefix(lean_object*); static lean_object* l___private_Lean_Compiler_IR_ElimDeadBranches_0__Lean_IR_UnreachableBranches_reprValue____x40_Lean_Compiler_IR_ElimDeadBranches___hyg_40____closed__8; LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux_traverse___at_Lean_IR_UnreachableBranches_initFn____x40_Lean_Compiler_IR_ElimDeadBranches___hyg_950____spec__4(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l___private_Lean_Compiler_IR_ElimDeadBranches_0__Lean_IR_UnreachableBranches_reprValue____x40_Lean_Compiler_IR_ElimDeadBranches___hyg_40____closed__17; LEAN_EXPORT lean_object* l_Lean_IR_elimDeadBranches___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_IR_UnreachableBranches_initFn____x40_Lean_Compiler_IR_ElimDeadBranches___hyg_950____spec__8(lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Compiler/IR/EmitC.c b/stage0/stdlib/Lean/Compiler/IR/EmitC.c index 2ef1506903..e8a096b5ee 100644 --- a/stage0/stdlib/Lean/Compiler/IR/EmitC.c +++ b/stage0/stdlib/Lean/Compiler/IR/EmitC.c @@ -472,6 +472,7 @@ LEAN_EXPORT lean_object* l_Nat_forM_loop___at_Lean_IR_EmitC_emitArgs___spec__1__ LEAN_EXPORT lean_object* l_Nat_foldM_loop___at_Lean_IR_EmitC_emitSimpleExternalCall___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Nat_foldM_loop___at_Lean_IR_EmitC_emitSimpleExternalCall___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_EmitC_emitTag(lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_IR_EmitC_emitInitFn___closed__11; LEAN_EXPORT lean_object* l_Lean_IR_EmitC_emitDecl(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_EmitC_throwUnknownVar(lean_object*); diff --git a/stage0/stdlib/Lean/Compiler/IR/EmitUtil.c b/stage0/stdlib/Lean/Compiler/IR/EmitUtil.c index c6e760475e..dc414f0e40 100644 --- a/stage0/stdlib/Lean/Compiler/IR/EmitUtil.c +++ b/stage0/stdlib/Lean/Compiler/IR/EmitUtil.c @@ -42,7 +42,6 @@ size_t lean_uint64_to_usize(uint64_t); lean_object* l_Lean_IR_AltCore_body(lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); lean_object* lean_get_init_fn_name_for(lean_object*, lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_IR_mkVarJPMaps___spec__2(lean_object*); lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); lean_object* l_Std_mkHashMapImp___rarg(lean_object*); @@ -71,6 +70,7 @@ LEAN_EXPORT lean_object* l_Lean_IR_CollectUsedDecls_collectInitDecl(lean_object* LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_IR_CollectMaps_collectJP___spec__4(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_IR_CollectMaps_collectVar___spec__2___boxed(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_AssocList_contains___at_Lean_IR_CollectMaps_collectJP___spec__2___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldr___at_Lean_IR_usesModuleFrom___spec__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Environment_allImportedModuleNames(lean_object*); diff --git a/stage0/stdlib/Lean/Compiler/IR/ExpandResetReuse.c b/stage0/stdlib/Lean/Compiler/IR/ExpandResetReuse.c index b2a99addfe..a646a99877 100644 --- a/stage0/stdlib/Lean/Compiler/IR/ExpandResetReuse.c +++ b/stage0/stdlib/Lean/Compiler/IR/ExpandResetReuse.c @@ -101,6 +101,7 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_IR_ExpandResetReuse_re lean_object* lean_nat_mul(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_IR_ExpandResetReuse_reuseToCtor___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_ExpandResetReuse_reuseToCtor___boxed(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_IR_Decl_updateBody_x21(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_ExpandResetReuse_mkFresh___rarg(lean_object*); lean_object* lean_array_pop(lean_object*); diff --git a/stage0/stdlib/Lean/Compiler/IR/Format.c b/stage0/stdlib/Lean/Compiler/IR/Format.c index 79b1f167e5..0b40ee9e0e 100644 --- a/stage0/stdlib/Lean/Compiler/IR/Format.c +++ b/stage0/stdlib/Lean/Compiler/IR/Format.c @@ -87,7 +87,6 @@ static lean_object* l___private_Lean_Compiler_IR_Format_0__Lean_IR_formatParam__ static lean_object* l_Lean_IR_formatFnBody_loop___closed__6; static lean_object* l___private_Lean_Compiler_IR_Format_0__Lean_IR_formatCtorInfo___closed__6; static lean_object* l___private_Lean_Compiler_IR_Format_0__Lean_IR_formatExpr___closed__23; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l___private_Lean_Compiler_IR_Format_0__Lean_IR_formatIRType___closed__14; static lean_object* l___private_Lean_Compiler_IR_Format_0__Lean_IR_formatIRType___closed__25; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_IR_formatFnBody_loop___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*); @@ -191,6 +190,7 @@ static lean_object* l_Lean_IR_formatFnBodyHead___closed__28; static lean_object* l_Lean_IR_formatFnBodyHead___closed__14; static lean_object* l___private_Lean_Compiler_IR_Format_0__Lean_IR_formatIRType___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Compiler_IR_Format_0__Lean_IR_formatCtorInfo(lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l___private_Lean_Compiler_IR_Format_0__Lean_IR_formatCtorInfo___lambda__2___closed__4; LEAN_EXPORT lean_object* l___private_Lean_Compiler_IR_Format_0__Lean_IR_formatParam(lean_object*); static lean_object* l_Lean_IR_formatDecl___closed__4; diff --git a/stage0/stdlib/Lean/Compiler/IR/FreeVars.c b/stage0/stdlib/Lean/Compiler/IR/FreeVars.c index 2e79c19fee..218e2bfb0c 100644 --- a/stage0/stdlib/Lean/Compiler/IR/FreeVars.c +++ b/stage0/stdlib/Lean/Compiler/IR/FreeVars.c @@ -97,6 +97,7 @@ LEAN_EXPORT uint8_t l_Lean_IR_HasIndex_visitArgs(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_IR_HasIndex_visitFnBody(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_FreeIndices_collectArray___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_MaxIndex_collectArgs(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_FnBody_maxIndex(lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_MaxIndex_instAndThenCollector(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_IR_FreeVars_0__Lean_IR_MaxIndex_collectAlts(lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Compiler/IR/LiveVars.c b/stage0/stdlib/Lean/Compiler/IR/LiveVars.c index 23bbdea225..13010cb4d9 100644 --- a/stage0/stdlib/Lean/Compiler/IR/LiveVars.c +++ b/stage0/stdlib/Lean/Compiler/IR/LiveVars.c @@ -79,6 +79,7 @@ uint8_t l_Lean_IR_HasIndex_visitArgs(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_LiveVars_collectFnBody___lambda__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_mkLiveVarSet(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_IR_LiveVars_0__Lean_IR_LiveVars_bindParams(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Compiler_IR_LiveVars_0__Lean_IR_LiveVars_bindParams___spec__1(lean_object*, size_t, size_t, lean_object*); lean_object* l_Lean_IR_LocalContext_getJPBody(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_fold___at___private_Lean_Compiler_IR_LiveVars_0__Lean_IR_LiveVars_accumulate___spec__1___boxed(lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Compiler/IR/NormIds.c b/stage0/stdlib/Lean/Compiler/IR/NormIds.c index 467e068025..0e9f9d9e05 100644 --- a/stage0/stdlib/Lean/Compiler/IR/NormIds.c +++ b/stage0/stdlib/Lean/Compiler/IR/NormIds.c @@ -62,6 +62,7 @@ LEAN_EXPORT lean_object* l_Lean_IR_UniqueIds_checkId(lean_object*, lean_object*) uint8_t lean_nat_dec_le(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_NormalizeIds_normJP(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_NormalizeIds_instMonadLiftMN___rarg(lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_IR_UniqueIds_checkFnBody___spec__1(lean_object*, size_t, size_t, lean_object*); lean_object* l_Lean_IR_Decl_updateBody_x21(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_IR_NormalizeIds_normFnBody___spec__1(lean_object*, size_t, size_t, lean_object*); diff --git a/stage0/stdlib/Lean/Compiler/IR/RC.c b/stage0/stdlib/Lean/Compiler/IR/RC.c index 584d3fac36..01b6d9fce8 100644 --- a/stage0/stdlib/Lean/Compiler/IR/RC.c +++ b/stage0/stdlib/Lean/Compiler/IR/RC.c @@ -59,6 +59,7 @@ LEAN_EXPORT lean_object* l_Lean_IR_explicitRC(lean_object*, lean_object*, lean_o static lean_object* l_Lean_IR_ExplicitRC_getDecl___closed__3; LEAN_EXPORT lean_object* l_Lean_IR_ExplicitRC_Context_localCtx___default; uint8_t lean_usize_dec_lt(size_t, size_t); +static uint8_t l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_processVDecl___closed__1; uint8_t l_Lean_IR_IRType_isObj(lean_object*); LEAN_EXPORT lean_object* l_Nat_foldAux___at___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addIncBeforeAux___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); @@ -126,6 +127,7 @@ LEAN_EXPORT uint8_t l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_consum LEAN_EXPORT lean_object* l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_isPersistent___boxed(lean_object*); LEAN_EXPORT uint8_t l_Lean_IR_ExplicitRC_mustConsume(lean_object*, lean_object*); lean_object* l_Lean_IR_mkLiveVarSet(lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_insert___at___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_updateRefUsingCtorInfo___spec__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_ins___at___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_updateRefUsingCtorInfo___spec__2(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_IR_Decl_updateBody_x21(lean_object*, lean_object*); @@ -4641,6 +4643,16 @@ lean_dec(x_4); return x_5; } } +static uint8_t _init_l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_processVDecl___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; +x_1 = lean_unsigned_to_nat(1u); +x_2 = lean_unsigned_to_nat(0u); +x_3 = lean_nat_dec_eq(x_1, x_2); +return x_3; +} +} LEAN_EXPORT lean_object* l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_processVDecl(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: { @@ -4724,186 +4736,208 @@ return x_26; } else { -lean_object* x_27; uint8_t x_28; lean_object* x_29; uint8_t x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_27 = l_Lean_IR_ExplicitRC_getVarInfo(x_1, x_2); -x_28 = lean_ctor_get_uint8(x_27, 1); -lean_dec(x_27); -x_29 = lean_unsigned_to_nat(1u); -x_30 = 1; +uint8_t x_27; +x_27 = l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_processVDecl___closed__1; +if (x_27 == 0) +{ +lean_object* x_28; uint8_t 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; +x_28 = l_Lean_IR_ExplicitRC_getVarInfo(x_1, x_2); +x_29 = lean_ctor_get_uint8(x_28, 1); +lean_dec(x_28); +x_30 = lean_unsigned_to_nat(1u); +x_31 = 1; lean_inc(x_2); -x_31 = lean_alloc_ctor(6, 3, 2); -lean_ctor_set(x_31, 0, x_2); -lean_ctor_set(x_31, 1, x_29); -lean_ctor_set(x_31, 2, x_21); -lean_ctor_set_uint8(x_31, sizeof(void*)*3, x_30); -lean_ctor_set_uint8(x_31, sizeof(void*)*3 + 1, x_28); -lean_inc(x_2); -x_32 = lean_alloc_ctor(0, 4, 0); +x_32 = lean_alloc_ctor(6, 3, 2); lean_ctor_set(x_32, 0, x_2); -lean_ctor_set(x_32, 1, x_3); -lean_ctor_set(x_32, 2, x_4); -lean_ctor_set(x_32, 3, x_31); -x_33 = l_Std_RBNode_erase___at___private_Lean_Compiler_IR_LiveVars_0__Lean_IR_LiveVars_bindVar___spec__1(x_2, x_7); +lean_ctor_set(x_32, 1, x_30); +lean_ctor_set(x_32, 2, x_21); +lean_ctor_set_uint8(x_32, sizeof(void*)*3, x_31); +lean_ctor_set_uint8(x_32, sizeof(void*)*3 + 1, x_29); +lean_inc(x_2); +x_33 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_33, 0, x_2); +lean_ctor_set(x_33, 1, x_3); +lean_ctor_set(x_33, 2, x_4); +lean_ctor_set(x_33, 3, x_32); +x_34 = l_Std_RBNode_erase___at___private_Lean_Compiler_IR_LiveVars_0__Lean_IR_LiveVars_bindVar___spec__1(x_2, x_7); lean_dec(x_2); -x_34 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return 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_34); +return x_35; +} +else +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; +lean_dec(x_1); +lean_inc(x_2); +x_36 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_36, 0, x_2); +lean_ctor_set(x_36, 1, x_3); +lean_ctor_set(x_36, 2, x_4); +lean_ctor_set(x_36, 3, x_21); +x_37 = l_Std_RBNode_erase___at___private_Lean_Compiler_IR_LiveVars_0__Lean_IR_LiveVars_bindVar___spec__1(x_2, x_7); +lean_dec(x_2); +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; +} } } case 4: { -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_4, 1); -lean_inc(x_35); -x_36 = l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addDecIfNeeded(x_1, x_35, x_5, x_6); +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_4, 1); +lean_inc(x_39); +x_40 = l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addDecIfNeeded(x_1, x_39, x_5, x_6); lean_dec(x_6); lean_inc(x_2); -x_37 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_37, 0, x_2); -lean_ctor_set(x_37, 1, x_3); -lean_ctor_set(x_37, 2, x_4); -lean_ctor_set(x_37, 3, x_36); -x_38 = l_Std_RBNode_erase___at___private_Lean_Compiler_IR_LiveVars_0__Lean_IR_LiveVars_bindVar___spec__1(x_2, x_7); +x_41 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_41, 0, x_2); +lean_ctor_set(x_41, 1, x_3); +lean_ctor_set(x_41, 2, x_4); +lean_ctor_set(x_41, 3, x_40); +x_42 = l_Std_RBNode_erase___at___private_Lean_Compiler_IR_LiveVars_0__Lean_IR_LiveVars_bindVar___spec__1(x_2, x_7); lean_dec(x_2); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_37); -lean_ctor_set(x_39, 1, x_38); -return x_39; +x_43 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_43, 0, x_41); +lean_ctor_set(x_43, 1, x_42); +return x_43; } case 5: { -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_4, 2); -lean_inc(x_40); -x_41 = l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addDecIfNeeded(x_1, x_40, x_5, x_6); +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_4, 2); +lean_inc(x_44); +x_45 = l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addDecIfNeeded(x_1, x_44, x_5, x_6); lean_dec(x_6); lean_inc(x_2); -x_42 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_42, 0, x_2); -lean_ctor_set(x_42, 1, x_3); -lean_ctor_set(x_42, 2, x_4); -lean_ctor_set(x_42, 3, x_41); -x_43 = l_Std_RBNode_erase___at___private_Lean_Compiler_IR_LiveVars_0__Lean_IR_LiveVars_bindVar___spec__1(x_2, x_7); +x_46 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_46, 0, x_2); +lean_ctor_set(x_46, 1, x_3); +lean_ctor_set(x_46, 2, x_4); +lean_ctor_set(x_46, 3, x_45); +x_47 = l_Std_RBNode_erase___at___private_Lean_Compiler_IR_LiveVars_0__Lean_IR_LiveVars_bindVar___spec__1(x_2, x_7); lean_dec(x_2); -x_44 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_44, 0, x_42); -lean_ctor_set(x_44, 1, x_43); -return x_44; +x_48 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_47); +return x_48; } case 6: { -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_45 = lean_ctor_get(x_4, 0); -lean_inc(x_45); -x_46 = lean_ctor_get(x_4, 1); -lean_inc(x_46); -x_47 = l_Lean_IR_ExplicitRC_getDecl(x_1, x_45); -x_48 = l_Lean_IR_Decl_params(x_47); -lean_dec(x_47); +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; +x_49 = lean_ctor_get(x_4, 0); +lean_inc(x_49); +x_50 = lean_ctor_get(x_4, 1); +lean_inc(x_50); +x_51 = l_Lean_IR_ExplicitRC_getDecl(x_1, x_49); +x_52 = l_Lean_IR_Decl_params(x_51); +lean_dec(x_51); lean_inc(x_6); -lean_inc(x_48); +lean_inc(x_52); lean_inc(x_1); -x_49 = l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addDecAfterFullApp(x_1, x_46, x_48, x_5, x_6); +x_53 = l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addDecAfterFullApp(x_1, x_50, x_52, x_5, x_6); lean_inc(x_2); -x_50 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_50, 0, x_2); -lean_ctor_set(x_50, 1, x_3); -lean_ctor_set(x_50, 2, x_4); -lean_ctor_set(x_50, 3, x_49); -x_51 = l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addIncBefore(x_1, x_46, x_48, x_50, x_6); -lean_dec(x_46); -x_52 = l_Std_RBNode_erase___at___private_Lean_Compiler_IR_LiveVars_0__Lean_IR_LiveVars_bindVar___spec__1(x_2, x_7); +x_54 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_54, 0, x_2); +lean_ctor_set(x_54, 1, x_3); +lean_ctor_set(x_54, 2, x_4); +lean_ctor_set(x_54, 3, x_53); +x_55 = l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addIncBefore(x_1, x_50, x_52, x_54, x_6); +lean_dec(x_50); +x_56 = l_Std_RBNode_erase___at___private_Lean_Compiler_IR_LiveVars_0__Lean_IR_LiveVars_bindVar___spec__1(x_2, x_7); lean_dec(x_2); -x_53 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_53, 0, x_51); -lean_ctor_set(x_53, 1, x_52); -return x_53; +x_57 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_57, 0, x_55); +lean_ctor_set(x_57, 1, x_56); +return x_57; } case 7: { -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_54 = lean_ctor_get(x_4, 1); -lean_inc(x_54); +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_58 = lean_ctor_get(x_4, 1); +lean_inc(x_58); lean_inc(x_2); -x_55 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_55, 0, x_2); -lean_ctor_set(x_55, 1, x_3); -lean_ctor_set(x_55, 2, x_4); -lean_ctor_set(x_55, 3, x_5); -x_56 = l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addIncBeforeConsumeAll___closed__1; -x_57 = l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addIncBeforeAux(x_1, x_54, x_56, x_55, x_6); -lean_dec(x_54); -x_58 = l_Std_RBNode_erase___at___private_Lean_Compiler_IR_LiveVars_0__Lean_IR_LiveVars_bindVar___spec__1(x_2, x_7); +x_59 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_59, 0, x_2); +lean_ctor_set(x_59, 1, x_3); +lean_ctor_set(x_59, 2, x_4); +lean_ctor_set(x_59, 3, x_5); +x_60 = l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addIncBeforeConsumeAll___closed__1; +x_61 = l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addIncBeforeAux(x_1, x_58, x_60, x_59, x_6); +lean_dec(x_58); +x_62 = l_Std_RBNode_erase___at___private_Lean_Compiler_IR_LiveVars_0__Lean_IR_LiveVars_bindVar___spec__1(x_2, x_7); lean_dec(x_2); -x_59 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_59, 0, x_57); -lean_ctor_set(x_59, 1, x_58); -return x_59; +x_63 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_63, 0, x_61); +lean_ctor_set(x_63, 1, x_62); +return x_63; } case 8: { -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_60 = lean_ctor_get(x_4, 0); -lean_inc(x_60); -x_61 = lean_ctor_get(x_4, 1); -lean_inc(x_61); -x_62 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_62, 0, x_60); -x_63 = lean_array_push(x_61, x_62); +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_4, 0); +lean_inc(x_64); +x_65 = lean_ctor_get(x_4, 1); +lean_inc(x_65); +x_66 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_66, 0, x_64); +x_67 = lean_array_push(x_65, x_66); lean_inc(x_2); -x_64 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_64, 0, x_2); -lean_ctor_set(x_64, 1, x_3); -lean_ctor_set(x_64, 2, x_4); -lean_ctor_set(x_64, 3, x_5); -x_65 = l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addIncBeforeConsumeAll___closed__1; -x_66 = l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addIncBeforeAux(x_1, x_63, x_65, x_64, x_6); -lean_dec(x_63); -x_67 = l_Std_RBNode_erase___at___private_Lean_Compiler_IR_LiveVars_0__Lean_IR_LiveVars_bindVar___spec__1(x_2, x_7); +x_68 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_68, 0, x_2); +lean_ctor_set(x_68, 1, x_3); +lean_ctor_set(x_68, 2, x_4); +lean_ctor_set(x_68, 3, x_5); +x_69 = l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addIncBeforeConsumeAll___closed__1; +x_70 = l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addIncBeforeAux(x_1, x_67, x_69, x_68, x_6); +lean_dec(x_67); +x_71 = l_Std_RBNode_erase___at___private_Lean_Compiler_IR_LiveVars_0__Lean_IR_LiveVars_bindVar___spec__1(x_2, x_7); lean_dec(x_2); -x_68 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_68, 0, x_66); -lean_ctor_set(x_68, 1, x_67); -return x_68; +x_72 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_72, 0, x_70); +lean_ctor_set(x_72, 1, x_71); +return x_72; } case 10: { -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_4, 0); -lean_inc(x_69); -x_70 = l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addDecIfNeeded(x_1, x_69, x_5, x_6); +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_4, 0); +lean_inc(x_73); +x_74 = l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addDecIfNeeded(x_1, x_73, x_5, x_6); lean_dec(x_6); lean_inc(x_2); -x_71 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_71, 0, x_2); -lean_ctor_set(x_71, 1, x_3); -lean_ctor_set(x_71, 2, x_4); -lean_ctor_set(x_71, 3, x_70); -x_72 = l_Std_RBNode_erase___at___private_Lean_Compiler_IR_LiveVars_0__Lean_IR_LiveVars_bindVar___spec__1(x_2, x_7); +x_75 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_75, 0, x_2); +lean_ctor_set(x_75, 1, x_3); +lean_ctor_set(x_75, 2, x_4); +lean_ctor_set(x_75, 3, x_74); +x_76 = l_Std_RBNode_erase___at___private_Lean_Compiler_IR_LiveVars_0__Lean_IR_LiveVars_bindVar___spec__1(x_2, x_7); lean_dec(x_2); -x_73 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_73, 0, x_71); -lean_ctor_set(x_73, 1, x_72); -return x_73; +x_77 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_77, 0, x_75); +lean_ctor_set(x_77, 1, x_76); +return x_77; } default: { -lean_object* x_74; lean_object* x_75; lean_object* x_76; +lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_dec(x_6); lean_dec(x_1); lean_inc(x_2); -x_74 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_74, 0, x_2); -lean_ctor_set(x_74, 1, x_3); -lean_ctor_set(x_74, 2, x_4); -lean_ctor_set(x_74, 3, x_5); -x_75 = l_Std_RBNode_erase___at___private_Lean_Compiler_IR_LiveVars_0__Lean_IR_LiveVars_bindVar___spec__1(x_2, x_7); +x_78 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_78, 0, x_2); +lean_ctor_set(x_78, 1, x_3); +lean_ctor_set(x_78, 2, x_4); +lean_ctor_set(x_78, 3, x_5); +x_79 = l_Std_RBNode_erase___at___private_Lean_Compiler_IR_LiveVars_0__Lean_IR_LiveVars_bindVar___spec__1(x_2, x_7); lean_dec(x_2); -x_76 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_76, 0, x_74); -lean_ctor_set(x_76, 1, x_75); -return x_76; +x_80 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_80, 0, x_78); +lean_ctor_set(x_80, 1, x_79); +return x_80; } } } @@ -5793,88 +5827,103 @@ uint8_t x_169; x_169 = lean_ctor_get_uint8(x_165, 2); if (x_169 == 0) { -uint8_t x_170; lean_object* x_171; uint8_t x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; -x_170 = lean_ctor_get_uint8(x_165, 1); -lean_dec(x_165); -x_171 = lean_unsigned_to_nat(1u); -x_172 = 1; +lean_object* x_170; uint8_t x_171; lean_inc(x_164); -x_173 = lean_alloc_ctor(6, 3, 2); -lean_ctor_set(x_173, 0, x_164); -lean_ctor_set(x_173, 1, x_171); -lean_ctor_set(x_173, 2, x_1); -lean_ctor_set_uint8(x_173, sizeof(void*)*3, x_172); -lean_ctor_set_uint8(x_173, sizeof(void*)*3 + 1, x_170); -x_174 = l_Lean_IR_mkLiveVarSet(x_164); -x_175 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_175, 0, x_173); -lean_ctor_set(x_175, 1, x_174); -return x_175; +x_170 = l_Lean_IR_mkLiveVarSet(x_164); +x_171 = l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_processVDecl___closed__1; +if (x_171 == 0) +{ +uint8_t x_172; lean_object* x_173; uint8_t x_174; lean_object* x_175; lean_object* x_176; +x_172 = lean_ctor_get_uint8(x_165, 1); +lean_dec(x_165); +x_173 = lean_unsigned_to_nat(1u); +x_174 = 1; +x_175 = lean_alloc_ctor(6, 3, 2); +lean_ctor_set(x_175, 0, x_164); +lean_ctor_set(x_175, 1, x_173); +lean_ctor_set(x_175, 2, x_1); +lean_ctor_set_uint8(x_175, sizeof(void*)*3, x_174); +lean_ctor_set_uint8(x_175, sizeof(void*)*3 + 1, x_172); +x_176 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_176, 0, x_175); +lean_ctor_set(x_176, 1, x_170); +return x_176; } else { -lean_object* x_176; lean_object* x_177; +lean_object* x_177; lean_dec(x_165); -x_176 = l_Lean_IR_mkLiveVarSet(x_164); +lean_dec(x_164); x_177 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_177, 0, x_1); -lean_ctor_set(x_177, 1, x_176); +lean_ctor_set(x_177, 1, x_170); return x_177; } } -} else { lean_object* x_178; lean_object* x_179; -lean_dec(x_2); -x_178 = lean_box(0); +lean_dec(x_165); +x_178 = l_Lean_IR_mkLiveVarSet(x_164); x_179 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_179, 0, x_1); lean_ctor_set(x_179, 1, x_178); return x_179; } } +} +else +{ +lean_object* x_180; lean_object* x_181; +lean_dec(x_2); +x_180 = lean_box(0); +x_181 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_181, 0, x_1); +lean_ctor_set(x_181, 1, x_180); +return x_181; +} +} case 12: { -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; -x_180 = lean_ctor_get(x_1, 0); -lean_inc(x_180); -x_181 = lean_ctor_get(x_1, 1); -lean_inc(x_181); -x_182 = l_Lean_IR_ExplicitRC_getJPLiveVars(x_2, x_180); +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_182 = lean_ctor_get(x_1, 0); +lean_inc(x_182); +x_183 = lean_ctor_get(x_1, 1); +lean_inc(x_183); +x_184 = l_Lean_IR_ExplicitRC_getJPLiveVars(x_2, x_182); lean_inc(x_2); -x_183 = l_Lean_IR_ExplicitRC_getJPParams(x_2, x_180); -lean_dec(x_180); +x_185 = l_Lean_IR_ExplicitRC_getJPParams(x_2, x_182); +lean_dec(x_182); lean_inc(x_2); -x_184 = l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addIncBefore(x_2, x_181, x_183, x_1, x_182); -lean_dec(x_181); -x_185 = lean_ctor_get(x_2, 3); -lean_inc(x_185); +x_186 = l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addIncBefore(x_2, x_183, x_185, x_1, x_184); +lean_dec(x_183); +x_187 = lean_ctor_get(x_2, 3); +lean_inc(x_187); lean_dec(x_2); -x_186 = lean_box(0); -lean_inc(x_184); -x_187 = l_Lean_IR_LiveVars_collectFnBody(x_184, x_185, x_186); -x_188 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_188, 0, x_184); -lean_ctor_set(x_188, 1, x_187); -return x_188; +x_188 = lean_box(0); +lean_inc(x_186); +x_189 = l_Lean_IR_LiveVars_collectFnBody(x_186, x_187, x_188); +x_190 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_190, 0, x_186); +lean_ctor_set(x_190, 1, x_189); +return x_190; } case 13: { -lean_object* x_189; +lean_object* x_191; lean_dec(x_2); -x_189 = l_Lean_IR_ExplicitRC_visitFnBody___closed__1; -return x_189; +x_191 = l_Lean_IR_ExplicitRC_visitFnBody___closed__1; +return x_191; } default: { -lean_object* x_190; lean_object* x_191; +lean_object* x_192; lean_object* x_193; lean_dec(x_2); -x_190 = lean_box(0); -x_191 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_191, 0, x_1); -lean_ctor_set(x_191, 1, x_190); -return x_191; +x_192 = lean_box(0); +x_193 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_193, 0, x_1); +lean_ctor_set(x_193, 1, x_192); +return x_193; } } } @@ -6075,6 +6124,7 @@ l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addDecForAlt___closed__1 = lean_mark_persistent(l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addDecForAlt___closed__1); l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addIncBeforeConsumeAll___closed__1 = _init_l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addIncBeforeConsumeAll___closed__1(); lean_mark_persistent(l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_addIncBeforeConsumeAll___closed__1); +l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_processVDecl___closed__1 = _init_l___private_Lean_Compiler_IR_RC_0__Lean_IR_ExplicitRC_processVDecl___closed__1(); l_Lean_IR_ExplicitRC_visitFnBody___closed__1 = _init_l_Lean_IR_ExplicitRC_visitFnBody___closed__1(); lean_mark_persistent(l_Lean_IR_ExplicitRC_visitFnBody___closed__1); return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Compiler/IR/ResetReuse.c b/stage0/stdlib/Lean/Compiler/IR/ResetReuse.c index b7fa868c7b..4d2f79f47c 100644 --- a/stage0/stdlib/Lean/Compiler/IR/ResetReuse.c +++ b/stage0/stdlib/Lean/Compiler/IR/ResetReuse.c @@ -30,7 +30,6 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_IR_ResetReuse_R___spec LEAN_EXPORT lean_object* l___private_Lean_Compiler_IR_ResetReuse_0__Lean_IR_ResetReuse_Dmain___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_Decl_insertResetReuse(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_IR_ResetReuse_0__Lean_IR_ResetReuse_isCtorUsing___boxed(lean_object*, lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_IR_LocalContext_addJP(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_IR_ResetReuse_0__Lean_IR_ResetReuse_Dmain(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_IR_FnBody_isTerminal(lean_object*); @@ -56,6 +55,7 @@ LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Compiler_IR_Reset lean_object* l_Lean_IR_FnBody_hasLiveVar(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_IR_HasIndex_visitFnBody(lean_object*, lean_object*); lean_object* l_Lean_Name_getPrefix(lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_IR_Decl_updateBody_x21(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Compiler_IR_ResetReuse_0__Lean_IR_ResetReuse_Dmain___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_ResetReuse_R(lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Compiler/IR/SimpCase.c b/stage0/stdlib/Lean/Compiler/IR/SimpCase.c index 5be17819c7..95c240d661 100644 --- a/stage0/stdlib/Lean/Compiler/IR/SimpCase.c +++ b/stage0/stdlib/Lean/Compiler/IR/SimpCase.c @@ -14,6 +14,7 @@ extern "C" { #endif size_t lean_usize_add(size_t, size_t); +LEAN_EXPORT lean_object* l___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_filterUnreachable(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_mkSimpCase___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_addDefault___boxed(lean_object*); @@ -23,17 +24,17 @@ lean_object* lean_array_uget(lean_object*, size_t); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_getOccsOf___spec__1(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_Array_foldlMUnsafe_fold___at___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_addDefault___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_filterUnreachable___boxed(lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_filterUnreachable___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_usize_dec_lt(size_t, size_t); -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_mkSimpCase___spec__1(lean_object*, size_t, size_t, lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_maxOccs___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_IR_AltCore_body(lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_getOccsOf___spec__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___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_mkSimpCase___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_IR_FnBody_simpCase___spec__2(size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_maxOccs(lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_IR_ensureHasDefault___spec__1(lean_object*, size_t, size_t); @@ -49,12 +50,14 @@ LEAN_EXPORT lean_object* l___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_mkSimp LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_IR_FnBody_simpCase___spec__2___boxed(lean_object*, lean_object*, lean_object*); size_t lean_usize_of_nat(lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_ensureHasDefault(lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_filterUnreachable___spec__1(lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_FnBody_simpCase(lean_object*); LEAN_EXPORT lean_object* l_Lean_IR_Decl_simpCase(lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); lean_object* l_Lean_IR_FnBody_flatten(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_addDefault(lean_object*); lean_object* l_Lean_IR_reshape(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_IR_FnBody_simpCase___spec__1(size_t, size_t, lean_object*); lean_object* l_Lean_IR_Decl_updateBody_x21(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_getOccsOf___boxed(lean_object*, lean_object*); @@ -657,7 +660,7 @@ lean_dec(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_mkSimpCase___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___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_filterUnreachable___spec__1(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { _start: { uint8_t x_5; @@ -692,48 +695,71 @@ return x_4; } } } +LEAN_EXPORT lean_object* l___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_filterUnreachable(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; uint8_t x_4; +x_2 = lean_array_get_size(x_1); +x_3 = lean_unsigned_to_nat(0u); +x_4 = lean_nat_dec_lt(x_3, x_2); +if (x_4 == 0) +{ +lean_object* x_5; +lean_dec(x_2); +x_5 = l___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_addDefault___closed__1; +return x_5; +} +else +{ +uint8_t x_6; +x_6 = lean_nat_dec_le(x_2, x_2); +if (x_6 == 0) +{ +lean_object* x_7; +lean_dec(x_2); +x_7 = l___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_addDefault___closed__1; +return x_7; +} +else +{ +size_t x_8; size_t x_9; lean_object* x_10; lean_object* x_11; +x_8 = 0; +x_9 = lean_usize_of_nat(x_2); +lean_dec(x_2); +x_10 = l___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_addDefault___closed__1; +x_11 = l_Array_foldlMUnsafe_fold___at___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_filterUnreachable___spec__1(x_1, x_8, x_9, x_10); +return x_11; +} +} +} +} +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_filterUnreachable___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +size_t x_5; size_t x_6; lean_object* x_7; +x_5 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_6 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_7 = l_Array_foldlMUnsafe_fold___at___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_filterUnreachable___spec__1(x_1, x_5, x_6, x_4); +lean_dec(x_1); +return x_7; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_filterUnreachable___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_filterUnreachable(x_1); +lean_dec(x_1); +return x_2; +} +} LEAN_EXPORT lean_object* l___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_mkSimpCase(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { -lean_object* x_5; lean_object* x_18; lean_object* x_19; uint8_t x_20; -x_18 = lean_array_get_size(x_4); -x_19 = lean_unsigned_to_nat(0u); -x_20 = lean_nat_dec_lt(x_19, x_18); -if (x_20 == 0) -{ -lean_object* x_21; -lean_dec(x_18); -x_21 = l___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_addDefault___closed__1; -x_5 = x_21; -goto block_17; -} -else -{ -uint8_t x_22; -x_22 = lean_nat_dec_le(x_18, x_18); -if (x_22 == 0) -{ -lean_object* x_23; -lean_dec(x_18); -x_23 = l___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_addDefault___closed__1; -x_5 = x_23; -goto block_17; -} -else -{ -size_t x_24; size_t x_25; lean_object* x_26; lean_object* x_27; -x_24 = 0; -x_25 = lean_usize_of_nat(x_18); -lean_dec(x_18); -x_26 = l___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_addDefault___closed__1; -x_27 = l_Array_foldlMUnsafe_fold___at___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_mkSimpCase___spec__1(x_4, x_24, x_25, x_26); -x_5 = x_27; -goto block_17; -} -} -block_17: -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9; +lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9; +x_5 = l___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_filterUnreachable(x_4); x_6 = l___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_addDefault(x_5); lean_dec(x_5); x_7 = lean_array_get_size(x_6); @@ -782,20 +808,6 @@ return x_16; } } } -} -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_mkSimpCase___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -size_t x_5; size_t x_6; lean_object* x_7; -x_5 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_6 = lean_unbox_usize(x_3); -lean_dec(x_3); -x_7 = l_Array_foldlMUnsafe_fold___at___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_mkSimpCase___spec__1(x_1, x_5, x_6, x_4); -lean_dec(x_1); -return x_7; -} -} LEAN_EXPORT lean_object* l___private_Lean_Compiler_IR_SimpCase_0__Lean_IR_mkSimpCase___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { diff --git a/stage0/stdlib/Lean/Compiler/InlineAttrs.c b/stage0/stdlib/Lean/Compiler/InlineAttrs.c index 79d7825250..3cf44964cd 100644 --- a/stage0/stdlib/Lean/Compiler/InlineAttrs.c +++ b/stage0/stdlib/Lean/Compiler/InlineAttrs.c @@ -45,7 +45,6 @@ uint8_t lean_is_eager_lambda_lifting_name(lean_object*); static lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_30____closed__22; LEAN_EXPORT lean_object* l_Lean_Compiler_inlineAttrs; LEAN_EXPORT lean_object* l_Lean_Compiler_InlineAttributeKind_noConfusion___rarg___lambda__1___boxed(lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_30____closed__25; LEAN_EXPORT lean_object* l_Lean_Compiler_hasInlineAttribute___boxed(lean_object*, lean_object*); uint8_t l_Lean_Name_isInternal(lean_object*); @@ -68,6 +67,7 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_setInlineAttribute___boxed(lean_object* static lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_30____closed__11; static lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_30____closed__19; lean_object* l_Lean_Name_getPrefix(lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT uint8_t lean_has_inline_if_reduce_attribute(lean_object*, lean_object*); lean_object* l_Lean_EnumAttributes_getValue___rarg(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_30____closed__26; diff --git a/stage0/stdlib/Lean/Compiler/Specialize.c b/stage0/stdlib/Lean/Compiler/Specialize.c index 711c4f4223..cd6e29d9ff 100644 --- a/stage0/stdlib/Lean/Compiler/Specialize.c +++ b/stage0/stdlib/Lean/Compiler/Specialize.c @@ -73,7 +73,6 @@ lean_object* lean_array_fget(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Compiler_SpecState_addEntry___spec__20(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_specExtension; LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_Compiler_SpecState_addEntry___spec__19(lean_object*, lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_find_x3f___at_Lean_Compiler_getCachedSpecialization___spec__2(lean_object*, lean_object*); static lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_30____closed__2; LEAN_EXPORT uint8_t l_Lean_Compiler_instInhabitedSpecializeAttributeKind; @@ -151,6 +150,7 @@ lean_object* lean_nat_mul(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_30____lambda__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_getPrefix(lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAux___at_Lean_Compiler_getCachedSpecialization___spec__3(lean_object*, size_t, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAux___at_Lean_Compiler_getSpecializationInfo___spec__3___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_30____closed__13; LEAN_EXPORT lean_object* lean_get_cached_specialization(lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/CoreM.c b/stage0/stdlib/Lean/CoreM.c index cbb87277bb..8b967b780c 100644 --- a/stage0/stdlib/Lean/CoreM.c +++ b/stage0/stdlib/Lean/CoreM.c @@ -89,7 +89,6 @@ static lean_object* l_Lean_Core_instMonadCoreM___closed__1; LEAN_EXPORT lean_object* l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Core_instMonadResolveNameCoreM___lambda__2___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Core_State_traceState___default___closed__4; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Core_instInhabitedCoreM___rarg(lean_object*); static lean_object* l_Lean_Core_State_traceState___default___closed__3; lean_object* l_Lean_MessageData_toString(lean_object*, lean_object*); @@ -202,6 +201,7 @@ LEAN_EXPORT lean_object* l_Lean_Core_CoreM_toIO(lean_object*); lean_object* lean_nat_mul(lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Core_instMonadNameGeneratorCoreM___lambda__1(lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Core_instInhabitedState___closed__9; lean_object* l_IO_println___at_Lean_instEval__1___spec__1(lean_object*, lean_object*); static lean_object* l_Lean_Core_instInhabitedState___closed__4; diff --git a/stage0/stdlib/Lean/Data/Json/Basic.c b/stage0/stdlib/Lean/Data/Json/Basic.c index ca20fa989a..3cf4366bc7 100644 --- a/stage0/stdlib/Lean/Data/Json/Basic.c +++ b/stage0/stdlib/Lean/Data/Json/Basic.c @@ -143,6 +143,7 @@ lean_object* lean_nat_mul(lean_object*, lean_object*); lean_object* lean_nat_abs(lean_object*); LEAN_EXPORT uint8_t l_Lean_JsonNumber_lt(lean_object*, lean_object*); lean_object* lean_int_div(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_JsonNumber_toString___closed__4; static lean_object* l_Lean_Json_getObjVal_x3f___closed__1; LEAN_EXPORT lean_object* l_Lean_JsonNumber_instOrdJsonNumber___boxed(lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Data/Json/FromToJson.c b/stage0/stdlib/Lean/Data/Json/FromToJson.c index b67d0b3706..e084a0aaba 100644 --- a/stage0/stdlib/Lean/Data/Json/FromToJson.c +++ b/stage0/stdlib/Lean/Data/Json/FromToJson.c @@ -112,6 +112,7 @@ lean_object* l_Lean_Json_getBool_x3f___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_instToJsonJsonNumber(lean_object*); LEAN_EXPORT lean_object* l_Lean_instFromJsonUSize___lambda__1(lean_object*, lean_object*); lean_object* l_Lean_Json_pretty(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); extern lean_object* l_USize_size; LEAN_EXPORT lean_object* l_Lean_instFromJsonArray(lean_object*); lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Data/JsonRpc.c b/stage0/stdlib/Lean/Data/JsonRpc.c index 62dec00e51..ac085b7a5c 100644 --- a/stage0/stdlib/Lean/Data/JsonRpc.c +++ b/stage0/stdlib/Lean/Data/JsonRpc.c @@ -172,6 +172,7 @@ static lean_object* l_Lean_JsonRpc_instToJsonMessage___closed__8; lean_object* l_Lean_Json_pretty(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_JsonRpc_instInhabitedRequest___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_JsonRpc_instFromJsonNotification(lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_JsonRpc_instFromJsonMessage(lean_object*); LEAN_EXPORT lean_object* l_IO_FS_Stream_writeNotification(lean_object*); static lean_object* l_IO_FS_Stream_readRequestAs___closed__1; diff --git a/stage0/stdlib/Lean/Data/KVMap.c b/stage0/stdlib/Lean/Data/KVMap.c index 9a395fdb21..12a47b52ce 100644 --- a/stage0/stdlib/Lean/Data/KVMap.c +++ b/stage0/stdlib/Lean/Data/KVMap.c @@ -92,7 +92,6 @@ LEAN_EXPORT lean_object* l_Lean_KVMap_getSyntax___boxed(lean_object*, lean_objec static lean_object* l_Lean_KVMap_instValueNat___closed__3; static lean_object* l_Lean_instInhabitedDataValue___closed__2; static lean_object* l_Lean_instReprDataValue___closed__1; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_KVMap_instValueString___closed__3; LEAN_EXPORT lean_object* l_Lean_KVMap_getBool___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_instCoeNameDataValue(lean_object*); @@ -205,6 +204,7 @@ lean_object* lean_nat_abs(lean_object*); static lean_object* l___private_Lean_Data_KVMap_0__Lean_reprDataValue____x40_Lean_Data_KVMap___hyg_255____closed__16; LEAN_EXPORT lean_object* l_Lean_KVMap_instValueSyntax; LEAN_EXPORT lean_object* l_Lean_KVMap_instValueName___lambda__1(lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_KVMap_instValueInt___closed__1; LEAN_EXPORT uint8_t lean_data_value_beq(lean_object*, lean_object*); static lean_object* l___private_Lean_Data_KVMap_0__Lean_reprKVMap____x40_Lean_Data_KVMap___hyg_844____closed__9; diff --git a/stage0/stdlib/Lean/Data/LBool.c b/stage0/stdlib/Lean/Data/LBool.c index 8711f130a4..b331c36252 100644 --- a/stage0/stdlib/Lean/Data/LBool.c +++ b/stage0/stdlib/Lean/Data/LBool.c @@ -24,7 +24,6 @@ LEAN_EXPORT lean_object* l_Lean_LBool_toString___boxed(lean_object*); static lean_object* l_Lean_LBool_toString___closed__2; LEAN_EXPORT lean_object* l_toLBoolM(lean_object*); LEAN_EXPORT lean_object* l_Lean_LBool_noConfusion___rarg___lambda__1___boxed(lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_LBool_noConfusion___rarg___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_LBool_and(uint8_t, uint8_t); static lean_object* l_Lean_LBool_toString___closed__3; @@ -40,6 +39,7 @@ LEAN_EXPORT lean_object* l_Lean_instBEqLBool; LEAN_EXPORT uint8_t l_Lean_LBool_neg(uint8_t); LEAN_EXPORT uint8_t l_Bool_toLBool(uint8_t); static lean_object* l_Lean_LBool_toString___closed__1; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Data_LBool_0__Lean_beqLBool____x40_Lean_Data_LBool___hyg_13____boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_LBool_noConfusion___rarg(uint8_t, uint8_t, lean_object*); LEAN_EXPORT lean_object* l_toLBoolM___rarg(lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Data/Lsp/Basic.c b/stage0/stdlib/Lean/Data/Lsp/Basic.c index e59dcd8c23..5d418a6713 100644 --- a/stage0/stdlib/Lean/Data/Lsp/Basic.c +++ b/stage0/stdlib/Lean/Data/Lsp/Basic.c @@ -256,6 +256,7 @@ static lean_object* l_Lean_Lsp_instToJsonVersionedTextDocumentIdentifier___close static lean_object* l_Lean_Lsp_instFromJsonCancelParams___closed__1; LEAN_EXPORT lean_object* l_Lean_Json_getObjValAs_x3f___at___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_fromJsonLocation____x40_Lean_Data_Lsp_Basic___hyg_923____spec__1___boxed(lean_object*, lean_object*); lean_object* l_Lean_Json_pretty(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_toJsonDocumentFilter____x40_Lean_Data_Lsp_Basic___hyg_2051_(lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_fromJsonCommand____x40_Lean_Data_Lsp_Basic___hyg_1228____spec__2___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_fromJsonVersionedTextDocumentIdentifier____x40_Lean_Data_Lsp_Basic___hyg_1561____boxed(lean_object*); diff --git a/stage0/stdlib/Lean/Data/Lsp/Diagnostics.c b/stage0/stdlib/Lean/Data/Lsp/Diagnostics.c index c62a7bacdf..92b6f8305c 100644 --- a/stage0/stdlib/Lean/Data/Lsp/Diagnostics.c +++ b/stage0/stdlib/Lean/Data/Lsp/Diagnostics.c @@ -172,6 +172,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Data_Lsp_Diagnostics_0__Lean_Lsp_beqDi LEAN_EXPORT lean_object* l_Lean_Lsp_instInhabitedDiagnosticWith(lean_object*); lean_object* l_Lean_Json_pretty(lean_object*, lean_object*); static lean_object* l___private_Lean_Data_Lsp_Diagnostics_0__Lean_Lsp_toJsonDiagnosticWith____x40_Lean_Data_Lsp_Diagnostics___hyg_918____rarg___closed__5; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Json_opt___at___private_Lean_Data_Lsp_Diagnostics_0__Lean_Lsp_toJsonDiagnosticWith____x40_Lean_Data_Lsp_Diagnostics___hyg_918____spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Lsp_instToJsonDiagnosticWith___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_Lsp_DiagnosticWith_source_x3f___default; diff --git a/stage0/stdlib/Lean/Data/Lsp/Extra.c b/stage0/stdlib/Lean/Data/Lsp/Extra.c index 45a236ad21..6417f738b6 100644 --- a/stage0/stdlib/Lean/Data/Lsp/Extra.c +++ b/stage0/stdlib/Lean/Data/Lsp/Extra.c @@ -215,6 +215,7 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Data_Lsp_Ext LEAN_EXPORT lean_object* l_Lean_Json_getObjValAs_x3f___at___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonRpcCallParams____x40_Lean_Data_Lsp_Extra___hyg_1252____spec__1___boxed(lean_object*, lean_object*); lean_object* l_Lean_Json_pretty(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Lsp_instToJsonLeanFileProgressProcessingInfo; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); extern lean_object* l_USize_size; LEAN_EXPORT lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_toJsonRpcKeepAliveParams____x40_Lean_Data_Lsp_Extra___hyg_1647_(lean_object*); lean_object* l_Lean_Json_getObjValAs_x3f___at___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_fromJsonRange____x40_Lean_Data_Lsp_Basic___hyg_651____spec__1(lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Data/Name.c b/stage0/stdlib/Lean/Data/Name.c index 3cbe98b9cc..093e95d1e5 100644 --- a/stage0/stdlib/Lean/Data/Name.c +++ b/stage0/stdlib/Lean/Data/Name.c @@ -168,6 +168,7 @@ LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at_Lean_NameSSet_insert___spe 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_object* lean_name_mk_numeral(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*); diff --git a/stage0/stdlib/Lean/Data/Occurrences.c b/stage0/stdlib/Lean/Data/Occurrences.c index 7fab300314..55b733c8a7 100644 --- a/stage0/stdlib/Lean/Data/Occurrences.c +++ b/stage0/stdlib/Lean/Data/Occurrences.c @@ -16,7 +16,6 @@ extern "C" { static lean_object* l_Lean_instBEqOccurrences___closed__1; LEAN_EXPORT lean_object* l_Lean_Occurrences_contains___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_elem___at_Lean_Occurrences_contains___spec__1___boxed(lean_object*, lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_instBEqOccurrences; LEAN_EXPORT uint8_t l_Lean_Occurrences_contains(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_instInhabitedOccurrences; @@ -25,6 +24,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Data_Occurrences_0__Lean_beqOccurrence LEAN_EXPORT uint8_t l___private_Lean_Data_Occurrences_0__Lean_beqOccurrences____x40_Lean_Data_Occurrences___hyg_32_(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_List_beq___at___private_Lean_Data_Occurrences_0__Lean_beqOccurrences____x40_Lean_Data_Occurrences___hyg_32____spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_beq___at___private_Lean_Data_Occurrences_0__Lean_beqOccurrences____x40_Lean_Data_Occurrences___hyg_32____spec__1___boxed(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Occurrences_isAll___boxed(lean_object*); LEAN_EXPORT uint8_t l_Lean_Occurrences_isAll(lean_object*); static lean_object* _init_l_Lean_instInhabitedOccurrences() { diff --git a/stage0/stdlib/Lean/Data/Position.c b/stage0/stdlib/Lean/Data/Position.c index edfe704c9b..c4985ea1f5 100644 --- a/stage0/stdlib/Lean/Data/Position.c +++ b/stage0/stdlib/Lean/Data/Position.c @@ -82,6 +82,7 @@ static lean_object* l_Lean_instInhabitedFileMap___closed__3; uint8_t lean_nat_dec_le(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_instDecidableEqPosition___boxed(lean_object*, lean_object*); static lean_object* l_Lean_instInhabitedFileMap___closed__1; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Position_instToExprPosition___lambda__1___closed__8; LEAN_EXPORT lean_object* l_Lean_Position_instToExprPosition___lambda__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Position_instToFormatPosition(lean_object*); diff --git a/stage0/stdlib/Lean/Data/Rat.c b/stage0/stdlib/Lean/Data/Rat.c index b546d079cc..e28b650c69 100644 --- a/stage0/stdlib/Lean/Data/Rat.c +++ b/stage0/stdlib/Lean/Data/Rat.c @@ -74,6 +74,7 @@ LEAN_EXPORT lean_object* l_Lean_Rat_neg(lean_object*); lean_object* lean_nat_mul(lean_object*, lean_object*); lean_object* lean_nat_abs(lean_object*); lean_object* lean_int_div(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_mkRat___closed__1; LEAN_EXPORT lean_object* l_Lean_Rat_instCoeIntRat(lean_object*); LEAN_EXPORT lean_object* l_Lean_Rat_instLERat; diff --git a/stage0/stdlib/Lean/Declaration.c b/stage0/stdlib/Lean/Declaration.c index a349008757..7e322084df 100644 --- a/stage0/stdlib/Lean/Declaration.c +++ b/stage0/stdlib/Lean/Declaration.c @@ -77,7 +77,6 @@ LEAN_EXPORT lean_object* l_Lean_RecursorVal_getMajorIdx(lean_object*); LEAN_EXPORT lean_object* l_Lean_ConstantInfo_instantiateTypeLevelParams___boxed(lean_object*, lean_object*); static lean_object* l___private_Lean_Declaration_0__Lean_reprDefinitionSafety____x40_Lean_Declaration___hyg_269____closed__7; LEAN_EXPORT lean_object* l_Lean_instInhabitedAxiomVal; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Declaration_forExprM___spec__3___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_instInhabitedConstructorVal; LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Declaration_forExprM___spec__4(lean_object*); @@ -170,6 +169,7 @@ static lean_object* l___private_Lean_Declaration_0__Lean_reprDefinitionSafety___ LEAN_EXPORT uint8_t lean_quot_val_kind(lean_object*); lean_object* l_Lean_Name_getPrefix(lean_object*); LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Declaration_forExprM___spec__4___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_instInhabitedQuotVal; LEAN_EXPORT lean_object* l_Lean_mkInductiveDeclEs___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Declaration_0__Lean_reprDefinitionSafety____x40_Lean_Declaration___hyg_269____closed__1; diff --git a/stage0/stdlib/Lean/Elab/App.c b/stage0/stdlib/Lean/Elab/App.c index a45d90e11b..6b9a32637e 100644 --- a/stage0/stdlib/Lean/Elab/App.c +++ b/stage0/stdlib/Lean/Elab/App.c @@ -618,6 +618,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_mkProjAndCheck___closed__7; LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_12092_(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_App___hyg_5_(lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppAux(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_App_0__Lean_Elab_Term_propagateExpectedTypeFor___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_mkProjAndCheck___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Elab/Binders.c b/stage0/stdlib/Lean/Elab/Binders.c index e82b6eacb6..49c12c535d 100644 --- a/stage0/stdlib/Lean/Elab/Binders.c +++ b/stage0/stdlib/Lean/Elab/Binders.c @@ -539,6 +539,7 @@ 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*); static lean_object* l_Lean_Elab_Term_quoteAutoTactic___closed__41; static lean_object* l___regBuiltin_Lean_Elab_Term_elabLetFunDecl_declRange___closed__2; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_elabLetDeclCore___closed__4; static lean_object* l___regBuiltin_Lean_Elab_Term_expandFun___closed__3; lean_object* l_Lean_mkForall(lean_object*, uint8_t, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Elab/BuiltinCommand.c b/stage0/stdlib/Lean/Elab/BuiltinCommand.c index d52ae15a0f..c77f907c19 100644 --- a/stage0/stdlib/Lean/Elab/BuiltinCommand.c +++ b/stage0/stdlib/Lean/Elab/BuiltinCommand.c @@ -598,6 +598,7 @@ static lean_object* l_Lean_resolveGlobalConstNoOverloadCore___at_Lean_Elab_Comma lean_object* l_Lean_Elab_Command_getRef(lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Command_elabNonComputableSection_declRange___closed__1; lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_elabNamespace___closed__2; static lean_object* l_Lean_Elab_Command_elabCheckCore___lambda__1___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Command_elabEval_declRange___closed__5; diff --git a/stage0/stdlib/Lean/Elab/BuiltinNotation.c b/stage0/stdlib/Lean/Elab/BuiltinNotation.c index 1046a6df34..99fd40219b 100644 --- a/stage0/stdlib/Lean/Elab/BuiltinNotation.c +++ b/stage0/stdlib/Lean/Elab/BuiltinNotation.c @@ -609,6 +609,7 @@ lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_getRefPos___at___private_Lean_Elab_App_0__Lean_Elab_Term_toMessageData___spec__1___rarg(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*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isFVar(lean_object*); +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*); diff --git a/stage0/stdlib/Lean/Elab/Command.c b/stage0/stdlib/Lean/Elab/Command.c index 723defc838..4bcfcbf926 100644 --- a/stage0/stdlib/Lean/Elab/Command.c +++ b/stage0/stdlib/Lean/Elab/Command.c @@ -248,7 +248,6 @@ LEAN_EXPORT lean_object* l_Std_PersistentArray_mapMAux___at_Lean_Elab_Command_li lean_object* l_Lean_MapDeclarationExtension_insert___rarg(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_State_nextMacroScope___default___closed__1; static lean_object* l_Lean_addMessageContextPartial___at_Lean_Elab_Command_instAddMessageContextCommandElabM___spec__1___closed__1; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static size_t l_Lean_Elab_Command_instInhabitedState___closed__8; static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Command___hyg_2155____closed__1; LEAN_EXPORT lean_object* l_Lean_addDocString___at_Lean_Elab_Command_expandDeclId___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -534,6 +533,7 @@ static lean_object* l_Lean_addTrace___at_Lean_Elab_Command_elabCommand___spec__4 lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_instMonadResolveNameCommandElabM___lambda__2(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_State_ngen___default___closed__1; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_forIn___at_Lean_Elab_Command_elabCommandTopLevel___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_liftCoreM(lean_object*); uint8_t l_Lean_Syntax_isNone(lean_object*); diff --git a/stage0/stdlib/Lean/Elab/Declaration.c b/stage0/stdlib/Lean/Elab/Declaration.c index bbace3db09..2b507cdd95 100644 --- a/stage0/stdlib/Lean/Elab/Declaration.c +++ b/stage0/stdlib/Lean/Elab/Declaration.c @@ -186,7 +186,6 @@ static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_expandMutual lean_object* lean_array_fget(lean_object*, lean_object*); lean_object* l_Lean_MapDeclarationExtension_insert___rarg(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_expandInitCmd___lambda__1___closed__26; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_elabDeclaration___closed__10; static lean_object* l___regBuiltin_Lean_Elab_Command_elabDeclaration___closed__5; uint8_t l_Lean_isExtern(lean_object*, lean_object*); @@ -415,6 +414,7 @@ lean_object* l_Lean_Elab_expandDeclSig(lean_object*); lean_object* l_Lean_Elab_Term_elabType(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*); static lean_object* l_Lean_Elab_Command_expandInitCmd___lambda__1___closed__33; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Declaration_0__Lean_Elab_Command_inductiveSyntaxToView___spec__3___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_Command_elabAttr___spec__1___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_Declaration_0__Lean_Elab_Command_isMutualDef___boxed(lean_object*); diff --git a/stage0/stdlib/Lean/Elab/DefView.c b/stage0/stdlib/Lean/Elab/DefView.c index 795d84bdf3..5663107541 100644 --- a/stage0/stdlib/Lean/Elab/DefView.c +++ b/stage0/stdlib/Lean/Elab/DefView.c @@ -80,7 +80,6 @@ static lean_object* l_Lean_Elab_Command_mkDefViewOfInstance___closed__16; static lean_object* l_Lean_Elab_instBEqDefKind___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Command_mkInstanceName___spec__5(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_mkDefViewOfAbbrev___closed__3; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_Elab_expandMacroImpl_x3f(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_mkDefViewOfConstant___lambda__1___boxed(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*); @@ -178,6 +177,7 @@ lean_object* l_Lean_Elab_Command_getRef(lean_object*, lean_object*, lean_object* lean_object* l_Lean_Elab_expandDeclSig(lean_object*); lean_object* l_Lean_Elab_Term_elabType(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*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_mkDefViewOfInstance___closed__2; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_mkDefView___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Syntax_isNone(lean_object*); diff --git a/stage0/stdlib/Lean/Elab/Deriving/BEq.c b/stage0/stdlib/Lean/Elab/Deriving/BEq.c index 3adaf3e53f..087ef76015 100644 --- a/stage0/stdlib/Lean/Elab/Deriving/BEq.c +++ b/stage0/stdlib/Lean/Elab/Deriving/BEq.c @@ -202,6 +202,7 @@ static lean_object* l___private_Lean_Elab_Deriving_BEq_0__Lean_Elab_Deriving_BEq static lean_object* l___private_Lean_Elab_Deriving_BEq_0__Lean_Elab_Deriving_BEq_mkBEqEnumFun___closed__1; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_BEq_mkMatch_mkElseAlt___spec__1___closed__7; static lean_object* l___private_Lean_Elab_Deriving_BEq_0__Lean_Elab_Deriving_BEq_mkBEqEnumFun___closed__8; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_getConstInfoCtor___at_Lean_Elab_Deriving_BEq_mkMatch_mkAlts___spec__1___closed__2; static lean_object* l_Lean_Elab_Deriving_BEq_mkMutualBlock___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*); diff --git a/stage0/stdlib/Lean/Elab/Deriving/Basic.c b/stage0/stdlib/Lean/Elab/Deriving/Basic.c index c45824f212..26f28358d3 100644 --- a/stage0/stdlib/Lean/Elab/Deriving/Basic.c +++ b/stage0/stdlib/Lean/Elab/Deriving/Basic.c @@ -177,6 +177,7 @@ static lean_object* l___regBuiltin_Lean_Elab_elabDeriving_declRange___closed__6; static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__16___closed__1; lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabDeriving___lambda__2(lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedName; LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_elabDeriving___spec__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Syntax_isNone(lean_object*); diff --git a/stage0/stdlib/Lean/Elab/Deriving/DecEq.c b/stage0/stdlib/Lean/Elab/Deriving/DecEq.c index bcb07ed109..5d356f11b0 100644 --- a/stage0/stdlib/Lean/Elab/Deriving/DecEq.c +++ b/stage0/stdlib/Lean/Elab/Deriving/DecEq.c @@ -309,6 +309,7 @@ lean_object* l_Lean_Elab_Command_getRef(lean_object*, lean_object*, lean_object* static lean_object* l_Lean_Elab_Deriving_DecEq_mkMatch_mkSameCtorRhs___lambda__1___closed__28; static lean_object* l_Lean_Elab_Deriving_DecEq_mkDecEqEnum___closed__2; 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; lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedName; diff --git a/stage0/stdlib/Lean/Elab/Deriving/FromToJson.c b/stage0/stdlib/Lean/Elab/Deriving/FromToJson.c index beef0b4650..c84cd3abbf 100644 --- a/stage0/stdlib/Lean/Elab/Deriving/FromToJson.c +++ b/stage0/stdlib/Lean/Elab/Deriving/FromToJson.c @@ -336,6 +336,7 @@ static lean_object* l_Array_mapIdxM_map___at_Lean_Elab_Deriving_FromToJson_mkToJ static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler_mkAlts___spec__3___closed__3; LEAN_EXPORT lean_object* l_Array_qsort_sort___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_qsort_sort___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__7___closed__1; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Array_mapIdxM_map___at_Lean_Elab_Deriving_FromToJson_mkFromJsonInstanceHandler_mkAlts___spec__3___closed__1; static lean_object* l_Array_mapIdxM_map___at_Lean_Elab_Deriving_FromToJson_mkToJsonInstanceHandler___spec__4___closed__5; lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Elab/Deriving/Repr.c b/stage0/stdlib/Lean/Elab/Deriving/Repr.c index 9e37379e39..993e97f972 100644 --- a/stage0/stdlib/Lean/Elab/Deriving/Repr.c +++ b/stage0/stdlib/Lean/Elab/Deriving/Repr.c @@ -234,6 +234,7 @@ LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkM static lean_object* l_Lean_Elab_Deriving_Repr_mkAuxFunction___lambda__1___closed__7; static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Deriving_Repr_mkBodyForInduct_mkAlts___spec__2___closed__7; LEAN_EXPORT lean_object* l_Lean_Elab_Deriving_Repr_mkReprHeader___boxed(lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Deriving_Repr_mkBodyForStruct___rarg___lambda__1___closed__2; extern lean_object* l_Lean_instInhabitedName; diff --git a/stage0/stdlib/Lean/Elab/Do.c b/stage0/stdlib/Lean/Elab/Do.c index b8506535c8..7a0459443b 100644 --- a/stage0/stdlib/Lean/Elab/Do.c +++ b/stage0/stdlib/Lean/Elab/Do.c @@ -1065,6 +1065,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_Do_attachJP___boxed(lean_object*, lean static lean_object* l___private_Lean_Elab_Do_0__Lean_Elab_Term_Do_mkMonadAlias___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_Do_0__Lean_Elab_Term_letDeclHasBinders___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Term_Do_ToCodeBlock_doTryToCode___spec__5(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*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_Do_mkAuxDeclFor___at_Lean_Elab_Term_Do_pullExitPointsAux___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_Lean_Elab_Term_Do_ToTerm_matchNestedTermResult___closed__4; lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Elab/Exception.c b/stage0/stdlib/Lean/Elab/Exception.c index e7ab56f52f..c01456b234 100644 --- a/stage0/stdlib/Lean/Elab/Exception.c +++ b/stage0/stdlib/Lean/Elab/Exception.c @@ -42,7 +42,6 @@ static lean_object* l_Lean_Elab_throwAbortCommand___rarg___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_throwAutoBoundImplicitLocal___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_mkMessageCore___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwAutoBoundImplicitLocal(lean_object*, lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwAbortTerm___rarg(lean_object*); static lean_object* l_Lean_Elab_throwAutoBoundImplicitLocal___rarg___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_mkMessageCore(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*); @@ -81,6 +80,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_throwIllFormedSyntax(lean_object*, lean_obj static lean_object* l_Lean_Elab_throwAlreadyDeclaredUniverseLevel___rarg___closed__2; lean_object* l_Lean_throwError___rarg(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_throwAlreadyDeclaredUniverseLevel___rarg___closed__4; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Exception___hyg_4____closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_unsupportedSyntaxExceptionId; static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Exception___hyg_18____closed__1; diff --git a/stage0/stdlib/Lean/Elab/Inductive.c b/stage0/stdlib/Lean/Elab/Inductive.c index 2c751065c6..63a6f75ecc 100644 --- a/stage0/stdlib/Lean/Elab/Inductive.c +++ b/stage0/stdlib/Lean/Elab/Inductive.c @@ -408,6 +408,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_el static lean_object* l_Lean_Elab_Command_instInhabitedElabHeaderResult___closed__9; LEAN_EXPORT lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_eqvFirstTypeResult___lambda__1(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__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*); +static uint8_t l_Lean_Elab_Command_accLevelAtCtor___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_4092_(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Inductive___hyg_5_(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*); @@ -450,6 +451,7 @@ lean_object* l_Lean_Elab_Term_elabType(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*, size_t, 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*); uint8_t l_Lean_Expr_isFVar(lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_instInhabitedElabHeaderResult___closed__1; LEAN_EXPORT lean_object* l_Std_PersistentArray_mapMAux___at___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkInductiveDecl___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -7030,6 +7032,15 @@ x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } +static uint8_t _init_l_Lean_Elab_Command_accLevelAtCtor___closed__3() { +_start: +{ +lean_object* x_1; uint8_t x_2; +x_1 = lean_unsigned_to_nat(0u); +x_2 = lean_nat_dec_eq(x_1, x_1); +return x_2; +} +} LEAN_EXPORT lean_object* l_Lean_Elab_Command_accLevelAtCtor(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, 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: { @@ -7071,7 +7082,7 @@ else uint8_t x_32; lean_dec(x_26); lean_dec(x_3); -x_32 = lean_level_eq(x_1, x_2); +x_32 = l_Lean_Elab_Command_accLevelAtCtor___closed__3; if (x_32 == 0) { uint8_t x_33; @@ -7115,72 +7126,69 @@ return x_39; } else { -lean_object* x_40; +uint8_t x_40; +x_40 = lean_level_eq(x_1, x_2); +if (x_40 == 0) +{ +uint8_t x_41; +x_41 = l_Lean_Level_occurs(x_2, x_1); +lean_dec(x_2); +if (x_41 == 0) +{ +uint8_t x_42; +lean_dec(x_8); +lean_dec(x_5); +x_42 = l_Array_contains___at_Lean_Elab_Command_accLevelAtCtor___spec__1(x_4, x_1); +if (x_42 == 0) +{ +lean_object* x_43; lean_object* x_44; +x_43 = lean_array_push(x_4, x_1); +x_44 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_44, 0, x_43); +lean_ctor_set(x_44, 1, x_11); +return x_44; +} +else +{ +lean_object* x_45; +lean_dec(x_1); +x_45 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_45, 0, x_4); +lean_ctor_set(x_45, 1, x_11); +return x_45; +} +} +else +{ +lean_object* x_46; lean_object* x_47; +lean_dec(x_4); +lean_dec(x_1); +x_46 = l_Lean_Elab_Command_accLevelAtCtor___closed__2; +x_47 = l_Lean_throwError___at_Lean_Elab_Command_accLevelAtCtor___spec__3(x_46, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_8); +return x_47; +} +} +else +{ +lean_object* x_48; lean_dec(x_8); lean_dec(x_5); lean_dec(x_2); lean_dec(x_1); -x_40 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_40, 0, x_4); -lean_ctor_set(x_40, 1, x_11); -return x_40; +x_48 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_48, 0, x_4); +lean_ctor_set(x_48, 1, x_11); +return x_48; +} } } } case 4: { -lean_object* x_41; uint8_t x_42; -x_41 = lean_unsigned_to_nat(0u); -x_42 = lean_nat_dec_eq(x_3, x_41); -if (x_42 == 0) -{ -lean_object* x_43; -x_43 = lean_box(0); -x_12 = x_43; -goto block_24; -} -else -{ -uint8_t x_44; -x_44 = lean_level_eq(x_1, x_2); -if (x_44 == 0) -{ -lean_object* x_45; -x_45 = lean_box(0); -x_12 = x_45; -goto block_24; -} -else -{ -lean_object* x_46; -lean_dec(x_8); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_46 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_46, 0, x_4); -lean_ctor_set(x_46, 1, x_11); -return x_46; -} -} -} -case 5: -{ -lean_object* x_47; uint8_t x_48; -x_47 = lean_unsigned_to_nat(0u); -x_48 = lean_nat_dec_eq(x_3, x_47); -if (x_48 == 0) -{ -lean_object* x_49; -x_49 = lean_box(0); -x_12 = x_49; -goto block_24; -} -else -{ -uint8_t x_50; -x_50 = lean_level_eq(x_1, x_2); +lean_object* x_49; uint8_t x_50; +x_49 = lean_unsigned_to_nat(0u); +x_50 = lean_nat_dec_eq(x_3, x_49); if (x_50 == 0) { lean_object* x_51; @@ -7190,70 +7198,119 @@ goto block_24; } else { -lean_object* x_52; +uint8_t x_52; +x_52 = lean_level_eq(x_1, x_2); +if (x_52 == 0) +{ +lean_object* x_53; +x_53 = lean_box(0); +x_12 = x_53; +goto block_24; +} +else +{ +lean_object* x_54; lean_dec(x_8); lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_52 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_52, 0, x_4); -lean_ctor_set(x_52, 1, x_11); -return x_52; +x_54 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_54, 0, x_4); +lean_ctor_set(x_54, 1, x_11); +return x_54; +} +} +} +case 5: +{ +lean_object* x_55; uint8_t x_56; +x_55 = lean_unsigned_to_nat(0u); +x_56 = lean_nat_dec_eq(x_3, x_55); +if (x_56 == 0) +{ +lean_object* x_57; +x_57 = lean_box(0); +x_12 = x_57; +goto block_24; +} +else +{ +uint8_t x_58; +x_58 = lean_level_eq(x_1, x_2); +if (x_58 == 0) +{ +lean_object* x_59; +x_59 = lean_box(0); +x_12 = x_59; +goto block_24; +} +else +{ +lean_object* x_60; +lean_dec(x_8); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_60 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_60, 0, x_4); +lean_ctor_set(x_60, 1, x_11); +return x_60; } } } default: { -lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_53 = lean_ctor_get(x_1, 0); -lean_inc(x_53); -x_54 = lean_ctor_get(x_1, 1); -lean_inc(x_54); +lean_object* x_61; lean_object* x_62; lean_object* x_63; +x_61 = lean_ctor_get(x_1, 0); +lean_inc(x_61); +x_62 = lean_ctor_get(x_1, 1); +lean_inc(x_62); lean_dec(x_1); lean_inc(x_8); lean_inc(x_5); lean_inc(x_3); lean_inc(x_2); -x_55 = l_Lean_Elab_Command_accLevelAtCtor(x_53, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_55) == 0) +x_63 = l_Lean_Elab_Command_accLevelAtCtor(x_61, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_63) == 0) { -lean_object* x_56; lean_object* x_57; -x_56 = lean_ctor_get(x_55, 0); -lean_inc(x_56); -x_57 = lean_ctor_get(x_55, 1); -lean_inc(x_57); -lean_dec(x_55); -x_1 = x_54; -x_4 = x_56; -x_11 = x_57; +lean_object* x_64; lean_object* x_65; +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); +x_1 = x_62; +x_4 = x_64; +x_11 = x_65; goto _start; } else { -uint8_t x_59; -lean_dec(x_54); +uint8_t x_67; +lean_dec(x_62); lean_dec(x_8); lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); -x_59 = !lean_is_exclusive(x_55); -if (x_59 == 0) +x_67 = !lean_is_exclusive(x_63); +if (x_67 == 0) { -return x_55; +return x_63; } else { -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; +lean_object* x_68; lean_object* x_69; lean_object* x_70; +x_68 = lean_ctor_get(x_63, 0); +x_69 = lean_ctor_get(x_63, 1); +lean_inc(x_69); +lean_inc(x_68); +lean_dec(x_63); +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; } } } @@ -18373,6 +18430,7 @@ l_Lean_Elab_Command_accLevelAtCtor___closed__1 = _init_l_Lean_Elab_Command_accLe lean_mark_persistent(l_Lean_Elab_Command_accLevelAtCtor___closed__1); l_Lean_Elab_Command_accLevelAtCtor___closed__2 = _init_l_Lean_Elab_Command_accLevelAtCtor___closed__2(); lean_mark_persistent(l_Lean_Elab_Command_accLevelAtCtor___closed__2); +l_Lean_Elab_Command_accLevelAtCtor___closed__3 = _init_l_Lean_Elab_Command_accLevelAtCtor___closed__3(); l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___lambda__2___closed__1 = _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___lambda__2___closed__1(); lean_mark_persistent(l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___lambda__2___closed__1); l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___lambda__2___closed__2 = _init_l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_updateResultingUniverse___lambda__2___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/InfoTree.c b/stage0/stdlib/Lean/Elab/InfoTree.c index 65157027f7..c448560ec8 100644 --- a/stage0/stdlib/Lean/Elab/InfoTree.c +++ b/stage0/stdlib/Lean/Elab/InfoTree.c @@ -148,7 +148,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_enableInfoTree___rarg(lean_object*, uint8_t LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_withSaveInfoContext___spec__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); static lean_object* l_Lean_Elab_assignInfoHoleId___rarg___lambda__2___closed__6; static lean_object* l_Lean_Elab_TacticInfo_format___closed__2; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_findSomeM_x3f___at_Lean_Elab_InfoTree_findInfo_x3f___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_InfoTree_findInfo_x3f(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Elab_resolveGlobalConstWithInfos___spec__1___rarg___lambda__1___boxed(lean_object*, lean_object*); @@ -341,6 +340,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_withSaveInfoContext___rarg(lean_object*, le LEAN_EXPORT lean_object* l_Lean_Elab_instInhabitedContextInfo; lean_object* l_Lean_Json_pretty(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_withSaveInfoContext___spec__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static size_t l_Lean_Elab_instInhabitedTermInfo___closed__3; lean_object* l_Lean_ppTerm(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_InfoTree_0__Lean_Elab_formatStxRange_fmtPos___closed__9; diff --git a/stage0/stdlib/Lean/Elab/Macro.c b/stage0/stdlib/Lean/Elab/Macro.c index f8d3d73f9c..ac43f31644 100644 --- a/stage0/stdlib/Lean/Elab/Macro.c +++ b/stage0/stdlib/Lean/Elab/Macro.c @@ -57,7 +57,6 @@ static lean_object* l_Lean_Elab_Command_expandMacro___lambda__2___closed__14; 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_Lean_Elab_Command_expandMacro___lambda__2___closed__28; LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMacro(lean_object*, lean_object*, lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); extern lean_object* l_Lean_numLitKind; static lean_object* l___regBuiltin_Lean_Elab_Command_expandMacro_declRange___closed__1; static lean_object* l_Lean_Elab_Command_expandMacro___lambda__2___closed__21; @@ -107,6 +106,7 @@ static lean_object* l_Lean_Elab_Command_expandMacro___lambda__2___closed__15; static lean_object* l_Lean_Elab_Command_expandMacro___lambda__2___closed__18; LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMacro___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_Command_expandMacro___lambda__2___closed__12; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_expandMacro___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Syntax_isNone(lean_object*); static lean_object* l_Lean_Elab_Command_expandMacro___lambda__2___closed__11; diff --git a/stage0/stdlib/Lean/Elab/Match.c b/stage0/stdlib/Lean/Elab/Match.c index 06fddc75bc..9bd21b455c 100644 --- a/stage0/stdlib/Lean/Elab/Match.c +++ b/stage0/stdlib/Lean/Elab/Match.c @@ -660,6 +660,7 @@ uint8_t l_Lean_Expr_isFVar(lean_object*); static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___rarg___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___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___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchCore(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_Array_anyMUnsafe_any___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_containsFVar___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkForall(lean_object*, uint8_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_precheckMatch(lean_object*); diff --git a/stage0/stdlib/Lean/Elab/MutualDef.c b/stage0/stdlib/Lean/Elab/MutualDef.c index 89e42bb2cf..7fc0931dd5 100644 --- a/stage0/stdlib/Lean/Elab/MutualDef.c +++ b/stage0/stdlib/Lean/Elab/MutualDef.c @@ -620,6 +620,7 @@ 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_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___lambda__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_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___lambda__2___closed__3; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs___boxed(lean_object*); static lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isMultiConstant_x3f___spec__3___closed__8; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__3; diff --git a/stage0/stdlib/Lean/Elab/PatternVar.c b/stage0/stdlib/Lean/Elab/PatternVar.c index 6385045fb6..8614ed79cc 100644 --- a/stage0/stdlib/Lean/Elab/PatternVar.c +++ b/stage0/stdlib/Lean/Elab/PatternVar.c @@ -176,7 +176,6 @@ lean_object* lean_array_fget(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processCtorAppCore___closed__1; static lean_object* l_Lean_resolveGlobalConst___at___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_doubleQuotedNameToPattern___spec__3___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_isDone___boxed(lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Elab_Term_CollectPatternVars_main___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processExplicitArg___closed__1; @@ -353,6 +352,7 @@ static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___closed__22; lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at_Lean_Elab_Term_CollectPatternVars_collect_pushNewArg___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_mapSepElemsM___at_Lean_Elab_Term_CollectPatternVars_collect___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 lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapSepElemsM___at_Lean_Elab_Term_CollectPatternVars_collect___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_resolveGlobalName___at_Lean_Elab_Term_resolveName___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/Main.c b/stage0/stdlib/Lean/Elab/PreDefinition/Main.c index f1e1357e32..1cedcd5f9a 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/Main.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/Main.c @@ -137,7 +137,6 @@ lean_object* l_Lean_Elab_mkInhabitantFor(lean_object*, lean_object*, lean_object lean_object* lean_array_fget(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwAbortCommand___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_ensureNoUnassignedMVarsAtPreDef___spec__1___rarg(lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkSorry(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__26___lambda__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_betaReduceLetRecApps___spec__3___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -297,6 +296,7 @@ lean_object* l_Lean_Elab_WF_TerminationHint_ensureAllUsed(lean_object*, lean_obj lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_collectMVarsAtPreDef___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_HashMapImp_expand___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__14(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__15(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_replace___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__17(lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/Structural/BRecOn.c b/stage0/stdlib/Lean/Elab/PreDefinition/Structural/BRecOn.c index c13921313a..4041f51da0 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/Structural/BRecOn.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/Structural/BRecOn.c @@ -245,6 +245,7 @@ static lean_object* l_Lean_Elab_Structural_mkBRecOn___lambda__5___closed__1; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Structural_mkBRecOn___spec__2(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__16___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__17(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/Structural/FindRecArg.c b/stage0/stdlib/Lean/Elab/PreDefinition/Structural/FindRecArg.c index 09f3adf863..04e55e1d66 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/Structural/FindRecArg.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/Structural/FindRecArg.c @@ -138,6 +138,7 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDe LEAN_EXPORT uint8_t l___private_Init_Data_Array_Basic_0__Array_allDiffAuxAux___at_Lean_Elab_Structural_findRecArg_go___spec__7(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isFVar(lean_object*); +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* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Structural_findRecArg_go___rarg___closed__1; diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/Structural/Main.c b/stage0/stdlib/Lean/Elab/PreDefinition/Structural/Main.c index 19e522ba44..4559d27bff 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/Structural/Main.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/Structural/Main.c @@ -55,7 +55,6 @@ static lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_ lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); lean_object* l_List_mapTRAux___at_Lean_MessageData_instCoeListExprMessageData___spec__1(lean_object*, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___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_take(lean_object*, lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); @@ -98,6 +97,7 @@ static lean_object* l_Lean_Elab_Structural_structuralRecursion___closed__5; static lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___lambda__5___closed__2; static lean_object* l_Lean_Elab_Structural_structuralRecursion___closed__4; lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Structural_structuralRecursion___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_getFixedPrefix___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Structural_Main_0__Lean_Elab_Structural_elimRecursion___lambda__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*); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/WF/Fix.c b/stage0/stdlib/Lean/Elab/PreDefinition/WF/Fix.c index fbb57970eb..e463c9a361 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/WF/Fix.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/WF/Fix.c @@ -100,7 +100,6 @@ lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkProj(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_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___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*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___closed__2; lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambda_loop___spec__1___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -189,6 +188,7 @@ LEAN_EXPORT lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at___private_Lean_El LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__14(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_replaceRecApps_loop___spec__12___rarg(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*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkArrow(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/WF/Main.c b/stage0/stdlib/Lean/Elab/PreDefinition/WF/Main.c index dc220c91de..f9466b2039 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/WF/Main.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/WF/Main.c @@ -156,6 +156,7 @@ lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_ lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_wfRecursion___lambda__2___closed__2; static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Elab_PreDefinition_WF_Main_0__Lean_Elab_addNonRecPreDefs_mkSum___spec__1___closed__9; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Elab_wfRecursion___lambda__2___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___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* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/WF/PackDomain.c b/stage0/stdlib/Lean/Elab/PreDefinition/WF/PackDomain.c index d8387c06e8..d7a987f8cf 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/WF/PackDomain.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/WF/PackDomain.c @@ -175,6 +175,7 @@ lean_object* l_Lean_mkApp4(lean_object*, lean_object*, lean_object*, lean_object LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_WF_packDomain_packApplications_visit___spec__3___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_WF_packDomain___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_st_ref_set(lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_panic___at___private_Lean_Elab_PreDefinition_WF_PackDomain_0__Lean_Elab_WF_mkPSigmaCasesOn_go___spec__1___closed__1; lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_panic_fn(lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/WF/PackMutual.c b/stage0/stdlib/Lean/Elab/PreDefinition/WF/PackMutual.c index 99a6c5591c..62d0bb16d6 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/WF/PackMutual.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/WF/PackMutual.c @@ -152,6 +152,7 @@ lean_object* l_Lean_Meta_getLevel(lean_object*, lean_object*, lean_object*, lean LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_getCodomainLevel___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_WF_packMutual___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_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_getCodomainsLevel(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___private_Lean_Elab_PreDefinition_WF_PackMutual_0__Lean_Elab_WF_mkNewCoDomain_go___closed__6; extern lean_object* l_Lean_instInhabitedName; lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Elab/Quotation.c b/stage0/stdlib/Lean/Elab/Quotation.c index 3bc0e1b518..74ce500aae 100644 --- a/stage0/stdlib/Lean/Elab/Quotation.c +++ b/stage0/stdlib/Lean/Elab/Quotation.c @@ -889,6 +889,7 @@ LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Elab_Quotation_0__L static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__6___closed__25; static lean_object* l___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_floatOutAntiquotTerms___lambda__2___closed__20; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__6___lambda__2___closed__16; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Term_resolveName___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_800____at___private_Lean_Elab_Quotation_0__Lean_Elab_Term_Quotation_quoteSyntax___spec__2(lean_object*, lean_object*); static lean_object* l___private_Init_Meta_0__Lean_quoteList___at_Lean_Elab_Term_Quotation_ArrayStxBuilder_build___spec__1___closed__7; diff --git a/stage0/stdlib/Lean/Elab/Quotation/Precheck.c b/stage0/stdlib/Lean/Elab/Quotation/Precheck.c index 934b47694d..ecc4f36314 100644 --- a/stage0/stdlib/Lean/Elab/Quotation/Precheck.c +++ b/stage0/stdlib/Lean/Elab/Quotation/Precheck.c @@ -88,7 +88,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_withNewLocal(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_Quotation_precheck___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ResolveName_resolveNamespace_x3f(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_precheckParen___closed__3; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_Quotation_precheck___lambda__1___closed__3; static lean_object* l_Lean_addTrace___at_Lean_Elab_Term_Quotation_precheck___spec__3___closed__7; static lean_object* l_List_forIn_loop___at_Lean_Elab_Term_Quotation_precheckIdent___spec__3___closed__3; @@ -194,6 +193,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_Quotation_pr 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*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_Quotation_precheck___spec__8___rarg___closed__1; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_Quotation_precheckApp___closed__3; 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_forM___at_Lean_Elab_Term_Quotation_precheck___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Elab/StructInst.c b/stage0/stdlib/Lean/Elab/StructInst.c index f1390528ca..45534b6cb2 100644 --- a/stage0/stdlib/Lean/Elab/StructInst.c +++ b/stage0/stdlib/Lean/Elab/StructInst.c @@ -606,6 +606,7 @@ lean_object* lean_st_ref_set(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_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; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType_declRange___closed__6; LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__1___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Elab/Syntax.c b/stage0/stdlib/Lean/Elab/Syntax.c index f875b51d83..a813f320df 100644 --- a/stage0/stdlib/Lean/Elab/Syntax.c +++ b/stage0/stdlib/Lean/Elab/Syntax.c @@ -578,6 +578,7 @@ lean_object* l_Lean_Name_getPrefix(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_checkLeftRec___spec__8(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*); static lean_object* l_Lean_addTrace___at_Lean_Elab_Term_checkLeftRec___spec__3___closed__6; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabSyntax(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Syntax_0__Lean_Elab_Command_declareSyntaxCatQuotParser___closed__49; static lean_object* l___regBuiltin_Lean_Elab_Command_elabSyntax___closed__3; diff --git a/stage0/stdlib/Lean/Elab/SyntheticMVars.c b/stage0/stdlib/Lean/Elab/SyntheticMVars.c index 82b12256f4..018ff88f8c 100644 --- a/stage0/stdlib/Lean/Elab/SyntheticMVars.c +++ b/stage0/stdlib/Lean/Elab/SyntheticMVars.c @@ -217,6 +217,7 @@ LEAN_EXPORT lean_object* l_List_forIn_loop___at___private_Lean_Elab_SyntheticMVa LEAN_EXPORT lean_object* l_Lean_Elab_Term_runTactic___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_Term_synthesizeSyntheticMVarsNoPostponing(uint8_t, 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*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_getSomeSynthethicMVarsRef___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_withSynthesize___rarg(lean_object*, lean_object*, lean_object*, uint8_t); diff --git a/stage0/stdlib/Lean/Elab/Tactic/Basic.c b/stage0/stdlib/Lean/Elab/Tactic/Basic.c index 6a44bdc03a..1d23f7a33e 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Basic.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Basic.c @@ -127,7 +127,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_ensureHasNoMVars___boxed(lean_object static lean_object* l_Lean_Elab_goalsToMessageData___closed__2; lean_object* l_Lean_ResolveName_resolveNamespace_x3f(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_instMonadTacticM___closed__5; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkSorry(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_expandMacroImpl_x3f(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_withInfoTreeContext___at_Lean_Elab_Tactic_withTacticInfoContext___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -300,6 +299,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_withMacroExpansion___rarg___lambda__ LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_instAlternativeTacticM___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_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalTacticAt(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_evalTacticUsing_loop___closed__1; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_instAlternativeTacticM___spec__1___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_Elab_throwUnsupportedSyntax___at_Lean_Elab_Tactic_expandTacticMacroFns_loop___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Elab/Tactic/BuiltinTactic.c b/stage0/stdlib/Lean/Elab/Tactic/BuiltinTactic.c index 4d6e8f2913..674ecd4b44 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/BuiltinTactic.c +++ b/stage0/stdlib/Lean/Elab/Tactic/BuiltinTactic.c @@ -713,6 +713,7 @@ static lean_object* l_Lean_Elab_Tactic_evalIntro___closed__30; LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_elabSetOption___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_Tactic_evalTraceMessage___closed__5; static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_elabSetOption___spec__3___closed__1; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalParen___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalFailIfSuccess_declRange___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalIntros_declRange___closed__5; diff --git a/stage0/stdlib/Lean/Elab/Tactic/Conv/Congr.c b/stage0/stdlib/Lean/Elab/Tactic/Conv/Congr.c index 11d57fd621..0b4d362883 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Conv/Congr.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Conv/Congr.c @@ -100,7 +100,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalCongr___rarg(lean_object*, LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Conv_Congr_0__Lean_Elab_Tactic_Conv_ext___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_evalLhs___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_Conv_evalRhs___rarg(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___regBuiltin_Lean_Elab_Tactic_Conv_evalRhs_declRange___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalRhs_declRange___closed__1; lean_object* l_Lean_Meta_applyRefl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -205,6 +204,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalArg_declRange___clo static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalLhs_declRange___closed__1; static lean_object* l___private_Lean_Elab_Tactic_Conv_Congr_0__Lean_Elab_Tactic_Conv_extCore___lambda__2___closed__4; static lean_object* l_Lean_Elab_Tactic_Conv_congr___lambda__2___closed__4; +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*); static lean_object* l_List_forIn_loop___at___private_Lean_Elab_Tactic_Conv_Congr_0__Lean_Elab_Tactic_Conv_selectIdx___spec__1___closed__3; lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Elab/Tactic/Induction.c b/stage0/stdlib/Lean/Elab/Tactic/Induction.c index 9496db4ac4..99d47b5235 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Induction.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Induction.c @@ -188,7 +188,6 @@ static lean_object* l_Lean_Elab_Tactic_ElimApp_setMotiveArg___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalInduction_declRange___closed__7; static lean_object* l_Lean_Elab_Tactic_ElimApp_setMotiveArg___closed__4; LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_addNewArg___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_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltVarNames___spec__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getMVarType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_generalizeTargets___spec__1(size_t, size_t, lean_object*); @@ -425,6 +424,7 @@ uint8_t l_Lean_Expr_isFVar(lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltName___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalCases___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_Elab_Tactic_evalTacticAt(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_getAltNumFields___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_Array_foldlMUnsafe_fold___at_Lean_Elab_Tactic_ElimApp_evalAlts_go___spec__6(lean_object*, size_t, size_t, 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*); diff --git a/stage0/stdlib/Lean/Elab/Tactic/Match.c b/stage0/stdlib/Lean/Elab/Tactic/Match.c index 07da8e33ef..fa3c113860 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Match.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Match.c @@ -86,7 +86,6 @@ static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Tactic_eva static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalMatch_declRange___closed__1; lean_object* l_Lean_ResolveName_resolveNamespace_x3f(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at_Lean_Elab_Tactic_evalMatch___spec__6___boxed(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___regBuiltin_Lean_Elab_Tactic_evalEraseAuxDiscrs_declRange___closed__6; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Tactic_Match_0__Lean_Elab_Tactic_mkAuxiliaryMatchTermAux___spec__2(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_expandMacroImpl_x3f(lean_object*, lean_object*, lean_object*, lean_object*); @@ -177,6 +176,7 @@ static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Tactic_Match static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalEraseAuxDiscrs___closed__9; lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Tactic_evalMatch___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Std_Data_PersistentArray_0__Std_PersistentArray_foldlFromMAux___at_Lean_Elab_Tactic_evalEraseAuxDiscrs___spec__3(lean_object*, size_t, size_t, 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_Lean_Elab_Tactic_evalMatch___closed__5; diff --git a/stage0/stdlib/Lean/Elab/Term.c b/stage0/stdlib/Lean/Elab/Term.c index 531fb7c98d..fdb135f68c 100644 --- a/stage0/stdlib/Lean/Elab/Term.c +++ b/stage0/stdlib/Lean/Elab/Term.c @@ -1056,6 +1056,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_Context_currMacroScope___default; LEAN_EXPORT lean_object* l_ReaderT_pure___at_Lean_Elab_Term_addTermInfo___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_observing___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_Lean_Elab_Term_instAddErrorMessageContextTermElabM___boxed(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_Std_Range_forIn_loop___at___private_Lean_Elab_Term_0__Lean_Elab_Term_throwStuckAtUniverseCnstr___spec__15(lean_object*, 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_Term_0__Lean_Elab_Term_tryLiftAndCoe___closed__8; uint8_t l___private_Lean_Attributes_0__Lean_beqAttributeApplicationTime____x40_Lean_Attributes___hyg_13_(uint8_t, uint8_t); diff --git a/stage0/stdlib/Lean/Elab/Util.c b/stage0/stdlib/Lean/Elab/Util.c index b552f86ba5..bb1b52a76d 100644 --- a/stage0/stdlib/Lean/Elab/Util.c +++ b/stage0/stdlib/Lean/Elab/Util.c @@ -77,7 +77,6 @@ lean_object* l_Lean_ResolveName_resolveNamespace_x3f(lean_object*, lean_object*, static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__13; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_checkSyntaxNodeKindAtNamespaces(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_expandMacroImpl_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Elab_getBetterRef___lambda__1(lean_object*); @@ -186,6 +185,7 @@ lean_object* l_Lean_throwError___rarg(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_getBetterRef___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_getBetterRef___boxed(lean_object*, lean_object*); lean_object* l_Lean_findDeclarationRanges_x3f___at___private_Lean_Parser_Extension_0__Lean_Parser_BuiltinParserAttribute_add___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_List_foldl___at_Lean_MacroScopesView_review___spec__1(lean_object*, lean_object*); uint8_t l_Lean_Syntax_isNone(lean_object*); static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__5; diff --git a/stage0/stdlib/Lean/Environment.c b/stage0/stdlib/Lean/Environment.c index 70ad450280..dc94a20c54 100644 --- a/stage0/stdlib/Lean/Environment.c +++ b/stage0/stdlib/Lean/Environment.c @@ -487,6 +487,7 @@ LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Environment___hyg_4608_(lean_ LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Environment___hyg_2055_(lean_object*); LEAN_EXPORT lean_object* l_Lean_instInhabitedPersistentEnvExtensionState___rarg(lean_object*); static lean_object* l_Lean_instInhabitedEnvExtensionInterface___closed__5; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l___private_Lean_Environment_0__Lean_getEntriesFor___closed__1; LEAN_EXPORT lean_object* l_Lean_EnvExtension_modifyState___rarg___boxed(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedName; diff --git a/stage0/stdlib/Lean/Exception.c b/stage0/stdlib/Lean/Exception.c index 47d1390b7d..451dabf5fd 100644 --- a/stage0/stdlib/Lean/Exception.c +++ b/stage0/stdlib/Lean/Exception.c @@ -66,7 +66,6 @@ static lean_object* l_Lean_termThrowError_______closed__15; static lean_object* l_Lean___aux__Lean__Exception______macroRules__Lean__termThrowError______1___closed__11; LEAN_EXPORT lean_object* l_Lean_withIncRecDepth___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_termThrowError_______closed__14; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean___aux__Lean__Exception______macroRules__Lean__termThrowError______1___closed__23; static lean_object* l_Lean_termThrowErrorAt_________closed__7; static lean_object* l_Lean_termThrowError_______closed__18; @@ -126,6 +125,7 @@ LEAN_EXPORT lean_object* l_Lean_throwErrorAt(lean_object*, lean_object*); static lean_object* l_Lean___aux__Lean__Exception______macroRules__Lean__termThrowError______1___closed__18; static lean_object* l_Lean___aux__Lean__Exception______macroRules__Lean__termThrowError______1___closed__5; LEAN_EXPORT lean_object* l_Lean_throwError___rarg(lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_termThrowError_______closed__19; LEAN_EXPORT lean_object* l_Lean_withIncRecDepth___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean___aux__Lean__Exception______macroRules__Lean__termThrowErrorAt________1___closed__7; diff --git a/stage0/stdlib/Lean/Expr.c b/stage0/stdlib/Lean/Expr.c index 3c29abfad7..8251e2824e 100644 --- a/stage0/stdlib/Lean/Expr.c +++ b/stage0/stdlib/Lean/Expr.c @@ -681,6 +681,7 @@ static lean_object* l___private_Lean_Expr_0__Lean_reprBinderInfo____x40_Lean_Exp LEAN_EXPORT lean_object* l___private_Lean_Expr_0__Lean_Expr_mkAppRevRangeAux(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Expr_instantiateLevelParamsArray___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Expr_isFVar(lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Expr_setPPUniverses___closed__1; LEAN_EXPORT lean_object* l_Lean_mkForall(lean_object*, uint8_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_instantiate1___boxed(lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/HeadIndex.c b/stage0/stdlib/Lean/HeadIndex.c index 06cf5790c5..9eb6eb66a9 100644 --- a/stage0/stdlib/Lean/HeadIndex.c +++ b/stage0/stdlib/Lean/HeadIndex.c @@ -22,7 +22,6 @@ lean_object* lean_expr_instantiate1(lean_object*, lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_head(lean_object*); LEAN_EXPORT lean_object* l_Lean_HeadIndex_HeadIndex_hash___boxed(lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_HeadIndex_instHashableHeadIndex___closed__1; LEAN_EXPORT uint64_t l_Lean_HeadIndex_HeadIndex_hash(lean_object*); uint64_t l_Lean_Name_hash(lean_object*); @@ -44,6 +43,7 @@ LEAN_EXPORT lean_object* l___private_Lean_HeadIndex_0__Lean_Expr_toHeadIndexSlow LEAN_EXPORT uint8_t l___private_Lean_HeadIndex_0__Lean_beqHeadIndex____x40_Lean_HeadIndex___hyg_66_(lean_object*, lean_object*); uint64_t l_Lean_Literal_hash(lean_object*); static lean_object* l_Lean_instBEqHeadIndex___closed__1; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_HeadIndex_0__Lean_Expr_toHeadIndexQuick_x3f___boxed(lean_object*); lean_object* lean_panic_fn(lean_object*, lean_object*); uint64_t lean_uint64_mix_hash(uint64_t, uint64_t); diff --git a/stage0/stdlib/Lean/Hygiene.c b/stage0/stdlib/Lean/Hygiene.c index 5b628d33b4..2cd5ba8d46 100644 --- a/stage0/stdlib/Lean/Hygiene.c +++ b/stage0/stdlib/Lean/Hygiene.c @@ -41,7 +41,6 @@ LEAN_EXPORT lean_object* l_Lean_Unhygienic_instMonadQuotationUnhygienic___lambda LEAN_EXPORT lean_object* l_ReaderT_pure___at_Lean_Unhygienic_instMonadQuotationUnhygienic___spec__3___rarg(lean_object*, lean_object*, lean_object*); uint8_t l_Std_Format_getUnicode(lean_object*); uint8_t l_Lean_Name_hasMacroScopes(lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_Unhygienic_instMonadQuotationUnhygienic___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_Unhygienic_instMonadQuotationUnhygienic___spec__2(lean_object*, lean_object*); static lean_object* l_Lean_Unhygienic_instMonadQuotationUnhygienic___closed__3; @@ -80,6 +79,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Hygiene_0__Lean_mkInaccessibleUserName static lean_object* l_Lean_getSanitizeNames___closed__1; static lean_object* l___private_Lean_Hygiene_0__Lean_mkInaccessibleUserNameAux___closed__2; lean_object* lean_register_option(lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Unhygienic_instMonadQuotationUnhygienic___closed__6; lean_object* lean_name_mk_numeral(lean_object*, lean_object*); lean_object* l_Lean_KVMap_findCore(lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/InternalExceptionId.c b/stage0/stdlib/Lean/InternalExceptionId.c index 1c2efd2e22..40bbba3733 100644 --- a/stage0/stdlib/Lean/InternalExceptionId.c +++ b/stage0/stdlib/Lean/InternalExceptionId.c @@ -34,7 +34,6 @@ LEAN_EXPORT lean_object* l_Lean_registerInternalExceptionId___lambda__1___boxed( lean_object* lean_string_append(lean_object*, lean_object*); static lean_object* l_Lean_instBEqInternalExceptionId___closed__1; lean_object* lean_array_fget(lean_object*, lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); lean_object* l_Lean_Name_toString(lean_object*, uint8_t); LEAN_EXPORT lean_object* l_Lean_instInhabitedInternalExceptionId; @@ -53,6 +52,7 @@ static lean_object* l_Lean_InternalExceptionId_getName___closed__2; LEAN_EXPORT lean_object* l_Lean_InternalExceptionId_idx___default; LEAN_EXPORT lean_object* l_Array_contains___at_Lean_registerInternalExceptionId___spec__1___boxed(lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_InternalExceptionId_getName___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_internalExceptionsRef; LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_InternalExceptionId___hyg_78_(lean_object*); diff --git a/stage0/stdlib/Lean/KeyedDeclsAttribute.c b/stage0/stdlib/Lean/KeyedDeclsAttribute.c index 84dbddd4b2..38134ee327 100644 --- a/stage0/stdlib/Lean/KeyedDeclsAttribute.c +++ b/stage0/stdlib/Lean/KeyedDeclsAttribute.c @@ -148,7 +148,6 @@ static lean_object* l_Lean_KeyedDeclsAttribute_init___rarg___lambda__9___closed_ LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAtCollisionNodeAux___at___private_Lean_KeyedDeclsAttribute_0__Lean_KeyedDeclsAttribute_Table_insert___spec__26___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_filterAux___at_Lean_KeyedDeclsAttribute_getEntries___spec__13___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); uint8_t l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_128_(uint8_t, uint8_t); static lean_object* l_Lean_KeyedDeclsAttribute_instInhabitedDef___lambda__1___closed__1; LEAN_EXPORT lean_object* l_Lean_KeyedDeclsAttribute_instInhabitedDef___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -293,6 +292,7 @@ static lean_object* l_Lean_KeyedDeclsAttribute_instInhabitedDef___closed__2; static lean_object* l_Lean_KeyedDeclsAttribute_init___rarg___lambda__9___closed__5; LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at___private_Lean_KeyedDeclsAttribute_0__Lean_KeyedDeclsAttribute_Table_insert___spec__7___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_KeyedDeclsAttribute_ExtensionState_erase(lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_KeyedDeclsAttribute_getEntries___spec__5___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlMAux___at_Lean_KeyedDeclsAttribute_mkStateOfTable___spec__8___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_KeyedDeclsAttribute_mkStateOfTable___spec__13___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Level.c b/stage0/stdlib/Lean/Level.c index 792904fbef..e04a516096 100644 --- a/stage0/stdlib/Lean/Level.c +++ b/stage0/stdlib/Lean/Level.c @@ -297,6 +297,7 @@ uint64_t lean_uint32_to_uint64(uint32_t); LEAN_EXPORT lean_object* l_Lean_Level_PP_Result_format(lean_object*, uint8_t); LEAN_EXPORT lean_object* lean_level_mk_imax(lean_object*, lean_object*); static lean_object* l_Lean_instReprData___closed__2; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Level_0__Lean_reprLevel____x40_Lean_Level___hyg_807____boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Nat_imax(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Level_PP_Result_quote___spec__2___boxed(lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/LocalContext.c b/stage0/stdlib/Lean/LocalContext.c index 6d432dcc58..f9aa7367fc 100644 --- a/stage0/stdlib/Lean/LocalContext.c +++ b/stage0/stdlib/Lean/LocalContext.c @@ -411,6 +411,7 @@ static lean_object* l___private_Std_Data_PersistentArray_0__Std_PersistentArray_ LEAN_EXPORT lean_object* l_Lean_LocalContext_findDeclRevM_x3f(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_LocalContext_anyM___spec__5___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_LocalContext_foldl___spec__6___rarg(lean_object*, lean_object*, size_t, size_t, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_mkForall(lean_object*, uint8_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_LocalContext_foldl___rarg(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Nat_foldRev_loop___at_Lean_LocalContext_mkBinding___spec__1___closed__2; diff --git a/stage0/stdlib/Lean/Message.c b/stage0/stdlib/Lean/Message.c index 1c946547d3..b74a91d7ef 100644 --- a/stage0/stdlib/Lean/Message.c +++ b/stage0/stdlib/Lean/Message.c @@ -136,7 +136,6 @@ lean_object* lean_array_fget(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MessageLog_append(lean_object*, lean_object*); static lean_object* l_Lean_MessageLog_msgs___default___closed__2; LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_MessageData_hasTag___spec__1(lean_object*, lean_object*, size_t, size_t); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_MessageData_instantiateMVars_visit___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_foldlM___at_Lean_MessageLog_getInfoMessages___spec__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MessageData_toString(lean_object*, lean_object*); @@ -311,6 +310,7 @@ static lean_object* l_Lean_MessageData_formatAux___closed__8; static lean_object* l_Lean_KernelException_toMessageData___closed__31; static lean_object* l_Lean_KernelException_toMessageData___closed__35; static lean_object* l_Lean_termM_x21_____closed__5; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_ppTerm(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MessageData_isNest___boxed(lean_object*); static lean_object* l_Lean_KernelException_toMessageData___closed__23; diff --git a/stage0/stdlib/Lean/Meta/ACLt.c b/stage0/stdlib/Lean/Meta/ACLt.c index f17b199d5e..cbd7e0a566 100644 --- a/stage0/stdlib/Lean/Meta/ACLt.c +++ b/stage0/stdlib/Lean/Meta/ACLt.c @@ -72,6 +72,7 @@ uint8_t l_Lean_Name_lt(lean_object*, lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); lean_object* l_Lean_Meta_getFunInfoNArgs(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_ACLt_lt_ltApp___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*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_ACLt_lt_ltApp___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_Meta_ACLt_lt_someChildGe(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_panic_fn(lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Meta/AbstractMVars.c b/stage0/stdlib/Lean/Meta/AbstractMVars.c index a8b5bd8b08..b5a9f94c69 100644 --- a/stage0/stdlib/Lean/Meta/AbstractMVars.c +++ b/stage0/stdlib/Lean/Meta/AbstractMVars.c @@ -101,6 +101,7 @@ lean_object* l_Lean_LocalContext_mkLambda(lean_object*, lean_object*, lean_objec lean_object* lean_nat_mul(lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_instInhabitedAbstractMVarsResult___closed__1; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_AbstractMVars_State_lmap___default; lean_object* lean_expr_update_lambda(lean_object*, uint8_t, lean_object*, lean_object*); lean_object* lean_name_mk_numeral(lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Meta/AppBuilder.c b/stage0/stdlib/Lean/Meta/AppBuilder.c index aa867f46d7..05a7541149 100644 --- a/stage0/stdlib/Lean/Meta/AppBuilder.c +++ b/stage0/stdlib/Lean/Meta/AppBuilder.c @@ -149,7 +149,6 @@ lean_object* lean_array_fget(lean_object*, lean_object*); static lean_object* l_Lean_Meta_mkHEq___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_mkEqFalse(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_expr_instantiate_rev_range(lean_object*, lean_object*, lean_object*, lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Meta_mkFalseElim___closed__4; static lean_object* l_Lean_Meta_mkDefault___closed__4; LEAN_EXPORT lean_object* l_Lean_Meta_mkLetValCongr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -322,6 +321,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_mkCongrArg(lean_object*, lean_object*, lean LEAN_EXPORT lean_object* l_Lean_Meta_mkEqFalse_x27(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___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkAppMFinal___closed__3; +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*); static lean_object* l_Lean_Meta_mkLt___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_mkSyntheticSorry(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Meta/Basic.c b/stage0/stdlib/Lean/Meta/Basic.c index cb8ff39f3b..a3ad3d1c30 100644 --- a/stage0/stdlib/Lean/Meta/Basic.c +++ b/stage0/stdlib/Lean/Meta/Basic.c @@ -789,6 +789,7 @@ LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Meta_throwUnknownFVar___spe LEAN_EXPORT lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_savingCacheImpl(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_throwIsDefEqStuck___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_processPostponed_loop___closed__4; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_approxDefEqImp(lean_object*); lean_object* l_Lean_mkForall(lean_object*, uint8_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Meta_Basic___hyg_13322_(lean_object*); diff --git a/stage0/stdlib/Lean/Meta/Check.c b/stage0/stdlib/Lean/Meta/Check.c index 1474aaea64..6a2c574f53 100644 --- a/stage0/stdlib/Lean/Meta/Check.c +++ b/stage0/stdlib/Lean/Meta/Check.c @@ -122,6 +122,7 @@ LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Meta_addPPExplicitToEx lean_object* l_Lean_Meta_getLevel(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_throwAppTypeMismatch___rarg___lambda__1___closed__3; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_addPPExplicitToExposeDiff_hasExplicitDiff_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_throwLetTypeMismatchMessage___rarg___closed__7; diff --git a/stage0/stdlib/Lean/Meta/Coe.c b/stage0/stdlib/Lean/Meta/Coe.c index dfb2316cd6..6a21752662 100644 --- a/stage0/stdlib/Lean/Meta/Coe.c +++ b/stage0/stdlib/Lean/Meta/Coe.c @@ -62,7 +62,6 @@ static lean_object* l_Lean_Meta_isCoeDecl___closed__31; lean_object* l_StateRefT_x27_lift___rarg___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at_Lean_Meta_expandCoe___spec__9___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_transform_visit_visitLambda___at_Lean_Meta_expandCoe___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*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Meta_isCoeDecl___closed__27; static lean_object* l_Lean_Meta_isCoeDecl___closed__4; LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_Meta_expandCoe___spec__12___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -119,6 +118,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_transform___at_Lean_Meta_expandCoe___spec__ static lean_object* l_Lean_Meta_isCoeDecl___closed__21; static lean_object* l_Lean_Meta_isCoeDecl___closed__19; static lean_object* l_Lean_Meta_isCoeDecl___closed__11; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Meta_isCoeDecl___closed__33; static lean_object* l_Lean_Meta_transform_visit___at_Lean_Meta_expandCoe___spec__2___lambda__1___closed__2; lean_object* l_ST_Prim_Ref_modifyGetUnsafe___rarg___boxed(lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Meta/CongrTheorems.c b/stage0/stdlib/Lean/Meta/CongrTheorems.c index 93d6ac4420..b4685d0333 100644 --- a/stage0/stdlib/Lean/Meta/CongrTheorems.c +++ b/stage0/stdlib/Lean/Meta/CongrTheorems.c @@ -178,6 +178,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_CongrTheorems_0__Lean_Meta_mkCast LEAN_EXPORT lean_object* l_Lean_Meta_mkCongrSimpCore_x3f_mk_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*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_CongrTheorems_0__Lean_Meta_addPrimeToFVarUserNames___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_CongrTheorems_0__Lean_Meta_addPrimeToFVarUserNames___spec__1___closed__1; +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_CongrArgKind_noConfusion___rarg___lambda__1___boxed(lean_object*); lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Meta/Constructions.c b/stage0/stdlib/Lean/Meta/Constructions.c index 206eecc21f..5361af3c19 100644 --- a/stage0/stdlib/Lean/Meta/Constructions.c +++ b/stage0/stdlib/Lean/Meta/Constructions.c @@ -138,6 +138,7 @@ LEAN_EXPORT lean_object* l_Lean_mkCasesOn___rarg___lambda__1___boxed(lean_object static lean_object* l_Lean_mkNoConfusionEnum_mkNoConfusionType___lambda__1___closed__2; lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); static lean_object* l_List_foldlM___at_Lean_mkNoConfusionEnum_mkToCtorIdx___spec__9___closed__4; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkArrow(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_mkNoConfusionEnum_mkToCtorIdx___closed__10; lean_object* lean_set_reducibility_status(lean_object*, lean_object*, uint8_t); diff --git a/stage0/stdlib/Lean/Meta/DiscrTree.c b/stage0/stdlib/Lean/Meta/DiscrTree.c index 820db3afec..b86e6d3f46 100644 --- a/stage0/stdlib/Lean/Meta/DiscrTree.c +++ b/stage0/stdlib/Lean/Meta/DiscrTree.c @@ -364,6 +364,7 @@ static lean_object* l_Lean_Meta_DiscrTree_format___rarg___closed__1; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_DiscrTree_getMatchWithExtra_process___spec__4___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_DiscrTree_0__Lean_Meta_DiscrTree_shouldAddAsStar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_DiscrTree_insertCore___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_DiscrTree_format___spec__3___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux_traverse___at_Lean_Meta_DiscrTree_insertCore___spec__10___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_DiscrTree_Key_arity___boxed(lean_object*); diff --git a/stage0/stdlib/Lean/Meta/DiscrTreeTypes.c b/stage0/stdlib/Lean/Meta/DiscrTreeTypes.c index b0a91a2f9f..2421272def 100644 --- a/stage0/stdlib/Lean/Meta/DiscrTreeTypes.c +++ b/stage0/stdlib/Lean/Meta/DiscrTreeTypes.c @@ -30,7 +30,6 @@ static lean_object* l___private_Lean_Meta_DiscrTreeTypes_0__Lean_Meta_DiscrTree_ static lean_object* l___private_Lean_Meta_DiscrTreeTypes_0__Lean_Meta_DiscrTree_reprKey____x40_Lean_Meta_DiscrTreeTypes___hyg_310____closed__19; LEAN_EXPORT uint8_t l___private_Lean_Meta_DiscrTreeTypes_0__Lean_Meta_DiscrTree_beqKey____x40_Lean_Meta_DiscrTreeTypes___hyg_89_(lean_object*, lean_object*); lean_object* l___private_Lean_Expr_0__Lean_reprLiteral____x40_Lean_Expr___hyg_107_(lean_object*, lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_DiscrTreeTypes_0__Lean_Meta_DiscrTree_reprKey____x40_Lean_Meta_DiscrTreeTypes___hyg_310____closed__11; static lean_object* l_Lean_Meta_DiscrTree_root___default___closed__1; static lean_object* l___private_Lean_Meta_DiscrTreeTypes_0__Lean_Meta_DiscrTree_reprKey____x40_Lean_Meta_DiscrTreeTypes___hyg_310____closed__17; @@ -60,6 +59,7 @@ uint8_t lean_nat_dec_le(lean_object*, lean_object*); uint64_t l_Lean_Literal_hash(lean_object*); static lean_object* l___private_Lean_Meta_DiscrTreeTypes_0__Lean_Meta_DiscrTree_reprKey____x40_Lean_Meta_DiscrTreeTypes___hyg_310____closed__22; static lean_object* l___private_Lean_Meta_DiscrTreeTypes_0__Lean_Meta_DiscrTree_reprKey____x40_Lean_Meta_DiscrTreeTypes___hyg_310____closed__6; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_DiscrTreeTypes_0__Lean_Meta_DiscrTree_reprKey____x40_Lean_Meta_DiscrTreeTypes___hyg_310____closed__15; static lean_object* l___private_Lean_Meta_DiscrTreeTypes_0__Lean_Meta_DiscrTree_reprKey____x40_Lean_Meta_DiscrTreeTypes___hyg_310____closed__3; uint64_t lean_uint64_mix_hash(uint64_t, uint64_t); diff --git a/stage0/stdlib/Lean/Meta/ExprDefEq.c b/stage0/stdlib/Lean/Meta/ExprDefEq.c index f0a131093e..fc5a410b2e 100644 --- a/stage0/stdlib/Lean/Meta/ExprDefEq.c +++ b/stage0/stdlib/Lean/Meta/ExprDefEq.c @@ -162,6 +162,7 @@ lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*) lean_object* l_Lean_Meta_reduceNat_x3f(lean_object*, 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 uint8_t l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqProj___closed__1; static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignmentFOApprox_loop___closed__1; lean_object* l_Std_PersistentHashMap_getCollisionNodeSize___rarg(lean_object*); static lean_object* l_Lean_Meta_CheckAssignment_check___closed__15; @@ -653,6 +654,7 @@ static lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_CheckAssignment_che uint8_t l_Lean_Expr_isFVar(lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignment_checkMVar___spec__33(lean_object*, lean_object*, size_t, size_t); static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps___closed__5; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_MetavarContext_DependsOn_dep_visitApp___at_Lean_Meta_CheckAssignment_checkMVar___spec__12___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_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_ExprDefEq___hyg_14581_(lean_object*); @@ -55976,6 +55978,15 @@ lean_dec(x_7); return x_13; } } +static uint8_t _init_l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqProj___closed__1() { +_start: +{ +lean_object* x_1; uint8_t x_2; +x_1 = lean_unsigned_to_nat(0u); +x_2 = lean_nat_dec_eq(x_1, x_1); +return x_2; +} +} LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqProj(lean_object* x_1, 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: { @@ -56033,25 +56044,36 @@ return x_19; } else { -lean_object* x_20; lean_object* x_21; -lean_dec(x_14); +uint8_t x_20; lean_dec(x_13); -lean_dec(x_10); +x_20 = lean_nat_dec_eq(x_9, x_11); lean_dec(x_9); +if (x_20 == 0) +{ +lean_object* x_21; lean_object* x_22; +lean_dec(x_14); +lean_dec(x_10); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_20 = lean_box(x_12); -x_21 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_21, 0, x_20); -lean_ctor_set(x_21, 1, x_7); -return x_21; +x_21 = lean_box(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_7); +return x_22; +} +else +{ +lean_object* x_23; +x_23 = lean_is_expr_def_eq(x_10, x_14, x_3, x_4, x_5, x_6, x_7); +return x_23; +} } } else { -uint8_t x_22; lean_object* x_23; lean_object* x_24; +uint8_t x_24; lean_object* x_25; lean_object* x_26; lean_dec(x_10); lean_dec(x_9); lean_dec(x_6); @@ -56059,12 +56081,12 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_22 = 0; -x_23 = lean_box(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_7); -return x_24; +x_24 = 0; +x_25 = lean_box(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_7); +return x_26; } } else @@ -56072,111 +56094,131 @@ else lean_dec(x_9); if (lean_obj_tag(x_2) == 11) { -lean_object* x_25; lean_object* x_26; uint8_t x_27; +lean_object* x_27; lean_object* x_28; uint8_t x_29; lean_dec(x_8); -x_25 = lean_ctor_get(x_2, 1); -lean_inc(x_25); -x_26 = lean_ctor_get(x_2, 2); -lean_inc(x_26); +x_27 = lean_ctor_get(x_2, 1); +lean_inc(x_27); +x_28 = lean_ctor_get(x_2, 2); +lean_inc(x_28); lean_dec(x_2); -x_27 = lean_nat_dec_eq(x_25, x_11); -if (x_27 == 0) +x_29 = lean_nat_dec_eq(x_27, x_11); +if (x_29 == 0) { -uint8_t x_28; -x_28 = lean_nat_dec_eq(x_11, x_25); -lean_dec(x_25); -if (x_28 == 0) +uint8_t x_30; +x_30 = lean_nat_dec_eq(x_11, x_27); +lean_dec(x_27); +if (x_30 == 0) { -lean_object* x_29; lean_object* x_30; -lean_dec(x_26); +lean_object* x_31; lean_object* x_32; +lean_dec(x_28); lean_dec(x_10); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_29 = lean_box(x_28); -x_30 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_30, 0, x_29); -lean_ctor_set(x_30, 1, x_7); -return x_30; -} -else -{ -lean_object* x_31; -x_31 = lean_is_expr_def_eq(x_10, x_26, x_3, x_4, x_5, x_6, x_7); -return x_31; -} -} -else -{ -lean_object* x_32; -lean_dec(x_25); -x_32 = lean_is_expr_def_eq(x_10, x_26, x_3, x_4, x_5, x_6, x_7); +x_31 = lean_box(x_30); +x_32 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_32, 0, x_31); +lean_ctor_set(x_32, 1, x_7); return x_32; } -} else { lean_object* x_33; -x_33 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqProj_isDefEqSingleton(x_8, x_10, x_2, x_3, x_4, x_5, x_6, x_7); +x_33 = lean_is_expr_def_eq(x_10, x_28, x_3, x_4, x_5, x_6, x_7); return x_33; } } +else +{ +uint8_t x_34; +lean_dec(x_27); +x_34 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqProj___closed__1; +if (x_34 == 0) +{ +lean_object* x_35; lean_object* x_36; +lean_dec(x_28); +lean_dec(x_10); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_35 = lean_box(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_7); +return x_36; +} +else +{ +lean_object* x_37; +x_37 = lean_is_expr_def_eq(x_10, x_28, x_3, x_4, x_5, x_6, x_7); +return x_37; +} +} +} +else +{ +lean_object* x_38; +x_38 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqProj_isDefEqSingleton(x_8, x_10, x_2, x_3, x_4, x_5, x_6, x_7); +return x_38; +} +} } else { if (lean_obj_tag(x_2) == 11) { -lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; -x_34 = lean_ctor_get(x_2, 0); -lean_inc(x_34); -x_35 = lean_ctor_get(x_2, 1); -lean_inc(x_35); -x_36 = lean_ctor_get(x_2, 2); -lean_inc(x_36); +lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43; +x_39 = lean_ctor_get(x_2, 0); +lean_inc(x_39); +x_40 = lean_ctor_get(x_2, 1); +lean_inc(x_40); +x_41 = lean_ctor_get(x_2, 2); +lean_inc(x_41); lean_dec(x_2); -x_37 = lean_unsigned_to_nat(0u); -x_38 = lean_nat_dec_eq(x_35, x_37); -lean_dec(x_35); -if (x_38 == 0) +x_42 = lean_unsigned_to_nat(0u); +x_43 = lean_nat_dec_eq(x_40, x_42); +lean_dec(x_40); +if (x_43 == 0) { -uint8_t x_39; lean_object* x_40; lean_object* x_41; -lean_dec(x_36); -lean_dec(x_34); +uint8_t x_44; lean_object* x_45; lean_object* x_46; +lean_dec(x_41); +lean_dec(x_39); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_39 = 0; -x_40 = lean_box(x_39); -x_41 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_41, 0, x_40); -lean_ctor_set(x_41, 1, x_7); -return x_41; +x_44 = 0; +x_45 = lean_box(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_7); +return x_46; } else { -lean_object* x_42; -x_42 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqProj_isDefEqSingleton(x_34, x_36, x_1, x_3, x_4, x_5, x_6, x_7); -return x_42; +lean_object* x_47; +x_47 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqProj_isDefEqSingleton(x_39, x_41, x_1, x_3, x_4, x_5, x_6, x_7); +return x_47; } } else { -uint8_t x_43; lean_object* x_44; lean_object* x_45; +uint8_t x_48; lean_object* x_49; lean_object* x_50; 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 = 0; -x_44 = lean_box(x_43); -x_45 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_45, 0, x_44); -lean_ctor_set(x_45, 1, x_7); -return x_45; +x_48 = 0; +x_49 = lean_box(x_48); +x_50 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_50, 0, x_49); +lean_ctor_set(x_50, 1, x_7); +return x_50; } } } @@ -67075,6 +67117,7 @@ l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqOnFailure___closed__1 = _ini lean_mark_persistent(l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqOnFailure___closed__1); l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqOnFailure___closed__2 = _init_l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqOnFailure___closed__2(); lean_mark_persistent(l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqOnFailure___closed__2); +l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqProj___closed__1 = _init_l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqProj___closed__1(); l_Std_PersistentHashMap_containsAux___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isCached___spec__2___closed__1 = _init_l_Std_PersistentHashMap_containsAux___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isCached___spec__2___closed__1(); l_Std_PersistentHashMap_containsAux___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isCached___spec__2___closed__2 = _init_l_Std_PersistentHashMap_containsAux___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isCached___spec__2___closed__2(); l_Std_PersistentHashMap_insertAux___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_cacheResult___spec__2___closed__1 = _init_l_Std_PersistentHashMap_insertAux___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_cacheResult___spec__2___closed__1(); diff --git a/stage0/stdlib/Lean/Meta/FunInfo.c b/stage0/stdlib/Lean/Meta/FunInfo.c index 8d302a780a..8d6760e74a 100644 --- a/stage0/stdlib/Lean/Meta/FunInfo.c +++ b/stage0/stdlib/Lean/Meta/FunInfo.c @@ -96,6 +96,7 @@ LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAtAux___at___private_Lean_M LEAN_EXPORT lean_object* l_Array_mapIdxM_map___at___private_Lean_Meta_FunInfo_0__Lean_Meta_updateHasFwdDeps___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_getFunInfoNArgs(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*); +uint8_t lean_nat_dec_eq(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___private_Lean_Meta_FunInfo_0__Lean_Meta_checkFunInfoCache(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_FunInfo_getArity(lean_object*); diff --git a/stage0/stdlib/Lean/Meta/IndPredBelow.c b/stage0/stdlib/Lean/Meta/IndPredBelow.c index 6a9e0e67cc..457afcfc47 100644 --- a/stage0/stdlib/Lean/Meta/IndPredBelow.c +++ b/stage0/stdlib/Lean/Meta/IndPredBelow.c @@ -418,6 +418,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_IndPredBelow_mkBelowMatcher_toInaccessible( 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_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*); extern lean_object* l_Lean_instInhabitedName; diff --git a/stage0/stdlib/Lean/Meta/InferType.c b/stage0/stdlib/Lean/Meta/InferType.c index 048d9f1db9..5a5620efe9 100644 --- a/stage0/stdlib/Lean/Meta/InferType.c +++ b/stage0/stdlib/Lean/Meta/InferType.c @@ -56,7 +56,6 @@ LEAN_EXPORT lean_object* l_Lean_Meta_inferTypeImp_infer(lean_object*, lean_objec LEAN_EXPORT lean_object* l_Std_PersistentHashMap_find_x3f___at___private_Lean_Meta_InferType_0__Lean_Meta_checkInferTypeCache___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_InferType_0__Lean_Meta_inferProjType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_throwTypeExcepted___rarg___closed__1; -static lean_object* l_Lean_Expr_instantiateBetaRevRange_visit___closed__12; uint8_t l_Lean_Expr_isBVar(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_throwFunctionExpected___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -152,7 +151,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_InferType_0__Lean_Meta_inferForal LEAN_EXPORT lean_object* l___private_Lean_Meta_InferType_0__Lean_Meta_inferFVarType___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_whnf(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_isTypeFormerType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Expr_instantiateBetaRevRange_visit___closed__13; lean_object* l_Lean_mkFVar(lean_object*); uint8_t l_Lean_Expr_Data_binderInfo(uint64_t); size_t lean_usize_of_nat(lean_object*); @@ -203,11 +201,11 @@ lean_object* lean_nat_mul(lean_object*, lean_object*); lean_object* l_Lean_MetavarContext_findDecl_x3f(lean_object*, lean_object*); static lean_object* l_Lean_Expr_instantiateBetaRevRange_visit___closed__3; 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___private_Lean_Meta_InferType_0__Lean_Meta_isPropQuickApp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_expr_update_lambda(lean_object*, uint8_t, lean_object*, lean_object*); static lean_object* l_Lean_Meta_throwFunctionExpected___rarg___closed__4; -lean_object* l_instBEq___rarg(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_Lean_Meta_throwUnknownMVar___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_panic_fn(lean_object*, lean_object*); @@ -241,6 +239,7 @@ LEAN_EXPORT lean_object* l_Lean_Expr_instantiateBetaRevRange_visit(lean_object*, lean_object* l_Lean_Meta_isReadOnlyOrSyntheticOpaqueExprMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Expr_instantiateBetaRevRange___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_throwTypeExcepted___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_instBEqNat; LEAN_EXPORT lean_object* l_panic___at_Lean_Expr_instantiateBetaRevRange_visit___spec__10(lean_object*, lean_object*); static lean_object* l_Std_PersistentHashMap_insertAux___at___private_Lean_Meta_InferType_0__Lean_Meta_checkInferTypeCache___spec__5___closed__1; lean_object* lean_local_ctx_find(lean_object*, lean_object*); @@ -273,7 +272,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_InferType_0__Lean_Meta_withLocalD static lean_object* l_Lean_Meta_inferTypeImp_infer___closed__1; LEAN_EXPORT lean_object* l_Std_AssocList_contains___at_Lean_Expr_instantiateBetaRevRange_visit___spec__4___boxed(lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_mkCollisionNode___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Nat_decEq___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_InferType_0__Lean_Meta_withLocalDecl_x27___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Expr_instantiateBetaRevRange_visit___spec__2(lean_object* x_1, lean_object* x_2) { @@ -995,28 +993,30 @@ return x_34; static lean_object* _init_l_Lean_Expr_instantiateBetaRevRange_visit___closed__1() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Nat_decEq___boxed), 2, 0); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_ExprStructEq_instBEqExprStructEq; +x_2 = l_instBEqNat; +x_3 = lean_alloc_closure((void*)(l_instBEqProd___rarg), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } static lean_object* _init_l_Lean_Expr_instantiateBetaRevRange_visit___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__1; -x_2 = lean_alloc_closure((void*)(l_instBEq___rarg), 3, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_instHashableNat___boxed), 1, 0); +return x_1; } } static lean_object* _init_l_Lean_Expr_instantiateBetaRevRange_visit___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_ExprStructEq_instBEqExprStructEq; +x_1 = l_Lean_ExprStructEq_instHashableExprStructEq; x_2 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__2; -x_3 = lean_alloc_closure((void*)(l_instBEqProd___rarg), 4, 2); +x_3 = lean_alloc_closure((void*)(l_instHashableProd___rarg___boxed), 3, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; @@ -1026,31 +1026,11 @@ static lean_object* _init_l_Lean_Expr_instantiateBetaRevRange_visit___closed__4( _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_instHashableNat___boxed), 1, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_Expr_instantiateBetaRevRange_visit___closed__5() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_ExprStructEq_instHashableExprStructEq; -x_2 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__4; -x_3 = lean_alloc_closure((void*)(l_instHashableProd___rarg___boxed), 3, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Expr_instantiateBetaRevRange_visit___closed__6() { -_start: -{ -lean_object* x_1; x_1 = lean_mk_string("Lean.Meta.InferType"); return x_1; } } -static lean_object* _init_l_Lean_Expr_instantiateBetaRevRange_visit___closed__7() { +static lean_object* _init_l_Lean_Expr_instantiateBetaRevRange_visit___closed__5() { _start: { lean_object* x_1; @@ -1058,7 +1038,7 @@ x_1 = lean_mk_string("Lean.Expr.instantiateBetaRevRange.visit"); return x_1; } } -static lean_object* _init_l_Lean_Expr_instantiateBetaRevRange_visit___closed__8() { +static lean_object* _init_l_Lean_Expr_instantiateBetaRevRange_visit___closed__6() { _start: { lean_object* x_1; @@ -1066,15 +1046,41 @@ x_1 = lean_mk_string("unreachable code has been reached"); return x_1; } } +static lean_object* _init_l_Lean_Expr_instantiateBetaRevRange_visit___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_1 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__4; +x_2 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__5; +x_3 = lean_unsigned_to_nat(62u); +x_4 = lean_unsigned_to_nat(25u); +x_5 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__6; +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_Expr_instantiateBetaRevRange_visit___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_Expr_instantiateBetaRevRange_visit___closed__4; +x_2 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__5; +x_3 = lean_unsigned_to_nat(63u); +x_4 = lean_unsigned_to_nat(25u); +x_5 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__6; +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_Expr_instantiateBetaRevRange_visit___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__6; -x_2 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__7; -x_3 = lean_unsigned_to_nat(62u); +x_1 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__4; +x_2 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__5; +x_3 = lean_unsigned_to_nat(64u); x_4 = lean_unsigned_to_nat(25u); -x_5 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__8; +x_5 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__6; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); return x_6; } @@ -1083,11 +1089,11 @@ static lean_object* _init_l_Lean_Expr_instantiateBetaRevRange_visit___closed__10 _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__6; -x_2 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__7; -x_3 = lean_unsigned_to_nat(63u); +x_1 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__4; +x_2 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__5; +x_3 = lean_unsigned_to_nat(61u); x_4 = lean_unsigned_to_nat(25u); -x_5 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__8; +x_5 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__6; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); return x_6; } @@ -1096,37 +1102,11 @@ static lean_object* _init_l_Lean_Expr_instantiateBetaRevRange_visit___closed__11 _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__6; -x_2 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__7; -x_3 = lean_unsigned_to_nat(64u); -x_4 = lean_unsigned_to_nat(25u); -x_5 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__8; -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_Expr_instantiateBetaRevRange_visit___closed__12() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__6; -x_2 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__7; -x_3 = lean_unsigned_to_nat(61u); -x_4 = lean_unsigned_to_nat(25u); -x_5 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__8; -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_Expr_instantiateBetaRevRange_visit___closed__13() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__6; -x_2 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__7; +x_1 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__4; +x_2 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__5; x_3 = lean_unsigned_to_nat(65u); x_4 = lean_unsigned_to_nat(25u); -x_5 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__8; +x_5 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__6; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); return x_6; } @@ -1208,7 +1188,7 @@ case 1: lean_object* x_29; lean_object* x_30; uint8_t x_31; lean_dec(x_5); lean_dec(x_4); -x_29 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__9; +x_29 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__7; x_30 = l_panic___at_Lean_Expr_instantiateBetaRevRange_visit___spec__10(x_29, x_6); x_31 = !lean_is_exclusive(x_30); if (x_31 == 0) @@ -1242,7 +1222,7 @@ case 2: lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_dec(x_5); lean_dec(x_4); -x_39 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__10; +x_39 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__8; x_40 = l_panic___at_Lean_Expr_instantiateBetaRevRange_visit___spec__10(x_39, x_6); x_41 = !lean_is_exclusive(x_40); if (x_41 == 0) @@ -1276,7 +1256,7 @@ case 3: lean_object* x_49; lean_object* x_50; uint8_t x_51; lean_dec(x_5); lean_dec(x_4); -x_49 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__11; +x_49 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__9; x_50 = l_panic___at_Lean_Expr_instantiateBetaRevRange_visit___spec__10(x_49, x_6); x_51 = !lean_is_exclusive(x_50); if (x_51 == 0) @@ -1310,7 +1290,7 @@ case 4: lean_object* x_59; lean_object* x_60; uint8_t x_61; lean_dec(x_5); lean_dec(x_4); -x_59 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__12; +x_59 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__10; x_60 = l_panic___at_Lean_Expr_instantiateBetaRevRange_visit___spec__10(x_59, x_6); x_61 = !lean_is_exclusive(x_60); if (x_61 == 0) @@ -1346,8 +1326,8 @@ x_69 = lean_unsigned_to_nat(0u); x_70 = l_Lean_Expr_getAppNumArgsAux(x_4, x_69); x_71 = lean_mk_empty_array_with_capacity(x_70); lean_dec(x_70); -x_72 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__3; -x_73 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__5; +x_72 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__1; +x_73 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__3; x_74 = l___private_Lean_Expr_0__Lean_Expr_withAppRevAux___at_Lean_Expr_instantiateBetaRevRange_visit___spec__12(x_1, x_2, x_3, x_5, x_72, x_73, x_4, x_71, x_6); x_75 = !lean_is_exclusive(x_74); if (x_75 == 0) @@ -1727,7 +1707,7 @@ case 9: lean_object* x_207; lean_object* x_208; uint8_t x_209; lean_dec(x_5); lean_dec(x_4); -x_207 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__13; +x_207 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__11; x_208 = l_panic___at_Lean_Expr_instantiateBetaRevRange_visit___spec__10(x_207, x_6); x_209 = !lean_is_exclusive(x_208); if (x_209 == 0) @@ -2053,7 +2033,7 @@ static lean_object* _init_l_Lean_Expr_instantiateBetaRevRange___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__6; +x_1 = l_Lean_Expr_instantiateBetaRevRange_visit___closed__4; x_2 = l_Lean_Expr_instantiateBetaRevRange___closed__4; x_3 = lean_unsigned_to_nat(27u); x_4 = lean_unsigned_to_nat(4u); @@ -13975,10 +13955,6 @@ l_Lean_Expr_instantiateBetaRevRange_visit___closed__10 = _init_l_Lean_Expr_insta lean_mark_persistent(l_Lean_Expr_instantiateBetaRevRange_visit___closed__10); l_Lean_Expr_instantiateBetaRevRange_visit___closed__11 = _init_l_Lean_Expr_instantiateBetaRevRange_visit___closed__11(); lean_mark_persistent(l_Lean_Expr_instantiateBetaRevRange_visit___closed__11); -l_Lean_Expr_instantiateBetaRevRange_visit___closed__12 = _init_l_Lean_Expr_instantiateBetaRevRange_visit___closed__12(); -lean_mark_persistent(l_Lean_Expr_instantiateBetaRevRange_visit___closed__12); -l_Lean_Expr_instantiateBetaRevRange_visit___closed__13 = _init_l_Lean_Expr_instantiateBetaRevRange_visit___closed__13(); -lean_mark_persistent(l_Lean_Expr_instantiateBetaRevRange_visit___closed__13); l_Lean_Expr_instantiateBetaRevRange___closed__1 = _init_l_Lean_Expr_instantiateBetaRevRange___closed__1(); lean_mark_persistent(l_Lean_Expr_instantiateBetaRevRange___closed__1); l_Lean_Expr_instantiateBetaRevRange___closed__2 = _init_l_Lean_Expr_instantiateBetaRevRange___closed__2(); diff --git a/stage0/stdlib/Lean/Meta/Instances.c b/stage0/stdlib/Lean/Meta/Instances.c index 07519f8aa0..b7bfbe79cf 100644 --- a/stage0/stdlib/Lean/Meta/Instances.c +++ b/stage0/stdlib/Lean/Meta/Instances.c @@ -248,6 +248,7 @@ static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Instances___hyg_470____l static lean_object* l_Lean_Meta_instInhabitedDefaultInstances___closed__1; lean_object* l_Lean_throwError___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Instances_erase___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_DiscrTree_0__Lean_Meta_DiscrTree_insertAux___at_Lean_Meta_addInstanceEntry___spec__9___closed__3; static lean_object* l_Lean_Meta_addDefaultInstance___lambda__2___closed__6; diff --git a/stage0/stdlib/Lean/Meta/KAbstract.c b/stage0/stdlib/Lean/Meta/KAbstract.c index e15b0897f3..19c091bcdd 100644 --- a/stage0/stdlib/Lean/Meta/KAbstract.c +++ b/stage0/stdlib/Lean/Meta/KAbstract.c @@ -19,7 +19,6 @@ lean_object* lean_expr_update_mdata(lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); uint8_t l_Lean_Occurrences_contains(lean_object*, lean_object*); lean_object* lean_st_mk_ref(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_kabstract_visit___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -33,6 +32,7 @@ uint8_t l___private_Lean_Data_Occurrences_0__Lean_beqOccurrences____x40_Lean_Dat LEAN_EXPORT lean_object* l_Lean_Meta_kabstract_visit(lean_object*, lean_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*); uint8_t l_Lean_Expr_isFVar(lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* lean_expr_update_lambda(lean_object*, uint8_t, lean_object*, lean_object*); lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_hasLooseBVars(lean_object*); diff --git a/stage0/stdlib/Lean/Meta/LevelDefEq.c b/stage0/stdlib/Lean/Meta/LevelDefEq.c index ccf7186f89..c93dff69dc 100644 --- a/stage0/stdlib/Lean/Meta/LevelDefEq.c +++ b/stage0/stdlib/Lean/Meta/LevelDefEq.c @@ -43,7 +43,6 @@ lean_object* lean_is_level_def_eq(lean_object*, lean_object*, lean_object*, lean LEAN_EXPORT lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_postponeIsLevelDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_isLevelDefEqAuxImpl___lambda__2___closed__1; static lean_object* l_panic___at___private_Lean_Meta_LevelDefEq_0__Lean_Meta_solveSelfMax___spec__1___closed__1; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_solveSelfMax___closed__4; static lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_postponeIsLevelDefEq___closed__10; uint8_t l_Lean_Level_isParam(lean_object*); @@ -75,6 +74,7 @@ uint8_t l_Bool_toLBool(uint8_t); uint8_t l_Lean_Level_isMVar(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_isLevelDefEqAuxImpl___lambda__2(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*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_mkMaxArgsDiff(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_postponeIsLevelDefEq___closed__4; lean_object* l_Lean_Level_getLevelOffset(lean_object*); diff --git a/stage0/stdlib/Lean/Meta/Match/Basic.c b/stage0/stdlib/Lean/Meta/Match/Basic.c index a76f35ce4a..fc50206daa 100644 --- a/stage0/stdlib/Lean/Meta/Match/Basic.c +++ b/stage0/stdlib/Lean/Meta/Match/Basic.c @@ -83,7 +83,6 @@ lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean 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*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_instantiatePatternMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__3; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__5; static lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__9; LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Meta_Match_Example_replaceFVarId___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); @@ -193,6 +192,7 @@ LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Meta_Match_Example_replaceFVa LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Meta_Match_Alt_checkAndReplaceFVarId___spec__1(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_Match_Example_replaceFVarId(lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_withGoalOf(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_Lean_Meta_Match_Pattern_toMessageData___closed__6; diff --git a/stage0/stdlib/Lean/Meta/Match/Match.c b/stage0/stdlib/Lean/Meta/Match/Match.c index 416af6f11b..98569f10d6 100644 --- a/stage0/stdlib/Lean/Meta/Match/Match.c +++ b/stage0/stdlib/Lean/Meta/Match/Match.c @@ -82,7 +82,7 @@ uint8_t lean_usize_dec_eq(size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___lambda__4___boxed(lean_object**); lean_object* lean_array_uget(lean_object*, size_t); LEAN_EXPORT lean_object* l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isArrayLitTransition___spec__1___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___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_Meta_Match_mkMatcher___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_9193____closed__1; LEAN_EXPORT lean_object* l_Array_mapIdxM_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__10___lambda__1___boxed(lean_object**); LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__2(lean_object*, lean_object*, lean_object*); @@ -173,7 +173,6 @@ static lean_object* l_Lean_Meta_Match_Unify_assign___closed__3; static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___closed__2; LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Meta_Match_Unify_assign___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_Meta_Match_Match_0__Lean_Meta_Match_throwCasesException___rarg___closed__13; -static lean_object* l_Lean_Meta_Match_mkMatcher___lambda__5___closed__8; LEAN_EXPORT uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasNatValPattern(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*); @@ -204,7 +203,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_pr LEAN_EXPORT uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isDone(lean_object*); static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___closed__1; static lean_object* l_Lean_Meta_Match_getMkMatcherInputInContext___closed__1; -LEAN_EXPORT lean_object* l_Nat_foldAux___at_Lean_Meta_Match_mkMatcher___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Nat_foldAux___at_Lean_Meta_Match_mkMatcher___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNextPatternTypes___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_filterAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -217,7 +216,7 @@ static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwCa LEAN_EXPORT lean_object* l_Lean_Meta_Match_withMkMatcherInput___rarg___lambda__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_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Match_getMkMatcherInputInContext___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___lambda__3(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*); +LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___lambda__3(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*); LEAN_EXPORT lean_object* l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasVarPattern___spec__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceStep(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_processConstructor___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*); @@ -395,7 +394,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_Match_Unify_assign(lean_object*, lean_objec LEAN_EXPORT lean_object* l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_inLocalDecls___spec__1___boxed(lean_object*, lean_object*, lean_object*); uint64_t l_Lean_Expr_hash(lean_object*); static lean_object* l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandNatValuePattern___spec__1___closed__7; -LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___lambda__4(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*); +LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___lambda__4(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*); LEAN_EXPORT lean_object* l_Lean_Meta_Match_State_counterExamples___default; lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f___closed__1; @@ -592,7 +591,7 @@ 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_Lean_Meta_MatcherApp_addArg___lambda__4___closed__2; -LEAN_EXPORT lean_object* l_Nat_foldAux___at_Lean_Meta_Match_mkMatcher___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Nat_foldAux___at_Lean_Meta_Match_mkMatcher___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_mul(lean_object*, lean_object*); 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*); @@ -607,6 +606,7 @@ uint8_t l_Lean_Expr_isFVar(lean_object*); lean_object* l_Lean_Meta_Match_Example_replaceFVarId(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___closed__1; LEAN_EXPORT lean_object* l_Std_HashSetImp_contains___at_Lean_Meta_Match_mkMatcher___spec__3___boxed(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwCasesException___rarg___closed__9; static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwNonSupported___lambda__1___closed__1; LEAN_EXPORT lean_object* l_List_filterAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__2(lean_object*, lean_object*, lean_object*); @@ -703,7 +703,6 @@ lean_object* l_Lean_Meta_setInlineAttribute(lean_object*, uint8_t, lean_object*, LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux_traverse___at_Lean_Meta_Match_mkMatcherAuxDefinition___spec__6(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_mkMatcher___lambda__5___closed__3; -static lean_object* l_Lean_Meta_Match_mkMatcher___lambda__5___closed__7; LEAN_EXPORT lean_object* l_Std_HashSetImp_expand___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf___spec__4(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process_tryToProcess(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_getAppFn(lean_object*); @@ -797,12 +796,11 @@ static lean_object* l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean lean_object* l_Lean_Meta_check(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAux___at_Lean_Meta_Match_mkMatcherAuxDefinition___spec__2(lean_object*, size_t, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_List_moveToFront(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___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_Exception_toMessageData(lean_object*); lean_object* l_Std_PersistentHashMap_mkCollisionNode___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTRAux___at_Lean_Meta_Match_mkMatcher___spec__1(lean_object*, lean_object*); static lean_object* l_Lean_Meta_MatcherApp_addArg___lambda__2___closed__1; -lean_object* l_Nat_decEq___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwNonSupported___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAux___at_Lean_Meta_Match_mkMatcherAuxDefinition___spec__2___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_mkMatcher___lambda__5___closed__5; @@ -24309,44 +24307,44 @@ lean_dec(x_8); return x_9; } } -LEAN_EXPORT lean_object* l_Nat_foldAux___at_Lean_Meta_Match_mkMatcher___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_Nat_foldAux___at_Lean_Meta_Match_mkMatcher___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { -lean_object* x_6; uint8_t x_7; -x_6 = lean_unsigned_to_nat(0u); -x_7 = lean_nat_dec_eq(x_4, x_6); -if (x_7 == 0) +lean_object* x_5; uint8_t x_6; +x_5 = lean_unsigned_to_nat(0u); +x_6 = lean_nat_dec_eq(x_3, 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; uint8_t x_12; +x_7 = lean_unsigned_to_nat(1u); +x_8 = lean_nat_sub(x_3, x_7); +lean_dec(x_3); +x_9 = lean_nat_add(x_8, x_7); +x_10 = lean_nat_sub(x_2, x_9); +lean_dec(x_9); +x_11 = lean_ctor_get(x_1, 0); +x_12 = l_Std_HashSetImp_contains___at_Lean_Meta_Match_mkMatcher___spec__3(x_11, x_10); +if (x_12 == 0) +{ +lean_object* x_13; +x_13 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_13, 0, x_10); +lean_ctor_set(x_13, 1, x_4); +x_3 = x_8; +x_4 = x_13; +goto _start; +} +else { -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_8 = lean_unsigned_to_nat(1u); -x_9 = lean_nat_sub(x_4, x_8); -lean_dec(x_4); -x_10 = lean_nat_add(x_9, x_8); -x_11 = lean_nat_sub(x_3, x_10); lean_dec(x_10); -x_12 = lean_ctor_get(x_2, 0); -x_13 = l_Std_HashSetImp_contains___at_Lean_Meta_Match_mkMatcher___spec__3(x_12, x_11); -if (x_13 == 0) -{ -lean_object* x_14; -x_14 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_14, 0, x_11); -lean_ctor_set(x_14, 1, x_5); -x_4 = x_9; -x_5 = x_14; -goto _start; -} -else -{ -lean_dec(x_11); -x_4 = x_9; +x_3 = x_8; goto _start; } } else { -lean_dec(x_4); -return x_5; +lean_dec(x_3); +return x_4; } } } @@ -24427,27 +24425,27 @@ goto _start; } } } -LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___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_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_unsigned_to_nat(0u); -x_14 = l_List_lengthTRAux___rarg(x_1, x_13); -lean_inc(x_14); -x_15 = l_Nat_foldAux___at_Lean_Meta_Match_mkMatcher___spec__4(x_2, x_3, x_14, x_14, x_4); -lean_dec(x_14); -x_16 = lean_ctor_get(x_3, 1); -x_17 = l_List_reverse___rarg(x_15); -lean_inc(x_16); -x_18 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_18, 0, x_5); -lean_ctor_set(x_18, 1, x_16); -lean_ctor_set(x_18, 2, x_17); -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_12); -return x_19; +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_12 = lean_unsigned_to_nat(0u); +x_13 = l_List_lengthTRAux___rarg(x_1, x_12); +lean_inc(x_13); +x_14 = l_Nat_foldAux___at_Lean_Meta_Match_mkMatcher___spec__4(x_2, x_13, x_13, x_3); +lean_dec(x_13); +x_15 = lean_ctor_get(x_2, 1); +x_16 = l_List_reverse___rarg(x_14); +lean_inc(x_15); +x_17 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_17, 0, x_4); +lean_ctor_set(x_17, 1, x_15); +lean_ctor_set(x_17, 2, x_16); +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_11); +return x_18; } } LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { @@ -24486,204 +24484,200 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Meta_Match_mkMatcher___lambda__2___boxed return x_1; } } -LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___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, size_t x_10, size_t 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_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___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, size_t x_9, size_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) { _start: { -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = l_Lean_Expr_getAppFn(x_1); -x_21 = l_Lean_Expr_constLevels_x21(x_20); -lean_inc(x_18); +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = l_Lean_Expr_getAppFn(x_1); +x_20 = l_Lean_Expr_constLevels_x21(x_19); lean_inc(x_17); lean_inc(x_16); lean_inc(x_15); +lean_inc(x_14); lean_inc(x_2); -x_22 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f(x_21, x_2, x_15, x_16, x_17, x_18, x_19); -if (lean_obj_tag(x_22) == 0) +x_21 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f(x_20, x_2, x_14, x_15, x_16, x_17, x_18); +if (lean_obj_tag(x_21) == 0) { -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_22, 0); +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_21, 0); +lean_inc(x_22); +x_23 = lean_ctor_get(x_21, 1); lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -lean_inc(x_18); +lean_dec(x_21); lean_inc(x_17); lean_inc(x_16); lean_inc(x_15); -x_25 = l_Lean_Meta_isLevelDefEq(x_2, x_3, x_15, x_16, x_17, x_18, x_24); -if (lean_obj_tag(x_25) == 0) +lean_inc(x_14); +x_24 = l_Lean_Meta_isLevelDefEq(x_2, x_3, x_14, x_15, x_16, x_17, x_23); +if (lean_obj_tag(x_24) == 0) { -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_25, 1); -lean_inc(x_26); -lean_dec(x_25); -x_27 = lean_st_ref_get(x_18, x_26); -if (lean_obj_tag(x_9) == 0) +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_24, 1); +lean_inc(x_25); +lean_dec(x_24); +x_26 = lean_st_ref_get(x_17, x_25); +if (lean_obj_tag(x_8) == 0) { -lean_object* x_54; -lean_dec(x_23); -lean_dec(x_13); +lean_object* x_53; +lean_dec(x_22); lean_dec(x_12); -x_54 = l_Lean_Meta_Match_mkMatcher___lambda__3___closed__3; -x_28 = x_54; -goto block_53; +lean_dec(x_11); +x_53 = l_Lean_Meta_Match_mkMatcher___lambda__3___closed__3; +x_27 = x_53; +goto block_52; } else { -lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_55 = lean_ctor_get(x_9, 0); -lean_inc(x_55); -lean_dec(x_9); -x_56 = lean_unsigned_to_nat(0u); -x_57 = l_Lean_Expr_getAppNumArgsAux(x_1, x_56); -x_58 = l_Array_mapMUnsafe_map___at_Lean_Meta_Match_mkMatcher___spec__5(x_10, x_11, x_12); -x_59 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_59, 0, x_57); -lean_ctor_set(x_59, 1, x_13); -lean_ctor_set(x_59, 2, x_58); -lean_ctor_set(x_59, 3, x_23); -x_60 = lean_apply_1(x_55, x_59); -x_28 = x_60; -goto block_53; -} -block_53: -{ -uint8_t x_29; lean_object* x_30; lean_object* x_43; lean_object* x_44; uint8_t x_45; -x_43 = lean_ctor_get(x_27, 0); -lean_inc(x_43); -x_44 = lean_ctor_get(x_43, 3); -lean_inc(x_44); -lean_dec(x_43); -x_45 = lean_ctor_get_uint8(x_44, sizeof(void*)*1); -lean_dec(x_44); -if (x_45 == 0) -{ -lean_object* x_46; uint8_t x_47; -x_46 = lean_ctor_get(x_27, 1); -lean_inc(x_46); -lean_dec(x_27); -x_47 = 0; -x_29 = x_47; -x_30 = x_46; -goto block_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_27, 1); -lean_inc(x_48); -lean_dec(x_27); -lean_inc(x_8); -x_49 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_Basic_0__Lean_Meta_processPostponedStep___spec__14(x_8, x_15, x_16, x_17, x_18, 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); -lean_dec(x_49); -x_52 = lean_unbox(x_50); -lean_dec(x_50); -x_29 = x_52; -x_30 = x_51; -goto block_42; -} -block_42: -{ -if (x_29 == 0) -{ -lean_object* x_31; lean_object* x_32; +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_54 = lean_ctor_get(x_8, 0); +lean_inc(x_54); lean_dec(x_8); -x_31 = lean_box(0); -x_32 = l_Lean_Meta_Match_mkMatcher___lambda__1(x_4, x_5, x_6, x_7, x_1, x_28, x_31, x_15, x_16, x_17, x_18, x_30); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -return x_32; +x_55 = lean_unsigned_to_nat(0u); +x_56 = l_Lean_Expr_getAppNumArgsAux(x_1, x_55); +x_57 = l_Array_mapMUnsafe_map___at_Lean_Meta_Match_mkMatcher___spec__5(x_9, x_10, x_11); +x_58 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_58, 0, x_56); +lean_ctor_set(x_58, 1, x_12); +lean_ctor_set(x_58, 2, x_57); +lean_ctor_set(x_58, 3, x_22); +x_59 = lean_apply_1(x_54, x_58); +x_27 = x_59; +goto block_52; +} +block_52: +{ +uint8_t x_28; lean_object* x_29; lean_object* x_42; lean_object* x_43; uint8_t x_44; +x_42 = lean_ctor_get(x_26, 0); +lean_inc(x_42); +x_43 = lean_ctor_get(x_42, 3); +lean_inc(x_43); +lean_dec(x_42); +x_44 = lean_ctor_get_uint8(x_43, sizeof(void*)*1); +lean_dec(x_43); +if (x_44 == 0) +{ +lean_object* x_45; uint8_t x_46; +x_45 = lean_ctor_get(x_26, 1); +lean_inc(x_45); +lean_dec(x_26); +x_46 = 0; +x_28 = x_46; +x_29 = x_45; +goto block_41; } 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_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; uint8_t x_51; +x_47 = lean_ctor_get(x_26, 1); +lean_inc(x_47); +lean_dec(x_26); +lean_inc(x_7); +x_48 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_Basic_0__Lean_Meta_processPostponedStep___spec__14(x_7, x_14, x_15, x_16, x_17, x_47); +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_unbox(x_49); +lean_dec(x_49); +x_28 = x_51; +x_29 = x_50; +goto block_41; +} +block_41: +{ +if (x_28 == 0) +{ +lean_object* x_30; lean_object* x_31; +lean_dec(x_7); +x_30 = lean_box(0); +x_31 = l_Lean_Meta_Match_mkMatcher___lambda__1(x_4, x_5, x_6, x_1, x_27, x_30, x_14, x_15, x_16, x_17, x_29); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_5); +lean_dec(x_4); +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_inc(x_1); -x_33 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_33, 0, x_1); -x_34 = l_Lean_Meta_Match_mkMatcher___lambda__3___closed__2; -x_35 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_35, 0, x_34); -lean_ctor_set(x_35, 1, x_33); -x_36 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__14; -x_37 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_37, 0, x_35); -lean_ctor_set(x_37, 1, x_36); -x_38 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__1(x_8, x_37, x_15, x_16, x_17, x_18, x_30); -x_39 = lean_ctor_get(x_38, 0); +x_32 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_32, 0, x_1); +x_33 = l_Lean_Meta_Match_mkMatcher___lambda__3___closed__2; +x_34 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_34, 0, x_33); +lean_ctor_set(x_34, 1, x_32); +x_35 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__14; +x_36 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_36, 0, x_34); +lean_ctor_set(x_36, 1, x_35); +x_37 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__1(x_7, x_36, x_14, x_15, x_16, x_17, x_29); +x_38 = lean_ctor_get(x_37, 0); +lean_inc(x_38); +x_39 = lean_ctor_get(x_37, 1); lean_inc(x_39); -x_40 = lean_ctor_get(x_38, 1); -lean_inc(x_40); -lean_dec(x_38); -x_41 = l_Lean_Meta_Match_mkMatcher___lambda__1(x_4, x_5, x_6, x_7, x_1, x_28, x_39, x_15, x_16, x_17, x_18, x_40); -lean_dec(x_18); +lean_dec(x_37); +x_40 = l_Lean_Meta_Match_mkMatcher___lambda__1(x_4, x_5, x_6, x_1, x_27, x_38, x_14, x_15, x_16, x_17, x_39); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); -lean_dec(x_39); -lean_dec(x_6); +lean_dec(x_14); +lean_dec(x_38); lean_dec(x_5); lean_dec(x_4); -return x_41; +return x_40; } } } } else { -uint8_t x_61; -lean_dec(x_23); -lean_dec(x_18); +uint8_t x_60; +lean_dec(x_22); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); -lean_dec(x_13); +lean_dec(x_14); lean_dec(x_12); -lean_dec(x_9); +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_61 = !lean_is_exclusive(x_25); -if (x_61 == 0) +x_60 = !lean_is_exclusive(x_24); +if (x_60 == 0) { -return x_25; +return x_24; } else { -lean_object* x_62; lean_object* x_63; lean_object* x_64; -x_62 = lean_ctor_get(x_25, 0); -x_63 = lean_ctor_get(x_25, 1); -lean_inc(x_63); +lean_object* x_61; lean_object* x_62; lean_object* x_63; +x_61 = lean_ctor_get(x_24, 0); +x_62 = lean_ctor_get(x_24, 1); lean_inc(x_62); -lean_dec(x_25); -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; +lean_inc(x_61); +lean_dec(x_24); +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_65; -lean_dec(x_18); +uint8_t x_64; lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); -lean_dec(x_13); +lean_dec(x_14); lean_dec(x_12); -lean_dec(x_9); +lean_dec(x_11); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -24692,23 +24686,23 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_65 = !lean_is_exclusive(x_22); -if (x_65 == 0) +x_64 = !lean_is_exclusive(x_21); +if (x_64 == 0) { -return x_22; +return x_21; } else { -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_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_dec(x_22); -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_inc(x_65); +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; } } } @@ -24747,149 +24741,148 @@ x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___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, 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_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___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, size_t x_10, size_t 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: { -lean_object* x_21; -lean_dec(x_15); -lean_inc(x_19); +lean_object* x_20; +lean_dec(x_14); lean_inc(x_18); lean_inc(x_17); lean_inc(x_16); -x_21 = l_Lean_Meta_Match_mkMatcherAuxDefinition(x_1, x_2, x_3, x_16, x_17, x_18, x_19, x_20); -if (lean_obj_tag(x_21) == 0) +lean_inc(x_15); +x_20 = l_Lean_Meta_Match_mkMatcherAuxDefinition(x_1, x_2, x_3, x_15, x_16, x_17, x_18, x_19); +if (lean_obj_tag(x_20) == 0) { -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_47; lean_object* x_48; lean_object* x_49; uint8_t x_50; -x_22 = lean_ctor_get(x_21, 0); +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_46; lean_object* x_47; lean_object* x_48; uint8_t x_49; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); lean_inc(x_22); -x_23 = lean_ctor_get(x_21, 1); +lean_dec(x_20); +x_23 = lean_ctor_get(x_21, 0); lean_inc(x_23); -lean_dec(x_21); -x_24 = lean_ctor_get(x_22, 0); +x_24 = lean_ctor_get(x_21, 1); lean_inc(x_24); -x_25 = lean_ctor_get(x_22, 1); -lean_inc(x_25); -lean_dec(x_22); -x_47 = lean_st_ref_get(x_19, x_23); -x_48 = lean_ctor_get(x_47, 0); +lean_dec(x_21); +x_46 = lean_st_ref_get(x_18, x_22); +x_47 = lean_ctor_get(x_46, 0); +lean_inc(x_47); +x_48 = lean_ctor_get(x_47, 3); lean_inc(x_48); -x_49 = lean_ctor_get(x_48, 3); -lean_inc(x_49); +lean_dec(x_47); +x_49 = lean_ctor_get_uint8(x_48, sizeof(void*)*1); lean_dec(x_48); -x_50 = lean_ctor_get_uint8(x_49, sizeof(void*)*1); -lean_dec(x_49); -if (x_50 == 0) +if (x_49 == 0) { -lean_object* x_51; uint8_t x_52; -x_51 = lean_ctor_get(x_47, 1); -lean_inc(x_51); -lean_dec(x_47); -x_52 = 0; -x_26 = x_52; -x_27 = x_51; -goto block_46; +lean_object* x_50; uint8_t x_51; +x_50 = lean_ctor_get(x_46, 1); +lean_inc(x_50); +lean_dec(x_46); +x_51 = 0; +x_25 = x_51; +x_26 = x_50; +goto block_45; } else { -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_47, 1); -lean_inc(x_53); -lean_dec(x_47); -lean_inc(x_10); -x_54 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_Basic_0__Lean_Meta_processPostponedStep___spec__14(x_10, x_16, x_17, x_18, x_19, 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_unbox(x_55); -lean_dec(x_55); -x_26 = x_57; -x_27 = x_56; -goto block_46; -} -block_46: -{ -if (x_26 == 0) -{ -lean_object* x_28; lean_object* x_29; -x_28 = lean_box(0); -x_29 = l_Lean_Meta_Match_mkMatcher___lambda__3(x_24, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_25, x_11, x_12, x_13, x_14, x_28, x_16, x_17, x_18, x_19, x_27); -return x_29; -} -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 = l_Lean_Expr_getAppFn(x_24); -x_31 = l_Lean_Expr_constLevels_x21(x_30); +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_46, 1); +lean_inc(x_52); +lean_dec(x_46); lean_inc(x_9); -x_32 = l_List_mapTRAux___at_Lean_Meta_Match_mkMatcher___spec__6(x_31, x_9); -x_33 = l_Lean_MessageData_ofList(x_32); -lean_dec(x_32); -x_34 = l_Lean_Meta_Match_mkMatcher___lambda__4___closed__2; -x_35 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_35, 0, x_34); -lean_ctor_set(x_35, 1, x_33); -x_36 = l_Lean_Meta_Match_mkMatcher___lambda__4___closed__4; -x_37 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_37, 0, x_35); -lean_ctor_set(x_37, 1, x_36); +x_53 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_Basic_0__Lean_Meta_processPostponedStep___spec__14(x_9, x_15, x_16, x_17, x_18, x_52); +x_54 = lean_ctor_get(x_53, 0); +lean_inc(x_54); +x_55 = lean_ctor_get(x_53, 1); +lean_inc(x_55); +lean_dec(x_53); +x_56 = lean_unbox(x_54); +lean_dec(x_54); +x_25 = x_56; +x_26 = x_55; +goto block_45; +} +block_45: +{ +if (x_25 == 0) +{ +lean_object* x_27; lean_object* x_28; +x_27 = lean_box(0); +x_28 = l_Lean_Meta_Match_mkMatcher___lambda__3(x_23, x_4, x_5, x_6, x_7, x_8, x_9, x_24, x_10, x_11, x_12, x_13, x_27, x_15, x_16, x_17, x_18, x_26); +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; +x_29 = l_Lean_Expr_getAppFn(x_23); +x_30 = l_Lean_Expr_constLevels_x21(x_29); +lean_inc(x_8); +x_31 = l_List_mapTRAux___at_Lean_Meta_Match_mkMatcher___spec__6(x_30, x_8); +x_32 = l_Lean_MessageData_ofList(x_31); +lean_dec(x_31); +x_33 = l_Lean_Meta_Match_mkMatcher___lambda__4___closed__2; +x_34 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_34, 0, x_33); +lean_ctor_set(x_34, 1, x_32); +x_35 = l_Lean_Meta_Match_mkMatcher___lambda__4___closed__4; +x_36 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_36, 0, x_34); +lean_ctor_set(x_36, 1, x_35); lean_inc(x_4); -x_38 = lean_alloc_ctor(3, 1, 0); -lean_ctor_set(x_38, 0, x_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___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__14; -x_41 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_41, 0, x_39); -lean_ctor_set(x_41, 1, x_40); -lean_inc(x_10); -x_42 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__1(x_10, x_41, x_16, x_17, x_18, x_19, x_27); -x_43 = lean_ctor_get(x_42, 0); +x_37 = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(x_37, 0, x_4); +x_38 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_38, 0, x_36); +lean_ctor_set(x_38, 1, x_37); +x_39 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__14; +x_40 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_40, 0, x_38); +lean_ctor_set(x_40, 1, x_39); +lean_inc(x_9); +x_41 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__1(x_9, x_40, x_15, x_16, x_17, x_18, x_26); +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); +lean_dec(x_41); +x_44 = l_Lean_Meta_Match_mkMatcher___lambda__3(x_23, x_4, x_5, x_6, x_7, x_8, x_9, x_24, x_10, x_11, x_12, x_13, x_42, x_15, x_16, x_17, x_18, x_43); lean_dec(x_42); -x_45 = l_Lean_Meta_Match_mkMatcher___lambda__3(x_24, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_25, x_11, x_12, x_13, x_14, x_43, x_16, x_17, x_18, x_19, x_44); -lean_dec(x_43); -return x_45; +return x_44; } } } else { -uint8_t x_58; -lean_dec(x_19); +uint8_t x_57; lean_dec(x_18); lean_dec(x_17); lean_dec(x_16); -lean_dec(x_14); +lean_dec(x_15); lean_dec(x_13); -lean_dec(x_10); +lean_dec(x_12); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_58 = !lean_is_exclusive(x_21); -if (x_58 == 0) +x_57 = !lean_is_exclusive(x_20); +if (x_57 == 0) { -return x_21; +return x_20; } else { -lean_object* x_59; lean_object* x_60; lean_object* x_61; -x_59 = lean_ctor_get(x_21, 0); -x_60 = lean_ctor_get(x_21, 1); -lean_inc(x_60); +lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_58 = lean_ctor_get(x_20, 0); +x_59 = lean_ctor_get(x_20, 1); lean_inc(x_59); -lean_dec(x_21); -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_20); +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; } } } @@ -24897,43 +24890,25 @@ return x_61; static lean_object* _init_l_Lean_Meta_Match_mkMatcher___lambda__5___closed__1() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Nat_decEq___boxed), 2, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_Meta_Match_mkMatcher___lambda__5___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Match_mkMatcher___lambda__5___closed__1; -x_2 = lean_alloc_closure((void*)(l_instBEq___rarg), 3, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Meta_Match_mkMatcher___lambda__5___closed__3() { -_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_Meta_Match_mkMatcher___lambda__5___closed__4() { +static lean_object* _init_l_Lean_Meta_Match_mkMatcher___lambda__5___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Meta_Match_mkMatcher___lambda__5___closed__3; +x_2 = l_Lean_Meta_Match_mkMatcher___lambda__5___closed__1; x_3 = lean_alloc_ctor(0, 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_Meta_Match_mkMatcher___lambda__5___closed__5() { +static lean_object* _init_l_Lean_Meta_Match_mkMatcher___lambda__5___closed__3() { _start: { lean_object* x_1; @@ -24941,6 +24916,23 @@ x_1 = lean_mk_string("matcher value: "); return x_1; } } +static lean_object* _init_l_Lean_Meta_Match_mkMatcher___lambda__5___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_Match_mkMatcher___lambda__5___closed__3; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Match_mkMatcher___lambda__5___closed__5() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("\ntype: "); +return x_1; +} +} static lean_object* _init_l_Lean_Meta_Match_mkMatcher___lambda__5___closed__6() { _start: { @@ -24950,23 +24942,6 @@ x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Lean_Meta_Match_mkMatcher___lambda__5___closed__7() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("\ntype: "); -return x_1; -} -} -static lean_object* _init_l_Lean_Meta_Match_mkMatcher___lambda__5___closed__8() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Match_mkMatcher___lambda__5___closed__7; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___lambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { _start: { @@ -24998,7 +24973,7 @@ x_28 = lean_st_ref_get(x_15, x_22); x_29 = lean_ctor_get(x_28, 1); lean_inc(x_29); lean_dec(x_28); -x_30 = l_Lean_Meta_Match_mkMatcher___lambda__5___closed__4; +x_30 = l_Lean_Meta_Match_mkMatcher___lambda__5___closed__2; x_31 = lean_st_mk_ref(x_30, x_29); x_32 = lean_ctor_get(x_31, 0); lean_inc(x_32); @@ -25056,99 +25031,97 @@ lean_inc(x_12); x_55 = l_Lean_Meta_mkLambdaFVars(x_49, x_21, x_50, x_51, x_12, x_13, x_14, x_15, x_54); if (lean_obj_tag(x_55) == 0) { -lean_object* x_56; lean_object* x_57; uint8_t x_58; lean_object* x_59; lean_object* x_78; lean_object* x_79; lean_object* x_80; uint8_t x_81; +lean_object* x_56; lean_object* x_57; uint8_t x_58; lean_object* x_59; lean_object* x_76; lean_object* x_77; lean_object* x_78; uint8_t x_79; 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_78 = lean_st_ref_get(x_15, x_57); -x_79 = lean_ctor_get(x_78, 0); -lean_inc(x_79); -x_80 = lean_ctor_get(x_79, 3); -lean_inc(x_80); -lean_dec(x_79); -x_81 = lean_ctor_get_uint8(x_80, sizeof(void*)*1); -lean_dec(x_80); -if (x_81 == 0) -{ -lean_object* x_82; -x_82 = lean_ctor_get(x_78, 1); -lean_inc(x_82); +x_76 = lean_st_ref_get(x_15, x_57); +x_77 = lean_ctor_get(x_76, 0); +lean_inc(x_77); +x_78 = lean_ctor_get(x_77, 3); +lean_inc(x_78); +lean_dec(x_77); +x_79 = lean_ctor_get_uint8(x_78, sizeof(void*)*1); lean_dec(x_78); +if (x_79 == 0) +{ +lean_object* x_80; +x_80 = lean_ctor_get(x_76, 1); +lean_inc(x_80); +lean_dec(x_76); x_58 = x_50; -x_59 = x_82; -goto block_77; +x_59 = x_80; +goto block_75; } else { -lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; uint8_t x_87; -x_83 = lean_ctor_get(x_78, 1); -lean_inc(x_83); -lean_dec(x_78); +lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; uint8_t x_85; +x_81 = lean_ctor_get(x_76, 1); +lean_inc(x_81); +lean_dec(x_76); lean_inc(x_8); -x_84 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_Basic_0__Lean_Meta_processPostponedStep___spec__14(x_8, x_12, x_13, x_14, x_15, x_83); -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); -x_87 = lean_unbox(x_85); -lean_dec(x_85); -x_58 = x_87; -x_59 = x_86; -goto block_77; +x_82 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_Basic_0__Lean_Meta_processPostponedStep___spec__14(x_8, x_12, x_13, x_14, x_15, x_81); +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_unbox(x_83); +lean_dec(x_83); +x_58 = x_85; +x_59 = x_84; +goto block_75; } -block_77: +block_75: { if (x_58 == 0) { -lean_object* x_60; lean_object* x_61; lean_object* x_62; -x_60 = l_Lean_Meta_Match_mkMatcher___lambda__5___closed__2; -x_61 = lean_box(0); -x_62 = l_Lean_Meta_Match_mkMatcher___lambda__4(x_4, x_53, x_56, x_5, x_6, x_7, x_60, x_40, x_24, x_8, x_46, x_47, x_11, x_9, x_61, x_12, x_13, x_14, x_15, x_59); -return x_62; +lean_object* x_60; lean_object* x_61; +x_60 = lean_box(0); +x_61 = l_Lean_Meta_Match_mkMatcher___lambda__4(x_4, x_53, x_56, x_5, x_6, x_7, x_40, x_24, x_8, x_46, x_47, x_11, x_9, x_60, x_12, x_13, x_14, x_15, x_59); +return x_61; } else { -lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; +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_inc(x_56); -x_63 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_63, 0, x_56); -x_64 = l_Lean_Meta_Match_mkMatcher___lambda__5___closed__6; -x_65 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_65, 0, x_64); -lean_ctor_set(x_65, 1, x_63); -x_66 = l_Lean_Meta_Match_mkMatcher___lambda__5___closed__8; -x_67 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_67, 0, x_65); -lean_ctor_set(x_67, 1, x_66); +x_62 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_62, 0, x_56); +x_63 = l_Lean_Meta_Match_mkMatcher___lambda__5___closed__4; +x_64 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_64, 0, x_63); +lean_ctor_set(x_64, 1, x_62); +x_65 = l_Lean_Meta_Match_mkMatcher___lambda__5___closed__6; +x_66 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_66, 0, x_64); +lean_ctor_set(x_66, 1, x_65); lean_inc(x_53); -x_68 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_68, 0, x_53); -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___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__14; -x_71 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_71, 0, x_69); -lean_ctor_set(x_71, 1, x_70); +x_67 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_67, 0, x_53); +x_68 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_68, 0, x_66); +lean_ctor_set(x_68, 1, x_67); +x_69 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__14; +x_70 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_70, 0, x_68); +lean_ctor_set(x_70, 1, x_69); lean_inc(x_8); -x_72 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__1(x_8, x_71, x_12, x_13, x_14, x_15, x_59); -x_73 = lean_ctor_get(x_72, 0); +x_71 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__1(x_8, x_70, x_12, x_13, x_14, x_15, x_59); +x_72 = lean_ctor_get(x_71, 0); +lean_inc(x_72); +x_73 = lean_ctor_get(x_71, 1); lean_inc(x_73); -x_74 = lean_ctor_get(x_72, 1); -lean_inc(x_74); -lean_dec(x_72); -x_75 = l_Lean_Meta_Match_mkMatcher___lambda__5___closed__2; -x_76 = l_Lean_Meta_Match_mkMatcher___lambda__4(x_4, x_53, x_56, x_5, x_6, x_7, x_75, x_40, x_24, x_8, x_46, x_47, x_11, x_9, x_73, x_12, x_13, x_14, x_15, x_74); -return x_76; +lean_dec(x_71); +x_74 = l_Lean_Meta_Match_mkMatcher___lambda__4(x_4, x_53, x_56, x_5, x_6, x_7, x_40, x_24, x_8, x_46, x_47, x_11, x_9, x_72, x_12, x_13, x_14, x_15, x_73); +return x_74; } } } else { -uint8_t x_88; +uint8_t x_86; lean_dec(x_53); lean_dec(x_40); lean_dec(x_15); @@ -25162,29 +25135,29 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_88 = !lean_is_exclusive(x_55); -if (x_88 == 0) +x_86 = !lean_is_exclusive(x_55); +if (x_86 == 0) { return x_55; } else { -lean_object* x_89; lean_object* x_90; lean_object* x_91; -x_89 = lean_ctor_get(x_55, 0); -x_90 = lean_ctor_get(x_55, 1); -lean_inc(x_90); -lean_inc(x_89); +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_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; +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_92; +uint8_t x_90; lean_dec(x_49); lean_dec(x_40); lean_dec(x_21); @@ -25199,29 +25172,29 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_92 = !lean_is_exclusive(x_52); -if (x_92 == 0) +x_90 = !lean_is_exclusive(x_52); +if (x_90 == 0) { return x_52; } else { -lean_object* x_93; lean_object* x_94; lean_object* x_95; -x_93 = lean_ctor_get(x_52, 0); -x_94 = lean_ctor_get(x_52, 1); -lean_inc(x_94); -lean_inc(x_93); +lean_object* x_91; lean_object* x_92; lean_object* x_93; +x_91 = lean_ctor_get(x_52, 0); +x_92 = lean_ctor_get(x_52, 1); +lean_inc(x_92); +lean_inc(x_91); lean_dec(x_52); -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; +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_96; +uint8_t x_94; lean_dec(x_32); lean_dec(x_21); lean_dec(x_15); @@ -25238,23 +25211,23 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_96 = !lean_is_exclusive(x_35); -if (x_96 == 0) +x_94 = !lean_is_exclusive(x_35); +if (x_94 == 0) { return x_35; } else { -lean_object* x_97; lean_object* x_98; lean_object* x_99; -x_97 = lean_ctor_get(x_35, 0); -x_98 = lean_ctor_get(x_35, 1); -lean_inc(x_98); -lean_inc(x_97); +lean_object* x_95; lean_object* x_96; lean_object* x_97; +x_95 = lean_ctor_get(x_35, 0); +x_96 = lean_ctor_get(x_35, 1); +lean_inc(x_96); +lean_inc(x_95); lean_dec(x_35); -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; +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; } } } @@ -25714,15 +25687,14 @@ x_4 = lean_box(x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Nat_foldAux___at_Lean_Meta_Match_mkMatcher___spec__4___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_Nat_foldAux___at_Lean_Meta_Match_mkMatcher___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { -lean_object* x_6; -x_6 = l_Nat_foldAux___at_Lean_Meta_Match_mkMatcher___spec__4(x_1, x_2, x_3, x_4, x_5); -lean_dec(x_3); +lean_object* x_5; +x_5 = l_Nat_foldAux___at_Lean_Meta_Match_mkMatcher___spec__4(x_1, x_2, x_3, x_4); lean_dec(x_2); lean_dec(x_1); -return x_6; +return x_5; } } LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Match_mkMatcher___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { @@ -25737,20 +25709,19 @@ x_6 = l_Array_mapMUnsafe_map___at_Lean_Meta_Match_mkMatcher___spec__5(x_4, x_5, return x_6; } } -LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___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_13; -x_13 = l_Lean_Meta_Match_mkMatcher___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_object* x_12; +x_12 = l_Lean_Meta_Match_mkMatcher___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); -lean_dec(x_3); +lean_dec(x_6); lean_dec(x_2); lean_dec(x_1); -return x_13; +return x_12; } } LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { @@ -25784,17 +25755,16 @@ 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: { -size_t x_20; size_t x_21; lean_object* x_22; +size_t x_19; size_t x_20; lean_object* x_21; +x_19 = lean_unbox_usize(x_9); +lean_dec(x_9); x_20 = lean_unbox_usize(x_10); lean_dec(x_10); -x_21 = lean_unbox_usize(x_11); -lean_dec(x_11); -x_22 = l_Lean_Meta_Match_mkMatcher___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_20, x_21, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19); -lean_dec(x_14); -return x_22; +x_21 = l_Lean_Meta_Match_mkMatcher___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_19, x_20, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18); +lean_dec(x_13); +return x_21; } } LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___lambda__4___boxed(lean_object** _args) { @@ -25817,16 +25787,15 @@ lean_object* x_16 = _args[15]; lean_object* x_17 = _args[16]; lean_object* x_18 = _args[17]; lean_object* x_19 = _args[18]; -lean_object* x_20 = _args[19]; _start: { -size_t x_21; size_t x_22; lean_object* x_23; +size_t x_20; size_t x_21; lean_object* x_22; +x_20 = lean_unbox_usize(x_10); +lean_dec(x_10); x_21 = lean_unbox_usize(x_11); lean_dec(x_11); -x_22 = lean_unbox_usize(x_12); -lean_dec(x_12); -x_23 = l_Lean_Meta_Match_mkMatcher___lambda__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_21, x_22, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_20); -return x_23; +x_22 = l_Lean_Meta_Match_mkMatcher___lambda__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_20, x_21, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19); +return x_22; } } LEAN_EXPORT lean_object* l_Lean_Meta_Match_mkMatcher___lambda__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { @@ -29672,10 +29641,6 @@ l_Lean_Meta_Match_mkMatcher___lambda__5___closed__5 = _init_l_Lean_Meta_Match_mk lean_mark_persistent(l_Lean_Meta_Match_mkMatcher___lambda__5___closed__5); l_Lean_Meta_Match_mkMatcher___lambda__5___closed__6 = _init_l_Lean_Meta_Match_mkMatcher___lambda__5___closed__6(); lean_mark_persistent(l_Lean_Meta_Match_mkMatcher___lambda__5___closed__6); -l_Lean_Meta_Match_mkMatcher___lambda__5___closed__7 = _init_l_Lean_Meta_Match_mkMatcher___lambda__5___closed__7(); -lean_mark_persistent(l_Lean_Meta_Match_mkMatcher___lambda__5___closed__7); -l_Lean_Meta_Match_mkMatcher___lambda__5___closed__8 = _init_l_Lean_Meta_Match_mkMatcher___lambda__5___closed__8(); -lean_mark_persistent(l_Lean_Meta_Match_mkMatcher___lambda__5___closed__8); l_Lean_Meta_Match_mkMatcher___lambda__7___closed__1 = _init_l_Lean_Meta_Match_mkMatcher___lambda__7___closed__1(); lean_mark_persistent(l_Lean_Meta_Match_mkMatcher___lambda__7___closed__1); l_Lean_Meta_Match_mkMatcher___lambda__7___closed__2 = _init_l_Lean_Meta_Match_mkMatcher___lambda__7___closed__2(); diff --git a/stage0/stdlib/Lean/Meta/Match/MatchEqs.c b/stage0/stdlib/Lean/Meta/Match/MatchEqs.c index 17fb24d591..48c88c81e0 100644 --- a/stage0/stdlib/Lean/Meta/Match/MatchEqs.c +++ b/stage0/stdlib/Lean/Meta/Match/MatchEqs.c @@ -218,7 +218,6 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Match lean_object* l_Lean_Meta_substCore(lean_object*, lean_object*, uint8_t, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match_mkSplitterProof_convertTemplate___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match_registerMatchEqns___closed__1; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Meta_Match_proveCondEqThm_go___closed__1; static lean_object* l_Lean_Meta_Match_proveCondEqThm_go___closed__2; static lean_object* l_Lean_Meta_casesOnStuckLHS___closed__2; @@ -492,6 +491,7 @@ lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match_mkEquationsFor___spec__1(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_Match_MatchEqnsExtState_map___default; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match_injectionAny___spec__3(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* 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_withLocalDecl___at_Lean_Meta_Match_unfoldNamedPattern___spec__8___boxed(lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Meta/Offset.c b/stage0/stdlib/Lean/Meta/Offset.c index 17f50f99be..4a6be482dd 100644 --- a/stage0/stdlib/Lean/Meta/Offset.c +++ b/stage0/stdlib/Lean/Meta/Offset.c @@ -31,7 +31,6 @@ static lean_object* l_Lean_Meta_isNatProjInst___closed__10; lean_object* lean_nat_add(lean_object*, lean_object*); static lean_object* l_Lean_Meta_isNatProjInst___closed__26; static lean_object* l_Lean_Meta_isNatProjInst___closed__12; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Meta_isNatProjInst___closed__19; lean_object* lean_nat_sub(lean_object*, lean_object*); static lean_object* l_Lean_Meta_isNatProjInst___closed__2; @@ -64,6 +63,7 @@ uint8_t l_Bool_toLBool(uint8_t); static lean_object* l_Lean_Meta_isNatProjInst___closed__17; static lean_object* l_Lean_Meta_isNatProjInst___closed__1; lean_object* lean_nat_mul(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Meta_evalNat_visit___closed__3; static lean_object* l_Lean_Meta_evalNat___closed__2; lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Meta/PPGoal.c b/stage0/stdlib/Lean/Meta/PPGoal.c index 318a650de5..ecf3a7cda2 100644 --- a/stage0/stdlib/Lean/Meta/PPGoal.c +++ b/stage0/stdlib/Lean/Meta/PPGoal.c @@ -150,7 +150,6 @@ static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_PPGoal___hyg_6____closed LEAN_EXPORT lean_object* l_Std_RBNode_ins___at_Lean_Meta_ToHide_moveToHiddeProp___spec__2(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_ppGoal___closed__3; LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_MetavarContext_DependsOn_dep_visit___at_Lean_Meta_ToHide_hasInaccessibleNameDep___spec__41(lean_object*, lean_object*, lean_object*, lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_PPGoal___hyg_34____closed__1; LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_MetavarContext_DependsOn_dep_visit___at_Lean_Meta_ToHide_hasVisibleDep___spec__33(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_MetavarContext_DependsOn_dep_visitApp___at_Lean_Meta_ToHide_hasVisibleDep___spec__35___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -330,6 +329,7 @@ LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_ppGoal___spec_ LEAN_EXPORT uint8_t l_Std_PersistentArray_anyMAux___at_Lean_Meta_ToHide_hasVisibleDep___spec__45(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withPPInaccessibleNames___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_MetavarContext_DependsOn_dep_visit___at_Lean_Meta_ToHide_hasVisibleDep___spec__41(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_ToHide_moveToHiddeProp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_HashMap_insert___at_Lean_Meta_ToHide_visitVisibleExpr_visit___spec__3(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_PPGoal___hyg_34_(lean_object*); diff --git a/stage0/stdlib/Lean/Meta/RecursorInfo.c b/stage0/stdlib/Lean/Meta/RecursorInfo.c index 656c122062..00135069fa 100644 --- a/stage0/stdlib/Lean/Meta/RecursorInfo.c +++ b/stage0/stdlib/Lean/Meta/RecursorInfo.c @@ -42,7 +42,7 @@ lean_object* lean_array_uget(lean_object*, size_t); LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Meta_RecursorInfo_0__Lean_Meta_mkRecursorInfoAux___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*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_RecursorInfo_0__Lean_Meta_checkMotiveResultType___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Meta_RecursorInfo_0__Lean_Meta_getProduceMotiveAndRecursive___spec__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__12; +static uint8_t l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__12; static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_RecursorInfo___hyg_2707____lambda__2___closed__18; LEAN_EXPORT lean_object* l___private_Lean_Meta_RecursorInfo_0__Lean_Meta_mkRecursorInfoAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_RecursorInfo___hyg_2707____lambda__2___closed__7; @@ -87,6 +87,7 @@ lean_object* lean_array_get_size(lean_object*); lean_object* lean_string_append(lean_object*, lean_object*); static lean_object* l_Lean_getConstInfoInduct___at___private_Lean_Meta_RecursorInfo_0__Lean_Meta_mkRecursorInfoForKernelRec___spec__1___closed__1; lean_object* l_List_range(lean_object*); +static lean_object* l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__14; static lean_object* l___private_Lean_Meta_RecursorInfo_0__Lean_Meta_checkMotive___closed__4; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_RecursorInfo_0__Lean_Meta_getParamsPos___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_getConstInfoInduct___at___private_Lean_Meta_RecursorInfo_0__Lean_Meta_mkRecursorInfoForKernelRec___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -272,6 +273,7 @@ LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Meta_RecursorInfo LEAN_EXPORT lean_object* l_Lean_Meta_RecursorInfo_motivePos(lean_object*); uint8_t l_Lean_Expr_isFVar(lean_object*); static lean_object* l_Lean_Meta_RecursorInfo_instToStringRecursorInfo___closed__10; +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_initFn____x40_Lean_Meta_RecursorInfo___hyg_2707____lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_RecursorInfo_0__Lean_Meta_getMotiveLevel(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -9157,7 +9159,16 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Meta_Attribute_Recursor_getMajorPos___la return x_1; } } -static lean_object* _init_l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__12() { +static uint8_t _init_l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__12() { +_start: +{ +lean_object* x_1; uint8_t x_2; +x_1 = lean_unsigned_to_nat(0u); +x_2 = lean_nat_dec_eq(x_1, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__13() { _start: { lean_object* x_1; @@ -9165,11 +9176,11 @@ x_1 = lean_mk_string("major premise position must be greater than zero"); return x_1; } } -static lean_object* _init_l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__13() { +static lean_object* _init_l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__14() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__12; +x_1 = l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__13; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } @@ -9200,74 +9211,88 @@ x_13 = l___private_Init_Meta_0__Lean_Syntax_isNatLitAux(x_12, x_11); lean_dec(x_11); if (lean_obj_tag(x_13) == 0) { -lean_object* x_14; lean_object* x_15; uint8_t x_16; -x_14 = l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__13; -x_15 = l_Lean_throwErrorAt___at_Lean_Meta_Attribute_Recursor_getMajorPos___spec__1(x_1, x_14, x_2, x_3, x_4); -lean_dec(x_3); -lean_dec(x_1); -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) +lean_object* x_14; uint8_t x_15; +x_14 = l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__11; +x_15 = l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__12; +if (x_15 == 0) { -return x_15; +lean_object* x_16; lean_object* x_17; +lean_dec(x_1); +x_16 = lean_box(0); +x_17 = lean_apply_4(x_14, x_16, x_2, x_3, x_4); +return x_17; } else { -lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_17 = lean_ctor_get(x_15, 0); -x_18 = lean_ctor_get(x_15, 1); -lean_inc(x_18); -lean_inc(x_17); -lean_dec(x_15); -x_19 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_19, 0, x_17); -lean_ctor_set(x_19, 1, x_18); +lean_object* x_18; lean_object* x_19; uint8_t x_20; +x_18 = l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__14; +x_19 = l_Lean_throwErrorAt___at_Lean_Meta_Attribute_Recursor_getMajorPos___spec__1(x_1, x_18, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_1); +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_object* x_20; lean_object* x_21; uint8_t x_22; -x_20 = lean_ctor_get(x_13, 0); -lean_inc(x_20); +lean_object* x_24; lean_object* x_25; uint8_t x_26; +x_24 = lean_ctor_get(x_13, 0); +lean_inc(x_24); lean_dec(x_13); -x_21 = lean_unsigned_to_nat(0u); -x_22 = lean_nat_dec_eq(x_20, x_21); -if (x_22 == 0) +x_25 = lean_unsigned_to_nat(0u); +x_26 = lean_nat_dec_eq(x_24, x_25); +if (x_26 == 0) { -lean_object* x_23; lean_object* x_24; +lean_object* x_27; lean_object* x_28; lean_dec(x_1); -x_23 = lean_box(0); -x_24 = l_Lean_Meta_Attribute_Recursor_getMajorPos___lambda__2(x_20, x_23, x_2, x_3, x_4); +x_27 = lean_box(0); +x_28 = l_Lean_Meta_Attribute_Recursor_getMajorPos___lambda__2(x_24, x_27, x_2, x_3, x_4); lean_dec(x_3); lean_dec(x_2); -lean_dec(x_20); -return x_24; +lean_dec(x_24); +return x_28; } else { -lean_object* x_25; lean_object* x_26; uint8_t x_27; -lean_dec(x_20); -x_25 = l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__13; -x_26 = l_Lean_throwErrorAt___at_Lean_Meta_Attribute_Recursor_getMajorPos___spec__1(x_1, x_25, x_2, x_3, x_4); +lean_object* x_29; lean_object* x_30; uint8_t x_31; +lean_dec(x_24); +x_29 = l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__14; +x_30 = l_Lean_throwErrorAt___at_Lean_Meta_Attribute_Recursor_getMajorPos___spec__1(x_1, x_29, x_2, x_3, x_4); lean_dec(x_3); lean_dec(x_1); -x_27 = !lean_is_exclusive(x_26); -if (x_27 == 0) +x_31 = !lean_is_exclusive(x_30); +if (x_31 == 0) { -return x_26; +return x_30; } 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; +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; } } } @@ -10158,9 +10183,10 @@ lean_mark_persistent(l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__10); l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__11 = _init_l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__11(); lean_mark_persistent(l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__11); l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__12 = _init_l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__12(); -lean_mark_persistent(l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__12); l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__13 = _init_l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__13(); lean_mark_persistent(l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__13); +l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__14 = _init_l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__14(); +lean_mark_persistent(l_Lean_Meta_Attribute_Recursor_getMajorPos___closed__14); l_Lean_Meta_initFn____x40_Lean_Meta_RecursorInfo___hyg_2707____lambda__2___closed__1 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_RecursorInfo___hyg_2707____lambda__2___closed__1(); lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_RecursorInfo___hyg_2707____lambda__2___closed__1); l_Lean_Meta_initFn____x40_Lean_Meta_RecursorInfo___hyg_2707____lambda__2___closed__2 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_RecursorInfo___hyg_2707____lambda__2___closed__2(); diff --git a/stage0/stdlib/Lean/Meta/Reduce.c b/stage0/stdlib/Lean/Meta/Reduce.c index ce5f18eda6..1f24a23616 100644 --- a/stage0/stdlib/Lean/Meta/Reduce.c +++ b/stage0/stdlib/Lean/Meta/Reduce.c @@ -83,6 +83,7 @@ lean_object* l_Lean_Meta_getFunInfoNArgs(lean_object*, lean_object*, lean_object LEAN_EXPORT lean_object* l_Lean_Meta_reduce_visit(uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_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* lean_mk_array(lean_object*, lean_object*); 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*); diff --git a/stage0/stdlib/Lean/Meta/ReduceEval.c b/stage0/stdlib/Lean/Meta/ReduceEval.c index 60ac90b447..8fe73035f2 100644 --- a/stage0/stdlib/Lean/Meta/ReduceEval.c +++ b/stage0/stdlib/Lean/Meta/ReduceEval.c @@ -32,7 +32,6 @@ static lean_object* l_Lean_Meta_instReduceEvalOption___rarg___closed__3; static lean_object* l___private_Lean_Meta_ReduceEval_0__Lean_Meta_throwFailedToEval___rarg___closed__3; static lean_object* l_Lean_Meta_instReduceEvalName___closed__1; static lean_object* l_Lean_Meta_instReduceEvalOption___rarg___closed__5; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_ReduceEval_0__Lean_Meta_evalName___closed__6; LEAN_EXPORT lean_object* l___private_Lean_Meta_ReduceEval_0__Lean_Meta_throwFailedToEval___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -49,6 +48,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_instReduceEvalString(lean_object*, lean_obj LEAN_EXPORT lean_object* l_Lean_Meta_reduceEval___at___private_Lean_Meta_ReduceEval_0__Lean_Meta_evalName___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Meta_ReduceEval_0__Lean_Meta_throwFailedToEval___spec__1___rarg(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_object* lean_name_mk_numeral(lean_object*, lean_object*); uint8_t l_Lean_Meta_TransparencyMode_lt(uint8_t, uint8_t); diff --git a/stage0/stdlib/Lean/Meta/SizeOf.c b/stage0/stdlib/Lean/Meta/SizeOf.c index 2ab76fed93..d4d8e0b5e1 100644 --- a/stage0/stdlib/Lean/Meta/SizeOf.c +++ b/stage0/stdlib/Lean/Meta/SizeOf.c @@ -332,6 +332,7 @@ lean_object* l_Lean_Meta_mkCongrArg(lean_object*, lean_object*, lean_object*, le static lean_object* l_Lean_getConstInfoInduct___at_Lean_Meta_mkSizeOfFns___spec__1___closed__2; lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_SizeOfSpecNested_throwUnexpected___rarg___closed__2; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_getConstInfoRec___at_Lean_Meta_mkSizeOfFn___spec__1___closed__4; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Meta_SizeOf_0__Lean_Meta_SizeOfSpecNested_mkSizeOfAuxLemma___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Meta/SynthInstance.c b/stage0/stdlib/Lean/Meta/SynthInstance.c index 58e794503f..28c1045061 100644 --- a/stage0/stdlib/Lean/Meta/SynthInstance.c +++ b/stage0/stdlib/Lean/Meta/SynthInstance.c @@ -448,6 +448,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_SynthInstance_getNextToResume(lean_object*) LEAN_EXPORT lean_object* l_Lean_Meta_SynthInstance_isNewAnswer___boxed(lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MetavarContext_isLevelAssignable(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* lean_expr_update_lambda(lean_object*, uint8_t, lean_object*, lean_object*); static lean_object* l_Lean_Meta_SynthInstance_tryResolveCore___lambda__3___closed__5; diff --git a/stage0/stdlib/Lean/Meta/Tactic/Apply.c b/stage0/stdlib/Lean/Meta/Tactic/Apply.c index 7d940d8ddd..6b93e9d94c 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Apply.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Apply.c @@ -131,6 +131,7 @@ LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_apply___spec__ lean_object* l_Lean_FindMVar_main(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_observing_x3f___at_Lean_Meta_splitAnd___spec__1___at_Lean_Meta_splitAnd___spec__2___closed__2; lean_object* l_Lean_Meta_isExprMVarAssigned(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_ApplyNewGoals_toCtorIdx(uint8_t); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Assert.c b/stage0/stdlib/Lean/Meta/Tactic/Assert.c index bef982998b..d2c74c3ee4 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Assert.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Assert.c @@ -95,6 +95,7 @@ LEAN_EXPORT lean_object* l_Lean_LocalContext_foldlM___at_Lean_Meta_assertAfter__ uint8_t l_Array_contains___at___private_Lean_Class_0__Lean_checkOutParam___spec__1(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_Lean_Meta_define___closed__2; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_assertExt___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_mkForall(lean_object*, uint8_t, lean_object*, lean_object*); static lean_object* l_Lean_Meta_define___closed__1; diff --git a/stage0/stdlib/Lean/Meta/Tactic/Cases.c b/stage0/stdlib/Lean/Meta/Tactic/Cases.c index 6b60b9e087..5f369d72ee 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Cases.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Cases.c @@ -338,6 +338,7 @@ static lean_object* l_Lean_Meta_Cases_unifyEqs_injection___closed__2; LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__48___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isFVar(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_MetavarContext_DependsOn_dep_visitApp___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__41(lean_object*, lean_object*, lean_object*, size_t, size_t); lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedName; diff --git a/stage0/stdlib/Lean/Meta/Tactic/Constructor.c b/stage0/stdlib/Lean/Meta/Tactic/Constructor.c index 7bb6a845f6..19540f7e1e 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Constructor.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Constructor.c @@ -32,7 +32,6 @@ static lean_object* l_Lean_Meta_constructor___closed__2; lean_object* l_Lean_Meta_apply(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkAppN(lean_object*, lean_object*); lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_forallMetaTelescopeReducingAux(lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); static lean_object* l_Lean_Meta_constructor___closed__1; @@ -59,6 +58,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_existsIntro___lambda__1(lean_object*, lean_ static lean_object* l_Lean_Meta_existsIntro___lambda__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_constructor___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_ofSubarray___rarg(lean_object*); +uint8_t lean_nat_dec_eq(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_Meta_existsIntro___lambda__1___closed__3; lean_object* lean_mk_array(lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Contradiction.c b/stage0/stdlib/Lean/Meta/Tactic/Contradiction.c index b2b5472eac..111148e680 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Contradiction.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Contradiction.c @@ -83,7 +83,6 @@ lean_object* l_StateRefT_x27_lift___rarg___boxed(lean_object*, lean_object*); lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_commitWhen___at_Lean_Meta_ElimEmptyInductive_elim___spec__7___at_Lean_Meta_ElimEmptyInductive_elim___spec__8___lambda__2___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_ElimEmptyInductive_instMonadBacktrackSavedStateM___lambda__1___boxed(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_commitWhen___at_Lean_Meta_ElimEmptyInductive_elim___spec__7___at_Lean_Meta_ElimEmptyInductive_elim___spec__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_Lean_Meta_contradictionCore___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getMVarType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -208,6 +207,7 @@ lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isFVar(lean_object*); static lean_object* l_Lean_Meta_contradictionCore___closed__1; static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1___closed__2; +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_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___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_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Delta.c b/stage0/stdlib/Lean/Meta/Tactic/Delta.c index 86a2643315..a67513b534 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Delta.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Delta.c @@ -23,7 +23,6 @@ lean_object* lean_st_ref_get(lean_object*, lean_object*); static lean_object* l_Lean_Meta_deltaTarget___closed__1; static lean_object* l_Lean_Meta_deltaTarget___closed__2; lean_object* l_Lean_ConstantInfo_levelParams(lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_Meta_getMVarType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_deltaLocalDecl___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ConstantInfo_name(lean_object*); @@ -40,6 +39,7 @@ lean_object* l_Lean_Meta_getLocalDecl(lean_object*, lean_object*, lean_object*, LEAN_EXPORT lean_object* l_Lean_Meta_deltaTarget___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_delta_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_betaRev(lean_object*, lean_object*, uint8_t); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_deltaExpand(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_change(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_deltaExpand___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Meta/Tactic/ElimInfo.c b/stage0/stdlib/Lean/Meta/Tactic/ElimInfo.c index bf4672f243..db3459f3f2 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/ElimInfo.c +++ b/stage0/stdlib/Lean/Meta/Tactic/ElimInfo.c @@ -137,6 +137,7 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_getElimInfo___spe static lean_object* l___private_Lean_Meta_Tactic_ElimInfo_0__Lean_Meta_reprElimAltInfo____x40_Lean_Meta_Tactic_ElimInfo___hyg_22____closed__16; static lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_getElimInfo___spec__3___closed__4; uint8_t l_Lean_Expr_isFVar(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*); static lean_object* l___private_Lean_Meta_Tactic_ElimInfo_0__Lean_Meta_reprElimInfo____x40_Lean_Meta_Tactic_ElimInfo___hyg_112____closed__5; static lean_object* l___private_Lean_Meta_Tactic_ElimInfo_0__Lean_Meta_reprElimInfo____x40_Lean_Meta_Tactic_ElimInfo___hyg_112____closed__3; diff --git a/stage0/stdlib/Lean/Meta/Tactic/Induction.c b/stage0/stdlib/Lean/Meta/Tactic/Induction.c index 0fe272bbde..d28e5eee6b 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Induction.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Induction.c @@ -176,6 +176,7 @@ lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Tactic_Intro_0__Lea lean_object* l_Lean_Meta_getLevel(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forM___at_Lean_Meta_induction___spec__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_isFVar(lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_throwUnexpectedMajorType___rarg___closed__3; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_induction___spec__4___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Intro.c b/stage0/stdlib/Lean/Meta/Tactic/Intro.c index 218291b347..0e956ce562 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Intro.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Intro.c @@ -100,6 +100,7 @@ static lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_lo LEAN_EXPORT lean_object* l_Lean_Meta_getHygienicIntro___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp___spec__1(size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp_loop___rarg___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*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_getIntrosSize___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_getHygienicIntro(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_intro1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Meta/Tactic/LinearArith/Nat.c b/stage0/stdlib/Lean/Meta/Tactic/LinearArith/Nat.c index fea624788f..e7da49ec14 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/LinearArith/Nat.c +++ b/stage0/stdlib/Lean/Meta/Tactic/LinearArith/Nat.c @@ -91,7 +91,6 @@ static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Nat_0__Lean_Meta_Li static lean_object* l_Lean_Meta_Linear_Nat_ToLinear_State_varMap___default___closed__2; static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Nat_0__Lean_Meta_Linear_Nat_reprExpr____x40_Lean_Meta_Tactic_LinearArith_Nat___hyg_4____closed__9; static lean_object* l_Lean_Meta_Linear_Nat_LinearCnstr_toArith___closed__7; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Meta_Linear_Nat_ToLinear_State_varMap___default___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Linear_Nat_ToLinear_toLinearCnstr_x3f___closed__17; @@ -180,6 +179,7 @@ static lean_object* l_Lean_Meta_Linear_Nat_LinearExpr_toExpr___closed__16; static lean_object* l_Lean_Meta_Linear_Nat_LinearCnstr_toExpr___closed__6; lean_object* l_Lean_mkApp4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Meta_Linear_Nat_simpCnstrPos_x3f___closed__7; static lean_object* l_Lean_Meta_Linear_Nat_LinearCnstr_toArith___closed__2; lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1999,19 +1999,19 @@ return x_3; static lean_object* _init_l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr_visit___closed__3() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_Linear_Nat_LinearExpr_toExpr___closed__2; -x_2 = l_Lean_Meta_Linear_Nat_LinearExpr_toExpr___closed__13; -x_3 = lean_name_mk_string(x_1, x_2); -return x_3; +lean_object* x_1; +x_1 = lean_mk_string("succ"); +return x_1; } } static lean_object* _init_l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr_visit___closed__4() { _start: { -lean_object* x_1; -x_1 = lean_mk_string("succ"); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Meta_Linear_Nat_LinearExpr_toExpr___closed__2; +x_2 = l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr_visit___closed__3; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; } } static lean_object* _init_l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr_visit___closed__5() { @@ -2019,7 +2019,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Meta_Linear_Nat_LinearExpr_toExpr___closed__2; -x_2 = l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr_visit___closed__4; +x_2 = l_Lean_Meta_Linear_Nat_LinearExpr_toExpr___closed__13; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } @@ -2060,88 +2060,351 @@ return x_14; } case 4: { -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_103; lean_object* x_137; uint8_t x_138; +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_103; uint8_t x_104; x_15 = lean_ctor_get(x_8, 0); lean_inc(x_15); lean_dec(x_8); x_16 = lean_unsigned_to_nat(0u); x_17 = l_Lean_Expr_getAppNumArgsAux(x_1, x_16); -x_137 = l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr_visit___closed__5; -x_138 = lean_name_eq(x_15, x_137); +x_103 = l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr_visit___closed__4; +x_104 = lean_name_eq(x_15, x_103); +if (x_104 == 0) +{ +lean_object* x_105; uint8_t x_106; +x_105 = l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr_visit___closed__5; +x_106 = lean_name_eq(x_15, x_105); +if (x_106 == 0) +{ +lean_object* x_107; +x_107 = lean_box(0); +x_18 = x_107; +goto block_102; +} +else +{ +lean_object* x_108; uint8_t x_109; +x_108 = lean_unsigned_to_nat(2u); +x_109 = lean_nat_dec_eq(x_17, x_108); +if (x_109 == 0) +{ +lean_object* x_110; +x_110 = lean_box(0); +x_18 = x_110; +goto block_102; +} +else +{ +lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; +lean_dec(x_15); +x_111 = lean_nat_sub(x_17, x_16); +x_112 = lean_unsigned_to_nat(1u); +x_113 = lean_nat_sub(x_111, x_112); +lean_dec(x_111); +lean_inc(x_1); +x_114 = l_Lean_Expr_getRevArg_x21(x_1, x_113); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_115 = l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr(x_114, x_2, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_115) == 0) +{ +lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; +x_116 = lean_ctor_get(x_115, 0); +lean_inc(x_116); +x_117 = lean_ctor_get(x_115, 1); +lean_inc(x_117); +lean_dec(x_115); +x_118 = lean_nat_sub(x_17, x_112); +lean_dec(x_17); +x_119 = lean_nat_sub(x_118, x_112); +lean_dec(x_118); +x_120 = l_Lean_Expr_getRevArg_x21(x_1, x_119); +x_121 = l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr(x_120, x_2, x_3, x_4, x_5, x_6, x_117); +if (lean_obj_tag(x_121) == 0) +{ +uint8_t x_122; +x_122 = !lean_is_exclusive(x_121); +if (x_122 == 0) +{ +lean_object* x_123; lean_object* x_124; +x_123 = lean_ctor_get(x_121, 0); +x_124 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_124, 0, x_116); +lean_ctor_set(x_124, 1, x_123); +lean_ctor_set(x_121, 0, x_124); +return x_121; +} +else +{ +lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; +x_125 = lean_ctor_get(x_121, 0); +x_126 = lean_ctor_get(x_121, 1); +lean_inc(x_126); +lean_inc(x_125); +lean_dec(x_121); +x_127 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_127, 0, x_116); +lean_ctor_set(x_127, 1, x_125); +x_128 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_128, 0, x_127); +lean_ctor_set(x_128, 1, x_126); +return x_128; +} +} +else +{ +uint8_t x_129; +lean_dec(x_116); +x_129 = !lean_is_exclusive(x_121); +if (x_129 == 0) +{ +return x_121; +} +else +{ +lean_object* x_130; lean_object* x_131; lean_object* x_132; +x_130 = lean_ctor_get(x_121, 0); +x_131 = lean_ctor_get(x_121, 1); +lean_inc(x_131); +lean_inc(x_130); +lean_dec(x_121); +x_132 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_132, 0, x_130); +lean_ctor_set(x_132, 1, x_131); +return x_132; +} +} +} +else +{ +uint8_t x_133; +lean_dec(x_17); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_133 = !lean_is_exclusive(x_115); +if (x_133 == 0) +{ +return x_115; +} +else +{ +lean_object* x_134; lean_object* x_135; lean_object* x_136; +x_134 = lean_ctor_get(x_115, 0); +x_135 = lean_ctor_get(x_115, 1); +lean_inc(x_135); +lean_inc(x_134); +lean_dec(x_115); +x_136 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_136, 0, x_134); +lean_ctor_set(x_136, 1, x_135); +return x_136; +} +} +} +} +} +else +{ +lean_object* x_137; uint8_t x_138; +x_137 = lean_unsigned_to_nat(1u); +x_138 = lean_nat_dec_eq(x_17, x_137); if (x_138 == 0) { -lean_object* x_139; -x_139 = lean_box(0); -x_103 = x_139; -goto block_136; +lean_object* x_139; uint8_t x_140; +x_139 = l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr_visit___closed__5; +x_140 = lean_name_eq(x_15, x_139); +if (x_140 == 0) +{ +lean_object* x_141; +x_141 = lean_box(0); +x_18 = x_141; +goto block_102; } else { -lean_object* x_140; uint8_t x_141; -x_140 = lean_unsigned_to_nat(1u); -x_141 = lean_nat_dec_eq(x_17, x_140); -if (x_141 == 0) +lean_object* x_142; uint8_t x_143; +x_142 = lean_unsigned_to_nat(2u); +x_143 = lean_nat_dec_eq(x_17, x_142); +if (x_143 == 0) { -lean_object* x_142; -x_142 = lean_box(0); -x_103 = x_142; -goto block_136; +lean_object* x_144; +x_144 = lean_box(0); +x_18 = x_144; +goto block_102; } else { -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_dec(x_15); +x_145 = lean_nat_sub(x_17, x_16); +x_146 = lean_nat_sub(x_145, x_137); +lean_dec(x_145); +lean_inc(x_1); +x_147 = l_Lean_Expr_getRevArg_x21(x_1, x_146); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_148 = l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr(x_147, x_2, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_148) == 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; +x_149 = lean_ctor_get(x_148, 0); +lean_inc(x_149); +x_150 = lean_ctor_get(x_148, 1); +lean_inc(x_150); +lean_dec(x_148); +x_151 = lean_nat_sub(x_17, x_137); +lean_dec(x_17); +x_152 = lean_nat_sub(x_151, x_137); +lean_dec(x_151); +x_153 = l_Lean_Expr_getRevArg_x21(x_1, x_152); +x_154 = l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr(x_153, x_2, x_3, x_4, x_5, x_6, x_150); +if (lean_obj_tag(x_154) == 0) +{ +uint8_t x_155; +x_155 = !lean_is_exclusive(x_154); +if (x_155 == 0) +{ +lean_object* x_156; lean_object* x_157; +x_156 = lean_ctor_get(x_154, 0); +x_157 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_157, 0, x_149); +lean_ctor_set(x_157, 1, x_156); +lean_ctor_set(x_154, 0, x_157); +return x_154; +} +else +{ +lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; +x_158 = lean_ctor_get(x_154, 0); +x_159 = lean_ctor_get(x_154, 1); +lean_inc(x_159); +lean_inc(x_158); +lean_dec(x_154); +x_160 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_160, 0, x_149); +lean_ctor_set(x_160, 1, x_158); +x_161 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_161, 0, x_160); +lean_ctor_set(x_161, 1, x_159); +return x_161; +} +} +else +{ +uint8_t x_162; +lean_dec(x_149); +x_162 = !lean_is_exclusive(x_154); +if (x_162 == 0) +{ +return x_154; +} +else +{ +lean_object* x_163; lean_object* x_164; lean_object* x_165; +x_163 = lean_ctor_get(x_154, 0); +x_164 = lean_ctor_get(x_154, 1); +lean_inc(x_164); +lean_inc(x_163); +lean_dec(x_154); +x_165 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_165, 0, x_163); +lean_ctor_set(x_165, 1, x_164); +return x_165; +} +} +} +else +{ +uint8_t x_166; +lean_dec(x_17); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_166 = !lean_is_exclusive(x_148); +if (x_166 == 0) +{ +return x_148; +} +else +{ +lean_object* x_167; lean_object* x_168; lean_object* x_169; +x_167 = lean_ctor_get(x_148, 0); +x_168 = lean_ctor_get(x_148, 1); +lean_inc(x_168); +lean_inc(x_167); +lean_dec(x_148); +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_dec(x_17); lean_dec(x_15); -x_143 = l_Lean_Expr_appArg_x21(x_1); +x_170 = l_Lean_Expr_appArg_x21(x_1); lean_dec(x_1); -x_144 = l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr(x_143, x_2, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_144) == 0) +x_171 = l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr(x_170, x_2, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_171) == 0) { -uint8_t x_145; -x_145 = !lean_is_exclusive(x_144); -if (x_145 == 0) +uint8_t x_172; +x_172 = !lean_is_exclusive(x_171); +if (x_172 == 0) { -lean_object* x_146; lean_object* x_147; -x_146 = lean_ctor_get(x_144, 0); -x_147 = l_Nat_Linear_Expr_inc(x_146); -lean_ctor_set(x_144, 0, x_147); -return x_144; +lean_object* x_173; lean_object* x_174; +x_173 = lean_ctor_get(x_171, 0); +x_174 = l_Nat_Linear_Expr_inc(x_173); +lean_ctor_set(x_171, 0, x_174); +return x_171; } else { -lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; -x_148 = lean_ctor_get(x_144, 0); -x_149 = lean_ctor_get(x_144, 1); -lean_inc(x_149); -lean_inc(x_148); -lean_dec(x_144); -x_150 = l_Nat_Linear_Expr_inc(x_148); -x_151 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_151, 0, x_150); -lean_ctor_set(x_151, 1, x_149); -return x_151; +lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; +x_175 = lean_ctor_get(x_171, 0); +x_176 = lean_ctor_get(x_171, 1); +lean_inc(x_176); +lean_inc(x_175); +lean_dec(x_171); +x_177 = l_Nat_Linear_Expr_inc(x_175); +x_178 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_178, 0, x_177); +lean_ctor_set(x_178, 1, x_176); +return x_178; } } else { -uint8_t x_152; -x_152 = !lean_is_exclusive(x_144); -if (x_152 == 0) +uint8_t x_179; +x_179 = !lean_is_exclusive(x_171); +if (x_179 == 0) { -return x_144; +return x_171; } else { -lean_object* x_153; lean_object* x_154; lean_object* x_155; -x_153 = lean_ctor_get(x_144, 0); -x_154 = lean_ctor_get(x_144, 1); -lean_inc(x_154); -lean_inc(x_153); -lean_dec(x_144); -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; +lean_object* x_180; lean_object* x_181; lean_object* x_182; +x_180 = lean_ctor_get(x_171, 0); +x_181 = lean_ctor_get(x_171, 1); +lean_inc(x_181); +lean_inc(x_180); +lean_dec(x_171); +x_182 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_182, 0, x_180); +lean_ctor_set(x_182, 1, x_181); +return x_182; } } } @@ -2566,153 +2829,13 @@ return x_101; } } } -block_136: -{ -lean_object* x_104; uint8_t x_105; -lean_dec(x_103); -x_104 = l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr_visit___closed__3; -x_105 = lean_name_eq(x_15, x_104); -if (x_105 == 0) -{ -lean_object* x_106; -x_106 = lean_box(0); -x_18 = x_106; -goto block_102; -} -else -{ -lean_object* x_107; uint8_t x_108; -x_107 = lean_unsigned_to_nat(2u); -x_108 = lean_nat_dec_eq(x_17, x_107); -if (x_108 == 0) -{ -lean_object* x_109; -x_109 = lean_box(0); -x_18 = x_109; -goto block_102; -} -else -{ -lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; -lean_dec(x_15); -x_110 = lean_nat_sub(x_17, x_16); -x_111 = lean_unsigned_to_nat(1u); -x_112 = lean_nat_sub(x_110, x_111); -lean_dec(x_110); -lean_inc(x_1); -x_113 = l_Lean_Expr_getRevArg_x21(x_1, x_112); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -x_114 = l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr(x_113, x_2, 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); -x_117 = lean_nat_sub(x_17, x_111); -lean_dec(x_17); -x_118 = lean_nat_sub(x_117, x_111); -lean_dec(x_117); -x_119 = l_Lean_Expr_getRevArg_x21(x_1, x_118); -x_120 = l_Lean_Meta_Linear_Nat_ToLinear_toLinearExpr(x_119, x_2, x_3, x_4, x_5, x_6, x_116); -if (lean_obj_tag(x_120) == 0) -{ -uint8_t x_121; -x_121 = !lean_is_exclusive(x_120); -if (x_121 == 0) -{ -lean_object* x_122; lean_object* x_123; -x_122 = lean_ctor_get(x_120, 0); -x_123 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_123, 0, x_115); -lean_ctor_set(x_123, 1, x_122); -lean_ctor_set(x_120, 0, x_123); -return x_120; -} -else -{ -lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; -x_124 = lean_ctor_get(x_120, 0); -x_125 = lean_ctor_get(x_120, 1); -lean_inc(x_125); -lean_inc(x_124); -lean_dec(x_120); -x_126 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_126, 0, x_115); -lean_ctor_set(x_126, 1, x_124); -x_127 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_127, 0, x_126); -lean_ctor_set(x_127, 1, x_125); -return x_127; -} -} -else -{ -uint8_t x_128; -lean_dec(x_115); -x_128 = !lean_is_exclusive(x_120); -if (x_128 == 0) -{ -return x_120; -} -else -{ -lean_object* x_129; lean_object* x_130; lean_object* x_131; -x_129 = lean_ctor_get(x_120, 0); -x_130 = lean_ctor_get(x_120, 1); -lean_inc(x_130); -lean_inc(x_129); -lean_dec(x_120); -x_131 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_131, 0, x_129); -lean_ctor_set(x_131, 1, x_130); -return x_131; -} -} -} -else -{ -uint8_t x_132; -lean_dec(x_17); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_132 = !lean_is_exclusive(x_114); -if (x_132 == 0) -{ -return x_114; -} -else -{ -lean_object* x_133; lean_object* x_134; lean_object* x_135; -x_133 = lean_ctor_get(x_114, 0); -x_134 = lean_ctor_get(x_114, 1); -lean_inc(x_134); -lean_inc(x_133); -lean_dec(x_114); -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; -} -} -} -} -} } default: { -lean_object* x_156; +lean_object* x_183; lean_dec(x_8); -x_156 = l_Lean_Meta_Linear_Nat_ToLinear_addAsVar(x_1, x_2, x_3, x_4, x_5, x_6, x_7); -return x_156; +x_183 = l_Lean_Meta_Linear_Nat_ToLinear_addAsVar(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +return x_183; } } } diff --git a/stage0/stdlib/Lean/Meta/Tactic/LinearArith/Simp.c b/stage0/stdlib/Lean/Meta/Tactic/LinearArith/Simp.c index 6d728528e4..36fbb3e861 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/LinearArith/Simp.c +++ b/stage0/stdlib/Lean/Meta/Tactic/LinearArith/Simp.c @@ -38,7 +38,6 @@ lean_object* l_Lean_Meta_Linear_Nat_simpExpr_x3f(lean_object*, lean_object*, lea static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__2; static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__4; static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__9; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_Meta_Linear_Nat_simpCnstr_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__10; static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__13; @@ -68,6 +67,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_Linear_simp_x3f(lean_object*, lean_object*, static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__2; static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__7; static lean_object* l_Lean_Meta_Linear_simp_x3f___closed__2; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__16; LEAN_EXPORT lean_object* l_Lean_Meta_Linear_simp_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_parentIsTarget(lean_object*); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Simp/Main.c b/stage0/stdlib/Lean/Meta/Tactic/Simp/Main.c index da586b2963..b8afca6e43 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Simp/Main.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Simp/Main.c @@ -546,6 +546,7 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_Simp_simp_tryAu static lean_object* l_Lean_Meta_Simp_simp_trySimpCongrTheorem_x3f___closed__2; LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at_Lean_Meta_Simp_dischargeUsingAssumption___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*); static lean_object* l___private_Lean_Meta_Tactic_Simp_Main_0__Lean_Meta_Simp_dsimp___closed__1; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Meta_simpTargetStar___lambda__2___closed__2; LEAN_EXPORT lean_object* l_Std_PersistentArray_findSomeRevMAux___at_Lean_Meta_Simp_dischargeUsingAssumption___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Meta_Simp_isOfNatNatLit(lean_object*); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Simp/SimpCongrTheorems.c b/stage0/stdlib/Lean/Meta/Tactic/Simp/SimpCongrTheorems.c index ce618ada14..5f3caffa4e 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Simp/SimpCongrTheorems.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Simp/SimpCongrTheorems.c @@ -137,7 +137,6 @@ static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpCongrTheorems_0__Lean_ LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Meta_Tactic_Simp_SimpCongrTheorems_0__Lean_Meta_reprSimpCongrTheorems____x40_Lean_Meta_Tactic_Simp_SimpCongrTheorems___hyg_148____spec__6___rarg(lean_object*, lean_object*, size_t, size_t, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpCongrTheorems_0__Lean_Meta_reprSimpCongrTheorems____x40_Lean_Meta_Tactic_Simp_SimpCongrTheorems___hyg_148____closed__5; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpCongrTheorems___hyg_305____closed__4; LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpCongrTheorems___hyg_1814____lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_SimpCongrTheorems_0__Lean_Meta_reprSimpCongrTheorems____x40_Lean_Meta_Tactic_Simp_SimpCongrTheorems___hyg_148_(lean_object*, lean_object*); @@ -302,6 +301,7 @@ LEAN_EXPORT lean_object* l_Std_PersistentHashMap_foldlM___at___private_Lean_Meta lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpCongrTheorems_0__Lean_Meta_reprSimpCongrTheorem____x40_Lean_Meta_Tactic_Simp_SimpCongrTheorems___hyg_51____closed__26; uint8_t l_Lean_Expr_isFVar(lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpCongrTheorems_0__Lean_Meta_reprSimpCongrTheorem____x40_Lean_Meta_Tactic_Simp_SimpCongrTheorems___hyg_51____closed__12; LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_mkSimpCongrTheorem___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* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Simp/SimpTheorems.c b/stage0/stdlib/Lean/Meta/Tactic/Simp/SimpTheorems.c index 46e313d18a..6078a274ae 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Simp/SimpTheorems.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Simp/SimpTheorems.c @@ -140,7 +140,6 @@ lean_object* l_Lean_mkProj(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_addSimpTheoremEntry___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkEqFalse(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Std_PersistentHashMap_containsAtAux___at_Lean_Meta_SimpTheorems_erase___spec__3(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_Meta_instToFormatSimpTheorem___closed__3; LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorems_toUnfoldThms___default; LEAN_EXPORT lean_object* l_Lean_Meta_instBEqSimpTheorem___boxed(lean_object*, lean_object*); @@ -310,6 +309,7 @@ static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_ lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_SimpTheorems_add_getName_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isFVar(lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Meta_mkSimpAttr___lambda__1___closed__18; static lean_object* l_Lean_Meta_DiscrTree_insertCore___at_Lean_Meta_addSimpTheoremEntry___spec__1___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*); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Subst.c b/stage0/stdlib/Lean/Meta/Tactic/Subst.c index 36aca3afbb..bb905d197a 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Subst.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Subst.c @@ -183,6 +183,7 @@ static lean_object* l_Lean_Meta_substCore___lambda__21___closed__8; static lean_object* l_Lean_Meta_substCore___lambda__21___closed__17; static lean_object* l_Lean_Meta_substCore___lambda__21___closed__7; uint8_t l_Lean_Expr_isFVar(lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Meta_substCore___lambda__21___closed__5; static lean_object* l_Lean_Meta_substCore___lambda__17___closed__2; static lean_object* l_Lean_Meta_substCore___lambda__20___closed__2; diff --git a/stage0/stdlib/Lean/Meta/Tactic/Util.c b/stage0/stdlib/Lean/Meta/Tactic/Util.c index f26d594859..9bc280d761 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Util.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Util.c @@ -165,6 +165,7 @@ LEAN_EXPORT lean_object* l_Std_PersistentArray_forIn___at_Lean_Meta_getNondepPro lean_object* lean_nat_mul(lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_ForEachExpr_visit___at_Lean_Meta_getNondepPropHyps_removeDeps___spec__4___boxed(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_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_Std_HashMap_insert___at_Lean_Meta_ToHide_visitVisibleExpr_visit___spec__3(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*); diff --git a/stage0/stdlib/Lean/Meta/Transform.c b/stage0/stdlib/Lean/Meta/Transform.c index 5d0e4d41c0..341ead2b0a 100644 --- a/stage0/stdlib/Lean/Meta/Transform.c +++ b/stage0/stdlib/Lean/Meta/Transform.c @@ -88,7 +88,6 @@ static lean_object* l_Lean_Core_transform_visit___rarg___lambda__10___closed__2; lean_object* l_StateRefT_x27_lift___rarg___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Core_transform_visit___rarg___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_Expr_withAppAux___at_Lean_Core_betaReduce___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_setEnv___at_Lean_Meta_unfoldDeclsFrom___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Core_transform_visit___rarg___lambda__10___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_transform_visit_visitLambda___spec__1___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*); @@ -191,6 +190,7 @@ lean_object* l_Lean_Meta_mkForallFVars___boxed(lean_object*, lean_object*, lean_ lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Core_transform___rarg___lambda__2(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_transform_visit_visitForall___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*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_Core_transform_visit___spec__3(lean_object*); lean_object* lean_expr_update_lambda(lean_object*, uint8_t, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkLambdaFVars___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Meta/UnificationHint.c b/stage0/stdlib/Lean/Meta/UnificationHint.c index c40a855fc5..e324e5d095 100644 --- a/stage0/stdlib/Lean/Meta/UnificationHint.c +++ b/stage0/stdlib/Lean/Meta/UnificationHint.c @@ -120,7 +120,6 @@ static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_UnificationHint___hyg_79 lean_object* lean_array_fget(lean_object*, lean_object*); static lean_object* l_List_format___at_Lean_Meta_instToFormatUnificationHints___spec__4___closed__7; LEAN_EXPORT lean_object* l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___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 lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificationHints_tryCandidate___spec__4___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_DiscrTree_Trie_format___at_Lean_Meta_instToFormatUnificationHints___spec__2(lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); @@ -257,6 +256,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_checkpointDefEq___at_Lean_Meta_tryUnificati lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); 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*); static lean_object* l_Lean_Meta_addUnificationHint___lambda__1___closed__4; +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*); lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_mapTRAux___at_Lean_Meta_instToFormatUnificationHints___spec__3___closed__5; diff --git a/stage0/stdlib/Lean/Meta/WHNF.c b/stage0/stdlib/Lean/Meta/WHNF.c index 688c5455ad..2aad2d20d3 100644 --- a/stage0/stdlib/Lean/Meta/WHNF.c +++ b/stage0/stdlib/Lean/Meta/WHNF.c @@ -386,6 +386,7 @@ static lean_object* l___private_Lean_Meta_WHNF_0__Lean_Meta_canUnfoldAtMatcher__ LEAN_EXPORT lean_object* l_Lean_Meta_reduceBinNatOp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_toCtorIfLit___closed__11; 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*); static lean_object* l_Lean_Meta_reduceBoolNativeUnsafe___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfMatcher___lambda__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/MetavarContext.c b/stage0/stdlib/Lean/MetavarContext.c index 22ff490413..e5af4307c1 100644 --- a/stage0/stdlib/Lean/MetavarContext.c +++ b/stage0/stdlib/Lean/MetavarContext.c @@ -944,6 +944,7 @@ lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MetavarContext_isLevelAssignable(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_MetavarContext_addExprMVarDecl___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_MetavarContext_instantiateExprMVars___spec__39___rarg(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_Lean_MetavarContext_MkBinding_instMonadHashMapCacheAdapterExprStructEqExprMInstBEqExprStructEqInstHashableExprStructEq___lambda__1(uint8_t, lean_object*); lean_object* l_Lean_mkForall(lean_object*, uint8_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_MetavarContext_DependsOn_dep_visit___at_Lean_MetavarContext_MkBinding_collectDeps___spec__18___boxed(lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/MonadEnv.c b/stage0/stdlib/Lean/MonadEnv.c index 9c9818166d..fa62ab28f4 100644 --- a/stage0/stdlib/Lean/MonadEnv.c +++ b/stage0/stdlib/Lean/MonadEnv.c @@ -90,7 +90,6 @@ LEAN_EXPORT lean_object* l_Lean_setEnv___rarg___lambda__1___boxed(lean_object*, LEAN_EXPORT lean_object* l_Lean_isEnumType___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_isInductive(lean_object*); LEAN_EXPORT lean_object* l_Lean_withoutModifyingEnv_x27___rarg___lambda__3(lean_object*, lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_withoutModifyingEnv___rarg___lambda__2___closed__1; LEAN_EXPORT lean_object* l_Lean_evalConstCheck___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_MonadEnv_0__Lean_supportedRecursors___closed__24; @@ -169,6 +168,7 @@ lean_object* l_Lean_throwError___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_withoutModifyingEnv___rarg___lambda__1(lean_object*); static lean_object* l___private_Lean_MonadEnv_0__Lean_supportedRecursors___closed__22; LEAN_EXPORT lean_object* l_List_foldlM___at___private_Lean_MonadEnv_0__Lean_checkUnsupported___spec__2___rarg___lambda__1___boxed(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedName; static lean_object* l___private_Lean_MonadEnv_0__Lean_supportedRecursors___closed__8; lean_object* l_Lean_Environment_getModuleIdxFor_x3f(lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Parser/Attr.c b/stage0/stdlib/Lean/Parser/Attr.c index a85680c7ab..aa686f204f 100644 --- a/stage0/stdlib/Lean/Parser/Attr.c +++ b/stage0/stdlib/Lean/Parser/Attr.c @@ -227,7 +227,6 @@ static lean_object* l_Lean_Parser_Attr_simple___elambda__1___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Attr_defaultInstance_declRange___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Attr_recursor_declRange___closed__5; static lean_object* l_Lean_Parser_Attr_defaultInstance___closed__8; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_Parser_nonReservedSymbolFnAux(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Attr_recursor_formatter___closed__2; static lean_object* l_Lean_Parser_Attr_externEntry___elambda__1___closed__5; @@ -494,6 +493,7 @@ static lean_object* l_Lean_Parser_Attr_instance___elambda__1___closed__8; static lean_object* l___regBuiltin_Lean_Parser_Attr_class_declRange___closed__7; lean_object* l_Lean_Parser_ident_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Attr_recursor_formatter___closed__1; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Attr_defaultInstance___elambda__1___closed__9; static lean_object* l_Lean_Parser_Attr_externEntry_formatter___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Attr_simple_declRange___closed__5; diff --git a/stage0/stdlib/Lean/Parser/Basic.c b/stage0/stdlib/Lean/Parser/Basic.c index cd3fcbc76a..76fb3dfbe5 100644 --- a/stage0/stdlib/Lean/Parser/Basic.c +++ b/stage0/stdlib/Lean/Parser/Basic.c @@ -808,6 +808,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_checkNoWsBefore___elambda__1(lean_object* LEAN_EXPORT lean_object* l_Lean_Parser_withAntiquotSpliceAndSuffix(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_PrattParsingTables_trailingParsers___default; LEAN_EXPORT lean_object* l_Lean_Parser_noFirstTokenInfo___elambda__2(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_withoutPosition(lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Syntax_forArgsM___spec__1___at_Lean_Syntax_forArgsM___spec__2___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_nameLitFn___closed__2; diff --git a/stage0/stdlib/Lean/Parser/Command.c b/stage0/stdlib/Lean/Parser/Command.c index 6a56675e87..58c971ee52 100644 --- a/stage0/stdlib/Lean/Parser/Command.c +++ b/stage0/stdlib/Lean/Parser/Command.c @@ -1652,7 +1652,6 @@ static lean_object* l_Lean_Parser_Command_in_parenthesizer___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Command_attribute; static lean_object* l___regBuiltin_Lean_Parser_Command_open_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Command_terminationHintMany___closed__20; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__7; LEAN_EXPORT lean_object* l_Lean_Parser_Command_openScoped_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_mutual_formatter___closed__3; @@ -3701,6 +3700,7 @@ static lean_object* l_Lean_Parser_Command_structExplicitBinder_formatter___close static lean_object* l_Lean_Parser_Command_declaration___elambda__1___closed__10; static lean_object* l_Lean_Parser_Command_resolve__name___elambda__1___closed__7; static lean_object* l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__11; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_openHiding___closed__2; static lean_object* l_Lean_Parser_Command_constant___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Command_variable_declRange___closed__5; diff --git a/stage0/stdlib/Lean/Parser/Do.c b/stage0/stdlib/Lean/Parser/Do.c index 2a283437b3..1313aafc42 100644 --- a/stage0/stdlib/Lean/Parser/Do.c +++ b/stage0/stdlib/Lean/Parser/Do.c @@ -806,7 +806,6 @@ static lean_object* l_Lean_Parser_Term_do___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_doIfLet_formatter(lean_object*); static lean_object* l_Lean_Parser_Term_doUnless___elambda__1___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_termFor_declRange___closed__5; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_doFinally___closed__2; static lean_object* l_Lean_Parser_Term_doLetRec___elambda__1___closed__5; extern lean_object* l_Lean_Parser_Term_optIdent; @@ -1865,6 +1864,7 @@ static lean_object* l_Lean_Parser_Term_doTry___closed__10; static lean_object* l_Lean_Parser_Term_doMatch___elambda__1___closed__10; static lean_object* l_Lean_Parser_Term_doBreak___elambda__1___closed__12; static lean_object* l_Lean_Parser_Term_doContinue___elambda__1___closed__5; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_termUnless_declRange___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken; static lean_object* l___regBuiltin_Lean_Parser_Term_doSeqBracketed_parenthesizer___closed__2; diff --git a/stage0/stdlib/Lean/Parser/Extension.c b/stage0/stdlib/Lean/Parser/Extension.c index 6aabf504e8..a8d060fc04 100644 --- a/stage0/stdlib/Lean/Parser/Extension.c +++ b/stage0/stdlib/Lean/Parser/Extension.c @@ -492,6 +492,7 @@ LEAN_EXPORT lean_object* l_Lean_findDeclarationRanges_x3f___at___private_Lean_Pa static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_5182____closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_runParserAttributeHooks(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_5182____closed__1; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Parser_ParserExtension_instInhabitedEntry___closed__1; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Parser_Extension_0__Lean_Parser_ParserAttribute_add___spec__5(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_notFollowedByCommandToken; diff --git a/stage0/stdlib/Lean/Parser/Level.c b/stage0/stdlib/Lean/Parser/Level.c index 7cabba4dc6..72f85aa420 100644 --- a/stage0/stdlib/Lean/Parser/Level.c +++ b/stage0/stdlib/Lean/Parser/Level.c @@ -153,7 +153,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Level_paren_parenthesizer___close static lean_object* l_Lean_Parser_Level_ident___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Level_addLit_declRange(lean_object*); static lean_object* l_Lean_Parser_Level_paren___elambda__1___lambda__2___closed__7; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Level_num_declRange___closed__1; lean_object* l_Lean_Parser_nonReservedSymbolFnAux(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Level_imax_declRange(lean_object*); @@ -312,6 +311,7 @@ static lean_object* l_Lean_Parser_Level_imax___elambda__1___closed__10; static lean_object* l___regBuiltin_Lean_Parser_Level_max_declRange___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Level_imax_declRange___closed__1; lean_object* l_Lean_Parser_ident_parenthesizer(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_Parser_Level_hole_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Level_paren_formatter___closed__5; LEAN_EXPORT lean_object* l_Lean_Parser_levelParser_formatter___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Parser/Module.c b/stage0/stdlib/Lean/Parser/Module.c index 80b63c7f61..0c6234f1df 100644 --- a/stage0/stdlib/Lean/Parser/Module.c +++ b/stage0/stdlib/Lean/Parser/Module.c @@ -162,7 +162,6 @@ static lean_object* l_Lean_Parser_Module_import___elambda__1___closed__11; static lean_object* l_Lean_Parser_Module_module_parenthesizer___closed__2; static lean_object* l_Lean_Parser_testParseModuleAux_parse___closed__2; static lean_object* l_Lean_Parser_Module_header___elambda__1___closed__2; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Parser_testParseModuleAux_parse___spec__5(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Module_header_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Module_prelude___elambda__1___closed__13; @@ -309,6 +308,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Module_prelude_parenthesizer___cl LEAN_EXPORT lean_object* l_Lean_Parser_Module_module_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Module_header___elambda__1___closed__13; lean_object* l_Lean_Parser_ident_parenthesizer(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_Parser_Module_import_formatter___closed__2; static lean_object* l_Lean_Parser_Module_import___elambda__1___closed__7; static lean_object* l_Lean_Parser_Module_module___elambda__1___closed__5; diff --git a/stage0/stdlib/Lean/Parser/Syntax.c b/stage0/stdlib/Lean/Parser/Syntax.c index ebdd1e31e7..9e3a7ebe55 100644 --- a/stage0/stdlib/Lean/Parser/Syntax.c +++ b/stage0/stdlib/Lean/Parser/Syntax.c @@ -761,7 +761,6 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_macro(lean_object*); static lean_object* l_Lean_Parser_Term_stx_quot___elambda__1___closed__18; static lean_object* l_Lean_Parser_Command_macroTailCommand___closed__3; static lean_object* l_Lean_Parser_Command_elabTail___closed__1; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Command_catBehaviorSymbol_formatter___closed__2; static lean_object* l_Lean_Parser_Syntax_unary_formatter___closed__5; static lean_object* l_Lean_Parser_Command_macro__rules_formatter___closed__3; @@ -1756,6 +1755,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Syntax_binary_declRange___closed_ static lean_object* l_Lean_Parser_Command_syntaxAbbrev___elambda__1___closed__3; lean_object* l_Lean_Parser_ident_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_namedName___closed__3; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Syntax_sepBy_parenthesizer___closed__9; static lean_object* l_Lean_Parser_Command_postfix_formatter___closed__1; static lean_object* l_Lean_Parser_Syntax_unary___elambda__1___closed__8; diff --git a/stage0/stdlib/Lean/Parser/Tactic.c b/stage0/stdlib/Lean/Parser/Tactic.c index dc1b98fe53..3a18fd5bb0 100644 --- a/stage0/stdlib/Lean/Parser/Tactic.c +++ b/stage0/stdlib/Lean/Parser/Tactic.c @@ -207,7 +207,6 @@ static lean_object* l_Lean_Parser_Tactic_nativeDecide___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Tactic_eraseAuxDiscrs_formatter___closed__2; static lean_object* l_Lean_Parser_Tactic_match___elambda__1___closed__6; static lean_object* l_Lean_Parser_Tactic_initFn____x40_Lean_Parser_Tactic___hyg_6____closed__4; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_matchAlts_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Tactic_match_declRange___closed__1; static lean_object* l_Lean_Parser_Tactic_unknown___elambda__1___closed__6; @@ -423,6 +422,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_eraseAuxDiscrs___elambda__1___lamb static lean_object* l_Lean_Parser_Tactic_decide_formatter___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Tactic_decide_formatter(lean_object*); lean_object* l_Lean_Parser_ident_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Tactic_eraseAuxDiscrs_declRange___closed__4; LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_nestedTactic_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_sepBy1_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Parser/Term.c b/stage0/stdlib/Lean/Parser/Term.c index 8c62140bdb..20f4e2ee0d 100644 --- a/stage0/stdlib/Lean/Parser/Term.c +++ b/stage0/stdlib/Lean/Parser/Term.c @@ -2084,7 +2084,6 @@ static lean_object* l_Lean_Parser_Term_defaultOrOfNonempty_parenthesizer___close LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_have(lean_object*); static lean_object* l_Lean_Parser_Term_trailing__parser___elambda__1___closed__3; static lean_object* l_Lean_Parser_Term_doubleQuotedName___closed__10; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_let___closed__9; static lean_object* l_Lean_Parser_Term_syntheticHole___elambda__1___closed__1; static lean_object* l_Lean_Parser_Term_namedArgument___elambda__1___closed__7; @@ -4854,6 +4853,7 @@ static lean_object* l_Lean_Parser_Term_structInstField___closed__5; lean_object* l_Lean_Parser_ident_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_arrow_declRange(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_letPatDecl_parenthesizer___closed__2; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_scoped___closed__4; static lean_object* l_Lean_Parser_Term_matchDiscr_formatter___closed__2; static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__5; diff --git a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Basic.c b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Basic.c index 90f52b1701..fd819c08bc 100644 --- a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Basic.c +++ b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Basic.c @@ -275,6 +275,7 @@ static lean_object* l_Lean_PrettyPrinter_Delaborator_delab___lambda__1___closed_ static lean_object* l_Lean_PrettyPrinter_Delaborator_instMonadStateOfHoleIteratorDelabM___closed__3; lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_State_infos___default; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withType___at_Lean_PrettyPrinter_Delaborator_delab___spec__1___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*); lean_object* l_Lean_Syntax_setInfo(lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c index 692919c14a..1d045a8d3c 100644 --- a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c +++ b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c @@ -838,6 +838,7 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delabora static lean_object* l_Lean_PrettyPrinter_Delaborator_delabOfScientific___lambda__1___closed__1; static lean_object* l_Lean_PrettyPrinter_Delaborator_maybeAddBlockImplicit___closed__7; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppExplicit___lambda__4___closed__3; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_getPPAnalysisSkip___boxed(lean_object*); static lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabDo___spec__1___closed__2; static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabPSigma___closed__5; diff --git a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/SubExpr.c b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/SubExpr.c index 654d0998b4..273098fad5 100644 --- a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/SubExpr.c +++ b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/SubExpr.c @@ -88,7 +88,6 @@ LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withLetValue__ LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_SubExpr_withMDataExpr___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_SubExpr_withLetVarType___spec__7(lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withProj(lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_SubExpr_withProj___spec__11___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_SubExpr_withLetVarType___spec__3(lean_object*); LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_SubExpr_withLetValue___spec__9(lean_object*); @@ -195,6 +194,7 @@ LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_SubExpr_wit LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_nextExtraPos___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_SubExpr_withMDataExpr___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppFn___rarg___lambda__1(lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_instInhabitedSubExpr; static lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withType___rarg___lambda__1___closed__1; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppArg___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/TopDownAnalyze.c b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/TopDownAnalyze.c index 8c2d81ad65..93010211b9 100644 --- a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/TopDownAnalyze.c +++ b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/TopDownAnalyze.c @@ -617,6 +617,7 @@ lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_loop___at_Lean_PrettyPrinter_Delaborator_TopDownAnalyze_analyzeAppStagedCore_applyFunBinderHeuristic_core___spec__2___closed__3; LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_PrettyPrinter_Delaborator_TopDownAnalyze_canBottomUp___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*); uint8_t l_Lean_Expr_isFVar(lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_getPPAnalysisSkip___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_TopDownAnalyze_hasMVarAtCurrDepth___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_PrettyPrinter_Delaborator_TopDownAnalyze_analyzeAppStagedCore_collectHigherOrders___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*); diff --git a/stage0/stdlib/Lean/PrettyPrinter/Formatter.c b/stage0/stdlib/Lean/PrettyPrinter/Formatter.c index 5e694ec3bc..a1bd9b2219 100644 --- a/stage0/stdlib/Lean/PrettyPrinter/Formatter.c +++ b/stage0/stdlib/Lean/PrettyPrinter/Formatter.c @@ -395,6 +395,7 @@ LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Formatter_setStack(lean_object*, l lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Formatter_visitAtom___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Formatter_pushToken___lambda__2___closed__3; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Formatter_checkNoImmediateColon_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Formatter_checkOutsideQuot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Formatter_skip_formatter___rarg(lean_object*); diff --git a/stage0/stdlib/Lean/PrettyPrinter/Parenthesizer.c b/stage0/stdlib/Lean/PrettyPrinter/Parenthesizer.c index faf92e986d..7d9d9edbc2 100644 --- a/stage0/stdlib/Lean/PrettyPrinter/Parenthesizer.c +++ b/stage0/stdlib/Lean/PrettyPrinter/Parenthesizer.c @@ -450,6 +450,7 @@ LEAN_EXPORT lean_object* l_Nat_forM_loop___at_Lean_PrettyPrinter_Parenthesizer_p lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Parenthesizer_maybeParenthesize___lambda__10___closed__20; LEAN_EXPORT lean_object* l___regBuiltin_Lean_PrettyPrinter_Parenthesizer_term_parenthesizer(lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_mkParenthesizerAttribute___closed__14; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkInsideQuot_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Parenthesizer_rawCh_parenthesizer(uint32_t, lean_object*); diff --git a/stage0/stdlib/Lean/Server/Completion.c b/stage0/stdlib/Lean/Server/Completion.c index 319adb2512..c475697905 100644 --- a/stage0/stdlib/Lean/Server/Completion.c +++ b/stage0/stdlib/Lean/Server/Completion.c @@ -148,7 +148,6 @@ LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Server_Completion_c lean_object* lean_array_fget(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Server_Completion_0__Lean_Server_Completion_idCompletionCore___spec__18(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Trie_findPrefix___rarg(lean_object*, lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l___private_Lean_Server_Completion_0__Lean_Server_Completion_dotCompletion___lambda__2___closed__5; lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_forallMetaTelescopeReducingAux(lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_forInAux___at___private_Lean_Server_Completion_0__Lean_Server_Completion_idCompletionCore___spec__37(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -347,6 +346,7 @@ lean_object* l_Lean_Name_getPrefix(lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Server_Completion_0__Lean_Server_Completion_consumeImplicitPrefix___rarg___lambda__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___private_Lean_Server_Completion_0__Lean_Server_Completion_idCompletionCore___spec__34(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); 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___private_Lean_Server_Completion_0__Lean_Server_Completion_idCompletion(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedName; diff --git a/stage0/stdlib/Lean/Server/FileWorker/RequestHandling.c b/stage0/stdlib/Lean/Server/FileWorker/RequestHandling.c index b77916d123..d8060bd7aa 100644 --- a/stage0/stdlib/Lean/Server/FileWorker/RequestHandling.c +++ b/stage0/stdlib/Lean/Server/FileWorker/RequestHandling.c @@ -187,7 +187,6 @@ lean_object* l___private_Lean_Data_Lsp_LanguageFeatures_0__Lean_Lsp_toJsonHover_ lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonWaitForDiagnosticsParams____x40_Lean_Data_Lsp_Extra___hyg_24_(lean_object*); static lean_object* l_Lean_Server_FileWorker_handleDocumentSymbol_toDocumentSymbols___closed__3; LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleDefinition___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_8441____spec__14___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals___spec__3___closed__6; static lean_object* l_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_8441____closed__24; @@ -452,6 +451,7 @@ lean_object* l_Lean_Server_Snapshots_Snapshot_endPos(lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleSemanticTokens_addToken(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_8441____closed__4; LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_Server_FileWorker_handleDocumentSymbol___spec__2(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Server_FileWorker_handleSemanticTokens_go___closed__2; static lean_object* l_Lean_Server_FileWorker_GoToKind_noConfusion___rarg___closed__1; static lean_object* l_Lean_Server_FileWorker_handlePlainGoal___lambda__1___closed__2; diff --git a/stage0/stdlib/Lean/Server/InfoUtils.c b/stage0/stdlib/Lean/Server/InfoUtils.c index 55ff4b8710..52e9e86aa4 100644 --- a/stage0/stdlib/Lean/Server/InfoUtils.c +++ b/stage0/stdlib/Lean/Server/InfoUtils.c @@ -129,7 +129,6 @@ LEAN_EXPORT lean_object* l___private_Std_Data_PersistentArray_0__Std_PersistentA LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_InfoTree_foldInfo_go___spec__13___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); static lean_object* l_Lean_Elab_Info_fmtHover_x3f_fmtTerm_x3f___lambda__1___closed__8; static lean_object* l_List_mapTRAux___at_Lean_Elab_InfoTree_smallestInfo_x3f___spec__2___closed__1; -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_InfoTree_foldInfo_go___spec__4___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_InfoTree_goalsAt_x3f(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_InfoTree_foldInfo_go___spec__25(lean_object*); @@ -269,6 +268,7 @@ LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_InfoTree_foldI LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_InfoTree_foldInfo_go___spec__24(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_InfoTree_foldInfo_go(lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_InfoTree_goalsAt_x3f_hasNestedTactic___spec__8(lean_object*, lean_object*, lean_object*, size_t, size_t); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldl___at_Lean_Elab_InfoTree_termGoalAt_x3f___spec__5(lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Elab_InfoTree_goalsAt_x3f_hasNestedTactic(lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_InfoTree_goalsAt_x3f_hasNestedTactic___spec__9(lean_object*, lean_object*, lean_object*, size_t, size_t); diff --git a/stage0/stdlib/Lean/Server/References.c b/stage0/stdlib/Lean/Server/References.c index a835110250..1e6326d545 100644 --- a/stage0/stdlib/Lean/Server/References.c +++ b/stage0/stdlib/Lean/Server/References.c @@ -115,7 +115,6 @@ lean_object* lean_array_fget(lean_object*, lean_object*); lean_object* l_Lean_Json_getObjValAs_x3f___at___private_Lean_Data_Lsp_Basic_0__Lean_Lsp_fromJsonPosition____x40_Lean_Data_Lsp_Basic___hyg_395____spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_identOf(lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_findReferences___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_References_removeIlean(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_mkHashMap___at_Lean_Server_combineFvars___spec__1___boxed(lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Server_References_referringTo___spec__3(lean_object*, size_t, size_t, lean_object*); @@ -249,6 +248,7 @@ lean_object* lean_nat_mul(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Server_dedupReferences___spec__6(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Server_References_referringTo___spec__5(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Server_combineFvars___spec__3(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_find_x3f___at_Lean_Lsp_ModuleRefs_addRef___spec__2___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Server_References_referringTo___spec__4(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_AssocList_foldlM___at_Lean_Server_References_referringTo___spec__2___boxed(lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Server/Rpc/Deriving.c b/stage0/stdlib/Lean/Server/Rpc/Deriving.c index 50af20decb..e5adefa23e 100644 --- a/stage0/stdlib/Lean/Server/Rpc/Deriving.c +++ b/stage0/stdlib/Lean/Server/Rpc/Deriving.c @@ -382,6 +382,7 @@ static lean_object* l___private_Lean_Server_Rpc_Deriving_0__Lean_Server_RpcEncod static lean_object* l___private_Lean_Server_Rpc_Deriving_0__Lean_Server_RpcEncoding_deriveWithRefInstance___closed__216; static lean_object* l___private_Lean_Server_Rpc_Deriving_0__Lean_Server_RpcEncoding_deriveWithRefInstance___closed__72; static lean_object* l___private_Lean_Server_Rpc_Deriving_0__Lean_Server_RpcEncoding_deriveWithRefInstance___closed__227; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l___private_Lean_Server_Rpc_Deriving_0__Lean_Server_RpcEncoding_deriveInstance___lambda__1___closed__47; static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Server_Rpc_Deriving_0__Lean_Server_RpcEncoding_deriveInstance___spec__5___closed__2; lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Server/Snapshots.c b/stage0/stdlib/Lean/Server/Snapshots.c index 00a2974ff2..7f84705bdb 100644 --- a/stage0/stdlib/Lean/Server/Snapshots.c +++ b/stage0/stdlib/Lean/Server/Snapshots.c @@ -50,7 +50,6 @@ static lean_object* l_Lean_Server_Snapshots_instInhabitedSnapshot___closed__18; extern lean_object* l_ByteArray_empty; static lean_object* l_Lean_Server_Snapshots_instInhabitedSnapshot___closed__16; lean_object* l_Lean_Widget_msgToInteractiveDiagnostic(lean_object*, lean_object*, uint8_t, lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_Snapshots_parseAhead(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Server_Snapshots_Snapshot_infoTree___closed__6; static lean_object* l_Lean_Server_Snapshots_instInhabitedSnapshot___closed__7; @@ -99,6 +98,7 @@ LEAN_EXPORT uint8_t l_Lean_Server_Snapshots_Snapshot_isAtEnd(lean_object*); static lean_object* l_Lean_Server_Snapshots_instInhabitedSnapshot___closed__17; LEAN_EXPORT lean_object* l_Lean_Server_Snapshots_Snapshot_endPos(lean_object*); static uint32_t l_Lean_Server_Snapshots_instInhabitedSnapshot___closed__8; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Server_Snapshots_compileNextCmd___closed__1; LEAN_EXPORT lean_object* l_panic___at_Lean_Server_Snapshots_Snapshot_infoTree___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_Snapshots_compileNextCmd___boxed(lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Server/Watchdog.c b/stage0/stdlib/Lean/Server/Watchdog.c index aa619c6e54..17b67ab88a 100644 --- a/stage0/stdlib/Lean/Server/Watchdog.c +++ b/stage0/stdlib/Lean/Server/Watchdog.c @@ -449,6 +449,7 @@ lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Server_Watchdog_handleCrash___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_RBNode_insert___at_Lean_Server_Watchdog_forwardRequestToWorker___spec__2(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Json_pretty(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_toJsonRpcKeepAliveParams____x40_Lean_Data_Lsp_Extra___hyg_1647_(lean_object*); lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); static lean_object* l_Lean_Server_Watchdog_initAndRunWatchdog___closed__4; diff --git a/stage0/stdlib/Lean/Structure.c b/stage0/stdlib/Lean/Structure.c index 748e0d21dc..0be1bd49d5 100644 --- a/stage0/stdlib/Lean/Structure.c +++ b/stage0/stdlib/Lean/Structure.c @@ -171,6 +171,7 @@ LEAN_EXPORT lean_object* l_Array_qsort_sort___at_Lean_initFn____x40_Lean_Structu LEAN_EXPORT lean_object* l_Array_binSearchAux___at_Lean_getStructureInfo_x3f___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_getStructureCtor(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_isStructure___boxed(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l___private_Lean_Structure_0__Lean_StructureState_map___default___closed__2; lean_object* l_Lean_Environment_getModuleIdxFor_x3f(lean_object*, lean_object*); lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Syntax.c b/stage0/stdlib/Lean/Syntax.c index 16ca0b318d..62bf626abc 100644 --- a/stage0/stdlib/Lean/Syntax.c +++ b/stage0/stdlib/Lean/Syntax.c @@ -259,6 +259,7 @@ LEAN_EXPORT lean_object* l_Lean_Syntax_topDown___boxed(lean_object*, lean_object LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Syntax_hasMissing___spec__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); static lean_object* l_Lean_Syntax_asNode___closed__2; LEAN_EXPORT lean_object* l_Lean_Syntax_instForInTopDownSyntax_loop(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_instForInTopDownSyntax_loop___at_Lean_Syntax_hasMissing___spec__1___lambda__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Syntax_instForInTopDownSyntax(lean_object*, lean_object*); static lean_object* l_Lean_Syntax_isTokenAntiquot___closed__2; diff --git a/stage0/stdlib/Lean/Util/Recognizers.c b/stage0/stdlib/Lean/Util/Recognizers.c index 6fcbc1daae..52ecbef417 100644 --- a/stage0/stdlib/Lean/Util/Recognizers.c +++ b/stage0/stdlib/Lean/Util/Recognizers.c @@ -53,7 +53,6 @@ static lean_object* l_Lean_Expr_constructorApp_x3f___closed__2; LEAN_EXPORT uint8_t l_Lean_Expr_isHEq(lean_object*); static lean_object* l_Lean_Expr_listLit_x3f_loop___closed__1; LEAN_EXPORT lean_object* l_Lean_Expr_ne_x3f___boxed(lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Expr_natAdd_x3f___closed__1; LEAN_EXPORT lean_object* l_Lean_Expr_listLit_x3f(lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); @@ -99,6 +98,7 @@ LEAN_EXPORT lean_object* l_Lean_Expr_isIte___boxed(lean_object*); static lean_object* l_Lean_Expr_natAdd_x3f___closed__2; LEAN_EXPORT lean_object* l_Lean_Expr_isEq___boxed(lean_object*); static lean_object* l_Lean_Expr_arrayLit_x3f___closed__1; +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_arrayLit_x3f___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Expr_arrayLit_x3f(lean_object*); uint8_t l_Lean_Expr_hasLooseBVars(lean_object*); diff --git a/stage0/stdlib/Lean/Util/SCC.c b/stage0/stdlib/Lean/Util/SCC.c index b9388d896b..74b1784e32 100644 --- a/stage0/stdlib/Lean/Util/SCC.c +++ b/stage0/stdlib/Lean/Util/SCC.c @@ -29,7 +29,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_modifyDataOf(lean LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack(lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); lean_object* l_Std_HashMap_insert___rarg(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_Util_SCC_0__Lean_SCC_addSCC___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_addSCC(lean_object*); lean_object* l_Std_HashMapImp_find_x3f___rarg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -49,6 +48,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_sccAux___rarg(lea LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Util_SCC_0__Lean_SCC_sccAux___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_SCC_Data_lowlink_x3f___default; LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf___rarg___lambda__1(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forM___at_Lean_SCC_scc___spec__1(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_updateLowLinkOf(lean_object*); diff --git a/stage0/stdlib/Lean/Util/Trace.c b/stage0/stdlib/Lean/Util/Trace.c index 3020b00205..2e5bf72066 100644 --- a/stage0/stdlib/Lean/Util/Trace.c +++ b/stage0/stdlib/Lean/Util/Trace.c @@ -270,6 +270,7 @@ LEAN_EXPORT lean_object* l_Lean_addRawTrace___rarg(lean_object*, lean_object*, l static lean_object* l_Lean___aux__Lean__Util__Trace______macroRules__Lean__doElemTrace_x5b_____x5d______1___closed__15; LEAN_EXPORT lean_object* l_Lean_printTraces(lean_object*); LEAN_EXPORT lean_object* l_Lean_checkTraceOption___boxed(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_checkTraceOption___closed__1; LEAN_EXPORT lean_object* l_Lean_traceM___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean___aux__Lean__Util__Trace______macroRules__Lean__doElemTrace_x5b_____x5d______1___closed__7; diff --git a/stage0/stdlib/Lean/Widget/InteractiveCode.c b/stage0/stdlib/Lean/Widget/InteractiveCode.c index 73b9698ffc..538b95ee09 100644 --- a/stage0/stdlib/Lean/Widget/InteractiveCode.c +++ b/stage0/stdlib/Lean/Widget/InteractiveCode.c @@ -115,6 +115,7 @@ static lean_object* l_Lean_Widget_formatExplicitInfos___closed__3; lean_object* l_Lean_Json_mkObj(lean_object*); lean_object* l___private_Lean_Data_Lsp_Extra_0__Lean_Lsp_fromJsonRpcRef____x40_Lean_Data_Lsp_Extra___hyg_992_(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Widget_InteractiveCode_0__Lean_Widget_Lean_Widget_InfoWithCtx_encodeUnsafe____x40_Lean_Widget_InteractiveCode___hyg_5_(lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_ExceptT_bindCont___at_Lean_Widget_Lean_Widget_CodeToken_instRpcEncodingCodeTokenRpcEncodingPacket___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Widget_instInhabitedInfoWithCtx___closed__6; LEAN_EXPORT lean_object* l_Lean_Widget_traverse_go___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Widget/InteractiveGoal.c b/stage0/stdlib/Lean/Widget/InteractiveGoal.c index 7069b38e7a..51c7d898ff 100644 --- a/stage0/stdlib/Lean/Widget/InteractiveGoal.c +++ b/stage0/stdlib/Lean/Widget/InteractiveGoal.c @@ -274,7 +274,6 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Widget_Lean_Widget_Int LEAN_EXPORT lean_object* l_Lean_Widget_Lean_Widget_InteractiveHypothesis_instRpcEncodingInteractiveHypothesisRpcEncodingPacket___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Widget_Lean_Widget_InteractiveTermGoal_instRpcEncodingInteractiveTermGoalRpcEncodingPacket___spec__22___rarg___lambda__1(size_t, lean_object*, lean_object*, lean_object*, size_t, lean_object*); lean_object* l_Lean_Json_parseTagged(lean_object*, lean_object*, lean_object*, lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_foldlM___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_EXPORT lean_object* l_ExceptT_bindCont___at_Lean_Widget_Lean_Widget_InteractiveGoal_instRpcEncodingInteractiveGoalRpcEncodingPacket___spec__34(lean_object*); LEAN_EXPORT lean_object* l_Lean_Widget_Lean_Widget_InteractiveHypothesis_instRpcEncodingInteractiveHypothesisRpcEncodingPacket___lambda__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -618,6 +617,7 @@ LEAN_EXPORT lean_object* l_Lean_Widget_TaggedText_mapM___at_Lean_Widget_Lean_Wid LEAN_EXPORT lean_object* l_ExceptT_bindCont___at_Lean_Widget_Lean_Widget_InteractiveGoals_instRpcEncodingInteractiveGoalsRpcEncodingPacket___spec__17___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Widget_Lean_Widget_InteractiveGoal_instRpcEncodingInteractiveGoalRpcEncodingPacket___spec__29(lean_object*); lean_object* l_Lean_Json_pretty(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Widget_Lean_Widget_InteractiveGoals_instRpcEncodingInteractiveGoalsRpcEncodingPacket___spec__9___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, 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_Widget_InteractiveGoal_0__Lean_Widget_Lean_Widget_InteractiveHypothesis_fromJsonRpcEncodingPacket____x40_Lean_Widget_InteractiveGoal___hyg_113____closed__4; diff --git a/stage0/stdlib/Lean/Widget/TaggedText.c b/stage0/stdlib/Lean/Widget/TaggedText.c index b52b2f7b25..3904380f70 100644 --- a/stage0/stdlib/Lean/Widget/TaggedText.c +++ b/stage0/stdlib/Lean/Widget/TaggedText.c @@ -183,6 +183,7 @@ lean_object* l_Lean_Json_mkObj(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Widget_TaggedText_0__Lean_Widget_fromJsonTaggedText____x40_Lean_Widget_TaggedText___hyg_399____rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Widget_TaggedText_0__Lean_Widget_fromJsonTaggedText____x40_Lean_Widget_TaggedText___hyg_399____spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Json_pretty(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Widget_TaggedText_map___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Format_Basic_0__Std_Format_pushGroup___at_Lean_Widget_TaggedText_prettyTagged___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Widget_TaggedText_instRpcEncodingTaggedText___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); diff --git a/stage0/stdlib/Std/Data/BinomialHeap.c b/stage0/stdlib/Std/Data/BinomialHeap.c index a588fbd871..9078cef9bc 100644 --- a/stage0/stdlib/Std/Data/BinomialHeap.c +++ b/stage0/stdlib/Std/Data/BinomialHeap.c @@ -61,7 +61,6 @@ LEAN_EXPORT lean_object* l_Std_BinomialHeapImp_toList___rarg(lean_object*, lean_ LEAN_EXPORT lean_object* l_Std_BinomialHeapImp_toArray___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_BinomialHeap_isEmpty(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_BinomialHeap_empty___boxed(lean_object*, lean_object*); -uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_BinomialHeap_tail_x3f___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_BinomialHeap_deleteMin___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_BinomialHeapImp_toListUnordered___rarg(lean_object*); @@ -110,6 +109,7 @@ LEAN_EXPORT lean_object* l_Std_BinomialHeapImp_head___rarg(lean_object*, lean_ob LEAN_EXPORT lean_object* l_List_mapTRAux___at_Std_BinomialHeapImp_toListUnordered___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Std_BinomialHeap_ofArray___spec__1___at_Std_BinomialHeap_ofArray___spec__2___rarg(lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Std_BinomialHeapImp_tail(lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_BinomialHeap_tail___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Std_BinomialHeap_ofArray___spec__1___at_Std_BinomialHeap_ofArray___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_BinomialHeapImp_hRank___rarg___boxed(lean_object*); diff --git a/stage0/stdlib/Std/Data/PersistentArray.c b/stage0/stdlib/Std/Data/PersistentArray.c index 87c43ab7ce..0cc02ccae1 100644 --- a/stage0/stdlib/Std/Data/PersistentArray.c +++ b/stage0/stdlib/Std/Data/PersistentArray.c @@ -469,6 +469,7 @@ LEAN_EXPORT lean_object* l___private_Std_Data_PersistentArray_0__Std_PersistentA LEAN_EXPORT lean_object* l_Std_PersistentArray_stats___rarg(lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentArray_findSomeMAux___rarg___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Array_toPersistentArray___spec__1___rarg(lean_object*, size_t, size_t, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Std_Data_PersistentArray_0__Std_PersistentArray_foldlMAux___at_Std_PersistentArray_toList___spec__3(lean_object*); extern lean_object* l_USize_size; LEAN_EXPORT lean_object* l___private_Std_Data_PersistentArray_0__Std_PersistentArray_foldlMAux___at_Std_PersistentArray_filter___spec__10(lean_object*); diff --git a/stage0/stdlib/Std/Data/PersistentHashMap.c b/stage0/stdlib/Std/Data/PersistentHashMap.c index 8b17aeb5cc..2ee7cce796 100644 --- a/stage0/stdlib/Std/Data/PersistentHashMap.c +++ b/stage0/stdlib/Std/Data/PersistentHashMap.c @@ -158,6 +158,7 @@ LEAN_EXPORT lean_object* l_Std_PersistentHashMap_stats___boxed(lean_object*, lea lean_object* l_Array_eraseIdx_x27___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_findAux___rarg(lean_object*, lean_object*, size_t, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_isUnaryNode(lean_object*, lean_object*); +uint8_t lean_nat_dec_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_eraseAux___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_isEmpty___rarg___boxed(lean_object*); LEAN_EXPORT lean_object* l_Std_PersistentHashMap_contains(lean_object*, lean_object*);