diff --git a/stage0/src/Init/Control/Except.lean b/stage0/src/Init/Control/Except.lean index 2d8e97d578..8fbbb1e110 100644 --- a/stage0/src/Init/Control/Except.lean +++ b/stage0/src/Init/Control/Except.lean @@ -59,11 +59,10 @@ variables {ε : Type u} | Except.ok a => Except.ok a | Except.error e => handle e -instance : Monad (Except ε) := { +instance : Monad (Except ε) where pure := Except.pure bind := Except.bind map := Except.map -} end Except @@ -105,31 +104,27 @@ instance : MonadLift m (ExceptT ε m) := ⟨ExceptT.lift⟩ instance : MonadFunctor m (ExceptT ε m) := ⟨fun f x => f x⟩ -instance : Monad (ExceptT ε m) := { +instance : Monad (ExceptT ε m) where pure := ExceptT.pure bind := ExceptT.bind map := ExceptT.map -} @[inline] protected def adapt {ε' α : Type u} (f : ε → ε') : ExceptT ε m α → ExceptT ε' m α := fun x => ExceptT.mk <| Except.mapError f <$> x end ExceptT -instance (m : Type u → Type v) (ε₁ : Type u) (ε₂ : Type u) [Monad m] [MonadExceptOf ε₁ m] : MonadExceptOf ε₁ (ExceptT ε₂ m) := { - throw := fun e => ExceptT.mk <| throwThe ε₁ e - tryCatch := fun x handle => ExceptT.mk <| tryCatchThe ε₁ x handle -} +instance (m : Type u → Type v) (ε₁ : Type u) (ε₂ : Type u) [Monad m] [MonadExceptOf ε₁ m] : MonadExceptOf ε₁ (ExceptT ε₂ m) where + throw e := ExceptT.mk <| throwThe ε₁ e + tryCatch x handle := ExceptT.mk <| tryCatchThe ε₁ x handle -instance (m : Type u → Type v) (ε : Type u) [Monad m] : MonadExceptOf ε (ExceptT ε m) := { - throw := fun e => ExceptT.mk <| pure (Except.error e) +instance (m : Type u → Type v) (ε : Type u) [Monad m] : MonadExceptOf ε (ExceptT ε m) where + throw e := ExceptT.mk <| pure (Except.error e) tryCatch := ExceptT.tryCatch -} -instance (ε) : MonadExceptOf ε (Except ε) := { +instance (ε) : MonadExceptOf ε (Except ε) where throw := Except.error tryCatch := Except.tryCatch -} namespace MonadExcept variables {ε : Type u} {m : Type v → Type w} @@ -144,11 +139,10 @@ end MonadExcept @[inline] def observing {ε α : Type u} {m : Type u → Type v} [Monad m] [MonadExcept ε m] (x : m α) : m (Except ε α) := tryCatch (do let a ← x; pure (Except.ok a)) (fun ex => pure (Except.error ex)) -instance (ε : Type u) (m : Type u → Type v) [Monad m] : MonadControl m (ExceptT ε m) := { - stM := Except ε - liftWith := fun f => liftM <| f fun x => x.run - restoreM := fun x => x -} +instance (ε : Type u) (m : Type u → Type v) [Monad m] : MonadControl m (ExceptT ε m) where + stM := Except ε + liftWith f := liftM <| f fun x => x.run + restoreM x := x class MonadFinally (m : Type u → Type v) := (tryFinally' {α β} : m α → (Option α → m β) → m (α × β)) @@ -160,14 +154,13 @@ export MonadFinally (tryFinally') let y := tryFinally' x (fun _ => finalizer) (·.1) <$> y -instance Id.finally : MonadFinally Id := { +instance Id.finally : MonadFinally Id where tryFinally' := fun x h => let a := x let b := h (some x) pure (a, b) -} -instance ExceptT.finally {m : Type u → Type v} {ε : Type u} [MonadFinally m] [Monad m] : MonadFinally (ExceptT ε m) := { +instance ExceptT.finally {m : Type u → Type v} {ε : Type u} [MonadFinally m] [Monad m] : MonadFinally (ExceptT ε m) where tryFinally' := fun x h => ExceptT.mk do let r ← tryFinally' x fun e? => match e? with | some (Except.ok a) => h (some a) @@ -176,4 +169,3 @@ instance ExceptT.finally {m : Type u → Type v} {ε : Type u} [MonadFinally m] | (Except.ok a, Except.ok b) => pure (Except.ok (a, b)) | (_, Except.error e) => pure (Except.error e) -- second error has precedence | (Except.error e, _) => pure (Except.error e) -} diff --git a/stage0/src/Init/Control/State.lean b/stage0/src/Init/Control/State.lean index 3a6369921f..3d648a633b 100644 --- a/stage0/src/Init/Control/State.lean +++ b/stage0/src/Init/Control/State.lean @@ -45,11 +45,10 @@ variables [Monad m] {α β : Type u} @[inline] protected def map (f : α → β) (x : StateT σ m α) : StateT σ m β := fun s => do let (a, s) ← x s; pure (f a, s) -instance : Monad (StateT σ m) := { +instance : Monad (StateT σ m) where pure := StateT.pure bind := StateT.bind map := StateT.map -} @[inline] protected def orElse [Alternative m] {α : Type u} (x₁ x₂ : StateT σ m α) : StateT σ m α := fun s => x₁ s <|> x₂ s @@ -57,10 +56,9 @@ instance : Monad (StateT σ m) := { @[inline] protected def failure [Alternative m] {α : Type u} : StateT σ m α := fun s => failure -instance [Alternative m] : Alternative (StateT σ m) := { - failure := StateT.failure, +instance [Alternative m] : Alternative (StateT σ m) where + failure := StateT.failure orElse := StateT.orElse -} @[inline] protected def get : StateT σ m σ := fun s => pure (s, s) @@ -89,24 +87,21 @@ end StateT section variables {σ : Type u} {m : Type u → Type v} -instance [Monad m] : MonadStateOf σ (StateT σ m) := { +instance [Monad m] : MonadStateOf σ (StateT σ m) where get := StateT.get set := StateT.set modifyGet := StateT.modifyGet -} end -instance StateT.monadControl (σ : Type u) (m : Type u → Type v) [Monad m] : MonadControl m (StateT σ m) := { +instance StateT.monadControl (σ : Type u) (m : Type u → Type v) [Monad m] : MonadControl m (StateT σ m) where stM := fun α => α × σ liftWith := fun f => do let s ← get; liftM (f (fun x => x.run s)) restoreM := fun x => do let (a, s) ← liftM x; set s; pure a -} -instance StateT.tryFinally {m : Type u → Type v} {σ : Type u} [MonadFinally m] [Monad m] : MonadFinally (StateT σ m) := { +instance StateT.tryFinally {m : Type u → Type v} {σ : Type u} [MonadFinally m] [Monad m] : MonadFinally (StateT σ m) where tryFinally' := fun x h s => do let ((a, _), (b, s'')) ← tryFinally' (x s) fun | some (a, s') => h (some a) s' | none => h none s pure ((a, b), s'') -} diff --git a/stage0/src/Init/Core.lean b/stage0/src/Init/Core.lean index 3fdcbed018..0137e9a058 100644 --- a/stage0/src/Init/Core.lean +++ b/stage0/src/Init/Core.lean @@ -432,29 +432,23 @@ instance {c : Prop} {t : c → Prop} {e : ¬c → Prop} [dC : Decidable c] [dT : /- Inhabited -/ -instance : Inhabited Prop := { +instance : Inhabited Prop where default := True -} -instance : Inhabited Bool := { +instance : Inhabited Bool where default := false -} -instance : Inhabited True := { +instance : Inhabited True where default := trivial -} -instance : Inhabited NonScalar := { +instance : Inhabited NonScalar where default := ⟨arbitrary _⟩ -} -instance : Inhabited PNonScalar.{u} := { +instance : Inhabited PNonScalar.{u} where default := ⟨arbitrary _⟩ -} -instance {α} [Inhabited α] : Inhabited (ForInStep α) := { - default:= ForInStep.done (arbitrary _) -} +instance {α} [Inhabited α] : Inhabited (ForInStep α) where + default := ForInStep.done (arbitrary _) class inductive Nonempty (α : Sort u) : Prop := | intro (val : α) : Nonempty α @@ -462,9 +456,8 @@ class inductive Nonempty (α : Sort u) : Prop := protected def Nonempty.elim {α : Sort u} {p : Prop} (h₁ : Nonempty α) (h₂ : α → p) : p := h₂ h₁.1 -instance {α : Sort u} [Inhabited α] : Nonempty α := { +instance {α : Sort u} [Inhabited α] : Nonempty α where val := arbitrary α -} theorem nonemptyOfExists {α : Sort u} {p : α → Prop} : Exists (fun x => p x) → Nonempty α | ⟨w, h⟩ => ⟨w⟩ @@ -539,9 +532,8 @@ theorem eta (a : {x // p x}) (h : p (val a)) : mk (val a) h = a := by cases a exact rfl -instance {α : Type u} {p : α → Prop} {a : α} (h : p a) : Inhabited {x // p x} := { +instance {α : Type u} {p : α → Prop} {a : α} (h : p a) : Inhabited {x // p x} where default := ⟨a, h⟩ -} instance {α : Type u} {p : α → Prop} [DecidableEq α] : DecidableEq {x : α // p x} := fun ⟨a, h₁⟩ ⟨b, h₂⟩ => @@ -555,13 +547,11 @@ end Subtype section variables {α : Type u} {β : Type v} -instance Sum.inhabitedLeft [h : Inhabited α] : Inhabited (Sum α β) := { +instance Sum.inhabitedLeft [h : Inhabited α] : Inhabited (Sum α β) where default := Sum.inl (arbitrary α) -} -instance Sum.inhabitedRight [h : Inhabited β] : Inhabited (Sum α β) := { +instance Sum.inhabitedRight [h : Inhabited β] : Inhabited (Sum α β) where default := Sum.inr (arbitrary β) -} instance {α : Type u} {β : Type v} [DecidableEq α] [DecidableEq β] : DecidableEq (Sum α β) := fun a b => match a, b with @@ -581,9 +571,8 @@ end section variables {α : Type u} {β : Type v} -instance [Inhabited α] [Inhabited β] : Inhabited (α × β) := { +instance [Inhabited α] [Inhabited β] : Inhabited (α × β) where default := (arbitrary α, arbitrary β) -} instance [DecidableEq α] [DecidableEq β] : DecidableEq (α × β) := fun ⟨a, b⟩ ⟨a', b'⟩ => @@ -594,13 +583,11 @@ instance [DecidableEq α] [DecidableEq β] : DecidableEq (α × β) := | (isFalse n₂) => isFalse (fun h => Prod.noConfusion h (fun e₁' e₂' => absurd e₂' n₂)) | (isFalse n₁) => isFalse (fun h => Prod.noConfusion h (fun e₁' e₂' => absurd e₁' n₁)) -instance [BEq α] [BEq β] : BEq (α × β) := { +instance [BEq α] [BEq β] : BEq (α × β) where beq := fun ⟨a₁, b₁⟩ ⟨a₂, b₂⟩ => a₁ == a₂ && b₁ == b₂ -} -instance [HasLess α] [HasLess β] : HasLess (α × β) := { - Less := fun s t => s.1 < t.1 ∨ (s.1 = t.1 ∧ s.2 < t.2) -} +instance [HasLess α] [HasLess β] : HasLess (α × β) where + Less s t := s.1 < t.1 ∨ (s.1 = t.1 ∧ s.2 < t.2) instance prodHasDecidableLt [HasLess α] [HasLess β] [DecidableEq α] [DecidableEq β] @@ -638,9 +625,8 @@ theorem punitEqPUnit (a : PUnit) : a = () := instance : Subsingleton PUnit := Subsingleton.intro punitEq -instance : Inhabited PUnit := { +instance : Inhabited PUnit where default := ⟨⟩ -} instance : DecidableEq PUnit := fun a b => isTrue (punitEq a b) diff --git a/stage0/src/Init/Prelude.lean b/stage0/src/Init/Prelude.lean index c5b793bbb4..aee2842854 100644 --- a/stage0/src/Init/Prelude.lean +++ b/stage0/src/Init/Prelude.lean @@ -186,17 +186,14 @@ class Inhabited (α : Sort u) := constant arbitrary (α : Sort u) [s : Inhabited α] : α := @Inhabited.default α s -instance : Inhabited (Sort u) := { +instance : Inhabited (Sort u) where default := PUnit -} -instance (α : Sort u) {β : Sort v} [Inhabited β] : Inhabited (α → β) := { +instance (α : Sort u) {β : Sort v} [Inhabited β] : Inhabited (α → β) where default := fun _ => arbitrary β -} -instance (α : Sort u) {β : α → Sort v} [(a : α) → Inhabited (β a)] : Inhabited ((a : α) → β a) := { +instance (α : Sort u) {β : α → Sort v} [(a : α) → Inhabited (β a)] : Inhabited ((a : α) → β a) where default := fun a => arbitrary (β a) -} /-- Universe lifting operation from Sort to Type -/ structure PLift (α : Sort u) : Type u := @@ -214,9 +211,8 @@ structure PointedType := (type : Type u) (val : type) -instance : Inhabited PointedType.{u} := { +instance : Inhabited PointedType.{u} where default := { type := PUnit.{u+1}, val := ⟨⟩ } -} /-- Universe lifting operation -/ structure ULift.{r, s} (α : Type s) : Type (max s r) := @@ -279,8 +275,8 @@ class BEq (α : Type u) := (beq : α → α → Bool) open BEq (beq) -instance {α : Type u} [DecidableEq α] : BEq α := - ⟨fun a b => decide (Eq a b)⟩ +instance {α : Type u} [DecidableEq α] : BEq α where + beq a b := decide (Eq a b) -- We use "dependent" if-then-else to be able to communicate the if-then-else condition -- to the branches @@ -346,11 +342,11 @@ class OfNat (α : Type u) := export OfNat (ofNat) @[defaultInstance] -instance : OfNat Nat := ⟨id⟩ +instance : OfNat Nat where + ofNat x := x -instance : Inhabited Nat := { +instance : Inhabited Nat where default := 0 -} class HasLessEq (α : Type u) := (LessEq : α → α → Prop) class HasLess (α : Type u) := (Less : α → α → Prop) @@ -384,9 +380,8 @@ protected def Nat.add : (@& Nat) → (@& Nat) → Nat | a, Nat.zero => a | a, Nat.succ b => Nat.succ (Nat.add a b) -instance : Add Nat := { +instance : Add Nat where add := Nat.add -} /- We mark the following definitions as pattern to make sure they can be used in recursive equations, and reduced by the equation Compiler. -/ @@ -398,9 +393,8 @@ protected def Nat.mul : (@& Nat) → (@& Nat) → Nat | a, 0 => 0 | a, Nat.succ b => Nat.add (Nat.mul a b) a -instance : Mul Nat := { +instance : Mul Nat where mul := Nat.mul -} set_option bootstrap.gen_matcher_code false in @[extern "lean_nat_pow"] @@ -408,9 +402,8 @@ protected def Nat.pow (m : @& Nat) : (@& Nat) → Nat | 0 => 1 | succ n => Nat.mul (Nat.pow m n) m -instance : Pow Nat Nat := { +instance : Pow Nat Nat where pow := Nat.pow -} set_option bootstrap.gen_matcher_code false in @[extern "lean_nat_dec_eq"] @@ -567,9 +560,8 @@ protected def Nat.sub : (@& Nat) → (@& Nat) → Nat | a, 0 => a | a, succ b => pred (Nat.sub a b) -instance : Sub Nat := { +instance : Sub Nat where sub := Nat.sub -} theorem Nat.predLePred : {n m : Nat} → LessEq n m → LessEq (pred n) (pred m) | zero, zero, h => rfl @@ -641,9 +633,8 @@ def UInt8.decEq (a b : UInt8) : Decidable (Eq a b) := instance : DecidableEq UInt8 := UInt8.decEq -instance : Inhabited UInt8 := { +instance : Inhabited UInt8 where default := UInt8.ofNatCore 0 decide! -} def UInt16.size : Nat := 65536 structure UInt16 := @@ -666,9 +657,8 @@ def UInt16.decEq (a b : UInt16) : Decidable (Eq a b) := instance : DecidableEq UInt16 := UInt16.decEq -instance : Inhabited UInt16 := { +instance : Inhabited UInt16 where default := UInt16.ofNatCore 0 decide! -} def UInt32.size : Nat := 4294967296 structure UInt32 := @@ -694,9 +684,8 @@ def UInt32.decEq (a b : UInt32) : Decidable (Eq a b) := instance : DecidableEq UInt32 := UInt32.decEq -instance : Inhabited UInt32 := { +instance : Inhabited UInt32 where default := UInt32.ofNatCore 0 decide! -} def UInt32.lt (a b : UInt32) : Prop := Less a.val b.val def UInt32.le (a b : UInt32) : Prop := LessEq a.val b.val @@ -740,9 +729,8 @@ def UInt64.decEq (a b : UInt64) : Decidable (Eq a b) := instance : DecidableEq UInt64 := UInt64.decEq -instance : Inhabited UInt64 := { +instance : Inhabited UInt64 where default := UInt64.ofNatCore 0 decide! -} def USize.size : Nat := pow 2 System.Platform.numBits @@ -772,9 +760,10 @@ def USize.decEq (a b : USize) : Decidable (Eq a b) := instance : DecidableEq USize := USize.decEq -instance : Inhabited USize := { - default := USize.ofNatCore 0 (match USize.size, usizeSzEq with | _, Or.inl rfl => decide! | _, Or.inr rfl => decide!) -} +instance : Inhabited USize where + default := USize.ofNatCore 0 (match USize.size, usizeSzEq with + | _, Or.inl rfl => decide! + | _, Or.inr rfl => decide!) @[extern "lean_usize_of_nat"] def USize.ofNat32 (n : @& Nat) (h : Less n 4294967296) : USize := { @@ -849,17 +838,15 @@ attribute [unbox] Option export Option (none some) -instance {α} : Inhabited (Option α) := { +instance {α} : Inhabited (Option α) where default := none -} inductive List (α : Type u) := | nil : List α | cons (head : α) (tail : List α) : List α -instance {α} : Inhabited (List α) := { +instance {α} : Inhabited (List α) where default := List.nil -} protected def List.hasDecEq {α: Type u} [DecidableEq α] : (a b : List α) → Decidable (Eq a b) | nil, nil => isTrue rfl @@ -1064,13 +1051,11 @@ export MonadLiftT (monadLift) abbrev liftM := @monadLift -instance (m n o) [MonadLiftT m n] [MonadLift n o] : MonadLiftT m o := { - monadLift := fun x => MonadLift.monadLift (m := n) (monadLift x) -} +instance (m n o) [MonadLiftT m n] [MonadLift n o] : MonadLiftT m o where + monadLift x := MonadLift.monadLift (m := n) (monadLift x) -instance (m) : MonadLiftT m m := { - monadLift := fun x => x -} +instance (m) : MonadLiftT m m where + monadLift x := x /-- A functor in the category of monads. Can be used to lift monad-transforming functions. Based on pipes' [MFunctor](https://hackage.haskell.org/package/pipes-2.4.0/docs/Control-MFunctor.html), @@ -1086,13 +1071,11 @@ class MonadFunctorT (m : Type u → Type v) (n : Type u → Type w) := export MonadFunctorT (monadMap) -instance (m n o) [MonadFunctorT m n] [MonadFunctor n o] : MonadFunctorT m o := { - monadMap := fun f => MonadFunctor.monadMap (m := n) (monadMap (m := m) f) -} +instance (m n o) [MonadFunctorT m n] [MonadFunctor n o] : MonadFunctorT m o where + monadMap f := MonadFunctor.monadMap (m := n) (monadMap (m := m) f) -instance monadFunctorRefl (m) : MonadFunctorT m m := { - monadMap := fun f => f -} +instance monadFunctorRefl (m) : MonadFunctorT m m where + monadMap f := f inductive Except (ε : Type u) (α : Type v) := | error : ε → Except ε α @@ -1121,10 +1104,9 @@ class MonadExcept (ε : outParam (Type u)) (m : Type v → Type w) := export MonadExcept (throw tryCatch) -instance (ε : outParam (Type u)) (m : Type v → Type w) [MonadExceptOf ε m] : MonadExcept ε m := { +instance (ε : outParam (Type u)) (m : Type v → Type w) [MonadExceptOf ε m] : MonadExcept ε m where throw := throwThe ε tryCatch := tryCatchThe ε -} namespace MonadExcept variables {ε : Type u} {m : Type v → Type w} @@ -1158,10 +1140,9 @@ variables {ρ : Type u} {m : Type u → Type v} {α : Type u} instance : MonadLift m (ReaderT ρ m) := ⟨ReaderT.lift⟩ -instance (ε) [MonadExceptOf ε m] : MonadExceptOf ε (ReaderT ρ m) := { +instance (ε) [MonadExceptOf ε m] : MonadExceptOf ε (ReaderT ρ m) where throw := Function.comp ReaderT.lift (throwThe ε) tryCatch := fun x c r => tryCatchThe ε (x r) (fun e => (c e) r) -} end @@ -1180,11 +1161,10 @@ variables {ρ : Type u} {m : Type u → Type v} [Monad m] {α β : Type u} @[inline] protected def map (f : α → β) (x : ReaderT ρ m α) : ReaderT ρ m β := fun r => Functor.map f (x r) -instance : Monad (ReaderT ρ m) := { +instance : Monad (ReaderT ρ m) where pure := ReaderT.pure bind := ReaderT.bind map := ReaderT.map -} instance (ρ m) [Monad m] : MonadFunctor m (ReaderT ρ m) := ⟨fun f x r => f (x r)⟩ @@ -1277,11 +1257,10 @@ class MonadState (σ : outParam (Type u)) (m : Type u → Type v) := export MonadState (get modifyGet) -instance (σ : Type u) (m : Type u → Type v) [MonadStateOf σ m] : MonadState σ m := { +instance (σ : Type u) (m : Type u → Type v) [MonadStateOf σ m] : MonadState σ m where set := MonadStateOf.set get := getThe σ modifyGet := fun f => MonadStateOf.modifyGet f -} @[inline] def modify {σ : Type u} {m : Type u → Type v} [MonadState σ m] (f : σ → σ) : m PUnit := modifyGet fun s => (PUnit.unit, f s) @@ -1291,11 +1270,10 @@ instance (σ : Type u) (m : Type u → Type v) [MonadStateOf σ m] : MonadState -- NOTE: The Ordering of the following two instances determines that the top-most `StateT` Monad layer -- will be picked first -instance {σ : Type u} {m : Type u → Type v} {n : Type u → Type w} [MonadStateOf σ m] [MonadLift m n] : MonadStateOf σ n := { +instance {σ : Type u} {m : Type u → Type v} {n : Type u → Type w} [MonadStateOf σ m] [MonadLift m n] : MonadStateOf σ n where get := liftM (m := m) MonadStateOf.get set := fun s => liftM (m := m) (MonadStateOf.set s) modifyGet := fun f => monadLift (m := m) (MonadState.modifyGet f) -} namespace EStateM @@ -1372,27 +1350,23 @@ class Backtrackable (δ : outParam (Type u)) (σ : Type u) := | Result.ok _ s => y s | Result.error e s => Result.error e s -instance : Monad (EStateM ε σ) := { +instance : Monad (EStateM ε σ) where bind := EStateM.bind pure := EStateM.pure map := EStateM.map seqRight := EStateM.seqRight -} -instance {δ} [Backtrackable δ σ] : OrElse (EStateM ε σ α) := { +instance {δ} [Backtrackable δ σ] : OrElse (EStateM ε σ α) where orElse := EStateM.orElse -} -instance : MonadStateOf σ (EStateM ε σ) := { +instance : MonadStateOf σ (EStateM ε σ) where set := EStateM.set get := EStateM.get modifyGet := EStateM.modifyGet -} -instance {δ} [Backtrackable δ σ] : MonadExceptOf ε (EStateM ε σ) := { +instance {δ} [Backtrackable δ σ] : MonadExceptOf ε (EStateM ε σ) where throw := EStateM.throw tryCatch := EStateM.tryCatch -} @[inline] def run (x : EStateM ε σ α) (s : σ) : Result ε σ α := x s @@ -1407,10 +1381,9 @@ instance {δ} [Backtrackable δ σ] : MonadExceptOf ε (EStateM ε σ) := { @[inline] def dummyRestore : σ → PUnit → σ := fun s _ => s /- Dummy default instance -/ -instance nonBacktrackable : Backtrackable PUnit σ := { +instance nonBacktrackable : Backtrackable PUnit σ where save := dummySave restore := dummyRestore -} end EStateM @@ -1624,11 +1597,10 @@ class MonadQuotation (m : Type → Type) := export MonadQuotation (getCurrMacroScope getMainModule withFreshMacroScope) -instance {m n : Type → Type} [MonadQuotation m] [MonadLift m n] [MonadFunctorT m n] : MonadQuotation n := { +instance {m n : Type → Type} [MonadQuotation m] [MonadLift m n] [MonadFunctorT m n] : MonadQuotation n where getCurrMacroScope := liftM (m := m) getCurrMacroScope getMainModule := liftM (m := m) getMainModule withFreshMacroScope := monadMap (m := m) withFreshMacroScope -} /- We represent a name with macro scopes as @@ -1762,10 +1734,9 @@ class MonadRef (m : Type → Type) := export MonadRef (getRef) -instance (m n : Type → Type) [MonadRef m] [MonadFunctor m n] [MonadLift m n] : MonadRef n := { +instance (m n : Type → Type) [MonadRef m] [MonadFunctor m n] [MonadLift m n] : MonadRef n where getRef := liftM (getRef : m _) withRef := fun ref x => monadMap (m := m) (MonadRef.withRef ref) x -} def replaceRef (ref : Syntax) (oldRef : Syntax) : Syntax := match ref.getPos with @@ -1805,10 +1776,9 @@ abbrev Macro := Syntax → MacroM Syntax namespace Macro -instance : MonadRef MacroM := { +instance : MonadRef MacroM where getRef := bind read fun ctx => pure ctx.ref withRef := fun ref x => withReader (fun ctx => { ctx with ref := ref }) x -} def addMacroScope (n : Name) : MacroM Name := bind read fun ctx => @@ -1834,11 +1804,10 @@ def throwErrorAt {α} (ref : Syntax) (msg : String) : MacroM α := | true => throw (Exception.error ref maxRecDepthErrorMessage) | false => withReader (fun ctx => { ctx with currRecDepth := add ctx.currRecDepth 1 }) x -instance : MonadQuotation MacroM := { +instance : MonadQuotation MacroM where getCurrMacroScope := fun ctx => pure ctx.currMacroScope getMainModule := fun ctx => pure ctx.mainModule withFreshMacroScope := Macro.withFreshMacroScope -} unsafe def mkMacroEnvImp (expandMacro? : Syntax → MacroM (Option Syntax)) : MacroEnv := unsafeCast expandMacro? diff --git a/stage0/src/Init/System/IO.lean b/stage0/src/Init/System/IO.lean index 1efa19d757..f40b4cfef7 100644 --- a/stage0/src/Init/System/IO.lean +++ b/stage0/src/Init/System/IO.lean @@ -83,6 +83,11 @@ def ofExcept [ToString ε] (e : Except ε α) : IO α := def lazyPure (fn : Unit → α) : IO α := pure (fn ()) + +def sleep (ms : UInt32) : IO Unit := + -- TODO: add a proper primitive for IO.sleep + fun s => dbgSleep ms fun _ => EStateM.Result.ok () s + /-- Run `act` in a separate `Task`. This is similar to Haskell's [`unsafeInterleaveIO`](http://hackage.haskell.org/package/base-4.14.0.0/docs/System-IO-Unsafe.html#v:unsafeInterleaveIO), except that the `Task` is started eagerly as usual. Thus pure accesses to the `Task` do not influence the impure `act` diff --git a/stage0/src/Lean.lean b/stage0/src/Lean.lean index a840d18df3..8af268eb56 100644 --- a/stage0/src/Lean.lean +++ b/stage0/src/Lean.lean @@ -3,6 +3,7 @@ Copyright (c) 2020 Microsoft Corporation. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ +import Lean.Data import Lean.Compiler import Lean.Environment import Lean.Modifiers @@ -25,3 +26,4 @@ import Lean.Delaborator import Lean.PrettyPrinter import Lean.CoreM import Lean.InternalExceptionId +import Lean.Server diff --git a/stage0/src/Lean/Data.lean b/stage0/src/Lean/Data.lean new file mode 100644 index 0000000000..eba3145383 --- /dev/null +++ b/stage0/src/Lean/Data.lean @@ -0,0 +1,20 @@ +/- +Copyright (c) 2020 Sebastian Ullrich. All rights reserved. +Released under Apache 2.0 license as described in the file LICENSE. +Authors: Sebastian Ullrich +-/ +import Lean.Data.Format +import Lean.Data.FormatMacro +import Lean.Data.Json +import Lean.Data.JsonRpc +import Lean.Data.KVMap +import Lean.Data.LBool +import Lean.Data.LOption +import Lean.Data.Lsp +import Lean.Data.Name +import Lean.Data.Occurrences +import Lean.Data.OpenDecl +import Lean.Data.Options +import Lean.Data.Position +import Lean.Data.SMap +import Lean.Data.Trie diff --git a/stage0/src/Lean/Delaborator.lean b/stage0/src/Lean/Delaborator.lean index 5e12f27580..feac4fcaf6 100644 --- a/stage0/src/Lean/Delaborator.lean +++ b/stage0/src/Lean/Delaborator.lean @@ -457,13 +457,20 @@ def delabMData : Delab := do -- only interpret `pp.` values by default let Expr.mdata m _ _ ← getExpr | unreachable! let mut posOpts := (← read).optionsPerPos + let mut inaccessible := false let pos := (← read).pos for (k, v) in m do if (`pp).isPrefixOf k then let opts := posOpts.find? pos |>.getD {} posOpts := posOpts.insert pos (opts.insert k v) - withReader ({ · with optionsPerPos := posOpts }) <| - withMDataExpr delab + if k == `inaccessible then + inaccessible := true + withReader ({ · with optionsPerPos := posOpts }) do + let s ← withMDataExpr delab + if inaccessible then + `(.($s)) + else + pure s /-- Check for a `Syntax.ident` of the given name anywhere in the tree. @@ -780,6 +787,14 @@ def delabListToArray : Delab := whenPPOption getPPNotation do | `([$xs*]) => `(#[$xs*]) | _ => failure +@[builtinDelab app.namedPattern] +def delabNamedPattern : Delab := do + guard $ (← getExpr).getAppNumArgs == 3 + let x ← withAppFn $ withAppArg delab + let p ← withAppArg delab + guard x.isIdent + `($x:ident@$p:term) + end Delaborator /-- "Delaborate" the given term into surface-level syntax using the default and given subterm-specific options. -/ diff --git a/stage0/src/Lean/Elab/Match.lean b/stage0/src/Lean/Elab/Match.lean index fcfaab47e8..9275199354 100644 --- a/stage0/src/Lean/Elab/Match.lean +++ b/stage0/src/Lean/Elab/Match.lean @@ -35,9 +35,9 @@ structure MatchAltView := (rhs : Syntax) def mkMatchAltView (ref : Syntax) (matchAlt : Syntax) : MatchAltView := { - ref := ref, - patterns := matchAlt[0].getSepArgs, - rhs := matchAlt[2] + ref := ref + patterns := matchAlt[0].getSepArgs + rhs := matchAlt[2] } private def expandSimpleMatch (stx discr lhsVar rhs : Syntax) (expectedType? : Option Expr) : TermElabM Expr := do diff --git a/stage0/src/Lean/Elab/Structure.lean b/stage0/src/Lean/Elab/Structure.lean index a8ea809859..da2f69985c 100644 --- a/stage0/src/Lean/Elab/Structure.lean +++ b/stage0/src/Lean/Elab/Structure.lean @@ -135,15 +135,20 @@ def checkValidFieldModifier (modifiers : Modifiers) : CommandElabM Unit := do /- ``` -def structExplicitBinder := parser! try (declModifiers >> "(") >> many1 ident >> optional inferMod >> optDeclSig >> optional Term.binderDefault >> ")" -def structImplicitBinder := parser! try (declModifiers >> "{") >> many1 ident >> optional inferMod >> declSig >> "}" -def structInstBinder := parser! try (declModifiers >> "[") >> many1 ident >> optional inferMod >> declSig >> "]" +def structExplicitBinder := parser! atomic (declModifiers true >> "(") >> many1 ident >> optional inferMod >> optDeclSig >> optional Term.binderDefault >> ")" +def structImplicitBinder := parser! atomic (declModifiers true >> "{") >> many1 ident >> optional inferMod >> declSig >> "}" +def structInstBinder := parser! atomic (declModifiers true >> "[") >> many1 ident >> optional inferMod >> declSig >> "]" +def structSimpleBinder := parser! atomic (declModifiers true >> many1 ident) >> optional inferMod >> optDeclSig >> optional Term.binderDefault def structFields := parser! many (structExplicitBinder <|> structImplicitBinder <|> structInstBinder) ``` -/ private def expandFields (structStx : Syntax) (structModifiers : Modifiers) (structDeclName : Name) : CommandElabM (Array StructFieldView) := let fieldBinders := if structStx[5].isNone then #[] else structStx[5][2][0].getArgs fieldBinders.foldlM (init := #[]) fun (views : Array StructFieldView) fieldBinder => withRef fieldBinder do + let mut fieldBinder := fieldBinder + if fieldBinder.getKind == `Lean.Parser.Command.structSimpleBinder then + fieldBinder := Syntax.node `Lean.Parser.Command.structExplicitBinder + #[ fieldBinder[0], mkAtomFrom fieldBinder "(", fieldBinder[1], fieldBinder[2], fieldBinder[3], fieldBinder[4], mkAtomFrom fieldBinder ")" ] let k := fieldBinder.getKind let binfo ← if k == `Lean.Parser.Command.structExplicitBinder then pure BinderInfo.default @@ -178,12 +183,12 @@ private def expandFields (structStx : Syntax) (structModifiers : Modifiers) (str throwError! "invalid field name '{name}', identifiers starting with '_' are reserved to the system" let declName := structDeclName ++ name let declName ← applyVisibility fieldModifiers.visibility declName - pure $ views.push { + return views.push { ref := ident, modifiers := fieldModifiers, binderInfo := binfo, inferMod := inferMod, - declName := declName, + declName := declName, name := name, binders := binders, type? := type?, diff --git a/stage0/src/Lean/Elab/Tactic/Induction.lean b/stage0/src/Lean/Elab/Tactic/Induction.lean index 5163585b26..9b883ad6fe 100644 --- a/stage0/src/Lean/Elab/Tactic/Induction.lean +++ b/stage0/src/Lean/Elab/Tactic/Induction.lean @@ -240,7 +240,10 @@ private def generalizeVars (stx : Syntax) (targets : Array Expr) : TacticM Nat : pure (fvarIds.size, [mvarId']) private def getAltsOfInductionAlts (inductionAlts : Syntax) : Array Syntax := - inductionAlts[1].getSepArgs + if inductionAlts.getNumArgs == 2 then + inductionAlts[1].getSepArgs -- TODO remove + else + inductionAlts[2].getSepArgs private def getAltsOfOptInductionAlts (optInductionAlts : Syntax) : Array Syntax := if optInductionAlts.isNone then #[] else getAltsOfInductionAlts optInductionAlts[0] diff --git a/stage0/src/Lean/Meta/Match/Basic.lean b/stage0/src/Lean/Meta/Match/Basic.lean new file mode 100644 index 0000000000..f7738ab30d --- /dev/null +++ b/stage0/src/Lean/Meta/Match/Basic.lean @@ -0,0 +1,264 @@ +/- +Copyright (c) 2020 Microsoft Corporation. All rights reserved. +Released under Apache 2.0 license as described in the file LICENSE. +Authors: Leonardo de Moura +-/ +import Lean.Meta.Match.MatcherInfo +import Lean.Meta.Match.CaseArraySizes + +namespace Lean.Meta.Match + +inductive Pattern : Type := + | inaccessible (e : Expr) : Pattern + | var (fvarId : FVarId) : Pattern + | ctor (ctorName : Name) (us : List Level) (params : List Expr) (fields : List Pattern) : Pattern + | val (e : Expr) : Pattern + | arrayLit (type : Expr) (xs : List Pattern) : Pattern + | as (varId : FVarId) (p : Pattern) : Pattern + +namespace Pattern + +instance : Inhabited Pattern := ⟨Pattern.inaccessible (arbitrary _)⟩ + +partial def toMessageData : Pattern → MessageData + | inaccessible e => m!".({e})" + | var varId => mkFVar varId + | ctor ctorName _ _ [] => ctorName + | ctor ctorName _ _ pats => m!"({ctorName}{pats.foldl (fun (msg : MessageData) pat => msg ++ " " ++ toMessageData pat) Format.nil})" + | val e => e + | arrayLit _ pats => m!"#[{MessageData.joinSep (pats.map toMessageData) ", "}]" + | as varId p => m!"{mkFVar varId}@{toMessageData p}" + +partial def toExpr (p : Pattern) (annotate := false) : MetaM Expr := + visit p +where + visit (p : Pattern) := do + match p with + | inaccessible e => + if annotate then + pure (mkAnnotation `inaccessible e) + else + pure e + | var fvarId => pure $ mkFVar fvarId + | val e => pure e + | as fvarId p => + if annotate then + mkAppM `namedPattern #[mkFVar fvarId, (← visit p)] + else + visit p + | arrayLit type xs => + let xs ← xs.mapM visit + mkArrayLit type xs + | ctor ctorName us params fields => + let fields ← fields.mapM visit + pure $ mkAppN (mkConst ctorName us) (params ++ fields).toArray + +/- Apply the free variable substitution `s` to the given pattern -/ +partial def applyFVarSubst (s : FVarSubst) : Pattern → Pattern + | inaccessible e => inaccessible $ s.apply e + | ctor n us ps fs => ctor n us (ps.map s.apply) $ fs.map (applyFVarSubst s) + | val e => val $ s.apply e + | arrayLit t xs => arrayLit (s.apply t) $ xs.map (applyFVarSubst s) + | var fvarId => match s.find? fvarId with + | some e => inaccessible e + | none => var fvarId + | as fvarId p => match s.find? fvarId with + | none => as fvarId $ applyFVarSubst s p + | some _ => applyFVarSubst s p + +def replaceFVarId (fvarId : FVarId) (v : Expr) (p : Pattern) : Pattern := + let s : FVarSubst := {} + p.applyFVarSubst (s.insert fvarId v) + +partial def hasExprMVar : Pattern → Bool + | inaccessible e => e.hasExprMVar + | ctor _ _ ps fs => ps.any (·.hasExprMVar) || fs.any hasExprMVar + | val e => e.hasExprMVar + | as _ p => hasExprMVar p + | arrayLit t xs => t.hasExprMVar || xs.any hasExprMVar + | _ => false + +end Pattern + +partial def instantiatePatternMVars : Pattern → MetaM Pattern + | Pattern.inaccessible e => return Pattern.inaccessible (← instantiateMVars e) + | Pattern.val e => return Pattern.val (← instantiateMVars e) + | Pattern.ctor n us ps fields => return Pattern.ctor n us (← ps.mapM instantiateMVars) (← fields.mapM instantiatePatternMVars) + | Pattern.as x p => return Pattern.as x (← instantiatePatternMVars p) + | Pattern.arrayLit t xs => return Pattern.arrayLit (← instantiateMVars t) (← xs.mapM instantiatePatternMVars) + | p => return p + +structure AltLHS := + (ref : Syntax) + (fvarDecls : List LocalDecl) -- Free variables used in the patterns. + (patterns : List Pattern) -- We use `List Pattern` since we have nary match-expressions. + +def instantiateAltLHSMVars (altLHS : AltLHS) : MetaM AltLHS := + return { altLHS with + fvarDecls := (← altLHS.fvarDecls.mapM instantiateLocalDeclMVars), + patterns := (← altLHS.patterns.mapM instantiatePatternMVars) + } + +structure Alt := + (ref : Syntax) + (idx : Nat) -- for generating error messages + (rhs : Expr) + (fvarDecls : List LocalDecl) + (patterns : List Pattern) + +namespace Alt + +instance : Inhabited Alt := ⟨⟨arbitrary _, 0, arbitrary _, [], []⟩⟩ + +partial def toMessageData (alt : Alt) : MetaM MessageData := do + withExistingLocalDecls alt.fvarDecls do + let msg : List MessageData := alt.fvarDecls.map fun d => d.toExpr ++ ":(" ++ d.type ++ ")" + let msg : MessageData := msg ++ " |- " ++ (alt.patterns.map Pattern.toMessageData) ++ " => " ++ alt.rhs + addMessageContext msg + +def applyFVarSubst (s : FVarSubst) (alt : Alt) : Alt := + { alt with + patterns := alt.patterns.map fun p => p.applyFVarSubst s, + fvarDecls := alt.fvarDecls.map fun d => d.applyFVarSubst s, + rhs := alt.rhs.applyFVarSubst s } + +def replaceFVarId (fvarId : FVarId) (v : Expr) (alt : Alt) : Alt := + { alt with + patterns := alt.patterns.map fun p => p.replaceFVarId fvarId v, + fvarDecls := + let decls := alt.fvarDecls.filter fun d => d.fvarId != fvarId + decls.map $ replaceFVarIdAtLocalDecl fvarId v, + rhs := alt.rhs.replaceFVarId fvarId v } + +/- + Similar to `checkAndReplaceFVarId`, but ensures type of `v` is definitionally equal to type of `fvarId`. + This extra check is necessary when performing dependent elimination and inaccessible terms have been used. + For example, consider the following code fragment: + +``` +inductive Vec (α : Type u) : Nat → Type u := + | nil : Vec α 0 + | cons {n} (head : α) (tail : Vec α n) : Vec α (n+1) + +inductive VecPred {α : Type u} (P : α → Prop) : {n : Nat} → Vec α n → Prop := + | nil : VecPred P Vec.nil + | cons {n : Nat} {head : α} {tail : Vec α n} : P head → VecPred P tail → VecPred P (Vec.cons head tail) + +theorem ex {α : Type u} (P : α → Prop) : {n : Nat} → (v : Vec α (n+1)) → VecPred P v → Exists P + | _, Vec.cons head _, VecPred.cons h (w : VecPred P Vec.nil) => ⟨head, h⟩ +``` +Recall that `_` in a pattern can be elaborated into pattern variable or an inaccessible term. +The elaborator uses an inaccessible term when typing constraints restrict its value. +Thus, in the example above, the `_` at `Vec.cons head _` becomes the inaccessible pattern `.(Vec.nil)` +because the type ascription `(w : VecPred P Vec.nil)` propagates typing constraints that restrict its value to be `Vec.nil`. +After elaboration the alternative becomes: +``` + | .(0), @Vec.cons .(α) .(0) head .(Vec.nil), @VecPred.cons .(α) .(P) .(0) .(head) .(Vec.nil) h w => ⟨head, h⟩ +``` +where +``` +(head : α), (h: P head), (w : VecPred P Vec.nil) +``` +Then, when we process this alternative in this module, the following check will detect that +`w` has type `VecPred P Vec.nil`, when it is supposed to have type `VecPred P tail`. +Note that if we had written +``` +theorem ex {α : Type u} (P : α → Prop) : {n : Nat} → (v : Vec α (n+1)) → VecPred P v → Exists P + | _, Vec.cons head Vec.nil, VecPred.cons h (w : VecPred P Vec.nil) => ⟨head, h⟩ +``` +we would get the easier to digest error message +``` +missing cases: +_, (Vec.cons _ _ (Vec.cons _ _ _)), _ +``` +-/ +def checkAndReplaceFVarId (fvarId : FVarId) (v : Expr) (alt : Alt) : MetaM Alt := do + match alt.fvarDecls.find? fun (fvarDecl : LocalDecl) => fvarDecl.fvarId == fvarId with + | none => throwErrorAt alt.ref "unknown free pattern variable" + | some fvarDecl => do + let vType ← inferType v + unless (← isDefEqGuarded fvarDecl.type vType) do + withExistingLocalDecls alt.fvarDecls do + throwErrorAt alt.ref $ + m!"type mismatch during dependent match-elimination at pattern variable '{mkFVar fvarDecl.fvarId}' with type{indentExpr fvarDecl.type}\nexpected type{indentExpr vType}" + pure $ replaceFVarId fvarId v alt + +end Alt + +inductive Example := + | var : FVarId → Example + | underscore : Example + | ctor : Name → List Example → Example + | val : Expr → Example + | arrayLit : List Example → Example + +namespace Example + +partial def replaceFVarId (fvarId : FVarId) (ex : Example) : Example → Example + | var x => if x == fvarId then ex else var x + | ctor n exs => ctor n $ exs.map (replaceFVarId fvarId ex) + | arrayLit exs => arrayLit $ exs.map (replaceFVarId fvarId ex) + | ex => ex + +partial def applyFVarSubst (s : FVarSubst) : Example → Example + | var fvarId => + match s.get fvarId with + | Expr.fvar fvarId' _ => var fvarId' + | _ => underscore + | ctor n exs => ctor n $ exs.map (applyFVarSubst s) + | arrayLit exs => arrayLit $ exs.map (applyFVarSubst s) + | ex => ex + +partial def varsToUnderscore : Example → Example + | var x => underscore + | ctor n exs => ctor n $ exs.map varsToUnderscore + | arrayLit exs => arrayLit $ exs.map varsToUnderscore + | ex => ex + +partial def toMessageData : Example → MessageData + | var fvarId => mkFVar fvarId + | ctor ctorName [] => mkConst ctorName + | ctor ctorName exs => "(" ++ mkConst ctorName ++ exs.foldl (fun (msg : MessageData) pat => msg ++ " " ++ toMessageData pat) Format.nil ++ ")" + | arrayLit exs => "#" ++ MessageData.ofList (exs.map toMessageData) + | val e => e + | underscore => "_" + +end Example + +def examplesToMessageData (cex : List Example) : MessageData := + MessageData.joinSep (cex.map (Example.toMessageData ∘ Example.varsToUnderscore)) ", " + +structure Problem := + (mvarId : MVarId) + (vars : List Expr) + (alts : List Alt) + (examples : List Example) + +def withGoalOf {α} (p : Problem) (x : MetaM α) : MetaM α := + withMVarContext p.mvarId x + +instance : Inhabited Problem := ⟨{ mvarId := arbitrary _, vars := [], alts := [], examples := []}⟩ + +def Problem.toMessageData (p : Problem) : MetaM MessageData := + withGoalOf p do + let alts ← p.alts.mapM Alt.toMessageData + let vars ← p.vars.mapM fun x => do let xType ← inferType x; pure (x ++ ":(" ++ xType ++ ")" : MessageData) + return "remaining variables: " ++ vars + ++ Format.line ++ "alternatives:" ++ indentD (MessageData.joinSep alts Format.line) + ++ Format.line ++ "examples: " ++ examplesToMessageData p.examples + ++ Format.line + +abbrev CounterExample := List Example + +def counterExampleToMessageData (cex : CounterExample) : MessageData := + examplesToMessageData cex + +def counterExamplesToMessageData (cexs : List CounterExample) : MessageData := + MessageData.joinSep (cexs.map counterExampleToMessageData) Format.line + +structure MatcherResult := + (matcher : Expr) -- The matcher. It is not just `Expr.const matcherName` because the type of the major premises may contain free variables. + (counterExamples : List CounterExample) + (unusedAltIdxs : List Nat) + +end Lean.Meta.Match diff --git a/stage0/src/Lean/Meta/Match/Match.lean b/stage0/src/Lean/Meta/Match/Match.lean index 94818a01c1..4062bd78de 100644 --- a/stage0/src/Lean/Meta/Match/Match.lean +++ b/stage0/src/Lean/Meta/Match/Match.lean @@ -10,282 +10,44 @@ import Lean.Meta.Check import Lean.Meta.Closure import Lean.Meta.Tactic.Cases import Lean.Meta.GeneralizeTelescope -import Lean.Meta.Match.MatcherInfo +import Lean.Meta.Match.Basic import Lean.Meta.Match.MVarRenaming import Lean.Meta.Match.CaseValues -import Lean.Meta.Match.CaseArraySizes namespace Lean.Meta.Match -inductive Pattern : Type := - | inaccessible (e : Expr) : Pattern - | var (fvarId : FVarId) : Pattern - | ctor (ctorName : Name) (us : List Level) (params : List Expr) (fields : List Pattern) : Pattern - | val (e : Expr) : Pattern - | arrayLit (type : Expr) (xs : List Pattern) : Pattern - | as (varId : FVarId) (p : Pattern) : Pattern - -namespace Pattern - -instance : Inhabited Pattern := ⟨Pattern.inaccessible (arbitrary _)⟩ - -partial def toMessageData : Pattern → MessageData - | inaccessible e => m!".({e})" - | var varId => mkFVar varId - | ctor ctorName _ _ [] => ctorName - | ctor ctorName _ _ pats => m!"({ctorName}{pats.foldl (fun (msg : MessageData) pat => msg ++ " " ++ toMessageData pat) Format.nil})" - | val e => e - | arrayLit _ pats => m!"#[{MessageData.joinSep (pats.map toMessageData) ", "}]" - | as varId p => m!"{mkFVar varId}@{toMessageData p}" - -partial def toExpr : Pattern → MetaM Expr - | inaccessible e => pure e - | var fvarId => pure $ mkFVar fvarId - | val e => pure e - | as _ p => toExpr p - | arrayLit type xs => do - let xs ← xs.mapM toExpr; - mkArrayLit type xs - | ctor ctorName us params fields => do - let fields ← fields.mapM toExpr; - pure $ mkAppN (mkConst ctorName us) (params ++ fields).toArray - -/- Apply the free variable substitution `s` to the given pattern -/ -partial def applyFVarSubst (s : FVarSubst) : Pattern → Pattern - | inaccessible e => inaccessible $ s.apply e - | ctor n us ps fs => ctor n us (ps.map s.apply) $ fs.map (applyFVarSubst s) - | val e => val $ s.apply e - | arrayLit t xs => arrayLit (s.apply t) $ xs.map (applyFVarSubst s) - | var fvarId => match s.find? fvarId with - | some e => inaccessible e - | none => var fvarId - | as fvarId p => match s.find? fvarId with - | none => as fvarId $ applyFVarSubst s p - | some _ => applyFVarSubst s p - -def replaceFVarId (fvarId : FVarId) (v : Expr) (p : Pattern) : Pattern := - let s : FVarSubst := {} - p.applyFVarSubst (s.insert fvarId v) - -partial def hasExprMVar : Pattern → Bool - | inaccessible e => e.hasExprMVar - | ctor _ _ ps fs => ps.any (·.hasExprMVar) || fs.any hasExprMVar - | val e => e.hasExprMVar - | as _ p => hasExprMVar p - | arrayLit t xs => t.hasExprMVar || xs.any hasExprMVar - | _ => false - -end Pattern - -partial def instantiatePatternMVars : Pattern → MetaM Pattern - | Pattern.inaccessible e => return Pattern.inaccessible (← instantiateMVars e) - | Pattern.val e => return Pattern.val (← instantiateMVars e) - | Pattern.ctor n us ps fields => return Pattern.ctor n us (← ps.mapM instantiateMVars) (← fields.mapM instantiatePatternMVars) - | Pattern.as x p => return Pattern.as x (← instantiatePatternMVars p) - | Pattern.arrayLit t xs => return Pattern.arrayLit (← instantiateMVars t) (← xs.mapM instantiatePatternMVars) - | p => return p - -structure AltLHS := - (ref : Syntax) - (fvarDecls : List LocalDecl) -- Free variables used in the patterns. - (patterns : List Pattern) -- We use `List Pattern` since we have nary match-expressions. - -def instantiateAltLHSMVars (altLHS : AltLHS) : MetaM AltLHS := - return { altLHS with - fvarDecls := (← altLHS.fvarDecls.mapM instantiateLocalDeclMVars), - patterns := (← altLHS.patterns.mapM instantiatePatternMVars) - } - -structure Alt := - (ref : Syntax) - (idx : Nat) -- for generating error messages - (rhs : Expr) - (fvarDecls : List LocalDecl) - (patterns : List Pattern) - -namespace Alt - -instance : Inhabited Alt := ⟨⟨arbitrary _, 0, arbitrary _, [], []⟩⟩ - -partial def toMessageData (alt : Alt) : MetaM MessageData := do - withExistingLocalDecls alt.fvarDecls do - let msg : List MessageData := alt.fvarDecls.map fun d => d.toExpr ++ ":(" ++ d.type ++ ")" - let msg : MessageData := msg ++ " |- " ++ (alt.patterns.map Pattern.toMessageData) ++ " => " ++ alt.rhs - addMessageContext msg - -def applyFVarSubst (s : FVarSubst) (alt : Alt) : Alt := - { alt with - patterns := alt.patterns.map fun p => p.applyFVarSubst s, - fvarDecls := alt.fvarDecls.map fun d => d.applyFVarSubst s, - rhs := alt.rhs.applyFVarSubst s } - -def replaceFVarId (fvarId : FVarId) (v : Expr) (alt : Alt) : Alt := - { alt with - patterns := alt.patterns.map fun p => p.replaceFVarId fvarId v, - fvarDecls := - let decls := alt.fvarDecls.filter fun d => d.fvarId != fvarId - decls.map $ replaceFVarIdAtLocalDecl fvarId v, - rhs := alt.rhs.replaceFVarId fvarId v } - -/- - Similar to `checkAndReplaceFVarId`, but ensures type of `v` is definitionally equal to type of `fvarId`. - This extra check is necessary when performing dependent elimination and inaccessible terms have been used. - For example, consider the following code fragment: - -``` -inductive Vec (α : Type u) : Nat → Type u := - | nil : Vec α 0 - | cons {n} (head : α) (tail : Vec α n) : Vec α (n+1) - -inductive VecPred {α : Type u} (P : α → Prop) : {n : Nat} → Vec α n → Prop := - | nil : VecPred P Vec.nil - | cons {n : Nat} {head : α} {tail : Vec α n} : P head → VecPred P tail → VecPred P (Vec.cons head tail) - -theorem ex {α : Type u} (P : α → Prop) : {n : Nat} → (v : Vec α (n+1)) → VecPred P v → Exists P - | _, Vec.cons head _, VecPred.cons h (w : VecPred P Vec.nil) => ⟨head, h⟩ -``` -Recall that `_` in a pattern can be elaborated into pattern variable or an inaccessible term. -The elaborator uses an inaccessible term when typing constraints restrict its value. -Thus, in the example above, the `_` at `Vec.cons head _` becomes the inaccessible pattern `.(Vec.nil)` -because the type ascription `(w : VecPred P Vec.nil)` propagates typing constraints that restrict its value to be `Vec.nil`. -After elaboration the alternative becomes: -``` - | .(0), @Vec.cons .(α) .(0) head .(Vec.nil), @VecPred.cons .(α) .(P) .(0) .(head) .(Vec.nil) h w => ⟨head, h⟩ -``` -where -``` -(head : α), (h: P head), (w : VecPred P Vec.nil) -``` -Then, when we process this alternative in this module, the following check will detect that -`w` has type `VecPred P Vec.nil`, when it is supposed to have type `VecPred P tail`. -Note that if we had written -``` -theorem ex {α : Type u} (P : α → Prop) : {n : Nat} → (v : Vec α (n+1)) → VecPred P v → Exists P - | _, Vec.cons head Vec.nil, VecPred.cons h (w : VecPred P Vec.nil) => ⟨head, h⟩ -``` -we would get the easier to digest error message -``` -missing cases: -_, (Vec.cons _ _ (Vec.cons _ _ _)), _ -``` --/ -def checkAndReplaceFVarId (fvarId : FVarId) (v : Expr) (alt : Alt) : MetaM Alt := do - match alt.fvarDecls.find? fun (fvarDecl : LocalDecl) => fvarDecl.fvarId == fvarId with - | none => throwErrorAt alt.ref "unknown free pattern variable" - | some fvarDecl => do - let vType ← inferType v - unless (← isDefEqGuarded fvarDecl.type vType) do - withExistingLocalDecls alt.fvarDecls do - throwErrorAt alt.ref $ - m!"type mismatch during dependent match-elimination at pattern variable '{mkFVar fvarDecl.fvarId}' with type{indentExpr fvarDecl.type}\nexpected type{indentExpr vType}" - pure $ replaceFVarId fvarId v alt - -end Alt - -inductive Example := - | var : FVarId → Example - | underscore : Example - | ctor : Name → List Example → Example - | val : Expr → Example - | arrayLit : List Example → Example - -namespace Example - -partial def replaceFVarId (fvarId : FVarId) (ex : Example) : Example → Example - | var x => if x == fvarId then ex else var x - | ctor n exs => ctor n $ exs.map (replaceFVarId fvarId ex) - | arrayLit exs => arrayLit $ exs.map (replaceFVarId fvarId ex) - | ex => ex - -partial def applyFVarSubst (s : FVarSubst) : Example → Example - | var fvarId => - match s.get fvarId with - | Expr.fvar fvarId' _ => var fvarId' - | _ => underscore - | ctor n exs => ctor n $ exs.map (applyFVarSubst s) - | arrayLit exs => arrayLit $ exs.map (applyFVarSubst s) - | ex => ex - -partial def varsToUnderscore : Example → Example - | var x => underscore - | ctor n exs => ctor n $ exs.map varsToUnderscore - | arrayLit exs => arrayLit $ exs.map varsToUnderscore - | ex => ex - -partial def toMessageData : Example → MessageData - | var fvarId => mkFVar fvarId - | ctor ctorName [] => mkConst ctorName - | ctor ctorName exs => "(" ++ mkConst ctorName ++ exs.foldl (fun (msg : MessageData) pat => msg ++ " " ++ toMessageData pat) Format.nil ++ ")" - | arrayLit exs => "#" ++ MessageData.ofList (exs.map toMessageData) - | val e => e - | underscore => "_" - -end Example - -def examplesToMessageData (cex : List Example) : MessageData := - MessageData.joinSep (cex.map (Example.toMessageData ∘ Example.varsToUnderscore)) ", " - -structure Problem := - (mvarId : MVarId) - (vars : List Expr) - (alts : List Alt) - (examples : List Example) - -def withGoalOf {α} (p : Problem) (x : MetaM α) : MetaM α := - withMVarContext p.mvarId x - -instance : Inhabited Problem := ⟨{ mvarId := arbitrary _, vars := [], alts := [], examples := []}⟩ - -def Problem.toMessageData (p : Problem) : MetaM MessageData := - withGoalOf p do - let alts ← p.alts.mapM Alt.toMessageData - let vars ← p.vars.mapM fun x => do let xType ← inferType x; pure (x ++ ":(" ++ xType ++ ")" : MessageData) - return "remaining variables: " ++ vars - ++ Format.line ++ "alternatives:" ++ indentD (MessageData.joinSep alts Format.line) - ++ Format.line ++ "examples: " ++ examplesToMessageData p.examples - ++ Format.line - -abbrev CounterExample := List Example - -def counterExampleToMessageData (cex : CounterExample) : MessageData := - examplesToMessageData cex - -def counterExamplesToMessageData (cexs : List CounterExample) : MessageData := - MessageData.joinSep (cexs.map counterExampleToMessageData) Format.line - -structure MatcherResult := - (matcher : Expr) -- The matcher. It is not just `Expr.const matcherName` because the type of the major premises may contain free variables. - (counterExamples : List CounterExample) - (unusedAltIdxs : List Nat) - /- The number of patterns in each AltLHS must be equal to majors.length -/ private def checkNumPatterns (majors : Array Expr) (lhss : List AltLHS) : MetaM Unit := do let num := majors.size if lhss.any fun lhs => lhs.patterns.length != num then throwError "incorrect number of patterns" -private partial def withAltsAux {α} (motive : Expr) : List AltLHS → List Alt → Array (Expr × Nat) → (List Alt → Array (Expr × Nat) → MetaM α) → MetaM α - | [], alts, minors, k => k alts.reverse minors - | lhs::lhss, alts, minors, k => do - let xs := lhs.fvarDecls.toArray.map LocalDecl.toExpr - let minorType ← withExistingLocalDecls lhs.fvarDecls do - let args ← lhs.patterns.toArray.mapM Pattern.toExpr +/- Given a list of `AltLHS`, create a minor premise for each one, convert them into `Alt`, and then execute `k` -/ +private def withAlts {α} (motive : Expr) (lhss : List AltLHS) (k : List Alt → Array (Expr × Nat) → MetaM α) : MetaM α := + loop lhss [] #[] +where + mkMinorType (xs : Array Expr) (lhs : AltLHS) : MetaM Expr := + withExistingLocalDecls lhs.fvarDecls do + let args ← lhs.patterns.toArray.mapM (Pattern.toExpr · (annotate := true)) let minorType := mkAppN motive args mkForallFVars xs minorType - let (minorType, minorNumParams) := if !xs.isEmpty then (minorType, xs.size) else (mkSimpleThunkType minorType, 1) - let idx := alts.length - let minorName := (`h).appendIndexAfter (idx+1) - trace[Meta.Match.debug]! "minor premise {minorName} : {minorType}" - withLocalDeclD minorName minorType fun minor => do - let rhs := if xs.isEmpty then mkApp minor (mkConst `Unit.unit) else mkAppN minor xs - let minors := minors.push (minor, minorNumParams) - let fvarDecls ← lhs.fvarDecls.mapM instantiateLocalDeclMVars - let alts := { ref := lhs.ref, idx := idx, rhs := rhs, fvarDecls := fvarDecls, patterns := lhs.patterns : Alt } :: alts - withAltsAux motive lhss alts minors k -/- Given a list of `AltLHS`, create a minor premise for each one, convert them into `Alt`, and then execute `k` -/ -private partial def withAlts {α} (motive : Expr) (lhss : List AltLHS) (k : List Alt → Array (Expr × Nat) → MetaM α) : MetaM α := - withAltsAux motive lhss [] #[] k + loop (lhss : List AltLHS) (alts : List Alt) (minors : Array (Expr × Nat)) : MetaM α := do + match lhss with + | [] => k alts.reverse minors + | lhs::lhss => + let xs := lhs.fvarDecls.toArray.map LocalDecl.toExpr + let minorType ← mkMinorType xs lhs + let (minorType, minorNumParams) := if !xs.isEmpty then (minorType, xs.size) else (mkSimpleThunkType minorType, 1) + let idx := alts.length + let minorName := (`h).appendIndexAfter (idx+1) + trace[Meta.Match.debug]! "minor premise {minorName} : {minorType}" + withLocalDeclD minorName minorType fun minor => do + let rhs := if xs.isEmpty then mkApp minor (mkConst `Unit.unit) else mkAppN minor xs + let minors := minors.push (minor, minorNumParams) + let fvarDecls ← lhs.fvarDecls.mapM instantiateLocalDeclMVars + let alts := { ref := lhs.ref, idx := idx, rhs := rhs, fvarDecls := fvarDecls, patterns := lhs.patterns : Alt } :: alts + loop lhss alts minors def assignGoalOf (p : Problem) (e : Expr) : MetaM Unit := withGoalOf p (assignExprMVar p.mvarId e) @@ -467,9 +229,7 @@ partial def unify (a : Expr) (b : Expr) : M Bool := do | Expr.fvar aFvarId _, b => assign aFvarId b | a, Expr.fvar bFVarId _ => assign bFVarId a | Expr.app aFn aArg _, Expr.app bFn bArg _ => unify aFn bFn <&&> unify aArg bArg - | _, _ => - trace[Meta.Match.unify]! "unify failed @ {a} =?= {b}" - pure false + | _, _ => pure false end Unify @@ -831,9 +591,8 @@ def mkMatcher (matcherName : Name) (matchType : Expr) (numDiscrs : Nat) (lhss : addMatcherInfo matcherName { numParams := matcher.getAppNumArgs, numDiscrs := numDiscrs, altNumParams := minors.map Prod.snd, uElimPos? := uElimPos? } setInlineAttribute matcherName trace[Meta.Match.debug]! "matcher: {matcher}" - let unusedAltIdxs : List Nat := lhss.length.fold - (fun i r => if s.used.contains i then r else i::r) - [] + let unusedAltIdxs := lhss.length.fold (init := []) fun i r => + if s.used.contains i then r else i::r pure { matcher := matcher, counterExamples := s.counterExamples, unusedAltIdxs := unusedAltIdxs.reverse } end Match diff --git a/stage0/src/Lean/Parser/Command.lean b/stage0/src/Lean/Parser/Command.lean index 4226a17a60..9a29d49b4e 100644 --- a/stage0/src/Lean/Parser/Command.lean +++ b/stage0/src/Lean/Parser/Command.lean @@ -47,17 +47,20 @@ def «axiom» := parser! "axiom " >> declId >> declSig def «example» := parser! "example " >> declSig >> declVal def inferMod := parser! atomic ("{" >> "}") def ctor := parser! "\n| " >> declModifiers true >> ident >> optional inferMod >> optDeclSig -def «inductive» := parser! "inductive " >> declId >> optDeclSig >> optional ":=" >> many ctor -def classInductive := parser! atomic (group ("class " >> "inductive ")) >> declId >> optDeclSig >> optional ":=" >> many ctor +def «inductive» := parser! "inductive " >> declId >> optDeclSig >> optional (":=" <|> "where") >> many ctor +def classInductive := parser! atomic (group ("class " >> "inductive ")) >> declId >> optDeclSig >> optional (":=" <|> "where") >> many ctor def structExplicitBinder := parser! atomic (declModifiers true >> "(") >> many1 ident >> optional inferMod >> optDeclSig >> optional Term.binderDefault >> ")" def structImplicitBinder := parser! atomic (declModifiers true >> "{") >> many1 ident >> optional inferMod >> declSig >> "}" def structInstBinder := parser! atomic (declModifiers true >> "[") >> many1 ident >> optional inferMod >> declSig >> "]" -def structFields := parser! many (ppLine >> (structExplicitBinder <|> structImplicitBinder <|> structInstBinder)) +def structSimpleBinder := parser! atomic (declModifiers true >> many1 ident) >> optional inferMod >> optDeclSig >> optional Term.binderDefault +def structFields := parser! manyIndent (ppLine >> checkColGe >>(structExplicitBinder <|> structImplicitBinder <|> structInstBinder <|> structSimpleBinder)) def structCtor := parser! atomic (declModifiers true >> ident >> optional inferMod >> " :: ") def structureTk := parser! "structure " def classTk := parser! "class " def «extends» := parser! " extends " >> sepBy1 termParser ", " -def «structure» := parser! (structureTk <|> classTk) >> declId >> many Term.bracketedBinder >> optional «extends» >> Term.optType >> optional (" := " >> optional structCtor >> structFields) +def «structure» := parser! + (structureTk <|> classTk) >> declId >> many Term.bracketedBinder >> optional «extends» >> Term.optType + >> optional ((" := " <|> " where ") >> optional structCtor >> structFields) @[builtinCommandParser] def declaration := parser! declModifiers false >> («abbrev» <|> «def» <|> «theorem» <|> «constant» <|> «instance» <|> «axiom» <|> «example» <|> «inductive» <|> classInductive <|> «structure») diff --git a/stage0/stdlib/CMakeLists.txt b/stage0/stdlib/CMakeLists.txt index 6e9410f3a5..6ef60116c6 100644 --- a/stage0/stdlib/CMakeLists.txt +++ b/stage0/stdlib/CMakeLists.txt @@ -1 +1 @@ -add_library (stage0 OBJECT ./Init.c ./Init/Classical.c ./Init/Coe.c ./Init/Control.c ./Init/Control/Basic.c ./Init/Control/EState.c ./Init/Control/Except.c ./Init/Control/Id.c ./Init/Control/Option.c ./Init/Control/Reader.c ./Init/Control/State.c ./Init/Control/StateRef.c ./Init/Core.c ./Init/Data.c ./Init/Data/Array.c ./Init/Data/Array/Basic.c ./Init/Data/Array/BinSearch.c ./Init/Data/Array/QSort.c ./Init/Data/Array/Subarray.c ./Init/Data/Basic.c ./Init/Data/ByteArray.c ./Init/Data/ByteArray/Basic.c ./Init/Data/Char.c ./Init/Data/Char/Basic.c ./Init/Data/Fin.c ./Init/Data/Fin/Basic.c ./Init/Data/Float.c ./Init/Data/FloatArray.c ./Init/Data/FloatArray/Basic.c ./Init/Data/Hashable.c ./Init/Data/Int.c ./Init/Data/Int/Basic.c ./Init/Data/List.c ./Init/Data/List/Basic.c ./Init/Data/List/BasicAux.c ./Init/Data/List/Control.c ./Init/Data/Nat.c ./Init/Data/Nat/Basic.c ./Init/Data/Nat/Bitwise.c ./Init/Data/Nat/Control.c ./Init/Data/Nat/Div.c ./Init/Data/Option.c ./Init/Data/Option/Basic.c ./Init/Data/Option/BasicAux.c ./Init/Data/Option/Instances.c ./Init/Data/Random.c ./Init/Data/Range.c ./Init/Data/Repr.c ./Init/Data/String.c ./Init/Data/String/Basic.c ./Init/Data/String/Extra.c ./Init/Data/ToString.c ./Init/Data/ToString/Basic.c ./Init/Data/ToString/Macro.c ./Init/Data/UInt.c ./Init/Fix.c ./Init/Meta.c ./Init/Notation.c ./Init/NotationExtra.c ./Init/Prelude.c ./Init/SizeOf.c ./Init/System.c ./Init/System/FilePath.c ./Init/System/IO.c ./Init/System/IOError.c ./Init/System/Platform.c ./Init/System/ST.c ./Init/Util.c ./Init/WF.c ./Lean.c ./Lean/Attributes.c ./Lean/AuxRecursor.c ./Lean/Class.c ./Lean/Compiler.c ./Lean/Compiler/BorrowedAnnotation.c ./Lean/Compiler/ClosedTermCache.c ./Lean/Compiler/ConstFolding.c ./Lean/Compiler/ExportAttr.c ./Lean/Compiler/ExternAttr.c ./Lean/Compiler/IR.c ./Lean/Compiler/IR/Basic.c ./Lean/Compiler/IR/Borrow.c ./Lean/Compiler/IR/Boxing.c ./Lean/Compiler/IR/Checker.c ./Lean/Compiler/IR/CompilerM.c ./Lean/Compiler/IR/CtorLayout.c ./Lean/Compiler/IR/ElimDeadBranches.c ./Lean/Compiler/IR/ElimDeadVars.c ./Lean/Compiler/IR/EmitC.c ./Lean/Compiler/IR/EmitUtil.c ./Lean/Compiler/IR/ExpandResetReuse.c ./Lean/Compiler/IR/Format.c ./Lean/Compiler/IR/FreeVars.c ./Lean/Compiler/IR/LiveVars.c ./Lean/Compiler/IR/NormIds.c ./Lean/Compiler/IR/PushProj.c ./Lean/Compiler/IR/RC.c ./Lean/Compiler/IR/ResetReuse.c ./Lean/Compiler/IR/SimpCase.c ./Lean/Compiler/IR/UnboxResult.c ./Lean/Compiler/ImplementedByAttr.c ./Lean/Compiler/InitAttr.c ./Lean/Compiler/InlineAttrs.c ./Lean/Compiler/NameMangling.c ./Lean/Compiler/NeverExtractAttr.c ./Lean/Compiler/Specialize.c ./Lean/Compiler/Util.c ./Lean/CoreM.c ./Lean/Data/Format.c ./Lean/Data/FormatMacro.c ./Lean/Data/Json.c ./Lean/Data/Json/Basic.c ./Lean/Data/Json/FromToJson.c ./Lean/Data/Json/Parser.c ./Lean/Data/Json/Printer.c ./Lean/Data/Json/Stream.c ./Lean/Data/JsonRpc.c ./Lean/Data/KVMap.c ./Lean/Data/LBool.c ./Lean/Data/LOption.c ./Lean/Data/Lsp.c ./Lean/Data/Lsp/Basic.c ./Lean/Data/Lsp/Capabilities.c ./Lean/Data/Lsp/Communication.c ./Lean/Data/Lsp/Diagnostics.c ./Lean/Data/Lsp/Hover.c ./Lean/Data/Lsp/InitShutdown.c ./Lean/Data/Lsp/TextSync.c ./Lean/Data/Lsp/Utf16.c ./Lean/Data/Lsp/Workspace.c ./Lean/Data/Name.c ./Lean/Data/Occurrences.c ./Lean/Data/OpenDecl.c ./Lean/Data/Options.c ./Lean/Data/Position.c ./Lean/Data/SMap.c ./Lean/Data/Trie.c ./Lean/Declaration.c ./Lean/Delaborator.c ./Lean/Elab.c ./Lean/Elab/App.c ./Lean/Elab/Attributes.c ./Lean/Elab/Binders.c ./Lean/Elab/BuiltinNotation.c ./Lean/Elab/CollectFVars.c ./Lean/Elab/Command.c ./Lean/Elab/DeclModifiers.c ./Lean/Elab/DeclUtil.c ./Lean/Elab/Declaration.c ./Lean/Elab/DefView.c ./Lean/Elab/Do.c ./Lean/Elab/Exception.c ./Lean/Elab/Frontend.c ./Lean/Elab/Import.c ./Lean/Elab/Inductive.c ./Lean/Elab/LetRec.c ./Lean/Elab/Level.c ./Lean/Elab/Log.c ./Lean/Elab/Match.c ./Lean/Elab/MutualDef.c ./Lean/Elab/PreDefinition.c ./Lean/Elab/PreDefinition/Basic.c ./Lean/Elab/PreDefinition/Main.c ./Lean/Elab/PreDefinition/MkInhabitant.c ./Lean/Elab/PreDefinition/Structural.c ./Lean/Elab/PreDefinition/WF.c ./Lean/Elab/Print.c ./Lean/Elab/Quotation.c ./Lean/Elab/StructInst.c ./Lean/Elab/Structure.c ./Lean/Elab/Syntax.c ./Lean/Elab/SyntheticMVars.c ./Lean/Elab/Tactic.c ./Lean/Elab/Tactic/Basic.c ./Lean/Elab/Tactic/Binders.c ./Lean/Elab/Tactic/ElabTerm.c ./Lean/Elab/Tactic/Generalize.c ./Lean/Elab/Tactic/Induction.c ./Lean/Elab/Tactic/Injection.c ./Lean/Elab/Tactic/Location.c ./Lean/Elab/Tactic/Match.c ./Lean/Elab/Tactic/Rewrite.c ./Lean/Elab/Term.c ./Lean/Elab/Util.c ./Lean/Environment.c ./Lean/Eval.c ./Lean/Exception.c ./Lean/Expr.c ./Lean/HeadIndex.c ./Lean/Hygiene.c ./Lean/InternalExceptionId.c ./Lean/KeyedDeclsAttribute.c ./Lean/Level.c ./Lean/LocalContext.c ./Lean/Message.c ./Lean/Meta.c ./Lean/Meta/AbstractMVars.c ./Lean/Meta/AbstractNestedProofs.c ./Lean/Meta/AppBuilder.c ./Lean/Meta/Basic.c ./Lean/Meta/Check.c ./Lean/Meta/Closure.c ./Lean/Meta/CollectMVars.c ./Lean/Meta/DiscrTree.c ./Lean/Meta/DiscrTreeTypes.c ./Lean/Meta/ExprDefEq.c ./Lean/Meta/ForEachExpr.c ./Lean/Meta/FunInfo.c ./Lean/Meta/GeneralizeTelescope.c ./Lean/Meta/InferType.c ./Lean/Meta/Instances.c ./Lean/Meta/KAbstract.c ./Lean/Meta/LevelDefEq.c ./Lean/Meta/Match.c ./Lean/Meta/Match/CaseArraySizes.c ./Lean/Meta/Match/CaseValues.c ./Lean/Meta/Match/MVarRenaming.c ./Lean/Meta/Match/Match.c ./Lean/Meta/Match/MatchPatternAttr.c ./Lean/Meta/Match/MatcherInfo.c ./Lean/Meta/MatchUtil.c ./Lean/Meta/Offset.c ./Lean/Meta/RecursorInfo.c ./Lean/Meta/Reduce.c ./Lean/Meta/ReduceEval.c ./Lean/Meta/SynthInstance.c ./Lean/Meta/Tactic.c ./Lean/Meta/Tactic/Apply.c ./Lean/Meta/Tactic/Assert.c ./Lean/Meta/Tactic/Assumption.c ./Lean/Meta/Tactic/Cases.c ./Lean/Meta/Tactic/Clear.c ./Lean/Meta/Tactic/Delta.c ./Lean/Meta/Tactic/ElimInfo.c ./Lean/Meta/Tactic/FVarSubst.c ./Lean/Meta/Tactic/Generalize.c ./Lean/Meta/Tactic/Induction.c ./Lean/Meta/Tactic/Injection.c ./Lean/Meta/Tactic/Intro.c ./Lean/Meta/Tactic/Replace.c ./Lean/Meta/Tactic/Revert.c ./Lean/Meta/Tactic/Rewrite.c ./Lean/Meta/Tactic/Subst.c ./Lean/Meta/Tactic/Util.c ./Lean/Meta/Transform.c ./Lean/Meta/TransparencyMode.c ./Lean/Meta/WHNF.c ./Lean/MetavarContext.c ./Lean/Modifiers.c ./Lean/MonadEnv.c ./Lean/Parser.c ./Lean/Parser/Basic.c ./Lean/Parser/Command.c ./Lean/Parser/Do.c ./Lean/Parser/Extension.c ./Lean/Parser/Extra.c ./Lean/Parser/Level.c ./Lean/Parser/Module.c ./Lean/Parser/StrInterpolation.c ./Lean/Parser/Syntax.c ./Lean/Parser/Tactic.c ./Lean/Parser/Term.c ./Lean/Parser/Transform.c ./Lean/ParserCompiler.c ./Lean/ParserCompiler/Attribute.c ./Lean/PrettyPrinter.c ./Lean/PrettyPrinter/Basic.c ./Lean/PrettyPrinter/Formatter.c ./Lean/PrettyPrinter/Parenthesizer.c ./Lean/ProjFns.c ./Lean/ReducibilityAttrs.c ./Lean/ResolveName.c ./Lean/Runtime.c ./Lean/Server.c ./Lean/Server/ServerBin.c ./Lean/Server/Snapshots.c ./Lean/Structure.c ./Lean/Syntax.c ./Lean/ToExpr.c ./Lean/Util.c ./Lean/Util/CollectFVars.c ./Lean/Util/CollectLevelParams.c ./Lean/Util/CollectMVars.c ./Lean/Util/Constructions.c ./Lean/Util/FindExpr.c ./Lean/Util/FindMVar.c ./Lean/Util/FoldConsts.c ./Lean/Util/ForEachExpr.c ./Lean/Util/MonadCache.c ./Lean/Util/PPExt.c ./Lean/Util/PPGoal.c ./Lean/Util/Path.c ./Lean/Util/Profile.c ./Lean/Util/RecDepth.c ./Lean/Util/Recognizers.c ./Lean/Util/ReplaceExpr.c ./Lean/Util/ReplaceLevel.c ./Lean/Util/SCC.c ./Lean/Util/Sorry.c ./Lean/Util/Trace.c ./Std.c ./Std/Data.c ./Std/Data/AssocList.c ./Std/Data/BinomialHeap.c ./Std/Data/DList.c ./Std/Data/HashMap.c ./Std/Data/HashSet.c ./Std/Data/PersistentArray.c ./Std/Data/PersistentHashMap.c ./Std/Data/PersistentHashSet.c ./Std/Data/Queue.c ./Std/Data/RBMap.c ./Std/Data/RBTree.c ./Std/Data/Stack.c ./Std/ShareCommon.c ) +add_library (stage0 OBJECT ./Init.c ./Init/Classical.c ./Init/Coe.c ./Init/Control.c ./Init/Control/Basic.c ./Init/Control/EState.c ./Init/Control/Except.c ./Init/Control/Id.c ./Init/Control/Option.c ./Init/Control/Reader.c ./Init/Control/State.c ./Init/Control/StateRef.c ./Init/Core.c ./Init/Data.c ./Init/Data/Array.c ./Init/Data/Array/Basic.c ./Init/Data/Array/BinSearch.c ./Init/Data/Array/QSort.c ./Init/Data/Array/Subarray.c ./Init/Data/Basic.c ./Init/Data/ByteArray.c ./Init/Data/ByteArray/Basic.c ./Init/Data/Char.c ./Init/Data/Char/Basic.c ./Init/Data/Fin.c ./Init/Data/Fin/Basic.c ./Init/Data/Float.c ./Init/Data/FloatArray.c ./Init/Data/FloatArray/Basic.c ./Init/Data/Hashable.c ./Init/Data/Int.c ./Init/Data/Int/Basic.c ./Init/Data/List.c ./Init/Data/List/Basic.c ./Init/Data/List/BasicAux.c ./Init/Data/List/Control.c ./Init/Data/Nat.c ./Init/Data/Nat/Basic.c ./Init/Data/Nat/Bitwise.c ./Init/Data/Nat/Control.c ./Init/Data/Nat/Div.c ./Init/Data/Option.c ./Init/Data/Option/Basic.c ./Init/Data/Option/BasicAux.c ./Init/Data/Option/Instances.c ./Init/Data/Random.c ./Init/Data/Range.c ./Init/Data/Repr.c ./Init/Data/String.c ./Init/Data/String/Basic.c ./Init/Data/String/Extra.c ./Init/Data/ToString.c ./Init/Data/ToString/Basic.c ./Init/Data/ToString/Macro.c ./Init/Data/UInt.c ./Init/Fix.c ./Init/Meta.c ./Init/Notation.c ./Init/NotationExtra.c ./Init/Prelude.c ./Init/SizeOf.c ./Init/System.c ./Init/System/FilePath.c ./Init/System/IO.c ./Init/System/IOError.c ./Init/System/Platform.c ./Init/System/ST.c ./Init/Util.c ./Init/WF.c ./Lean.c ./Lean/Attributes.c ./Lean/AuxRecursor.c ./Lean/Class.c ./Lean/Compiler.c ./Lean/Compiler/BorrowedAnnotation.c ./Lean/Compiler/ClosedTermCache.c ./Lean/Compiler/ConstFolding.c ./Lean/Compiler/ExportAttr.c ./Lean/Compiler/ExternAttr.c ./Lean/Compiler/IR.c ./Lean/Compiler/IR/Basic.c ./Lean/Compiler/IR/Borrow.c ./Lean/Compiler/IR/Boxing.c ./Lean/Compiler/IR/Checker.c ./Lean/Compiler/IR/CompilerM.c ./Lean/Compiler/IR/CtorLayout.c ./Lean/Compiler/IR/ElimDeadBranches.c ./Lean/Compiler/IR/ElimDeadVars.c ./Lean/Compiler/IR/EmitC.c ./Lean/Compiler/IR/EmitUtil.c ./Lean/Compiler/IR/ExpandResetReuse.c ./Lean/Compiler/IR/Format.c ./Lean/Compiler/IR/FreeVars.c ./Lean/Compiler/IR/LiveVars.c ./Lean/Compiler/IR/NormIds.c ./Lean/Compiler/IR/PushProj.c ./Lean/Compiler/IR/RC.c ./Lean/Compiler/IR/ResetReuse.c ./Lean/Compiler/IR/SimpCase.c ./Lean/Compiler/IR/UnboxResult.c ./Lean/Compiler/ImplementedByAttr.c ./Lean/Compiler/InitAttr.c ./Lean/Compiler/InlineAttrs.c ./Lean/Compiler/NameMangling.c ./Lean/Compiler/NeverExtractAttr.c ./Lean/Compiler/Specialize.c ./Lean/Compiler/Util.c ./Lean/CoreM.c ./Lean/Data.c ./Lean/Data/Format.c ./Lean/Data/FormatMacro.c ./Lean/Data/Json.c ./Lean/Data/Json/Basic.c ./Lean/Data/Json/FromToJson.c ./Lean/Data/Json/Parser.c ./Lean/Data/Json/Printer.c ./Lean/Data/Json/Stream.c ./Lean/Data/JsonRpc.c ./Lean/Data/KVMap.c ./Lean/Data/LBool.c ./Lean/Data/LOption.c ./Lean/Data/Lsp.c ./Lean/Data/Lsp/Basic.c ./Lean/Data/Lsp/Capabilities.c ./Lean/Data/Lsp/Communication.c ./Lean/Data/Lsp/Diagnostics.c ./Lean/Data/Lsp/Hover.c ./Lean/Data/Lsp/InitShutdown.c ./Lean/Data/Lsp/TextSync.c ./Lean/Data/Lsp/Utf16.c ./Lean/Data/Lsp/Workspace.c ./Lean/Data/Name.c ./Lean/Data/Occurrences.c ./Lean/Data/OpenDecl.c ./Lean/Data/Options.c ./Lean/Data/Position.c ./Lean/Data/SMap.c ./Lean/Data/Trie.c ./Lean/Declaration.c ./Lean/Delaborator.c ./Lean/Elab.c ./Lean/Elab/App.c ./Lean/Elab/Attributes.c ./Lean/Elab/Binders.c ./Lean/Elab/BuiltinNotation.c ./Lean/Elab/CollectFVars.c ./Lean/Elab/Command.c ./Lean/Elab/DeclModifiers.c ./Lean/Elab/DeclUtil.c ./Lean/Elab/Declaration.c ./Lean/Elab/DefView.c ./Lean/Elab/Do.c ./Lean/Elab/Exception.c ./Lean/Elab/Frontend.c ./Lean/Elab/Import.c ./Lean/Elab/Inductive.c ./Lean/Elab/LetRec.c ./Lean/Elab/Level.c ./Lean/Elab/Log.c ./Lean/Elab/Match.c ./Lean/Elab/MutualDef.c ./Lean/Elab/PreDefinition.c ./Lean/Elab/PreDefinition/Basic.c ./Lean/Elab/PreDefinition/Main.c ./Lean/Elab/PreDefinition/MkInhabitant.c ./Lean/Elab/PreDefinition/Structural.c ./Lean/Elab/PreDefinition/WF.c ./Lean/Elab/Print.c ./Lean/Elab/Quotation.c ./Lean/Elab/StructInst.c ./Lean/Elab/Structure.c ./Lean/Elab/Syntax.c ./Lean/Elab/SyntheticMVars.c ./Lean/Elab/Tactic.c ./Lean/Elab/Tactic/Basic.c ./Lean/Elab/Tactic/Binders.c ./Lean/Elab/Tactic/ElabTerm.c ./Lean/Elab/Tactic/Generalize.c ./Lean/Elab/Tactic/Induction.c ./Lean/Elab/Tactic/Injection.c ./Lean/Elab/Tactic/Location.c ./Lean/Elab/Tactic/Match.c ./Lean/Elab/Tactic/Rewrite.c ./Lean/Elab/Term.c ./Lean/Elab/Util.c ./Lean/Environment.c ./Lean/Eval.c ./Lean/Exception.c ./Lean/Expr.c ./Lean/HeadIndex.c ./Lean/Hygiene.c ./Lean/InternalExceptionId.c ./Lean/KeyedDeclsAttribute.c ./Lean/Level.c ./Lean/LocalContext.c ./Lean/Message.c ./Lean/Meta.c ./Lean/Meta/AbstractMVars.c ./Lean/Meta/AbstractNestedProofs.c ./Lean/Meta/AppBuilder.c ./Lean/Meta/Basic.c ./Lean/Meta/Check.c ./Lean/Meta/Closure.c ./Lean/Meta/CollectMVars.c ./Lean/Meta/DiscrTree.c ./Lean/Meta/DiscrTreeTypes.c ./Lean/Meta/ExprDefEq.c ./Lean/Meta/ForEachExpr.c ./Lean/Meta/FunInfo.c ./Lean/Meta/GeneralizeTelescope.c ./Lean/Meta/InferType.c ./Lean/Meta/Instances.c ./Lean/Meta/KAbstract.c ./Lean/Meta/LevelDefEq.c ./Lean/Meta/Match.c ./Lean/Meta/Match/Basic.c ./Lean/Meta/Match/CaseArraySizes.c ./Lean/Meta/Match/CaseValues.c ./Lean/Meta/Match/MVarRenaming.c ./Lean/Meta/Match/Match.c ./Lean/Meta/Match/MatchPatternAttr.c ./Lean/Meta/Match/MatcherInfo.c ./Lean/Meta/MatchUtil.c ./Lean/Meta/Offset.c ./Lean/Meta/RecursorInfo.c ./Lean/Meta/Reduce.c ./Lean/Meta/ReduceEval.c ./Lean/Meta/SynthInstance.c ./Lean/Meta/Tactic.c ./Lean/Meta/Tactic/Apply.c ./Lean/Meta/Tactic/Assert.c ./Lean/Meta/Tactic/Assumption.c ./Lean/Meta/Tactic/Cases.c ./Lean/Meta/Tactic/Clear.c ./Lean/Meta/Tactic/Delta.c ./Lean/Meta/Tactic/ElimInfo.c ./Lean/Meta/Tactic/FVarSubst.c ./Lean/Meta/Tactic/Generalize.c ./Lean/Meta/Tactic/Induction.c ./Lean/Meta/Tactic/Injection.c ./Lean/Meta/Tactic/Intro.c ./Lean/Meta/Tactic/Replace.c ./Lean/Meta/Tactic/Revert.c ./Lean/Meta/Tactic/Rewrite.c ./Lean/Meta/Tactic/Subst.c ./Lean/Meta/Tactic/Util.c ./Lean/Meta/Transform.c ./Lean/Meta/TransparencyMode.c ./Lean/Meta/WHNF.c ./Lean/MetavarContext.c ./Lean/Modifiers.c ./Lean/MonadEnv.c ./Lean/Parser.c ./Lean/Parser/Basic.c ./Lean/Parser/Command.c ./Lean/Parser/Do.c ./Lean/Parser/Extension.c ./Lean/Parser/Extra.c ./Lean/Parser/Level.c ./Lean/Parser/Module.c ./Lean/Parser/StrInterpolation.c ./Lean/Parser/Syntax.c ./Lean/Parser/Tactic.c ./Lean/Parser/Term.c ./Lean/Parser/Transform.c ./Lean/ParserCompiler.c ./Lean/ParserCompiler/Attribute.c ./Lean/PrettyPrinter.c ./Lean/PrettyPrinter/Basic.c ./Lean/PrettyPrinter/Formatter.c ./Lean/PrettyPrinter/Parenthesizer.c ./Lean/ProjFns.c ./Lean/ReducibilityAttrs.c ./Lean/ResolveName.c ./Lean/Runtime.c ./Lean/Server.c ./Lean/Server/ServerBin.c ./Lean/Server/Snapshots.c ./Lean/Structure.c ./Lean/Syntax.c ./Lean/ToExpr.c ./Lean/Util.c ./Lean/Util/CollectFVars.c ./Lean/Util/CollectLevelParams.c ./Lean/Util/CollectMVars.c ./Lean/Util/Constructions.c ./Lean/Util/FindExpr.c ./Lean/Util/FindMVar.c ./Lean/Util/FoldConsts.c ./Lean/Util/ForEachExpr.c ./Lean/Util/MonadCache.c ./Lean/Util/PPExt.c ./Lean/Util/PPGoal.c ./Lean/Util/Path.c ./Lean/Util/Profile.c ./Lean/Util/RecDepth.c ./Lean/Util/Recognizers.c ./Lean/Util/ReplaceExpr.c ./Lean/Util/ReplaceLevel.c ./Lean/Util/SCC.c ./Lean/Util/Sorry.c ./Lean/Util/Trace.c ./Std.c ./Std/Data.c ./Std/Data/AssocList.c ./Std/Data/BinomialHeap.c ./Std/Data/DList.c ./Std/Data/HashMap.c ./Std/Data/HashSet.c ./Std/Data/PersistentArray.c ./Std/Data/PersistentHashMap.c ./Std/Data/PersistentHashSet.c ./Std/Data/Queue.c ./Std/Data/RBMap.c ./Std/Data/RBTree.c ./Std/Data/Stack.c ./Std/ShareCommon.c ) diff --git a/stage0/stdlib/Init/Control/Basic.c b/stage0/stdlib/Init/Control/Basic.c index ceaa8b5888..81fda1a1b4 100644 --- a/stage0/stdlib/Init/Control/Basic.c +++ b/stage0/stdlib/Init/Control/Basic.c @@ -36,6 +36,7 @@ lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); lean_object* l_bool_match__1(lean_object*); lean_object* l_myMacro____x40_Init_Control_Basic___hyg_75____closed__6; +extern lean_object* l_Applicative_seqRight___default___rarg___closed__1; lean_object* l_controlAt(lean_object*, lean_object*); lean_object* lean_string_utf8_byte_size(lean_object*); lean_object* l_andM_match__1___rarg(uint8_t, lean_object*, lean_object*); @@ -134,7 +135,6 @@ lean_object* l_myMacro____x40_Init_Control_Basic___hyg_75____closed__7; lean_object* l_andM___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_andM(lean_object*, lean_object*); lean_object* l___kind_term____x40_Init_Control_Basic___hyg_38____closed__6; -extern lean_object* l_instOfNatNat___closed__1; lean_object* l_guard(lean_object*); lean_object* l_optional(lean_object*); lean_object* l_orM(lean_object*, lean_object*); @@ -686,7 +686,7 @@ static lean_object* _init_l_instToBoolBool() { _start: { lean_object* x_1; -x_1 = l_instOfNatNat___closed__1; +x_1 = l_Applicative_seqRight___default___rarg___closed__1; return x_1; } } diff --git a/stage0/stdlib/Init/Meta.c b/stage0/stdlib/Init/Meta.c index def55f300d..d7eda0dc72 100644 --- a/stage0/stdlib/Init/Meta.c +++ b/stage0/stdlib/Init/Meta.c @@ -122,6 +122,7 @@ lean_object* l_Lean_Syntax_setTailInfo(lean_object*, lean_object*); lean_object* l_Lean_instQuoteArray(lean_object*); lean_object* lean_string_utf8_extract(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_instQuoteProd_match__1(lean_object*, lean_object*, lean_object*); +extern lean_object* l_Applicative_seqRight___default___rarg___closed__1; lean_object* l_Lean_Syntax_identToStrLit(lean_object*); lean_object* l_Array_filterSepElemsM___at_Array_filterSepElems___spec__1(lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Notation___hyg_6336____closed__5; @@ -487,7 +488,6 @@ lean_object* l_Lean_Syntax_expandInterpolatedStr___boxed(lean_object*, lean_obje lean_object* l_Lean_mkSepArray___closed__1; lean_object* l___private_Init_Meta_0__Lean_Syntax_decodeBinLitAux___boxed(lean_object*, lean_object*, lean_object*); uint8_t l_UInt32_decLe(uint32_t, uint32_t); -extern lean_object* l_instOfNatNat___closed__1; lean_object* l_Lean_Syntax_decodeQuotedChar_match__4(lean_object*); lean_object* l_Lean_mkSepArray___boxed(lean_object*, lean_object*); lean_object* l_Lean_Syntax_isNone_match__1___rarg(lean_object*, lean_object*, lean_object*); @@ -8372,7 +8372,7 @@ static lean_object* _init_l_Lean_instQuoteSyntax() { _start: { lean_object* x_1; -x_1 = l_instOfNatNat___closed__1; +x_1 = l_Applicative_seqRight___default___rarg___closed__1; return x_1; } } diff --git a/stage0/stdlib/Init/Prelude.c b/stage0/stdlib/Init/Prelude.c index b3742c260e..cdaa04f61f 100644 --- a/stage0/stdlib/Init/Prelude.c +++ b/stage0/stdlib/Init/Prelude.c @@ -119,6 +119,7 @@ lean_object* l_List_lengthAux___rarg___boxed(lean_object*, lean_object*); lean_object* l_idDelta___rarg(lean_object*); lean_object* l_ReaderT_read___at_Lean_Macro_instMonadRefMacroM___spec__1(lean_object*, lean_object*); lean_object* l_Lean_Syntax_isOfKind___boxed(lean_object*, lean_object*); +lean_object* l_Applicative_seqRight___default___rarg___closed__2; lean_object* l_instInhabitedDepArrow___rarg(lean_object*, lean_object*); lean_object* l_instDecidableOr_match__2___rarg(uint8_t, lean_object*, lean_object*); lean_object* l_EStateM_dummyRestore___rarg(lean_object*, lean_object*); @@ -688,7 +689,7 @@ lean_object* l___private_Init_Prelude_0__Lean_eraseMacroScopesAux___boxed(lean_o lean_object* l_UInt16_ofNatCore___boxed(lean_object*, lean_object*); lean_object* lean_array_to_list(lean_object*); uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*); -lean_object* l_instOfNatNat; +lean_object* l_instOfNatNat(lean_object*); size_t lean_usize_mix_hash(size_t, size_t); lean_object* l_UInt32_size; lean_object* l_Lean_instInhabitedMacroScopesView___closed__1; @@ -766,8 +767,8 @@ lean_object* l_instInhabitedArrow(lean_object*, lean_object*); uint8_t l_UInt32_decLe(uint32_t, uint32_t); uint8_t l_instDecidableOr___rarg(uint8_t, uint8_t); lean_object* l_EStateM_pure___rarg(lean_object*, lean_object*); -lean_object* l_instOfNatNat___closed__1; lean_object* l___private_Init_Prelude_0__Lean_extractImported_match__1(lean_object*); +lean_object* l_instOfNatNat___boxed(lean_object*); lean_object* l_Lean_MonadQuotation_addMacroScope(lean_object*); uint32_t lean_uint32_of_nat(lean_object*); lean_object* l_instInhabitedSort; @@ -2035,20 +2036,20 @@ x_4 = lean_box(x_3); return x_4; } } -static lean_object* _init_l_instOfNatNat___closed__1() { +lean_object* l_instOfNatNat(lean_object* x_1) { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_id___rarg___boxed), 1, 0); +lean_inc(x_1); return x_1; } } -static lean_object* _init_l_instOfNatNat() { +lean_object* l_instOfNatNat___boxed(lean_object* x_1) { _start: { -lean_object* x_1; -x_1 = l_instOfNatNat___closed__1; -return x_1; +lean_object* x_2; +x_2 = l_instOfNatNat(x_1); +lean_dec(x_1); +return x_2; } } static lean_object* _init_l_instInhabitedNat() { @@ -4475,8 +4476,16 @@ return x_2; static lean_object* _init_l_Applicative_seqRight___default___rarg___closed__1() { _start: { +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_id___rarg___boxed), 1, 0); +return x_1; +} +} +static lean_object* _init_l_Applicative_seqRight___default___rarg___closed__2() { +_start: +{ lean_object* x_1; lean_object* x_2; -x_1 = l_instOfNatNat___closed__1; +x_1 = l_Applicative_seqRight___default___rarg___closed__1; x_2 = lean_alloc_closure((void*)(l_Function_const___rarg___boxed), 2, 1); lean_closure_set(x_2, 0, x_1); return x_2; @@ -4489,7 +4498,7 @@ lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; x_6 = lean_ctor_get(x_1, 0); lean_inc(x_6); lean_dec(x_1); -x_7 = l_Applicative_seqRight___default___rarg___closed__1; +x_7 = l_Applicative_seqRight___default___rarg___closed__2; x_8 = lean_apply_4(x_6, lean_box(0), lean_box(0), x_7, x_4); x_9 = lean_apply_4(x_2, lean_box(0), lean_box(0), x_8, x_5); return x_9; @@ -11004,10 +11013,6 @@ lean_mark_persistent(l_Unit_unit); l_instInhabitedSort = _init_l_instInhabitedSort(); l_instInhabitedPointedType = _init_l_instInhabitedPointedType(); lean_mark_persistent(l_instInhabitedPointedType); -l_instOfNatNat___closed__1 = _init_l_instOfNatNat___closed__1(); -lean_mark_persistent(l_instOfNatNat___closed__1); -l_instOfNatNat = _init_l_instOfNatNat(); -lean_mark_persistent(l_instOfNatNat); l_instInhabitedNat = _init_l_instInhabitedNat(); lean_mark_persistent(l_instInhabitedNat); l_instAddNat___closed__1 = _init_l_instAddNat___closed__1(); @@ -11077,6 +11082,8 @@ l_Applicative_seqLeft___default___rarg___closed__1 = _init_l_Applicative_seqLeft lean_mark_persistent(l_Applicative_seqLeft___default___rarg___closed__1); l_Applicative_seqRight___default___rarg___closed__1 = _init_l_Applicative_seqRight___default___rarg___closed__1(); lean_mark_persistent(l_Applicative_seqRight___default___rarg___closed__1); +l_Applicative_seqRight___default___rarg___closed__2 = _init_l_Applicative_seqRight___default___rarg___closed__2(); +lean_mark_persistent(l_Applicative_seqRight___default___rarg___closed__2); l_ReaderT_instMonadLiftReaderT___closed__1 = _init_l_ReaderT_instMonadLiftReaderT___closed__1(); lean_mark_persistent(l_ReaderT_instMonadLiftReaderT___closed__1); l_EStateM_instMonadEStateM___closed__1 = _init_l_EStateM_instMonadEStateM___closed__1(); diff --git a/stage0/stdlib/Init/System/IO.c b/stage0/stdlib/Init/System/IO.c index 698cadc854..1313e31f76 100644 --- a/stage0/stdlib/Init/System/IO.c +++ b/stage0/stdlib/Init/System/IO.c @@ -20,7 +20,6 @@ lean_object* l_IO_getStdin___rarg___closed__1; lean_object* l_MonadExcept_orelse___at_instOrElseEIO___spec__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_IO_FS_Handle_putStrLn___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_IO_getStdout(lean_object*); -lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__12; lean_object* l_IO_FS_withIsolatedStreams___rarg(lean_object*, lean_object*); lean_object* l_allocprof___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_instEvalUnit___rarg(uint8_t, lean_object*); @@ -48,7 +47,6 @@ lean_object* lean_io_error_to_string(lean_object*); lean_object* l_IO_FS_Stream_ofBuffer___elambda__1(lean_object*, lean_object*, lean_object*); lean_object* l_IO_println(lean_object*); lean_object* l_IO_Prim_fopenFlags_match__1(lean_object*); -lean_object* l___kind_term____x40_Init_System_IO___hyg_2521____closed__10; lean_object* l_IO_currentDir___rarg___closed__1; lean_object* l_IO_Prim_getStderr___boxed(lean_object*); lean_object* l_IO_Prim_fopenFlags___closed__12; @@ -57,6 +55,7 @@ lean_object* l_IO_hasFinished___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_IO_FS_Stream_ofHandle___elambda__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_IO_FS_withFile___rarg(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*); lean_object* lean_io_is_dir(lean_object*, lean_object*); +lean_object* l___kind_term____x40_Init_System_IO___hyg_2535____closed__7; lean_object* l_IO_FS_Handle_putStr___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_instMonadFinallyEIO(lean_object*); lean_object* l_IO_instMonadLiftSTRealWorldEIO_match__2(lean_object*, lean_object*); @@ -68,6 +67,7 @@ lean_object* l_IO_FS_Stream_putStrLn___rarg(lean_object*, lean_object*, lean_obj lean_object* l_EStateM_tryCatch___at_IO_FS_withIsolatedStreams___spec__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_io_prim_handle_put_str(lean_object*, lean_object*, lean_object*); extern lean_object* l___kind_term____x40_Init_Notation___hyg_3____closed__13; +lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__14; lean_object* l_IO_waitAny___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_IO_getEnv___rarg(lean_object*, lean_object*); lean_object* l_IO_FileRight_user___default___closed__1; @@ -75,11 +75,10 @@ lean_object* l_Lean_instEval___rarg(lean_object*, lean_object*, uint8_t, lean_ob lean_object* l_IO_toEIO(lean_object*); lean_object* l_IO_FS_Handle_getLine___rarg(lean_object*, lean_object*); extern lean_object* l_Array_empty___closed__1; -lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__11; +lean_object* l___kind_term____x40_Init_System_IO___hyg_2535____closed__10; lean_object* l_Lean_instEvalIO___rarg(lean_object*, lean_object*, uint8_t, lean_object*); -lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__19; lean_object* l_IO_Prim_getStdout___boxed(lean_object*); -lean_object* l___kind_term____x40_Init_System_IO___hyg_2521____closed__7; +lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__10; lean_object* lean_st_ref_get(lean_object*, lean_object*); lean_object* l_Monad_seqRight___default___rarg___lambda__1___boxed(lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedParserDescr___closed__1; @@ -94,7 +93,6 @@ lean_object* l_IO_FS_Stream_ofBuffer___elambda__5(lean_object*); lean_object* l_Lean_instEvalUnit(lean_object*); lean_object* l_IO_FS_Handle_flush___rarg(lean_object*, lean_object*); lean_object* l_Lean_instEvalUnit___rarg___boxed(lean_object*, lean_object*); -lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__10; lean_object* l_ST_Prim_mkRef___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_IO_withStdin___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_IO_Prim_Handle_mk___boxed(lean_object*, lean_object*, lean_object*); @@ -105,6 +103,7 @@ lean_object* lean_array_get_size(lean_object*); lean_object* l_IO_withStderr___at_IO_FS_withIsolatedStreams___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_string_append(lean_object*, lean_object*); extern lean_object* l_Lean_interpolatedStrKind; +lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__16; extern lean_object* l_myMacro____x40_Init_Notation___hyg_5739____closed__11; lean_object* l_IO_Process_SpawnArgs_args___default; uint32_t l_IO_AccessRight_flags___closed__6; @@ -112,6 +111,7 @@ lean_object* l_IO_FS_Handle_readToEnd___rarg(lean_object*, lean_object*, lean_ob lean_object* l_IO_ofExcept_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_IO_instMonadLiftSTRealWorldEIO_match__1___boxed(lean_object*, lean_object*); lean_object* l_IO_isDir(lean_object*); +lean_object* l_IO_sleep(uint32_t, lean_object*); lean_object* l_IO_Prim_setStdout___boxed(lean_object*, lean_object*); lean_object* l_EIO_catchExceptions_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_IO_FS_withIsolatedStreams___rarg___closed__3; @@ -136,14 +136,13 @@ extern lean_object* l_myMacro____x40_Init_Notation___hyg_8168____closed__8; lean_object* l_IO_eprintln(lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); lean_object* l_IO_FS_Stream_ofBuffer___lambda__1(lean_object*, lean_object*); -lean_object* l___kind_term____x40_Init_System_IO___hyg_2521____closed__3; lean_object* l_IO_FS_Stream_ofHandle___elambda__5(lean_object*, lean_object*); lean_object* l_IO_Prim_Handle_isEof___boxed(lean_object*, lean_object*); -lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__17; lean_object* l_IO_instMonadLiftSTRealWorldEIO(lean_object*, lean_object*); lean_object* l_IO_FS_Stream_ofBuffer(lean_object*); lean_object* l_IO_FS_Stream_ofHandle___elambda__4___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_IO_setStderr(lean_object*); +lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__7; lean_object* lean_io_bind_task(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_IO_eprint___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_IO_withStdout___at_IO_FS_withIsolatedStreams___spec__6(lean_object*, lean_object*, lean_object*, lean_object*); @@ -157,35 +156,37 @@ extern lean_object* l___kind_term____x40_Init_Data_ToString_Macro___hyg_2____clo lean_object* l_IO_FS_withIsolatedStreams___rarg___lambda__1(lean_object*, lean_object*); lean_object* lean_io_as_task(lean_object*, lean_object*, lean_object*); lean_object* l_IO_AccessRight_flags___boxed(lean_object*); -lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__9; lean_object* l_IO_Prim_realPath___boxed(lean_object*, lean_object*); lean_object* l_IO_FS_Stream_ofBuffer___elambda__2___boxed(lean_object*, lean_object*); extern lean_object* l_ByteArray_empty; lean_object* l_IO_appDir(lean_object*); lean_object* lean_io_eprintln(lean_object*, lean_object*); lean_object* l_EIO_toIO___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__18; +lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__5; uint32_t l_IO_AccessRight_flags___closed__1; -lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__2; uint32_t l_IO_AccessRight_flags___closed__9; lean_object* l_IO_appPath___rarg(lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); +lean_object* l_IO_sleep___lambda__1(lean_object*, lean_object*); uint32_t l_IO_AccessRight_flags___closed__2; lean_object* l_IO_Process_SpawnArgs_env___default; -lean_object* l___kind_term____x40_Init_System_IO___hyg_2521_; +lean_object* l___kind_term____x40_Init_System_IO___hyg_2535____closed__6; +lean_object* l___kind_term____x40_Init_System_IO___hyg_2535_; lean_object* lean_st_ref_take(lean_object*, lean_object*); -lean_object* l___kind_term____x40_Init_System_IO___hyg_2521____closed__5; lean_object* l_EStateM_bind___rarg(lean_object*, lean_object*, lean_object*); extern lean_object* l_Task_Priority_dedicated; -lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__4; lean_object* l_IO_eprintln___at___private_Init_System_IO_0__IO_eprintlnAux___spec__1(lean_object*, lean_object*); lean_object* l_IO_FS_Stream_ofBuffer___lambda__1___boxed(lean_object*, lean_object*); +lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__2; lean_object* lean_get_set_stderr(lean_object*, lean_object*); lean_object* l_IO_FS_Handle_read___rarg___boxed(lean_object*, lean_object*, lean_object*); -lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__1; +lean_object* l___kind_term____x40_Init_System_IO___hyg_2535____closed__1; +lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__3; uint32_t l_IO_AccessRight_flags___closed__4; lean_object* l_IO_FS_Stream_ofBuffer___elambda__1___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__15; lean_object* l_IO_getStderr___rarg___closed__1; -lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__8; lean_object* l_IO_mkRef___at_IO_FS_withIsolatedStreams___spec__1___rarg(lean_object*, lean_object*); lean_object* lean_io_current_dir(lean_object*); lean_object* l_IO_Prim_fopenFlags___closed__10; @@ -196,18 +197,17 @@ lean_object* l_IO_FS_Stream_ofBuffer_match__1(lean_object*); lean_object* l_IO_Process_run___lambda__1(lean_object*, lean_object*, lean_object*); lean_object* l_IO_FS_Stream_putStrLn(lean_object*); lean_object* lean_io_wait(lean_object*, lean_object*); -lean_object* l___kind_term____x40_Init_System_IO___hyg_2521____closed__6; lean_object* l_IO_print___at_IO_println___spec__1(lean_object*, lean_object*); lean_object* l_IO_FS_Handle_write___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_IO_FS_Handle_readToEnd_read___at_IO_Process_output___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_IO_withStdin___at_IO_FS_withIsolatedStreams___spec__8(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_EStateM_tryCatch___at_IO_FS_withIsolatedStreams___spec__2(lean_object*); lean_object* l_IO_getStderr___rarg(lean_object*); -lean_object* l___kind_term____x40_Init_System_IO___hyg_2521____closed__1; lean_object* lean_io_realpath(lean_object*, lean_object*); lean_object* l_System_FilePath_dirName(lean_object*); -lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__13; +lean_object* l___kind_term____x40_Init_System_IO___hyg_2535____closed__5; lean_object* l_IO_getStdout___rarg(lean_object*); +lean_object* lean_dbg_sleep(uint32_t, lean_object*); extern lean_object* l_myMacro____x40_Init_Notation___hyg_5739____closed__20; lean_object* l_IO_Prim_fopenFlags(uint8_t, uint8_t); lean_object* l_IO_eprintln___rarg(lean_object*, lean_object*, lean_object*); @@ -226,6 +226,7 @@ extern lean_object* l___kind_term____x40_Init_Notation___hyg_5672____closed__9; lean_object* l_EStateM_instMonadFinallyEStateM(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_IO_FS_Stream_ofHandle___elambda__2___boxed(lean_object*, lean_object*); lean_object* l_IO_initializing___boxed(lean_object*); +lean_object* l___kind_term____x40_Init_System_IO___hyg_2535____closed__3; extern lean_object* l_Array_myMacro____x40_Init_Data_Array_Subarray___hyg_1011____closed__7; lean_object* lean_stream_of_handle(lean_object*); extern lean_object* l_instMonadExceptOfEST___closed__2; @@ -239,6 +240,7 @@ lean_object* l_IO_FS_lines_read(lean_object*); lean_object* l_IO_Prim_Handle_getLine___boxed(lean_object*, lean_object*); lean_object* l_IO_FS_lines_read___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_IO_FS_Handle_mk___rarg(lean_object*, lean_object*, uint8_t, uint8_t); +lean_object* l_IO_sleep___lambda__1___boxed(lean_object*, lean_object*); extern lean_object* l_instMonadEST___closed__1; lean_object* l_IO_println___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_IO_Process_spawn___boxed(lean_object*, lean_object*); @@ -246,6 +248,7 @@ extern lean_object* l_myMacro____x40_Init_Notation___hyg_38____closed__8; lean_object* l_IO_getStdout___rarg___closed__1; lean_object* l_IO_FS_Stream_ofHandle___elambda__5___boxed(lean_object*, lean_object*); lean_object* l_IO_getStdin___rarg(lean_object*); +lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__6; lean_object* l_IO_fileExists___rarg(lean_object*, lean_object*); lean_object* l_IO_FS_Handle_readToEnd_read(lean_object*); lean_object* l_IO_FS_Handle_isEof(lean_object*); @@ -254,6 +257,8 @@ lean_object* l_IO_realPath___rarg(lean_object*, lean_object*); lean_object* l_IO_FS_Stream_Buffer_data___default; lean_object* l_IO_Prim_fopenFlags___closed__6; lean_object* l_IO_Prim_appPath___boxed(lean_object*); +lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__13; +lean_object* l___kind_term____x40_Init_System_IO___hyg_2535____closed__9; lean_object* l_IO_setStdin___rarg(lean_object*, lean_object*); lean_object* l_IO_FileRight_flags___boxed(lean_object*); lean_object* l_instInhabitedEIO(lean_object*); @@ -261,7 +266,6 @@ lean_object* l_IO_FS_Stream_ofBuffer_match__1___rarg(lean_object*, lean_object*, uint32_t l_IO_AccessRight_flags___closed__11; lean_object* l_IO_setStdin___at_IO_FS_withIsolatedStreams___spec__9(lean_object*, lean_object*); lean_object* l_IO_FS_Handle_read(lean_object*); -lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__6; lean_object* lean_io_has_finished(lean_object*, lean_object*); lean_object* l_String_dropRight(lean_object*, lean_object*); lean_object* l_EIO_catchExceptions(lean_object*, lean_object*); @@ -271,17 +275,17 @@ lean_object* l_IO_setStderr___at_IO_FS_withIsolatedStreams___spec__4(lean_object lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*); lean_object* l_IO_setStdout___rarg(lean_object*, lean_object*); lean_object* l_IO_FS_Stream_ofHandle___elambda__2(lean_object*, lean_object*); -lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__5; lean_object* l_IO_Process_run(lean_object*, lean_object*); uint8_t l_IO_AccessRight_write___default; lean_object* l_IO_FS_Stream_ofBuffer___elambda__6(lean_object*, lean_object*); -lean_object* l___kind_term____x40_Init_System_IO___hyg_2521____closed__2; lean_object* l_IO_ofExcept___rarg(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_nullKind___closed__2; extern lean_object* l___kind_term____x40_Init_Data_ToString_Macro___hyg_2____closed__6; lean_object* l_IO_Prim_fileExists___boxed(lean_object*, lean_object*); -lean_object* l_myMacro____x40_Init_System_IO___hyg_2569_(lean_object*, lean_object*, lean_object*); +lean_object* l_myMacro____x40_Init_System_IO___hyg_2583_(lean_object*, lean_object*, lean_object*); uint8_t l_IO_Process_StdioConfig_stdout___default; +lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__11; +lean_object* l___kind_term____x40_Init_System_IO___hyg_2535____closed__8; lean_object* l_IO_Process_Stdio_toHandleType_match__1___rarg(uint8_t, lean_object*, lean_object*, lean_object*); lean_object* l_IO_FS_Handle_readToEnd_read___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_IO_realPath(lean_object*); @@ -289,33 +293,32 @@ lean_object* lean_io_prim_handle_write(lean_object*, lean_object*, lean_object*) lean_object* l_IO_FS_withIsolatedStreams___rarg___closed__1; lean_object* l_IO_FS_Stream_ofBuffer___elambda__3___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_IO_ofExcept(lean_object*); -lean_object* l___kind_term____x40_Init_System_IO___hyg_2521____closed__9; -lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__15; +lean_object* l___kind_term____x40_Init_System_IO___hyg_2535____closed__4; lean_object* lean_io_file_exists(lean_object*, lean_object*); -lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__14; uint8_t l_UInt32_decEq(uint32_t, uint32_t); lean_object* lean_io_check_canceled(lean_object*); lean_object* l_IO_FS_Stream_ofHandle___elambda__4(lean_object*, size_t, lean_object*); lean_object* l_IO_FS_Stream_ofBuffer___elambda__4(lean_object*, size_t, lean_object*); +lean_object* l___kind_term____x40_Init_System_IO___hyg_2535____closed__2; lean_object* l_IO_currentDir(lean_object*); +lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__1; lean_object* l_IO_Prim_isDir___boxed(lean_object*, lean_object*); lean_object* l_IO_FS_Handle_putStr(lean_object*); lean_object* l_IO_Prim_setAccessRights___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_IO_isDir___rarg(lean_object*, lean_object*); -lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__18; lean_object* l_IO_getEnv(lean_object*); lean_object* l_Lean_instEvalIO___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_IO_sleep___boxed(lean_object*, lean_object*); lean_object* l_IO_FS_Stream_ofHandle___elambda__1(lean_object*, lean_object*, lean_object*); extern lean_object* l_instReprUnit___closed__1; lean_object* l_unsafeEIO___rarg(lean_object*); +lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__17; lean_object* lean_string_to_utf8(lean_object*); -lean_object* l___kind_term____x40_Init_System_IO___hyg_2521____closed__4; -lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__3; +lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__8; lean_object* l_ByteArray_findIdx_x3f_loop___at_IO_FS_Stream_ofBuffer___elambda__2___spec__1___boxed(lean_object*, lean_object*); lean_object* l_IO_ofExcept_match__1(lean_object*, lean_object*, lean_object*); lean_object* lean_io_process_child_wait(lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); -lean_object* l___kind_term____x40_Init_System_IO___hyg_2521____closed__8; lean_object* l_IO_lazyPure(lean_object*); lean_object* l_IO_setStderr___rarg(lean_object*, lean_object*); lean_object* l_IO_FS_Handle_mk___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -328,6 +331,7 @@ lean_object* l_IO_Prim_fopenFlags___closed__5; lean_object* lean_get_stdout(lean_object*); lean_object* l_IO_FS_Stream_ofHandle___elambda__3(lean_object*, lean_object*, lean_object*); lean_object* l_IO_Prim_iterate_match__1(lean_object*, lean_object*, lean_object*); +lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__9; lean_object* l_IO_ofExcept___at_IO_Process_output___spec__3(lean_object*); extern lean_object* l_myMacro____x40_Init_Notation___hyg_5739____closed__22; lean_object* l_IO_withStderr___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -340,11 +344,11 @@ uint32_t l_IO_AccessRight_flags(lean_object*); lean_object* l_unsafeIO(lean_object*); lean_object* l_IO_Prim_fopenFlags_match__1___rarg(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_IO_Prim_fopenFlags___closed__3; +lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__4; lean_object* l_IO_FS_withIsolatedStreams___rarg___lambda__2(lean_object*, lean_object*); extern lean_object* l_Lean_Name_hasMacroScopes___closed__1; lean_object* l_IO_withStdin___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_IO_checkCanceled___boxed(lean_object*); -lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__7; lean_object* l_IO_FileRight_group___default; lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); lean_object* l_IO_toEIO___rarg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -361,6 +365,7 @@ lean_object* lean_get_set_stdin(lean_object*, lean_object*); lean_object* l_IO_FS_Handle_getLine___at_IO_Process_output___spec__2___boxed(lean_object*, lean_object*); lean_object* l_EStateM_instInhabitedEStateM___rarg(lean_object*, lean_object*); lean_object* l_instOrElseEIO(lean_object*, lean_object*); +lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__19; lean_object* l_IO_eprint___at_IO_eprintln___spec__1(lean_object*, lean_object*); lean_object* l_IO_appDir___rarg___lambda__1(lean_object*, lean_object*); lean_object* l_IO_FS_Handle_read___rarg(lean_object*, lean_object*, lean_object*); @@ -383,19 +388,17 @@ lean_object* l_IO_mkRef(lean_object*, lean_object*); uint8_t l_IO_Process_StdioConfig_stderr___default; uint8_t lean_byte_array_get(lean_object*, lean_object*); lean_object* l_IO_getStderr(lean_object*); -lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__16; lean_object* l_IO_println___at_Lean_instEval___spec__1(lean_object*, lean_object*); lean_object* l_IO_ofExcept___at_IO_Process_output___spec__3___rarg(lean_object*, lean_object*); uint8_t l_IO_Process_StdioConfig_stdin___default; +lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__20; extern lean_object* l___kind_term____x40_Init_Data_ToString_Macro___hyg_2____closed__7; lean_object* l_IO_Prim_fopenFlags___closed__8; lean_object* l_IO_Prim_Handle_putStr___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); lean_object* l_IO_withStdout(lean_object*); -lean_object* l___kind_term____x40_Init_System_IO___hyg_2521____closed__11; lean_object* l_timeit___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_io_app_dir(lean_object*); -lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__20; lean_object* l_IO_FS_Handle_isEof___rarg(lean_object*, lean_object*); lean_object* l_IO_FS_Handle_flush(lean_object*); uint32_t l_IO_AccessRight_flags___closed__12; @@ -414,6 +417,7 @@ lean_object* l_IO_instMonadLiftSTRealWorldEIO___rarg(lean_object*, lean_object*) lean_object* lean_usize_to_nat(size_t); lean_object* l_Lean_instEval__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_IO_FS_lines(lean_object*); +lean_object* l___kind_term____x40_Init_System_IO___hyg_2535____closed__11; lean_object* l_Functor_discard___at_IO_FS_withIsolatedStreams___spec__5(lean_object*, lean_object*); lean_object* l_IO_fileExists(lean_object*); lean_object* l_Lean_runEval___rarg(lean_object*, lean_object*, lean_object*); @@ -433,6 +437,7 @@ lean_object* lean_io_prim_handle_mk(lean_object*, lean_object*, lean_object*); lean_object* l_IO_FS_Stream_ofBuffer___closed__1; lean_object* l_IO_getStdout___at_IO_print___spec__1(lean_object*); lean_object* l_IO_appDir___rarg(lean_object*, lean_object*); +lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__12; lean_object* l_IO_currentDir___rarg(lean_object*); lean_object* l_IO_setStdout___at_IO_FS_withIsolatedStreams___spec__7(lean_object*, lean_object*); lean_object* lean_task_get_own(lean_object*); @@ -1069,6 +1074,46 @@ x_2 = lean_alloc_closure((void*)(l_IO_lazyPure___rarg), 2, 0); return x_2; } } +lean_object* l_IO_sleep___lambda__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; +x_3 = lean_box(0); +x_4 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_4, 0, x_3); +lean_ctor_set(x_4, 1, x_1); +return x_4; +} +} +lean_object* l_IO_sleep(uint32_t x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; +x_3 = lean_alloc_closure((void*)(l_IO_sleep___lambda__1___boxed), 2, 1); +lean_closure_set(x_3, 0, x_2); +x_4 = lean_dbg_sleep(x_1, x_3); +return x_4; +} +} +lean_object* l_IO_sleep___lambda__1___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_IO_sleep___lambda__1(x_1, x_2); +lean_dec(x_2); +return x_3; +} +} +lean_object* l_IO_sleep___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint32_t x_3; lean_object* x_4; +x_3 = lean_unbox_uint32(x_1); +lean_dec(x_1); +x_4 = l_IO_sleep(x_3, x_2); +return x_4; +} +} lean_object* l_IO_asTask___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { @@ -6320,7 +6365,7 @@ x_2 = lean_alloc_closure((void*)(l_Lean_runEval___rarg), 3, 0); return x_2; } } -static lean_object* _init_l___kind_term____x40_Init_System_IO___hyg_2521____closed__1() { +static lean_object* _init_l___kind_term____x40_Init_System_IO___hyg_2535____closed__1() { _start: { lean_object* x_1; @@ -6328,17 +6373,17 @@ x_1 = lean_mk_string("System"); return x_1; } } -static lean_object* _init_l___kind_term____x40_Init_System_IO___hyg_2521____closed__2() { +static lean_object* _init_l___kind_term____x40_Init_System_IO___hyg_2535____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l___kind_term____x40_Init_Notation___hyg_3____closed__7; -x_2 = l___kind_term____x40_Init_System_IO___hyg_2521____closed__1; +x_2 = l___kind_term____x40_Init_System_IO___hyg_2535____closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l___kind_term____x40_Init_System_IO___hyg_2521____closed__3() { +static lean_object* _init_l___kind_term____x40_Init_System_IO___hyg_2535____closed__3() { _start: { lean_object* x_1; @@ -6346,37 +6391,37 @@ x_1 = lean_mk_string("IO"); return x_1; } } -static lean_object* _init_l___kind_term____x40_Init_System_IO___hyg_2521____closed__4() { +static lean_object* _init_l___kind_term____x40_Init_System_IO___hyg_2535____closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___kind_term____x40_Init_System_IO___hyg_2521____closed__2; -x_2 = l___kind_term____x40_Init_System_IO___hyg_2521____closed__3; +x_1 = l___kind_term____x40_Init_System_IO___hyg_2535____closed__2; +x_2 = l___kind_term____x40_Init_System_IO___hyg_2535____closed__3; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l___kind_term____x40_Init_System_IO___hyg_2521____closed__5() { +static lean_object* _init_l___kind_term____x40_Init_System_IO___hyg_2535____closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___kind_term____x40_Init_System_IO___hyg_2521____closed__4; +x_1 = l___kind_term____x40_Init_System_IO___hyg_2535____closed__4; x_2 = l_Lean_Name_hasMacroScopes___closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l___kind_term____x40_Init_System_IO___hyg_2521____closed__6() { +static lean_object* _init_l___kind_term____x40_Init_System_IO___hyg_2535____closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___kind_term____x40_Init_System_IO___hyg_2521____closed__5; -x_2 = lean_unsigned_to_nat(2521u); +x_1 = l___kind_term____x40_Init_System_IO___hyg_2535____closed__5; +x_2 = lean_unsigned_to_nat(2535u); x_3 = lean_name_mk_numeral(x_1, x_2); return x_3; } } -static lean_object* _init_l___kind_term____x40_Init_System_IO___hyg_2521____closed__7() { +static lean_object* _init_l___kind_term____x40_Init_System_IO___hyg_2535____closed__7() { _start: { lean_object* x_1; @@ -6384,17 +6429,17 @@ x_1 = lean_mk_string("println! "); return x_1; } } -static lean_object* _init_l___kind_term____x40_Init_System_IO___hyg_2521____closed__8() { +static lean_object* _init_l___kind_term____x40_Init_System_IO___hyg_2535____closed__8() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___kind_term____x40_Init_System_IO___hyg_2521____closed__7; +x_1 = l___kind_term____x40_Init_System_IO___hyg_2535____closed__7; x_2 = lean_alloc_ctor(5, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___kind_term____x40_Init_System_IO___hyg_2521____closed__9() { +static lean_object* _init_l___kind_term____x40_Init_System_IO___hyg_2535____closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; @@ -6408,13 +6453,13 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l___kind_term____x40_Init_System_IO___hyg_2521____closed__10() { +static lean_object* _init_l___kind_term____x40_Init_System_IO___hyg_2535____closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l___kind_term____x40_Init_Notation___hyg_3____closed__13; -x_2 = l___kind_term____x40_Init_System_IO___hyg_2521____closed__8; -x_3 = l___kind_term____x40_Init_System_IO___hyg_2521____closed__9; +x_2 = l___kind_term____x40_Init_System_IO___hyg_2535____closed__8; +x_3 = l___kind_term____x40_Init_System_IO___hyg_2535____closed__9; x_4 = lean_alloc_ctor(2, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -6422,13 +6467,13 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l___kind_term____x40_Init_System_IO___hyg_2521____closed__11() { +static lean_object* _init_l___kind_term____x40_Init_System_IO___hyg_2535____closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l___kind_term____x40_Init_System_IO___hyg_2521____closed__6; +x_1 = l___kind_term____x40_Init_System_IO___hyg_2535____closed__6; x_2 = lean_unsigned_to_nat(1023u); -x_3 = l___kind_term____x40_Init_System_IO___hyg_2521____closed__10; +x_3 = l___kind_term____x40_Init_System_IO___hyg_2535____closed__10; x_4 = lean_alloc_ctor(3, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -6436,15 +6481,15 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l___kind_term____x40_Init_System_IO___hyg_2521_() { +static lean_object* _init_l___kind_term____x40_Init_System_IO___hyg_2535_() { _start: { lean_object* x_1; -x_1 = l___kind_term____x40_Init_System_IO___hyg_2521____closed__11; +x_1 = l___kind_term____x40_Init_System_IO___hyg_2535____closed__11; return x_1; } } -static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__1() { +static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__1() { _start: { lean_object* x_1; @@ -6452,22 +6497,22 @@ x_1 = lean_mk_string("IO.println"); return x_1; } } -static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__2() { +static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__1; +x_1 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__1; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__3() { +static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__1; +x_1 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__1; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__2; +x_3 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__2; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -6475,17 +6520,17 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__4() { +static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l___kind_term____x40_Init_System_IO___hyg_2521____closed__3; +x_2 = l___kind_term____x40_Init_System_IO___hyg_2535____closed__3; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__5() { +static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__5() { _start: { lean_object* x_1; @@ -6493,56 +6538,56 @@ x_1 = lean_mk_string("println"); return x_1; } } -static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__6() { +static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__4; -x_2 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__5; +x_1 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__4; +x_2 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__5; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__7() { +static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__6; +x_2 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__6; 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_myMacro____x40_Init_System_IO___hyg_2569____closed__8() { +static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__7; +x_2 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__7; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); return x_3; } } -static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__9() { +static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__9() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___kind_term____x40_Init_System_IO___hyg_2521____closed__3; +x_1 = l___kind_term____x40_Init_System_IO___hyg_2535____closed__3; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__10() { +static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l___kind_term____x40_Init_System_IO___hyg_2521____closed__3; +x_1 = l___kind_term____x40_Init_System_IO___hyg_2535____closed__3; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__9; +x_3 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__9; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -6550,31 +6595,31 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__11() { +static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__4; +x_2 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__4; 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_myMacro____x40_Init_System_IO___hyg_2569____closed__12() { +static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__11; +x_2 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__11; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); return x_3; } } -static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__13() { +static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__13() { _start: { lean_object* x_1; @@ -6582,22 +6627,22 @@ x_1 = lean_mk_string("Unit"); return x_1; } } -static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__14() { +static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__14() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__13; +x_1 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__13; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__15() { +static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__15() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__13; +x_1 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__13; x_2 = lean_unsigned_to_nat(0u); -x_3 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__14; +x_3 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__14; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -6605,41 +6650,41 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__16() { +static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__16() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__13; +x_2 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__13; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__17() { +static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__17() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__16; +x_2 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__16; 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_myMacro____x40_Init_System_IO___hyg_2569____closed__18() { +static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__18() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__17; +x_2 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__17; 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_myMacro____x40_Init_System_IO___hyg_2569____closed__19() { +static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__19() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -6651,21 +6696,21 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__20() { +static lean_object* _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__20() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Array_empty___closed__1; -x_2 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__19; +x_2 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__19; x_3 = lean_array_push(x_1, x_2); return x_3; } } -lean_object* l_myMacro____x40_Init_System_IO___hyg_2569_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_myMacro____x40_Init_System_IO___hyg_2583_(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; uint8_t x_5; -x_4 = l___kind_term____x40_Init_System_IO___hyg_2521____closed__6; +x_4 = l___kind_term____x40_Init_System_IO___hyg_2535____closed__6; lean_inc(x_1); x_5 = l_Lean_Syntax_isOfKind(x_1, x_4); if (x_5 == 0) @@ -6718,13 +6763,13 @@ lean_inc(x_19); x_20 = lean_ctor_get(x_2, 1); lean_inc(x_20); lean_dec(x_2); -x_21 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__6; +x_21 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__6; lean_inc(x_19); lean_inc(x_20); x_22 = l_Lean_addMacroScope(x_20, x_21, x_19); x_23 = l_Lean_instInhabitedSourceInfo___closed__1; -x_24 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__3; -x_25 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__8; +x_24 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__3; +x_25 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__8; x_26 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_26, 0, x_23); lean_ctor_set(x_26, 1, x_24); @@ -6743,22 +6788,22 @@ x_34 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_34, 0, x_33); lean_ctor_set(x_34, 1, x_32); x_35 = lean_array_push(x_27, x_34); -x_36 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__4; +x_36 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__4; lean_inc(x_19); lean_inc(x_20); x_37 = l_Lean_addMacroScope(x_20, x_36, x_19); -x_38 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__10; -x_39 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__12; +x_38 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__10; +x_39 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__12; x_40 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_40, 0, x_23); lean_ctor_set(x_40, 1, x_38); lean_ctor_set(x_40, 2, x_37); lean_ctor_set(x_40, 3, x_39); x_41 = lean_array_push(x_27, x_40); -x_42 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__16; +x_42 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__16; x_43 = l_Lean_addMacroScope(x_20, x_42, x_19); -x_44 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__15; -x_45 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__18; +x_44 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__15; +x_45 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__18; x_46 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_46, 0, x_23); lean_ctor_set(x_46, 1, x_44); @@ -6807,13 +6852,13 @@ lean_inc(x_66); x_67 = lean_ctor_get(x_2, 1); lean_inc(x_67); lean_dec(x_2); -x_68 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__6; +x_68 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__6; lean_inc(x_66); lean_inc(x_67); x_69 = l_Lean_addMacroScope(x_67, x_68, x_66); x_70 = l_Lean_instInhabitedSourceInfo___closed__1; -x_71 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__3; -x_72 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__8; +x_71 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__3; +x_72 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__8; x_73 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_73, 0, x_70); lean_ctor_set(x_73, 1, x_71); @@ -6821,7 +6866,7 @@ lean_ctor_set(x_73, 2, x_69); lean_ctor_set(x_73, 3, x_72); x_74 = l_Array_empty___closed__1; x_75 = lean_array_push(x_74, x_73); -x_76 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__20; +x_76 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__20; x_77 = lean_array_push(x_76, x_15); x_78 = l___kind_term____x40_Init_Data_ToString_Macro___hyg_2____closed__6; x_79 = lean_alloc_ctor(1, 2, 0); @@ -6852,22 +6897,22 @@ x_95 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_95, 0, x_94); lean_ctor_set(x_95, 1, x_93); x_96 = lean_array_push(x_74, x_95); -x_97 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__4; +x_97 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__4; lean_inc(x_66); lean_inc(x_67); x_98 = l_Lean_addMacroScope(x_67, x_97, x_66); -x_99 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__10; -x_100 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__12; +x_99 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__10; +x_100 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__12; x_101 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_101, 0, x_70); lean_ctor_set(x_101, 1, x_99); lean_ctor_set(x_101, 2, x_98); lean_ctor_set(x_101, 3, x_100); x_102 = lean_array_push(x_74, x_101); -x_103 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__16; +x_103 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__16; x_104 = l_Lean_addMacroScope(x_67, x_103, x_66); -x_105 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__15; -x_106 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__18; +x_105 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__15; +x_106 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__18; x_107 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_107, 0, x_70); lean_ctor_set(x_107, 1, x_105); @@ -7035,70 +7080,70 @@ l_IO_FS_withIsolatedStreams___rarg___closed__2 = _init_l_IO_FS_withIsolatedStrea lean_mark_persistent(l_IO_FS_withIsolatedStreams___rarg___closed__2); l_IO_FS_withIsolatedStreams___rarg___closed__3 = _init_l_IO_FS_withIsolatedStreams___rarg___closed__3(); lean_mark_persistent(l_IO_FS_withIsolatedStreams___rarg___closed__3); -l___kind_term____x40_Init_System_IO___hyg_2521____closed__1 = _init_l___kind_term____x40_Init_System_IO___hyg_2521____closed__1(); -lean_mark_persistent(l___kind_term____x40_Init_System_IO___hyg_2521____closed__1); -l___kind_term____x40_Init_System_IO___hyg_2521____closed__2 = _init_l___kind_term____x40_Init_System_IO___hyg_2521____closed__2(); -lean_mark_persistent(l___kind_term____x40_Init_System_IO___hyg_2521____closed__2); -l___kind_term____x40_Init_System_IO___hyg_2521____closed__3 = _init_l___kind_term____x40_Init_System_IO___hyg_2521____closed__3(); -lean_mark_persistent(l___kind_term____x40_Init_System_IO___hyg_2521____closed__3); -l___kind_term____x40_Init_System_IO___hyg_2521____closed__4 = _init_l___kind_term____x40_Init_System_IO___hyg_2521____closed__4(); -lean_mark_persistent(l___kind_term____x40_Init_System_IO___hyg_2521____closed__4); -l___kind_term____x40_Init_System_IO___hyg_2521____closed__5 = _init_l___kind_term____x40_Init_System_IO___hyg_2521____closed__5(); -lean_mark_persistent(l___kind_term____x40_Init_System_IO___hyg_2521____closed__5); -l___kind_term____x40_Init_System_IO___hyg_2521____closed__6 = _init_l___kind_term____x40_Init_System_IO___hyg_2521____closed__6(); -lean_mark_persistent(l___kind_term____x40_Init_System_IO___hyg_2521____closed__6); -l___kind_term____x40_Init_System_IO___hyg_2521____closed__7 = _init_l___kind_term____x40_Init_System_IO___hyg_2521____closed__7(); -lean_mark_persistent(l___kind_term____x40_Init_System_IO___hyg_2521____closed__7); -l___kind_term____x40_Init_System_IO___hyg_2521____closed__8 = _init_l___kind_term____x40_Init_System_IO___hyg_2521____closed__8(); -lean_mark_persistent(l___kind_term____x40_Init_System_IO___hyg_2521____closed__8); -l___kind_term____x40_Init_System_IO___hyg_2521____closed__9 = _init_l___kind_term____x40_Init_System_IO___hyg_2521____closed__9(); -lean_mark_persistent(l___kind_term____x40_Init_System_IO___hyg_2521____closed__9); -l___kind_term____x40_Init_System_IO___hyg_2521____closed__10 = _init_l___kind_term____x40_Init_System_IO___hyg_2521____closed__10(); -lean_mark_persistent(l___kind_term____x40_Init_System_IO___hyg_2521____closed__10); -l___kind_term____x40_Init_System_IO___hyg_2521____closed__11 = _init_l___kind_term____x40_Init_System_IO___hyg_2521____closed__11(); -lean_mark_persistent(l___kind_term____x40_Init_System_IO___hyg_2521____closed__11); -l___kind_term____x40_Init_System_IO___hyg_2521_ = _init_l___kind_term____x40_Init_System_IO___hyg_2521_(); -lean_mark_persistent(l___kind_term____x40_Init_System_IO___hyg_2521_); -l_myMacro____x40_Init_System_IO___hyg_2569____closed__1 = _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__1(); -lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2569____closed__1); -l_myMacro____x40_Init_System_IO___hyg_2569____closed__2 = _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__2(); -lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2569____closed__2); -l_myMacro____x40_Init_System_IO___hyg_2569____closed__3 = _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__3(); -lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2569____closed__3); -l_myMacro____x40_Init_System_IO___hyg_2569____closed__4 = _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__4(); -lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2569____closed__4); -l_myMacro____x40_Init_System_IO___hyg_2569____closed__5 = _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__5(); -lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2569____closed__5); -l_myMacro____x40_Init_System_IO___hyg_2569____closed__6 = _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__6(); -lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2569____closed__6); -l_myMacro____x40_Init_System_IO___hyg_2569____closed__7 = _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__7(); -lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2569____closed__7); -l_myMacro____x40_Init_System_IO___hyg_2569____closed__8 = _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__8(); -lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2569____closed__8); -l_myMacro____x40_Init_System_IO___hyg_2569____closed__9 = _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__9(); -lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2569____closed__9); -l_myMacro____x40_Init_System_IO___hyg_2569____closed__10 = _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__10(); -lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2569____closed__10); -l_myMacro____x40_Init_System_IO___hyg_2569____closed__11 = _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__11(); -lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2569____closed__11); -l_myMacro____x40_Init_System_IO___hyg_2569____closed__12 = _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__12(); -lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2569____closed__12); -l_myMacro____x40_Init_System_IO___hyg_2569____closed__13 = _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__13(); -lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2569____closed__13); -l_myMacro____x40_Init_System_IO___hyg_2569____closed__14 = _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__14(); -lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2569____closed__14); -l_myMacro____x40_Init_System_IO___hyg_2569____closed__15 = _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__15(); -lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2569____closed__15); -l_myMacro____x40_Init_System_IO___hyg_2569____closed__16 = _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__16(); -lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2569____closed__16); -l_myMacro____x40_Init_System_IO___hyg_2569____closed__17 = _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__17(); -lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2569____closed__17); -l_myMacro____x40_Init_System_IO___hyg_2569____closed__18 = _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__18(); -lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2569____closed__18); -l_myMacro____x40_Init_System_IO___hyg_2569____closed__19 = _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__19(); -lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2569____closed__19); -l_myMacro____x40_Init_System_IO___hyg_2569____closed__20 = _init_l_myMacro____x40_Init_System_IO___hyg_2569____closed__20(); -lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2569____closed__20); +l___kind_term____x40_Init_System_IO___hyg_2535____closed__1 = _init_l___kind_term____x40_Init_System_IO___hyg_2535____closed__1(); +lean_mark_persistent(l___kind_term____x40_Init_System_IO___hyg_2535____closed__1); +l___kind_term____x40_Init_System_IO___hyg_2535____closed__2 = _init_l___kind_term____x40_Init_System_IO___hyg_2535____closed__2(); +lean_mark_persistent(l___kind_term____x40_Init_System_IO___hyg_2535____closed__2); +l___kind_term____x40_Init_System_IO___hyg_2535____closed__3 = _init_l___kind_term____x40_Init_System_IO___hyg_2535____closed__3(); +lean_mark_persistent(l___kind_term____x40_Init_System_IO___hyg_2535____closed__3); +l___kind_term____x40_Init_System_IO___hyg_2535____closed__4 = _init_l___kind_term____x40_Init_System_IO___hyg_2535____closed__4(); +lean_mark_persistent(l___kind_term____x40_Init_System_IO___hyg_2535____closed__4); +l___kind_term____x40_Init_System_IO___hyg_2535____closed__5 = _init_l___kind_term____x40_Init_System_IO___hyg_2535____closed__5(); +lean_mark_persistent(l___kind_term____x40_Init_System_IO___hyg_2535____closed__5); +l___kind_term____x40_Init_System_IO___hyg_2535____closed__6 = _init_l___kind_term____x40_Init_System_IO___hyg_2535____closed__6(); +lean_mark_persistent(l___kind_term____x40_Init_System_IO___hyg_2535____closed__6); +l___kind_term____x40_Init_System_IO___hyg_2535____closed__7 = _init_l___kind_term____x40_Init_System_IO___hyg_2535____closed__7(); +lean_mark_persistent(l___kind_term____x40_Init_System_IO___hyg_2535____closed__7); +l___kind_term____x40_Init_System_IO___hyg_2535____closed__8 = _init_l___kind_term____x40_Init_System_IO___hyg_2535____closed__8(); +lean_mark_persistent(l___kind_term____x40_Init_System_IO___hyg_2535____closed__8); +l___kind_term____x40_Init_System_IO___hyg_2535____closed__9 = _init_l___kind_term____x40_Init_System_IO___hyg_2535____closed__9(); +lean_mark_persistent(l___kind_term____x40_Init_System_IO___hyg_2535____closed__9); +l___kind_term____x40_Init_System_IO___hyg_2535____closed__10 = _init_l___kind_term____x40_Init_System_IO___hyg_2535____closed__10(); +lean_mark_persistent(l___kind_term____x40_Init_System_IO___hyg_2535____closed__10); +l___kind_term____x40_Init_System_IO___hyg_2535____closed__11 = _init_l___kind_term____x40_Init_System_IO___hyg_2535____closed__11(); +lean_mark_persistent(l___kind_term____x40_Init_System_IO___hyg_2535____closed__11); +l___kind_term____x40_Init_System_IO___hyg_2535_ = _init_l___kind_term____x40_Init_System_IO___hyg_2535_(); +lean_mark_persistent(l___kind_term____x40_Init_System_IO___hyg_2535_); +l_myMacro____x40_Init_System_IO___hyg_2583____closed__1 = _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__1(); +lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2583____closed__1); +l_myMacro____x40_Init_System_IO___hyg_2583____closed__2 = _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__2(); +lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2583____closed__2); +l_myMacro____x40_Init_System_IO___hyg_2583____closed__3 = _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__3(); +lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2583____closed__3); +l_myMacro____x40_Init_System_IO___hyg_2583____closed__4 = _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__4(); +lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2583____closed__4); +l_myMacro____x40_Init_System_IO___hyg_2583____closed__5 = _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__5(); +lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2583____closed__5); +l_myMacro____x40_Init_System_IO___hyg_2583____closed__6 = _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__6(); +lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2583____closed__6); +l_myMacro____x40_Init_System_IO___hyg_2583____closed__7 = _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__7(); +lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2583____closed__7); +l_myMacro____x40_Init_System_IO___hyg_2583____closed__8 = _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__8(); +lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2583____closed__8); +l_myMacro____x40_Init_System_IO___hyg_2583____closed__9 = _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__9(); +lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2583____closed__9); +l_myMacro____x40_Init_System_IO___hyg_2583____closed__10 = _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__10(); +lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2583____closed__10); +l_myMacro____x40_Init_System_IO___hyg_2583____closed__11 = _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__11(); +lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2583____closed__11); +l_myMacro____x40_Init_System_IO___hyg_2583____closed__12 = _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__12(); +lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2583____closed__12); +l_myMacro____x40_Init_System_IO___hyg_2583____closed__13 = _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__13(); +lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2583____closed__13); +l_myMacro____x40_Init_System_IO___hyg_2583____closed__14 = _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__14(); +lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2583____closed__14); +l_myMacro____x40_Init_System_IO___hyg_2583____closed__15 = _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__15(); +lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2583____closed__15); +l_myMacro____x40_Init_System_IO___hyg_2583____closed__16 = _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__16(); +lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2583____closed__16); +l_myMacro____x40_Init_System_IO___hyg_2583____closed__17 = _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__17(); +lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2583____closed__17); +l_myMacro____x40_Init_System_IO___hyg_2583____closed__18 = _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__18(); +lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2583____closed__18); +l_myMacro____x40_Init_System_IO___hyg_2583____closed__19 = _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__19(); +lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2583____closed__19); +l_myMacro____x40_Init_System_IO___hyg_2583____closed__20 = _init_l_myMacro____x40_Init_System_IO___hyg_2583____closed__20(); +lean_mark_persistent(l_myMacro____x40_Init_System_IO___hyg_2583____closed__20); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Lean.c b/stage0/stdlib/Lean.c index f6e5f7959e..e04ab6f170 100644 --- a/stage0/stdlib/Lean.c +++ b/stage0/stdlib/Lean.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean -// Imports: Init Lean.Compiler Lean.Environment Lean.Modifiers Lean.ProjFns Lean.Runtime Lean.ResolveName Lean.Attributes Lean.Parser Lean.ReducibilityAttrs Lean.Elab Lean.Class Lean.LocalContext Lean.MetavarContext Lean.AuxRecursor Lean.Meta Lean.Util Lean.Eval Lean.Structure Lean.Delaborator Lean.PrettyPrinter Lean.CoreM Lean.InternalExceptionId +// Imports: Init Lean.Data Lean.Compiler Lean.Environment Lean.Modifiers Lean.ProjFns Lean.Runtime Lean.ResolveName Lean.Attributes Lean.Parser Lean.ReducibilityAttrs Lean.Elab Lean.Class Lean.LocalContext Lean.MetavarContext Lean.AuxRecursor Lean.Meta Lean.Util Lean.Eval Lean.Structure Lean.Delaborator Lean.PrettyPrinter Lean.CoreM Lean.InternalExceptionId Lean.Server #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -14,6 +14,7 @@ extern "C" { #endif lean_object* initialize_Init(lean_object*); +lean_object* initialize_Lean_Data(lean_object*); lean_object* initialize_Lean_Compiler(lean_object*); lean_object* initialize_Lean_Environment(lean_object*); lean_object* initialize_Lean_Modifiers(lean_object*); @@ -36,6 +37,7 @@ lean_object* initialize_Lean_Delaborator(lean_object*); lean_object* initialize_Lean_PrettyPrinter(lean_object*); lean_object* initialize_Lean_CoreM(lean_object*); lean_object* initialize_Lean_InternalExceptionId(lean_object*); +lean_object* initialize_Lean_Server(lean_object*); static bool _G_initialized = false; lean_object* initialize_Lean(lean_object* w) { lean_object * res; @@ -44,6 +46,9 @@ _G_initialized = true; res = initialize_Init(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Data(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); res = initialize_Lean_Compiler(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); @@ -110,6 +115,9 @@ lean_dec_ref(res); res = initialize_Lean_InternalExceptionId(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Server(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Lean/Compiler/InitAttr.c b/stage0/stdlib/Lean/Compiler/InitAttr.c index 9d2a232adf..af76115696 100644 --- a/stage0/stdlib/Lean/Compiler/InitAttr.c +++ b/stage0/stdlib/Lean/Compiler/InitAttr.c @@ -64,7 +64,6 @@ uint8_t l_USize_decLt(size_t, size_t); lean_object* l_Lean_registerParametricAttribute___at_Lean_registerInitAttrUnsafe___spec__8___lambda__1___boxed(lean_object*); lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg___boxed(lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); -extern lean_object* l___kind_term____x40_Init_System_IO___hyg_2521____closed__3; extern lean_object* l_Lean_throwUnknownConstant___rarg___closed__2; lean_object* l_Lean_registerInitAttrUnsafe___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_isUnitType_match__1___rarg(lean_object*, lean_object*, lean_object*); @@ -97,7 +96,6 @@ lean_object* l_Lean_registerInitAttrUnsafe___lambda__1___closed__10; lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_isIOUnitInitFnCore_match__1(lean_object*); lean_object* l_Lean_registerInitAttrUnsafe___lambda__1___closed__14; -extern lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__13; lean_object* l_Lean_registerInitAttrUnsafe___lambda__1___closed__5; lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_507____closed__2; lean_object* l_Lean_registerInitAttrUnsafe___lambda__1___closed__7; @@ -106,6 +104,7 @@ lean_object* l_Lean_getInitFnNameForCore_x3f___boxed(lean_object*, lean_object*, lean_object* l_Lean_registerInitAttrUnsafe___lambda__3(uint8_t, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___lambda__2(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_isIOUnitBuiltinInitFn___boxed(lean_object*, lean_object*); +extern lean_object* l___kind_term____x40_Init_System_IO___hyg_2535____closed__3; lean_object* l_Std_RBNode_fold___at_Lean_registerInitAttrUnsafe___spec__9___boxed(lean_object*, lean_object*); lean_object* l_Lean_registerInitAttrUnsafe___closed__1; lean_object* lean_eval_const(lean_object*, lean_object*, lean_object*); @@ -122,6 +121,7 @@ lean_object* l_Std_RBNode_find___at___private_Lean_Hygiene_0__Lean_sanitizeSynta lean_object* l_Lean_registerBuiltinAttribute(lean_object*, lean_object*); extern lean_object* l_Lean_throwUnknownConstant___rarg___closed__3; lean_object* l_Lean_ParametricAttribute_getParam___at_Lean_getInitFnNameForCore_x3f___spec__1(lean_object*, lean_object*, lean_object*); +extern lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__13; lean_object* l_Lean_registerInitAttrUnsafe___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerInitAttrUnsafe_match__1(lean_object*); lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*); @@ -226,7 +226,7 @@ x_11 = lean_ctor_get(x_5, 1); lean_inc(x_11); x_12 = lean_ctor_get_usize(x_5, 2); lean_dec(x_5); -x_13 = l___kind_term____x40_Init_System_IO___hyg_2521____closed__3; +x_13 = l___kind_term____x40_Init_System_IO___hyg_2535____closed__3; x_14 = lean_string_dec_eq(x_11, x_13); lean_dec(x_11); if (x_14 == 0) @@ -317,7 +317,7 @@ if (lean_obj_tag(x_4) == 0) lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; x_5 = lean_ctor_get(x_1, 1); x_6 = lean_ctor_get(x_3, 1); -x_7 = l___kind_term____x40_Init_System_IO___hyg_2521____closed__3; +x_7 = l___kind_term____x40_Init_System_IO___hyg_2535____closed__3; x_8 = lean_string_dec_eq(x_6, x_7); if (x_8 == 0) { @@ -395,7 +395,7 @@ x_8 = lean_ctor_get(x_4, 1); lean_inc(x_8); x_9 = lean_ctor_get_usize(x_4, 2); lean_dec(x_4); -x_10 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__13; +x_10 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__13; x_11 = lean_string_dec_eq(x_8, x_10); lean_dec(x_8); if (x_11 == 0) @@ -468,7 +468,7 @@ if (lean_obj_tag(x_3) == 0) { lean_object* x_4; lean_object* x_5; uint8_t x_6; x_4 = lean_ctor_get(x_2, 1); -x_5 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__13; +x_5 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__13; x_6 = lean_string_dec_eq(x_4, x_5); return x_6; } diff --git a/stage0/stdlib/Lean/Data.c b/stage0/stdlib/Lean/Data.c new file mode 100644 index 0000000000..37b94d464c --- /dev/null +++ b/stage0/stdlib/Lean/Data.c @@ -0,0 +1,89 @@ +// Lean compiler output +// Module: Lean.Data +// Imports: Init Lean.Data.Format Lean.Data.FormatMacro Lean.Data.Json Lean.Data.JsonRpc Lean.Data.KVMap Lean.Data.LBool Lean.Data.LOption Lean.Data.Lsp Lean.Data.Name Lean.Data.Occurrences Lean.Data.OpenDecl Lean.Data.Options Lean.Data.Position Lean.Data.SMap Lean.Data.Trie +#include +#if defined(__clang__) +#pragma clang diagnostic ignored "-Wunused-parameter" +#pragma clang diagnostic ignored "-Wunused-label" +#elif defined(__GNUC__) && !defined(__CLANG__) +#pragma GCC diagnostic ignored "-Wunused-parameter" +#pragma GCC diagnostic ignored "-Wunused-label" +#pragma GCC diagnostic ignored "-Wunused-but-set-variable" +#endif +#ifdef __cplusplus +extern "C" { +#endif +lean_object* initialize_Init(lean_object*); +lean_object* initialize_Lean_Data_Format(lean_object*); +lean_object* initialize_Lean_Data_FormatMacro(lean_object*); +lean_object* initialize_Lean_Data_Json(lean_object*); +lean_object* initialize_Lean_Data_JsonRpc(lean_object*); +lean_object* initialize_Lean_Data_KVMap(lean_object*); +lean_object* initialize_Lean_Data_LBool(lean_object*); +lean_object* initialize_Lean_Data_LOption(lean_object*); +lean_object* initialize_Lean_Data_Lsp(lean_object*); +lean_object* initialize_Lean_Data_Name(lean_object*); +lean_object* initialize_Lean_Data_Occurrences(lean_object*); +lean_object* initialize_Lean_Data_OpenDecl(lean_object*); +lean_object* initialize_Lean_Data_Options(lean_object*); +lean_object* initialize_Lean_Data_Position(lean_object*); +lean_object* initialize_Lean_Data_SMap(lean_object*); +lean_object* initialize_Lean_Data_Trie(lean_object*); +static bool _G_initialized = false; +lean_object* initialize_Lean_Data(lean_object* w) { +lean_object * res; +if (_G_initialized) return lean_io_result_mk_ok(lean_box(0)); +_G_initialized = true; +res = initialize_Init(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Data_Format(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Data_FormatMacro(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Data_Json(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Data_JsonRpc(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Data_KVMap(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Data_LBool(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Data_LOption(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Data_Lsp(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Data_Name(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Data_Occurrences(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Data_OpenDecl(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Data_Options(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Data_Position(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Data_SMap(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Data_Trie(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +return lean_io_result_mk_ok(lean_box(0)); +} +#ifdef __cplusplus +} +#endif diff --git a/stage0/stdlib/Lean/Data/Format.c b/stage0/stdlib/Lean/Data/Format.c index 2b37f24a03..2b497d813b 100644 --- a/stage0/stdlib/Lean/Data/Format.c +++ b/stage0/stdlib/Lean/Data/Format.c @@ -72,6 +72,7 @@ lean_object* lean_string_utf8_extract(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_formatKVMap___closed__1; lean_object* l___private_Lean_Data_Format_0__Lean_Format_spaceUptoLine_match__1___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Data_Format_0__Lean_Format_spaceUptoLine_x27(lean_object*, lean_object*); +extern lean_object* l_Applicative_seqRight___default___rarg___closed__1; lean_object* l_Lean_Format_isNil_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_formatEntry_match__1___rarg(lean_object*, lean_object*); lean_object* l_String_splitOn(lean_object*, lean_object*); @@ -275,7 +276,6 @@ lean_object* l_Lean_Format_prefixJoin___rarg(lean_object*, lean_object*, lean_ob lean_object* l_Lean_instToFormatProdNameDataValue; lean_object* l_Lean_instToFormatArray(lean_object*); lean_object* lean_usize_to_nat(size_t); -extern lean_object* l_instOfNatNat___closed__1; lean_object* l_Lean_Format_sbracket(lean_object*); lean_object* l___private_Lean_Data_Format_0__Lean_Format_spaceUptoLine_x27_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Data_Format_0__Lean_Format_be_match__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -4339,7 +4339,7 @@ static lean_object* _init_l_Lean_instToFormatFormat() { _start: { lean_object* x_1; -x_1 = l_instOfNatNat___closed__1; +x_1 = l_Applicative_seqRight___default___rarg___closed__1; return x_1; } } diff --git a/stage0/stdlib/Lean/Data/Json/FromToJson.c b/stage0/stdlib/Lean/Data/Json/FromToJson.c index bf1f161268..12a10cd014 100644 --- a/stage0/stdlib/Lean/Data/Json/FromToJson.c +++ b/stage0/stdlib/Lean/Data/Json/FromToJson.c @@ -31,6 +31,7 @@ lean_object* l_Lean_instFromJsonString___closed__1; lean_object* lean_array_get_size(lean_object*); lean_object* l_Lean_instFromJsonBool___closed__1; lean_object* l_Lean_Json_instToJsonStructured_match__1(lean_object*); +extern lean_object* l_Applicative_seqRight___default___rarg___closed__1; lean_object* l_Lean_instFromJsonArray_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Json_opt(lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_instToJsonArray___spec__1___rarg(lean_object*, size_t, size_t, lean_object*); @@ -67,7 +68,6 @@ lean_object* l_Array_mapMUnsafe_map___at_Lean_instToJsonArray___spec__1(lean_obj lean_object* l_Array_mapMUnsafe_map___at_Lean_instToJsonArray___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_instFromJsonArray_match__1(lean_object*); -extern lean_object* l_instOfNatNat___closed__1; lean_object* l_Lean_Json_getObjVal_x3f(lean_object*, lean_object*); lean_object* l_Lean_Json_getObjValAs_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Json_instFromJsonStructured(lean_object*); @@ -85,7 +85,7 @@ static lean_object* _init_l_Lean_instToJsonJson() { _start: { lean_object* x_1; -x_1 = l_instOfNatNat___closed__1; +x_1 = l_Applicative_seqRight___default___rarg___closed__1; return x_1; } } diff --git a/stage0/stdlib/Lean/Delaborator.c b/stage0/stdlib/Lean/Delaborator.c index 925da33d42..8adf6fd3d3 100644 --- a/stage0/stdlib/Lean/Delaborator.c +++ b/stage0/stdlib/Lean/Delaborator.c @@ -31,6 +31,7 @@ lean_object* l_Lean_Delaborator_delabseq___lambda__1___closed__1; lean_object* l_Lean_Delaborator_withProj(lean_object*); lean_object* l_Lean_Delaborator_delabBind(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Level_quote___closed__6; +extern lean_object* l_Lean_Meta_Match_Pattern_toExpr_visit___closed__2; size_t l_USize_add(size_t, size_t); extern lean_object* l_Lean_fieldIdxKind; lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingAuxAux___rarg(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -42,6 +43,7 @@ lean_object* l_Lean_Delaborator_delabOrElse___lambda__1(uint8_t, lean_object*, l lean_object* l_Lean_Delaborator_delabProjectionApp___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_findAux___at_Lean_Delaborator_delabFor___spec__3(lean_object*, size_t, lean_object*); extern lean_object* l_Lean_Syntax_strLitToAtom___closed__3; +lean_object* l_Lean_Delaborator_delabMData_match__4___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Delaborator_delabseq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Delaborator_delabMul___closed__3; lean_object* l_Lean_Delaborator_delabProj___closed__2; @@ -234,6 +236,7 @@ lean_object* l_Lean_Delaborator_delabBind___closed__1; lean_object* l_Lean_Delaborator_withMDataExpr_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_private_to_user_name(lean_object*); lean_object* l_Lean_Level_quote___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Delaborator_delabMData_match__4(lean_object*); lean_object* l_Lean_Delaborator_delabSort_match__1___rarg(lean_object*, lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Notation___hyg_4700____closed__4; lean_object* l_Lean_Delaborator_delabDiv___lambda__1___closed__1; @@ -289,6 +292,7 @@ lean_object* l_Lean_Delaborator_delabAndM___lambda__1(uint8_t, lean_object*, lea uint8_t l_Lean_Name_isPrefixOf(lean_object*, lean_object*); lean_object* l_Lean_Delaborator_delabseqLeft___lambda__1___closed__1; lean_object* l_Lean_Delaborator_delabAnd___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Delaborator_delabMData___closed__4; lean_object* l_Lean_Level_quote___lambda__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Delaborator_delabForall___closed__1; lean_object* l_Lean_Expr_getOptParamDefault_x3f(lean_object*); @@ -345,6 +349,7 @@ lean_object* l_Lean_Delaborator_withAppArg_match__1___rarg(lean_object*, lean_ob lean_object* l_Lean_Delaborator_delabMap___lambda__1___closed__1; lean_object* l_Lean_Delaborator_delabOr___lambda__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Delaborator_delabFor___spec__5(lean_object*, lean_object*); +lean_object* l___regBuiltin_Lean_Delaborator_delabNamedPattern(lean_object*); lean_object* l___regBuiltin_Lean_Delaborator_delabOr(lean_object*); lean_object* l___regBuiltin_Lean_Delaborator_delabBEq___closed__2; extern lean_object* l_Lean_initFn____x40_Lean_Util_PPExt___hyg_3____closed__8; @@ -379,6 +384,7 @@ lean_object* l_Lean_Delaborator_delabMap___lambda__1___boxed(lean_object*, lean_ extern lean_object* l_myMacro____x40_Init_Notation___hyg_8168____closed__8; lean_object* l_Lean_Delaborator_delabBAnd___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_findAux___at_Lean_Delaborator_delabFor___spec__3___boxed(lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_Meta_Match_Pattern_toExpr_visit___closed__1; lean_object* l_Lean_Delaborator_instOrElseDelabM___closed__1; lean_object* l___regBuiltin_Lean_Delaborator_delabCoe___closed__1; lean_object* l_Array_mapIdxM_map___at_Lean_Delaborator_delabStructureInstance___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -450,6 +456,7 @@ lean_object* l_Lean_Delaborator_Context_pos___default; lean_object* l_Lean_Delaborator_delabDiv___lambda__1___closed__2; lean_object* l_Lean_Delaborator_delabAppMatch___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Delaborator_delabAppMatch___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_forIn_loop___at_Lean_Delaborator_delabMData___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* l___regBuiltin_Lean_Delaborator_delabHEq___closed__1; lean_object* l___regBuiltin_Lean_Delaborator_delabEq___closed__1; lean_object* l_Lean_Delaborator_delabConst___lambda__2___closed__1; @@ -482,11 +489,13 @@ lean_object* l_Array_mapIdxM_map___at___private_Lean_Delaborator_0__Lean_Delabor lean_object* l_Lean_Delaborator_delabSort___closed__10; lean_object* l___regBuiltin_Lean_Delaborator_delabCons(lean_object*); lean_object* l_Lean_Delaborator_delabBOr___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Delaborator_delabMData_match__3(lean_object*); lean_object* l_Lean_Delaborator_delabBNe___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_numLitKind; lean_object* l___regBuiltin_Lean_Delaborator_delabEq___closed__2; lean_object* l_Lean_Delaborator_delabStructureInstance___closed__3; lean_object* l_Lean_Delaborator_delabTuple___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Delaborator_delabNamedPattern___closed__1; lean_object* l_Lean_Delaborator_getExprKind_match__2(lean_object*); extern lean_object* l_myMacro____x40_Init_Coe___hyg_176____closed__1; lean_object* l_Lean_Delaborator_delabForall___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -498,7 +507,7 @@ lean_object* l_Lean_Delaborator_delabseqRight___lambda__1(uint8_t, lean_object*, lean_object* l_Lean_Delaborator_delabBAnd(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Delaborator_delabAppImplicit___closed__7; lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Delaborator_withBindingBody___spec__1(lean_object*); -lean_object* l_Lean_Delaborator_delabMData_match__2___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Delaborator_delabMData_match__2___rarg(lean_object*, lean_object*); lean_object* l_Lean_Delaborator_delab___closed__1; lean_object* l___regBuiltin_Lean_Delaborator_delabAndThen(lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Delaborator_delabAppMatch___spec__3(size_t, size_t, lean_object*); @@ -617,6 +626,7 @@ lean_object* l_Nat_repr(lean_object*); extern lean_object* l___kind_term____x40_Init_Notation___hyg_5505____closed__1; lean_object* l_Lean_Delaborator_delabAdd___closed__1; lean_object* l_Lean_Delaborator_delabMul(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Delaborator_delabNamedPattern(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_LocalDecl_binderInfo(lean_object*); lean_object* l_Lean_Delaborator_delabOr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Delaborator_delabHEq___lambda__1___closed__2; @@ -812,6 +822,7 @@ extern lean_object* l_Lean_Level_LevelToFormat_Result_format___closed__4; lean_object* l_Lean_getPPCoercions___closed__1; lean_object* l_Lean_Delaborator_delabConst_match__1(lean_object*); lean_object* l_Lean_Delaborator_failure___rarg(lean_object*); +lean_object* l_Lean_Delaborator_delabMData___closed__5; lean_object* l___regBuiltin_Lean_Delaborator_delabOrM___closed__1; lean_object* l___regBuiltin_Lean_Delaborator_delabBNot___closed__1; lean_object* l_Lean_Delaborator_delabProj_match__1(lean_object*); @@ -822,6 +833,7 @@ lean_object* l_Lean_Delaborator_delabOfNat___closed__1; extern lean_object* l_myMacro____x40_Init_Notation___hyg_38____closed__6; extern lean_object* l_Lean_Elab_Level_elabLevel___closed__8; lean_object* l_Std_RBNode_find___at_Lean_Delaborator_getPPOption___spec__1___boxed(lean_object*, lean_object*); +extern lean_object* l_Lean_Meta_Match_Pattern_toExpr_visit___closed__3; size_t l_USize_land(size_t, size_t); lean_object* l_Lean_Delaborator_delabFor_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Delaborator_delabGE___lambda__1___closed__2; @@ -831,6 +843,7 @@ lean_object* l_Std_PersistentHashMap_findAtAux___at_Lean_Delaborator_delabFor___ lean_object* l_Lean_getPPCoercions___boxed(lean_object*); extern lean_object* l_Lean_Elab_Level_elabLevel___closed__4; extern lean_object* l_myMacro____x40_Init_Core___hyg_1425____closed__1; +extern lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__1; lean_object* l_Lean_Delaborator_delabCoe___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerInternalExceptionId(lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Delaborator_delabseqLeft___closed__2; @@ -887,6 +900,7 @@ extern lean_object* l_Lean_Syntax_mkApp___closed__1; lean_object* l_Lean_Meta_getMatcherInfo_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Notation___hyg_370____closed__6; lean_object* l___regBuiltin_Lean_Delaborator_delabLE___closed__1; +lean_object* l___regBuiltin_Lean_Delaborator_delabNamedPattern___closed__2; lean_object* l_Lean_Delaborator_delabFor_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Delaborator_delabOrM___closed__1; lean_object* l_Lean_Delaborator_AppMatchState_params___default; @@ -935,6 +949,7 @@ lean_object* l_Lean_Delaborator_delabAppExplicit___lambda__2___closed__1; lean_object* l_Lean_Delaborator_descend(lean_object*); lean_object* l_Lean_Delaborator_delabStructureInstance___lambda__2___closed__1; lean_object* l_Lean_Level_quote___lambda__4___closed__1; +lean_object* l___regBuiltin_Lean_Delaborator_delabNamedPattern___closed__1; lean_object* l_Lean_Delaborator_delabForall___lambda__1___closed__2; lean_object* l_Lean_Level_instQuoteLevel; lean_object* l_Lean_Delaborator_delabNe___lambda__1___closed__1; @@ -1021,6 +1036,7 @@ lean_object* l_Lean_Delaborator_delabStructureInstance_match__1___rarg(lean_obje lean_object* l_Lean_Level_quote___lambda__1(lean_object*, lean_object*, lean_object*); uint8_t l_Array_anyMUnsafe_any___at_Lean_Delaborator_hasIdent___spec__1(lean_object*, lean_object*, size_t, size_t); lean_object* lean_register_option(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Delaborator_delabMData___closed__3; lean_object* l_Lean_Delaborator_delabAppMatch_match__2(lean_object*); lean_object* l_Lean_Delaborator_delabAppExplicit___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Delaborator_delabOr___lambda__1___closed__3; @@ -1103,6 +1119,7 @@ lean_object* l_Lean_Delaborator_delabAppMatch___lambda__3___closed__3; extern lean_object* l_Lean_KeyedDeclsAttribute_instInhabitedDef___closed__1; extern lean_object* l_myMacro____x40_Init_Notation___hyg_4364____closed__4; lean_object* l_Lean_Delaborator_delabMapRev___lambda__1___closed__1; +lean_object* l_Lean_Delaborator_delabMData_match__3___rarg(lean_object*, lean_object*); lean_object* l_Lean_Delaborator_delabAppExplicit___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Delaborator_instAlternativeDelabM___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Delaborator_delabCons___lambda__1___closed__2; @@ -1176,6 +1193,7 @@ lean_object* l_Lean_Meta_forallTelescope___at___private_Lean_Delaborator_0__Lean lean_object* l_Lean_Delaborator_delabPow___lambda__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_HashMapImp_find_x3f___at_Lean_Delaborator_delabFor___spec__5___boxed(lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Core___hyg_1032____closed__1; +lean_object* l_List_forIn_loop___at_Lean_Delaborator_delabMData___spec__3___lambda__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Delaborator_delabBNot___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Delaborator_delabProj(lean_object*); lean_object* l_Lean_Delaborator_delabBNot___lambda__1___closed__4; @@ -1406,6 +1424,7 @@ lean_object* l_Lean_Delaborator_delabAppExplicit___closed__1; lean_object* l_Lean_Level_quote___lambda__6___closed__2; lean_object* l_Lean_Delaborator_delabBVar_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Delaborator_delabModN___closed__1; +uint8_t l_Lean_Syntax_isIdent(lean_object*); lean_object* l_Lean_Delaborator_delabNot___lambda__1___closed__2; lean_object* l_Lean_Delaborator_delabAndM___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Delaborator_delabOfNat___closed__1; @@ -17932,7 +17951,49 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Delaborator_delabMData_match__1___rarg), return x_2; } } -lean_object* l_Lean_Delaborator_delabMData_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_Delaborator_delabMData_match__2___rarg(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_3 = lean_ctor_get(x_1, 0); +lean_inc(x_3); +x_4 = lean_ctor_get(x_1, 1); +lean_inc(x_4); +lean_dec(x_1); +x_5 = lean_apply_2(x_2, x_3, x_4); +return x_5; +} +} +lean_object* l_Lean_Delaborator_delabMData_match__2(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Delaborator_delabMData_match__2___rarg), 2, 0); +return x_2; +} +} +lean_object* l_Lean_Delaborator_delabMData_match__3___rarg(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_3 = lean_ctor_get(x_1, 0); +lean_inc(x_3); +x_4 = lean_ctor_get(x_1, 1); +lean_inc(x_4); +lean_dec(x_1); +x_5 = lean_apply_2(x_2, x_3, x_4); +return x_5; +} +} +lean_object* l_Lean_Delaborator_delabMData_match__3(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Delaborator_delabMData_match__3___rarg), 2, 0); +return x_2; +} +} +lean_object* l_Lean_Delaborator_delabMData_match__4___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_1) == 10) @@ -17958,11 +18019,11 @@ return x_9; } } } -lean_object* l_Lean_Delaborator_delabMData_match__2(lean_object* x_1) { +lean_object* l_Lean_Delaborator_delabMData_match__4(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Delaborator_delabMData_match__2___rarg), 3, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_Delaborator_delabMData_match__4___rarg), 3, 0); return x_2; } } @@ -20448,6 +20509,43 @@ return x_7; } } } +lean_object* l_List_forIn_loop___at_Lean_Delaborator_delabMData___spec__3___lambda__1(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; uint8_t x_12; +x_11 = l_Lean_Meta_Match_Pattern_toExpr_visit___closed__2; +x_12 = lean_name_eq(x_1, x_11); +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_13 = lean_box(x_2); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_13); +lean_ctor_set(x_14, 1, x_3); +x_15 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_15, 0, x_14); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_15); +lean_ctor_set(x_16, 1, x_10); +return x_16; +} +else +{ +uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_17 = 1; +x_18 = lean_box(x_17); +x_19 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_19, 0, x_18); +lean_ctor_set(x_19, 1, x_3); +x_20 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_20, 0, x_19); +x_21 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_21, 0, x_20); +lean_ctor_set(x_21, 1, x_10); +return x_21; +} +} +} lean_object* l_List_forIn_loop___at_Lean_Delaborator_delabMData___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { @@ -20462,7 +20560,7 @@ return x_10; } else { -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; x_11 = lean_ctor_get(x_2, 0); lean_inc(x_11); x_12 = lean_ctor_get(x_2, 1); @@ -20473,41 +20571,91 @@ lean_inc(x_13); x_14 = lean_ctor_get(x_11, 1); lean_inc(x_14); lean_dec(x_11); -x_15 = l_Lean_getSanitizeNames___closed__2; -x_16 = l_Lean_Name_isPrefixOf(x_15, x_13); -if (x_16 == 0) +x_15 = lean_ctor_get(x_3, 0); +lean_inc(x_15); +x_16 = lean_ctor_get(x_3, 1); +lean_inc(x_16); +lean_dec(x_3); +x_17 = l_Lean_getSanitizeNames___closed__2; +x_18 = l_Lean_Name_isPrefixOf(x_17, x_13); +if (x_18 == 0) { +lean_object* x_19; uint8_t x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_dec(x_14); +x_19 = lean_box(0); +x_20 = lean_unbox(x_15); +lean_dec(x_15); +x_21 = l_List_forIn_loop___at_Lean_Delaborator_delabMData___spec__3___lambda__1(x_13, x_20, x_16, x_19, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_13); -x_2 = x_12; -goto _start; -} -else -{ -lean_object* x_18; lean_object* x_19; -x_18 = lean_box(0); -x_19 = l_Std_RBNode_find___at_Lean_Delaborator_getPPOption___spec__1(x_3, x_1); -if (lean_obj_tag(x_19) == 0) -{ -lean_object* x_20; lean_object* x_21; -x_20 = l_Lean_KVMap_insertCore(x_18, x_13, x_14); -lean_inc(x_1); -x_21 = l_Std_RBNode_insert___at_Lean_Delaborator_delabMData___spec__1(x_3, x_1, x_20); -x_2 = x_12; -x_3 = x_21; -goto _start; -} -else -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_19, 0); +x_22 = lean_ctor_get(x_21, 0); +lean_inc(x_22); +x_23 = lean_ctor_get(x_21, 1); lean_inc(x_23); -lean_dec(x_19); -x_24 = l_Lean_KVMap_insertCore(x_23, x_13, x_14); -lean_inc(x_1); -x_25 = l_Std_RBNode_insert___at_Lean_Delaborator_delabMData___spec__1(x_3, x_1, x_24); +lean_dec(x_21); +x_24 = lean_ctor_get(x_22, 0); +lean_inc(x_24); +lean_dec(x_22); x_2 = x_12; -x_3 = x_25; +x_3 = x_24; +x_9 = x_23; +goto _start; +} +else +{ +lean_object* x_26; lean_object* x_27; +x_26 = lean_box(0); +x_27 = l_Std_RBNode_find___at_Lean_Delaborator_getPPOption___spec__1(x_16, x_1); +if (lean_obj_tag(x_27) == 0) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +lean_inc(x_13); +x_28 = l_Lean_KVMap_insertCore(x_26, x_13, x_14); +lean_inc(x_1); +x_29 = l_Std_RBNode_insert___at_Lean_Delaborator_delabMData___spec__1(x_16, x_1, x_28); +x_30 = lean_box(0); +x_31 = lean_unbox(x_15); +lean_dec(x_15); +x_32 = l_List_forIn_loop___at_Lean_Delaborator_delabMData___spec__3___lambda__1(x_13, x_31, x_29, x_30, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_13); +x_33 = lean_ctor_get(x_32, 0); +lean_inc(x_33); +x_34 = lean_ctor_get(x_32, 1); +lean_inc(x_34); +lean_dec(x_32); +x_35 = lean_ctor_get(x_33, 0); +lean_inc(x_35); +lean_dec(x_33); +x_2 = x_12; +x_3 = x_35; +x_9 = x_34; +goto _start; +} +else +{ +lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_37 = lean_ctor_get(x_27, 0); +lean_inc(x_37); +lean_dec(x_27); +lean_inc(x_13); +x_38 = l_Lean_KVMap_insertCore(x_37, x_13, x_14); +lean_inc(x_1); +x_39 = l_Std_RBNode_insert___at_Lean_Delaborator_delabMData___spec__1(x_16, x_1, x_38); +x_40 = lean_box(0); +x_41 = lean_unbox(x_15); +lean_dec(x_15); +x_42 = l_List_forIn_loop___at_Lean_Delaborator_delabMData___spec__3___lambda__1(x_13, x_41, x_39, x_40, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_13); +x_43 = lean_ctor_get(x_42, 0); +lean_inc(x_43); +x_44 = lean_ctor_get(x_42, 1); +lean_inc(x_44); +lean_dec(x_42); +x_45 = lean_ctor_get(x_43, 0); +lean_inc(x_45); +lean_dec(x_43); +x_2 = x_12; +x_3 = x_45; +x_9 = x_44; goto _start; } } @@ -20535,6 +20683,38 @@ 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_Delaborator_delabMData___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_myMacro____x40_Init_Notation___hyg_38____closed__6; +x_2 = l_Lean_Meta_Match_Pattern_toExpr_visit___closed__1; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Delaborator_delabMData___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_instInhabitedSourceInfo___closed__1; +x_2 = l_Lean_Meta_Match_Pattern_toMessageData___closed__1; +x_3 = lean_alloc_ctor(2, 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_Delaborator_delabMData___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Array_empty___closed__1; +x_2 = l_Lean_Delaborator_delabMData___closed__4; +x_3 = lean_array_push(x_1, x_2); +return x_3; +} +} lean_object* l_Lean_Delaborator_delabMData(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: { @@ -20544,7 +20724,7 @@ x_8 = lean_ctor_get(x_7, 0); lean_inc(x_8); if (lean_obj_tag(x_8) == 10) { -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; x_9 = lean_ctor_get(x_7, 1); lean_inc(x_9); lean_dec(x_7); @@ -20563,68 +20743,277 @@ x_15 = lean_ctor_get(x_1, 4); lean_inc(x_15); x_16 = lean_ctor_get(x_1, 5); lean_inc(x_16); +x_17 = 0; +x_18 = lean_box(x_17); +x_19 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_19, 0, x_18); +lean_ctor_set(x_19, 1, x_14); lean_inc(x_12); -x_17 = l_List_forIn_loop___at_Lean_Delaborator_delabMData___spec__3(x_12, x_10, x_14, x_1, x_2, x_3, x_4, x_5, x_9); -x_18 = !lean_is_exclusive(x_1); -if (x_18 == 0) +x_20 = l_List_forIn_loop___at_Lean_Delaborator_delabMData___spec__3(x_12, x_10, x_19, x_1, x_2, x_3, x_4, x_5, x_9); +x_21 = !lean_is_exclusive(x_1); +if (x_21 == 0) { -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_19 = lean_ctor_get(x_1, 5); -lean_dec(x_19); -x_20 = lean_ctor_get(x_1, 4); -lean_dec(x_20); -x_21 = lean_ctor_get(x_1, 3); -lean_dec(x_21); -x_22 = lean_ctor_get(x_1, 2); +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_22 = lean_ctor_get(x_1, 5); lean_dec(x_22); -x_23 = lean_ctor_get(x_1, 1); +x_23 = lean_ctor_get(x_1, 4); lean_dec(x_23); -x_24 = lean_ctor_get(x_1, 0); +x_24 = lean_ctor_get(x_1, 3); lean_dec(x_24); -x_25 = lean_ctor_get(x_17, 0); -lean_inc(x_25); -x_26 = lean_ctor_get(x_17, 1); -lean_inc(x_26); -lean_dec(x_17); -lean_ctor_set(x_1, 3, x_25); -x_27 = l_Lean_Delaborator_delabAppMatch___lambda__2___closed__1; -x_28 = l_Lean_Delaborator_withMDataExpr___rarg(x_27, x_1, x_2, x_3, x_4, x_5, 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_dec(x_1); -x_29 = lean_ctor_get(x_17, 0); +x_25 = lean_ctor_get(x_1, 2); +lean_dec(x_25); +x_26 = lean_ctor_get(x_1, 1); +lean_dec(x_26); +x_27 = lean_ctor_get(x_1, 0); +lean_dec(x_27); +x_28 = lean_ctor_get(x_20, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_20, 1); lean_inc(x_29); -x_30 = lean_ctor_get(x_17, 1); +lean_dec(x_20); +x_30 = lean_ctor_get(x_28, 0); lean_inc(x_30); -lean_dec(x_17); -x_31 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_31, 0, x_11); -lean_ctor_set(x_31, 1, x_12); -lean_ctor_set(x_31, 2, x_13); -lean_ctor_set(x_31, 3, x_29); -lean_ctor_set(x_31, 4, x_15); -lean_ctor_set(x_31, 5, x_16); +x_31 = lean_ctor_get(x_28, 1); +lean_inc(x_31); +lean_dec(x_28); +lean_ctor_set(x_1, 3, x_31); x_32 = l_Lean_Delaborator_delabAppMatch___lambda__2___closed__1; -x_33 = l_Lean_Delaborator_withMDataExpr___rarg(x_32, x_31, x_2, x_3, x_4, x_5, x_30); +x_33 = l_Lean_Delaborator_withMDataExpr___rarg(x_32, x_1, x_2, x_3, x_4, x_5, x_29); +if (lean_obj_tag(x_33) == 0) +{ +uint8_t x_34; +x_34 = lean_unbox(x_30); +lean_dec(x_30); +if (x_34 == 0) +{ +uint8_t x_35; +x_35 = !lean_is_exclusive(x_33); +if (x_35 == 0) +{ return x_33; } +else +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_36 = lean_ctor_get(x_33, 0); +x_37 = lean_ctor_get(x_33, 1); +lean_inc(x_37); +lean_inc(x_36); +lean_dec(x_33); +x_38 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_38, 0, x_36); +lean_ctor_set(x_38, 1, x_37); +return x_38; +} } else { -lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; -lean_dec(x_8); -x_34 = lean_ctor_get(x_7, 1); -lean_inc(x_34); -lean_dec(x_7); -x_35 = l_Lean_Delaborator_withAppFn___rarg___closed__1; -x_36 = l_Lean_Delaborator_delabMData___closed__2; -x_37 = lean_panic_fn(x_35, x_36); -x_38 = lean_apply_6(x_37, x_1, x_2, x_3, x_4, x_5, x_34); -return x_38; +uint8_t x_39; +x_39 = !lean_is_exclusive(x_33); +if (x_39 == 0) +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_40 = lean_ctor_get(x_33, 0); +x_41 = l_Lean_Delaborator_delabMData___closed__5; +x_42 = lean_array_push(x_41, x_40); +x_43 = l_myMacro____x40_Init_Notation___hyg_5739____closed__22; +x_44 = lean_array_push(x_42, x_43); +x_45 = l_Lean_Delaborator_delabMData___closed__3; +x_46 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_46, 0, x_45); +lean_ctor_set(x_46, 1, x_44); +lean_ctor_set(x_33, 0, x_46); +return x_33; } +else +{ +lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_47 = lean_ctor_get(x_33, 0); +x_48 = lean_ctor_get(x_33, 1); +lean_inc(x_48); +lean_inc(x_47); +lean_dec(x_33); +x_49 = l_Lean_Delaborator_delabMData___closed__5; +x_50 = lean_array_push(x_49, x_47); +x_51 = l_myMacro____x40_Init_Notation___hyg_5739____closed__22; +x_52 = lean_array_push(x_50, x_51); +x_53 = l_Lean_Delaborator_delabMData___closed__3; +x_54 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_54, 0, x_53); +lean_ctor_set(x_54, 1, x_52); +x_55 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_55, 0, x_54); +lean_ctor_set(x_55, 1, x_48); +return x_55; +} +} +} +else +{ +uint8_t x_56; +lean_dec(x_30); +x_56 = !lean_is_exclusive(x_33); +if (x_56 == 0) +{ +return x_33; +} +else +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_33, 0); +x_58 = lean_ctor_get(x_33, 1); +lean_inc(x_58); +lean_inc(x_57); +lean_dec(x_33); +x_59 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_59, 0, x_57); +lean_ctor_set(x_59, 1, x_58); +return x_59; +} +} +} +else +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; +lean_dec(x_1); +x_60 = lean_ctor_get(x_20, 0); +lean_inc(x_60); +x_61 = lean_ctor_get(x_20, 1); +lean_inc(x_61); +lean_dec(x_20); +x_62 = lean_ctor_get(x_60, 0); +lean_inc(x_62); +x_63 = lean_ctor_get(x_60, 1); +lean_inc(x_63); +lean_dec(x_60); +x_64 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_64, 0, x_11); +lean_ctor_set(x_64, 1, x_12); +lean_ctor_set(x_64, 2, x_13); +lean_ctor_set(x_64, 3, x_63); +lean_ctor_set(x_64, 4, x_15); +lean_ctor_set(x_64, 5, x_16); +x_65 = l_Lean_Delaborator_delabAppMatch___lambda__2___closed__1; +x_66 = l_Lean_Delaborator_withMDataExpr___rarg(x_65, x_64, x_2, x_3, x_4, x_5, x_61); +if (lean_obj_tag(x_66) == 0) +{ +uint8_t x_67; +x_67 = lean_unbox(x_62); +lean_dec(x_62); +if (x_67 == 0) +{ +lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_68 = lean_ctor_get(x_66, 0); +lean_inc(x_68); +x_69 = lean_ctor_get(x_66, 1); +lean_inc(x_69); +if (lean_is_exclusive(x_66)) { + lean_ctor_release(x_66, 0); + lean_ctor_release(x_66, 1); + x_70 = x_66; +} else { + lean_dec_ref(x_66); + x_70 = lean_box(0); +} +if (lean_is_scalar(x_70)) { + x_71 = lean_alloc_ctor(0, 2, 0); +} else { + x_71 = x_70; +} +lean_ctor_set(x_71, 0, x_68); +lean_ctor_set(x_71, 1, x_69); +return x_71; +} +else +{ +lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; +x_72 = lean_ctor_get(x_66, 0); +lean_inc(x_72); +x_73 = lean_ctor_get(x_66, 1); +lean_inc(x_73); +if (lean_is_exclusive(x_66)) { + lean_ctor_release(x_66, 0); + lean_ctor_release(x_66, 1); + x_74 = x_66; +} else { + lean_dec_ref(x_66); + x_74 = lean_box(0); +} +x_75 = l_Lean_Delaborator_delabMData___closed__5; +x_76 = lean_array_push(x_75, x_72); +x_77 = l_myMacro____x40_Init_Notation___hyg_5739____closed__22; +x_78 = lean_array_push(x_76, x_77); +x_79 = l_Lean_Delaborator_delabMData___closed__3; +x_80 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_80, 0, x_79); +lean_ctor_set(x_80, 1, x_78); +if (lean_is_scalar(x_74)) { + x_81 = lean_alloc_ctor(0, 2, 0); +} else { + x_81 = x_74; +} +lean_ctor_set(x_81, 0, x_80); +lean_ctor_set(x_81, 1, x_73); +return x_81; +} +} +else +{ +lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; +lean_dec(x_62); +x_82 = lean_ctor_get(x_66, 0); +lean_inc(x_82); +x_83 = lean_ctor_get(x_66, 1); +lean_inc(x_83); +if (lean_is_exclusive(x_66)) { + lean_ctor_release(x_66, 0); + lean_ctor_release(x_66, 1); + x_84 = x_66; +} else { + lean_dec_ref(x_66); + x_84 = lean_box(0); +} +if (lean_is_scalar(x_84)) { + x_85 = lean_alloc_ctor(1, 2, 0); +} else { + x_85 = x_84; +} +lean_ctor_set(x_85, 0, x_82); +lean_ctor_set(x_85, 1, x_83); +return x_85; +} +} +} +else +{ +lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; +lean_dec(x_8); +x_86 = lean_ctor_get(x_7, 1); +lean_inc(x_86); +lean_dec(x_7); +x_87 = l_Lean_Delaborator_withAppFn___rarg___closed__1; +x_88 = l_Lean_Delaborator_delabMData___closed__2; +x_89 = lean_panic_fn(x_87, x_88); +x_90 = lean_apply_6(x_89, x_1, x_2, x_3, x_4, x_5, x_86); +return x_90; +} +} +} +lean_object* l_List_forIn_loop___at_Lean_Delaborator_delabMData___spec__3___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +uint8_t x_11; lean_object* x_12; +x_11 = lean_unbox(x_2); +lean_dec(x_2); +x_12 = l_List_forIn_loop___at_Lean_Delaborator_delabMData___spec__3___lambda__1(x_1, x_11, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +return x_12; } } lean_object* l_List_forIn_loop___at_Lean_Delaborator_delabMData___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { @@ -22054,7 +22443,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_Delaborator_withAppFn___rarg___closed__2; x_2 = l_Lean_Delaborator_delabLam___lambda__3___closed__2; -x_3 = lean_unsigned_to_nat(546u); +x_3 = lean_unsigned_to_nat(553u); x_4 = lean_unsigned_to_nat(44u); x_5 = l_Lean_Syntax_strLitToAtom___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -23228,7 +23617,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_Delaborator_withAppFn___rarg___closed__2; x_2 = l_Lean_Delaborator_delabForall___lambda__1___closed__3; -x_3 = lean_unsigned_to_nat(569u); +x_3 = lean_unsigned_to_nat(576u); x_4 = lean_unsigned_to_nat(33u); x_5 = l_Lean_Syntax_strLitToAtom___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -24146,7 +24535,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_Delaborator_withAppFn___rarg___closed__2; x_2 = l_Lean_Delaborator_delabLetE___closed__1; -x_3 = lean_unsigned_to_nat(573u); +x_3 = lean_unsigned_to_nat(580u); x_4 = lean_unsigned_to_nat(38u); x_5 = l_Lean_Syntax_strLitToAtom___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -24534,7 +24923,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_Delaborator_withAppFn___rarg___closed__2; x_2 = l_Lean_Delaborator_delabLit___closed__1; -x_3 = lean_unsigned_to_nat(584u); +x_3 = lean_unsigned_to_nat(591u); x_4 = lean_unsigned_to_nat(31u); x_5 = l_Lean_Syntax_strLitToAtom___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -24929,7 +25318,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_Delaborator_withAppFn___rarg___closed__2; x_2 = l_Lean_Delaborator_delabProj___closed__1; -x_3 = lean_unsigned_to_nat(602u); +x_3 = lean_unsigned_to_nat(609u); x_4 = lean_unsigned_to_nat(38u); x_5 = l_Lean_Syntax_strLitToAtom___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -33148,6 +33537,275 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); return x_5; } } +static lean_object* _init_l_Lean_Delaborator_delabNamedPattern___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_myMacro____x40_Init_Notation___hyg_38____closed__6; +x_2 = l_Lean_Meta_Match_Pattern_toExpr_visit___closed__3; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +lean_object* l_Lean_Delaborator_delabNamedPattern(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; uint8_t x_61; +x_55 = l_Lean_Delaborator_getExpr(x_1, x_2, x_3, x_4, x_5, x_6); +x_56 = lean_ctor_get(x_55, 0); +lean_inc(x_56); +x_57 = lean_ctor_get(x_55, 1); +lean_inc(x_57); +lean_dec(x_55); +x_58 = lean_unsigned_to_nat(0u); +x_59 = l_Lean_Expr_getAppNumArgsAux(x_56, x_58); +lean_dec(x_56); +x_60 = lean_unsigned_to_nat(3u); +x_61 = lean_nat_dec_eq(x_59, x_60); +lean_dec(x_59); +if (x_61 == 0) +{ +lean_object* x_62; uint8_t x_63; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_62 = l_Lean_Delaborator_failure___rarg(x_57); +x_63 = !lean_is_exclusive(x_62); +if (x_63 == 0) +{ +return x_62; +} +else +{ +lean_object* x_64; lean_object* x_65; lean_object* x_66; +x_64 = lean_ctor_get(x_62, 0); +x_65 = lean_ctor_get(x_62, 1); +lean_inc(x_65); +lean_inc(x_64); +lean_dec(x_62); +x_66 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_66, 0, x_64); +lean_ctor_set(x_66, 1, x_65); +return x_66; +} +} +else +{ +x_7 = x_57; +goto block_54; +} +block_54: +{ +lean_object* x_8; lean_object* x_9; +x_8 = l_Lean_Delaborator_delabTuple___lambda__1___closed__1; +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_1); +x_9 = l_Lean_Delaborator_withAppFn___rarg(x_8, x_1, x_2, x_3, x_4, x_5, x_7); +if (lean_obj_tag(x_9) == 0) +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_9, 1); +lean_inc(x_11); +lean_dec(x_9); +x_12 = l_Lean_Delaborator_delabAppMatch___lambda__2___closed__1; +x_13 = l_Lean_Delaborator_withAppArg___rarg(x_12, x_1, x_2, x_3, x_4, x_5, x_11); +if (lean_obj_tag(x_13) == 0) +{ +uint8_t x_14; +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; uint8_t x_17; +x_15 = lean_ctor_get(x_13, 0); +x_16 = lean_ctor_get(x_13, 1); +x_17 = l_Lean_Syntax_isIdent(x_10); +if (x_17 == 0) +{ +lean_object* x_18; uint8_t x_19; +lean_free_object(x_13); +lean_dec(x_15); +lean_dec(x_10); +x_18 = l_Lean_Delaborator_failure___rarg(x_16); +x_19 = !lean_is_exclusive(x_18); +if (x_19 == 0) +{ +return x_18; +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_18, 0); +x_21 = lean_ctor_get(x_18, 1); +lean_inc(x_21); +lean_inc(x_20); +lean_dec(x_18); +x_22 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_22, 0, x_20); +lean_ctor_set(x_22, 1, x_21); +return x_22; +} +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_23 = l_Array_empty___closed__1; +x_24 = lean_array_push(x_23, x_10); +x_25 = l_Lean_Delaborator_delabAppExplicit___lambda__2___closed__2; +x_26 = lean_array_push(x_24, x_25); +x_27 = lean_array_push(x_26, x_15); +x_28 = l_Lean_Delaborator_delabNamedPattern___closed__1; +x_29 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_29, 0, x_28); +lean_ctor_set(x_29, 1, x_27); +lean_ctor_set(x_13, 0, x_29); +return x_13; +} +} +else +{ +lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_30 = lean_ctor_get(x_13, 0); +x_31 = lean_ctor_get(x_13, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_13); +x_32 = l_Lean_Syntax_isIdent(x_10); +if (x_32 == 0) +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; +lean_dec(x_30); +lean_dec(x_10); +x_33 = l_Lean_Delaborator_failure___rarg(x_31); +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +x_35 = lean_ctor_get(x_33, 1); +lean_inc(x_35); +if (lean_is_exclusive(x_33)) { + lean_ctor_release(x_33, 0); + lean_ctor_release(x_33, 1); + x_36 = x_33; +} else { + lean_dec_ref(x_33); + x_36 = lean_box(0); +} +if (lean_is_scalar(x_36)) { + x_37 = lean_alloc_ctor(1, 2, 0); +} else { + x_37 = x_36; +} +lean_ctor_set(x_37, 0, x_34); +lean_ctor_set(x_37, 1, x_35); +return x_37; +} +else +{ +lean_object* x_38; 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_38 = l_Array_empty___closed__1; +x_39 = lean_array_push(x_38, x_10); +x_40 = l_Lean_Delaborator_delabAppExplicit___lambda__2___closed__2; +x_41 = lean_array_push(x_39, x_40); +x_42 = lean_array_push(x_41, x_30); +x_43 = l_Lean_Delaborator_delabNamedPattern___closed__1; +x_44 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_44, 0, x_43); +lean_ctor_set(x_44, 1, x_42); +x_45 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_45, 0, x_44); +lean_ctor_set(x_45, 1, x_31); +return x_45; +} +} +} +else +{ +uint8_t x_46; +lean_dec(x_10); +x_46 = !lean_is_exclusive(x_13); +if (x_46 == 0) +{ +return x_13; +} +else +{ +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_13, 0); +x_48 = lean_ctor_get(x_13, 1); +lean_inc(x_48); +lean_inc(x_47); +lean_dec(x_13); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; +} +} +} +else +{ +uint8_t x_50; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_50 = !lean_is_exclusive(x_9); +if (x_50 == 0) +{ +return x_9; +} +else +{ +lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_51 = lean_ctor_get(x_9, 0); +x_52 = lean_ctor_get(x_9, 1); +lean_inc(x_52); +lean_inc(x_51); +lean_dec(x_9); +x_53 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_53, 0, x_51); +lean_ctor_set(x_53, 1, x_52); +return x_53; +} +} +} +} +} +static lean_object* _init_l___regBuiltin_Lean_Delaborator_delabNamedPattern___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Delaborator_getExprKind___closed__5; +x_2 = l_Lean_Meta_Match_Pattern_toExpr_visit___closed__3; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l___regBuiltin_Lean_Delaborator_delabNamedPattern___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Delaborator_delabNamedPattern), 6, 0); +return x_1; +} +} +lean_object* l___regBuiltin_Lean_Delaborator_delabNamedPattern(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_2 = l_Lean_Delaborator_delabAttribute; +x_3 = l___regBuiltin_Lean_Delaborator_delabNamedPattern___closed__1; +x_4 = l___regBuiltin_Lean_Delaborator_delabNamedPattern___closed__2; +x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); +return x_5; +} +} static lean_object* _init_l_Lean_delab___closed__1() { _start: { @@ -33162,7 +33820,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_Delaborator_withAppFn___rarg___closed__2; x_2 = l_Lean_delab___closed__1; -x_3 = lean_unsigned_to_nat(790u); +x_3 = lean_unsigned_to_nat(805u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lean_Syntax_strLitToAtom___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -33739,6 +34397,12 @@ l_Lean_Delaborator_delabMData___closed__1 = _init_l_Lean_Delaborator_delabMData_ lean_mark_persistent(l_Lean_Delaborator_delabMData___closed__1); l_Lean_Delaborator_delabMData___closed__2 = _init_l_Lean_Delaborator_delabMData___closed__2(); lean_mark_persistent(l_Lean_Delaborator_delabMData___closed__2); +l_Lean_Delaborator_delabMData___closed__3 = _init_l_Lean_Delaborator_delabMData___closed__3(); +lean_mark_persistent(l_Lean_Delaborator_delabMData___closed__3); +l_Lean_Delaborator_delabMData___closed__4 = _init_l_Lean_Delaborator_delabMData___closed__4(); +lean_mark_persistent(l_Lean_Delaborator_delabMData___closed__4); +l_Lean_Delaborator_delabMData___closed__5 = _init_l_Lean_Delaborator_delabMData___closed__5(); +lean_mark_persistent(l_Lean_Delaborator_delabMData___closed__5); l___regBuiltin_Lean_Delaborator_delabMData___closed__1 = _init_l___regBuiltin_Lean_Delaborator_delabMData___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Delaborator_delabMData___closed__1); res = l___regBuiltin_Lean_Delaborator_delabMData(lean_io_mk_world()); @@ -34504,6 +35168,15 @@ lean_mark_persistent(l___regBuiltin_Lean_Delaborator_delabListToArray___closed__ res = l___regBuiltin_Lean_Delaborator_delabListToArray(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +l_Lean_Delaborator_delabNamedPattern___closed__1 = _init_l_Lean_Delaborator_delabNamedPattern___closed__1(); +lean_mark_persistent(l_Lean_Delaborator_delabNamedPattern___closed__1); +l___regBuiltin_Lean_Delaborator_delabNamedPattern___closed__1 = _init_l___regBuiltin_Lean_Delaborator_delabNamedPattern___closed__1(); +lean_mark_persistent(l___regBuiltin_Lean_Delaborator_delabNamedPattern___closed__1); +l___regBuiltin_Lean_Delaborator_delabNamedPattern___closed__2 = _init_l___regBuiltin_Lean_Delaborator_delabNamedPattern___closed__2(); +lean_mark_persistent(l___regBuiltin_Lean_Delaborator_delabNamedPattern___closed__2); +res = l___regBuiltin_Lean_Delaborator_delabNamedPattern(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); l_Lean_delab___closed__1 = _init_l_Lean_delab___closed__1(); lean_mark_persistent(l_Lean_delab___closed__1); l_Lean_delab___closed__2 = _init_l_Lean_delab___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/BuiltinNotation.c b/stage0/stdlib/Lean/Elab/BuiltinNotation.c index a8d75524ef..24be76a7bb 100644 --- a/stage0/stdlib/Lean/Elab/BuiltinNotation.c +++ b/stage0/stdlib/Lean/Elab/BuiltinNotation.c @@ -536,6 +536,7 @@ lean_object* l_Lean_Elab_Term_expandSorry___rarg___closed__4; lean_object* l_Lean_Elab_Term_expandInfix___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot_match__1(lean_object*); lean_object* l_Lean_Elab_Term_elabStateRefT(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__20; lean_object* l_Lean_Elab_Term_mkPairs_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_expandExplicitBindersAux_loop___closed__8; lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Elab_Term_elabSubst___spec__3___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -549,7 +550,6 @@ lean_object* l_Lean_Elab_Term_expandSorry___rarg___closed__1; extern lean_object* l_Lean_mkOptionalNode___closed__2; lean_object* l_Lean_Elab_Term_expandAssert___closed__3; lean_object* l___regBuiltin_Lean_Elab_Term_expandUnreachable(lean_object*); -extern lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__20; extern lean_object* l_myMacro____x40_Init_Notation___hyg_5739____closed__13; lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__4; extern lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_11379____closed__2; @@ -8625,7 +8625,7 @@ lean_ctor_set(x_64, 2, x_60); lean_ctor_set(x_64, 3, x_63); x_65 = l_Array_empty___closed__1; x_66 = lean_array_push(x_65, x_64); -x_67 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__20; +x_67 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__20; x_68 = lean_array_push(x_67, x_5); x_69 = l___kind_term____x40_Init_Data_ToString_Macro___hyg_2____closed__6; x_70 = lean_alloc_ctor(1, 2, 0); diff --git a/stage0/stdlib/Lean/Elab/Declaration.c b/stage0/stdlib/Lean/Elab/Declaration.c index a2e78a8303..3be9b60baa 100644 --- a/stage0/stdlib/Lean/Elab/Declaration.c +++ b/stage0/stdlib/Lean/Elab/Declaration.c @@ -64,6 +64,7 @@ extern lean_object* l_Array_empty___closed__1; lean_object* l___private_Lean_Elab_Declaration_0__Lean_Elab_Command_inductiveSyntaxToView_match__3___rarg(lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_elabAxiom_match__3(lean_object*); lean_object* l_Lean_Elab_Command_elabDeclaration_match__1___rarg(lean_object*, lean_object*, lean_object*); +extern lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__10; lean_object* lean_st_ref_get(lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedParserDescr___closed__1; lean_object* l___private_Lean_Elab_Declaration_0__Lean_Elab_Command_isMutualPreambleCommand___boxed(lean_object*); @@ -79,13 +80,13 @@ lean_object* l_Lean_Elab_Command_expandInitCmd___closed__14; lean_object* l_Lean_Elab_Command_expandMutualPreamble_match__1(lean_object*); lean_object* l___regBuiltin_Lean_Elab_Command_expandInitialize(lean_object*); lean_object* l___regBuiltin_Lean_Elab_Command_elabDeclaration(lean_object*); -extern lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__10; lean_object* l_Lean_Elab_Command_elabAxiom_match__5___rarg(lean_object*, lean_object*); lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Declaration_0__Lean_Elab_Command_elabMutualInductive___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_string_append(lean_object*, lean_object*); +extern lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__16; lean_object* l_Lean_Elab_Command_expandMutualNamespace_match__3(lean_object*); lean_object* l_Lean_Elab_Command_expandInitCmd___closed__22; lean_object* l_List_map___at_Lean_resolveGlobalConst___spec__2(lean_object*); @@ -129,6 +130,7 @@ lean_object* l_Lean_Elab_Command_expandBuiltinInitialize___boxed(lean_object*, l lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Declaration_0__Lean_Elab_Command_inductiveSyntaxToView___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Declaration_0__Lean_Elab_Command_inductiveSyntaxToView___spec__1___lambda__2___closed__2; lean_object* l_Lean_Elab_Command_expandDeclIdNamespace_x3f_match__2___rarg(lean_object*, lean_object*); +extern lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__18; lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Declaration_0__Lean_Elab_Command_isMutualDef___spec__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_expandMutualNamespace___spec__1___closed__2; lean_object* l_Lean_Elab_Command_expandDeclNamespace_x3f_match__3___rarg(lean_object*, lean_object*, lean_object*); @@ -138,9 +140,9 @@ uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_expandMutualPreamble_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Declaration_0__Lean_Elab_Command_inductiveSyntaxToView_match__2(lean_object*); lean_object* l_Lean_Elab_Term_levelMVarToParam(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__4; lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAttr___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* l_Lean_Elab_Command_elabAxiom(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__15; lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Declaration_0__Lean_Elab_Command_inductiveSyntaxToView___spec__1___lambda__2___closed__3; extern lean_object* l_Lean_Elab_Command_isDefLike___closed__2; lean_object* l_Lean_Elab_Command_expandMutualNamespace___closed__1; @@ -230,14 +232,12 @@ lean_object* l_Lean_Elab_Command_expandMutualElement(lean_object*, lean_object*, lean_object* l___regBuiltin_Lean_Elab_Command_expandMutualElement(lean_object*); lean_object* l_Lean_Elab_Term_resetMessageLog(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_expandMutualPreamble___closed__2; -extern lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__15; lean_object* l_Lean_Elab_Command_expandInitCmd(uint8_t, lean_object*, lean_object*, lean_object*); extern lean_object* l___regBuiltin_Lean_Elab_Command_elabCheck___closed__1; lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_expandMutualNamespace___spec__1___closed__1; extern lean_object* l_Lean_resolveGlobalConstNoOverload___rarg___lambda__1___closed__1; lean_object* l_Lean_Elab_Command_expandInitCmd___closed__27; lean_object* l_Lean_Elab_Command_expandDeclNamespace_x3f___closed__1; -extern lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__18; lean_object* l_Lean_Elab_Command_expandInitCmd___closed__4; extern lean_object* l_Lean_resolveGlobalConstNoOverload___rarg___lambda__1___closed__2; lean_object* l_Lean_Elab_Command_expandInitCmd___closed__11; @@ -273,6 +273,7 @@ lean_object* l___private_Lean_Elab_Declaration_0__Lean_Elab_Command_inductiveSyn lean_object* l_Lean_Elab_Command_expandInitCmd___closed__13; extern lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_3385____closed__10; lean_object* l_Lean_Elab_Command_elabMutual___closed__3; +extern lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__4; lean_object* l_Array_ofSubarray___rarg(lean_object*); lean_object* l_Lean_Elab_Command_expandMutualNamespace_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_expandInitCmd___closed__3; @@ -308,7 +309,6 @@ lean_object* l___regBuiltin_Lean_Elab_Command_expandMutualNamespace___closed__1; lean_object* l_Lean_Elab_Command_elabAxiom_match__5(lean_object*); lean_object* l_Lean_Elab_Command_expandDeclNamespace_x3f___closed__3; lean_object* l___private_Lean_Elab_Declaration_0__Lean_Elab_Command_inductiveSyntaxToView(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__16; uint8_t l_Lean_Elab_Modifiers_isPrivate(lean_object*); lean_object* l_Lean_Elab_Command_elabDeclaration_match__1(lean_object*); lean_object* l_Lean_Elab_Command_expandInitCmd___closed__9; @@ -6657,7 +6657,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__4; +x_2 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__4; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); @@ -6878,9 +6878,9 @@ lean_ctor_set(x_29, 0, x_28); lean_ctor_set(x_29, 1, x_27); x_30 = l_Lean_Elab_Command_expandInitCmd___closed__11; x_31 = lean_array_push(x_30, x_29); -x_32 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__4; +x_32 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__4; x_33 = l_Lean_addMacroScope(x_17, x_32, x_16); -x_34 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__10; +x_34 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__10; x_35 = l_Lean_Elab_Command_expandInitCmd___closed__19; x_36 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_36, 0, x_21); @@ -7071,11 +7071,11 @@ lean_ctor_set(x_148, 0, x_147); lean_ctor_set(x_148, 1, x_146); x_149 = l_Lean_Elab_Command_expandInitCmd___closed__11; x_150 = lean_array_push(x_149, x_148); -x_151 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__4; +x_151 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__4; lean_inc(x_111); lean_inc(x_112); x_152 = l_Lean_addMacroScope(x_112, x_151, x_111); -x_153 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__10; +x_153 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__10; x_154 = l_Lean_Elab_Command_expandInitCmd___closed__19; x_155 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_155, 0, x_142); @@ -7083,10 +7083,10 @@ lean_ctor_set(x_155, 1, x_153); lean_ctor_set(x_155, 2, x_152); lean_ctor_set(x_155, 3, x_154); x_156 = lean_array_push(x_113, x_155); -x_157 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__16; +x_157 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__16; x_158 = l_Lean_addMacroScope(x_112, x_157, x_111); -x_159 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__15; -x_160 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__18; +x_159 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__15; +x_160 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__18; x_161 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_161, 0, x_142); lean_ctor_set(x_161, 1, x_159); diff --git a/stage0/stdlib/Lean/Elab/Match.c b/stage0/stdlib/Lean/Elab/Match.c index 107cd7ca9e..80362a78ee 100644 --- a/stage0/stdlib/Lean/Elab/Match.c +++ b/stage0/stdlib/Lean/Elab/Match.c @@ -236,6 +236,7 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_isAuxDiscrName___clos extern lean_object* l_myMacro____x40_Init_Notation___hyg_8168____closed__8; lean_object* l_Lean_Elab_Term_CollectPatternVars_CtorApp_instInhabitedContext; lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_Meta_Match_Pattern_toExpr_visit___closed__1; lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_finalizePatternDecls___spec__2___closed__3; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_expandNonAtomicDiscrs_x3f_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); @@ -333,6 +334,7 @@ lean_object* l___regBuiltin_Lean_Elab_Term_elabMatch(lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_CollectPatternVars_CtorApp_processCtorApp_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_toExpr_visit(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabMatch_match__13(lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_nameToPattern___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_strLitKind; @@ -612,7 +614,6 @@ lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_main_ lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_getPatternsVars___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___closed__1; lean_object* l_Lean_Syntax_getArgs(lean_object*); -lean_object* l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__3; lean_object* l_Lean_fmt___at_Lean_Level_LevelToFormat_Result_format___spec__1(lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_processVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_processVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -870,7 +871,6 @@ lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_CollectPatternVars_ge extern lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_11379____closed__6; lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_collectPatternVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___closed__1; -lean_object* l_Lean_Meta_Match_Pattern_toExpr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabMatch_match__23___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_mkLit(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_Term_expandFunBinders_loop___closed__1; @@ -4500,22 +4500,14 @@ return x_10; static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__1() { _start: { -lean_object* x_1; -x_1 = lean_mk_string("inaccessible"); -return x_1; -} -} -static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__2() { -_start: -{ lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_myMacro____x40_Init_Notation___hyg_38____closed__6; -x_2 = l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__1; +x_2 = l_Lean_Meta_Match_Pattern_toExpr_visit___closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__3() { +static lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__2() { _start: { lean_object* x_1; @@ -4528,8 +4520,8 @@ _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_2 = l_Lean_Elab_Term_termElabAttribute; -x_3 = l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__2; -x_4 = l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__3; +x_3 = l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__1; +x_4 = l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__2; x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); return x_5; } @@ -9776,7 +9768,7 @@ x_42 = lean_name_eq(x_10, x_41); if (x_42 == 0) { lean_object* x_43; uint8_t x_44; -x_43 = l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__2; +x_43 = l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__1; x_44 = lean_name_eq(x_10, x_43); if (x_44 == 0) { @@ -11176,7 +11168,7 @@ x_382 = lean_name_eq(x_10, x_381); if (x_382 == 0) { lean_object* x_383; uint8_t x_384; -x_383 = l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__2; +x_383 = l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__1; x_384 = lean_name_eq(x_10, x_383); if (x_384 == 0) { @@ -12113,7 +12105,7 @@ x_578 = lean_name_eq(x_10, x_577); if (x_578 == 0) { lean_object* x_579; uint8_t x_580; -x_579 = l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__2; +x_579 = l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__1; x_580 = lean_name_eq(x_10, x_579); if (x_580 == 0) { @@ -13081,7 +13073,7 @@ x_788 = lean_name_eq(x_10, x_787); if (x_788 == 0) { lean_object* x_789; uint8_t x_790; -x_789 = l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__2; +x_789 = l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__1; x_790 = lean_name_eq(x_10, x_789); if (x_790 == 0) { @@ -14112,7 +14104,7 @@ x_1008 = lean_name_eq(x_10, x_1007); if (x_1008 == 0) { lean_object* x_1009; uint8_t x_1010; -x_1009 = l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__2; +x_1009 = l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__1; x_1010 = lean_name_eq(x_10, x_1009); if (x_1010 == 0) { @@ -23779,9 +23771,10 @@ return x_36; lean_object* l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { -lean_object* x_9; -x_9 = l_Lean_Meta_Match_Pattern_toExpr(x_1, x_4, x_5, x_6, x_7, x_8); -return x_9; +uint8_t x_9; lean_object* x_10; +x_9 = 0; +x_10 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_9, x_1, x_4, x_5, x_6, x_7, x_8); +return x_10; } } static lean_object* _init_l_List_forIn_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAux___spec__5___lambda__2___closed__1() { @@ -30471,8 +30464,6 @@ l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__1 = _init_l___regBuilti lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__1); l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__2 = _init_l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__2(); lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__2); -l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__3 = _init_l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__3(); -lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_elabInaccessible___closed__3); res = l___regBuiltin_Lean_Elab_Term_elabInaccessible(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); diff --git a/stage0/stdlib/Lean/Elab/Structure.c b/stage0/stdlib/Lean/Elab/Structure.c index 93c4629f9f..79966eb13d 100644 --- a/stage0/stdlib/Lean/Elab/Structure.c +++ b/stage0/stdlib/Lean/Elab/Structure.c @@ -39,6 +39,7 @@ lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Ela lean_object* l_Lean_stringToMessageData(lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___lambda__3___boxed(lean_object**); lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_Meta_addGlobalInstance___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_checkResultingUniverse(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_checkNotAlreadyDeclared___rarg___lambda__3___closed__2; @@ -92,7 +93,6 @@ lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Met lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Array_empty___closed__1; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_match__5(lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__7; lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__7; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___closed__3; @@ -114,6 +114,7 @@ lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__1___closed__1 lean_object* l_Lean_Elab_Term_ensureNoUnassignedMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_getResultUniverse_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__3; lean_object* l_Lean_Meta_mkLambdaFVarsImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Elab_throwAlreadyDeclaredUniverseLevel___rarg___closed__3; @@ -161,6 +162,7 @@ lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__2___boxed(lea lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addCtorFields___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__3___closed__1; lean_object* lean_nat_add(lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__7; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addProjections___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults_match__1___rarg(lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -204,6 +206,7 @@ extern lean_object* l_Lean_Elab_Level_elabLevel___closed__6; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParamAux___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_updateResultingUniverse(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabTermEnsuringType(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); @@ -221,6 +224,7 @@ lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at___private_Lean_Elab_Struct uint8_t l_Lean_Elab_Command_StructFieldInfo_isSubobject(lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__1(lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__5; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkProjection___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -240,7 +244,6 @@ lean_object* l_Lean_Elab_Command_expandDeclId(lean_object*, lean_object*, lean_o lean_object* l_Lean_Elab_Command_elabStructure___closed__8; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields_loop___spec__3(lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__6; extern lean_object* l_Lean_instQuoteProd___rarg___closed__1; lean_object* l_Lean_Elab_Term_elabTerm(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_checkParentIsStructure_match__1(lean_object*); @@ -322,6 +325,7 @@ lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureV extern lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__3___closed__3; lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__6; lean_object* l_Lean_Meta_mkAuxDefinition___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___spec__2(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_510____closed__4; uint8_t l_Array_isEmpty___rarg(lean_object*); @@ -361,11 +365,11 @@ lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkProjectionImp(lean_ lean_object* l_Lean_Meta_inferType___at_Lean_Elab_Term_throwTypeMismatchError___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabFieldTypeValue_match__1(lean_object*); lean_object* l_Lean_setReducibilityStatus___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_mkAtomFrom(lean_object*, lean_object*); extern lean_object* l_Lean_Elab_elabAttr___rarg___lambda__3___closed__3; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParamAux___boxed__const__1; lean_object* l_Lean_Elab_elabDeclAttrs___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_type(lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__5; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParamAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_isIdOrAtom_x3f(lean_object*); lean_object* l_Lean_Elab_Term_levelMVarToParam_x27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -380,6 +384,7 @@ lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lea lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectUsed___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Notation___hyg_2883____closed__4; +extern lean_object* l_myMacro____x40_Init_Notation___hyg_5739____closed__21; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_getResultUniverse___closed__2; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___closed__5; lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -390,18 +395,21 @@ lean_object* l_Lean_Elab_Command_elabStructure___closed__6; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectLevelParamsInFVars___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_addGlobalInstance___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_postponeElabTerm___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__1; uint8_t l_Lean_BinderInfo_beq(uint8_t, uint8_t); lean_object* l_Lean_Syntax_getNumArgs(lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_CollectLevelParams_instInhabitedState___closed__1; extern lean_object* l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; extern lean_object* l___private_Lean_Elab_Inductive_0__Lean_Elab_Command_mkAuxConstructions___closed__2; +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_elabStructure___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at_Lean_Meta_addGlobalInstanceImp___spec__1(lean_object*); extern lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_841____closed__1; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addDefaults___boxed__const__1; +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__8; uint8_t lean_nat_dec_le(lean_object*, lean_object*); lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectLevelParamsInStructure(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -433,6 +441,7 @@ lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Ela lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___closed__2; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_removeUnused(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields_match__3___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__9; lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__1___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_mkAuxConstructions___lambda__1(uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_elabStructure___closed__1; @@ -441,7 +450,7 @@ extern lean_object* l_Lean_Elab_sortDeclLevelParams___closed__1; lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__3___closed__3; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___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_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__7___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__9; +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__4; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_getResultUniverse___closed__3; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_addCtorFields_match__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_myMacro____x40_Init_Notation___hyg_8168____closed__16; @@ -452,6 +461,7 @@ lean_object* l_Lean_Elab_Command_elabStructure(lean_object*, lean_object*, lean_ lean_object* l_Lean_Elab_checkNotAlreadyDeclared___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__7___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_StructFieldInfo_isFromParent_match__1___rarg___boxed(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectUsed_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__2; lean_object* l_Lean_Elab_Command_checkValidFieldModifier___lambda__4___closed__2; extern lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withUsed___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -467,6 +477,7 @@ lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_elabModifiers___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__1___lambda__2(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*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_processSubfields_loop___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_myMacro____x40_Init_Notation___hyg_5739____closed__9; lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_withParents___spec__1(lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Syntax_isNone(lean_object*); @@ -482,7 +493,7 @@ lean_object* l_Lean_Elab_Command_StructFieldInfo_isFromParent_match__1___rarg(ui lean_object* l_Lean_Elab_applyVisibility___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__6(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_collectUsed___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Structure___hyg_3506_(lean_object*); +lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Structure___hyg_3581_(lean_object*); extern lean_object* l_Lean_Elab_elabModifiers___rarg___lambda__3___closed__7; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___lambda__1___closed__1; lean_object* l_Lean_throwError___at___private_Lean_Elab_Command_0__Lean_Elab_Command_elabCommandUsing___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -491,7 +502,6 @@ lean_object* lean_expr_abstract(lean_object*, lean_object*); lean_object* l_Lean_Elab_elabAttr___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandCtor___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__8; lean_object* l_Lean_Meta_inferType___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParamFVar___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabBinders___rarg(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_inferImplicit(lean_object*, lean_object*, uint8_t); @@ -522,7 +532,6 @@ lean_object* l_Lean_Name_appendBefore(lean_object*, lean_object*); extern lean_object* l_Lean_mkOptionalNode___closed__2; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_updateResultingUniverse___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_updateResultingUniverse___closed__2; -lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__4; lean_object* l___private_Lean_Elab_Structure_0__Lean_Elab_Command_levelMVarToParamFVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_CollectFVars_instInhabitedState___closed__1; lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_elabStructureView___spec__4___closed__1; @@ -4726,7 +4735,7 @@ return x_35; } } } -static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__1() { +static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__1() { _start: { lean_object* x_1; @@ -4734,6 +4743,163 @@ x_1 = lean_mk_string("structExplicitBinder"); return x_1; } } +static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_elabModifiers___rarg___lambda__3___closed__2; +x_2 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__1; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("structImplicitBinder"); +return x_1; +} +} +static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_elabModifiers___rarg___lambda__3___closed__2; +x_2 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__3; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__5() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("structInstBinder"); +return x_1; +} +} +static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Elab_elabModifiers___rarg___lambda__3___closed__2; +x_2 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__5; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__7() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("unexpected kind of structure field"); +return x_1; +} +} +static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__8() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__7; +x_2 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__8; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___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) { +_start: +{ +lean_object* x_9; lean_object* x_10; uint8_t x_11; +lean_inc(x_4); +x_9 = l_Lean_Syntax_getKind(x_4); +x_10 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__2; +x_11 = lean_name_eq(x_9, x_10); +if (x_11 == 0) +{ +lean_object* x_12; uint8_t x_13; +x_12 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__4; +x_13 = lean_name_eq(x_9, x_12); +if (x_13 == 0) +{ +lean_object* x_14; uint8_t x_15; +x_14 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__6; +x_15 = lean_name_eq(x_9, x_14); +lean_dec(x_9); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; uint8_t x_18; +lean_dec(x_4); +lean_dec(x_1); +x_16 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__9; +x_17 = l_Lean_throwError___at_Lean_Elab_Command_elabEnd___spec__1(x_16, lean_box(0), x_6, x_7, x_8); +x_18 = !lean_is_exclusive(x_17); +if (x_18 == 0) +{ +return x_17; +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_17, 0); +x_20 = lean_ctor_get(x_17, 1); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_17); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_20); +return x_21; +} +} +else +{ +uint8_t x_22; lean_object* x_23; +x_22 = 3; +x_23 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__3(x_4, x_1, x_2, x_3, x_22, x_6, x_7, x_8); +lean_dec(x_4); +return x_23; +} +} +else +{ +uint8_t x_24; lean_object* x_25; +lean_dec(x_9); +x_24 = 1; +x_25 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__3(x_4, x_1, x_2, x_3, x_24, x_6, x_7, x_8); +lean_dec(x_4); +return x_25; +} +} +else +{ +uint8_t x_26; lean_object* x_27; +lean_dec(x_9); +x_26 = 0; +x_27 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__3(x_4, x_1, x_2, x_3, x_26, x_6, x_7, x_8); +lean_dec(x_4); +return x_27; +} +} +} +static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("structSimpleBinder"); +return x_1; +} +} static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__2() { _start: { @@ -4747,64 +4913,9 @@ return x_3; static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__3() { _start: { -lean_object* x_1; -x_1 = lean_mk_string("structImplicitBinder"); -return x_1; -} -} -static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_elabModifiers___rarg___lambda__3___closed__2; -x_2 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__3; -x_3 = lean_name_mk_string(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__5() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("structInstBinder"); -return x_1; -} -} -static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__6() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_elabModifiers___rarg___lambda__3___closed__2; -x_2 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__5; -x_3 = lean_name_mk_string(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__7() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("unexpected kind of structure field"); -return x_1; -} -} -static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__8() { -_start: -{ lean_object* x_1; lean_object* x_2; -x_1 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__7; -x_2 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__9() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__8; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); +x_1 = lean_unsigned_to_nat(7u); +x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } @@ -4815,42 +4926,43 @@ uint8_t x_10; x_10 = x_4 == x_5; if (x_10 == 0) { -lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; uint8_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_70; +lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; uint8_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_73; x_11 = lean_array_uget(x_3, x_4); lean_inc(x_11); x_12 = l_Lean_Syntax_getKind(x_11); x_13 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__2; x_14 = lean_name_eq(x_12, x_13); -x_70 = l_Lean_Elab_Command_getRef(x_7, x_8, x_9); +lean_dec(x_12); +x_73 = l_Lean_Elab_Command_getRef(x_7, x_8, x_9); if (x_14 == 0) { -lean_object* x_71; lean_object* x_72; uint8_t x_73; -x_71 = lean_ctor_get(x_70, 0); -lean_inc(x_71); -x_72 = lean_ctor_get(x_70, 1); -lean_inc(x_72); -lean_dec(x_70); -x_73 = 0; -x_15 = x_73; -x_16 = x_71; -x_17 = x_72; -goto block_69; -} -else -{ lean_object* x_74; lean_object* x_75; uint8_t x_76; -x_74 = lean_ctor_get(x_70, 0); +x_74 = lean_ctor_get(x_73, 0); lean_inc(x_74); -x_75 = lean_ctor_get(x_70, 1); +x_75 = lean_ctor_get(x_73, 1); lean_inc(x_75); -lean_dec(x_70); -x_76 = 1; +lean_dec(x_73); +x_76 = 0; x_15 = x_76; x_16 = x_74; x_17 = x_75; -goto block_69; +goto block_72; } -block_69: +else +{ +lean_object* x_77; lean_object* x_78; uint8_t x_79; +x_77 = lean_ctor_get(x_73, 0); +lean_inc(x_77); +x_78 = lean_ctor_get(x_73, 1); +lean_inc(x_78); +lean_dec(x_73); +x_79 = 1; +x_15 = x_79; +x_16 = x_77; +x_17 = x_78; +goto block_72; +} +block_72: { lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; x_18 = l_Lean_replaceRef(x_11, x_16); @@ -4877,174 +4989,114 @@ lean_ctor_set(x_25, 5, x_24); lean_ctor_set(x_25, 6, x_18); if (x_15 == 0) { -lean_object* x_26; uint8_t x_27; -x_26 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__4; -x_27 = lean_name_eq(x_12, x_26); -if (x_27 == 0) +lean_object* x_26; lean_object* x_27; +x_26 = lean_box(0); +x_27 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4(x_6, x_2, x_1, x_11, x_26, x_25, x_8, x_17); +if (lean_obj_tag(x_27) == 0) { -lean_object* x_28; uint8_t x_29; -x_28 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__6; -x_29 = lean_name_eq(x_12, x_28); -lean_dec(x_12); -if (x_29 == 0) -{ -lean_object* x_30; lean_object* x_31; uint8_t x_32; -lean_dec(x_11); -lean_dec(x_6); -x_30 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__9; -x_31 = l_Lean_throwError___at___private_Lean_Elab_Command_0__Lean_Elab_Command_elabCommandUsing___spec__1(x_30, lean_box(0), x_25, x_8, x_17); -x_32 = !lean_is_exclusive(x_31); -if (x_32 == 0) -{ -return x_31; +lean_object* x_28; lean_object* x_29; size_t x_30; size_t x_31; +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +x_30 = 1; +x_31 = x_4 + x_30; +x_4 = x_31; +x_6 = x_28; +x_9 = x_29; +goto _start; } else { -lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_33 = lean_ctor_get(x_31, 0); -x_34 = lean_ctor_get(x_31, 1); +uint8_t x_33; +x_33 = !lean_is_exclusive(x_27); +if (x_33 == 0) +{ +return x_27; +} +else +{ +lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_34 = lean_ctor_get(x_27, 0); +x_35 = lean_ctor_get(x_27, 1); +lean_inc(x_35); lean_inc(x_34); -lean_inc(x_33); -lean_dec(x_31); -x_35 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_35, 0, x_33); -lean_ctor_set(x_35, 1, x_34); -return x_35; +lean_dec(x_27); +x_36 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_36, 0, x_34); +lean_ctor_set(x_36, 1, x_35); +return x_36; +} } } else { -uint8_t x_36; lean_object* x_37; -x_36 = 3; -x_37 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__3(x_11, x_6, x_2, x_1, x_36, x_25, x_8, x_17); +lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; +x_37 = lean_unsigned_to_nat(0u); +x_38 = l_Lean_Syntax_getArg(x_11, x_37); +x_39 = l_myMacro____x40_Init_Notation___hyg_5739____closed__9; +x_40 = l_Lean_mkAtomFrom(x_11, x_39); +x_41 = lean_unsigned_to_nat(1u); +x_42 = l_Lean_Syntax_getArg(x_11, x_41); +x_43 = lean_unsigned_to_nat(2u); +x_44 = l_Lean_Syntax_getArg(x_11, x_43); +x_45 = lean_unsigned_to_nat(3u); +x_46 = l_Lean_Syntax_getArg(x_11, x_45); +x_47 = lean_unsigned_to_nat(4u); +x_48 = l_Lean_Syntax_getArg(x_11, x_47); +x_49 = l_myMacro____x40_Init_Notation___hyg_5739____closed__21; +x_50 = l_Lean_mkAtomFrom(x_11, x_49); lean_dec(x_11); -if (lean_obj_tag(x_37) == 0) +x_51 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__3; +x_52 = lean_array_push(x_51, x_38); +x_53 = lean_array_push(x_52, x_40); +x_54 = lean_array_push(x_53, x_42); +x_55 = lean_array_push(x_54, x_44); +x_56 = lean_array_push(x_55, x_46); +x_57 = lean_array_push(x_56, x_48); +x_58 = lean_array_push(x_57, x_50); +x_59 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__2; +x_60 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_60, 0, x_59); +lean_ctor_set(x_60, 1, x_58); +x_61 = lean_box(0); +x_62 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4(x_6, x_2, x_1, x_60, x_61, x_25, x_8, x_17); +if (lean_obj_tag(x_62) == 0) { -lean_object* x_38; lean_object* x_39; size_t x_40; size_t x_41; -x_38 = lean_ctor_get(x_37, 0); -lean_inc(x_38); -x_39 = lean_ctor_get(x_37, 1); -lean_inc(x_39); -lean_dec(x_37); -x_40 = 1; -x_41 = x_4 + x_40; -x_4 = x_41; -x_6 = x_38; -x_9 = x_39; +lean_object* x_63; lean_object* x_64; size_t x_65; size_t x_66; +x_63 = lean_ctor_get(x_62, 0); +lean_inc(x_63); +x_64 = lean_ctor_get(x_62, 1); +lean_inc(x_64); +lean_dec(x_62); +x_65 = 1; +x_66 = x_4 + x_65; +x_4 = x_66; +x_6 = x_63; +x_9 = x_64; goto _start; } else { -uint8_t x_43; -x_43 = !lean_is_exclusive(x_37); -if (x_43 == 0) +uint8_t x_68; +x_68 = !lean_is_exclusive(x_62); +if (x_68 == 0) { -return x_37; +return x_62; } else { -lean_object* x_44; lean_object* x_45; lean_object* x_46; -x_44 = lean_ctor_get(x_37, 0); -x_45 = lean_ctor_get(x_37, 1); -lean_inc(x_45); -lean_inc(x_44); -lean_dec(x_37); -x_46 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_46, 0, x_44); -lean_ctor_set(x_46, 1, x_45); -return x_46; -} -} -} -} -else -{ -uint8_t x_47; lean_object* x_48; -lean_dec(x_12); -x_47 = 1; -x_48 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__3(x_11, x_6, x_2, x_1, x_47, x_25, x_8, x_17); -lean_dec(x_11); -if (lean_obj_tag(x_48) == 0) -{ -lean_object* x_49; lean_object* x_50; size_t x_51; size_t x_52; -x_49 = lean_ctor_get(x_48, 0); -lean_inc(x_49); -x_50 = lean_ctor_get(x_48, 1); -lean_inc(x_50); -lean_dec(x_48); -x_51 = 1; -x_52 = x_4 + x_51; -x_4 = x_52; -x_6 = x_49; -x_9 = x_50; -goto _start; -} -else -{ -uint8_t x_54; -x_54 = !lean_is_exclusive(x_48); -if (x_54 == 0) -{ -return x_48; -} -else -{ -lean_object* x_55; lean_object* x_56; lean_object* x_57; -x_55 = lean_ctor_get(x_48, 0); -x_56 = lean_ctor_get(x_48, 1); -lean_inc(x_56); -lean_inc(x_55); -lean_dec(x_48); -x_57 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_57, 0, x_55); -lean_ctor_set(x_57, 1, x_56); -return x_57; -} -} -} -} -else -{ -uint8_t x_58; lean_object* x_59; -lean_dec(x_12); -x_58 = 0; -x_59 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__3(x_11, x_6, x_2, x_1, x_58, x_25, x_8, x_17); -lean_dec(x_11); -if (lean_obj_tag(x_59) == 0) -{ -lean_object* x_60; lean_object* x_61; size_t x_62; size_t x_63; -x_60 = lean_ctor_get(x_59, 0); -lean_inc(x_60); -x_61 = lean_ctor_get(x_59, 1); -lean_inc(x_61); -lean_dec(x_59); -x_62 = 1; -x_63 = x_4 + x_62; -x_4 = x_63; -x_6 = x_60; -x_9 = x_61; -goto _start; -} -else -{ -uint8_t x_65; -x_65 = !lean_is_exclusive(x_59); -if (x_65 == 0) -{ -return x_59; -} -else -{ -lean_object* x_66; lean_object* x_67; lean_object* x_68; -x_66 = lean_ctor_get(x_59, 0); -x_67 = lean_ctor_get(x_59, 1); -lean_inc(x_67); -lean_inc(x_66); -lean_dec(x_59); -x_68 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_68, 0, x_66); -lean_ctor_set(x_68, 1, x_67); -return x_68; +lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_69 = lean_ctor_get(x_62, 0); +x_70 = lean_ctor_get(x_62, 1); +lean_inc(x_70); +lean_inc(x_69); +lean_dec(x_62); +x_71 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_70); +return x_71; } } } @@ -5052,11 +5104,11 @@ return x_68; } else { -lean_object* x_77; -x_77 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_77, 0, x_6); -lean_ctor_set(x_77, 1, x_9); -return x_77; +lean_object* x_80; +x_80 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_80, 0, x_6); +lean_ctor_set(x_80, 1, x_9); +return x_80; } } } @@ -5067,42 +5119,43 @@ uint8_t x_10; x_10 = x_4 == x_5; if (x_10 == 0) { -lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; uint8_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_70; +lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; uint8_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_73; x_11 = lean_array_uget(x_3, x_4); lean_inc(x_11); x_12 = l_Lean_Syntax_getKind(x_11); x_13 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__2; x_14 = lean_name_eq(x_12, x_13); -x_70 = l_Lean_Elab_Command_getRef(x_7, x_8, x_9); +lean_dec(x_12); +x_73 = l_Lean_Elab_Command_getRef(x_7, x_8, x_9); if (x_14 == 0) { -lean_object* x_71; lean_object* x_72; uint8_t x_73; -x_71 = lean_ctor_get(x_70, 0); -lean_inc(x_71); -x_72 = lean_ctor_get(x_70, 1); -lean_inc(x_72); -lean_dec(x_70); -x_73 = 0; -x_15 = x_73; -x_16 = x_71; -x_17 = x_72; -goto block_69; -} -else -{ lean_object* x_74; lean_object* x_75; uint8_t x_76; -x_74 = lean_ctor_get(x_70, 0); +x_74 = lean_ctor_get(x_73, 0); lean_inc(x_74); -x_75 = lean_ctor_get(x_70, 1); +x_75 = lean_ctor_get(x_73, 1); lean_inc(x_75); -lean_dec(x_70); -x_76 = 1; +lean_dec(x_73); +x_76 = 0; x_15 = x_76; x_16 = x_74; x_17 = x_75; -goto block_69; +goto block_72; } -block_69: +else +{ +lean_object* x_77; lean_object* x_78; uint8_t x_79; +x_77 = lean_ctor_get(x_73, 0); +lean_inc(x_77); +x_78 = lean_ctor_get(x_73, 1); +lean_inc(x_78); +lean_dec(x_73); +x_79 = 1; +x_15 = x_79; +x_16 = x_77; +x_17 = x_78; +goto block_72; +} +block_72: { lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; x_18 = l_Lean_replaceRef(x_11, x_16); @@ -5129,174 +5182,114 @@ lean_ctor_set(x_25, 5, x_24); lean_ctor_set(x_25, 6, x_18); if (x_15 == 0) { -lean_object* x_26; uint8_t x_27; -x_26 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__4; -x_27 = lean_name_eq(x_12, x_26); -if (x_27 == 0) +lean_object* x_26; lean_object* x_27; +x_26 = lean_box(0); +x_27 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4(x_6, x_2, x_1, x_11, x_26, x_25, x_8, x_17); +if (lean_obj_tag(x_27) == 0) { -lean_object* x_28; uint8_t x_29; -x_28 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__6; -x_29 = lean_name_eq(x_12, x_28); -lean_dec(x_12); -if (x_29 == 0) -{ -lean_object* x_30; lean_object* x_31; uint8_t x_32; -lean_dec(x_11); -lean_dec(x_6); -x_30 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__9; -x_31 = l_Lean_throwError___at___private_Lean_Elab_Command_0__Lean_Elab_Command_elabCommandUsing___spec__1(x_30, lean_box(0), x_25, x_8, x_17); -x_32 = !lean_is_exclusive(x_31); -if (x_32 == 0) -{ -return x_31; +lean_object* x_28; lean_object* x_29; size_t x_30; size_t x_31; +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +x_30 = 1; +x_31 = x_4 + x_30; +x_4 = x_31; +x_6 = x_28; +x_9 = x_29; +goto _start; } else { -lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_33 = lean_ctor_get(x_31, 0); -x_34 = lean_ctor_get(x_31, 1); +uint8_t x_33; +x_33 = !lean_is_exclusive(x_27); +if (x_33 == 0) +{ +return x_27; +} +else +{ +lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_34 = lean_ctor_get(x_27, 0); +x_35 = lean_ctor_get(x_27, 1); +lean_inc(x_35); lean_inc(x_34); -lean_inc(x_33); -lean_dec(x_31); -x_35 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_35, 0, x_33); -lean_ctor_set(x_35, 1, x_34); -return x_35; +lean_dec(x_27); +x_36 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_36, 0, x_34); +lean_ctor_set(x_36, 1, x_35); +return x_36; +} } } else { -uint8_t x_36; lean_object* x_37; -x_36 = 3; -x_37 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__3(x_11, x_6, x_2, x_1, x_36, x_25, x_8, x_17); +lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; +x_37 = lean_unsigned_to_nat(0u); +x_38 = l_Lean_Syntax_getArg(x_11, x_37); +x_39 = l_myMacro____x40_Init_Notation___hyg_5739____closed__9; +x_40 = l_Lean_mkAtomFrom(x_11, x_39); +x_41 = lean_unsigned_to_nat(1u); +x_42 = l_Lean_Syntax_getArg(x_11, x_41); +x_43 = lean_unsigned_to_nat(2u); +x_44 = l_Lean_Syntax_getArg(x_11, x_43); +x_45 = lean_unsigned_to_nat(3u); +x_46 = l_Lean_Syntax_getArg(x_11, x_45); +x_47 = lean_unsigned_to_nat(4u); +x_48 = l_Lean_Syntax_getArg(x_11, x_47); +x_49 = l_myMacro____x40_Init_Notation___hyg_5739____closed__21; +x_50 = l_Lean_mkAtomFrom(x_11, x_49); lean_dec(x_11); -if (lean_obj_tag(x_37) == 0) +x_51 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__3; +x_52 = lean_array_push(x_51, x_38); +x_53 = lean_array_push(x_52, x_40); +x_54 = lean_array_push(x_53, x_42); +x_55 = lean_array_push(x_54, x_44); +x_56 = lean_array_push(x_55, x_46); +x_57 = lean_array_push(x_56, x_48); +x_58 = lean_array_push(x_57, x_50); +x_59 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__2; +x_60 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_60, 0, x_59); +lean_ctor_set(x_60, 1, x_58); +x_61 = lean_box(0); +x_62 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4(x_6, x_2, x_1, x_60, x_61, x_25, x_8, x_17); +if (lean_obj_tag(x_62) == 0) { -lean_object* x_38; lean_object* x_39; size_t x_40; size_t x_41; -x_38 = lean_ctor_get(x_37, 0); -lean_inc(x_38); -x_39 = lean_ctor_get(x_37, 1); -lean_inc(x_39); -lean_dec(x_37); -x_40 = 1; -x_41 = x_4 + x_40; -x_4 = x_41; -x_6 = x_38; -x_9 = x_39; +lean_object* x_63; lean_object* x_64; size_t x_65; size_t x_66; +x_63 = lean_ctor_get(x_62, 0); +lean_inc(x_63); +x_64 = lean_ctor_get(x_62, 1); +lean_inc(x_64); +lean_dec(x_62); +x_65 = 1; +x_66 = x_4 + x_65; +x_4 = x_66; +x_6 = x_63; +x_9 = x_64; goto _start; } else { -uint8_t x_43; -x_43 = !lean_is_exclusive(x_37); -if (x_43 == 0) +uint8_t x_68; +x_68 = !lean_is_exclusive(x_62); +if (x_68 == 0) { -return x_37; +return x_62; } else { -lean_object* x_44; lean_object* x_45; lean_object* x_46; -x_44 = lean_ctor_get(x_37, 0); -x_45 = lean_ctor_get(x_37, 1); -lean_inc(x_45); -lean_inc(x_44); -lean_dec(x_37); -x_46 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_46, 0, x_44); -lean_ctor_set(x_46, 1, x_45); -return x_46; -} -} -} -} -else -{ -uint8_t x_47; lean_object* x_48; -lean_dec(x_12); -x_47 = 1; -x_48 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__3(x_11, x_6, x_2, x_1, x_47, x_25, x_8, x_17); -lean_dec(x_11); -if (lean_obj_tag(x_48) == 0) -{ -lean_object* x_49; lean_object* x_50; size_t x_51; size_t x_52; -x_49 = lean_ctor_get(x_48, 0); -lean_inc(x_49); -x_50 = lean_ctor_get(x_48, 1); -lean_inc(x_50); -lean_dec(x_48); -x_51 = 1; -x_52 = x_4 + x_51; -x_4 = x_52; -x_6 = x_49; -x_9 = x_50; -goto _start; -} -else -{ -uint8_t x_54; -x_54 = !lean_is_exclusive(x_48); -if (x_54 == 0) -{ -return x_48; -} -else -{ -lean_object* x_55; lean_object* x_56; lean_object* x_57; -x_55 = lean_ctor_get(x_48, 0); -x_56 = lean_ctor_get(x_48, 1); -lean_inc(x_56); -lean_inc(x_55); -lean_dec(x_48); -x_57 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_57, 0, x_55); -lean_ctor_set(x_57, 1, x_56); -return x_57; -} -} -} -} -else -{ -uint8_t x_58; lean_object* x_59; -lean_dec(x_12); -x_58 = 0; -x_59 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__3(x_11, x_6, x_2, x_1, x_58, x_25, x_8, x_17); -lean_dec(x_11); -if (lean_obj_tag(x_59) == 0) -{ -lean_object* x_60; lean_object* x_61; size_t x_62; size_t x_63; -x_60 = lean_ctor_get(x_59, 0); -lean_inc(x_60); -x_61 = lean_ctor_get(x_59, 1); -lean_inc(x_61); -lean_dec(x_59); -x_62 = 1; -x_63 = x_4 + x_62; -x_4 = x_63; -x_6 = x_60; -x_9 = x_61; -goto _start; -} -else -{ -uint8_t x_65; -x_65 = !lean_is_exclusive(x_59); -if (x_65 == 0) -{ -return x_59; -} -else -{ -lean_object* x_66; lean_object* x_67; lean_object* x_68; -x_66 = lean_ctor_get(x_59, 0); -x_67 = lean_ctor_get(x_59, 1); -lean_inc(x_67); -lean_inc(x_66); -lean_dec(x_59); -x_68 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_68, 0, x_66); -lean_ctor_set(x_68, 1, x_67); -return x_68; +lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_69 = lean_ctor_get(x_62, 0); +x_70 = lean_ctor_get(x_62, 1); +lean_inc(x_70); +lean_inc(x_69); +lean_dec(x_62); +x_71 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_70); +return x_71; } } } @@ -5304,11 +5297,11 @@ return x_68; } else { -lean_object* x_77; -x_77 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_77, 0, x_6); -lean_ctor_set(x_77, 1, x_9); -return x_77; +lean_object* x_80; +x_80 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_80, 0, x_6); +lean_ctor_set(x_80, 1, x_9); +return x_80; } } } @@ -5619,6 +5612,18 @@ lean_dec(x_1); return x_10; } } +lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +return x_9; +} +} lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { @@ -8654,7 +8659,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___closed__10; x_2 = l___private_Lean_Elab_Structure_0__Lean_Elab_Command_withFields___closed__11; -x_3 = lean_unsigned_to_nat(304u); +x_3 = lean_unsigned_to_nat(309u); x_4 = lean_unsigned_to_nat(37u); x_5 = l_Lean_Syntax_strLitToAtom___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -17068,7 +17073,7 @@ lean_dec(x_4); return x_6; } } -lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Structure___hyg_3506_(lean_object* x_1) { +lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Structure___hyg_3581_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -17177,24 +17182,30 @@ l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Comman lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__3___closed__2); l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__3___closed__3 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__3___closed__3(); lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__3___closed__3); +l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__1 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__1(); +lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__1); +l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__2 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__2(); +lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__2); +l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__3 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__3(); +lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__3); +l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__4 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__4(); +lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__4); +l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__5 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__5(); +lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__5); +l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__6 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__6(); +lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__6); +l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__7 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__7(); +lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__7); +l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__8 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__8(); +lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__8); +l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__9 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__9(); +lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___lambda__4___closed__9); l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__1 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__1(); lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__1); l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__2 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__2(); lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__2); l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__3 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__3(); lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__3); -l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__4 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__4(); -lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__4); -l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__5 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__5(); -lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__5); -l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__6 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__6(); -lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__6); -l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__7 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__7(); -lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__7); -l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__8 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__8(); -lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__8); -l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__9 = _init_l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__9(); -lean_mark_persistent(l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___spec__8___closed__9); l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___closed__1 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___closed__1(); l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___closed__2 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___closed__2(); l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___closed__3 = _init_l___private_Lean_Elab_Structure_0__Lean_Elab_Command_expandFields___closed__3(); @@ -17298,7 +17309,7 @@ l_Lean_Elab_Command_elabStructure___closed__9 = _init_l_Lean_Elab_Command_elabSt lean_mark_persistent(l_Lean_Elab_Command_elabStructure___closed__9); l_Lean_Elab_Command_elabStructure___closed__10 = _init_l_Lean_Elab_Command_elabStructure___closed__10(); lean_mark_persistent(l_Lean_Elab_Command_elabStructure___closed__10); -res = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Structure___hyg_3506_(lean_io_mk_world()); +res = l_Lean_Elab_Command_initFn____x40_Lean_Elab_Structure___hyg_3581_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Elab/Tactic/Induction.c b/stage0/stdlib/Lean/Elab/Tactic/Induction.c index e24f7c7a31..c078a1f037 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Induction.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Induction.c @@ -31,7 +31,7 @@ lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*); lean_object* lean_erase_macro_scopes(lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_evalInduction___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkCasesResult_loop___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438_(lean_object*); +lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4446_(lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts___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_mk_empty_array_with_capacity(lean_object*); @@ -371,7 +371,6 @@ lean_object* l_Lean_Meta_instantiateMVars___at_Lean_Elab_Tactic_evalInduction___ lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_evalCasesUsing___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_ElimApp_mkElimApp_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_evalCasesUsing___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438____closed__1; lean_object* l_Lean_Elab_Tactic_ElimApp_mkElimApp_loop___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault___spec__1___closed__1; lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_getAltNumFields___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -423,6 +422,7 @@ lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_elabTargets___spec__1_ lean_object* l_Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo_match__5(lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecFromUsingLoop_match__2___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Syntax_getNumArgs(lean_object*); extern lean_object* l_Lean_resolveGlobalConstNoOverload___rarg___lambda__1___closed__2; lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfo_match__2___rarg(lean_object*, lean_object*, lean_object*); extern lean_object* l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; @@ -441,11 +441,11 @@ uint8_t lean_nat_dec_le(lean_object*, lean_object*); lean_object* l_Lean_mkApp(lean_object*, lean_object*); lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_getRecFromUsing___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l___private_Lean_Meta_Tactic_Induction_0__Lean_Meta_addRecParams___closed__1; +lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4446____closed__1; lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_generalizeVars___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltName(lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_processResult___closed__5; lean_object* l_Lean_Elab_Tactic_ElimApp_mkElimApp_loop___closed__2; -lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfInductionAlts___boxed(lean_object*); lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Tactic_ElimApp_evalAlts___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getRecInfoDefault___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArgs(lean_object*); @@ -8296,21 +8296,31 @@ return x_12; lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfInductionAlts(lean_object* x_1) { _start: { -lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = lean_unsigned_to_nat(1u); -x_3 = l_Lean_Syntax_getArg(x_1, x_2); -x_4 = l_Lean_Syntax_getSepArgs(x_3); -lean_dec(x_3); -return x_4; -} -} -lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfInductionAlts___boxed(lean_object* x_1) { -_start: +lean_object* x_2; lean_object* x_3; uint8_t x_4; +lean_inc(x_1); +x_2 = l_Lean_Syntax_getNumArgs(x_1); +x_3 = lean_unsigned_to_nat(2u); +x_4 = lean_nat_dec_eq(x_2, x_3); +lean_dec(x_2); +if (x_4 == 0) { -lean_object* x_2; -x_2 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfInductionAlts(x_1); +lean_object* x_5; lean_object* x_6; +x_5 = l_Lean_Syntax_getArg(x_1, x_3); lean_dec(x_1); -return x_2; +x_6 = l_Lean_Syntax_getSepArgs(x_5); +lean_dec(x_5); +return x_6; +} +else +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; +x_7 = lean_unsigned_to_nat(1u); +x_8 = l_Lean_Syntax_getArg(x_1, x_7); +lean_dec(x_1); +x_9 = l_Lean_Syntax_getSepArgs(x_8); +lean_dec(x_8); +return x_9; +} } } lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfOptInductionAlts(lean_object* x_1) { @@ -8324,7 +8334,6 @@ lean_object* x_3; lean_object* x_4; lean_object* x_5; x_3 = lean_unsigned_to_nat(0u); x_4 = l_Lean_Syntax_getArg(x_1, x_3); x_5 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfInductionAlts(x_4); -lean_dec(x_4); return x_5; } else @@ -8653,7 +8662,6 @@ lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; size x_12 = lean_unsigned_to_nat(0u); x_13 = l_Lean_Syntax_getArg(x_1, x_12); x_14 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfInductionAlts(x_13); -lean_dec(x_13); x_15 = lean_array_get_size(x_14); x_16 = lean_usize_of_nat(x_15); lean_dec(x_15); @@ -11908,7 +11916,6 @@ lean_dec(x_15); x_23 = lean_unsigned_to_nat(0u); x_24 = l_Lean_Syntax_getArg(x_2, x_23); x_25 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfInductionAlts(x_24); -lean_dec(x_24); lean_inc(x_10); x_26 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames(x_25, x_22, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_16); if (lean_obj_tag(x_26) == 0) @@ -12114,7 +12121,6 @@ lean_dec(x_60); x_68 = lean_unsigned_to_nat(0u); x_69 = l_Lean_Syntax_getArg(x_2, x_68); x_70 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfInductionAlts(x_69); -lean_dec(x_69); lean_inc(x_10); x_71 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames(x_70, x_67, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_61); if (lean_obj_tag(x_71) == 0) @@ -13221,7 +13227,6 @@ lean_free_object(x_18); x_24 = lean_unsigned_to_nat(0u); x_25 = l_Lean_Syntax_getArg(x_3, x_24); x_26 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfInductionAlts(x_25); -lean_dec(x_25); x_27 = l_Lean_Elab_Tactic_getMainGoal(x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_21); if (lean_obj_tag(x_27) == 0) { @@ -13482,7 +13487,6 @@ lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; x_77 = lean_unsigned_to_nat(0u); x_78 = l_Lean_Syntax_getArg(x_3, x_77); x_79 = l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getAltsOfInductionAlts(x_78); -lean_dec(x_78); x_80 = l_Lean_Elab_Tactic_getMainGoal(x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_74); if (lean_obj_tag(x_80) == 0) { @@ -17277,7 +17281,7 @@ x_15 = l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_elabTargets___spec__1(x_13, return x_15; } } -static lean_object* _init_l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438____closed__1() { +static lean_object* _init_l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4446____closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -17287,11 +17291,11 @@ x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438_(lean_object* x_1) { +lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4446_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438____closed__1; +x_2 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4446____closed__1; x_3 = l_Lean_registerTraceClass(x_2, x_1); return x_3; } @@ -17726,7 +17730,7 @@ lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; x_110 = lean_ctor_get(x_105, 1); lean_inc(x_110); lean_dec(x_105); -x_111 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438____closed__1; +x_111 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4446____closed__1; x_112 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__3(x_111, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_110); x_113 = lean_ctor_get(x_112, 0); lean_inc(x_113); @@ -17851,7 +17855,7 @@ x_66 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__ 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_68 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438____closed__1; +x_68 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4446____closed__1; x_69 = l_Lean_addTrace___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__2(x_68, x_67, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_58); x_70 = lean_ctor_get(x_69, 1); lean_inc(x_70); @@ -17887,7 +17891,7 @@ lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean x_78 = lean_ctor_get(x_73, 1); lean_inc(x_78); lean_dec(x_73); -x_79 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438____closed__1; +x_79 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4446____closed__1; x_80 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__3(x_79, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_78); x_81 = lean_ctor_get(x_80, 0); lean_inc(x_81); @@ -17937,7 +17941,7 @@ x_99 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__ x_100 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_100, 0, x_98); lean_ctor_set(x_100, 1, x_99); -x_101 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438____closed__1; +x_101 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4446____closed__1; x_102 = l_Lean_addTrace___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_checkAltCtorNames___spec__2(x_101, x_100, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_86); x_103 = lean_ctor_get(x_102, 1); lean_inc(x_103); @@ -19198,9 +19202,9 @@ l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_elabTaggedTerm___lamb lean_mark_persistent(l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_elabTaggedTerm___lambda__1___closed__3); l_Lean_Elab_Tactic_elabTargets___boxed__const__1 = _init_l_Lean_Elab_Tactic_elabTargets___boxed__const__1(); lean_mark_persistent(l_Lean_Elab_Tactic_elabTargets___boxed__const__1); -l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438____closed__1 = _init_l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438____closed__1(); -lean_mark_persistent(l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438____closed__1); -res = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4438_(lean_io_mk_world()); +l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4446____closed__1 = _init_l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4446____closed__1(); +lean_mark_persistent(l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4446____closed__1); +res = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Induction___hyg_4446_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_Elab_Tactic_evalCasesOn___closed__1 = _init_l_Lean_Elab_Tactic_evalCasesOn___closed__1(); diff --git a/stage0/stdlib/Lean/Exception.c b/stage0/stdlib/Lean/Exception.c index 66c41c018c..2c0651ec73 100644 --- a/stage0/stdlib/Lean/Exception.c +++ b/stage0/stdlib/Lean/Exception.c @@ -87,6 +87,7 @@ lean_object* l_Lean_throwError_match__1(lean_object*); lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_643____closed__5; lean_object* l_Lean_myMacro____x40_Lean_Exception___hyg_698____closed__4; lean_object* l_Lean_throwUnknownConstant___rarg___closed__3; +extern lean_object* l___kind_term____x40_Init_System_IO___hyg_2535____closed__9; lean_object* l_Lean_throwErrorAt___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_instMonadRecDepthReaderT(lean_object*, lean_object*); lean_object* l_Lean_Exception_toMessageData_match__1(lean_object*); @@ -101,7 +102,6 @@ lean_object* l_Lean_myMacro____x40_Lean_Exception___hyg_698____closed__1; lean_object* l_Lean___kind_term____x40_Lean_Exception___hyg_643____closed__3; lean_object* l_Lean_throwError(lean_object*); lean_object* l_Lean_instInhabitedException; -extern lean_object* l___kind_term____x40_Init_System_IO___hyg_2521____closed__9; lean_object* l_Lean_myMacro____x40_Lean_Exception___hyg_698____closed__2; lean_object* l_Lean_withIncRecDepth(lean_object*); lean_object* l_Lean_Syntax_getArgs(lean_object*); @@ -931,7 +931,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l___kind_term____x40_Init_Notation___hyg_3____closed__13; x_2 = l_Lean___kind_term____x40_Lean_Exception___hyg_595____closed__6; -x_3 = l___kind_term____x40_Init_System_IO___hyg_2521____closed__9; +x_3 = l___kind_term____x40_Init_System_IO___hyg_2535____closed__9; x_4 = lean_alloc_ctor(2, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -1009,7 +1009,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l___kind_term____x40_Init_Notation___hyg_3____closed__13; x_2 = l_Lean___kind_term____x40_Lean_Exception___hyg_643____closed__4; -x_3 = l___kind_term____x40_Init_System_IO___hyg_2521____closed__9; +x_3 = l___kind_term____x40_Init_System_IO___hyg_2535____closed__9; x_4 = lean_alloc_ctor(2, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); diff --git a/stage0/stdlib/Lean/Expr.c b/stage0/stdlib/Lean/Expr.c index 58378671f4..23bbfed028 100644 --- a/stage0/stdlib/Lean/Expr.c +++ b/stage0/stdlib/Lean/Expr.c @@ -169,6 +169,7 @@ lean_object* l_Lean_Expr_isLet_match__1(lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); lean_object* lean_expr_lift_loose_bvars(lean_object*, lean_object*, lean_object*); +extern lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__16; uint8_t lean_expr_has_level_mvar(lean_object*); lean_object* l_Lean_Expr_updateProj_x21_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ExprStructEq_instBEqExprStructEq___closed__1; @@ -668,7 +669,6 @@ lean_object* l_Lean_Expr_mkData___boxed(lean_object*, lean_object*, lean_object* lean_object* l_Lean_ExprStructEq_instToStringExprStructEq(lean_object*); lean_object* l_Lean_Expr_isProp_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_BinderInfo_isExplicit___boxed(lean_object*); -extern lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__16; uint64_t l_Lean_Expr_mkData___closed__1; lean_object* l_List_foldr___at_Lean_mkConst___spec__2___boxed(lean_object*, lean_object*); lean_object* l_Lean_Expr_hashEx___boxed(lean_object*); @@ -5471,7 +5471,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__16; +x_2 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__16; x_3 = l_Lean_mkConst(x_2, x_1); return x_3; } diff --git a/stage0/stdlib/Lean/KeyedDeclsAttribute.c b/stage0/stdlib/Lean/KeyedDeclsAttribute.c index f21a8ccf7e..fb34b6515c 100644 --- a/stage0/stdlib/Lean/KeyedDeclsAttribute.c +++ b/stage0/stdlib/Lean/KeyedDeclsAttribute.c @@ -67,6 +67,7 @@ lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); lean_object* l_Std_PersistentHashMap_getCollisionNodeSize___rarg(lean_object*); lean_object* lean_string_append(lean_object*, lean_object*); +extern lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__16; lean_object* l_Std_HashMapImp_find_x3f___at_Lean_KeyedDeclsAttribute_getValues___spec__7___rarg___boxed(lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_registerTagAttribute___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_AssocList_find_x3f___at_Lean_KeyedDeclsAttribute_Table_insert___spec__8___rarg(lean_object*, lean_object*); @@ -112,7 +113,6 @@ lean_object* l___private_Lean_KeyedDeclsAttribute_0__Lean_KeyedDeclsAttribute_mk lean_object* l_Lean_KeyedDeclsAttribute_Def_evalKey___default___rarg___closed__1; extern lean_object* l_Std_PersistentHashMap_insertAux___rarg___closed__3; lean_object* l_Lean_KeyedDeclsAttribute_ExtensionState_table___default___closed__1; -extern lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__4; lean_object* l___private_Lean_KeyedDeclsAttribute_0__Lean_KeyedDeclsAttribute_addImported_match__1(lean_object*, lean_object*); lean_object* l_Std_mkHashMap___at_Lean_KeyedDeclsAttribute_init___spec__1___rarg(lean_object*); lean_object* l_Lean_KeyedDeclsAttribute_declareBuiltin___rarg___closed__6; @@ -235,6 +235,7 @@ extern lean_object* l_Lean_regularInitAttr; lean_object* l_Lean_KeyedDeclsAttribute_init_match__1___rarg(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedPersistentEnvExtension___closed__5; lean_object* l_Lean_KeyedDeclsAttribute_declareBuiltin___rarg___closed__11; +extern lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__4; lean_object* l_Lean_SMap_find_x3f___at_Lean_KeyedDeclsAttribute_getValues___spec__1(lean_object*); lean_object* lean_nat_mul(lean_object*, lean_object*); lean_object* l_Lean_KeyedDeclsAttribute_init___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -265,7 +266,6 @@ lean_object* l_Std_HashMapImp_moveEntries___at_Lean_KeyedDeclsAttribute_Table_in lean_object* l_Std_PersistentHashMap_findAux___at_Lean_KeyedDeclsAttribute_Table_insert___spec__3___rarg___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_KeyedDeclsAttribute_instInhabitedExtensionState___closed__3; lean_object* l_Lean_KeyedDeclsAttribute_init___rarg___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__16; lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_KeyedDeclsAttribute_Table_insert___spec__11___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_KeyedDeclsAttribute_init___rarg___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentHashMap_find_x3f___at_Lean_KeyedDeclsAttribute_Table_insert___spec__2___rarg___boxed(lean_object*, lean_object*); @@ -3866,7 +3866,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__4; +x_2 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__4; x_3 = l_Lean_mkConst(x_2, x_1); return x_3; } @@ -3876,7 +3876,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__16; +x_2 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__16; x_3 = l_Lean_mkConst(x_2, x_1); return x_3; } diff --git a/stage0/stdlib/Lean/Message.c b/stage0/stdlib/Lean/Message.c index 8184c79f9b..be2909748c 100644 --- a/stage0/stdlib/Lean/Message.c +++ b/stage0/stdlib/Lean/Message.c @@ -97,6 +97,7 @@ lean_object* l_Lean_MessageData_instCoeArrayExprMessageData___boxed(lean_object* extern lean_object* l_Lean_formatKVMap___closed__1; lean_object* l_Lean_KernelException_toMessageData_match__2(lean_object*); extern lean_object* l___kind_term____x40_Init_Notation___hyg_3____closed__1; +extern lean_object* l_Applicative_seqRight___default___rarg___closed__1; uint8_t l_Lean_Message_severity___default; lean_object* l_Lean_MessageData_instCoeArrayExprMessageData(lean_object*); size_t l_USize_shiftRight(size_t, size_t); @@ -361,7 +362,6 @@ lean_object* lean_message_pos(lean_object*); uint8_t l_Lean_MessageLog_isEmpty(lean_object*); lean_object* l_Lean_MessageLog_errorsToWarnings_match__1(lean_object*); lean_object* l_Lean_KernelException_toMessageData___closed__26; -extern lean_object* l_instOfNatNat___closed__1; lean_object* l_Lean_Message_getSeverityEx___boxed(lean_object*); lean_object* l_Lean_MessageLog_append___boxed(lean_object*, lean_object*); lean_object* l_Lean_Message_toString(lean_object*, lean_object*); @@ -7168,7 +7168,7 @@ static lean_object* _init_l_Lean_instToMessageDataMessageData() { _start: { lean_object* x_1; -x_1 = l_instOfNatNat___closed__1; +x_1 = l_Applicative_seqRight___default___rarg___closed__1; return x_1; } } diff --git a/stage0/stdlib/Lean/Meta/Match.c b/stage0/stdlib/Lean/Meta/Match.c index 34d5db6d08..3a68c91755 100644 --- a/stage0/stdlib/Lean/Meta/Match.c +++ b/stage0/stdlib/Lean/Meta/Match.c @@ -14,13 +14,13 @@ extern "C" { #endif lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*); -extern lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__2; +extern lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__2; lean_object* l_Lean_initFn____x40_Lean_Meta_Match___hyg_3_(lean_object*); lean_object* l_Lean_initFn____x40_Lean_Meta_Match___hyg_3_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; -x_2 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__2; +x_2 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__2; x_3 = l_Lean_registerTraceClass(x_2, x_1); return x_3; } diff --git a/stage0/stdlib/Lean/Meta/Match/Basic.c b/stage0/stdlib/Lean/Meta/Match/Basic.c new file mode 100644 index 0000000000..6998b3e31b --- /dev/null +++ b/stage0/stdlib/Lean/Meta/Match/Basic.c @@ -0,0 +1,7883 @@ +// Lean compiler output +// Module: Lean.Meta.Match.Basic +// Imports: Init Lean.Meta.Match.MatcherInfo Lean.Meta.Match.CaseArraySizes +#include +#if defined(__clang__) +#pragma clang diagnostic ignored "-Wunused-parameter" +#pragma clang diagnostic ignored "-Wunused-label" +#elif defined(__GNUC__) && !defined(__CLANG__) +#pragma GCC diagnostic ignored "-Wunused-parameter" +#pragma GCC diagnostic ignored "-Wunused-label" +#pragma GCC diagnostic ignored "-Wunused-but-set-variable" +#endif +#ifdef __cplusplus +extern "C" { +#endif +lean_object* l_List_reverse___rarg(lean_object*); +lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withExistingLocalDeclsImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Example_applyFVarSubst_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Example_applyFVarSubst(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_toExpr_visit___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_toExpr_visit___closed__2; +lean_object* l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__2___boxed(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__7; +lean_object* l_List_map___at_Lean_Meta_Match_Example_toMessageData___spec__2(lean_object*); +lean_object* l_List_foldl___at_Lean_Meta_Match_Pattern_toMessageData___spec__1(lean_object*, lean_object*); +lean_object* l_Lean_stringToMessageData(lean_object*); +lean_object* lean_mk_empty_array_with_capacity(lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_hasExprMVar___boxed(lean_object*); +extern lean_object* l_addParenHeuristic___closed__2; +lean_object* lean_name_mk_string(lean_object*, lean_object*); +extern lean_object* l_Lean_MessageData_ofList___closed__3; +lean_object* l_Lean_Meta_Match_Pattern_toExpr_visit_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2___boxed(lean_object*, lean_object*); +lean_object* l_List_map___at_Lean_Meta_Match_Example_varsToUnderscore___spec__1(lean_object*); +extern lean_object* l_Lean_instToFormatArray___rarg___closed__1; +lean_object* l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1(lean_object*); +lean_object* l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_filterAux___at_Lean_Meta_Match_Alt_replaceFVarId___spec__1(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst_match__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__4; +lean_object* l_List_append___rarg(lean_object*, lean_object*); +uint8_t lean_name_eq(lean_object*, lean_object*); +lean_object* l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__1___boxed(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_toMessageData_match__1(lean_object*); +lean_object* l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__2; +lean_object* l_Lean_Meta_Match_Example_toMessageData(lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_hasExprMVar_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_array_push(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__8; +lean_object* l_Lean_Meta_Match_Pattern_toExpr_visit___closed__4; +lean_object* l_Lean_MessageData_ofList(lean_object*); +lean_object* l_Lean_Meta_Match_Example_applyFVarSubst_match__1(lean_object*); +lean_object* l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Std_AssocList_find_x3f___at_Lean_Meta_FVarSubst_find_x3f___spec__1(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Alt_applyFVarSubst___boxed(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Example_replaceFVarId___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__2(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1(lean_object*, lean_object*); +lean_object* l_Lean_MessageData_joinSep(lean_object*, lean_object*); +lean_object* l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__1; +lean_object* l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__2___boxed(lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_instToMessageDataOption___rarg___closed__4; +lean_object* l_Lean_Meta_instantiateMVarsImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__1___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_toExpr_visit___closed__1; +lean_object* l_Lean_Meta_Match_Example_toMessageData_match__1(lean_object*); +lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1___boxed(lean_object*, lean_object*); +lean_object* l_Lean_Meta_isExprDefEqImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_instInhabitedPattern; +extern lean_object* l___kind_term____x40_Init_Notation___hyg_6289____closed__10; +extern lean_object* l_myMacro____x40_Init_Notation___hyg_8168____closed__14; +lean_object* l_Lean_Meta_Match_Alt_instInhabitedAlt___closed__1; +lean_object* l_Lean_mkAppN(lean_object*, lean_object*); +lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_toExpr___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Example_varsToUnderscore_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_instantiatePatternMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__3; +lean_object* l_Lean_Meta_mkAppM___at_Lean_Meta_mkDecideProof___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_instantiatePatternMVars_match__1(lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__5; +lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__9; +lean_object* l_Lean_Meta_Match_Pattern_toMessageData(lean_object*); +lean_object* l_Lean_Meta_Match_Example_varsToUnderscore(lean_object*); +lean_object* l_Lean_Meta_Match_Example_applyFVarSubst_match__2(lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_toExpr_visit(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst___boxed(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_hasExprMVar_match__1(lean_object*); +lean_object* l_Lean_Meta_FVarSubst_apply(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_instInhabitedProblem___closed__1; +lean_object* l_Lean_mkAnnotation(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Example_replaceFVarId_match__1(lean_object*); +lean_object* l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_Lean_Expr_hasExprMVar(lean_object*); +lean_object* l_Lean_replaceRef(lean_object*, lean_object*); +lean_object* l_List_filterAux___at_Lean_Meta_Match_Alt_replaceFVarId___spec__1___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_List_foldl___at_Lean_Meta_Match_Example_toMessageData___spec__1(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Alt_instInhabitedAlt; +lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst_match__3(lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__4; +lean_object* l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_Expr_instInhabitedExpr___closed__1; +lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__8; +extern lean_object* l_Lean_MessageData_nil___closed__1; +lean_object* l_Lean_Meta_Match_Pattern_replaceFVarId(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_withMVarContext___at_Lean_Meta_admit___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_toMessageData_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_map___at_Lean_Meta_Match_examplesToMessageData___spec__1(lean_object*); +lean_object* l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Example_toMessageData_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Alt_toMessageData___closed__2; +lean_object* l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__1(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Example_toMessageData___closed__4; +lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__3; +lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst_match__1(lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst_match__2___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Alt_toMessageData___closed__1; +lean_object* l_Lean_LocalDecl_toExpr(lean_object*); +lean_object* l_Lean_Meta_Match_instantiateAltLHSMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__5; +lean_object* l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__1(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_mkFVar(lean_object*); +extern lean_object* l_Lean_MessageData_arrayExpr_toMessageData___closed__2; +lean_object* l_Lean_replaceFVarIdAtLocalDecl(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_counterExampleToMessageData(lean_object*); +lean_object* l_Lean_Expr_replaceFVarId(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_toExpr_visit___closed__3; +lean_object* l_Lean_LocalDecl_fvarId(lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__1; +lean_object* l_Lean_throwErrorAt___at_Lean_Meta_Match_Alt_checkAndReplaceFVarId___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId_match__1(lean_object*); +lean_object* l_List_map___at_Lean_Meta_Match_counterExamplesToMessageData___spec__1(lean_object*); +lean_object* l_Lean_LocalDecl_type(lean_object*); +lean_object* l_Lean_Meta_instantiateLocalDeclMVars___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Alt_toMessageData___closed__4; +lean_object* l_Lean_Meta_FVarSubst_get(lean_object*, lean_object*); +lean_object* l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__3; +uint8_t l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2(uint8_t, lean_object*); +lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__1___boxed(lean_object*, lean_object*); +extern lean_object* l_Lean_Syntax_mkApp___closed__1; +lean_object* l_Lean_Meta_Match_Example_applyFVarSubst___boxed(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__2; +lean_object* l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_redLength___rarg(lean_object*); +extern lean_object* l_myMacro____x40_Init_Notation___hyg_5739____closed__21; +lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__6; +lean_object* l_List_find_x3f___rarg(lean_object*, lean_object*); +extern lean_object* l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; +lean_object* l_Lean_Meta_Match_Alt_toMessageData(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__7; +lean_object* l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__3(lean_object*, lean_object*, lean_object*); +lean_object* l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__4; +lean_object* l_Lean_Meta_Match_Problem_toMessageData(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_toExpr_visit_match__1(lean_object*); +uint8_t l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__1(lean_object*, lean_object*); +lean_object* l_Lean_Meta_FVarSubst_insert(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Alt_replaceFVarId(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_isExprDefEqGuarded___at_Lean_Meta_Match_Alt_checkAndReplaceFVarId___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_ppGoal_pushPending___closed__1; +lean_object* l_Lean_Meta_mkArrayLit___at___private_Lean_Meta_Match_CaseArraySizes_0__Lean_Meta_introArrayLit_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__2(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Example_applyFVarSubst_match__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_instantiatePatternMVars_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_Lean_Meta_Match_Pattern_hasExprMVar(lean_object*); +lean_object* l_List_map___at_Lean_Meta_Match_Pattern_toMessageData___spec__2(lean_object*); +lean_object* l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__2(lean_object*, lean_object*); +lean_object* l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2___boxed(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Example_varsToUnderscore_match__1(lean_object*); +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*, lean_object*); +lean_object* l_Lean_Meta_Match_Example_replaceFVarId(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_withGoalOf(lean_object*); +extern lean_object* l_myMacro____x40_Init_Notation___hyg_5739____closed__9; +lean_object* l_Lean_Meta_Match_Pattern_instInhabitedPattern___closed__1; +lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__6; +lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_withGoalOf___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__1; +lean_object* l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2(lean_object*, lean_object*); +lean_object* l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2___boxed(lean_object*, lean_object*); +extern lean_object* l_List_map___at_Lean_Meta_DiscrTree_Trie_format___spec__2___rarg___closed__1; +lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3___boxed(lean_object*, lean_object*); +lean_object* l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1___boxed(lean_object*, lean_object*); +lean_object* l_Lean_indentD(lean_object*); +lean_object* l_Lean_throwError___at_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_1022____spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_examplesToMessageData(lean_object*); +lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__9; +lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__8; +lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3(lean_object*, lean_object*); +extern lean_object* l_Lean_Format_paren___closed__3; +lean_object* l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__2(lean_object*); +lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__1; +lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__7; +lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst_match__2(lean_object*); +lean_object* l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__2(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__6; +lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_indentExpr(lean_object*); +lean_object* l_Lean_Meta_Match_instInhabitedProblem; +lean_object* l_List_foldl___at_Lean_Meta_Match_Pattern_toMessageData___spec__1___closed__1; +lean_object* l_Lean_Meta_Match_Example_toMessageData___closed__3; +lean_object* l_Lean_mkConst(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__2; +lean_object* l_Lean_Meta_Match_counterExamplesToMessageData(lean_object*); +lean_object* l_Lean_Meta_Match_Example_toMessageData___closed__1; +lean_object* l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__1___boxed(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__5; +lean_object* l_Lean_Meta_Match_Alt_applyFVarSubst(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__3; +lean_object* l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__2___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_LocalDecl_applyFVarSubst(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Alt_toMessageData___closed__3; +lean_object* l_Lean_Meta_Match_Pattern_toExpr(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Example_replaceFVarId_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__2; +uint8_t l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__1(uint8_t, lean_object*); +lean_object* l_Lean_Meta_Match_Example_toMessageData___closed__2; +static lean_object* _init_l_Lean_Meta_Match_Pattern_instInhabitedPattern___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Expr_instInhabitedExpr___closed__1; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Match_Pattern_instInhabitedPattern() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_Meta_Match_Pattern_instInhabitedPattern___closed__1; +return x_1; +} +} +lean_object* l_Lean_Meta_Match_Pattern_toMessageData_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 0: +{ +lean_object* x_9; lean_object* x_10; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_9 = lean_ctor_get(x_1, 0); +lean_inc(x_9); +lean_dec(x_1); +x_10 = lean_apply_1(x_2, x_9); +return x_10; +} +case 1: +{ +lean_object* x_11; lean_object* x_12; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +x_11 = lean_ctor_get(x_1, 0); +lean_inc(x_11); +lean_dec(x_1); +x_12 = lean_apply_1(x_3, x_11); +return x_12; +} +case 2: +{ +lean_object* x_13; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_3); +lean_dec(x_2); +x_13 = lean_ctor_get(x_1, 3); +lean_inc(x_13); +if (lean_obj_tag(x_13) == 0) +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +lean_dec(x_5); +x_14 = lean_ctor_get(x_1, 0); +lean_inc(x_14); +x_15 = lean_ctor_get(x_1, 1); +lean_inc(x_15); +x_16 = lean_ctor_get(x_1, 2); +lean_inc(x_16); +lean_dec(x_1); +x_17 = lean_apply_3(x_4, x_14, x_15, x_16); +return x_17; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +lean_dec(x_4); +x_18 = lean_ctor_get(x_1, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_1, 1); +lean_inc(x_19); +x_20 = lean_ctor_get(x_1, 2); +lean_inc(x_20); +lean_dec(x_1); +x_21 = lean_apply_4(x_5, x_18, x_19, x_20, x_13); +return x_21; +} +} +case 3: +{ +lean_object* x_22; lean_object* x_23; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_22 = lean_ctor_get(x_1, 0); +lean_inc(x_22); +lean_dec(x_1); +x_23 = lean_apply_1(x_6, x_22); +return x_23; +} +case 4: +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_24 = lean_ctor_get(x_1, 0); +lean_inc(x_24); +x_25 = lean_ctor_get(x_1, 1); +lean_inc(x_25); +lean_dec(x_1); +x_26 = lean_apply_2(x_7, x_24, x_25); +return x_26; +} +default: +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_27 = lean_ctor_get(x_1, 0); +lean_inc(x_27); +x_28 = lean_ctor_get(x_1, 1); +lean_inc(x_28); +lean_dec(x_1); +x_29 = lean_apply_2(x_8, x_27, x_28); +return x_29; +} +} +} +} +lean_object* l_Lean_Meta_Match_Pattern_toMessageData_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Pattern_toMessageData_match__1___rarg), 8, 0); +return x_2; +} +} +static lean_object* _init_l_List_foldl___at_Lean_Meta_Match_Pattern_toMessageData___spec__1___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_ppGoal_pushPending___closed__1; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +lean_object* l_List_foldl___at_Lean_Meta_Match_Pattern_toMessageData___spec__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +return x_1; +} +else +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_3 = lean_ctor_get(x_2, 0); +lean_inc(x_3); +x_4 = lean_ctor_get(x_2, 1); +lean_inc(x_4); +lean_dec(x_2); +x_5 = l_List_foldl___at_Lean_Meta_Match_Pattern_toMessageData___spec__1___closed__1; +x_6 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_6, 0, x_1); +lean_ctor_set(x_6, 1, x_5); +x_7 = l_Lean_Meta_Match_Pattern_toMessageData(x_3); +x_8 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_8, 0, x_6); +lean_ctor_set(x_8, 1, x_7); +x_1 = x_8; +x_2 = x_4; +goto _start; +} +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Pattern_toMessageData___spec__2(lean_object* x_1) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_2; +x_2 = lean_box(0); +return x_2; +} +else +{ +uint8_t x_3; +x_3 = !lean_is_exclusive(x_1); +if (x_3 == 0) +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; +x_4 = lean_ctor_get(x_1, 0); +x_5 = lean_ctor_get(x_1, 1); +x_6 = l_Lean_Meta_Match_Pattern_toMessageData(x_4); +x_7 = l_List_map___at_Lean_Meta_Match_Pattern_toMessageData___spec__2(x_5); +lean_ctor_set(x_1, 1, x_7); +lean_ctor_set(x_1, 0, x_6); +return x_1; +} +else +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_8 = lean_ctor_get(x_1, 0); +x_9 = lean_ctor_get(x_1, 1); +lean_inc(x_9); +lean_inc(x_8); +lean_dec(x_1); +x_10 = l_Lean_Meta_Match_Pattern_toMessageData(x_8); +x_11 = l_List_map___at_Lean_Meta_Match_Pattern_toMessageData___spec__2(x_9); +x_12 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_12, 0, x_10); +lean_ctor_set(x_12, 1, x_11); +return x_12; +} +} +} +} +static lean_object* _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string(".("); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_Match_Pattern_toMessageData___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_myMacro____x40_Init_Notation___hyg_5739____closed__21; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_myMacro____x40_Init_Notation___hyg_5739____closed__9; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_addParenHeuristic___closed__2; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l___kind_term____x40_Init_Notation___hyg_6289____closed__10; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__7() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("@"); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__8() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_Match_Pattern_toMessageData___closed__7; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +lean_object* l_Lean_Meta_Match_Pattern_toMessageData(lean_object* x_1) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 0: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; +x_2 = lean_ctor_get(x_1, 0); +lean_inc(x_2); +lean_dec(x_1); +x_3 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_3, 0, x_2); +x_4 = l_Lean_Meta_Match_Pattern_toMessageData___closed__2; +x_5 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_5, 0, x_4); +lean_ctor_set(x_5, 1, x_3); +x_6 = l_Lean_Meta_Match_Pattern_toMessageData___closed__3; +x_7 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_7, 0, x_5); +lean_ctor_set(x_7, 1, x_6); +return x_7; +} +case 1: +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_8 = lean_ctor_get(x_1, 0); +lean_inc(x_8); +lean_dec(x_1); +x_9 = l_Lean_mkFVar(x_8); +x_10 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_10, 0, x_9); +return x_10; +} +case 2: +{ +lean_object* x_11; +x_11 = lean_ctor_get(x_1, 3); +lean_inc(x_11); +if (lean_obj_tag(x_11) == 0) +{ +lean_object* x_12; lean_object* x_13; +x_12 = lean_ctor_get(x_1, 0); +lean_inc(x_12); +lean_dec(x_1); +x_13 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_13, 0, x_12); +return x_13; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_14 = lean_ctor_get(x_1, 0); +lean_inc(x_14); +lean_dec(x_1); +x_15 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_15, 0, x_14); +x_16 = l_Lean_Meta_Match_Pattern_toMessageData___closed__4; +x_17 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_15); +x_18 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; +x_19 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_19, 0, x_17); +lean_ctor_set(x_19, 1, x_18); +x_20 = l_Lean_MessageData_nil___closed__1; +x_21 = l_List_foldl___at_Lean_Meta_Match_Pattern_toMessageData___spec__1(x_20, x_11); +x_22 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_22, 0, x_19); +lean_ctor_set(x_22, 1, x_21); +x_23 = l_Lean_Meta_Match_Pattern_toMessageData___closed__3; +x_24 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +return x_24; +} +} +case 3: +{ +lean_object* x_25; lean_object* x_26; +x_25 = lean_ctor_get(x_1, 0); +lean_inc(x_25); +lean_dec(x_1); +x_26 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_26, 0, x_25); +return x_26; +} +case 4: +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_27 = lean_ctor_get(x_1, 1); +lean_inc(x_27); +lean_dec(x_1); +x_28 = l_List_map___at_Lean_Meta_Match_Pattern_toMessageData___spec__2(x_27); +x_29 = l_Lean_MessageData_arrayExpr_toMessageData___closed__2; +x_30 = l_Lean_MessageData_joinSep(x_28, x_29); +lean_dec(x_28); +x_31 = l_Lean_Meta_Match_Pattern_toMessageData___closed__5; +x_32 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_32, 0, x_31); +lean_ctor_set(x_32, 1, x_30); +x_33 = l_Lean_Meta_Match_Pattern_toMessageData___closed__6; +x_34 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; +} +default: +{ +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_35 = lean_ctor_get(x_1, 0); +lean_inc(x_35); +x_36 = lean_ctor_get(x_1, 1); +lean_inc(x_36); +lean_dec(x_1); +x_37 = l_Lean_mkFVar(x_35); +x_38 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_38, 0, x_37); +x_39 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; +x_40 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +x_41 = l_Lean_Meta_Match_Pattern_toMessageData___closed__8; +x_42 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_42, 0, x_40); +lean_ctor_set(x_42, 1, x_41); +x_43 = l_Lean_Meta_Match_Pattern_toMessageData(x_36); +x_44 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_44, 0, x_42); +lean_ctor_set(x_44, 1, x_43); +x_45 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_45, 0, x_44); +lean_ctor_set(x_45, 1, x_39); +return x_45; +} +} +} +} +lean_object* l_Lean_Meta_Match_Pattern_toExpr_visit_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 0: +{ +lean_object* x_8; lean_object* x_9; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_8 = lean_ctor_get(x_1, 0); +lean_inc(x_8); +lean_dec(x_1); +x_9 = lean_apply_1(x_2, x_8); +return x_9; +} +case 1: +{ +lean_object* x_10; lean_object* x_11; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +x_10 = lean_ctor_get(x_1, 0); +lean_inc(x_10); +lean_dec(x_1); +x_11 = lean_apply_1(x_3, x_10); +return x_11; +} +case 2: +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_12 = lean_ctor_get(x_1, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_1, 1); +lean_inc(x_13); +x_14 = lean_ctor_get(x_1, 2); +lean_inc(x_14); +x_15 = lean_ctor_get(x_1, 3); +lean_inc(x_15); +lean_dec(x_1); +x_16 = lean_apply_4(x_7, x_12, x_13, x_14, x_15); +return x_16; +} +case 3: +{ +lean_object* x_17; lean_object* x_18; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +x_17 = lean_ctor_get(x_1, 0); +lean_inc(x_17); +lean_dec(x_1); +x_18 = lean_apply_1(x_4, x_17); +return x_18; +} +case 4: +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_19 = lean_ctor_get(x_1, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_1, 1); +lean_inc(x_20); +lean_dec(x_1); +x_21 = lean_apply_2(x_6, x_19, x_20); +return x_21; +} +default: +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_22 = lean_ctor_get(x_1, 0); +lean_inc(x_22); +x_23 = lean_ctor_get(x_1, 1); +lean_inc(x_23); +lean_dec(x_1); +x_24 = lean_apply_2(x_5, x_22, x_23); +return x_24; +} +} +} +} +lean_object* l_Lean_Meta_Match_Pattern_toExpr_visit_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Pattern_toExpr_visit_match__1___rarg), 7, 0); +return x_2; +} +} +lean_object* l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__1(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_8; lean_object* x_9; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_8 = lean_box(0); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_7); +return x_9; +} +else +{ +uint8_t x_10; +x_10 = !lean_is_exclusive(x_2); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_11 = lean_ctor_get(x_2, 0); +x_12 = lean_ctor_get(x_2, 1); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_13 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_1, x_11, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_13) == 0) +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +x_16 = l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__1(x_1, x_12, x_3, x_4, x_5, x_6, x_15); +if (lean_obj_tag(x_16) == 0) +{ +uint8_t x_17; +x_17 = !lean_is_exclusive(x_16); +if (x_17 == 0) +{ +lean_object* x_18; +x_18 = lean_ctor_get(x_16, 0); +lean_ctor_set(x_2, 1, x_18); +lean_ctor_set(x_2, 0, x_14); +lean_ctor_set(x_16, 0, x_2); +return x_16; +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_16, 0); +x_20 = lean_ctor_get(x_16, 1); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_16); +lean_ctor_set(x_2, 1, x_19); +lean_ctor_set(x_2, 0, x_14); +x_21 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_21, 0, x_2); +lean_ctor_set(x_21, 1, x_20); +return x_21; +} +} +else +{ +uint8_t x_22; +lean_dec(x_14); +lean_free_object(x_2); +x_22 = !lean_is_exclusive(x_16); +if (x_22 == 0) +{ +return x_16; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_16, 0); +x_24 = lean_ctor_get(x_16, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_16); +x_25 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_24); +return x_25; +} +} +} +else +{ +uint8_t x_26; +lean_free_object(x_2); +lean_dec(x_12); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_26 = !lean_is_exclusive(x_13); +if (x_26 == 0) +{ +return x_13; +} +else +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_13, 0); +x_28 = lean_ctor_get(x_13, 1); +lean_inc(x_28); +lean_inc(x_27); +lean_dec(x_13); +x_29 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_29, 0, x_27); +lean_ctor_set(x_29, 1, x_28); +return x_29; +} +} +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_2, 0); +x_31 = lean_ctor_get(x_2, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_2); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_32 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_1, x_30, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_32) == 0) +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_33 = lean_ctor_get(x_32, 0); +lean_inc(x_33); +x_34 = lean_ctor_get(x_32, 1); +lean_inc(x_34); +lean_dec(x_32); +x_35 = l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__1(x_1, x_31, x_3, x_4, x_5, x_6, x_34); +if (lean_obj_tag(x_35) == 0) +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +x_37 = lean_ctor_get(x_35, 1); +lean_inc(x_37); +if (lean_is_exclusive(x_35)) { + lean_ctor_release(x_35, 0); + lean_ctor_release(x_35, 1); + x_38 = x_35; +} else { + lean_dec_ref(x_35); + x_38 = lean_box(0); +} +x_39 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_39, 0, x_33); +lean_ctor_set(x_39, 1, x_36); +if (lean_is_scalar(x_38)) { + x_40 = lean_alloc_ctor(0, 2, 0); +} else { + x_40 = x_38; +} +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_37); +return x_40; +} +else +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +lean_dec(x_33); +x_41 = lean_ctor_get(x_35, 0); +lean_inc(x_41); +x_42 = lean_ctor_get(x_35, 1); +lean_inc(x_42); +if (lean_is_exclusive(x_35)) { + lean_ctor_release(x_35, 0); + lean_ctor_release(x_35, 1); + x_43 = x_35; +} else { + lean_dec_ref(x_35); + x_43 = lean_box(0); +} +if (lean_is_scalar(x_43)) { + x_44 = lean_alloc_ctor(1, 2, 0); +} else { + x_44 = x_43; +} +lean_ctor_set(x_44, 0, x_41); +lean_ctor_set(x_44, 1, x_42); +return x_44; +} +} +else +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; +lean_dec(x_31); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_45 = lean_ctor_get(x_32, 0); +lean_inc(x_45); +x_46 = lean_ctor_get(x_32, 1); +lean_inc(x_46); +if (lean_is_exclusive(x_32)) { + lean_ctor_release(x_32, 0); + lean_ctor_release(x_32, 1); + x_47 = x_32; +} else { + lean_dec_ref(x_32); + x_47 = lean_box(0); +} +if (lean_is_scalar(x_47)) { + x_48 = lean_alloc_ctor(1, 2, 0); +} else { + x_48 = x_47; +} +lean_ctor_set(x_48, 0, x_45); +lean_ctor_set(x_48, 1, x_46); +return x_48; +} +} +} +} +} +lean_object* l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__2(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_8; lean_object* x_9; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_8 = lean_box(0); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_7); +return x_9; +} +else +{ +uint8_t x_10; +x_10 = !lean_is_exclusive(x_2); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_11 = lean_ctor_get(x_2, 0); +x_12 = lean_ctor_get(x_2, 1); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_13 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_1, x_11, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_13) == 0) +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +x_16 = l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__2(x_1, x_12, x_3, x_4, x_5, x_6, x_15); +if (lean_obj_tag(x_16) == 0) +{ +uint8_t x_17; +x_17 = !lean_is_exclusive(x_16); +if (x_17 == 0) +{ +lean_object* x_18; +x_18 = lean_ctor_get(x_16, 0); +lean_ctor_set(x_2, 1, x_18); +lean_ctor_set(x_2, 0, x_14); +lean_ctor_set(x_16, 0, x_2); +return x_16; +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_16, 0); +x_20 = lean_ctor_get(x_16, 1); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_16); +lean_ctor_set(x_2, 1, x_19); +lean_ctor_set(x_2, 0, x_14); +x_21 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_21, 0, x_2); +lean_ctor_set(x_21, 1, x_20); +return x_21; +} +} +else +{ +uint8_t x_22; +lean_dec(x_14); +lean_free_object(x_2); +x_22 = !lean_is_exclusive(x_16); +if (x_22 == 0) +{ +return x_16; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_16, 0); +x_24 = lean_ctor_get(x_16, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_16); +x_25 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_24); +return x_25; +} +} +} +else +{ +uint8_t x_26; +lean_free_object(x_2); +lean_dec(x_12); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_26 = !lean_is_exclusive(x_13); +if (x_26 == 0) +{ +return x_13; +} +else +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_13, 0); +x_28 = lean_ctor_get(x_13, 1); +lean_inc(x_28); +lean_inc(x_27); +lean_dec(x_13); +x_29 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_29, 0, x_27); +lean_ctor_set(x_29, 1, x_28); +return x_29; +} +} +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_2, 0); +x_31 = lean_ctor_get(x_2, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_2); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_32 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_1, x_30, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_32) == 0) +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_33 = lean_ctor_get(x_32, 0); +lean_inc(x_33); +x_34 = lean_ctor_get(x_32, 1); +lean_inc(x_34); +lean_dec(x_32); +x_35 = l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__2(x_1, x_31, x_3, x_4, x_5, x_6, x_34); +if (lean_obj_tag(x_35) == 0) +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +x_37 = lean_ctor_get(x_35, 1); +lean_inc(x_37); +if (lean_is_exclusive(x_35)) { + lean_ctor_release(x_35, 0); + lean_ctor_release(x_35, 1); + x_38 = x_35; +} else { + lean_dec_ref(x_35); + x_38 = lean_box(0); +} +x_39 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_39, 0, x_33); +lean_ctor_set(x_39, 1, x_36); +if (lean_is_scalar(x_38)) { + x_40 = lean_alloc_ctor(0, 2, 0); +} else { + x_40 = x_38; +} +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_37); +return x_40; +} +else +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +lean_dec(x_33); +x_41 = lean_ctor_get(x_35, 0); +lean_inc(x_41); +x_42 = lean_ctor_get(x_35, 1); +lean_inc(x_42); +if (lean_is_exclusive(x_35)) { + lean_ctor_release(x_35, 0); + lean_ctor_release(x_35, 1); + x_43 = x_35; +} else { + lean_dec_ref(x_35); + x_43 = lean_box(0); +} +if (lean_is_scalar(x_43)) { + x_44 = lean_alloc_ctor(1, 2, 0); +} else { + x_44 = x_43; +} +lean_ctor_set(x_44, 0, x_41); +lean_ctor_set(x_44, 1, x_42); +return x_44; +} +} +else +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; +lean_dec(x_31); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_45 = lean_ctor_get(x_32, 0); +lean_inc(x_45); +x_46 = lean_ctor_get(x_32, 1); +lean_inc(x_46); +if (lean_is_exclusive(x_32)) { + lean_ctor_release(x_32, 0); + lean_ctor_release(x_32, 1); + x_47 = x_32; +} else { + lean_dec_ref(x_32); + x_47 = lean_box(0); +} +if (lean_is_scalar(x_47)) { + x_48 = lean_alloc_ctor(1, 2, 0); +} else { + x_48 = x_47; +} +lean_ctor_set(x_48, 0, x_45); +lean_ctor_set(x_48, 1, x_46); +return x_48; +} +} +} +} +} +static lean_object* _init_l_Lean_Meta_Match_Pattern_toExpr_visit___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("inaccessible"); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_Match_Pattern_toExpr_visit___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_Pattern_toExpr_visit___closed__1; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Meta_Match_Pattern_toExpr_visit___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("namedPattern"); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_Match_Pattern_toExpr_visit___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Meta_Match_Pattern_toExpr_visit___closed__3; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +lean_object* l_Lean_Meta_Match_Pattern_toExpr_visit(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +switch (lean_obj_tag(x_2)) { +case 0: +{ +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +if (x_1 == 0) +{ +lean_object* x_8; lean_object* x_9; +x_8 = lean_ctor_get(x_2, 0); +lean_inc(x_8); +lean_dec(x_2); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_7); +return x_9; +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_10 = lean_ctor_get(x_2, 0); +lean_inc(x_10); +lean_dec(x_2); +x_11 = l_Lean_Meta_Match_Pattern_toExpr_visit___closed__2; +x_12 = l_Lean_mkAnnotation(x_11, x_10); +x_13 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_13, 0, x_12); +lean_ctor_set(x_13, 1, x_7); +return x_13; +} +} +case 1: +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_14 = lean_ctor_get(x_2, 0); +lean_inc(x_14); +lean_dec(x_2); +x_15 = l_Lean_mkFVar(x_14); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_15); +lean_ctor_set(x_16, 1, x_7); +return x_16; +} +case 2: +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_17 = lean_ctor_get(x_2, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_2, 1); +lean_inc(x_18); +x_19 = lean_ctor_get(x_2, 2); +lean_inc(x_19); +x_20 = lean_ctor_get(x_2, 3); +lean_inc(x_20); +lean_dec(x_2); +x_21 = l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__1(x_1, x_20, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_21) == 0) +{ +uint8_t x_22; +x_22 = !lean_is_exclusive(x_21); +if (x_22 == 0) +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_23 = lean_ctor_get(x_21, 0); +x_24 = l_Lean_mkConst(x_17, x_18); +x_25 = l_List_append___rarg(x_19, x_23); +x_26 = l_List_redLength___rarg(x_25); +x_27 = lean_mk_empty_array_with_capacity(x_26); +lean_dec(x_26); +x_28 = l_List_toArrayAux___rarg(x_25, x_27); +x_29 = l_Lean_mkAppN(x_24, x_28); +lean_dec(x_28); +lean_ctor_set(x_21, 0, x_29); +return x_21; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_30 = lean_ctor_get(x_21, 0); +x_31 = lean_ctor_get(x_21, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_21); +x_32 = l_Lean_mkConst(x_17, x_18); +x_33 = l_List_append___rarg(x_19, x_30); +x_34 = l_List_redLength___rarg(x_33); +x_35 = lean_mk_empty_array_with_capacity(x_34); +lean_dec(x_34); +x_36 = l_List_toArrayAux___rarg(x_33, x_35); +x_37 = l_Lean_mkAppN(x_32, x_36); +lean_dec(x_36); +x_38 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_38, 0, x_37); +lean_ctor_set(x_38, 1, x_31); +return x_38; +} +} +else +{ +uint8_t x_39; +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +x_39 = !lean_is_exclusive(x_21); +if (x_39 == 0) +{ +return x_21; +} +else +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_40 = lean_ctor_get(x_21, 0); +x_41 = lean_ctor_get(x_21, 1); +lean_inc(x_41); +lean_inc(x_40); +lean_dec(x_21); +x_42 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_42, 0, x_40); +lean_ctor_set(x_42, 1, x_41); +return x_42; +} +} +} +case 3: +{ +lean_object* x_43; lean_object* x_44; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_43 = lean_ctor_get(x_2, 0); +lean_inc(x_43); +lean_dec(x_2); +x_44 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_44, 0, x_43); +lean_ctor_set(x_44, 1, x_7); +return x_44; +} +case 4: +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_45 = lean_ctor_get(x_2, 0); +lean_inc(x_45); +x_46 = lean_ctor_get(x_2, 1); +lean_inc(x_46); +lean_dec(x_2); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_47 = l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__2(x_1, x_46, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_47) == 0) +{ +lean_object* x_48; lean_object* x_49; lean_object* x_50; +x_48 = lean_ctor_get(x_47, 0); +lean_inc(x_48); +x_49 = lean_ctor_get(x_47, 1); +lean_inc(x_49); +lean_dec(x_47); +x_50 = l_Lean_Meta_mkArrayLit___at___private_Lean_Meta_Match_CaseArraySizes_0__Lean_Meta_introArrayLit_loop___spec__1(x_45, x_48, x_3, x_4, x_5, x_6, x_49); +return x_50; +} +else +{ +uint8_t x_51; +lean_dec(x_45); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_51 = !lean_is_exclusive(x_47); +if (x_51 == 0) +{ +return x_47; +} +else +{ +lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_52 = lean_ctor_get(x_47, 0); +x_53 = lean_ctor_get(x_47, 1); +lean_inc(x_53); +lean_inc(x_52); +lean_dec(x_47); +x_54 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_54, 0, x_52); +lean_ctor_set(x_54, 1, x_53); +return x_54; +} +} +} +default: +{ +if (x_1 == 0) +{ +lean_object* x_55; +x_55 = lean_ctor_get(x_2, 1); +lean_inc(x_55); +lean_dec(x_2); +x_2 = x_55; +goto _start; +} +else +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_2, 0); +lean_inc(x_57); +x_58 = lean_ctor_get(x_2, 1); +lean_inc(x_58); +lean_dec(x_2); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_59 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_1, x_58, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_59) == 0) +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_60 = lean_ctor_get(x_59, 0); +lean_inc(x_60); +x_61 = lean_ctor_get(x_59, 1); +lean_inc(x_61); +lean_dec(x_59); +x_62 = l_Lean_mkFVar(x_57); +x_63 = l_Lean_Syntax_mkApp___closed__1; +x_64 = lean_array_push(x_63, x_62); +x_65 = lean_array_push(x_64, x_60); +x_66 = l_Lean_Meta_Match_Pattern_toExpr_visit___closed__4; +x_67 = l_Lean_Meta_mkAppM___at_Lean_Meta_mkDecideProof___spec__6(x_66, x_65, x_3, x_4, x_5, x_6, x_61); +return x_67; +} +else +{ +uint8_t x_68; +lean_dec(x_57); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_68 = !lean_is_exclusive(x_59); +if (x_68 == 0) +{ +return x_59; +} +else +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_69 = lean_ctor_get(x_59, 0); +x_70 = lean_ctor_get(x_59, 1); +lean_inc(x_70); +lean_inc(x_69); +lean_dec(x_59); +x_71 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_70); +return x_71; +} +} +} +} +} +} +} +lean_object* l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +uint8_t x_8; lean_object* x_9; +x_8 = lean_unbox(x_1); +lean_dec(x_1); +x_9 = l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__1(x_8, x_2, x_3, x_4, x_5, x_6, x_7); +return x_9; +} +} +lean_object* l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +uint8_t x_8; lean_object* x_9; +x_8 = lean_unbox(x_1); +lean_dec(x_1); +x_9 = l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr_visit___spec__2(x_8, x_2, x_3, x_4, x_5, x_6, x_7); +return x_9; +} +} +lean_object* l_Lean_Meta_Match_Pattern_toExpr_visit___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +uint8_t x_8; lean_object* x_9; +x_8 = lean_unbox(x_1); +lean_dec(x_1); +x_9 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_8, x_2, x_3, x_4, x_5, x_6, x_7); +return x_9; +} +} +lean_object* l_Lean_Meta_Match_Pattern_toExpr(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; +x_8 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_2, x_1, x_3, x_4, x_5, x_6, x_7); +return x_8; +} +} +lean_object* l_Lean_Meta_Match_Pattern_toExpr___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +uint8_t x_8; lean_object* x_9; +x_8 = lean_unbox(x_2); +lean_dec(x_2); +x_9 = l_Lean_Meta_Match_Pattern_toExpr(x_1, x_8, x_3, x_4, x_5, x_6, x_7); +return x_9; +} +} +lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; lean_object* x_5; +lean_dec(x_2); +x_4 = lean_box(0); +x_5 = lean_apply_1(x_3, x_4); +return x_5; +} +else +{ +lean_object* x_6; lean_object* x_7; +lean_dec(x_3); +x_6 = lean_ctor_get(x_1, 0); +lean_inc(x_6); +lean_dec(x_1); +x_7 = lean_apply_1(x_2, x_6); +return x_7; +} +} +} +lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Pattern_applyFVarSubst_match__1___rarg), 3, 0); +return x_2; +} +} +lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; lean_object* x_5; +lean_dec(x_3); +x_4 = lean_box(0); +x_5 = lean_apply_1(x_2, x_4); +return x_5; +} +else +{ +lean_object* x_6; lean_object* x_7; +lean_dec(x_2); +x_6 = lean_ctor_get(x_1, 0); +lean_inc(x_6); +lean_dec(x_1); +x_7 = lean_apply_1(x_3, x_6); +return x_7; +} +} +} +lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst_match__2(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Pattern_applyFVarSubst_match__2___rarg), 3, 0); +return x_2; +} +} +lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst_match__3___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 0: +{ +lean_object* x_8; lean_object* x_9; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_8 = lean_ctor_get(x_1, 0); +lean_inc(x_8); +lean_dec(x_1); +x_9 = lean_apply_1(x_2, x_8); +return x_9; +} +case 1: +{ +lean_object* x_10; lean_object* x_11; +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_10 = lean_ctor_get(x_1, 0); +lean_inc(x_10); +lean_dec(x_1); +x_11 = lean_apply_1(x_6, x_10); +return x_11; +} +case 2: +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +x_12 = lean_ctor_get(x_1, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_1, 1); +lean_inc(x_13); +x_14 = lean_ctor_get(x_1, 2); +lean_inc(x_14); +x_15 = lean_ctor_get(x_1, 3); +lean_inc(x_15); +lean_dec(x_1); +x_16 = lean_apply_4(x_3, x_12, x_13, x_14, x_15); +return x_16; +} +case 3: +{ +lean_object* x_17; lean_object* x_18; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +x_17 = lean_ctor_get(x_1, 0); +lean_inc(x_17); +lean_dec(x_1); +x_18 = lean_apply_1(x_4, x_17); +return x_18; +} +case 4: +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_19 = lean_ctor_get(x_1, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_1, 1); +lean_inc(x_20); +lean_dec(x_1); +x_21 = lean_apply_2(x_5, x_19, x_20); +return x_21; +} +default: +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_22 = lean_ctor_get(x_1, 0); +lean_inc(x_22); +x_23 = lean_ctor_get(x_1, 1); +lean_inc(x_23); +lean_dec(x_1); +x_24 = lean_apply_2(x_7, x_22, x_23); +return x_24; +} +} +} +} +lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst_match__3(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Pattern_applyFVarSubst_match__3___rarg), 7, 0); +return x_2; +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_3; +x_3 = lean_box(0); +return x_3; +} +else +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_2); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_5 = lean_ctor_get(x_2, 0); +x_6 = lean_ctor_get(x_2, 1); +x_7 = l_Lean_Meta_FVarSubst_apply(x_1, x_5); +x_8 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1(x_1, x_6); +lean_ctor_set(x_2, 1, x_8); +lean_ctor_set(x_2, 0, x_7); +return x_2; +} +else +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_9 = lean_ctor_get(x_2, 0); +x_10 = lean_ctor_get(x_2, 1); +lean_inc(x_10); +lean_inc(x_9); +lean_dec(x_2); +x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_9); +x_12 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1(x_1, x_10); +x_13 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_13, 0, x_11); +lean_ctor_set(x_13, 1, x_12); +return x_13; +} +} +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_3; +x_3 = lean_box(0); +return x_3; +} +else +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_2); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_5 = lean_ctor_get(x_2, 0); +x_6 = lean_ctor_get(x_2, 1); +x_7 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_5); +x_8 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2(x_1, x_6); +lean_ctor_set(x_2, 1, x_8); +lean_ctor_set(x_2, 0, x_7); +return x_2; +} +else +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_9 = lean_ctor_get(x_2, 0); +x_10 = lean_ctor_get(x_2, 1); +lean_inc(x_10); +lean_inc(x_9); +lean_dec(x_2); +x_11 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_9); +x_12 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2(x_1, x_10); +x_13 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_13, 0, x_11); +lean_ctor_set(x_13, 1, x_12); +return x_13; +} +} +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_3; +x_3 = lean_box(0); +return x_3; +} +else +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_2); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_5 = lean_ctor_get(x_2, 0); +x_6 = lean_ctor_get(x_2, 1); +x_7 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_5); +x_8 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3(x_1, x_6); +lean_ctor_set(x_2, 1, x_8); +lean_ctor_set(x_2, 0, x_7); +return x_2; +} +else +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_9 = lean_ctor_get(x_2, 0); +x_10 = lean_ctor_get(x_2, 1); +lean_inc(x_10); +lean_inc(x_9); +lean_dec(x_2); +x_11 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_9); +x_12 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3(x_1, x_10); +x_13 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_13, 0, x_11); +lean_ctor_set(x_13, 1, x_12); +return x_13; +} +} +} +} +lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst(lean_object* x_1, lean_object* x_2) { +_start: +{ +switch (lean_obj_tag(x_2)) { +case 0: +{ +uint8_t x_3; +x_3 = !lean_is_exclusive(x_2); +if (x_3 == 0) +{ +lean_object* x_4; lean_object* x_5; +x_4 = lean_ctor_get(x_2, 0); +x_5 = l_Lean_Meta_FVarSubst_apply(x_1, x_4); +lean_ctor_set(x_2, 0, x_5); +return x_2; +} +else +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = lean_ctor_get(x_2, 0); +lean_inc(x_6); +lean_dec(x_2); +x_7 = l_Lean_Meta_FVarSubst_apply(x_1, x_6); +x_8 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_8, 0, x_7); +return x_8; +} +} +case 1: +{ +uint8_t x_9; +x_9 = !lean_is_exclusive(x_2); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; +x_10 = lean_ctor_get(x_2, 0); +x_11 = l_Std_AssocList_find_x3f___at_Lean_Meta_FVarSubst_find_x3f___spec__1(x_10, x_1); +if (lean_obj_tag(x_11) == 0) +{ +return x_2; +} +else +{ +lean_object* x_12; +lean_dec(x_10); +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +lean_dec(x_11); +lean_ctor_set_tag(x_2, 0); +lean_ctor_set(x_2, 0, x_12); +return x_2; +} +} +else +{ +lean_object* x_13; lean_object* x_14; +x_13 = lean_ctor_get(x_2, 0); +lean_inc(x_13); +lean_dec(x_2); +x_14 = l_Std_AssocList_find_x3f___at_Lean_Meta_FVarSubst_find_x3f___spec__1(x_13, x_1); +if (lean_obj_tag(x_14) == 0) +{ +lean_object* x_15; +x_15 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_15, 0, x_13); +return x_15; +} +else +{ +lean_object* x_16; lean_object* x_17; +lean_dec(x_13); +x_16 = lean_ctor_get(x_14, 0); +lean_inc(x_16); +lean_dec(x_14); +x_17 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_17, 0, x_16); +return x_17; +} +} +} +case 2: +{ +uint8_t x_18; +x_18 = !lean_is_exclusive(x_2); +if (x_18 == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_19 = lean_ctor_get(x_2, 2); +x_20 = lean_ctor_get(x_2, 3); +x_21 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1(x_1, x_19); +x_22 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2(x_1, x_20); +lean_ctor_set(x_2, 3, x_22); +lean_ctor_set(x_2, 2, x_21); +return x_2; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_23 = lean_ctor_get(x_2, 0); +x_24 = lean_ctor_get(x_2, 1); +x_25 = lean_ctor_get(x_2, 2); +x_26 = lean_ctor_get(x_2, 3); +lean_inc(x_26); +lean_inc(x_25); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_2); +x_27 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1(x_1, x_25); +x_28 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2(x_1, x_26); +x_29 = lean_alloc_ctor(2, 4, 0); +lean_ctor_set(x_29, 0, x_23); +lean_ctor_set(x_29, 1, x_24); +lean_ctor_set(x_29, 2, x_27); +lean_ctor_set(x_29, 3, x_28); +return x_29; +} +} +case 3: +{ +uint8_t x_30; +x_30 = !lean_is_exclusive(x_2); +if (x_30 == 0) +{ +lean_object* x_31; lean_object* x_32; +x_31 = lean_ctor_get(x_2, 0); +x_32 = l_Lean_Meta_FVarSubst_apply(x_1, x_31); +lean_ctor_set(x_2, 0, x_32); +return x_2; +} +else +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_33 = lean_ctor_get(x_2, 0); +lean_inc(x_33); +lean_dec(x_2); +x_34 = l_Lean_Meta_FVarSubst_apply(x_1, x_33); +x_35 = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(x_35, 0, x_34); +return x_35; +} +} +case 4: +{ +uint8_t x_36; +x_36 = !lean_is_exclusive(x_2); +if (x_36 == 0) +{ +lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_37 = lean_ctor_get(x_2, 0); +x_38 = lean_ctor_get(x_2, 1); +x_39 = l_Lean_Meta_FVarSubst_apply(x_1, x_37); +x_40 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3(x_1, x_38); +lean_ctor_set(x_2, 1, x_40); +lean_ctor_set(x_2, 0, x_39); +return x_2; +} +else +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_41 = lean_ctor_get(x_2, 0); +x_42 = lean_ctor_get(x_2, 1); +lean_inc(x_42); +lean_inc(x_41); +lean_dec(x_2); +x_43 = l_Lean_Meta_FVarSubst_apply(x_1, x_41); +x_44 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3(x_1, x_42); +x_45 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_45, 0, x_43); +lean_ctor_set(x_45, 1, x_44); +return x_45; +} +} +default: +{ +uint8_t x_46; +x_46 = !lean_is_exclusive(x_2); +if (x_46 == 0) +{ +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_2, 0); +x_48 = lean_ctor_get(x_2, 1); +x_49 = l_Std_AssocList_find_x3f___at_Lean_Meta_FVarSubst_find_x3f___spec__1(x_47, x_1); +if (lean_obj_tag(x_49) == 0) +{ +lean_object* x_50; +x_50 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_48); +lean_ctor_set(x_2, 1, x_50); +return x_2; +} +else +{ +lean_dec(x_49); +lean_free_object(x_2); +lean_dec(x_47); +x_2 = x_48; +goto _start; +} +} +else +{ +lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_52 = lean_ctor_get(x_2, 0); +x_53 = lean_ctor_get(x_2, 1); +lean_inc(x_53); +lean_inc(x_52); +lean_dec(x_2); +x_54 = l_Std_AssocList_find_x3f___at_Lean_Meta_FVarSubst_find_x3f___spec__1(x_52, x_1); +if (lean_obj_tag(x_54) == 0) +{ +lean_object* x_55; lean_object* x_56; +x_55 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_53); +x_56 = lean_alloc_ctor(5, 2, 0); +lean_ctor_set(x_56, 0, x_52); +lean_ctor_set(x_56, 1, x_55); +return x_56; +} +else +{ +lean_dec(x_54); +lean_dec(x_52); +x_2 = x_53; +goto _start; +} +} +} +} +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1(x_1, x_2); +lean_dec(x_1); +return x_3; +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2(x_1, x_2); +lean_dec(x_1); +return x_3; +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3(x_1, x_2); +lean_dec(x_1); +return x_3; +} +} +lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_2); +lean_dec(x_1); +return x_3; +} +} +lean_object* l_Lean_Meta_Match_Pattern_replaceFVarId(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_4 = lean_box(0); +x_5 = l_Lean_Meta_FVarSubst_insert(x_4, x_1, x_2); +x_6 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_5, x_3); +lean_dec(x_5); +return x_6; +} +} +lean_object* l_Lean_Meta_Match_Pattern_hasExprMVar_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 0: +{ +lean_object* x_8; lean_object* x_9; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_8 = lean_ctor_get(x_1, 0); +lean_inc(x_8); +lean_dec(x_1); +x_9 = lean_apply_1(x_2, x_8); +return x_9; +} +case 1: +{ +lean_object* x_10; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_10 = lean_apply_1(x_7, x_1); +return x_10; +} +case 2: +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +x_11 = lean_ctor_get(x_1, 0); +lean_inc(x_11); +x_12 = lean_ctor_get(x_1, 1); +lean_inc(x_12); +x_13 = lean_ctor_get(x_1, 2); +lean_inc(x_13); +x_14 = lean_ctor_get(x_1, 3); +lean_inc(x_14); +lean_dec(x_1); +x_15 = lean_apply_4(x_3, x_11, x_12, x_13, x_14); +return x_15; +} +case 3: +{ +lean_object* x_16; lean_object* x_17; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +x_16 = lean_ctor_get(x_1, 0); +lean_inc(x_16); +lean_dec(x_1); +x_17 = lean_apply_1(x_4, x_16); +return x_17; +} +case 4: +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_18 = lean_ctor_get(x_1, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_1, 1); +lean_inc(x_19); +lean_dec(x_1); +x_20 = lean_apply_2(x_6, x_18, x_19); +return x_20; +} +default: +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_21 = lean_ctor_get(x_1, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_1, 1); +lean_inc(x_22); +lean_dec(x_1); +x_23 = lean_apply_2(x_5, x_21, x_22); +return x_23; +} +} +} +} +lean_object* l_Lean_Meta_Match_Pattern_hasExprMVar_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Pattern_hasExprMVar_match__1___rarg), 7, 0); +return x_2; +} +} +uint8_t l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__1(uint8_t x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +return x_1; +} +else +{ +lean_object* x_3; lean_object* x_4; uint8_t x_5; uint8_t x_6; +x_3 = lean_ctor_get(x_2, 0); +x_4 = lean_ctor_get(x_2, 1); +x_5 = l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__1(x_1, x_4); +x_6 = l_Lean_Expr_hasExprMVar(x_3); +if (x_6 == 0) +{ +return x_5; +} +else +{ +uint8_t x_7; +x_7 = 1; +return x_7; +} +} +} +} +uint8_t l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2(uint8_t x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +return x_1; +} +else +{ +lean_object* x_3; lean_object* x_4; uint8_t x_5; uint8_t x_6; +x_3 = lean_ctor_get(x_2, 0); +x_4 = lean_ctor_get(x_2, 1); +x_5 = l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2(x_1, x_4); +x_6 = l_Lean_Meta_Match_Pattern_hasExprMVar(x_3); +if (x_6 == 0) +{ +return x_5; +} +else +{ +uint8_t x_7; +x_7 = 1; +return x_7; +} +} +} +} +uint8_t l_Lean_Meta_Match_Pattern_hasExprMVar(lean_object* x_1) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 1: +{ +uint8_t x_2; +x_2 = 0; +return x_2; +} +case 2: +{ +lean_object* x_3; lean_object* x_4; uint8_t x_5; uint8_t x_6; +x_3 = lean_ctor_get(x_1, 2); +x_4 = lean_ctor_get(x_1, 3); +x_5 = 0; +x_6 = l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__1(x_5, x_3); +if (x_6 == 0) +{ +uint8_t x_7; +x_7 = l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2(x_5, x_4); +return x_7; +} +else +{ +uint8_t x_8; +x_8 = 1; +return x_8; +} +} +case 4: +{ +lean_object* x_9; lean_object* x_10; uint8_t x_11; +x_9 = lean_ctor_get(x_1, 0); +x_10 = lean_ctor_get(x_1, 1); +x_11 = l_Lean_Expr_hasExprMVar(x_9); +if (x_11 == 0) +{ +uint8_t x_12; uint8_t x_13; +x_12 = 0; +x_13 = l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2(x_12, x_10); +return x_13; +} +else +{ +uint8_t x_14; +x_14 = 1; +return x_14; +} +} +case 5: +{ +lean_object* x_15; +x_15 = lean_ctor_get(x_1, 1); +x_1 = x_15; +goto _start; +} +default: +{ +lean_object* x_17; uint8_t x_18; +x_17 = lean_ctor_get(x_1, 0); +x_18 = l_Lean_Expr_hasExprMVar(x_17); +return x_18; +} +} +} +} +lean_object* l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__1___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; uint8_t x_4; lean_object* x_5; +x_3 = lean_unbox(x_1); +lean_dec(x_1); +x_4 = l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__1(x_3, x_2); +lean_dec(x_2); +x_5 = lean_box(x_4); +return x_5; +} +} +lean_object* l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; uint8_t x_4; lean_object* x_5; +x_3 = lean_unbox(x_1); +lean_dec(x_1); +x_4 = l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2(x_3, x_2); +lean_dec(x_2); +x_5 = lean_box(x_4); +return x_5; +} +} +lean_object* l_Lean_Meta_Match_Pattern_hasExprMVar___boxed(lean_object* x_1) { +_start: +{ +uint8_t x_2; lean_object* x_3; +x_2 = l_Lean_Meta_Match_Pattern_hasExprMVar(x_1); +lean_dec(x_1); +x_3 = lean_box(x_2); +return x_3; +} +} +lean_object* l_Lean_Meta_Match_instantiatePatternMVars_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 0: +{ +lean_object* x_8; lean_object* x_9; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_8 = lean_ctor_get(x_1, 0); +lean_inc(x_8); +lean_dec(x_1); +x_9 = lean_apply_1(x_2, x_8); +return x_9; +} +case 1: +{ +lean_object* x_10; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_10 = lean_apply_1(x_7, x_1); +return x_10; +} +case 2: +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +x_11 = lean_ctor_get(x_1, 0); +lean_inc(x_11); +x_12 = lean_ctor_get(x_1, 1); +lean_inc(x_12); +x_13 = lean_ctor_get(x_1, 2); +lean_inc(x_13); +x_14 = lean_ctor_get(x_1, 3); +lean_inc(x_14); +lean_dec(x_1); +x_15 = lean_apply_4(x_4, x_11, x_12, x_13, x_14); +return x_15; +} +case 3: +{ +lean_object* x_16; lean_object* x_17; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +x_16 = lean_ctor_get(x_1, 0); +lean_inc(x_16); +lean_dec(x_1); +x_17 = lean_apply_1(x_3, x_16); +return x_17; +} +case 4: +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_18 = lean_ctor_get(x_1, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_1, 1); +lean_inc(x_19); +lean_dec(x_1); +x_20 = lean_apply_2(x_6, x_18, x_19); +return x_20; +} +default: +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_21 = lean_ctor_get(x_1, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_1, 1); +lean_inc(x_22); +lean_dec(x_1); +x_23 = lean_apply_2(x_5, x_21, x_22); +return x_23; +} +} +} +} +lean_object* l_Lean_Meta_Match_instantiatePatternMVars_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_instantiatePatternMVars_match__1___rarg), 7, 0); +return x_2; +} +} +lean_object* l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_7; lean_object* x_8; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_7 = lean_box(0); +x_8 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_6); +return x_8; +} +else +{ +uint8_t x_9; +x_9 = !lean_is_exclusive(x_1); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_10 = lean_ctor_get(x_1, 0); +x_11 = lean_ctor_get(x_1, 1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_12 = l_Lean_Meta_instantiateMVarsImp(x_10, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +x_15 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(x_11, x_2, x_3, x_4, x_5, x_14); +if (lean_obj_tag(x_15) == 0) +{ +uint8_t x_16; +x_16 = !lean_is_exclusive(x_15); +if (x_16 == 0) +{ +lean_object* x_17; +x_17 = lean_ctor_get(x_15, 0); +lean_ctor_set(x_1, 1, x_17); +lean_ctor_set(x_1, 0, x_13); +lean_ctor_set(x_15, 0, x_1); +return x_15; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_15, 0); +x_19 = lean_ctor_get(x_15, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_15); +lean_ctor_set(x_1, 1, x_18); +lean_ctor_set(x_1, 0, x_13); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_1); +lean_ctor_set(x_20, 1, x_19); +return x_20; +} +} +else +{ +uint8_t x_21; +lean_dec(x_13); +lean_free_object(x_1); +x_21 = !lean_is_exclusive(x_15); +if (x_21 == 0) +{ +return x_15; +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_15, 0); +x_23 = lean_ctor_get(x_15, 1); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_15); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +return x_24; +} +} +} +else +{ +uint8_t x_25; +lean_free_object(x_1); +lean_dec(x_11); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_25 = !lean_is_exclusive(x_12); +if (x_25 == 0) +{ +return x_12; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_12, 0); +x_27 = lean_ctor_get(x_12, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_12); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_1, 0); +x_30 = lean_ctor_get(x_1, 1); +lean_inc(x_30); +lean_inc(x_29); +lean_dec(x_1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_31 = l_Lean_Meta_instantiateMVarsImp(x_29, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_31) == 0) +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +lean_dec(x_31); +x_34 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(x_30, x_2, x_3, x_4, x_5, x_33); +if (lean_obj_tag(x_34) == 0) +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_35 = lean_ctor_get(x_34, 0); +lean_inc(x_35); +x_36 = lean_ctor_get(x_34, 1); +lean_inc(x_36); +if (lean_is_exclusive(x_34)) { + lean_ctor_release(x_34, 0); + lean_ctor_release(x_34, 1); + x_37 = x_34; +} else { + lean_dec_ref(x_34); + x_37 = lean_box(0); +} +x_38 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_38, 0, x_32); +lean_ctor_set(x_38, 1, x_35); +if (lean_is_scalar(x_37)) { + x_39 = lean_alloc_ctor(0, 2, 0); +} else { + x_39 = x_37; +} +lean_ctor_set(x_39, 0, x_38); +lean_ctor_set(x_39, 1, x_36); +return x_39; +} +else +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; +lean_dec(x_32); +x_40 = lean_ctor_get(x_34, 0); +lean_inc(x_40); +x_41 = lean_ctor_get(x_34, 1); +lean_inc(x_41); +if (lean_is_exclusive(x_34)) { + lean_ctor_release(x_34, 0); + lean_ctor_release(x_34, 1); + x_42 = x_34; +} else { + lean_dec_ref(x_34); + x_42 = lean_box(0); +} +if (lean_is_scalar(x_42)) { + x_43 = lean_alloc_ctor(1, 2, 0); +} else { + x_43 = x_42; +} +lean_ctor_set(x_43, 0, x_40); +lean_ctor_set(x_43, 1, x_41); +return x_43; +} +} +else +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; +lean_dec(x_30); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_44 = lean_ctor_get(x_31, 0); +lean_inc(x_44); +x_45 = lean_ctor_get(x_31, 1); +lean_inc(x_45); +if (lean_is_exclusive(x_31)) { + lean_ctor_release(x_31, 0); + lean_ctor_release(x_31, 1); + x_46 = x_31; +} else { + lean_dec_ref(x_31); + x_46 = lean_box(0); +} +if (lean_is_scalar(x_46)) { + x_47 = lean_alloc_ctor(1, 2, 0); +} else { + x_47 = x_46; +} +lean_ctor_set(x_47, 0, x_44); +lean_ctor_set(x_47, 1, x_45); +return x_47; +} +} +} +} +} +lean_object* l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_7; lean_object* x_8; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_7 = lean_box(0); +x_8 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_6); +return x_8; +} +else +{ +uint8_t x_9; +x_9 = !lean_is_exclusive(x_1); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_10 = lean_ctor_get(x_1, 0); +x_11 = lean_ctor_get(x_1, 1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_12 = l_Lean_Meta_Match_instantiatePatternMVars(x_10, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +x_15 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_11, x_2, x_3, x_4, x_5, x_14); +if (lean_obj_tag(x_15) == 0) +{ +uint8_t x_16; +x_16 = !lean_is_exclusive(x_15); +if (x_16 == 0) +{ +lean_object* x_17; +x_17 = lean_ctor_get(x_15, 0); +lean_ctor_set(x_1, 1, x_17); +lean_ctor_set(x_1, 0, x_13); +lean_ctor_set(x_15, 0, x_1); +return x_15; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_15, 0); +x_19 = lean_ctor_get(x_15, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_15); +lean_ctor_set(x_1, 1, x_18); +lean_ctor_set(x_1, 0, x_13); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_1); +lean_ctor_set(x_20, 1, x_19); +return x_20; +} +} +else +{ +uint8_t x_21; +lean_dec(x_13); +lean_free_object(x_1); +x_21 = !lean_is_exclusive(x_15); +if (x_21 == 0) +{ +return x_15; +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_15, 0); +x_23 = lean_ctor_get(x_15, 1); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_15); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +return x_24; +} +} +} +else +{ +uint8_t x_25; +lean_free_object(x_1); +lean_dec(x_11); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_25 = !lean_is_exclusive(x_12); +if (x_25 == 0) +{ +return x_12; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_12, 0); +x_27 = lean_ctor_get(x_12, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_12); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_1, 0); +x_30 = lean_ctor_get(x_1, 1); +lean_inc(x_30); +lean_inc(x_29); +lean_dec(x_1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_31 = l_Lean_Meta_Match_instantiatePatternMVars(x_29, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_31) == 0) +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +lean_dec(x_31); +x_34 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_30, x_2, x_3, x_4, x_5, x_33); +if (lean_obj_tag(x_34) == 0) +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_35 = lean_ctor_get(x_34, 0); +lean_inc(x_35); +x_36 = lean_ctor_get(x_34, 1); +lean_inc(x_36); +if (lean_is_exclusive(x_34)) { + lean_ctor_release(x_34, 0); + lean_ctor_release(x_34, 1); + x_37 = x_34; +} else { + lean_dec_ref(x_34); + x_37 = lean_box(0); +} +x_38 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_38, 0, x_32); +lean_ctor_set(x_38, 1, x_35); +if (lean_is_scalar(x_37)) { + x_39 = lean_alloc_ctor(0, 2, 0); +} else { + x_39 = x_37; +} +lean_ctor_set(x_39, 0, x_38); +lean_ctor_set(x_39, 1, x_36); +return x_39; +} +else +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; +lean_dec(x_32); +x_40 = lean_ctor_get(x_34, 0); +lean_inc(x_40); +x_41 = lean_ctor_get(x_34, 1); +lean_inc(x_41); +if (lean_is_exclusive(x_34)) { + lean_ctor_release(x_34, 0); + lean_ctor_release(x_34, 1); + x_42 = x_34; +} else { + lean_dec_ref(x_34); + x_42 = lean_box(0); +} +if (lean_is_scalar(x_42)) { + x_43 = lean_alloc_ctor(1, 2, 0); +} else { + x_43 = x_42; +} +lean_ctor_set(x_43, 0, x_40); +lean_ctor_set(x_43, 1, x_41); +return x_43; +} +} +else +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; +lean_dec(x_30); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_44 = lean_ctor_get(x_31, 0); +lean_inc(x_44); +x_45 = lean_ctor_get(x_31, 1); +lean_inc(x_45); +if (lean_is_exclusive(x_31)) { + lean_ctor_release(x_31, 0); + lean_ctor_release(x_31, 1); + x_46 = x_31; +} else { + lean_dec_ref(x_31); + x_46 = lean_box(0); +} +if (lean_is_scalar(x_46)) { + x_47 = lean_alloc_ctor(1, 2, 0); +} else { + x_47 = x_46; +} +lean_ctor_set(x_47, 0, x_44); +lean_ctor_set(x_47, 1, x_45); +return x_47; +} +} +} +} +} +lean_object* l_Lean_Meta_Match_instantiatePatternMVars(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: +{ +switch (lean_obj_tag(x_1)) { +case 0: +{ +uint8_t x_7; +x_7 = !lean_is_exclusive(x_1); +if (x_7 == 0) +{ +lean_object* x_8; lean_object* x_9; +x_8 = lean_ctor_get(x_1, 0); +x_9 = l_Lean_Meta_instantiateMVarsImp(x_8, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_9) == 0) +{ +uint8_t x_10; +x_10 = !lean_is_exclusive(x_9); +if (x_10 == 0) +{ +lean_object* x_11; +x_11 = lean_ctor_get(x_9, 0); +lean_ctor_set(x_1, 0, x_11); +lean_ctor_set(x_9, 0, x_1); +return x_9; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_9, 0); +x_13 = lean_ctor_get(x_9, 1); +lean_inc(x_13); +lean_inc(x_12); +lean_dec(x_9); +lean_ctor_set(x_1, 0, x_12); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_1); +lean_ctor_set(x_14, 1, x_13); +return x_14; +} +} +else +{ +uint8_t x_15; +lean_free_object(x_1); +x_15 = !lean_is_exclusive(x_9); +if (x_15 == 0) +{ +return x_9; +} +else +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_16 = lean_ctor_get(x_9, 0); +x_17 = lean_ctor_get(x_9, 1); +lean_inc(x_17); +lean_inc(x_16); +lean_dec(x_9); +x_18 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_18, 0, x_16); +lean_ctor_set(x_18, 1, x_17); +return x_18; +} +} +} +else +{ +lean_object* x_19; lean_object* x_20; +x_19 = lean_ctor_get(x_1, 0); +lean_inc(x_19); +lean_dec(x_1); +x_20 = l_Lean_Meta_instantiateMVarsImp(x_19, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +if (lean_is_exclusive(x_20)) { + lean_ctor_release(x_20, 0); + lean_ctor_release(x_20, 1); + x_23 = x_20; +} else { + lean_dec_ref(x_20); + x_23 = lean_box(0); +} +x_24 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_24, 0, x_21); +if (lean_is_scalar(x_23)) { + x_25 = lean_alloc_ctor(0, 2, 0); +} else { + x_25 = x_23; +} +lean_ctor_set(x_25, 0, x_24); +lean_ctor_set(x_25, 1, x_22); +return x_25; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_26 = lean_ctor_get(x_20, 0); +lean_inc(x_26); +x_27 = lean_ctor_get(x_20, 1); +lean_inc(x_27); +if (lean_is_exclusive(x_20)) { + lean_ctor_release(x_20, 0); + lean_ctor_release(x_20, 1); + x_28 = x_20; +} else { + lean_dec_ref(x_20); + x_28 = lean_box(0); +} +if (lean_is_scalar(x_28)) { + x_29 = lean_alloc_ctor(1, 2, 0); +} else { + x_29 = x_28; +} +lean_ctor_set(x_29, 0, x_26); +lean_ctor_set(x_29, 1, x_27); +return x_29; +} +} +} +case 1: +{ +lean_object* x_30; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_30 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_30, 0, x_1); +lean_ctor_set(x_30, 1, x_6); +return x_30; +} +case 2: +{ +uint8_t x_31; +x_31 = !lean_is_exclusive(x_1); +if (x_31 == 0) +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_32 = lean_ctor_get(x_1, 0); +x_33 = lean_ctor_get(x_1, 1); +x_34 = lean_ctor_get(x_1, 2); +x_35 = lean_ctor_get(x_1, 3); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_36 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(x_34, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_36) == 0) +{ +lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_37 = lean_ctor_get(x_36, 0); +lean_inc(x_37); +x_38 = lean_ctor_get(x_36, 1); +lean_inc(x_38); +lean_dec(x_36); +x_39 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_35, x_2, x_3, x_4, x_5, x_38); +if (lean_obj_tag(x_39) == 0) +{ +uint8_t x_40; +x_40 = !lean_is_exclusive(x_39); +if (x_40 == 0) +{ +lean_object* x_41; +x_41 = lean_ctor_get(x_39, 0); +lean_ctor_set(x_1, 3, x_41); +lean_ctor_set(x_1, 2, x_37); +lean_ctor_set(x_39, 0, x_1); +return x_39; +} +else +{ +lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_42 = lean_ctor_get(x_39, 0); +x_43 = lean_ctor_get(x_39, 1); +lean_inc(x_43); +lean_inc(x_42); +lean_dec(x_39); +lean_ctor_set(x_1, 3, x_42); +lean_ctor_set(x_1, 2, x_37); +x_44 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_44, 0, x_1); +lean_ctor_set(x_44, 1, x_43); +return x_44; +} +} +else +{ +uint8_t x_45; +lean_dec(x_37); +lean_free_object(x_1); +lean_dec(x_33); +lean_dec(x_32); +x_45 = !lean_is_exclusive(x_39); +if (x_45 == 0) +{ +return x_39; +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_39, 0); +x_47 = lean_ctor_get(x_39, 1); +lean_inc(x_47); +lean_inc(x_46); +lean_dec(x_39); +x_48 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_47); +return x_48; +} +} +} +else +{ +uint8_t x_49; +lean_free_object(x_1); +lean_dec(x_35); +lean_dec(x_33); +lean_dec(x_32); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_49 = !lean_is_exclusive(x_36); +if (x_49 == 0) +{ +return x_36; +} +else +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; +x_50 = lean_ctor_get(x_36, 0); +x_51 = lean_ctor_get(x_36, 1); +lean_inc(x_51); +lean_inc(x_50); +lean_dec(x_36); +x_52 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_52, 0, x_50); +lean_ctor_set(x_52, 1, x_51); +return x_52; +} +} +} +else +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; +x_53 = lean_ctor_get(x_1, 0); +x_54 = lean_ctor_get(x_1, 1); +x_55 = lean_ctor_get(x_1, 2); +x_56 = lean_ctor_get(x_1, 3); +lean_inc(x_56); +lean_inc(x_55); +lean_inc(x_54); +lean_inc(x_53); +lean_dec(x_1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_57 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(x_55, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_57) == 0) +{ +lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_58 = lean_ctor_get(x_57, 0); +lean_inc(x_58); +x_59 = lean_ctor_get(x_57, 1); +lean_inc(x_59); +lean_dec(x_57); +x_60 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_56, x_2, x_3, x_4, x_5, x_59); +if (lean_obj_tag(x_60) == 0) +{ +lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; +x_61 = lean_ctor_get(x_60, 0); +lean_inc(x_61); +x_62 = lean_ctor_get(x_60, 1); +lean_inc(x_62); +if (lean_is_exclusive(x_60)) { + lean_ctor_release(x_60, 0); + lean_ctor_release(x_60, 1); + x_63 = x_60; +} else { + lean_dec_ref(x_60); + x_63 = lean_box(0); +} +x_64 = lean_alloc_ctor(2, 4, 0); +lean_ctor_set(x_64, 0, x_53); +lean_ctor_set(x_64, 1, x_54); +lean_ctor_set(x_64, 2, x_58); +lean_ctor_set(x_64, 3, x_61); +if (lean_is_scalar(x_63)) { + x_65 = lean_alloc_ctor(0, 2, 0); +} else { + x_65 = x_63; +} +lean_ctor_set(x_65, 0, x_64); +lean_ctor_set(x_65, 1, x_62); +return x_65; +} +else +{ +lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; +lean_dec(x_58); +lean_dec(x_54); +lean_dec(x_53); +x_66 = lean_ctor_get(x_60, 0); +lean_inc(x_66); +x_67 = lean_ctor_get(x_60, 1); +lean_inc(x_67); +if (lean_is_exclusive(x_60)) { + lean_ctor_release(x_60, 0); + lean_ctor_release(x_60, 1); + x_68 = x_60; +} else { + lean_dec_ref(x_60); + x_68 = lean_box(0); +} +if (lean_is_scalar(x_68)) { + x_69 = lean_alloc_ctor(1, 2, 0); +} else { + x_69 = x_68; +} +lean_ctor_set(x_69, 0, x_66); +lean_ctor_set(x_69, 1, x_67); +return x_69; +} +} +else +{ +lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; +lean_dec(x_56); +lean_dec(x_54); +lean_dec(x_53); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_70 = lean_ctor_get(x_57, 0); +lean_inc(x_70); +x_71 = lean_ctor_get(x_57, 1); +lean_inc(x_71); +if (lean_is_exclusive(x_57)) { + lean_ctor_release(x_57, 0); + lean_ctor_release(x_57, 1); + x_72 = x_57; +} else { + lean_dec_ref(x_57); + x_72 = lean_box(0); +} +if (lean_is_scalar(x_72)) { + x_73 = lean_alloc_ctor(1, 2, 0); +} else { + x_73 = x_72; +} +lean_ctor_set(x_73, 0, x_70); +lean_ctor_set(x_73, 1, x_71); +return x_73; +} +} +} +case 3: +{ +uint8_t x_74; +x_74 = !lean_is_exclusive(x_1); +if (x_74 == 0) +{ +lean_object* x_75; lean_object* x_76; +x_75 = lean_ctor_get(x_1, 0); +x_76 = l_Lean_Meta_instantiateMVarsImp(x_75, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_76) == 0) +{ +uint8_t x_77; +x_77 = !lean_is_exclusive(x_76); +if (x_77 == 0) +{ +lean_object* x_78; +x_78 = lean_ctor_get(x_76, 0); +lean_ctor_set(x_1, 0, x_78); +lean_ctor_set(x_76, 0, x_1); +return x_76; +} +else +{ +lean_object* x_79; lean_object* x_80; lean_object* x_81; +x_79 = lean_ctor_get(x_76, 0); +x_80 = lean_ctor_get(x_76, 1); +lean_inc(x_80); +lean_inc(x_79); +lean_dec(x_76); +lean_ctor_set(x_1, 0, x_79); +x_81 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_81, 0, x_1); +lean_ctor_set(x_81, 1, x_80); +return x_81; +} +} +else +{ +uint8_t x_82; +lean_free_object(x_1); +x_82 = !lean_is_exclusive(x_76); +if (x_82 == 0) +{ +return x_76; +} +else +{ +lean_object* x_83; lean_object* x_84; lean_object* x_85; +x_83 = lean_ctor_get(x_76, 0); +x_84 = lean_ctor_get(x_76, 1); +lean_inc(x_84); +lean_inc(x_83); +lean_dec(x_76); +x_85 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_85, 0, x_83); +lean_ctor_set(x_85, 1, x_84); +return x_85; +} +} +} +else +{ +lean_object* x_86; lean_object* x_87; +x_86 = lean_ctor_get(x_1, 0); +lean_inc(x_86); +lean_dec(x_1); +x_87 = l_Lean_Meta_instantiateMVarsImp(x_86, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_87) == 0) +{ +lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; +x_88 = lean_ctor_get(x_87, 0); +lean_inc(x_88); +x_89 = lean_ctor_get(x_87, 1); +lean_inc(x_89); +if (lean_is_exclusive(x_87)) { + lean_ctor_release(x_87, 0); + lean_ctor_release(x_87, 1); + x_90 = x_87; +} else { + lean_dec_ref(x_87); + x_90 = lean_box(0); +} +x_91 = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(x_91, 0, x_88); +if (lean_is_scalar(x_90)) { + x_92 = lean_alloc_ctor(0, 2, 0); +} else { + x_92 = x_90; +} +lean_ctor_set(x_92, 0, x_91); +lean_ctor_set(x_92, 1, x_89); +return x_92; +} +else +{ +lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; +x_93 = lean_ctor_get(x_87, 0); +lean_inc(x_93); +x_94 = lean_ctor_get(x_87, 1); +lean_inc(x_94); +if (lean_is_exclusive(x_87)) { + lean_ctor_release(x_87, 0); + lean_ctor_release(x_87, 1); + x_95 = x_87; +} else { + lean_dec_ref(x_87); + x_95 = lean_box(0); +} +if (lean_is_scalar(x_95)) { + x_96 = lean_alloc_ctor(1, 2, 0); +} else { + x_96 = x_95; +} +lean_ctor_set(x_96, 0, x_93); +lean_ctor_set(x_96, 1, x_94); +return x_96; +} +} +} +case 4: +{ +uint8_t x_97; +x_97 = !lean_is_exclusive(x_1); +if (x_97 == 0) +{ +lean_object* x_98; lean_object* x_99; lean_object* x_100; +x_98 = lean_ctor_get(x_1, 0); +x_99 = lean_ctor_get(x_1, 1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_100 = l_Lean_Meta_instantiateMVarsImp(x_98, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_100) == 0) +{ +lean_object* x_101; lean_object* x_102; lean_object* x_103; +x_101 = lean_ctor_get(x_100, 0); +lean_inc(x_101); +x_102 = lean_ctor_get(x_100, 1); +lean_inc(x_102); +lean_dec(x_100); +x_103 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_99, x_2, x_3, x_4, x_5, x_102); +if (lean_obj_tag(x_103) == 0) +{ +uint8_t x_104; +x_104 = !lean_is_exclusive(x_103); +if (x_104 == 0) +{ +lean_object* x_105; +x_105 = lean_ctor_get(x_103, 0); +lean_ctor_set(x_1, 1, x_105); +lean_ctor_set(x_1, 0, x_101); +lean_ctor_set(x_103, 0, x_1); +return x_103; +} +else +{ +lean_object* x_106; lean_object* x_107; lean_object* x_108; +x_106 = lean_ctor_get(x_103, 0); +x_107 = lean_ctor_get(x_103, 1); +lean_inc(x_107); +lean_inc(x_106); +lean_dec(x_103); +lean_ctor_set(x_1, 1, x_106); +lean_ctor_set(x_1, 0, x_101); +x_108 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_108, 0, x_1); +lean_ctor_set(x_108, 1, x_107); +return x_108; +} +} +else +{ +uint8_t x_109; +lean_dec(x_101); +lean_free_object(x_1); +x_109 = !lean_is_exclusive(x_103); +if (x_109 == 0) +{ +return x_103; +} +else +{ +lean_object* x_110; lean_object* x_111; lean_object* x_112; +x_110 = lean_ctor_get(x_103, 0); +x_111 = lean_ctor_get(x_103, 1); +lean_inc(x_111); +lean_inc(x_110); +lean_dec(x_103); +x_112 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_112, 0, x_110); +lean_ctor_set(x_112, 1, x_111); +return x_112; +} +} +} +else +{ +uint8_t x_113; +lean_free_object(x_1); +lean_dec(x_99); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_113 = !lean_is_exclusive(x_100); +if (x_113 == 0) +{ +return x_100; +} +else +{ +lean_object* x_114; lean_object* x_115; lean_object* x_116; +x_114 = lean_ctor_get(x_100, 0); +x_115 = lean_ctor_get(x_100, 1); +lean_inc(x_115); +lean_inc(x_114); +lean_dec(x_100); +x_116 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_116, 0, x_114); +lean_ctor_set(x_116, 1, x_115); +return x_116; +} +} +} +else +{ +lean_object* x_117; lean_object* x_118; lean_object* x_119; +x_117 = lean_ctor_get(x_1, 0); +x_118 = lean_ctor_get(x_1, 1); +lean_inc(x_118); +lean_inc(x_117); +lean_dec(x_1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_119 = l_Lean_Meta_instantiateMVarsImp(x_117, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_119) == 0) +{ +lean_object* x_120; lean_object* x_121; lean_object* x_122; +x_120 = lean_ctor_get(x_119, 0); +lean_inc(x_120); +x_121 = lean_ctor_get(x_119, 1); +lean_inc(x_121); +lean_dec(x_119); +x_122 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_118, x_2, x_3, x_4, x_5, x_121); +if (lean_obj_tag(x_122) == 0) +{ +lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; +x_123 = lean_ctor_get(x_122, 0); +lean_inc(x_123); +x_124 = lean_ctor_get(x_122, 1); +lean_inc(x_124); +if (lean_is_exclusive(x_122)) { + lean_ctor_release(x_122, 0); + lean_ctor_release(x_122, 1); + x_125 = x_122; +} else { + lean_dec_ref(x_122); + x_125 = lean_box(0); +} +x_126 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_126, 0, x_120); +lean_ctor_set(x_126, 1, x_123); +if (lean_is_scalar(x_125)) { + x_127 = lean_alloc_ctor(0, 2, 0); +} else { + x_127 = x_125; +} +lean_ctor_set(x_127, 0, x_126); +lean_ctor_set(x_127, 1, x_124); +return x_127; +} +else +{ +lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; +lean_dec(x_120); +x_128 = lean_ctor_get(x_122, 0); +lean_inc(x_128); +x_129 = lean_ctor_get(x_122, 1); +lean_inc(x_129); +if (lean_is_exclusive(x_122)) { + lean_ctor_release(x_122, 0); + lean_ctor_release(x_122, 1); + x_130 = x_122; +} else { + lean_dec_ref(x_122); + x_130 = lean_box(0); +} +if (lean_is_scalar(x_130)) { + x_131 = lean_alloc_ctor(1, 2, 0); +} else { + x_131 = x_130; +} +lean_ctor_set(x_131, 0, x_128); +lean_ctor_set(x_131, 1, x_129); +return x_131; +} +} +else +{ +lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; +lean_dec(x_118); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_132 = lean_ctor_get(x_119, 0); +lean_inc(x_132); +x_133 = lean_ctor_get(x_119, 1); +lean_inc(x_133); +if (lean_is_exclusive(x_119)) { + lean_ctor_release(x_119, 0); + lean_ctor_release(x_119, 1); + x_134 = x_119; +} else { + lean_dec_ref(x_119); + x_134 = lean_box(0); +} +if (lean_is_scalar(x_134)) { + x_135 = lean_alloc_ctor(1, 2, 0); +} else { + x_135 = x_134; +} +lean_ctor_set(x_135, 0, x_132); +lean_ctor_set(x_135, 1, x_133); +return x_135; +} +} +} +default: +{ +uint8_t x_136; +x_136 = !lean_is_exclusive(x_1); +if (x_136 == 0) +{ +lean_object* x_137; lean_object* x_138; lean_object* x_139; +x_137 = lean_ctor_get(x_1, 0); +x_138 = lean_ctor_get(x_1, 1); +x_139 = l_Lean_Meta_Match_instantiatePatternMVars(x_138, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_139) == 0) +{ +uint8_t x_140; +x_140 = !lean_is_exclusive(x_139); +if (x_140 == 0) +{ +lean_object* x_141; +x_141 = lean_ctor_get(x_139, 0); +lean_ctor_set(x_1, 1, x_141); +lean_ctor_set(x_139, 0, x_1); +return x_139; +} +else +{ +lean_object* x_142; lean_object* x_143; lean_object* x_144; +x_142 = lean_ctor_get(x_139, 0); +x_143 = lean_ctor_get(x_139, 1); +lean_inc(x_143); +lean_inc(x_142); +lean_dec(x_139); +lean_ctor_set(x_1, 1, x_142); +x_144 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_144, 0, x_1); +lean_ctor_set(x_144, 1, x_143); +return x_144; +} +} +else +{ +uint8_t x_145; +lean_free_object(x_1); +lean_dec(x_137); +x_145 = !lean_is_exclusive(x_139); +if (x_145 == 0) +{ +return x_139; +} +else +{ +lean_object* x_146; lean_object* x_147; lean_object* x_148; +x_146 = lean_ctor_get(x_139, 0); +x_147 = lean_ctor_get(x_139, 1); +lean_inc(x_147); +lean_inc(x_146); +lean_dec(x_139); +x_148 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_148, 0, x_146); +lean_ctor_set(x_148, 1, x_147); +return x_148; +} +} +} +else +{ +lean_object* x_149; lean_object* x_150; lean_object* x_151; +x_149 = lean_ctor_get(x_1, 0); +x_150 = lean_ctor_get(x_1, 1); +lean_inc(x_150); +lean_inc(x_149); +lean_dec(x_1); +x_151 = l_Lean_Meta_Match_instantiatePatternMVars(x_150, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_151) == 0) +{ +lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; +x_152 = lean_ctor_get(x_151, 0); +lean_inc(x_152); +x_153 = lean_ctor_get(x_151, 1); +lean_inc(x_153); +if (lean_is_exclusive(x_151)) { + lean_ctor_release(x_151, 0); + lean_ctor_release(x_151, 1); + x_154 = x_151; +} else { + lean_dec_ref(x_151); + x_154 = lean_box(0); +} +x_155 = lean_alloc_ctor(5, 2, 0); +lean_ctor_set(x_155, 0, x_149); +lean_ctor_set(x_155, 1, x_152); +if (lean_is_scalar(x_154)) { + x_156 = lean_alloc_ctor(0, 2, 0); +} else { + x_156 = x_154; +} +lean_ctor_set(x_156, 0, x_155); +lean_ctor_set(x_156, 1, x_153); +return x_156; +} +else +{ +lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; +lean_dec(x_149); +x_157 = lean_ctor_get(x_151, 0); +lean_inc(x_157); +x_158 = lean_ctor_get(x_151, 1); +lean_inc(x_158); +if (lean_is_exclusive(x_151)) { + lean_ctor_release(x_151, 0); + lean_ctor_release(x_151, 1); + x_159 = x_151; +} else { + lean_dec_ref(x_151); + x_159 = lean_box(0); +} +if (lean_is_scalar(x_159)) { + x_160 = lean_alloc_ctor(1, 2, 0); +} else { + x_160 = x_159; +} +lean_ctor_set(x_160, 0, x_157); +lean_ctor_set(x_160, 1, x_158); +return x_160; +} +} +} +} +} +} +lean_object* l_Lean_Meta_instantiateLocalDeclMVars___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +uint8_t x_7; +x_7 = !lean_is_exclusive(x_1); +if (x_7 == 0) +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_8 = lean_ctor_get(x_1, 0); +x_9 = lean_ctor_get(x_1, 1); +x_10 = lean_ctor_get(x_1, 2); +x_11 = lean_ctor_get(x_1, 3); +x_12 = l_Lean_Meta_instantiateMVarsImp(x_11, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_12) == 0) +{ +uint8_t x_13; +x_13 = !lean_is_exclusive(x_12); +if (x_13 == 0) +{ +lean_object* x_14; +x_14 = lean_ctor_get(x_12, 0); +lean_ctor_set(x_1, 3, x_14); +lean_ctor_set(x_12, 0, x_1); +return x_12; +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_15 = lean_ctor_get(x_12, 0); +x_16 = lean_ctor_get(x_12, 1); +lean_inc(x_16); +lean_inc(x_15); +lean_dec(x_12); +lean_ctor_set(x_1, 3, x_15); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_1); +lean_ctor_set(x_17, 1, x_16); +return x_17; +} +} +else +{ +uint8_t x_18; +lean_free_object(x_1); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +x_18 = !lean_is_exclusive(x_12); +if (x_18 == 0) +{ +return x_12; +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_12, 0); +x_20 = lean_ctor_get(x_12, 1); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_12); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_20); +return x_21; +} +} +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; lean_object* x_27; +x_22 = lean_ctor_get(x_1, 0); +x_23 = lean_ctor_get(x_1, 1); +x_24 = lean_ctor_get(x_1, 2); +x_25 = lean_ctor_get(x_1, 3); +x_26 = lean_ctor_get_uint8(x_1, sizeof(void*)*4); +lean_inc(x_25); +lean_inc(x_24); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_1); +x_27 = l_Lean_Meta_instantiateMVarsImp(x_25, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_27) == 0) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +if (lean_is_exclusive(x_27)) { + lean_ctor_release(x_27, 0); + lean_ctor_release(x_27, 1); + x_30 = x_27; +} else { + lean_dec_ref(x_27); + x_30 = lean_box(0); +} +x_31 = lean_alloc_ctor(0, 4, 1); +lean_ctor_set(x_31, 0, x_22); +lean_ctor_set(x_31, 1, x_23); +lean_ctor_set(x_31, 2, x_24); +lean_ctor_set(x_31, 3, x_28); +lean_ctor_set_uint8(x_31, sizeof(void*)*4, x_26); +if (lean_is_scalar(x_30)) { + x_32 = lean_alloc_ctor(0, 2, 0); +} else { + x_32 = x_30; +} +lean_ctor_set(x_32, 0, x_31); +lean_ctor_set(x_32, 1, x_29); +return x_32; +} +else +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +x_33 = lean_ctor_get(x_27, 0); +lean_inc(x_33); +x_34 = lean_ctor_get(x_27, 1); +lean_inc(x_34); +if (lean_is_exclusive(x_27)) { + lean_ctor_release(x_27, 0); + lean_ctor_release(x_27, 1); + x_35 = x_27; +} else { + lean_dec_ref(x_27); + x_35 = lean_box(0); +} +if (lean_is_scalar(x_35)) { + x_36 = lean_alloc_ctor(1, 2, 0); +} else { + x_36 = x_35; +} +lean_ctor_set(x_36, 0, x_33); +lean_ctor_set(x_36, 1, x_34); +return x_36; +} +} +} +else +{ +uint8_t x_37; +x_37 = !lean_is_exclusive(x_1); +if (x_37 == 0) +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; +x_38 = lean_ctor_get(x_1, 0); +x_39 = lean_ctor_get(x_1, 1); +x_40 = lean_ctor_get(x_1, 2); +x_41 = lean_ctor_get(x_1, 3); +x_42 = lean_ctor_get(x_1, 4); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_43 = l_Lean_Meta_instantiateMVarsImp(x_41, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_43) == 0) +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_44 = lean_ctor_get(x_43, 0); +lean_inc(x_44); +x_45 = lean_ctor_get(x_43, 1); +lean_inc(x_45); +lean_dec(x_43); +x_46 = l_Lean_Meta_instantiateMVarsImp(x_42, x_2, x_3, x_4, x_5, x_45); +if (lean_obj_tag(x_46) == 0) +{ +uint8_t x_47; +x_47 = !lean_is_exclusive(x_46); +if (x_47 == 0) +{ +lean_object* x_48; +x_48 = lean_ctor_get(x_46, 0); +lean_ctor_set(x_1, 4, x_48); +lean_ctor_set(x_1, 3, x_44); +lean_ctor_set(x_46, 0, x_1); +return x_46; +} +else +{ +lean_object* x_49; lean_object* x_50; lean_object* x_51; +x_49 = lean_ctor_get(x_46, 0); +x_50 = lean_ctor_get(x_46, 1); +lean_inc(x_50); +lean_inc(x_49); +lean_dec(x_46); +lean_ctor_set(x_1, 4, x_49); +lean_ctor_set(x_1, 3, x_44); +x_51 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_51, 0, x_1); +lean_ctor_set(x_51, 1, x_50); +return x_51; +} +} +else +{ +uint8_t x_52; +lean_dec(x_44); +lean_free_object(x_1); +lean_dec(x_40); +lean_dec(x_39); +lean_dec(x_38); +x_52 = !lean_is_exclusive(x_46); +if (x_52 == 0) +{ +return x_46; +} +else +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_53 = lean_ctor_get(x_46, 0); +x_54 = lean_ctor_get(x_46, 1); +lean_inc(x_54); +lean_inc(x_53); +lean_dec(x_46); +x_55 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_55, 0, x_53); +lean_ctor_set(x_55, 1, x_54); +return x_55; +} +} +} +else +{ +uint8_t x_56; +lean_free_object(x_1); +lean_dec(x_42); +lean_dec(x_40); +lean_dec(x_39); +lean_dec(x_38); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_56 = !lean_is_exclusive(x_43); +if (x_56 == 0) +{ +return x_43; +} +else +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_43, 0); +x_58 = lean_ctor_get(x_43, 1); +lean_inc(x_58); +lean_inc(x_57); +lean_dec(x_43); +x_59 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_59, 0, x_57); +lean_ctor_set(x_59, 1, x_58); +return x_59; +} +} +} +else +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; uint8_t x_65; lean_object* x_66; +x_60 = lean_ctor_get(x_1, 0); +x_61 = lean_ctor_get(x_1, 1); +x_62 = lean_ctor_get(x_1, 2); +x_63 = lean_ctor_get(x_1, 3); +x_64 = lean_ctor_get(x_1, 4); +x_65 = lean_ctor_get_uint8(x_1, sizeof(void*)*5); +lean_inc(x_64); +lean_inc(x_63); +lean_inc(x_62); +lean_inc(x_61); +lean_inc(x_60); +lean_dec(x_1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_66 = l_Lean_Meta_instantiateMVarsImp(x_63, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_66) == 0) +{ +lean_object* x_67; lean_object* x_68; lean_object* x_69; +x_67 = lean_ctor_get(x_66, 0); +lean_inc(x_67); +x_68 = lean_ctor_get(x_66, 1); +lean_inc(x_68); +lean_dec(x_66); +x_69 = l_Lean_Meta_instantiateMVarsImp(x_64, x_2, x_3, x_4, x_5, x_68); +if (lean_obj_tag(x_69) == 0) +{ +lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; +x_70 = lean_ctor_get(x_69, 0); +lean_inc(x_70); +x_71 = lean_ctor_get(x_69, 1); +lean_inc(x_71); +if (lean_is_exclusive(x_69)) { + lean_ctor_release(x_69, 0); + lean_ctor_release(x_69, 1); + x_72 = x_69; +} else { + lean_dec_ref(x_69); + x_72 = lean_box(0); +} +x_73 = lean_alloc_ctor(1, 5, 1); +lean_ctor_set(x_73, 0, x_60); +lean_ctor_set(x_73, 1, x_61); +lean_ctor_set(x_73, 2, x_62); +lean_ctor_set(x_73, 3, x_67); +lean_ctor_set(x_73, 4, x_70); +lean_ctor_set_uint8(x_73, sizeof(void*)*5, x_65); +if (lean_is_scalar(x_72)) { + x_74 = lean_alloc_ctor(0, 2, 0); +} else { + x_74 = x_72; +} +lean_ctor_set(x_74, 0, x_73); +lean_ctor_set(x_74, 1, x_71); +return x_74; +} +else +{ +lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; +lean_dec(x_67); +lean_dec(x_62); +lean_dec(x_61); +lean_dec(x_60); +x_75 = lean_ctor_get(x_69, 0); +lean_inc(x_75); +x_76 = lean_ctor_get(x_69, 1); +lean_inc(x_76); +if (lean_is_exclusive(x_69)) { + lean_ctor_release(x_69, 0); + lean_ctor_release(x_69, 1); + x_77 = x_69; +} else { + lean_dec_ref(x_69); + x_77 = lean_box(0); +} +if (lean_is_scalar(x_77)) { + x_78 = lean_alloc_ctor(1, 2, 0); +} else { + x_78 = x_77; +} +lean_ctor_set(x_78, 0, x_75); +lean_ctor_set(x_78, 1, x_76); +return x_78; +} +} +else +{ +lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; +lean_dec(x_64); +lean_dec(x_62); +lean_dec(x_61); +lean_dec(x_60); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_79 = lean_ctor_get(x_66, 0); +lean_inc(x_79); +x_80 = lean_ctor_get(x_66, 1); +lean_inc(x_80); +if (lean_is_exclusive(x_66)) { + lean_ctor_release(x_66, 0); + lean_ctor_release(x_66, 1); + x_81 = x_66; +} else { + lean_dec_ref(x_66); + x_81 = lean_box(0); +} +if (lean_is_scalar(x_81)) { + x_82 = lean_alloc_ctor(1, 2, 0); +} else { + x_82 = x_81; +} +lean_ctor_set(x_82, 0, x_79); +lean_ctor_set(x_82, 1, x_80); +return x_82; +} +} +} +} +} +lean_object* l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_7; lean_object* x_8; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_7 = lean_box(0); +x_8 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_6); +return x_8; +} +else +{ +uint8_t x_9; +x_9 = !lean_is_exclusive(x_1); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_10 = lean_ctor_get(x_1, 0); +x_11 = lean_ctor_get(x_1, 1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_12 = l_Lean_Meta_instantiateLocalDeclMVars___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__1(x_10, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +x_15 = l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(x_11, x_2, x_3, x_4, x_5, x_14); +if (lean_obj_tag(x_15) == 0) +{ +uint8_t x_16; +x_16 = !lean_is_exclusive(x_15); +if (x_16 == 0) +{ +lean_object* x_17; +x_17 = lean_ctor_get(x_15, 0); +lean_ctor_set(x_1, 1, x_17); +lean_ctor_set(x_1, 0, x_13); +lean_ctor_set(x_15, 0, x_1); +return x_15; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_15, 0); +x_19 = lean_ctor_get(x_15, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_15); +lean_ctor_set(x_1, 1, x_18); +lean_ctor_set(x_1, 0, x_13); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_1); +lean_ctor_set(x_20, 1, x_19); +return x_20; +} +} +else +{ +uint8_t x_21; +lean_dec(x_13); +lean_free_object(x_1); +x_21 = !lean_is_exclusive(x_15); +if (x_21 == 0) +{ +return x_15; +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_15, 0); +x_23 = lean_ctor_get(x_15, 1); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_15); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +return x_24; +} +} +} +else +{ +uint8_t x_25; +lean_free_object(x_1); +lean_dec(x_11); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_25 = !lean_is_exclusive(x_12); +if (x_25 == 0) +{ +return x_12; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_12, 0); +x_27 = lean_ctor_get(x_12, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_12); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_1, 0); +x_30 = lean_ctor_get(x_1, 1); +lean_inc(x_30); +lean_inc(x_29); +lean_dec(x_1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_31 = l_Lean_Meta_instantiateLocalDeclMVars___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__1(x_29, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_31) == 0) +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +lean_dec(x_31); +x_34 = l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(x_30, x_2, x_3, x_4, x_5, x_33); +if (lean_obj_tag(x_34) == 0) +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_35 = lean_ctor_get(x_34, 0); +lean_inc(x_35); +x_36 = lean_ctor_get(x_34, 1); +lean_inc(x_36); +if (lean_is_exclusive(x_34)) { + lean_ctor_release(x_34, 0); + lean_ctor_release(x_34, 1); + x_37 = x_34; +} else { + lean_dec_ref(x_34); + x_37 = lean_box(0); +} +x_38 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_38, 0, x_32); +lean_ctor_set(x_38, 1, x_35); +if (lean_is_scalar(x_37)) { + x_39 = lean_alloc_ctor(0, 2, 0); +} else { + x_39 = x_37; +} +lean_ctor_set(x_39, 0, x_38); +lean_ctor_set(x_39, 1, x_36); +return x_39; +} +else +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; +lean_dec(x_32); +x_40 = lean_ctor_get(x_34, 0); +lean_inc(x_40); +x_41 = lean_ctor_get(x_34, 1); +lean_inc(x_41); +if (lean_is_exclusive(x_34)) { + lean_ctor_release(x_34, 0); + lean_ctor_release(x_34, 1); + x_42 = x_34; +} else { + lean_dec_ref(x_34); + x_42 = lean_box(0); +} +if (lean_is_scalar(x_42)) { + x_43 = lean_alloc_ctor(1, 2, 0); +} else { + x_43 = x_42; +} +lean_ctor_set(x_43, 0, x_40); +lean_ctor_set(x_43, 1, x_41); +return x_43; +} +} +else +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; +lean_dec(x_30); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_44 = lean_ctor_get(x_31, 0); +lean_inc(x_44); +x_45 = lean_ctor_get(x_31, 1); +lean_inc(x_45); +if (lean_is_exclusive(x_31)) { + lean_ctor_release(x_31, 0); + lean_ctor_release(x_31, 1); + x_46 = x_31; +} else { + lean_dec_ref(x_31); + x_46 = lean_box(0); +} +if (lean_is_scalar(x_46)) { + x_47 = lean_alloc_ctor(1, 2, 0); +} else { + x_47 = x_46; +} +lean_ctor_set(x_47, 0, x_44); +lean_ctor_set(x_47, 1, x_45); +return x_47; +} +} +} +} +} +lean_object* l_Lean_Meta_Match_instantiateAltLHSMVars(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +uint8_t x_7; +x_7 = !lean_is_exclusive(x_1); +if (x_7 == 0) +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_8 = lean_ctor_get(x_1, 0); +x_9 = lean_ctor_get(x_1, 1); +x_10 = lean_ctor_get(x_1, 2); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_11 = l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(x_9, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_11) == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_11, 1); +lean_inc(x_13); +lean_dec(x_11); +x_14 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_10, x_2, x_3, x_4, x_5, x_13); +if (lean_obj_tag(x_14) == 0) +{ +uint8_t x_15; +x_15 = !lean_is_exclusive(x_14); +if (x_15 == 0) +{ +lean_object* x_16; +x_16 = lean_ctor_get(x_14, 0); +lean_ctor_set(x_1, 2, x_16); +lean_ctor_set(x_1, 1, x_12); +lean_ctor_set(x_14, 0, x_1); +return x_14; +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_ctor_get(x_14, 0); +x_18 = lean_ctor_get(x_14, 1); +lean_inc(x_18); +lean_inc(x_17); +lean_dec(x_14); +lean_ctor_set(x_1, 2, x_17); +lean_ctor_set(x_1, 1, x_12); +x_19 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_19, 0, x_1); +lean_ctor_set(x_19, 1, x_18); +return x_19; +} +} +else +{ +uint8_t x_20; +lean_dec(x_12); +lean_free_object(x_1); +lean_dec(x_8); +x_20 = !lean_is_exclusive(x_14); +if (x_20 == 0) +{ +return x_14; +} +else +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_14, 0); +x_22 = lean_ctor_get(x_14, 1); +lean_inc(x_22); +lean_inc(x_21); +lean_dec(x_14); +x_23 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_23, 0, x_21); +lean_ctor_set(x_23, 1, x_22); +return x_23; +} +} +} +else +{ +uint8_t x_24; +lean_free_object(x_1); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_24 = !lean_is_exclusive(x_11); +if (x_24 == 0) +{ +return x_11; +} +else +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_11, 0); +x_26 = lean_ctor_get(x_11, 1); +lean_inc(x_26); +lean_inc(x_25); +lean_dec(x_11); +x_27 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_27, 0, x_25); +lean_ctor_set(x_27, 1, x_26); +return x_27; +} +} +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_28 = lean_ctor_get(x_1, 0); +x_29 = lean_ctor_get(x_1, 1); +x_30 = lean_ctor_get(x_1, 2); +lean_inc(x_30); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_31 = l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(x_29, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_31) == 0) +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +lean_dec(x_31); +x_34 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_30, x_2, x_3, x_4, x_5, x_33); +if (lean_obj_tag(x_34) == 0) +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_35 = lean_ctor_get(x_34, 0); +lean_inc(x_35); +x_36 = lean_ctor_get(x_34, 1); +lean_inc(x_36); +if (lean_is_exclusive(x_34)) { + lean_ctor_release(x_34, 0); + lean_ctor_release(x_34, 1); + x_37 = x_34; +} else { + lean_dec_ref(x_34); + x_37 = lean_box(0); +} +x_38 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_38, 0, x_28); +lean_ctor_set(x_38, 1, x_32); +lean_ctor_set(x_38, 2, x_35); +if (lean_is_scalar(x_37)) { + x_39 = lean_alloc_ctor(0, 2, 0); +} else { + x_39 = x_37; +} +lean_ctor_set(x_39, 0, x_38); +lean_ctor_set(x_39, 1, x_36); +return x_39; +} +else +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; +lean_dec(x_32); +lean_dec(x_28); +x_40 = lean_ctor_get(x_34, 0); +lean_inc(x_40); +x_41 = lean_ctor_get(x_34, 1); +lean_inc(x_41); +if (lean_is_exclusive(x_34)) { + lean_ctor_release(x_34, 0); + lean_ctor_release(x_34, 1); + x_42 = x_34; +} else { + lean_dec_ref(x_34); + x_42 = lean_box(0); +} +if (lean_is_scalar(x_42)) { + x_43 = lean_alloc_ctor(1, 2, 0); +} else { + x_43 = x_42; +} +lean_ctor_set(x_43, 0, x_40); +lean_ctor_set(x_43, 1, x_41); +return x_43; +} +} +else +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; +lean_dec(x_30); +lean_dec(x_28); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_44 = lean_ctor_get(x_31, 0); +lean_inc(x_44); +x_45 = lean_ctor_get(x_31, 1); +lean_inc(x_45); +if (lean_is_exclusive(x_31)) { + lean_ctor_release(x_31, 0); + lean_ctor_release(x_31, 1); + x_46 = x_31; +} else { + lean_dec_ref(x_31); + x_46 = lean_box(0); +} +if (lean_is_scalar(x_46)) { + x_47 = lean_alloc_ctor(1, 2, 0); +} else { + x_47 = x_46; +} +lean_ctor_set(x_47, 0, x_44); +lean_ctor_set(x_47, 1, x_45); +return x_47; +} +} +} +} +static lean_object* _init_l_Lean_Meta_Match_Alt_instInhabitedAlt___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = lean_box(0); +x_2 = lean_box(0); +x_3 = lean_unsigned_to_nat(0u); +x_4 = l_Lean_Expr_instInhabitedExpr___closed__1; +x_5 = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(x_5, 0, x_2); +lean_ctor_set(x_5, 1, x_3); +lean_ctor_set(x_5, 2, x_4); +lean_ctor_set(x_5, 3, x_1); +lean_ctor_set(x_5, 4, x_1); +return x_5; +} +} +static lean_object* _init_l_Lean_Meta_Match_Alt_instInhabitedAlt() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_Meta_Match_Alt_instInhabitedAlt___closed__1; +return x_1; +} +} +static lean_object* _init_l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string(":("); +return x_1; +} +} +static lean_object* _init_l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__1; +x_2 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__2; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1(lean_object* x_1) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_2; +x_2 = lean_box(0); +return x_2; +} +else +{ +uint8_t x_3; +x_3 = !lean_is_exclusive(x_1); +if (x_3 == 0) +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_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; +x_4 = lean_ctor_get(x_1, 0); +x_5 = lean_ctor_get(x_1, 1); +x_6 = l_Lean_LocalDecl_toExpr(x_4); +x_7 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_7, 0, x_6); +x_8 = l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__3; +x_9 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_9, 0, x_7); +lean_ctor_set(x_9, 1, x_8); +x_10 = l_Lean_LocalDecl_type(x_4); +lean_dec(x_4); +x_11 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_11, 0, x_10); +x_12 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_12, 0, x_9); +lean_ctor_set(x_12, 1, x_11); +x_13 = l_Lean_instToMessageDataOption___rarg___closed__4; +x_14 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_14, 0, x_12); +lean_ctor_set(x_14, 1, x_13); +x_15 = l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1(x_5); +lean_ctor_set(x_1, 1, x_15); +lean_ctor_set(x_1, 0, x_14); +return x_1; +} +else +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_16 = lean_ctor_get(x_1, 0); +x_17 = lean_ctor_get(x_1, 1); +lean_inc(x_17); +lean_inc(x_16); +lean_dec(x_1); +x_18 = l_Lean_LocalDecl_toExpr(x_16); +x_19 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_19, 0, x_18); +x_20 = l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__3; +x_21 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_20); +x_22 = l_Lean_LocalDecl_type(x_16); +lean_dec(x_16); +x_23 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_23, 0, x_22); +x_24 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_24, 0, x_21); +lean_ctor_set(x_24, 1, x_23); +x_25 = l_Lean_instToMessageDataOption___rarg___closed__4; +x_26 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_26, 0, x_24); +lean_ctor_set(x_26, 1, x_25); +x_27 = l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1(x_17); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +} +lean_object* l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; +x_8 = l___private_Lean_Meta_Basic_0__Lean_Meta_withExistingLocalDeclsImp___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_8) == 0) +{ +uint8_t x_9; +x_9 = !lean_is_exclusive(x_8); +if (x_9 == 0) +{ +return x_8; +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_10 = lean_ctor_get(x_8, 0); +x_11 = lean_ctor_get(x_8, 1); +lean_inc(x_11); +lean_inc(x_10); +lean_dec(x_8); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_10); +lean_ctor_set(x_12, 1, x_11); +return x_12; +} +} +else +{ +uint8_t x_13; +x_13 = !lean_is_exclusive(x_8); +if (x_13 == 0) +{ +return x_8; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_14 = lean_ctor_get(x_8, 0); +x_15 = lean_ctor_get(x_8, 1); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_8); +x_16 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_16, 0, x_14); +lean_ctor_set(x_16, 1, x_15); +return x_16; +} +} +} +} +lean_object* l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__2(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__2___rarg), 7, 0); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Match_Alt_toMessageData___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string(" |- "); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_Match_Alt_toMessageData___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_Match_Alt_toMessageData___closed__1; +x_2 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Match_Alt_toMessageData___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_Match_Alt_toMessageData___closed__2; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Match_Alt_toMessageData___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_List_map___at_Lean_Meta_DiscrTree_Trie_format___spec__2___rarg___closed__1; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +lean_object* l_Lean_Meta_Match_Alt_toMessageData(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_7 = lean_ctor_get(x_1, 3); +lean_inc(x_7); +lean_inc(x_7); +x_8 = l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1(x_7); +x_9 = l_Lean_MessageData_ofList(x_8); +lean_dec(x_8); +x_10 = l_Lean_Meta_Match_Alt_toMessageData___closed__3; +x_11 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_11, 0, x_9); +lean_ctor_set(x_11, 1, x_10); +x_12 = lean_ctor_get(x_1, 4); +lean_inc(x_12); +x_13 = l_List_map___at_Lean_Meta_Match_Pattern_toMessageData___spec__2(x_12); +x_14 = l_Lean_MessageData_ofList(x_13); +lean_dec(x_13); +x_15 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_15, 0, x_11); +lean_ctor_set(x_15, 1, x_14); +x_16 = l_Lean_Meta_Match_Alt_toMessageData___closed__4; +x_17 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_17, 0, x_15); +lean_ctor_set(x_17, 1, x_16); +x_18 = lean_ctor_get(x_1, 2); +lean_inc(x_18); +lean_dec(x_1); +x_19 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_19, 0, x_18); +x_20 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_20, 0, x_17); +lean_ctor_set(x_20, 1, x_19); +x_21 = lean_alloc_closure((void*)(l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1___boxed), 6, 1); +lean_closure_set(x_21, 0, x_20); +x_22 = l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__2___rarg(x_7, x_21, x_2, x_3, x_4, x_5, x_6); +return x_22; +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_3; +x_3 = lean_box(0); +return x_3; +} +else +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_2); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_5 = lean_ctor_get(x_2, 0); +x_6 = lean_ctor_get(x_2, 1); +x_7 = l_Lean_LocalDecl_applyFVarSubst(x_1, x_5); +x_8 = l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1(x_1, x_6); +lean_ctor_set(x_2, 1, x_8); +lean_ctor_set(x_2, 0, x_7); +return x_2; +} +else +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_9 = lean_ctor_get(x_2, 0); +x_10 = lean_ctor_get(x_2, 1); +lean_inc(x_10); +lean_inc(x_9); +lean_dec(x_2); +x_11 = l_Lean_LocalDecl_applyFVarSubst(x_1, x_9); +x_12 = l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1(x_1, x_10); +x_13 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_13, 0, x_11); +lean_ctor_set(x_13, 1, x_12); +return x_13; +} +} +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_3; +x_3 = lean_box(0); +return x_3; +} +else +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_2); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_5 = lean_ctor_get(x_2, 0); +x_6 = lean_ctor_get(x_2, 1); +x_7 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_5); +x_8 = l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2(x_1, x_6); +lean_ctor_set(x_2, 1, x_8); +lean_ctor_set(x_2, 0, x_7); +return x_2; +} +else +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_9 = lean_ctor_get(x_2, 0); +x_10 = lean_ctor_get(x_2, 1); +lean_inc(x_10); +lean_inc(x_9); +lean_dec(x_2); +x_11 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_9); +x_12 = l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2(x_1, x_10); +x_13 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_13, 0, x_11); +lean_ctor_set(x_13, 1, x_12); +return x_13; +} +} +} +} +lean_object* l_Lean_Meta_Match_Alt_applyFVarSubst(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; +x_3 = !lean_is_exclusive(x_2); +if (x_3 == 0) +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; +x_4 = lean_ctor_get(x_2, 2); +x_5 = lean_ctor_get(x_2, 3); +x_6 = lean_ctor_get(x_2, 4); +x_7 = l_Lean_Meta_FVarSubst_apply(x_1, x_4); +x_8 = l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1(x_1, x_5); +x_9 = l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2(x_1, x_6); +lean_ctor_set(x_2, 4, x_9); +lean_ctor_set(x_2, 3, x_8); +lean_ctor_set(x_2, 2, x_7); +return x_2; +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_10 = lean_ctor_get(x_2, 0); +x_11 = lean_ctor_get(x_2, 1); +x_12 = lean_ctor_get(x_2, 2); +x_13 = lean_ctor_get(x_2, 3); +x_14 = lean_ctor_get(x_2, 4); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_dec(x_2); +x_15 = l_Lean_Meta_FVarSubst_apply(x_1, x_12); +x_16 = l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1(x_1, x_13); +x_17 = l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2(x_1, x_14); +x_18 = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(x_18, 0, x_10); +lean_ctor_set(x_18, 1, x_11); +lean_ctor_set(x_18, 2, x_15); +lean_ctor_set(x_18, 3, x_16); +lean_ctor_set(x_18, 4, x_17); +return x_18; +} +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1(x_1, x_2); +lean_dec(x_1); +return x_3; +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2(x_1, x_2); +lean_dec(x_1); +return x_3; +} +} +lean_object* l_Lean_Meta_Match_Alt_applyFVarSubst___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Lean_Meta_Match_Alt_applyFVarSubst(x_1, x_2); +lean_dec(x_1); +return x_3; +} +} +lean_object* l_List_filterAux___at_Lean_Meta_Match_Alt_replaceFVarId___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_4; +x_4 = l_List_reverse___rarg(x_3); +return x_4; +} +else +{ +uint8_t x_5; +x_5 = !lean_is_exclusive(x_2); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9; +x_6 = lean_ctor_get(x_2, 0); +x_7 = lean_ctor_get(x_2, 1); +x_8 = l_Lean_LocalDecl_fvarId(x_6); +x_9 = lean_name_eq(x_8, x_1); +lean_dec(x_8); +if (x_9 == 0) +{ +lean_ctor_set(x_2, 1, x_3); +{ +lean_object* _tmp_1 = x_7; +lean_object* _tmp_2 = x_2; +x_2 = _tmp_1; +x_3 = _tmp_2; +} +goto _start; +} +else +{ +lean_free_object(x_2); +lean_dec(x_6); +x_2 = x_7; +goto _start; +} +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; +x_12 = lean_ctor_get(x_2, 0); +x_13 = lean_ctor_get(x_2, 1); +lean_inc(x_13); +lean_inc(x_12); +lean_dec(x_2); +x_14 = l_Lean_LocalDecl_fvarId(x_12); +x_15 = lean_name_eq(x_14, x_1); +lean_dec(x_14); +if (x_15 == 0) +{ +lean_object* x_16; +x_16 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_16, 0, x_12); +lean_ctor_set(x_16, 1, x_3); +x_2 = x_13; +x_3 = x_16; +goto _start; +} +else +{ +lean_dec(x_12); +x_2 = x_13; +goto _start; +} +} +} +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_3) == 0) +{ +lean_object* x_4; +lean_dec(x_1); +x_4 = lean_box(0); +return x_4; +} +else +{ +uint8_t x_5; +x_5 = !lean_is_exclusive(x_3); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; +x_6 = lean_ctor_get(x_3, 0); +x_7 = lean_ctor_get(x_3, 1); +lean_inc(x_1); +x_8 = l_Lean_replaceFVarIdAtLocalDecl(x_1, x_2, x_6); +x_9 = l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__2(x_1, x_2, x_7); +lean_ctor_set(x_3, 1, x_9); +lean_ctor_set(x_3, 0, x_8); +return x_3; +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_10 = lean_ctor_get(x_3, 0); +x_11 = lean_ctor_get(x_3, 1); +lean_inc(x_11); +lean_inc(x_10); +lean_dec(x_3); +lean_inc(x_1); +x_12 = l_Lean_replaceFVarIdAtLocalDecl(x_1, x_2, x_10); +x_13 = l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__2(x_1, x_2, x_11); +x_14 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_14, 0, x_12); +lean_ctor_set(x_14, 1, x_13); +return x_14; +} +} +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_3) == 0) +{ +lean_object* x_4; +lean_dec(x_2); +lean_dec(x_1); +x_4 = lean_box(0); +return x_4; +} +else +{ +uint8_t x_5; +x_5 = !lean_is_exclusive(x_3); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; +x_6 = lean_ctor_get(x_3, 0); +x_7 = lean_ctor_get(x_3, 1); +lean_inc(x_2); +lean_inc(x_1); +x_8 = l_Lean_Meta_Match_Pattern_replaceFVarId(x_1, x_2, x_6); +x_9 = l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__3(x_1, x_2, x_7); +lean_ctor_set(x_3, 1, x_9); +lean_ctor_set(x_3, 0, x_8); +return x_3; +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_10 = lean_ctor_get(x_3, 0); +x_11 = lean_ctor_get(x_3, 1); +lean_inc(x_11); +lean_inc(x_10); +lean_dec(x_3); +lean_inc(x_2); +lean_inc(x_1); +x_12 = l_Lean_Meta_Match_Pattern_replaceFVarId(x_1, x_2, x_10); +x_13 = l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__3(x_1, x_2, x_11); +x_14 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_14, 0, x_12); +lean_ctor_set(x_14, 1, x_13); +return x_14; +} +} +} +} +lean_object* l_Lean_Meta_Match_Alt_replaceFVarId(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_3); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_5 = lean_ctor_get(x_3, 2); +x_6 = lean_ctor_get(x_3, 3); +x_7 = lean_ctor_get(x_3, 4); +lean_inc(x_1); +x_8 = l_Lean_Expr_replaceFVarId(x_5, x_1, x_2); +lean_dec(x_5); +x_9 = lean_box(0); +x_10 = l_List_filterAux___at_Lean_Meta_Match_Alt_replaceFVarId___spec__1(x_1, x_6, x_9); +lean_inc(x_1); +x_11 = l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__2(x_1, x_2, x_10); +x_12 = l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__3(x_1, x_2, x_7); +lean_ctor_set(x_3, 4, x_12); +lean_ctor_set(x_3, 3, x_11); +lean_ctor_set(x_3, 2, x_8); +return x_3; +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_13 = lean_ctor_get(x_3, 0); +x_14 = lean_ctor_get(x_3, 1); +x_15 = lean_ctor_get(x_3, 2); +x_16 = lean_ctor_get(x_3, 3); +x_17 = lean_ctor_get(x_3, 4); +lean_inc(x_17); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_dec(x_3); +lean_inc(x_1); +x_18 = l_Lean_Expr_replaceFVarId(x_15, x_1, x_2); +lean_dec(x_15); +x_19 = lean_box(0); +x_20 = l_List_filterAux___at_Lean_Meta_Match_Alt_replaceFVarId___spec__1(x_1, x_16, x_19); +lean_inc(x_1); +x_21 = l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__2(x_1, x_2, x_20); +x_22 = l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__3(x_1, x_2, x_17); +x_23 = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(x_23, 0, x_13); +lean_ctor_set(x_23, 1, x_14); +lean_ctor_set(x_23, 2, x_18); +lean_ctor_set(x_23, 3, x_21); +lean_ctor_set(x_23, 4, x_22); +return x_23; +} +} +} +lean_object* l_List_filterAux___at_Lean_Meta_Match_Alt_replaceFVarId___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_List_filterAux___at_Lean_Meta_Match_Alt_replaceFVarId___spec__1(x_1, x_2, x_3); +lean_dec(x_1); +return x_4; +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__2(x_1, x_2, x_3); +lean_dec(x_2); +return x_4; +} +} +lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; lean_object* x_5; +lean_dec(x_3); +x_4 = lean_box(0); +x_5 = lean_apply_1(x_2, x_4); +return x_5; +} +else +{ +lean_object* x_6; lean_object* x_7; +lean_dec(x_2); +x_6 = lean_ctor_get(x_1, 0); +lean_inc(x_6); +lean_dec(x_1); +x_7 = lean_apply_1(x_3, x_6); +return x_7; +} +} +} +lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Alt_checkAndReplaceFVarId_match__1___rarg), 3, 0); +return x_2; +} +} +lean_object* l_Lean_throwErrorAt___at_Lean_Meta_Match_Alt_checkAndReplaceFVarId___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +uint8_t x_9; +x_9 = !lean_is_exclusive(x_6); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_10 = lean_ctor_get(x_6, 3); +x_11 = l_Lean_replaceRef(x_1, x_10); +lean_dec(x_10); +lean_ctor_set(x_6, 3, x_11); +x_12 = l_Lean_throwError___at_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_1022____spec__1(x_2, lean_box(0), x_4, x_5, x_6, x_7, x_8); +lean_dec(x_6); +return x_12; +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_13 = lean_ctor_get(x_6, 0); +x_14 = lean_ctor_get(x_6, 1); +x_15 = lean_ctor_get(x_6, 2); +x_16 = lean_ctor_get(x_6, 3); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_dec(x_6); +x_17 = l_Lean_replaceRef(x_1, x_16); +lean_dec(x_16); +x_18 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_18, 0, x_13); +lean_ctor_set(x_18, 1, x_14); +lean_ctor_set(x_18, 2, x_15); +lean_ctor_set(x_18, 3, x_17); +x_19 = l_Lean_throwError___at_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_1022____spec__1(x_2, lean_box(0), x_4, x_5, x_18, x_7, x_8); +lean_dec(x_18); +return x_19; +} +} +} +lean_object* l_Lean_Meta_isExprDefEqGuarded___at_Lean_Meta_Match_Alt_checkAndReplaceFVarId___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; +x_8 = l_Lean_Meta_isExprDefEqImp(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_8) == 0) +{ +return x_8; +} +else +{ +uint8_t x_9; +x_9 = !lean_is_exclusive(x_8); +if (x_9 == 0) +{ +lean_object* x_10; uint8_t x_11; lean_object* x_12; +x_10 = lean_ctor_get(x_8, 0); +lean_dec(x_10); +x_11 = 0; +x_12 = lean_box(x_11); +lean_ctor_set_tag(x_8, 0); +lean_ctor_set(x_8, 0, x_12); +return x_8; +} +else +{ +lean_object* x_13; uint8_t x_14; lean_object* x_15; lean_object* x_16; +x_13 = lean_ctor_get(x_8, 1); +lean_inc(x_13); +lean_dec(x_8); +x_14 = 0; +x_15 = lean_box(x_14); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_15); +lean_ctor_set(x_16, 1, x_13); +return x_16; +} +} +} +} +uint8_t l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; uint8_t x_4; +x_3 = l_Lean_LocalDecl_fvarId(x_2); +x_4 = lean_name_eq(x_3, x_1); +lean_dec(x_3); +return x_4; +} +} +lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; lean_object* x_11; +x_10 = l_Lean_Meta_Match_Alt_replaceFVarId(x_1, x_2, x_3); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_10); +lean_ctor_set(x_11, 1, x_9); +return x_11; +} +} +static lean_object* _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("unknown free pattern variable"); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__1; +x_2 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__2; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__4() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("type mismatch during dependent match-elimination at pattern variable '"); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__4; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__6() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("' with type"); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__6; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__8() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("\nexpected type"); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__8; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; +lean_inc(x_1); +x_9 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__1___boxed), 2, 1); +lean_closure_set(x_9, 0, x_1); +x_10 = lean_ctor_get(x_3, 3); +lean_inc(x_10); +lean_inc(x_10); +x_11 = l_List_find_x3f___rarg(x_9, x_10); +if (lean_obj_tag(x_11) == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +lean_dec(x_10); +lean_dec(x_2); +lean_dec(x_1); +x_12 = lean_ctor_get(x_3, 0); +lean_inc(x_12); +lean_dec(x_3); +x_13 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__3; +x_14 = l_Lean_throwErrorAt___at_Lean_Meta_Match_Alt_checkAndReplaceFVarId___spec__1(x_12, x_13, lean_box(0), x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_12); +return x_14; +} +else +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_ctor_get(x_11, 0); +lean_inc(x_15); +lean_dec(x_11); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_2); +x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_2, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_16) == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +x_19 = l_Lean_LocalDecl_type(x_15); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_17); +lean_inc(x_19); +x_20 = l_Lean_Meta_isExprDefEqGuarded___at_Lean_Meta_Match_Alt_checkAndReplaceFVarId___spec__2(x_19, x_17, x_4, x_5, x_6, x_7, x_18); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; uint8_t x_22; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_unbox(x_21); +lean_dec(x_21); +if (x_22 == 0) +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_23 = lean_ctor_get(x_20, 1); +lean_inc(x_23); +lean_dec(x_20); +x_24 = lean_ctor_get(x_3, 0); +lean_inc(x_24); +x_25 = l_Lean_LocalDecl_fvarId(x_15); +lean_dec(x_15); +x_26 = l_Lean_mkFVar(x_25); +x_27 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_27, 0, x_26); +x_28 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__5; +x_29 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_29, 0, x_28); +lean_ctor_set(x_29, 1, x_27); +x_30 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__7; +x_31 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_31, 0, x_29); +lean_ctor_set(x_31, 1, x_30); +x_32 = l_Lean_indentExpr(x_19); +x_33 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_33, 0, x_31); +lean_ctor_set(x_33, 1, x_32); +x_34 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__9; +x_35 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_35, 0, x_33); +lean_ctor_set(x_35, 1, x_34); +x_36 = l_Lean_indentExpr(x_17); +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_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; +x_39 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_39, 0, x_37); +lean_ctor_set(x_39, 1, x_38); +x_40 = lean_alloc_closure((void*)(l_Lean_throwErrorAt___at_Lean_Meta_Match_Alt_checkAndReplaceFVarId___spec__1___boxed), 8, 3); +lean_closure_set(x_40, 0, x_24); +lean_closure_set(x_40, 1, x_39); +lean_closure_set(x_40, 2, lean_box(0)); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_41 = l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__2___rarg(x_10, x_40, x_4, x_5, x_6, x_7, x_23); +if (lean_obj_tag(x_41) == 0) +{ +lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_42 = lean_ctor_get(x_41, 0); +lean_inc(x_42); +x_43 = lean_ctor_get(x_41, 1); +lean_inc(x_43); +lean_dec(x_41); +x_44 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__2(x_1, x_2, x_3, x_42, x_4, x_5, x_6, x_7, x_43); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_42); +return x_44; +} +else +{ +uint8_t x_45; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_45 = !lean_is_exclusive(x_41); +if (x_45 == 0) +{ +return x_41; +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_41, 0); +x_47 = lean_ctor_get(x_41, 1); +lean_inc(x_47); +lean_inc(x_46); +lean_dec(x_41); +x_48 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_47); +return x_48; +} +} +} +else +{ +lean_object* x_49; lean_object* x_50; lean_object* x_51; +lean_dec(x_19); +lean_dec(x_17); +lean_dec(x_15); +lean_dec(x_10); +x_49 = lean_ctor_get(x_20, 1); +lean_inc(x_49); +lean_dec(x_20); +x_50 = lean_box(0); +x_51 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__2(x_1, x_2, x_3, x_50, x_4, x_5, x_6, x_7, x_49); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +return x_51; +} +} +else +{ +uint8_t x_52; +lean_dec(x_19); +lean_dec(x_17); +lean_dec(x_15); +lean_dec(x_10); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_52 = !lean_is_exclusive(x_20); +if (x_52 == 0) +{ +return x_20; +} +else +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_53 = lean_ctor_get(x_20, 0); +x_54 = lean_ctor_get(x_20, 1); +lean_inc(x_54); +lean_inc(x_53); +lean_dec(x_20); +x_55 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_55, 0, x_53); +lean_ctor_set(x_55, 1, x_54); +return x_55; +} +} +} +else +{ +uint8_t x_56; +lean_dec(x_15); +lean_dec(x_10); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_56 = !lean_is_exclusive(x_16); +if (x_56 == 0) +{ +return x_16; +} +else +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_16, 0); +x_58 = lean_ctor_get(x_16, 1); +lean_inc(x_58); +lean_inc(x_57); +lean_dec(x_16); +x_59 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_59, 0, x_57); +lean_ctor_set(x_59, 1, x_58); +return x_59; +} +} +} +} +} +lean_object* l_Lean_throwErrorAt___at_Lean_Meta_Match_Alt_checkAndReplaceFVarId___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l_Lean_throwErrorAt___at_Lean_Meta_Match_Alt_checkAndReplaceFVarId___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +return x_9; +} +} +lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__1___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__1(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; +} +} +lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; +x_10 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +return x_10; +} +} +lean_object* l_Lean_Meta_Match_Example_replaceFVarId_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 0: +{ +lean_object* x_6; lean_object* x_7; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_6 = lean_ctor_get(x_1, 0); +lean_inc(x_6); +lean_dec(x_1); +x_7 = lean_apply_1(x_2, x_6); +return x_7; +} +case 2: +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +x_8 = lean_ctor_get(x_1, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_1, 1); +lean_inc(x_9); +lean_dec(x_1); +x_10 = lean_apply_2(x_3, x_8, x_9); +return x_10; +} +case 4: +{ +lean_object* x_11; lean_object* x_12; +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +x_11 = lean_ctor_get(x_1, 0); +lean_inc(x_11); +lean_dec(x_1); +x_12 = lean_apply_1(x_4, x_11); +return x_12; +} +default: +{ +lean_object* x_13; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_13 = lean_apply_1(x_5, x_1); +return x_13; +} +} +} +} +lean_object* l_Lean_Meta_Match_Example_replaceFVarId_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Example_replaceFVarId_match__1___rarg), 5, 0); +return x_2; +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_3) == 0) +{ +lean_object* x_4; +x_4 = lean_box(0); +return x_4; +} +else +{ +uint8_t x_5; +x_5 = !lean_is_exclusive(x_3); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; +x_6 = lean_ctor_get(x_3, 0); +x_7 = lean_ctor_get(x_3, 1); +x_8 = l_Lean_Meta_Match_Example_replaceFVarId(x_1, x_2, x_6); +x_9 = l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__1(x_1, x_2, x_7); +lean_ctor_set(x_3, 1, x_9); +lean_ctor_set(x_3, 0, x_8); +return x_3; +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_10 = lean_ctor_get(x_3, 0); +x_11 = lean_ctor_get(x_3, 1); +lean_inc(x_11); +lean_inc(x_10); +lean_dec(x_3); +x_12 = l_Lean_Meta_Match_Example_replaceFVarId(x_1, x_2, x_10); +x_13 = l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__1(x_1, x_2, x_11); +x_14 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_14, 0, x_12); +lean_ctor_set(x_14, 1, x_13); +return x_14; +} +} +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_3) == 0) +{ +lean_object* x_4; +x_4 = lean_box(0); +return x_4; +} +else +{ +uint8_t x_5; +x_5 = !lean_is_exclusive(x_3); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; +x_6 = lean_ctor_get(x_3, 0); +x_7 = lean_ctor_get(x_3, 1); +x_8 = l_Lean_Meta_Match_Example_replaceFVarId(x_1, x_2, x_6); +x_9 = l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__2(x_1, x_2, x_7); +lean_ctor_set(x_3, 1, x_9); +lean_ctor_set(x_3, 0, x_8); +return x_3; +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_10 = lean_ctor_get(x_3, 0); +x_11 = lean_ctor_get(x_3, 1); +lean_inc(x_11); +lean_inc(x_10); +lean_dec(x_3); +x_12 = l_Lean_Meta_Match_Example_replaceFVarId(x_1, x_2, x_10); +x_13 = l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__2(x_1, x_2, x_11); +x_14 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_14, 0, x_12); +lean_ctor_set(x_14, 1, x_13); +return x_14; +} +} +} +} +lean_object* l_Lean_Meta_Match_Example_replaceFVarId(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +switch (lean_obj_tag(x_3)) { +case 0: +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_3); +if (x_4 == 0) +{ +lean_object* x_5; uint8_t x_6; +x_5 = lean_ctor_get(x_3, 0); +x_6 = lean_name_eq(x_5, x_1); +if (x_6 == 0) +{ +return x_3; +} +else +{ +lean_free_object(x_3); +lean_dec(x_5); +lean_inc(x_2); +return x_2; +} +} +else +{ +lean_object* x_7; uint8_t x_8; +x_7 = lean_ctor_get(x_3, 0); +lean_inc(x_7); +lean_dec(x_3); +x_8 = lean_name_eq(x_7, x_1); +if (x_8 == 0) +{ +lean_object* x_9; +x_9 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_9, 0, x_7); +return x_9; +} +else +{ +lean_dec(x_7); +lean_inc(x_2); +return x_2; +} +} +} +case 2: +{ +uint8_t x_10; +x_10 = !lean_is_exclusive(x_3); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; +x_11 = lean_ctor_get(x_3, 1); +x_12 = l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__1(x_1, x_2, x_11); +lean_ctor_set(x_3, 1, x_12); +return x_3; +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_13 = lean_ctor_get(x_3, 0); +x_14 = lean_ctor_get(x_3, 1); +lean_inc(x_14); +lean_inc(x_13); +lean_dec(x_3); +x_15 = l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__1(x_1, x_2, x_14); +x_16 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_16, 0, x_13); +lean_ctor_set(x_16, 1, x_15); +return x_16; +} +} +case 4: +{ +uint8_t x_17; +x_17 = !lean_is_exclusive(x_3); +if (x_17 == 0) +{ +lean_object* x_18; lean_object* x_19; +x_18 = lean_ctor_get(x_3, 0); +x_19 = l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__2(x_1, x_2, x_18); +lean_ctor_set(x_3, 0, x_19); +return x_3; +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_3, 0); +lean_inc(x_20); +lean_dec(x_3); +x_21 = l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__2(x_1, x_2, x_20); +x_22 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_22, 0, x_21); +return x_22; +} +} +default: +{ +return x_3; +} +} +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__1(x_1, x_2, x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_4; +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__2(x_1, x_2, x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_4; +} +} +lean_object* l_Lean_Meta_Match_Example_replaceFVarId___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_Lean_Meta_Match_Example_replaceFVarId(x_1, x_2, x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_4; +} +} +lean_object* l_Lean_Meta_Match_Example_applyFVarSubst_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 1) +{ +lean_object* x_4; uint64_t x_5; lean_object* x_6; lean_object* x_7; +lean_dec(x_3); +x_4 = lean_ctor_get(x_1, 0); +lean_inc(x_4); +x_5 = lean_ctor_get_uint64(x_1, sizeof(void*)*1); +lean_dec(x_1); +x_6 = lean_box_uint64(x_5); +x_7 = lean_apply_2(x_2, x_4, x_6); +return x_7; +} +else +{ +lean_object* x_8; +lean_dec(x_2); +x_8 = lean_apply_1(x_3, x_1); +return x_8; +} +} +} +lean_object* l_Lean_Meta_Match_Example_applyFVarSubst_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Example_applyFVarSubst_match__1___rarg), 3, 0); +return x_2; +} +} +lean_object* l_Lean_Meta_Match_Example_applyFVarSubst_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 0: +{ +lean_object* x_6; lean_object* x_7; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_6 = lean_ctor_get(x_1, 0); +lean_inc(x_6); +lean_dec(x_1); +x_7 = lean_apply_1(x_2, x_6); +return x_7; +} +case 2: +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +x_8 = lean_ctor_get(x_1, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_1, 1); +lean_inc(x_9); +lean_dec(x_1); +x_10 = lean_apply_2(x_3, x_8, x_9); +return x_10; +} +case 4: +{ +lean_object* x_11; lean_object* x_12; +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +x_11 = lean_ctor_get(x_1, 0); +lean_inc(x_11); +lean_dec(x_1); +x_12 = lean_apply_1(x_4, x_11); +return x_12; +} +default: +{ +lean_object* x_13; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_13 = lean_apply_1(x_5, x_1); +return x_13; +} +} +} +} +lean_object* l_Lean_Meta_Match_Example_applyFVarSubst_match__2(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Example_applyFVarSubst_match__2___rarg), 5, 0); +return x_2; +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_3; +x_3 = lean_box(0); +return x_3; +} +else +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_2); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_5 = lean_ctor_get(x_2, 0); +x_6 = lean_ctor_get(x_2, 1); +x_7 = l_Lean_Meta_Match_Example_applyFVarSubst(x_1, x_5); +x_8 = l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__1(x_1, x_6); +lean_ctor_set(x_2, 1, x_8); +lean_ctor_set(x_2, 0, x_7); +return x_2; +} +else +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_9 = lean_ctor_get(x_2, 0); +x_10 = lean_ctor_get(x_2, 1); +lean_inc(x_10); +lean_inc(x_9); +lean_dec(x_2); +x_11 = l_Lean_Meta_Match_Example_applyFVarSubst(x_1, x_9); +x_12 = l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__1(x_1, x_10); +x_13 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_13, 0, x_11); +lean_ctor_set(x_13, 1, x_12); +return x_13; +} +} +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__2(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_3; +x_3 = lean_box(0); +return x_3; +} +else +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_2); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_5 = lean_ctor_get(x_2, 0); +x_6 = lean_ctor_get(x_2, 1); +x_7 = l_Lean_Meta_Match_Example_applyFVarSubst(x_1, x_5); +x_8 = l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__2(x_1, x_6); +lean_ctor_set(x_2, 1, x_8); +lean_ctor_set(x_2, 0, x_7); +return x_2; +} +else +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_9 = lean_ctor_get(x_2, 0); +x_10 = lean_ctor_get(x_2, 1); +lean_inc(x_10); +lean_inc(x_9); +lean_dec(x_2); +x_11 = l_Lean_Meta_Match_Example_applyFVarSubst(x_1, x_9); +x_12 = l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__2(x_1, x_10); +x_13 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_13, 0, x_11); +lean_ctor_set(x_13, 1, x_12); +return x_13; +} +} +} +} +lean_object* l_Lean_Meta_Match_Example_applyFVarSubst(lean_object* x_1, lean_object* x_2) { +_start: +{ +switch (lean_obj_tag(x_2)) { +case 0: +{ +uint8_t x_3; +x_3 = !lean_is_exclusive(x_2); +if (x_3 == 0) +{ +lean_object* x_4; lean_object* x_5; +x_4 = lean_ctor_get(x_2, 0); +x_5 = l_Lean_Meta_FVarSubst_get(x_1, x_4); +if (lean_obj_tag(x_5) == 1) +{ +lean_object* x_6; +x_6 = lean_ctor_get(x_5, 0); +lean_inc(x_6); +lean_dec(x_5); +lean_ctor_set(x_2, 0, x_6); +return x_2; +} +else +{ +lean_object* x_7; +lean_dec(x_5); +lean_free_object(x_2); +x_7 = lean_box(1); +return x_7; +} +} +else +{ +lean_object* x_8; lean_object* x_9; +x_8 = lean_ctor_get(x_2, 0); +lean_inc(x_8); +lean_dec(x_2); +x_9 = l_Lean_Meta_FVarSubst_get(x_1, x_8); +if (lean_obj_tag(x_9) == 1) +{ +lean_object* x_10; lean_object* x_11; +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +lean_dec(x_9); +x_11 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_11, 0, x_10); +return x_11; +} +else +{ +lean_object* x_12; +lean_dec(x_9); +x_12 = lean_box(1); +return x_12; +} +} +} +case 2: +{ +uint8_t x_13; +x_13 = !lean_is_exclusive(x_2); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; +x_14 = lean_ctor_get(x_2, 1); +x_15 = l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__1(x_1, x_14); +lean_ctor_set(x_2, 1, x_15); +return x_2; +} +else +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_16 = lean_ctor_get(x_2, 0); +x_17 = lean_ctor_get(x_2, 1); +lean_inc(x_17); +lean_inc(x_16); +lean_dec(x_2); +x_18 = l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__1(x_1, x_17); +x_19 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_19, 0, x_16); +lean_ctor_set(x_19, 1, x_18); +return x_19; +} +} +case 4: +{ +uint8_t x_20; +x_20 = !lean_is_exclusive(x_2); +if (x_20 == 0) +{ +lean_object* x_21; lean_object* x_22; +x_21 = lean_ctor_get(x_2, 0); +x_22 = l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__2(x_1, x_21); +lean_ctor_set(x_2, 0, x_22); +return x_2; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_2, 0); +lean_inc(x_23); +lean_dec(x_2); +x_24 = l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__2(x_1, x_23); +x_25 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_25, 0, x_24); +return x_25; +} +} +default: +{ +return x_2; +} +} +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__1___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__1(x_1, x_2); +lean_dec(x_1); +return x_3; +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__2___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__2(x_1, x_2); +lean_dec(x_1); +return x_3; +} +} +lean_object* l_Lean_Meta_Match_Example_applyFVarSubst___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Lean_Meta_Match_Example_applyFVarSubst(x_1, x_2); +lean_dec(x_1); +return x_3; +} +} +lean_object* l_Lean_Meta_Match_Example_varsToUnderscore_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 0: +{ +lean_object* x_6; lean_object* x_7; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_6 = lean_ctor_get(x_1, 0); +lean_inc(x_6); +lean_dec(x_1); +x_7 = lean_apply_1(x_2, x_6); +return x_7; +} +case 2: +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +x_8 = lean_ctor_get(x_1, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_1, 1); +lean_inc(x_9); +lean_dec(x_1); +x_10 = lean_apply_2(x_3, x_8, x_9); +return x_10; +} +case 4: +{ +lean_object* x_11; lean_object* x_12; +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +x_11 = lean_ctor_get(x_1, 0); +lean_inc(x_11); +lean_dec(x_1); +x_12 = lean_apply_1(x_4, x_11); +return x_12; +} +default: +{ +lean_object* x_13; +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_13 = lean_apply_1(x_5, x_1); +return x_13; +} +} +} +} +lean_object* l_Lean_Meta_Match_Example_varsToUnderscore_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Example_varsToUnderscore_match__1___rarg), 5, 0); +return x_2; +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Example_varsToUnderscore___spec__1(lean_object* x_1) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_2; +x_2 = lean_box(0); +return x_2; +} +else +{ +uint8_t x_3; +x_3 = !lean_is_exclusive(x_1); +if (x_3 == 0) +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; +x_4 = lean_ctor_get(x_1, 0); +x_5 = lean_ctor_get(x_1, 1); +x_6 = l_Lean_Meta_Match_Example_varsToUnderscore(x_4); +x_7 = l_List_map___at_Lean_Meta_Match_Example_varsToUnderscore___spec__1(x_5); +lean_ctor_set(x_1, 1, x_7); +lean_ctor_set(x_1, 0, x_6); +return x_1; +} +else +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_8 = lean_ctor_get(x_1, 0); +x_9 = lean_ctor_get(x_1, 1); +lean_inc(x_9); +lean_inc(x_8); +lean_dec(x_1); +x_10 = l_Lean_Meta_Match_Example_varsToUnderscore(x_8); +x_11 = l_List_map___at_Lean_Meta_Match_Example_varsToUnderscore___spec__1(x_9); +x_12 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_12, 0, x_10); +lean_ctor_set(x_12, 1, x_11); +return x_12; +} +} +} +} +lean_object* l_Lean_Meta_Match_Example_varsToUnderscore(lean_object* x_1) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 0: +{ +lean_object* x_2; +lean_dec(x_1); +x_2 = lean_box(1); +return x_2; +} +case 2: +{ +uint8_t x_3; +x_3 = !lean_is_exclusive(x_1); +if (x_3 == 0) +{ +lean_object* x_4; lean_object* x_5; +x_4 = lean_ctor_get(x_1, 1); +x_5 = l_List_map___at_Lean_Meta_Match_Example_varsToUnderscore___spec__1(x_4); +lean_ctor_set(x_1, 1, x_5); +return x_1; +} +else +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; +x_6 = lean_ctor_get(x_1, 0); +x_7 = lean_ctor_get(x_1, 1); +lean_inc(x_7); +lean_inc(x_6); +lean_dec(x_1); +x_8 = l_List_map___at_Lean_Meta_Match_Example_varsToUnderscore___spec__1(x_7); +x_9 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_9, 0, x_6); +lean_ctor_set(x_9, 1, x_8); +return x_9; +} +} +case 4: +{ +uint8_t x_10; +x_10 = !lean_is_exclusive(x_1); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; +x_11 = lean_ctor_get(x_1, 0); +x_12 = l_List_map___at_Lean_Meta_Match_Example_varsToUnderscore___spec__1(x_11); +lean_ctor_set(x_1, 0, x_12); +return x_1; +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_1, 0); +lean_inc(x_13); +lean_dec(x_1); +x_14 = l_List_map___at_Lean_Meta_Match_Example_varsToUnderscore___spec__1(x_13); +x_15 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_15, 0, x_14); +return x_15; +} +} +default: +{ +return x_1; +} +} +} +} +lean_object* l_Lean_Meta_Match_Example_toMessageData_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 0: +{ +lean_object* x_8; lean_object* x_9; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_8 = lean_ctor_get(x_1, 0); +lean_inc(x_8); +lean_dec(x_1); +x_9 = lean_apply_1(x_2, x_8); +return x_9; +} +case 1: +{ +lean_object* x_10; lean_object* x_11; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_10 = lean_box(0); +x_11 = lean_apply_1(x_7, x_10); +return x_11; +} +case 2: +{ +lean_object* x_12; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_2); +x_12 = lean_ctor_get(x_1, 1); +lean_inc(x_12); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; lean_object* x_14; +lean_dec(x_4); +x_13 = lean_ctor_get(x_1, 0); +lean_inc(x_13); +lean_dec(x_1); +x_14 = lean_apply_1(x_3, x_13); +return x_14; +} +else +{ +lean_object* x_15; lean_object* x_16; +lean_dec(x_3); +x_15 = lean_ctor_get(x_1, 0); +lean_inc(x_15); +lean_dec(x_1); +x_16 = lean_apply_2(x_4, x_15, x_12); +return x_16; +} +} +case 3: +{ +lean_object* x_17; lean_object* x_18; +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_17 = lean_ctor_get(x_1, 0); +lean_inc(x_17); +lean_dec(x_1); +x_18 = lean_apply_1(x_6, x_17); +return x_18; +} +default: +{ +lean_object* x_19; lean_object* x_20; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_19 = lean_ctor_get(x_1, 0); +lean_inc(x_19); +lean_dec(x_1); +x_20 = lean_apply_1(x_5, x_19); +return x_20; +} +} +} +} +lean_object* l_Lean_Meta_Match_Example_toMessageData_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Example_toMessageData_match__1___rarg), 7, 0); +return x_2; +} +} +lean_object* l_List_foldl___at_Lean_Meta_Match_Example_toMessageData___spec__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +return x_1; +} +else +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_3 = lean_ctor_get(x_2, 0); +lean_inc(x_3); +x_4 = lean_ctor_get(x_2, 1); +lean_inc(x_4); +lean_dec(x_2); +x_5 = l_List_foldl___at_Lean_Meta_Match_Pattern_toMessageData___spec__1___closed__1; +x_6 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_6, 0, x_1); +lean_ctor_set(x_6, 1, x_5); +x_7 = l_Lean_Meta_Match_Example_toMessageData(x_3); +x_8 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_8, 0, x_6); +lean_ctor_set(x_8, 1, x_7); +x_1 = x_8; +x_2 = x_4; +goto _start; +} +} +} +lean_object* l_List_map___at_Lean_Meta_Match_Example_toMessageData___spec__2(lean_object* x_1) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_2; +x_2 = lean_box(0); +return x_2; +} +else +{ +uint8_t x_3; +x_3 = !lean_is_exclusive(x_1); +if (x_3 == 0) +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; +x_4 = lean_ctor_get(x_1, 0); +x_5 = lean_ctor_get(x_1, 1); +x_6 = l_Lean_Meta_Match_Example_toMessageData(x_4); +x_7 = l_List_map___at_Lean_Meta_Match_Example_toMessageData___spec__2(x_5); +lean_ctor_set(x_1, 1, x_7); +lean_ctor_set(x_1, 0, x_6); +return x_1; +} +else +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_8 = lean_ctor_get(x_1, 0); +x_9 = lean_ctor_get(x_1, 1); +lean_inc(x_9); +lean_inc(x_8); +lean_dec(x_1); +x_10 = l_Lean_Meta_Match_Example_toMessageData(x_8); +x_11 = l_List_map___at_Lean_Meta_Match_Example_toMessageData___spec__2(x_9); +x_12 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_12, 0, x_10); +lean_ctor_set(x_12, 1, x_11); +return x_12; +} +} +} +} +static lean_object* _init_l_Lean_Meta_Match_Example_toMessageData___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_myMacro____x40_Init_Notation___hyg_8168____closed__14; +x_2 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Match_Example_toMessageData___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_Match_Example_toMessageData___closed__1; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Match_Example_toMessageData___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Format_paren___closed__3; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Match_Example_toMessageData___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_instToFormatArray___rarg___closed__1; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +lean_object* l_Lean_Meta_Match_Example_toMessageData(lean_object* x_1) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 0: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = lean_ctor_get(x_1, 0); +lean_inc(x_2); +lean_dec(x_1); +x_3 = l_Lean_mkFVar(x_2); +x_4 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_4, 0, x_3); +return x_4; +} +case 1: +{ +lean_object* x_5; +x_5 = l_Lean_Meta_Match_Example_toMessageData___closed__2; +return x_5; +} +case 2: +{ +lean_object* x_6; +x_6 = lean_ctor_get(x_1, 1); +lean_inc(x_6); +if (lean_obj_tag(x_6) == 0) +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_7 = lean_ctor_get(x_1, 0); +lean_inc(x_7); +lean_dec(x_1); +x_8 = lean_box(0); +x_9 = l_Lean_mkConst(x_7, x_8); +x_10 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_10, 0, x_9); +return x_10; +} +else +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_11 = lean_ctor_get(x_1, 0); +lean_inc(x_11); +lean_dec(x_1); +x_12 = lean_box(0); +x_13 = l_Lean_mkConst(x_11, x_12); +x_14 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_14, 0, x_13); +x_15 = l_Lean_Meta_Match_Example_toMessageData___closed__3; +x_16 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_16, 0, x_15); +lean_ctor_set(x_16, 1, x_14); +x_17 = l_Lean_MessageData_nil___closed__1; +x_18 = l_List_foldl___at_Lean_Meta_Match_Example_toMessageData___spec__1(x_17, x_6); +x_19 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_19, 0, x_16); +lean_ctor_set(x_19, 1, x_18); +x_20 = l_Lean_instToMessageDataOption___rarg___closed__4; +x_21 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_20); +return x_21; +} +} +case 3: +{ +lean_object* x_22; lean_object* x_23; +x_22 = lean_ctor_get(x_1, 0); +lean_inc(x_22); +lean_dec(x_1); +x_23 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_23, 0, x_22); +return x_23; +} +default: +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_24 = lean_ctor_get(x_1, 0); +lean_inc(x_24); +lean_dec(x_1); +x_25 = l_List_map___at_Lean_Meta_Match_Example_toMessageData___spec__2(x_24); +x_26 = l_Lean_MessageData_ofList(x_25); +lean_dec(x_25); +x_27 = l_Lean_Meta_Match_Example_toMessageData___closed__4; +x_28 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_26); +return x_28; +} +} +} +} +lean_object* l_List_map___at_Lean_Meta_Match_examplesToMessageData___spec__1(lean_object* x_1) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_2; +x_2 = lean_box(0); +return x_2; +} +else +{ +uint8_t x_3; +x_3 = !lean_is_exclusive(x_1); +if (x_3 == 0) +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_4 = lean_ctor_get(x_1, 0); +x_5 = lean_ctor_get(x_1, 1); +x_6 = l_Lean_Meta_Match_Example_varsToUnderscore(x_4); +x_7 = l_Lean_Meta_Match_Example_toMessageData(x_6); +x_8 = l_List_map___at_Lean_Meta_Match_examplesToMessageData___spec__1(x_5); +lean_ctor_set(x_1, 1, x_8); +lean_ctor_set(x_1, 0, x_7); +return x_1; +} +else +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_9 = lean_ctor_get(x_1, 0); +x_10 = lean_ctor_get(x_1, 1); +lean_inc(x_10); +lean_inc(x_9); +lean_dec(x_1); +x_11 = l_Lean_Meta_Match_Example_varsToUnderscore(x_9); +x_12 = l_Lean_Meta_Match_Example_toMessageData(x_11); +x_13 = l_List_map___at_Lean_Meta_Match_examplesToMessageData___spec__1(x_10); +x_14 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_14, 0, x_12); +lean_ctor_set(x_14, 1, x_13); +return x_14; +} +} +} +} +lean_object* l_Lean_Meta_Match_examplesToMessageData(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = l_List_map___at_Lean_Meta_Match_examplesToMessageData___spec__1(x_1); +x_3 = l_Lean_MessageData_arrayExpr_toMessageData___closed__2; +x_4 = l_Lean_MessageData_joinSep(x_2, x_3); +lean_dec(x_2); +return x_4; +} +} +lean_object* l_Lean_Meta_Match_withGoalOf___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; lean_object* x_9; +x_8 = lean_ctor_get(x_1, 0); +lean_inc(x_8); +lean_dec(x_1); +x_9 = l_Lean_Meta_withMVarContext___at_Lean_Meta_admit___spec__2___rarg(x_8, x_2, x_3, x_4, x_5, x_6, x_7); +return x_9; +} +} +lean_object* l_Lean_Meta_Match_withGoalOf(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_withGoalOf___rarg), 7, 0); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Match_instInhabitedProblem___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = lean_box(0); +x_3 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +lean_ctor_set(x_3, 2, x_1); +lean_ctor_set(x_3, 3, x_1); +return x_3; +} +} +static lean_object* _init_l_Lean_Meta_Match_instInhabitedProblem() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_Meta_Match_instInhabitedProblem___closed__1; +return x_1; +} +} +lean_object* l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_7; lean_object* x_8; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_7 = lean_box(0); +x_8 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_6); +return x_8; +} +else +{ +uint8_t x_9; +x_9 = !lean_is_exclusive(x_1); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_10 = lean_ctor_get(x_1, 0); +x_11 = lean_ctor_get(x_1, 1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_12 = l_Lean_Meta_Match_Alt_toMessageData(x_10, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +x_15 = l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__1(x_11, x_2, x_3, x_4, x_5, x_14); +if (lean_obj_tag(x_15) == 0) +{ +uint8_t x_16; +x_16 = !lean_is_exclusive(x_15); +if (x_16 == 0) +{ +lean_object* x_17; +x_17 = lean_ctor_get(x_15, 0); +lean_ctor_set(x_1, 1, x_17); +lean_ctor_set(x_1, 0, x_13); +lean_ctor_set(x_15, 0, x_1); +return x_15; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_15, 0); +x_19 = lean_ctor_get(x_15, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_15); +lean_ctor_set(x_1, 1, x_18); +lean_ctor_set(x_1, 0, x_13); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_1); +lean_ctor_set(x_20, 1, x_19); +return x_20; +} +} +else +{ +uint8_t x_21; +lean_dec(x_13); +lean_free_object(x_1); +x_21 = !lean_is_exclusive(x_15); +if (x_21 == 0) +{ +return x_15; +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_15, 0); +x_23 = lean_ctor_get(x_15, 1); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_15); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +return x_24; +} +} +} +else +{ +uint8_t x_25; +lean_free_object(x_1); +lean_dec(x_11); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_25 = !lean_is_exclusive(x_12); +if (x_25 == 0) +{ +return x_12; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_12, 0); +x_27 = lean_ctor_get(x_12, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_12); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; +} +} +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_1, 0); +x_30 = lean_ctor_get(x_1, 1); +lean_inc(x_30); +lean_inc(x_29); +lean_dec(x_1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_31 = l_Lean_Meta_Match_Alt_toMessageData(x_29, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_31) == 0) +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +lean_dec(x_31); +x_34 = l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__1(x_30, x_2, x_3, x_4, x_5, x_33); +if (lean_obj_tag(x_34) == 0) +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_35 = lean_ctor_get(x_34, 0); +lean_inc(x_35); +x_36 = lean_ctor_get(x_34, 1); +lean_inc(x_36); +if (lean_is_exclusive(x_34)) { + lean_ctor_release(x_34, 0); + lean_ctor_release(x_34, 1); + x_37 = x_34; +} else { + lean_dec_ref(x_34); + x_37 = lean_box(0); +} +x_38 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_38, 0, x_32); +lean_ctor_set(x_38, 1, x_35); +if (lean_is_scalar(x_37)) { + x_39 = lean_alloc_ctor(0, 2, 0); +} else { + x_39 = x_37; +} +lean_ctor_set(x_39, 0, x_38); +lean_ctor_set(x_39, 1, x_36); +return x_39; +} +else +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; +lean_dec(x_32); +x_40 = lean_ctor_get(x_34, 0); +lean_inc(x_40); +x_41 = lean_ctor_get(x_34, 1); +lean_inc(x_41); +if (lean_is_exclusive(x_34)) { + lean_ctor_release(x_34, 0); + lean_ctor_release(x_34, 1); + x_42 = x_34; +} else { + lean_dec_ref(x_34); + x_42 = lean_box(0); +} +if (lean_is_scalar(x_42)) { + x_43 = lean_alloc_ctor(1, 2, 0); +} else { + x_43 = x_42; +} +lean_ctor_set(x_43, 0, x_40); +lean_ctor_set(x_43, 1, x_41); +return x_43; +} +} +else +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; +lean_dec(x_30); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_44 = lean_ctor_get(x_31, 0); +lean_inc(x_44); +x_45 = lean_ctor_get(x_31, 1); +lean_inc(x_45); +if (lean_is_exclusive(x_31)) { + lean_ctor_release(x_31, 0); + lean_ctor_release(x_31, 1); + x_46 = x_31; +} else { + lean_dec_ref(x_31); + x_46 = lean_box(0); +} +if (lean_is_scalar(x_46)) { + x_47 = lean_alloc_ctor(1, 2, 0); +} else { + x_47 = x_46; +} +lean_ctor_set(x_47, 0, x_44); +lean_ctor_set(x_47, 1, x_45); +return x_47; +} +} +} +} +} +lean_object* l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_7; lean_object* x_8; +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_7 = lean_box(0); +x_8 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_6); +return x_8; +} +else +{ +uint8_t x_9; +x_9 = !lean_is_exclusive(x_1); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_10 = lean_ctor_get(x_1, 0); +x_11 = lean_ctor_get(x_1, 1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_10); +x_12 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_10, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +x_15 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_15, 0, x_10); +x_16 = l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__3; +x_17 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_17, 0, x_15); +lean_ctor_set(x_17, 1, x_16); +x_18 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_18, 0, x_13); +x_19 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_19, 0, x_17); +lean_ctor_set(x_19, 1, x_18); +x_20 = l_Lean_instToMessageDataOption___rarg___closed__4; +x_21 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_20); +x_22 = l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__2(x_11, x_2, x_3, x_4, x_5, x_14); +if (lean_obj_tag(x_22) == 0) +{ +uint8_t x_23; +x_23 = !lean_is_exclusive(x_22); +if (x_23 == 0) +{ +lean_object* x_24; +x_24 = lean_ctor_get(x_22, 0); +lean_ctor_set(x_1, 1, x_24); +lean_ctor_set(x_1, 0, x_21); +lean_ctor_set(x_22, 0, x_1); +return x_22; +} +else +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_22, 0); +x_26 = lean_ctor_get(x_22, 1); +lean_inc(x_26); +lean_inc(x_25); +lean_dec(x_22); +lean_ctor_set(x_1, 1, x_25); +lean_ctor_set(x_1, 0, x_21); +x_27 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_27, 0, x_1); +lean_ctor_set(x_27, 1, x_26); +return x_27; +} +} +else +{ +uint8_t x_28; +lean_dec(x_21); +lean_free_object(x_1); +x_28 = !lean_is_exclusive(x_22); +if (x_28 == 0) +{ +return x_22; +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_22, 0); +x_30 = lean_ctor_get(x_22, 1); +lean_inc(x_30); +lean_inc(x_29); +lean_dec(x_22); +x_31 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_31, 0, x_29); +lean_ctor_set(x_31, 1, x_30); +return x_31; +} +} +} +else +{ +uint8_t x_32; +lean_free_object(x_1); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_32 = !lean_is_exclusive(x_12); +if (x_32 == 0) +{ +return x_12; +} +else +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_33 = lean_ctor_get(x_12, 0); +x_34 = lean_ctor_get(x_12, 1); +lean_inc(x_34); +lean_inc(x_33); +lean_dec(x_12); +x_35 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_35, 0, x_33); +lean_ctor_set(x_35, 1, x_34); +return x_35; +} +} +} +else +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_36 = lean_ctor_get(x_1, 0); +x_37 = lean_ctor_get(x_1, 1); +lean_inc(x_37); +lean_inc(x_36); +lean_dec(x_1); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_36); +x_38 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_36, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_38) == 0) +{ +lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_39 = lean_ctor_get(x_38, 0); +lean_inc(x_39); +x_40 = lean_ctor_get(x_38, 1); +lean_inc(x_40); +lean_dec(x_38); +x_41 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_41, 0, x_36); +x_42 = l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__3; +x_43 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_43, 0, x_41); +lean_ctor_set(x_43, 1, x_42); +x_44 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_44, 0, x_39); +x_45 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_45, 0, x_43); +lean_ctor_set(x_45, 1, x_44); +x_46 = l_Lean_instToMessageDataOption___rarg___closed__4; +x_47 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_47, 0, x_45); +lean_ctor_set(x_47, 1, x_46); +x_48 = l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__2(x_37, x_2, x_3, x_4, x_5, x_40); +if (lean_obj_tag(x_48) == 0) +{ +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_49 = lean_ctor_get(x_48, 0); +lean_inc(x_49); +x_50 = lean_ctor_get(x_48, 1); +lean_inc(x_50); +if (lean_is_exclusive(x_48)) { + lean_ctor_release(x_48, 0); + lean_ctor_release(x_48, 1); + x_51 = x_48; +} else { + lean_dec_ref(x_48); + x_51 = lean_box(0); +} +x_52 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_52, 0, x_47); +lean_ctor_set(x_52, 1, x_49); +if (lean_is_scalar(x_51)) { + x_53 = lean_alloc_ctor(0, 2, 0); +} else { + x_53 = x_51; +} +lean_ctor_set(x_53, 0, x_52); +lean_ctor_set(x_53, 1, x_50); +return x_53; +} +else +{ +lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; +lean_dec(x_47); +x_54 = lean_ctor_get(x_48, 0); +lean_inc(x_54); +x_55 = lean_ctor_get(x_48, 1); +lean_inc(x_55); +if (lean_is_exclusive(x_48)) { + lean_ctor_release(x_48, 0); + lean_ctor_release(x_48, 1); + x_56 = x_48; +} else { + lean_dec_ref(x_48); + x_56 = lean_box(0); +} +if (lean_is_scalar(x_56)) { + x_57 = lean_alloc_ctor(1, 2, 0); +} else { + x_57 = x_56; +} +lean_ctor_set(x_57, 0, x_54); +lean_ctor_set(x_57, 1, x_55); +return x_57; +} +} +else +{ +lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; +lean_dec(x_37); +lean_dec(x_36); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_58 = lean_ctor_get(x_38, 0); +lean_inc(x_58); +x_59 = lean_ctor_get(x_38, 1); +lean_inc(x_59); +if (lean_is_exclusive(x_38)) { + lean_ctor_release(x_38, 0); + lean_ctor_release(x_38, 1); + x_60 = x_38; +} else { + lean_dec_ref(x_38); + x_60 = lean_box(0); +} +if (lean_is_scalar(x_60)) { + x_61 = lean_alloc_ctor(1, 2, 0); +} else { + x_61 = x_60; +} +lean_ctor_set(x_61, 0, x_58); +lean_ctor_set(x_61, 1, x_59); +return x_61; +} +} +} +} +} +static lean_object* _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("remaining variables: "); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__1; +x_2 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__2; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__4() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("alternatives:"); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__4; +x_2 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__5; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__7() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("examples: "); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__8() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__7; +x_2 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__8; +x_2 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; lean_object* x_9; +x_8 = lean_ctor_get(x_1, 1); +lean_inc(x_8); +x_9 = l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__2(x_8, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_9) == 0) +{ +uint8_t x_10; +x_10 = !lean_is_exclusive(x_9); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_11 = lean_ctor_get(x_9, 0); +x_12 = l_Lean_MessageData_ofList(x_11); +lean_dec(x_11); +x_13 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__3; +x_14 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_14, 0, x_13); +lean_ctor_set(x_14, 1, x_12); +x_15 = l_Lean_MessageData_ofList___closed__3; +x_16 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_16, 0, x_14); +lean_ctor_set(x_16, 1, x_15); +x_17 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__6; +x_18 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_18, 0, x_16); +lean_ctor_set(x_18, 1, x_17); +x_19 = l_Lean_MessageData_joinSep(x_2, x_15); +x_20 = l_Lean_indentD(x_19); +x_21 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_21, 0, x_18); +lean_ctor_set(x_21, 1, x_20); +x_22 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_22, 0, x_21); +lean_ctor_set(x_22, 1, x_15); +x_23 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__9; +x_24 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +x_25 = lean_ctor_get(x_1, 3); +lean_inc(x_25); +lean_dec(x_1); +x_26 = l_Lean_Meta_Match_examplesToMessageData(x_25); +x_27 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_27, 0, x_24); +lean_ctor_set(x_27, 1, x_26); +x_28 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_15); +lean_ctor_set(x_9, 0, x_28); +return x_9; +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_29 = lean_ctor_get(x_9, 0); +x_30 = lean_ctor_get(x_9, 1); +lean_inc(x_30); +lean_inc(x_29); +lean_dec(x_9); +x_31 = l_Lean_MessageData_ofList(x_29); +lean_dec(x_29); +x_32 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__3; +x_33 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_33, 0, x_32); +lean_ctor_set(x_33, 1, x_31); +x_34 = l_Lean_MessageData_ofList___closed__3; +x_35 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_35, 0, x_33); +lean_ctor_set(x_35, 1, x_34); +x_36 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__6; +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_MessageData_joinSep(x_2, x_34); +x_39 = l_Lean_indentD(x_38); +x_40 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_40, 0, x_37); +lean_ctor_set(x_40, 1, x_39); +x_41 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_41, 0, x_40); +lean_ctor_set(x_41, 1, x_34); +x_42 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__9; +x_43 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_43, 0, x_41); +lean_ctor_set(x_43, 1, x_42); +x_44 = lean_ctor_get(x_1, 3); +lean_inc(x_44); +lean_dec(x_1); +x_45 = l_Lean_Meta_Match_examplesToMessageData(x_44); +x_46 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_46, 0, x_43); +lean_ctor_set(x_46, 1, x_45); +x_47 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_47, 0, x_46); +lean_ctor_set(x_47, 1, x_34); +x_48 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_48, 0, x_47); +lean_ctor_set(x_48, 1, x_30); +return x_48; +} +} +else +{ +uint8_t x_49; +lean_dec(x_1); +x_49 = !lean_is_exclusive(x_9); +if (x_49 == 0) +{ +return x_9; +} +else +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; +x_50 = lean_ctor_get(x_9, 0); +x_51 = lean_ctor_get(x_9, 1); +lean_inc(x_51); +lean_inc(x_50); +lean_dec(x_9); +x_52 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_52, 0, x_50); +lean_ctor_set(x_52, 1, x_51); +return x_52; +} +} +} +} +lean_object* l_Lean_Meta_Match_Problem_toMessageData(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_7 = lean_ctor_get(x_1, 2); +lean_inc(x_7); +x_8 = lean_alloc_closure((void*)(l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__1), 6, 1); +lean_closure_set(x_8, 0, x_7); +lean_inc(x_1); +x_9 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Problem_toMessageData___lambda__1___boxed), 7, 1); +lean_closure_set(x_9, 0, x_1); +x_10 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg), 7, 2); +lean_closure_set(x_10, 0, x_8); +lean_closure_set(x_10, 1, x_9); +x_11 = l_Lean_Meta_Match_withGoalOf___rarg(x_1, x_10, x_2, x_3, x_4, x_5, x_6); +return x_11; +} +} +lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; +x_8 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_2); +return x_8; +} +} +lean_object* l_Lean_Meta_Match_counterExampleToMessageData(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Lean_Meta_Match_examplesToMessageData(x_1); +return x_2; +} +} +lean_object* l_List_map___at_Lean_Meta_Match_counterExamplesToMessageData___spec__1(lean_object* x_1) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_2; +x_2 = lean_box(0); +return x_2; +} +else +{ +uint8_t x_3; +x_3 = !lean_is_exclusive(x_1); +if (x_3 == 0) +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; +x_4 = lean_ctor_get(x_1, 0); +x_5 = lean_ctor_get(x_1, 1); +x_6 = l_Lean_Meta_Match_examplesToMessageData(x_4); +x_7 = l_List_map___at_Lean_Meta_Match_counterExamplesToMessageData___spec__1(x_5); +lean_ctor_set(x_1, 1, x_7); +lean_ctor_set(x_1, 0, x_6); +return x_1; +} +else +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_8 = lean_ctor_get(x_1, 0); +x_9 = lean_ctor_get(x_1, 1); +lean_inc(x_9); +lean_inc(x_8); +lean_dec(x_1); +x_10 = l_Lean_Meta_Match_examplesToMessageData(x_8); +x_11 = l_List_map___at_Lean_Meta_Match_counterExamplesToMessageData___spec__1(x_9); +x_12 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_12, 0, x_10); +lean_ctor_set(x_12, 1, x_11); +return x_12; +} +} +} +} +lean_object* l_Lean_Meta_Match_counterExamplesToMessageData(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = l_List_map___at_Lean_Meta_Match_counterExamplesToMessageData___spec__1(x_1); +x_3 = l_Lean_MessageData_ofList___closed__3; +x_4 = l_Lean_MessageData_joinSep(x_2, x_3); +lean_dec(x_2); +return x_4; +} +} +lean_object* initialize_Init(lean_object*); +lean_object* initialize_Lean_Meta_Match_MatcherInfo(lean_object*); +lean_object* initialize_Lean_Meta_Match_CaseArraySizes(lean_object*); +static bool _G_initialized = false; +lean_object* initialize_Lean_Meta_Match_Basic(lean_object* w) { +lean_object * res; +if (_G_initialized) return lean_io_result_mk_ok(lean_box(0)); +_G_initialized = true; +res = initialize_Init(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Meta_Match_MatcherInfo(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Lean_Meta_Match_CaseArraySizes(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +l_Lean_Meta_Match_Pattern_instInhabitedPattern___closed__1 = _init_l_Lean_Meta_Match_Pattern_instInhabitedPattern___closed__1(); +lean_mark_persistent(l_Lean_Meta_Match_Pattern_instInhabitedPattern___closed__1); +l_Lean_Meta_Match_Pattern_instInhabitedPattern = _init_l_Lean_Meta_Match_Pattern_instInhabitedPattern(); +lean_mark_persistent(l_Lean_Meta_Match_Pattern_instInhabitedPattern); +l_List_foldl___at_Lean_Meta_Match_Pattern_toMessageData___spec__1___closed__1 = _init_l_List_foldl___at_Lean_Meta_Match_Pattern_toMessageData___spec__1___closed__1(); +lean_mark_persistent(l_List_foldl___at_Lean_Meta_Match_Pattern_toMessageData___spec__1___closed__1); +l_Lean_Meta_Match_Pattern_toMessageData___closed__1 = _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__1(); +lean_mark_persistent(l_Lean_Meta_Match_Pattern_toMessageData___closed__1); +l_Lean_Meta_Match_Pattern_toMessageData___closed__2 = _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__2(); +lean_mark_persistent(l_Lean_Meta_Match_Pattern_toMessageData___closed__2); +l_Lean_Meta_Match_Pattern_toMessageData___closed__3 = _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__3(); +lean_mark_persistent(l_Lean_Meta_Match_Pattern_toMessageData___closed__3); +l_Lean_Meta_Match_Pattern_toMessageData___closed__4 = _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__4(); +lean_mark_persistent(l_Lean_Meta_Match_Pattern_toMessageData___closed__4); +l_Lean_Meta_Match_Pattern_toMessageData___closed__5 = _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__5(); +lean_mark_persistent(l_Lean_Meta_Match_Pattern_toMessageData___closed__5); +l_Lean_Meta_Match_Pattern_toMessageData___closed__6 = _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__6(); +lean_mark_persistent(l_Lean_Meta_Match_Pattern_toMessageData___closed__6); +l_Lean_Meta_Match_Pattern_toMessageData___closed__7 = _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__7(); +lean_mark_persistent(l_Lean_Meta_Match_Pattern_toMessageData___closed__7); +l_Lean_Meta_Match_Pattern_toMessageData___closed__8 = _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__8(); +lean_mark_persistent(l_Lean_Meta_Match_Pattern_toMessageData___closed__8); +l_Lean_Meta_Match_Pattern_toExpr_visit___closed__1 = _init_l_Lean_Meta_Match_Pattern_toExpr_visit___closed__1(); +lean_mark_persistent(l_Lean_Meta_Match_Pattern_toExpr_visit___closed__1); +l_Lean_Meta_Match_Pattern_toExpr_visit___closed__2 = _init_l_Lean_Meta_Match_Pattern_toExpr_visit___closed__2(); +lean_mark_persistent(l_Lean_Meta_Match_Pattern_toExpr_visit___closed__2); +l_Lean_Meta_Match_Pattern_toExpr_visit___closed__3 = _init_l_Lean_Meta_Match_Pattern_toExpr_visit___closed__3(); +lean_mark_persistent(l_Lean_Meta_Match_Pattern_toExpr_visit___closed__3); +l_Lean_Meta_Match_Pattern_toExpr_visit___closed__4 = _init_l_Lean_Meta_Match_Pattern_toExpr_visit___closed__4(); +lean_mark_persistent(l_Lean_Meta_Match_Pattern_toExpr_visit___closed__4); +l_Lean_Meta_Match_Alt_instInhabitedAlt___closed__1 = _init_l_Lean_Meta_Match_Alt_instInhabitedAlt___closed__1(); +lean_mark_persistent(l_Lean_Meta_Match_Alt_instInhabitedAlt___closed__1); +l_Lean_Meta_Match_Alt_instInhabitedAlt = _init_l_Lean_Meta_Match_Alt_instInhabitedAlt(); +lean_mark_persistent(l_Lean_Meta_Match_Alt_instInhabitedAlt); +l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__1 = _init_l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__1(); +lean_mark_persistent(l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__1); +l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__2 = _init_l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__2(); +lean_mark_persistent(l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__2); +l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__3 = _init_l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__3(); +lean_mark_persistent(l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__3); +l_Lean_Meta_Match_Alt_toMessageData___closed__1 = _init_l_Lean_Meta_Match_Alt_toMessageData___closed__1(); +lean_mark_persistent(l_Lean_Meta_Match_Alt_toMessageData___closed__1); +l_Lean_Meta_Match_Alt_toMessageData___closed__2 = _init_l_Lean_Meta_Match_Alt_toMessageData___closed__2(); +lean_mark_persistent(l_Lean_Meta_Match_Alt_toMessageData___closed__2); +l_Lean_Meta_Match_Alt_toMessageData___closed__3 = _init_l_Lean_Meta_Match_Alt_toMessageData___closed__3(); +lean_mark_persistent(l_Lean_Meta_Match_Alt_toMessageData___closed__3); +l_Lean_Meta_Match_Alt_toMessageData___closed__4 = _init_l_Lean_Meta_Match_Alt_toMessageData___closed__4(); +lean_mark_persistent(l_Lean_Meta_Match_Alt_toMessageData___closed__4); +l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__1 = _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__1(); +lean_mark_persistent(l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__1); +l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__2 = _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__2(); +lean_mark_persistent(l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__2); +l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__3 = _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__3(); +lean_mark_persistent(l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__3); +l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__4 = _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__4(); +lean_mark_persistent(l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__4); +l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__5 = _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__5(); +lean_mark_persistent(l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__5); +l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__6 = _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__6(); +lean_mark_persistent(l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__6); +l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__7 = _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__7(); +lean_mark_persistent(l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__7); +l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__8 = _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__8(); +lean_mark_persistent(l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__8); +l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__9 = _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__9(); +lean_mark_persistent(l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__9); +l_Lean_Meta_Match_Example_toMessageData___closed__1 = _init_l_Lean_Meta_Match_Example_toMessageData___closed__1(); +lean_mark_persistent(l_Lean_Meta_Match_Example_toMessageData___closed__1); +l_Lean_Meta_Match_Example_toMessageData___closed__2 = _init_l_Lean_Meta_Match_Example_toMessageData___closed__2(); +lean_mark_persistent(l_Lean_Meta_Match_Example_toMessageData___closed__2); +l_Lean_Meta_Match_Example_toMessageData___closed__3 = _init_l_Lean_Meta_Match_Example_toMessageData___closed__3(); +lean_mark_persistent(l_Lean_Meta_Match_Example_toMessageData___closed__3); +l_Lean_Meta_Match_Example_toMessageData___closed__4 = _init_l_Lean_Meta_Match_Example_toMessageData___closed__4(); +lean_mark_persistent(l_Lean_Meta_Match_Example_toMessageData___closed__4); +l_Lean_Meta_Match_instInhabitedProblem___closed__1 = _init_l_Lean_Meta_Match_instInhabitedProblem___closed__1(); +lean_mark_persistent(l_Lean_Meta_Match_instInhabitedProblem___closed__1); +l_Lean_Meta_Match_instInhabitedProblem = _init_l_Lean_Meta_Match_instInhabitedProblem(); +lean_mark_persistent(l_Lean_Meta_Match_instInhabitedProblem); +l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__1 = _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__1(); +lean_mark_persistent(l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__1); +l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__2 = _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__2(); +lean_mark_persistent(l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__2); +l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__3 = _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__3(); +lean_mark_persistent(l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__3); +l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__4 = _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__4(); +lean_mark_persistent(l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__4); +l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__5 = _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__5(); +lean_mark_persistent(l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__5); +l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__6 = _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__6(); +lean_mark_persistent(l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__6); +l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__7 = _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__7(); +lean_mark_persistent(l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__7); +l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__8 = _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__8(); +lean_mark_persistent(l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__8); +l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__9 = _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__9(); +lean_mark_persistent(l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__9); +return lean_io_result_mk_ok(lean_box(0)); +} +#ifdef __cplusplus +} +#endif diff --git a/stage0/stdlib/Lean/Meta/Match/Match.c b/stage0/stdlib/Lean/Meta/Match/Match.c index 6dc0756200..93a64f516b 100644 --- a/stage0/stdlib/Lean/Meta/Match/Match.c +++ b/stage0/stdlib/Lean/Meta/Match/Match.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Meta.Match.Match -// Imports: Init Lean.Util.CollectLevelParams Lean.Util.Recognizers Lean.Compiler.ExternAttr Lean.Meta.Check Lean.Meta.Closure Lean.Meta.Tactic.Cases Lean.Meta.GeneralizeTelescope Lean.Meta.Match.MatcherInfo Lean.Meta.Match.MVarRenaming Lean.Meta.Match.CaseValues Lean.Meta.Match.CaseArraySizes +// Imports: Init Lean.Util.CollectLevelParams Lean.Util.Recognizers Lean.Compiler.ExternAttr Lean.Meta.Check Lean.Meta.Closure Lean.Meta.Tactic.Cases Lean.Meta.GeneralizeTelescope Lean.Meta.Match.Basic Lean.Meta.Match.MVarRenaming Lean.Meta.Match.CaseValues #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -15,40 +15,33 @@ extern "C" { #endif lean_object* l_List_reverse___rarg(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withExistingLocalDeclsImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Example_applyFVarSubst_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher___lambda__2___closed__1; lean_object* l_Lean_Meta_Match_Example_applyFVarSubst(lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___lambda__1(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_MatcherApp_addArg_match__2(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasNatValPattern_match__1(lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns___closed__1; lean_object* lean_array_set(lean_object*, lean_object*, lean_object*); -lean_object* l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable_match__3___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor_match__4(lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__3; -lean_object* l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t l_USize_add(size_t, size_t); -lean_object* l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__2___boxed(lean_object*, lean_object*); uint8_t l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isConstructorTransition___spec__1(uint8_t, lean_object*); lean_object* l_Lean_Expr_mvarId_x21(lean_object*); lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor_match__2(lean_object*); -lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__7; extern lean_object* l_Lean_Syntax_strLitToAtom___closed__3; lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__15; lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*); lean_object* l_Lean_Meta_MatcherApp_addArg___lambda__3(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_isNatLit(lean_object*); -lean_object* l_List_map___at_Lean_Meta_Match_Example_toMessageData___spec__2(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasVarPattern___boxed(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__3; -lean_object* l_List_foldl___at_Lean_Meta_Match_Pattern_toMessageData___spec__1(lean_object*, lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); lean_object* l_Lean_Meta_Match_Unify_occurs_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getInductiveVal_x3f_match__1(lean_object*); @@ -62,13 +55,12 @@ lean_object* l_Lean_mkSort(lean_object*); lean_object* l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasNatValPattern___spec__1___boxed(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isDone___boxed(lean_object*); lean_object* l_Lean_addTrace___at_Lean_Meta_Match_Unify_assign___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Pattern_hasExprMVar___boxed(lean_object*); -extern lean_object* l_addParenHeuristic___closed__2; uint8_t l_Std_AssocList_contains___at_Lean_Meta_FVarSubst_contains___spec__1(lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher___lambda__2___closed__6; extern lean_object* l_Lean_withIncRecDepth___rarg___lambda__2___closed__2; extern lean_object* l_Lean_Meta_setInlineAttribute___rarg___closed__2; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_mkMinorType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_userName(lean_object*); lean_object* l_Lean_Meta_mkForallFVarsImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___lambda__1___closed__1; @@ -80,15 +72,12 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwInductive lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__1(lean_object*); lean_object* lean_name_mk_string(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___lambda__3___closed__2; -extern lean_object* l_Lean_MessageData_ofList___closed__3; uint8_t l_USize_decEq(size_t, size_t); lean_object* lean_array_uget(lean_object*, size_t); lean_object* l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isArrayLitTransition___spec__1___boxed(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_collectArraySizes_match__1___rarg(lean_object*, lean_object*, lean_object*); 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_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2___boxed(lean_object*, lean_object*); extern lean_object* l_List_repr___rarg___closed__1; -lean_object* l_List_map___at_Lean_Meta_Match_Example_varsToUnderscore___spec__1(lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandNatValuePattern_match__1(lean_object*); lean_object* l_Array_append___rarg(lean_object*, lean_object*); @@ -97,14 +86,11 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoA lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isArrayLitTransition___boxed(lean_object*); lean_object* l_Lean_Format_pretty(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___closed__1; -extern lean_object* l_Lean_instToFormatArray___rarg___closed__1; lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isNatValueTransition_match__1(lean_object*); lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__1; lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1(lean_object*); lean_object* l_Lean_Meta_MatcherApp_addArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Pattern_toExpr_match__1(lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__2; lean_object* lean_array_uset(lean_object*, size_t, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasNatValPattern_match__1___rarg(lean_object*, lean_object*, lean_object*); @@ -113,11 +99,9 @@ lean_object* l_Lean_Meta_Match_Unify_isAltVar___boxed(lean_object*, lean_object* lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_collectArraySizes(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f_match__1___boxed(lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__4___boxed(lean_object*, lean_object*, lean_object*); -lean_object* l_List_filterAux___at_Lean_Meta_Match_Alt_replaceFVarId___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Array_extract___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor_match__5(lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__7; -lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst_match__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor_match__1(lean_object*); extern lean_object* l_Array_empty___closed__1; @@ -126,16 +110,14 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoC lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_collectArraySizes___boxed(lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__4___boxed(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__4; extern lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_510____closed__3; -lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__1; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isArrayLitTransition_match__1(lean_object*); uint8_t l_Lean_checkTraceOption(lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__4; extern lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__7; lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceStep___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__5___boxed(lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__2; lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor___lambda__1___closed__3; uint8_t l_Lean_Meta_Match_Unify_occurs(lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__5___boxed(lean_object*, lean_object*, lean_object*); @@ -145,22 +127,17 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3 uint8_t lean_name_eq(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_lambdaTelescope___at_Lean_Meta_MatcherApp_addArg___spec__4(lean_object*); -lean_object* l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__1___boxed(lean_object*, lean_object*); lean_object* l_Lean_Expr_constructorApp_x3f(lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Pattern_toMessageData_match__1(lean_object*); -lean_object* l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__2; +lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__4; lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__5(lean_object*, lean_object*); extern lean_object* l_instInhabitedNat; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit_match__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher___lambda__2___closed__5; -lean_object* l_Lean_Meta_Match_Pattern_toExpr_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasValPattern___boxed(lean_object*); -lean_object* l_Lean_Meta_Match_Example_toMessageData(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___closed__3; lean_object* l_Lean_Meta_mkLambdaFVarsImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* lean_expr_instantiate1(lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Pattern_hasExprMVar_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit_match__2(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_collectValues(lean_object*); lean_object* l_List_filterAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__6___boxed(lean_object*, lean_object*, lean_object*); @@ -168,16 +145,12 @@ lean_object* lean_array_push(lean_object*, lean_object*); uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isNextVar(lean_object*); lean_object* lean_array_get_size(lean_object*); lean_object* l_Lean_Meta_Match_Unify_assign___closed__3; -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___closed__2; -lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__8; 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*); lean_object* lean_string_append(lean_object*, lean_object*); lean_object* l_Lean_Meta_setInlineAttribute___at_Lean_Meta_Match_mkMatcher___spec__8(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasNatValPattern(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasCtorPattern_match__1___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_MessageData_ofList(lean_object*); -lean_object* l_Lean_Meta_Match_Example_applyFVarSubst_match__1(lean_object*); lean_object* l_Lean_Meta_isTypeCorrect(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___lambda__1___closed__2; uint8_t l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasVarPattern___spec__1(uint8_t, lean_object*); @@ -185,73 +158,57 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isNextVar___bo lean_object* l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___closed__2; extern lean_object* l_Lean_Meta_evalNat___closed__8; -lean_object* l_Std_AssocList_find_x3f___at_Lean_Meta_FVarSubst_find_x3f___spec__1(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isFirstPatternVar___boxed(lean_object*); lean_object* l_Lean_Meta_commitWhenSome_x3f___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_inLocalDecls(lean_object*, lean_object*); lean_object* l_Array_mapIdxM_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_mkHashSetImp___rarg(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getInductiveVal_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Alt_applyFVarSubst___boxed(lean_object*, lean_object*); lean_object* l_List_foldl___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_collectArraySizes___spec__1(lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern_match__1(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isConstructorTransition_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher_match__1(lean_object*); -lean_object* l_Lean_Meta_Match_Example_replaceFVarId___boxed(lean_object*, lean_object*, lean_object*); uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isDone(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___closed__1; -lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1(lean_object*, lean_object*); lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_Match_CaseArraySizes_0__Lean_Meta_introArrayLit_loop___spec__2___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_MessageData_joinSep(lean_object*, lean_object*); lean_object* l_List_filterAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__1(lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__14; lean_object* l_Lean_Meta_Match_mkMatcher(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__4___boxed(lean_object*, lean_object*, lean_object*); -lean_object* l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__1; +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop(lean_object*); uint8_t l_USize_decLt(size_t, size_t); -lean_object* l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__2___boxed(lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_instToMessageDataOption___rarg___closed__4; +lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__1; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___boxed__const__1; -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___lambda__2(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* 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*, lean_object*, lean_object*); lean_object* l_Lean_Meta_instantiateMVarsImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasVarPattern___spec__1___boxed(lean_object*, lean_object*); 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_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasValPattern_match__1(lean_object*); -lean_object* l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__1___boxed(lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux(lean_object*); lean_object* l_Lean_Meta_Match_Unify_State_fvarSubst___default; extern lean_object* l_Lean_levelZero; -lean_object* l_Lean_Meta_Match_Example_toMessageData_match__1(lean_object*); +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__5; lean_object* lean_nat_add(lean_object*, lean_object*); -lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1___boxed(lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor___lambda__1___closed__4; lean_object* l_Lean_Meta_isExprDefEqImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_unify_x3f_match__1(lean_object*); -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__4; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandNatValuePattern(lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__3___boxed(lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Pattern_instInhabitedPattern; lean_object* l_Lean_Meta_isExprDefEq___at_Lean_Meta_Match_Unify_unify___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_collectValues_match__1(lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandNatValuePattern___spec__1___closed__2; -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___boxed__const__1; lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___lambda__2___boxed(lean_object**); +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_mkMinorType___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l___kind_term____x40_Init_Notation___hyg_6289____closed__10; lean_object* l_Lean_Meta_Match_Unify_unify_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__3(lean_object*); -extern lean_object* l_myMacro____x40_Init_Notation___hyg_8168____closed__14; -lean_object* l_Lean_Meta_Match_Alt_instInhabitedAlt___closed__1; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___closed__3; lean_object* l_Lean_mkAppN(lean_object*, lean_object*); lean_object* l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__2; +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__3; lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__3(lean_object*, lean_object*); lean_object* l_Lean_Meta_kabstract___at_Lean_Meta_MatcherApp_addArg___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Match_Match___hyg_7518_(lean_object*); -lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Match_Match___hyg_6077_(lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Match_mkMatcher___spec__3___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__8; lean_object* l_Lean_Meta_Match_generateMatcherCode___boxed(lean_object*); @@ -261,7 +218,6 @@ uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasVarPattern(lean_ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable_match__1(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor_match__5___rarg(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Compiler_inlineAttrs; -lean_object* l_Lean_Meta_Match_Example_varsToUnderscore_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isArrayLitTransition(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern_match__2___rarg(lean_object*, lean_object*, lean_object*); @@ -269,10 +225,8 @@ uint8_t l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_has lean_object* l_Std_mkHashSet___at_Lean_Meta_Match_State_used___default___spec__1(lean_object*); lean_object* l_Nat_foldRevM_loop___at_Lean_Meta_MatcherApp_addArg___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__9(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_Meta_Match_instantiatePatternMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit_match__3(lean_object*); -lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__3; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts(lean_object*); lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor___closed__1; lean_object* lean_array_fget(lean_object*, lean_object*); @@ -285,20 +239,13 @@ extern lean_object* l_Lean_Meta_isLevelDefEqAux___closed__6; uint8_t l_Lean_Occurrences_beq(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isFirstPatternVar_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable_match__2(lean_object*); -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg(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_Meta_instantiateLambda___at___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_instantiatePatternMVars_match__1(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor_match__3(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasVarPattern_match__1(lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__6___closed__2; -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__2; -lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__5; lean_object* l_Lean_Meta_mkForallFVars___at_Lean_Meta_Match_mkMatcher___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__9; -lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__3; lean_object* l_Lean_Meta_Match_Pattern_toMessageData(lean_object*); -lean_object* l_Lean_Meta_Match_Example_varsToUnderscore(lean_object*); lean_object* l_Lean_Meta_Match_Unify_unify_match__1(lean_object*); extern lean_object* l_Lean_initFn____x40_Lean_Data_Options___hyg_476____closed__3; lean_object* l_Lean_Meta_mkFreshLevelMVar___at___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarImpl___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -307,14 +254,15 @@ lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_ lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__6___closed__1; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue_match__3(lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__3___boxed(lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Example_applyFVarSubst_match__2(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___lambda__1___boxed__const__1; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__13; +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_Pattern_toExpr_visit(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwInductiveTypeExpected___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_constLevels_x21(lean_object*); -lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst___boxed(lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___lambda__1___boxed(lean_object**); lean_object* l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_substCore___spec__9___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -322,46 +270,38 @@ lean_object* l_Lean_Meta_Match_isCurrVarInductive___lambda__1___boxed(lean_objec lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasArrayLitPattern(lean_object*); -lean_object* l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__1; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern_match__2(lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__6; lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___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* l_Lean_Meta_Match_processInaccessibleAsCtor___closed__2; uint8_t l_Lean_KVMap_getBool(lean_object*, lean_object*, uint8_t); lean_object* l_Lean_Meta_whnfD___at___private_Lean_Meta_InferType_0__Lean_Meta_getLevelImp___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__6; lean_object* l_Array_mapIdxM_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___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* l_Lean_Meta_getArrayArgType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getInductiveVal_x3f_match__2(lean_object*); extern lean_object* l___private_Lean_Meta_RecursorInfo_0__Lean_Meta_getMajorPosDepElim___closed__8; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__4(lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Pattern_hasExprMVar_match__1(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Array_contains___at_Lean_Meta_CheckAssignment_check___spec__2(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor___closed__4; lean_object* l_Lean_Meta_FVarSubst_apply(lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_instInhabitedProblem___closed__1; lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__5(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasArrayLitPattern_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_List_filterAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__4(lean_object*, lean_object*, lean_object*); lean_object* l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isNatValueTransition___spec__1___boxed(lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__4; lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor___lambda__1___closed__1; -lean_object* l_Lean_Meta_Match_Unify_unify___closed__2; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___closed__1; -lean_object* l_Lean_Meta_Match_Example_replaceFVarId_match__1(lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; extern lean_object* l_Lean_Meta_evalNat_match__2___rarg___closed__1; -uint8_t l_Lean_Expr_hasExprMVar(lean_object*); lean_object* l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isValueTransition___spec__1___boxed(lean_object*, lean_object*); -lean_object* l_Lean_replaceRef(lean_object*, lean_object*); lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); -lean_object* l_List_filterAux___at_Lean_Meta_Match_Alt_replaceFVarId___spec__1___boxed(lean_object*, lean_object*, lean_object*); uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isVariableTransition(lean_object*); extern lean_object* l_Lean_Meta_caseValue___closed__2; lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__4; -lean_object* l_List_foldl___at_Lean_Meta_Match_Example_toMessageData___spec__1(lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher___lambda__2___closed__2; lean_object* l_Lean_Expr_fvarId_x21(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasRecursiveType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -370,25 +310,23 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isNextVar_matc lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isArrayLitTransition_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf_match__1___rarg(lean_object*, lean_object*, lean_object*); uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasValPattern(lean_object*); -lean_object* l_Lean_Meta_Match_Alt_instInhabitedAlt; +extern lean_object* l_Lean_Meta_Match_Alt_instInhabitedAlt; lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__2; lean_object* l_Lean_Name_appendIndexAfter(lean_object*, lean_object*); lean_object* l_Lean_Meta_getInductiveUniverseAndParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasRecursiveType_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst_match__3(lean_object*); extern lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_510____closed__2; lean_object* l_List_replace___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf___spec__5___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop_match__1(lean_object*); lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor___lambda__1___closed__2; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f_match__1(lean_object*); -lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__4; lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__4(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_MatcherApp_addArg_match__1(lean_object*); -lean_object* l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_Expr_instInhabitedExpr___closed__1; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasRecursiveType_match__1(lean_object*); -lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__8; +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__1; lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__7(lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__3; lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingAux___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasValPattern_match__1___rarg(lean_object*, lean_object*, lean_object*); uint8_t l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasNatValPattern___spec__1(uint8_t, lean_object*); @@ -396,14 +334,13 @@ lean_object* l_Std_HashSetImp_insert___at___private_Lean_Meta_Match_Match_0__Lea lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns___closed__3; lean_object* lean_st_mk_ref(lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher___lambda__2___closed__4; -extern lean_object* l_Lean_MessageData_nil___closed__1; lean_object* l_Lean_Meta_mkArrow___at_Lean_Meta_MatcherApp_addArg___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Unify_assign(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__5; 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*); lean_object* l_Lean_Meta_Match_Unify_occurs_match__1(lean_object*); 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*); lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Pattern_replaceFVarId(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_State_counterExamples___default; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f___closed__1; uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isConstructorTransition(lean_object*); @@ -414,16 +351,12 @@ lean_object* l_Lean_Meta_withMVarContext___at_Lean_Meta_admit___spec__2___rarg(l lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_MatcherApp_addArg___lambda__2___closed__3; lean_object* l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isConstructorTransition___spec__1___boxed(lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Pattern_toMessageData_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getConstInfo___at_Lean_Meta_getParamNamesImp___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_List_map___at_Lean_Meta_Match_examplesToMessageData___spec__1(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_to_list(lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop_match__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__1; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasCtorPattern_match__1(lean_object*); -lean_object* l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Nat_foldRevM_loop___at_Lean_Meta_MatcherApp_addArg___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f___closed__2; uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isFirstPatternVar(lean_object*); @@ -431,44 +364,30 @@ uint8_t l_Lean_Meta_Match_Unify_occurs___lambda__1(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_List_foldl___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_collectValues___spec__1(lean_object*, lean_object*); lean_object* l_Array_mapIdxM_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Example_toMessageData_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Nat_foldAux___at_Lean_Meta_Match_mkMatcher___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2(lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Alt_toMessageData___closed__2; lean_object* l_Lean_Meta_getLocalDecl___at_Lean_Meta_getFVarLocalDecl___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_addMatcherInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__1(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_MatcherApp_addArg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit_match__3___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Example_toMessageData___closed__4; extern lean_object* l_Lean_Literal_type___closed__2; size_t lean_usize_modn(size_t, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isConstructorTransition___boxed(lean_object*); extern lean_object* l_Lean_instToExprUnit___lambda__1___closed__3; -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux_match__1(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_MatcherApp_addArg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__3; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__2; -lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst_match__1(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___closed__1; lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor_match__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_foldl___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf___spec__4(lean_object*, lean_object*); extern lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_510____closed__4; uint8_t l_Array_isEmpty___rarg(lean_object*); -lean_object* l_Lean_Meta_Match_Alt_toMessageData___closed__1; lean_object* l_Std_HashSetImp_moveEntries___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf___spec__3(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_LocalDecl_toExpr(lean_object*); -lean_object* l_Lean_Meta_Match_instantiateAltLHSMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Unify_unify___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_isExprDefEq___at_Lean_Meta_Match_Unify_unify___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Unify_unify___closed__1; lean_object* l_Lean_Meta_instantiateLambda___at___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__2; uint8_t l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isVariableTransition___spec__1(uint8_t, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Match_mkMatcher___spec__3(size_t, size_t, lean_object*); lean_object* l___private_Lean_Meta_InferType_0__Lean_Meta_getLevelImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -477,19 +396,16 @@ lean_object* l_Lean_fmt___at_Lean_Position_instToFormatPosition___spec__1(lean_o lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f_match__2(lean_object*); lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__5; lean_object* l_Lean_Meta_Match_Unify_assign___closed__1; lean_object* l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasValPattern___spec__1___boxed(lean_object*, lean_object*); lean_object* l_Lean_Expr_toHeadIndex(lean_object*); uint8_t l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isValueTransition___spec__1(uint8_t, lean_object*); -lean_object* l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__1(lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_mkMinorType___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkFVar(lean_object*); lean_object* l_Lean_Meta_Match_Unify_expandIfVar_match__1(lean_object*); uint8_t l_List_elem___at_Lean_Occurrences_contains___spec__1(lean_object*, lean_object*); lean_object* l_Array_indexOfAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_MessageData_arrayExpr_toMessageData___closed__2; size_t lean_usize_of_nat(lean_object*); -lean_object* l_Lean_replaceFVarIdAtLocalDecl(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkSimpleThunkType(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isFirstPatternVar_match__1(lean_object*); @@ -498,36 +414,25 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipIna lean_object* l_Lean_Meta_Match_Unify_assign___closed__4; lean_object* l_List_filterAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__6___boxed(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_counterExampleToMessageData(lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__10; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___closed__3; -lean_object* l_Lean_Expr_replaceFVarId(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_fvarId(lean_object*); +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop_match__2(lean_object*); uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasCtorPattern(lean_object*); -lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__1; -lean_object* l_Lean_throwErrorAt___at_Lean_Meta_Match_Alt_checkAndReplaceFVarId___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_mkMinorType___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___closed__3; -lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId_match__1(lean_object*); -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_LevelDefEq_0__Lean_Meta_isLevelDefEqImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf_match__1(lean_object*); lean_object* l_Lean_Meta_Match_isCurrVarInductive___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l___private_Lean_Meta_WHNF_0__Lean_Meta_whnfEasyCases___closed__1; lean_object* l_Lean_Meta_Match_Unify_assign___closed__2; -lean_object* l_List_map___at_Lean_Meta_Match_counterExamplesToMessageData___spec__1(lean_object*); -lean_object* l_Lean_LocalDecl_type(lean_object*); -lean_object* l_Lean_Meta_instantiateLocalDeclMVars___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceState___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Alt_toMessageData___closed__4; lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandNatValuePattern___spec__1___closed__1; lean_object* l_Lean_Meta_FVarSubst_get(lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__3; -lean_object* l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__3; extern lean_object* l_Lean_Parser_Tactic_match___closed__1; extern lean_object* l_Lean_Expr_instInhabitedExpr; -uint8_t l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2(uint8_t, lean_object*); -lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__1___boxed(lean_object*, lean_object*); lean_object* l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isVariableTransition___spec__1___boxed(lean_object*, lean_object*); extern lean_object* l_Lean_Expr_FindImpl_initCache; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor_match__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -536,30 +441,24 @@ lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_ extern lean_object* l_Std_HashSet_instInhabitedHashSet___closed__1; lean_object* l_Std_HashSetImp_expand___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf___spec__2(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop_match__1(lean_object*); -lean_object* l_Lean_Meta_Match_Example_applyFVarSubst___boxed(lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__3(lean_object*); -lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__2; lean_object* l_Lean_Meta_Match_Unify_assign___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_redLength___rarg(lean_object*); lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getInductiveVal_x3f_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__8___closed__2; -extern lean_object* l_myMacro____x40_Init_Notation___hyg_5739____closed__21; lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__4(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__6; -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__3; lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__5(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isNatValueTransition___boxed(lean_object*); lean_object* l_Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); lean_object* l___private_Lean_HeadIndex_0__Lean_Expr_headNumArgsAux(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwNonSupported___lambda__1___closed__2; -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux_match__2(lean_object*, lean_object*); lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Meta_getParamNamesImp___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_List_find_x3f___rarg(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceState___closed__1; +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_mkMinorType___boxed__const__1; lean_object* l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__8___closed__1; lean_object* l_Lean_Meta_getLocalDecl___at_Lean_Meta_getFVarLocalDecl___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandNatValuePattern___spec__1(lean_object*); @@ -572,22 +471,16 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue__ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceState___lambda__1(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_expr_eqv(lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Alt_toMessageData(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isValueTransition(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process___lambda__1___closed__3; -lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__7; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceState___closed__2; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f_match__3___rarg(lean_object*, lean_object*); -lean_object* l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__3(lean_object*, lean_object*, lean_object*); -lean_object* l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1(lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__4; uint8_t lean_nat_dec_le(lean_object*, lean_object*); lean_object* l_Lean_Meta_MatcherApp_addArg_match__2___rarg(lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Problem_toMessageData(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkApp(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts_match__1(lean_object*); lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst(lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__5; lean_object* l_Lean_Meta_MatcherApp_addArg___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Std_HashSetImp_contains___at_Lean_Meta_Match_mkMatcher___spec__4(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasCtorPattern___boxed(lean_object*); @@ -596,7 +489,6 @@ lean_object* l_Lean_Meta_mkArrow___at_Lean_Meta_MatcherApp_addArg___spec__3___bo lean_object* l_Lean_addTrace___at_Lean_Meta_substCore___spec__15(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue_match__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible_match__2___rarg(lean_object*, lean_object*, lean_object*); -uint8_t l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__1(lean_object*, lean_object*); lean_object* l_Lean_Meta_FVarSubst_insert(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_isCurrVarInductive(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns___spec__1(lean_object*, uint8_t, lean_object*); @@ -616,45 +508,34 @@ lean_object* l_Lean_Meta_MatcherApp_addArg_match__1___rarg(lean_object*, lean_ob lean_object* l_Lean_Meta_admit(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Alt_replaceFVarId(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible_match__1(lean_object*); -lean_object* l_Lean_Meta_isExprDefEqGuarded___at_Lean_Meta_Match_Alt_checkAndReplaceFVarId___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_mkMinorType___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_setInlineAttribute___at_Lean_Meta_Match_mkMatcher___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_ppGoal_pushPending___closed__1; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasNatValPattern___boxed(lean_object*); lean_object* l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__4; lean_object* l_Lean_Meta_mkArrayLit___at___private_Lean_Meta_Match_CaseArraySizes_0__Lean_Meta_introArrayLit_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__2(lean_object*, lean_object*, lean_object*); uint8_t l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasValPattern___spec__1(uint8_t, lean_object*); -lean_object* l_Lean_Meta_Match_Example_applyFVarSubst_match__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_isCurrVarInductive_match__1(lean_object*); lean_object* l_List_replace___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf___spec__5(lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwNonSupported___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_instantiatePatternMVars_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__11; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue_match__3___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher___lambda__3___closed__2; lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1___closed__2; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible(lean_object*); lean_object* lean_register_option(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns___spec__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_filterAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___spec__2___boxed(lean_object*, lean_object*, lean_object*); -uint8_t l_Lean_Meta_Match_Pattern_hasExprMVar(lean_object*); lean_object* l_List_filterAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__6(lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapIdxM_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__5; extern lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__8; lean_object* l_Array_indexOfAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f___spec__1(lean_object*, lean_object*, lean_object*); -lean_object* l_List_map___at_Lean_Meta_Match_Pattern_toMessageData___spec__2(lean_object*); -lean_object* l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__2(lean_object*, lean_object*); lean_object* l_Lean_Meta_MatcherApp_addArg___lambda__4___closed__2; lean_object* l_Lean_Meta_setMCtx___at___private_Lean_Meta_Basic_0__Lean_Meta_liftMkBindingM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_mul(lean_object*, lean_object*); -lean_object* l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2___boxed(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); 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_object* l_Lean_Meta_Match_Example_varsToUnderscore_match__1(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_lambdaTelescope___at_Lean_Meta_MatcherApp_addArg___spec__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__5___boxed(lean_object*, lean_object*); @@ -676,12 +557,9 @@ lean_object* l_Std_HashSetImp_contains___at_Lean_Meta_Match_mkMatcher___spec__4_ lean_object* l_List_map___at_Lean_Meta_Match_mkMatcher___spec__2(lean_object*); uint8_t l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isNatValueTransition___spec__1(uint8_t, lean_object*); lean_object* l_Lean_Meta_Match_Unify_assign___closed__5; -lean_object* l_Lean_Meta_Match_withGoalOf(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isValueTransition_match__1(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*); -extern lean_object* l_myMacro____x40_Init_Notation___hyg_5739____closed__9; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___closed__2; -lean_object* l_Lean_Meta_Match_Pattern_instInhabitedPattern___closed__1; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_MatcherApp_addArg___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* l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasArrayLitPattern___spec__1___boxed(lean_object*, lean_object*); @@ -692,8 +570,8 @@ lean_object* l_List_filterAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_ lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor___closed__5; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandNatValuePattern_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasArrayLitPattern___spec__1(uint8_t, lean_object*); +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Pattern_toMessageData___closed__6; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue_match__2(lean_object*); lean_object* l_List_toArrayAux___rarg(lean_object*, lean_object*); lean_object* l_instBEq___rarg(lean_object*, lean_object*, lean_object*); @@ -704,23 +582,18 @@ lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarImpl(lean_o lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isValueTransition___boxed(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___lambda__3___closed__1; lean_object* l_Lean_Meta_Match_withGoalOf___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__1; -lean_object* l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2(lean_object*, lean_object*); lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__5___boxed(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwNonSupported___closed__1; -lean_object* l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2___boxed(lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__2(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Unify_unify(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Unify_expandIfVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Position_lt___closed__1; lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor___closed__3; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_mk_array(lean_object*, lean_object*); -extern lean_object* l_List_map___at_Lean_Meta_DiscrTree_Trie_format___spec__2___rarg___closed__1; lean_object* l_List_filterAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__6(lean_object*, lean_object*, lean_object*); lean_object* l_List_toString___at_Lean_Meta_Match_mkMatcher___spec__9(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceStep___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -736,42 +609,33 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoA lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isConstructorTransition_match__1(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwNonSupported(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__5; -lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3___boxed(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_unify_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux_match__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceStep___closed__2; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___lambda__3___closed__3; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___closed__2; -lean_object* l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1___boxed(lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_mkMatcher_match__1___rarg(lean_object*, lean_object*); lean_object* l_Lean_indentD(lean_object*); lean_object* l_Lean_Meta_Match_State_used___default___closed__1; lean_object* l_Lean_throwError___at_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_1022____spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_EnumAttributes_setValue___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_examplesToMessageData(lean_object*); -lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__9; lean_object* l_Lean_Expr_FindImpl_findM_x3f_visit(lean_object*, size_t, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_State_used___default; lean_object* l_Lean_Meta_forallBoundedTelescope___at___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__8; lean_object* l_Lean_Meta_Match_Unify_occurs___lambda__1___boxed(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_instantiateLambdaAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoArrayLit_loop___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_inLocalDecls___boxed(lean_object*, lean_object*); extern lean_object* l_Lean_mkOptionalNode___closed__2; -extern lean_object* l_Lean_Format_paren___closed__3; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___closed__1; 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*); lean_object* l_Lean_mkNatLit(lean_object*); lean_object* l_Lean_Expr_getAppFn(lean_object*); -lean_object* l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__2(lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isNextVar_match__1(lean_object*); lean_object* l_Nat_foldAux___at_Lean_Meta_Match_mkMatcher___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor_match__1___rarg(lean_object*, lean_object*, lean_object*); @@ -779,20 +643,14 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstru lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_List_foldl___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_collectArraySizes___spec__1___boxed(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasArrayLitPattern___boxed(lean_object*); -lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__1; uint8_t l_List_isEmpty___rarg(lean_object*); lean_object* l_List_lengthAux___rarg(lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__7; lean_object* l_Lean_Meta_Match_mkMatcher___lambda__1___closed__16; lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceStep___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_lambdaTelescopeImp___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__5(lean_object*, lean_object*); lean_object* l_List_toStringAux___at_Lean_Meta_Match_mkMatcher___spec__10(uint8_t, lean_object*); -lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst_match__2(lean_object*); -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux_match__1___rarg(lean_object*, lean_object*); -lean_object* l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__2(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable_match__3(lean_object*); lean_object* l_Lean_Meta_Match_Unify_assign___closed__6; uint8_t l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_inLocalDecls___spec__1(lean_object*, uint8_t, lean_object*); @@ -800,48 +658,36 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process___boxe lean_object* l_Lean_Meta_Match_isCurrVarInductive_match__1___rarg(lean_object*, lean_object*, lean_object*); uint8_t lean_level_eq(lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_isCurrVarInductive___closed__1; -lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__6; -lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__6; -lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isVariableTransition___boxed(lean_object*); lean_object* l_Lean_indentExpr(lean_object*); -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_MatcherApp_addArg___lambda__2___closed__2; lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Meta_reduceMatcher_x3f___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_instInhabitedProblem; +extern lean_object* l_Lean_Meta_Match_instInhabitedProblem; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasAsPattern_match__1(lean_object*); -lean_object* l_List_foldl___at_Lean_Meta_Match_Pattern_toMessageData___spec__1___closed__1; -lean_object* l_Lean_Meta_Match_Example_toMessageData___closed__3; lean_object* l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1___closed__1; lean_object* l_Lean_Level_format(lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Closure_mkBinding___spec__1(size_t, size_t, lean_object*); lean_object* l_Lean_mkConst(lean_object*, lean_object*); uint8_t l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasAsPattern___spec__1(uint8_t, lean_object*); -lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__2; -lean_object* l_Lean_Meta_Match_counterExamplesToMessageData(lean_object*); lean_object* l_Lean_Meta_isLevelDefEq___at_Lean_Meta_Match_mkMatcher___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_caseArraySizes(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_Match_Example_toMessageData___closed__1; lean_object* l_Lean_Meta_MatcherApp_addArg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___closed__2; -lean_object* l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__1___boxed(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getInductiveVal_x3f_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_forallBoundedTelescope___at___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___spec__1(lean_object*); -lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__5; lean_object* l_Lean_Meta_Match_Alt_applyFVarSubst(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable_match__1(lean_object*); -lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588_(lean_object*); +lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149_(lean_object*); extern lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_throwInductiveTypeExpected___rarg___closed__2; -lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__3; uint8_t l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isArrayLitTransition___spec__1(uint8_t, lean_object*); extern lean_object* l_Lean_Meta_throwLetTypeMismatchMessage___rarg___closed__8; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor_match__4___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Unify_isAltVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process___lambda__1___closed__4; +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop_match__1___rarg(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasArrayLitPattern_match__1(lean_object*); lean_object* l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__7___boxed(lean_object*, lean_object*); -lean_object* l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__2___boxed(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_substCore___spec__16(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_Unify_expandIfVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Match_mkMatcher___spec__7___boxed(lean_object*, lean_object*, lean_object*); @@ -858,13 +704,10 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process___lamb lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isVariableTransition_match__1(lean_object*); lean_object* l_Lean_Meta_check(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at___private_Lean_Meta_RecursorInfo_0__Lean_Meta_getMajorPosDepElim___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Alt_toMessageData___closed__3; 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_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Pattern_toExpr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l___kind_term____x40_Init_Notation___hyg_6289____closed__2; lean_object* l_Lean_Meta_MatcherApp_addArg___lambda__2___closed__1; 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_object* l_Lean_Meta_Match_Example_replaceFVarId_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable_match__2___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___lambda__2___closed__1; @@ -873,7140 +716,7 @@ lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___closed_ extern lean_object* l_Lean_Meta_mkArrow___rarg___closed__2; lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_isNatValueTransition_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__2; -uint8_t l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__1(uint8_t, lean_object*); uint8_t l_Lean_Meta_Match_generateMatcherCode(lean_object*); -lean_object* l_Lean_Meta_Match_Example_toMessageData___closed__2; -static lean_object* _init_l_Lean_Meta_Match_Pattern_instInhabitedPattern___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Expr_instInhabitedExpr___closed__1; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Meta_Match_Pattern_instInhabitedPattern() { -_start: -{ -lean_object* x_1; -x_1 = l_Lean_Meta_Match_Pattern_instInhabitedPattern___closed__1; -return x_1; -} -} -lean_object* l_Lean_Meta_Match_Pattern_toMessageData_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -switch (lean_obj_tag(x_1)) { -case 0: -{ -lean_object* x_9; lean_object* x_10; -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_9 = lean_ctor_get(x_1, 0); -lean_inc(x_9); -lean_dec(x_1); -x_10 = lean_apply_1(x_2, x_9); -return x_10; -} -case 1: -{ -lean_object* x_11; lean_object* x_12; -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -x_11 = lean_ctor_get(x_1, 0); -lean_inc(x_11); -lean_dec(x_1); -x_12 = lean_apply_1(x_3, x_11); -return x_12; -} -case 2: -{ -lean_object* x_13; -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_3); -lean_dec(x_2); -x_13 = lean_ctor_get(x_1, 3); -lean_inc(x_13); -if (lean_obj_tag(x_13) == 0) -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; -lean_dec(x_5); -x_14 = lean_ctor_get(x_1, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_1, 1); -lean_inc(x_15); -x_16 = lean_ctor_get(x_1, 2); -lean_inc(x_16); -lean_dec(x_1); -x_17 = lean_apply_3(x_4, x_14, x_15, x_16); -return x_17; -} -else -{ -lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; -lean_dec(x_4); -x_18 = lean_ctor_get(x_1, 0); -lean_inc(x_18); -x_19 = lean_ctor_get(x_1, 1); -lean_inc(x_19); -x_20 = lean_ctor_get(x_1, 2); -lean_inc(x_20); -lean_dec(x_1); -x_21 = lean_apply_4(x_5, x_18, x_19, x_20, x_13); -return x_21; -} -} -case 3: -{ -lean_object* x_22; lean_object* x_23; -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_22 = lean_ctor_get(x_1, 0); -lean_inc(x_22); -lean_dec(x_1); -x_23 = lean_apply_1(x_6, x_22); -return x_23; -} -case 4: -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_24 = lean_ctor_get(x_1, 0); -lean_inc(x_24); -x_25 = lean_ctor_get(x_1, 1); -lean_inc(x_25); -lean_dec(x_1); -x_26 = lean_apply_2(x_7, x_24, x_25); -return x_26; -} -default: -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_27 = lean_ctor_get(x_1, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_1, 1); -lean_inc(x_28); -lean_dec(x_1); -x_29 = lean_apply_2(x_8, x_27, x_28); -return x_29; -} -} -} -} -lean_object* l_Lean_Meta_Match_Pattern_toMessageData_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Pattern_toMessageData_match__1___rarg), 8, 0); -return x_2; -} -} -static lean_object* _init_l_List_foldl___at_Lean_Meta_Match_Pattern_toMessageData___spec__1___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_ppGoal_pushPending___closed__1; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -lean_object* l_List_foldl___at_Lean_Meta_Match_Pattern_toMessageData___spec__1(lean_object* x_1, lean_object* x_2) { -_start: -{ -if (lean_obj_tag(x_2) == 0) -{ -return x_1; -} -else -{ -lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_3 = lean_ctor_get(x_2, 0); -lean_inc(x_3); -x_4 = lean_ctor_get(x_2, 1); -lean_inc(x_4); -lean_dec(x_2); -x_5 = l_List_foldl___at_Lean_Meta_Match_Pattern_toMessageData___spec__1___closed__1; -x_6 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_6, 0, x_1); -lean_ctor_set(x_6, 1, x_5); -x_7 = l_Lean_Meta_Match_Pattern_toMessageData(x_3); -x_8 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_8, 0, x_6); -lean_ctor_set(x_8, 1, x_7); -x_1 = x_8; -x_2 = x_4; -goto _start; -} -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Pattern_toMessageData___spec__2(lean_object* x_1) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_2; -x_2 = lean_box(0); -return x_2; -} -else -{ -uint8_t x_3; -x_3 = !lean_is_exclusive(x_1); -if (x_3 == 0) -{ -lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_4 = lean_ctor_get(x_1, 0); -x_5 = lean_ctor_get(x_1, 1); -x_6 = l_Lean_Meta_Match_Pattern_toMessageData(x_4); -x_7 = l_List_map___at_Lean_Meta_Match_Pattern_toMessageData___spec__2(x_5); -lean_ctor_set(x_1, 1, x_7); -lean_ctor_set(x_1, 0, x_6); -return x_1; -} -else -{ -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_8 = lean_ctor_get(x_1, 0); -x_9 = lean_ctor_get(x_1, 1); -lean_inc(x_9); -lean_inc(x_8); -lean_dec(x_1); -x_10 = l_Lean_Meta_Match_Pattern_toMessageData(x_8); -x_11 = l_List_map___at_Lean_Meta_Match_Pattern_toMessageData___spec__2(x_9); -x_12 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_12, 0, x_10); -lean_ctor_set(x_12, 1, x_11); -return x_12; -} -} -} -} -static lean_object* _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string(".("); -return x_1; -} -} -static lean_object* _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Match_Pattern_toMessageData___closed__1; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_myMacro____x40_Init_Notation___hyg_5739____closed__21; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_myMacro____x40_Init_Notation___hyg_5739____closed__9; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__5() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_addParenHeuristic___closed__2; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__6() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l___kind_term____x40_Init_Notation___hyg_6289____closed__10; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__7() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("@"); -return x_1; -} -} -static lean_object* _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__8() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Match_Pattern_toMessageData___closed__7; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -lean_object* l_Lean_Meta_Match_Pattern_toMessageData(lean_object* x_1) { -_start: -{ -switch (lean_obj_tag(x_1)) { -case 0: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = lean_ctor_get(x_1, 0); -lean_inc(x_2); -lean_dec(x_1); -x_3 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_3, 0, x_2); -x_4 = l_Lean_Meta_Match_Pattern_toMessageData___closed__2; -x_5 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_5, 0, x_4); -lean_ctor_set(x_5, 1, x_3); -x_6 = l_Lean_Meta_Match_Pattern_toMessageData___closed__3; -x_7 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_7, 0, x_5); -lean_ctor_set(x_7, 1, x_6); -return x_7; -} -case 1: -{ -lean_object* x_8; lean_object* x_9; lean_object* x_10; -x_8 = lean_ctor_get(x_1, 0); -lean_inc(x_8); -lean_dec(x_1); -x_9 = l_Lean_mkFVar(x_8); -x_10 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_10, 0, x_9); -return x_10; -} -case 2: -{ -lean_object* x_11; -x_11 = lean_ctor_get(x_1, 3); -lean_inc(x_11); -if (lean_obj_tag(x_11) == 0) -{ -lean_object* x_12; lean_object* x_13; -x_12 = lean_ctor_get(x_1, 0); -lean_inc(x_12); -lean_dec(x_1); -x_13 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_13, 0, x_12); -return x_13; -} -else -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_14 = lean_ctor_get(x_1, 0); -lean_inc(x_14); -lean_dec(x_1); -x_15 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_15, 0, x_14); -x_16 = l_Lean_Meta_Match_Pattern_toMessageData___closed__4; -x_17 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_17, 0, x_16); -lean_ctor_set(x_17, 1, x_15); -x_18 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; -x_19 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_19, 0, x_17); -lean_ctor_set(x_19, 1, x_18); -x_20 = l_Lean_MessageData_nil___closed__1; -x_21 = l_List_foldl___at_Lean_Meta_Match_Pattern_toMessageData___spec__1(x_20, x_11); -x_22 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_22, 0, x_19); -lean_ctor_set(x_22, 1, x_21); -x_23 = l_Lean_Meta_Match_Pattern_toMessageData___closed__3; -x_24 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -return x_24; -} -} -case 3: -{ -lean_object* x_25; lean_object* x_26; -x_25 = lean_ctor_get(x_1, 0); -lean_inc(x_25); -lean_dec(x_1); -x_26 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_26, 0, x_25); -return x_26; -} -case 4: -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_27 = lean_ctor_get(x_1, 1); -lean_inc(x_27); -lean_dec(x_1); -x_28 = l_List_map___at_Lean_Meta_Match_Pattern_toMessageData___spec__2(x_27); -x_29 = l_Lean_MessageData_arrayExpr_toMessageData___closed__2; -x_30 = l_Lean_MessageData_joinSep(x_28, x_29); -lean_dec(x_28); -x_31 = l_Lean_Meta_Match_Pattern_toMessageData___closed__5; -x_32 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_32, 0, x_31); -lean_ctor_set(x_32, 1, x_30); -x_33 = l_Lean_Meta_Match_Pattern_toMessageData___closed__6; -x_34 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return x_34; -} -default: -{ -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_35 = lean_ctor_get(x_1, 0); -lean_inc(x_35); -x_36 = lean_ctor_get(x_1, 1); -lean_inc(x_36); -lean_dec(x_1); -x_37 = l_Lean_mkFVar(x_35); -x_38 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_38, 0, x_37); -x_39 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; -x_40 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_40, 0, x_39); -lean_ctor_set(x_40, 1, x_38); -x_41 = l_Lean_Meta_Match_Pattern_toMessageData___closed__8; -x_42 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_42, 0, x_40); -lean_ctor_set(x_42, 1, x_41); -x_43 = l_Lean_Meta_Match_Pattern_toMessageData(x_36); -x_44 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_44, 0, x_42); -lean_ctor_set(x_44, 1, x_43); -x_45 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_45, 0, x_44); -lean_ctor_set(x_45, 1, x_39); -return x_45; -} -} -} -} -lean_object* l_Lean_Meta_Match_Pattern_toExpr_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -switch (lean_obj_tag(x_1)) { -case 0: -{ -lean_object* x_8; lean_object* x_9; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_8 = lean_ctor_get(x_1, 0); -lean_inc(x_8); -lean_dec(x_1); -x_9 = lean_apply_1(x_2, x_8); -return x_9; -} -case 1: -{ -lean_object* x_10; lean_object* x_11; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -x_10 = lean_ctor_get(x_1, 0); -lean_inc(x_10); -lean_dec(x_1); -x_11 = lean_apply_1(x_3, x_10); -return x_11; -} -case 2: -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_12 = lean_ctor_get(x_1, 0); -lean_inc(x_12); -x_13 = lean_ctor_get(x_1, 1); -lean_inc(x_13); -x_14 = lean_ctor_get(x_1, 2); -lean_inc(x_14); -x_15 = lean_ctor_get(x_1, 3); -lean_inc(x_15); -lean_dec(x_1); -x_16 = lean_apply_4(x_7, x_12, x_13, x_14, x_15); -return x_16; -} -case 3: -{ -lean_object* x_17; lean_object* x_18; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -x_17 = lean_ctor_get(x_1, 0); -lean_inc(x_17); -lean_dec(x_1); -x_18 = lean_apply_1(x_4, x_17); -return x_18; -} -case 4: -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_19 = lean_ctor_get(x_1, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_1, 1); -lean_inc(x_20); -lean_dec(x_1); -x_21 = lean_apply_2(x_6, x_19, x_20); -return x_21; -} -default: -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_22 = lean_ctor_get(x_1, 0); -lean_inc(x_22); -x_23 = lean_ctor_get(x_1, 1); -lean_inc(x_23); -lean_dec(x_1); -x_24 = lean_apply_2(x_5, x_22, x_23); -return x_24; -} -} -} -} -lean_object* l_Lean_Meta_Match_Pattern_toExpr_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Pattern_toExpr_match__1___rarg), 7, 0); -return x_2; -} -} -lean_object* l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_7; lean_object* x_8; -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_7 = lean_box(0); -x_8 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_8, 0, x_7); -lean_ctor_set(x_8, 1, x_6); -return x_8; -} -else -{ -uint8_t x_9; -x_9 = !lean_is_exclusive(x_1); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_10 = lean_ctor_get(x_1, 0); -x_11 = lean_ctor_get(x_1, 1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_12 = l_Lean_Meta_Match_Pattern_toExpr(x_10, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_12) == 0) -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); -lean_inc(x_14); -lean_dec(x_12); -x_15 = l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr___spec__1(x_11, x_2, x_3, x_4, x_5, x_14); -if (lean_obj_tag(x_15) == 0) -{ -uint8_t x_16; -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) -{ -lean_object* x_17; -x_17 = lean_ctor_get(x_15, 0); -lean_ctor_set(x_1, 1, x_17); -lean_ctor_set(x_1, 0, x_13); -lean_ctor_set(x_15, 0, x_1); -return x_15; -} -else -{ -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_15, 0); -x_19 = lean_ctor_get(x_15, 1); -lean_inc(x_19); -lean_inc(x_18); -lean_dec(x_15); -lean_ctor_set(x_1, 1, x_18); -lean_ctor_set(x_1, 0, x_13); -x_20 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_20, 0, x_1); -lean_ctor_set(x_20, 1, x_19); -return x_20; -} -} -else -{ -uint8_t x_21; -lean_dec(x_13); -lean_free_object(x_1); -x_21 = !lean_is_exclusive(x_15); -if (x_21 == 0) -{ -return x_15; -} -else -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_15, 0); -x_23 = lean_ctor_get(x_15, 1); -lean_inc(x_23); -lean_inc(x_22); -lean_dec(x_15); -x_24 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -return x_24; -} -} -} -else -{ -uint8_t x_25; -lean_free_object(x_1); -lean_dec(x_11); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_25 = !lean_is_exclusive(x_12); -if (x_25 == 0) -{ -return x_12; -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_12, 0); -x_27 = lean_ctor_get(x_12, 1); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_12); -x_28 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -return x_28; -} -} -} -else -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_1, 0); -x_30 = lean_ctor_get(x_1, 1); -lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_31 = l_Lean_Meta_Match_Pattern_toExpr(x_29, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_31) == 0) -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); -lean_inc(x_33); -lean_dec(x_31); -x_34 = l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr___spec__1(x_30, x_2, x_3, x_4, x_5, x_33); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -x_36 = lean_ctor_get(x_34, 1); -lean_inc(x_36); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_37 = x_34; -} else { - lean_dec_ref(x_34); - x_37 = lean_box(0); -} -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_32); -lean_ctor_set(x_38, 1, x_35); -if (lean_is_scalar(x_37)) { - x_39 = lean_alloc_ctor(0, 2, 0); -} else { - x_39 = x_37; -} -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_36); -return x_39; -} -else -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -lean_dec(x_32); -x_40 = lean_ctor_get(x_34, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_34, 1); -lean_inc(x_41); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_42 = x_34; -} else { - lean_dec_ref(x_34); - x_42 = lean_box(0); -} -if (lean_is_scalar(x_42)) { - x_43 = lean_alloc_ctor(1, 2, 0); -} else { - x_43 = x_42; -} -lean_ctor_set(x_43, 0, x_40); -lean_ctor_set(x_43, 1, x_41); -return x_43; -} -} -else -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; -lean_dec(x_30); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_44 = lean_ctor_get(x_31, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_31, 1); -lean_inc(x_45); -if (lean_is_exclusive(x_31)) { - lean_ctor_release(x_31, 0); - lean_ctor_release(x_31, 1); - x_46 = x_31; -} else { - lean_dec_ref(x_31); - x_46 = lean_box(0); -} -if (lean_is_scalar(x_46)) { - x_47 = lean_alloc_ctor(1, 2, 0); -} else { - x_47 = x_46; -} -lean_ctor_set(x_47, 0, x_44); -lean_ctor_set(x_47, 1, x_45); -return x_47; -} -} -} -} -} -lean_object* l_Lean_Meta_Match_Pattern_toExpr(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: -{ -switch (lean_obj_tag(x_1)) { -case 1: -{ -lean_object* x_7; lean_object* x_8; lean_object* x_9; -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_7 = lean_ctor_get(x_1, 0); -lean_inc(x_7); -lean_dec(x_1); -x_8 = l_Lean_mkFVar(x_7); -x_9 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_9, 0, x_8); -lean_ctor_set(x_9, 1, x_6); -return x_9; -} -case 2: -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_10 = lean_ctor_get(x_1, 0); -lean_inc(x_10); -x_11 = lean_ctor_get(x_1, 1); -lean_inc(x_11); -x_12 = lean_ctor_get(x_1, 2); -lean_inc(x_12); -x_13 = lean_ctor_get(x_1, 3); -lean_inc(x_13); -lean_dec(x_1); -x_14 = l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr___spec__1(x_13, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_14) == 0) -{ -uint8_t x_15; -x_15 = !lean_is_exclusive(x_14); -if (x_15 == 0) -{ -lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_16 = lean_ctor_get(x_14, 0); -x_17 = l_Lean_mkConst(x_10, x_11); -x_18 = l_List_append___rarg(x_12, x_16); -x_19 = l_List_redLength___rarg(x_18); -x_20 = lean_mk_empty_array_with_capacity(x_19); -lean_dec(x_19); -x_21 = l_List_toArrayAux___rarg(x_18, x_20); -x_22 = l_Lean_mkAppN(x_17, x_21); -lean_dec(x_21); -lean_ctor_set(x_14, 0, x_22); -return x_14; -} -else -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_23 = lean_ctor_get(x_14, 0); -x_24 = lean_ctor_get(x_14, 1); -lean_inc(x_24); -lean_inc(x_23); -lean_dec(x_14); -x_25 = l_Lean_mkConst(x_10, x_11); -x_26 = l_List_append___rarg(x_12, x_23); -x_27 = l_List_redLength___rarg(x_26); -x_28 = lean_mk_empty_array_with_capacity(x_27); -lean_dec(x_27); -x_29 = l_List_toArrayAux___rarg(x_26, x_28); -x_30 = l_Lean_mkAppN(x_25, x_29); -lean_dec(x_29); -x_31 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_31, 0, x_30); -lean_ctor_set(x_31, 1, x_24); -return x_31; -} -} -else -{ -uint8_t x_32; -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -x_32 = !lean_is_exclusive(x_14); -if (x_32 == 0) -{ -return x_14; -} -else -{ -lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_33 = lean_ctor_get(x_14, 0); -x_34 = lean_ctor_get(x_14, 1); -lean_inc(x_34); -lean_inc(x_33); -lean_dec(x_14); -x_35 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_35, 0, x_33); -lean_ctor_set(x_35, 1, x_34); -return x_35; -} -} -} -case 4: -{ -lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_36 = lean_ctor_get(x_1, 0); -lean_inc(x_36); -x_37 = lean_ctor_get(x_1, 1); -lean_inc(x_37); -lean_dec(x_1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_38 = l_List_mapM___at_Lean_Meta_Match_Pattern_toExpr___spec__1(x_37, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_38) == 0) -{ -lean_object* x_39; lean_object* x_40; lean_object* x_41; -x_39 = lean_ctor_get(x_38, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_38, 1); -lean_inc(x_40); -lean_dec(x_38); -x_41 = l_Lean_Meta_mkArrayLit___at___private_Lean_Meta_Match_CaseArraySizes_0__Lean_Meta_introArrayLit_loop___spec__1(x_36, x_39, x_2, x_3, x_4, x_5, x_40); -return x_41; -} -else -{ -uint8_t x_42; -lean_dec(x_36); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_42 = !lean_is_exclusive(x_38); -if (x_42 == 0) -{ -return x_38; -} -else -{ -lean_object* x_43; lean_object* x_44; lean_object* x_45; -x_43 = lean_ctor_get(x_38, 0); -x_44 = lean_ctor_get(x_38, 1); -lean_inc(x_44); -lean_inc(x_43); -lean_dec(x_38); -x_45 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_45, 0, x_43); -lean_ctor_set(x_45, 1, x_44); -return x_45; -} -} -} -case 5: -{ -lean_object* x_46; -x_46 = lean_ctor_get(x_1, 1); -lean_inc(x_46); -lean_dec(x_1); -x_1 = x_46; -goto _start; -} -default: -{ -lean_object* x_48; lean_object* x_49; -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_48 = lean_ctor_get(x_1, 0); -lean_inc(x_48); -lean_dec(x_1); -x_49 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_49, 0, x_48); -lean_ctor_set(x_49, 1, x_6); -return x_49; -} -} -} -} -lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_4; lean_object* x_5; -lean_dec(x_2); -x_4 = lean_box(0); -x_5 = lean_apply_1(x_3, x_4); -return x_5; -} -else -{ -lean_object* x_6; lean_object* x_7; -lean_dec(x_3); -x_6 = lean_ctor_get(x_1, 0); -lean_inc(x_6); -lean_dec(x_1); -x_7 = lean_apply_1(x_2, x_6); -return x_7; -} -} -} -lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Pattern_applyFVarSubst_match__1___rarg), 3, 0); -return x_2; -} -} -lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_4; lean_object* x_5; -lean_dec(x_3); -x_4 = lean_box(0); -x_5 = lean_apply_1(x_2, x_4); -return x_5; -} -else -{ -lean_object* x_6; lean_object* x_7; -lean_dec(x_2); -x_6 = lean_ctor_get(x_1, 0); -lean_inc(x_6); -lean_dec(x_1); -x_7 = lean_apply_1(x_3, x_6); -return x_7; -} -} -} -lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst_match__2(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Pattern_applyFVarSubst_match__2___rarg), 3, 0); -return x_2; -} -} -lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst_match__3___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -switch (lean_obj_tag(x_1)) { -case 0: -{ -lean_object* x_8; lean_object* x_9; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_8 = lean_ctor_get(x_1, 0); -lean_inc(x_8); -lean_dec(x_1); -x_9 = lean_apply_1(x_2, x_8); -return x_9; -} -case 1: -{ -lean_object* x_10; lean_object* x_11; -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_10 = lean_ctor_get(x_1, 0); -lean_inc(x_10); -lean_dec(x_1); -x_11 = lean_apply_1(x_6, x_10); -return x_11; -} -case 2: -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -x_12 = lean_ctor_get(x_1, 0); -lean_inc(x_12); -x_13 = lean_ctor_get(x_1, 1); -lean_inc(x_13); -x_14 = lean_ctor_get(x_1, 2); -lean_inc(x_14); -x_15 = lean_ctor_get(x_1, 3); -lean_inc(x_15); -lean_dec(x_1); -x_16 = lean_apply_4(x_3, x_12, x_13, x_14, x_15); -return x_16; -} -case 3: -{ -lean_object* x_17; lean_object* x_18; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -x_17 = lean_ctor_get(x_1, 0); -lean_inc(x_17); -lean_dec(x_1); -x_18 = lean_apply_1(x_4, x_17); -return x_18; -} -case 4: -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_19 = lean_ctor_get(x_1, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_1, 1); -lean_inc(x_20); -lean_dec(x_1); -x_21 = lean_apply_2(x_5, x_19, x_20); -return x_21; -} -default: -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_22 = lean_ctor_get(x_1, 0); -lean_inc(x_22); -x_23 = lean_ctor_get(x_1, 1); -lean_inc(x_23); -lean_dec(x_1); -x_24 = lean_apply_2(x_7, x_22, x_23); -return x_24; -} -} -} -} -lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst_match__3(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Pattern_applyFVarSubst_match__3___rarg), 7, 0); -return x_2; -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1(lean_object* x_1, lean_object* x_2) { -_start: -{ -if (lean_obj_tag(x_2) == 0) -{ -lean_object* x_3; -x_3 = lean_box(0); -return x_3; -} -else -{ -uint8_t x_4; -x_4 = !lean_is_exclusive(x_2); -if (x_4 == 0) -{ -lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_5 = lean_ctor_get(x_2, 0); -x_6 = lean_ctor_get(x_2, 1); -x_7 = l_Lean_Meta_FVarSubst_apply(x_1, x_5); -x_8 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1(x_1, x_6); -lean_ctor_set(x_2, 1, x_8); -lean_ctor_set(x_2, 0, x_7); -return x_2; -} -else -{ -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_9 = lean_ctor_get(x_2, 0); -x_10 = lean_ctor_get(x_2, 1); -lean_inc(x_10); -lean_inc(x_9); -lean_dec(x_2); -x_11 = l_Lean_Meta_FVarSubst_apply(x_1, x_9); -x_12 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1(x_1, x_10); -x_13 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_13, 0, x_11); -lean_ctor_set(x_13, 1, x_12); -return x_13; -} -} -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2(lean_object* x_1, lean_object* x_2) { -_start: -{ -if (lean_obj_tag(x_2) == 0) -{ -lean_object* x_3; -x_3 = lean_box(0); -return x_3; -} -else -{ -uint8_t x_4; -x_4 = !lean_is_exclusive(x_2); -if (x_4 == 0) -{ -lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_5 = lean_ctor_get(x_2, 0); -x_6 = lean_ctor_get(x_2, 1); -x_7 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_5); -x_8 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2(x_1, x_6); -lean_ctor_set(x_2, 1, x_8); -lean_ctor_set(x_2, 0, x_7); -return x_2; -} -else -{ -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_9 = lean_ctor_get(x_2, 0); -x_10 = lean_ctor_get(x_2, 1); -lean_inc(x_10); -lean_inc(x_9); -lean_dec(x_2); -x_11 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_9); -x_12 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2(x_1, x_10); -x_13 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_13, 0, x_11); -lean_ctor_set(x_13, 1, x_12); -return x_13; -} -} -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3(lean_object* x_1, lean_object* x_2) { -_start: -{ -if (lean_obj_tag(x_2) == 0) -{ -lean_object* x_3; -x_3 = lean_box(0); -return x_3; -} -else -{ -uint8_t x_4; -x_4 = !lean_is_exclusive(x_2); -if (x_4 == 0) -{ -lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_5 = lean_ctor_get(x_2, 0); -x_6 = lean_ctor_get(x_2, 1); -x_7 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_5); -x_8 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3(x_1, x_6); -lean_ctor_set(x_2, 1, x_8); -lean_ctor_set(x_2, 0, x_7); -return x_2; -} -else -{ -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_9 = lean_ctor_get(x_2, 0); -x_10 = lean_ctor_get(x_2, 1); -lean_inc(x_10); -lean_inc(x_9); -lean_dec(x_2); -x_11 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_9); -x_12 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3(x_1, x_10); -x_13 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_13, 0, x_11); -lean_ctor_set(x_13, 1, x_12); -return x_13; -} -} -} -} -lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst(lean_object* x_1, lean_object* x_2) { -_start: -{ -switch (lean_obj_tag(x_2)) { -case 0: -{ -uint8_t x_3; -x_3 = !lean_is_exclusive(x_2); -if (x_3 == 0) -{ -lean_object* x_4; lean_object* x_5; -x_4 = lean_ctor_get(x_2, 0); -x_5 = l_Lean_Meta_FVarSubst_apply(x_1, x_4); -lean_ctor_set(x_2, 0, x_5); -return x_2; -} -else -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = lean_ctor_get(x_2, 0); -lean_inc(x_6); -lean_dec(x_2); -x_7 = l_Lean_Meta_FVarSubst_apply(x_1, x_6); -x_8 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_8, 0, x_7); -return x_8; -} -} -case 1: -{ -uint8_t x_9; -x_9 = !lean_is_exclusive(x_2); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; -x_10 = lean_ctor_get(x_2, 0); -x_11 = l_Std_AssocList_find_x3f___at_Lean_Meta_FVarSubst_find_x3f___spec__1(x_10, x_1); -if (lean_obj_tag(x_11) == 0) -{ -return x_2; -} -else -{ -lean_object* x_12; -lean_dec(x_10); -x_12 = lean_ctor_get(x_11, 0); -lean_inc(x_12); -lean_dec(x_11); -lean_ctor_set_tag(x_2, 0); -lean_ctor_set(x_2, 0, x_12); -return x_2; -} -} -else -{ -lean_object* x_13; lean_object* x_14; -x_13 = lean_ctor_get(x_2, 0); -lean_inc(x_13); -lean_dec(x_2); -x_14 = l_Std_AssocList_find_x3f___at_Lean_Meta_FVarSubst_find_x3f___spec__1(x_13, x_1); -if (lean_obj_tag(x_14) == 0) -{ -lean_object* x_15; -x_15 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_15, 0, x_13); -return x_15; -} -else -{ -lean_object* x_16; lean_object* x_17; -lean_dec(x_13); -x_16 = lean_ctor_get(x_14, 0); -lean_inc(x_16); -lean_dec(x_14); -x_17 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_17, 0, x_16); -return x_17; -} -} -} -case 2: -{ -uint8_t x_18; -x_18 = !lean_is_exclusive(x_2); -if (x_18 == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = lean_ctor_get(x_2, 2); -x_20 = lean_ctor_get(x_2, 3); -x_21 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1(x_1, x_19); -x_22 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2(x_1, x_20); -lean_ctor_set(x_2, 3, x_22); -lean_ctor_set(x_2, 2, x_21); -return x_2; -} -else -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_23 = lean_ctor_get(x_2, 0); -x_24 = lean_ctor_get(x_2, 1); -x_25 = lean_ctor_get(x_2, 2); -x_26 = lean_ctor_get(x_2, 3); -lean_inc(x_26); -lean_inc(x_25); -lean_inc(x_24); -lean_inc(x_23); -lean_dec(x_2); -x_27 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1(x_1, x_25); -x_28 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2(x_1, x_26); -x_29 = lean_alloc_ctor(2, 4, 0); -lean_ctor_set(x_29, 0, x_23); -lean_ctor_set(x_29, 1, x_24); -lean_ctor_set(x_29, 2, x_27); -lean_ctor_set(x_29, 3, x_28); -return x_29; -} -} -case 3: -{ -uint8_t x_30; -x_30 = !lean_is_exclusive(x_2); -if (x_30 == 0) -{ -lean_object* x_31; lean_object* x_32; -x_31 = lean_ctor_get(x_2, 0); -x_32 = l_Lean_Meta_FVarSubst_apply(x_1, x_31); -lean_ctor_set(x_2, 0, x_32); -return x_2; -} -else -{ -lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_33 = lean_ctor_get(x_2, 0); -lean_inc(x_33); -lean_dec(x_2); -x_34 = l_Lean_Meta_FVarSubst_apply(x_1, x_33); -x_35 = lean_alloc_ctor(3, 1, 0); -lean_ctor_set(x_35, 0, x_34); -return x_35; -} -} -case 4: -{ -uint8_t x_36; -x_36 = !lean_is_exclusive(x_2); -if (x_36 == 0) -{ -lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_37 = lean_ctor_get(x_2, 0); -x_38 = lean_ctor_get(x_2, 1); -x_39 = l_Lean_Meta_FVarSubst_apply(x_1, x_37); -x_40 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3(x_1, x_38); -lean_ctor_set(x_2, 1, x_40); -lean_ctor_set(x_2, 0, x_39); -return x_2; -} -else -{ -lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; -x_41 = lean_ctor_get(x_2, 0); -x_42 = lean_ctor_get(x_2, 1); -lean_inc(x_42); -lean_inc(x_41); -lean_dec(x_2); -x_43 = l_Lean_Meta_FVarSubst_apply(x_1, x_41); -x_44 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3(x_1, x_42); -x_45 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_45, 0, x_43); -lean_ctor_set(x_45, 1, x_44); -return x_45; -} -} -default: -{ -uint8_t x_46; -x_46 = !lean_is_exclusive(x_2); -if (x_46 == 0) -{ -lean_object* x_47; lean_object* x_48; lean_object* x_49; -x_47 = lean_ctor_get(x_2, 0); -x_48 = lean_ctor_get(x_2, 1); -x_49 = l_Std_AssocList_find_x3f___at_Lean_Meta_FVarSubst_find_x3f___spec__1(x_47, x_1); -if (lean_obj_tag(x_49) == 0) -{ -lean_object* x_50; -x_50 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_48); -lean_ctor_set(x_2, 1, x_50); -return x_2; -} -else -{ -lean_dec(x_49); -lean_free_object(x_2); -lean_dec(x_47); -x_2 = x_48; -goto _start; -} -} -else -{ -lean_object* x_52; lean_object* x_53; lean_object* x_54; -x_52 = lean_ctor_get(x_2, 0); -x_53 = lean_ctor_get(x_2, 1); -lean_inc(x_53); -lean_inc(x_52); -lean_dec(x_2); -x_54 = l_Std_AssocList_find_x3f___at_Lean_Meta_FVarSubst_find_x3f___spec__1(x_52, x_1); -if (lean_obj_tag(x_54) == 0) -{ -lean_object* x_55; lean_object* x_56; -x_55 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_53); -x_56 = lean_alloc_ctor(5, 2, 0); -lean_ctor_set(x_56, 0, x_52); -lean_ctor_set(x_56, 1, x_55); -return x_56; -} -else -{ -lean_dec(x_54); -lean_dec(x_52); -x_2 = x_53; -goto _start; -} -} -} -} -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__1(x_1, x_2); -lean_dec(x_1); -return x_3; -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__2(x_1, x_2); -lean_dec(x_1); -return x_3; -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_List_map___at_Lean_Meta_Match_Pattern_applyFVarSubst___spec__3(x_1, x_2); -lean_dec(x_1); -return x_3; -} -} -lean_object* l_Lean_Meta_Match_Pattern_applyFVarSubst___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_2); -lean_dec(x_1); -return x_3; -} -} -lean_object* l_Lean_Meta_Match_Pattern_replaceFVarId(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_4 = lean_box(0); -x_5 = l_Lean_Meta_FVarSubst_insert(x_4, x_1, x_2); -x_6 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_5, x_3); -lean_dec(x_5); -return x_6; -} -} -lean_object* l_Lean_Meta_Match_Pattern_hasExprMVar_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -switch (lean_obj_tag(x_1)) { -case 0: -{ -lean_object* x_8; lean_object* x_9; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_8 = lean_ctor_get(x_1, 0); -lean_inc(x_8); -lean_dec(x_1); -x_9 = lean_apply_1(x_2, x_8); -return x_9; -} -case 1: -{ -lean_object* x_10; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_10 = lean_apply_1(x_7, x_1); -return x_10; -} -case 2: -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -x_11 = lean_ctor_get(x_1, 0); -lean_inc(x_11); -x_12 = lean_ctor_get(x_1, 1); -lean_inc(x_12); -x_13 = lean_ctor_get(x_1, 2); -lean_inc(x_13); -x_14 = lean_ctor_get(x_1, 3); -lean_inc(x_14); -lean_dec(x_1); -x_15 = lean_apply_4(x_3, x_11, x_12, x_13, x_14); -return x_15; -} -case 3: -{ -lean_object* x_16; lean_object* x_17; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -x_16 = lean_ctor_get(x_1, 0); -lean_inc(x_16); -lean_dec(x_1); -x_17 = lean_apply_1(x_4, x_16); -return x_17; -} -case 4: -{ -lean_object* x_18; lean_object* x_19; lean_object* x_20; -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_18 = lean_ctor_get(x_1, 0); -lean_inc(x_18); -x_19 = lean_ctor_get(x_1, 1); -lean_inc(x_19); -lean_dec(x_1); -x_20 = lean_apply_2(x_6, x_18, x_19); -return x_20; -} -default: -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_21 = lean_ctor_get(x_1, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_1, 1); -lean_inc(x_22); -lean_dec(x_1); -x_23 = lean_apply_2(x_5, x_21, x_22); -return x_23; -} -} -} -} -lean_object* l_Lean_Meta_Match_Pattern_hasExprMVar_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Pattern_hasExprMVar_match__1___rarg), 7, 0); -return x_2; -} -} -uint8_t l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__1(uint8_t x_1, lean_object* x_2) { -_start: -{ -if (lean_obj_tag(x_2) == 0) -{ -return x_1; -} -else -{ -lean_object* x_3; lean_object* x_4; uint8_t x_5; uint8_t x_6; -x_3 = lean_ctor_get(x_2, 0); -x_4 = lean_ctor_get(x_2, 1); -x_5 = l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__1(x_1, x_4); -x_6 = l_Lean_Expr_hasExprMVar(x_3); -if (x_6 == 0) -{ -return x_5; -} -else -{ -uint8_t x_7; -x_7 = 1; -return x_7; -} -} -} -} -uint8_t l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2(uint8_t x_1, lean_object* x_2) { -_start: -{ -if (lean_obj_tag(x_2) == 0) -{ -return x_1; -} -else -{ -lean_object* x_3; lean_object* x_4; uint8_t x_5; uint8_t x_6; -x_3 = lean_ctor_get(x_2, 0); -x_4 = lean_ctor_get(x_2, 1); -x_5 = l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2(x_1, x_4); -x_6 = l_Lean_Meta_Match_Pattern_hasExprMVar(x_3); -if (x_6 == 0) -{ -return x_5; -} -else -{ -uint8_t x_7; -x_7 = 1; -return x_7; -} -} -} -} -uint8_t l_Lean_Meta_Match_Pattern_hasExprMVar(lean_object* x_1) { -_start: -{ -switch (lean_obj_tag(x_1)) { -case 1: -{ -uint8_t x_2; -x_2 = 0; -return x_2; -} -case 2: -{ -lean_object* x_3; lean_object* x_4; uint8_t x_5; uint8_t x_6; -x_3 = lean_ctor_get(x_1, 2); -x_4 = lean_ctor_get(x_1, 3); -x_5 = 0; -x_6 = l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__1(x_5, x_3); -if (x_6 == 0) -{ -uint8_t x_7; -x_7 = l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2(x_5, x_4); -return x_7; -} -else -{ -uint8_t x_8; -x_8 = 1; -return x_8; -} -} -case 4: -{ -lean_object* x_9; lean_object* x_10; uint8_t x_11; -x_9 = lean_ctor_get(x_1, 0); -x_10 = lean_ctor_get(x_1, 1); -x_11 = l_Lean_Expr_hasExprMVar(x_9); -if (x_11 == 0) -{ -uint8_t x_12; uint8_t x_13; -x_12 = 0; -x_13 = l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2(x_12, x_10); -return x_13; -} -else -{ -uint8_t x_14; -x_14 = 1; -return x_14; -} -} -case 5: -{ -lean_object* x_15; -x_15 = lean_ctor_get(x_1, 1); -x_1 = x_15; -goto _start; -} -default: -{ -lean_object* x_17; uint8_t x_18; -x_17 = lean_ctor_get(x_1, 0); -x_18 = l_Lean_Expr_hasExprMVar(x_17); -return x_18; -} -} -} -} -lean_object* l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__1___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_3 = lean_unbox(x_1); -lean_dec(x_1); -x_4 = l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__1(x_3, x_2); -lean_dec(x_2); -x_5 = lean_box(x_4); -return x_5; -} -} -lean_object* l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_3 = lean_unbox(x_1); -lean_dec(x_1); -x_4 = l_List_foldr___at_Lean_Meta_Match_Pattern_hasExprMVar___spec__2(x_3, x_2); -lean_dec(x_2); -x_5 = lean_box(x_4); -return x_5; -} -} -lean_object* l_Lean_Meta_Match_Pattern_hasExprMVar___boxed(lean_object* x_1) { -_start: -{ -uint8_t x_2; lean_object* x_3; -x_2 = l_Lean_Meta_Match_Pattern_hasExprMVar(x_1); -lean_dec(x_1); -x_3 = lean_box(x_2); -return x_3; -} -} -lean_object* l_Lean_Meta_Match_instantiatePatternMVars_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -switch (lean_obj_tag(x_1)) { -case 0: -{ -lean_object* x_8; lean_object* x_9; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_8 = lean_ctor_get(x_1, 0); -lean_inc(x_8); -lean_dec(x_1); -x_9 = lean_apply_1(x_2, x_8); -return x_9; -} -case 1: -{ -lean_object* x_10; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_10 = lean_apply_1(x_7, x_1); -return x_10; -} -case 2: -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -x_11 = lean_ctor_get(x_1, 0); -lean_inc(x_11); -x_12 = lean_ctor_get(x_1, 1); -lean_inc(x_12); -x_13 = lean_ctor_get(x_1, 2); -lean_inc(x_13); -x_14 = lean_ctor_get(x_1, 3); -lean_inc(x_14); -lean_dec(x_1); -x_15 = lean_apply_4(x_4, x_11, x_12, x_13, x_14); -return x_15; -} -case 3: -{ -lean_object* x_16; lean_object* x_17; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -x_16 = lean_ctor_get(x_1, 0); -lean_inc(x_16); -lean_dec(x_1); -x_17 = lean_apply_1(x_3, x_16); -return x_17; -} -case 4: -{ -lean_object* x_18; lean_object* x_19; lean_object* x_20; -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_18 = lean_ctor_get(x_1, 0); -lean_inc(x_18); -x_19 = lean_ctor_get(x_1, 1); -lean_inc(x_19); -lean_dec(x_1); -x_20 = lean_apply_2(x_6, x_18, x_19); -return x_20; -} -default: -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_21 = lean_ctor_get(x_1, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_1, 1); -lean_inc(x_22); -lean_dec(x_1); -x_23 = lean_apply_2(x_5, x_21, x_22); -return x_23; -} -} -} -} -lean_object* l_Lean_Meta_Match_instantiatePatternMVars_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_instantiatePatternMVars_match__1___rarg), 7, 0); -return x_2; -} -} -lean_object* l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_7; lean_object* x_8; -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_7 = lean_box(0); -x_8 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_8, 0, x_7); -lean_ctor_set(x_8, 1, x_6); -return x_8; -} -else -{ -uint8_t x_9; -x_9 = !lean_is_exclusive(x_1); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_10 = lean_ctor_get(x_1, 0); -x_11 = lean_ctor_get(x_1, 1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_12 = l_Lean_Meta_instantiateMVarsImp(x_10, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_12) == 0) -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); -lean_inc(x_14); -lean_dec(x_12); -x_15 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(x_11, x_2, x_3, x_4, x_5, x_14); -if (lean_obj_tag(x_15) == 0) -{ -uint8_t x_16; -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) -{ -lean_object* x_17; -x_17 = lean_ctor_get(x_15, 0); -lean_ctor_set(x_1, 1, x_17); -lean_ctor_set(x_1, 0, x_13); -lean_ctor_set(x_15, 0, x_1); -return x_15; -} -else -{ -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_15, 0); -x_19 = lean_ctor_get(x_15, 1); -lean_inc(x_19); -lean_inc(x_18); -lean_dec(x_15); -lean_ctor_set(x_1, 1, x_18); -lean_ctor_set(x_1, 0, x_13); -x_20 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_20, 0, x_1); -lean_ctor_set(x_20, 1, x_19); -return x_20; -} -} -else -{ -uint8_t x_21; -lean_dec(x_13); -lean_free_object(x_1); -x_21 = !lean_is_exclusive(x_15); -if (x_21 == 0) -{ -return x_15; -} -else -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_15, 0); -x_23 = lean_ctor_get(x_15, 1); -lean_inc(x_23); -lean_inc(x_22); -lean_dec(x_15); -x_24 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -return x_24; -} -} -} -else -{ -uint8_t x_25; -lean_free_object(x_1); -lean_dec(x_11); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_25 = !lean_is_exclusive(x_12); -if (x_25 == 0) -{ -return x_12; -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_12, 0); -x_27 = lean_ctor_get(x_12, 1); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_12); -x_28 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -return x_28; -} -} -} -else -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_1, 0); -x_30 = lean_ctor_get(x_1, 1); -lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_31 = l_Lean_Meta_instantiateMVarsImp(x_29, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_31) == 0) -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); -lean_inc(x_33); -lean_dec(x_31); -x_34 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(x_30, x_2, x_3, x_4, x_5, x_33); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -x_36 = lean_ctor_get(x_34, 1); -lean_inc(x_36); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_37 = x_34; -} else { - lean_dec_ref(x_34); - x_37 = lean_box(0); -} -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_32); -lean_ctor_set(x_38, 1, x_35); -if (lean_is_scalar(x_37)) { - x_39 = lean_alloc_ctor(0, 2, 0); -} else { - x_39 = x_37; -} -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_36); -return x_39; -} -else -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -lean_dec(x_32); -x_40 = lean_ctor_get(x_34, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_34, 1); -lean_inc(x_41); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_42 = x_34; -} else { - lean_dec_ref(x_34); - x_42 = lean_box(0); -} -if (lean_is_scalar(x_42)) { - x_43 = lean_alloc_ctor(1, 2, 0); -} else { - x_43 = x_42; -} -lean_ctor_set(x_43, 0, x_40); -lean_ctor_set(x_43, 1, x_41); -return x_43; -} -} -else -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; -lean_dec(x_30); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_44 = lean_ctor_get(x_31, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_31, 1); -lean_inc(x_45); -if (lean_is_exclusive(x_31)) { - lean_ctor_release(x_31, 0); - lean_ctor_release(x_31, 1); - x_46 = x_31; -} else { - lean_dec_ref(x_31); - x_46 = lean_box(0); -} -if (lean_is_scalar(x_46)) { - x_47 = lean_alloc_ctor(1, 2, 0); -} else { - x_47 = x_46; -} -lean_ctor_set(x_47, 0, x_44); -lean_ctor_set(x_47, 1, x_45); -return x_47; -} -} -} -} -} -lean_object* l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_7; lean_object* x_8; -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_7 = lean_box(0); -x_8 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_8, 0, x_7); -lean_ctor_set(x_8, 1, x_6); -return x_8; -} -else -{ -uint8_t x_9; -x_9 = !lean_is_exclusive(x_1); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_10 = lean_ctor_get(x_1, 0); -x_11 = lean_ctor_get(x_1, 1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_12 = l_Lean_Meta_Match_instantiatePatternMVars(x_10, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_12) == 0) -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); -lean_inc(x_14); -lean_dec(x_12); -x_15 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_11, x_2, x_3, x_4, x_5, x_14); -if (lean_obj_tag(x_15) == 0) -{ -uint8_t x_16; -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) -{ -lean_object* x_17; -x_17 = lean_ctor_get(x_15, 0); -lean_ctor_set(x_1, 1, x_17); -lean_ctor_set(x_1, 0, x_13); -lean_ctor_set(x_15, 0, x_1); -return x_15; -} -else -{ -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_15, 0); -x_19 = lean_ctor_get(x_15, 1); -lean_inc(x_19); -lean_inc(x_18); -lean_dec(x_15); -lean_ctor_set(x_1, 1, x_18); -lean_ctor_set(x_1, 0, x_13); -x_20 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_20, 0, x_1); -lean_ctor_set(x_20, 1, x_19); -return x_20; -} -} -else -{ -uint8_t x_21; -lean_dec(x_13); -lean_free_object(x_1); -x_21 = !lean_is_exclusive(x_15); -if (x_21 == 0) -{ -return x_15; -} -else -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_15, 0); -x_23 = lean_ctor_get(x_15, 1); -lean_inc(x_23); -lean_inc(x_22); -lean_dec(x_15); -x_24 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -return x_24; -} -} -} -else -{ -uint8_t x_25; -lean_free_object(x_1); -lean_dec(x_11); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_25 = !lean_is_exclusive(x_12); -if (x_25 == 0) -{ -return x_12; -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_12, 0); -x_27 = lean_ctor_get(x_12, 1); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_12); -x_28 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -return x_28; -} -} -} -else -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_1, 0); -x_30 = lean_ctor_get(x_1, 1); -lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_31 = l_Lean_Meta_Match_instantiatePatternMVars(x_29, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_31) == 0) -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); -lean_inc(x_33); -lean_dec(x_31); -x_34 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_30, x_2, x_3, x_4, x_5, x_33); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -x_36 = lean_ctor_get(x_34, 1); -lean_inc(x_36); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_37 = x_34; -} else { - lean_dec_ref(x_34); - x_37 = lean_box(0); -} -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_32); -lean_ctor_set(x_38, 1, x_35); -if (lean_is_scalar(x_37)) { - x_39 = lean_alloc_ctor(0, 2, 0); -} else { - x_39 = x_37; -} -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_36); -return x_39; -} -else -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -lean_dec(x_32); -x_40 = lean_ctor_get(x_34, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_34, 1); -lean_inc(x_41); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_42 = x_34; -} else { - lean_dec_ref(x_34); - x_42 = lean_box(0); -} -if (lean_is_scalar(x_42)) { - x_43 = lean_alloc_ctor(1, 2, 0); -} else { - x_43 = x_42; -} -lean_ctor_set(x_43, 0, x_40); -lean_ctor_set(x_43, 1, x_41); -return x_43; -} -} -else -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; -lean_dec(x_30); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_44 = lean_ctor_get(x_31, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_31, 1); -lean_inc(x_45); -if (lean_is_exclusive(x_31)) { - lean_ctor_release(x_31, 0); - lean_ctor_release(x_31, 1); - x_46 = x_31; -} else { - lean_dec_ref(x_31); - x_46 = lean_box(0); -} -if (lean_is_scalar(x_46)) { - x_47 = lean_alloc_ctor(1, 2, 0); -} else { - x_47 = x_46; -} -lean_ctor_set(x_47, 0, x_44); -lean_ctor_set(x_47, 1, x_45); -return x_47; -} -} -} -} -} -lean_object* l_Lean_Meta_Match_instantiatePatternMVars(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: -{ -switch (lean_obj_tag(x_1)) { -case 0: -{ -uint8_t x_7; -x_7 = !lean_is_exclusive(x_1); -if (x_7 == 0) -{ -lean_object* x_8; lean_object* x_9; -x_8 = lean_ctor_get(x_1, 0); -x_9 = l_Lean_Meta_instantiateMVarsImp(x_8, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_9) == 0) -{ -uint8_t x_10; -x_10 = !lean_is_exclusive(x_9); -if (x_10 == 0) -{ -lean_object* x_11; -x_11 = lean_ctor_get(x_9, 0); -lean_ctor_set(x_1, 0, x_11); -lean_ctor_set(x_9, 0, x_1); -return x_9; -} -else -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_12 = lean_ctor_get(x_9, 0); -x_13 = lean_ctor_get(x_9, 1); -lean_inc(x_13); -lean_inc(x_12); -lean_dec(x_9); -lean_ctor_set(x_1, 0, x_12); -x_14 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_14, 0, x_1); -lean_ctor_set(x_14, 1, x_13); -return x_14; -} -} -else -{ -uint8_t x_15; -lean_free_object(x_1); -x_15 = !lean_is_exclusive(x_9); -if (x_15 == 0) -{ -return x_9; -} -else -{ -lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_16 = lean_ctor_get(x_9, 0); -x_17 = lean_ctor_get(x_9, 1); -lean_inc(x_17); -lean_inc(x_16); -lean_dec(x_9); -x_18 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_18, 0, x_16); -lean_ctor_set(x_18, 1, x_17); -return x_18; -} -} -} -else -{ -lean_object* x_19; lean_object* x_20; -x_19 = lean_ctor_get(x_1, 0); -lean_inc(x_19); -lean_dec(x_1); -x_20 = l_Lean_Meta_instantiateMVarsImp(x_19, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_20) == 0) -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); -lean_inc(x_22); -if (lean_is_exclusive(x_20)) { - lean_ctor_release(x_20, 0); - lean_ctor_release(x_20, 1); - x_23 = x_20; -} else { - lean_dec_ref(x_20); - x_23 = lean_box(0); -} -x_24 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_24, 0, x_21); -if (lean_is_scalar(x_23)) { - x_25 = lean_alloc_ctor(0, 2, 0); -} else { - x_25 = x_23; -} -lean_ctor_set(x_25, 0, x_24); -lean_ctor_set(x_25, 1, x_22); -return x_25; -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_26 = lean_ctor_get(x_20, 0); -lean_inc(x_26); -x_27 = lean_ctor_get(x_20, 1); -lean_inc(x_27); -if (lean_is_exclusive(x_20)) { - lean_ctor_release(x_20, 0); - lean_ctor_release(x_20, 1); - x_28 = x_20; -} else { - lean_dec_ref(x_20); - x_28 = lean_box(0); -} -if (lean_is_scalar(x_28)) { - x_29 = lean_alloc_ctor(1, 2, 0); -} else { - x_29 = x_28; -} -lean_ctor_set(x_29, 0, x_26); -lean_ctor_set(x_29, 1, x_27); -return x_29; -} -} -} -case 1: -{ -lean_object* x_30; -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_30 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_30, 0, x_1); -lean_ctor_set(x_30, 1, x_6); -return x_30; -} -case 2: -{ -uint8_t x_31; -x_31 = !lean_is_exclusive(x_1); -if (x_31 == 0) -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_32 = lean_ctor_get(x_1, 0); -x_33 = lean_ctor_get(x_1, 1); -x_34 = lean_ctor_get(x_1, 2); -x_35 = lean_ctor_get(x_1, 3); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_36 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(x_34, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_36) == 0) -{ -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_36, 0); -lean_inc(x_37); -x_38 = lean_ctor_get(x_36, 1); -lean_inc(x_38); -lean_dec(x_36); -x_39 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_35, x_2, x_3, x_4, x_5, x_38); -if (lean_obj_tag(x_39) == 0) -{ -uint8_t x_40; -x_40 = !lean_is_exclusive(x_39); -if (x_40 == 0) -{ -lean_object* x_41; -x_41 = lean_ctor_get(x_39, 0); -lean_ctor_set(x_1, 3, x_41); -lean_ctor_set(x_1, 2, x_37); -lean_ctor_set(x_39, 0, x_1); -return x_39; -} -else -{ -lean_object* x_42; lean_object* x_43; lean_object* x_44; -x_42 = lean_ctor_get(x_39, 0); -x_43 = lean_ctor_get(x_39, 1); -lean_inc(x_43); -lean_inc(x_42); -lean_dec(x_39); -lean_ctor_set(x_1, 3, x_42); -lean_ctor_set(x_1, 2, x_37); -x_44 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_44, 0, x_1); -lean_ctor_set(x_44, 1, x_43); -return x_44; -} -} -else -{ -uint8_t x_45; -lean_dec(x_37); -lean_free_object(x_1); -lean_dec(x_33); -lean_dec(x_32); -x_45 = !lean_is_exclusive(x_39); -if (x_45 == 0) -{ -return x_39; -} -else -{ -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_39, 0); -x_47 = lean_ctor_get(x_39, 1); -lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_39); -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -return x_48; -} -} -} -else -{ -uint8_t x_49; -lean_free_object(x_1); -lean_dec(x_35); -lean_dec(x_33); -lean_dec(x_32); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_49 = !lean_is_exclusive(x_36); -if (x_49 == 0) -{ -return x_36; -} -else -{ -lean_object* x_50; lean_object* x_51; lean_object* x_52; -x_50 = lean_ctor_get(x_36, 0); -x_51 = lean_ctor_get(x_36, 1); -lean_inc(x_51); -lean_inc(x_50); -lean_dec(x_36); -x_52 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_52, 0, x_50); -lean_ctor_set(x_52, 1, x_51); -return x_52; -} -} -} -else -{ -lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; -x_53 = lean_ctor_get(x_1, 0); -x_54 = lean_ctor_get(x_1, 1); -x_55 = lean_ctor_get(x_1, 2); -x_56 = lean_ctor_get(x_1, 3); -lean_inc(x_56); -lean_inc(x_55); -lean_inc(x_54); -lean_inc(x_53); -lean_dec(x_1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_57 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__1(x_55, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_57) == 0) -{ -lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_58 = lean_ctor_get(x_57, 0); -lean_inc(x_58); -x_59 = lean_ctor_get(x_57, 1); -lean_inc(x_59); -lean_dec(x_57); -x_60 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_56, x_2, x_3, x_4, x_5, x_59); -if (lean_obj_tag(x_60) == 0) -{ -lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; -x_61 = lean_ctor_get(x_60, 0); -lean_inc(x_61); -x_62 = lean_ctor_get(x_60, 1); -lean_inc(x_62); -if (lean_is_exclusive(x_60)) { - lean_ctor_release(x_60, 0); - lean_ctor_release(x_60, 1); - x_63 = x_60; -} else { - lean_dec_ref(x_60); - x_63 = lean_box(0); -} -x_64 = lean_alloc_ctor(2, 4, 0); -lean_ctor_set(x_64, 0, x_53); -lean_ctor_set(x_64, 1, x_54); -lean_ctor_set(x_64, 2, x_58); -lean_ctor_set(x_64, 3, x_61); -if (lean_is_scalar(x_63)) { - x_65 = lean_alloc_ctor(0, 2, 0); -} else { - x_65 = x_63; -} -lean_ctor_set(x_65, 0, x_64); -lean_ctor_set(x_65, 1, x_62); -return x_65; -} -else -{ -lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; -lean_dec(x_58); -lean_dec(x_54); -lean_dec(x_53); -x_66 = lean_ctor_get(x_60, 0); -lean_inc(x_66); -x_67 = lean_ctor_get(x_60, 1); -lean_inc(x_67); -if (lean_is_exclusive(x_60)) { - lean_ctor_release(x_60, 0); - lean_ctor_release(x_60, 1); - x_68 = x_60; -} else { - lean_dec_ref(x_60); - x_68 = lean_box(0); -} -if (lean_is_scalar(x_68)) { - x_69 = lean_alloc_ctor(1, 2, 0); -} else { - x_69 = x_68; -} -lean_ctor_set(x_69, 0, x_66); -lean_ctor_set(x_69, 1, x_67); -return x_69; -} -} -else -{ -lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; -lean_dec(x_56); -lean_dec(x_54); -lean_dec(x_53); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_70 = lean_ctor_get(x_57, 0); -lean_inc(x_70); -x_71 = lean_ctor_get(x_57, 1); -lean_inc(x_71); -if (lean_is_exclusive(x_57)) { - lean_ctor_release(x_57, 0); - lean_ctor_release(x_57, 1); - x_72 = x_57; -} else { - lean_dec_ref(x_57); - x_72 = lean_box(0); -} -if (lean_is_scalar(x_72)) { - x_73 = lean_alloc_ctor(1, 2, 0); -} else { - x_73 = x_72; -} -lean_ctor_set(x_73, 0, x_70); -lean_ctor_set(x_73, 1, x_71); -return x_73; -} -} -} -case 3: -{ -uint8_t x_74; -x_74 = !lean_is_exclusive(x_1); -if (x_74 == 0) -{ -lean_object* x_75; lean_object* x_76; -x_75 = lean_ctor_get(x_1, 0); -x_76 = l_Lean_Meta_instantiateMVarsImp(x_75, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_76) == 0) -{ -uint8_t x_77; -x_77 = !lean_is_exclusive(x_76); -if (x_77 == 0) -{ -lean_object* x_78; -x_78 = lean_ctor_get(x_76, 0); -lean_ctor_set(x_1, 0, x_78); -lean_ctor_set(x_76, 0, x_1); -return x_76; -} -else -{ -lean_object* x_79; lean_object* x_80; lean_object* x_81; -x_79 = lean_ctor_get(x_76, 0); -x_80 = lean_ctor_get(x_76, 1); -lean_inc(x_80); -lean_inc(x_79); -lean_dec(x_76); -lean_ctor_set(x_1, 0, x_79); -x_81 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_81, 0, x_1); -lean_ctor_set(x_81, 1, x_80); -return x_81; -} -} -else -{ -uint8_t x_82; -lean_free_object(x_1); -x_82 = !lean_is_exclusive(x_76); -if (x_82 == 0) -{ -return x_76; -} -else -{ -lean_object* x_83; lean_object* x_84; lean_object* x_85; -x_83 = lean_ctor_get(x_76, 0); -x_84 = lean_ctor_get(x_76, 1); -lean_inc(x_84); -lean_inc(x_83); -lean_dec(x_76); -x_85 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_85, 0, x_83); -lean_ctor_set(x_85, 1, x_84); -return x_85; -} -} -} -else -{ -lean_object* x_86; lean_object* x_87; -x_86 = lean_ctor_get(x_1, 0); -lean_inc(x_86); -lean_dec(x_1); -x_87 = l_Lean_Meta_instantiateMVarsImp(x_86, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_87) == 0) -{ -lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; -x_88 = lean_ctor_get(x_87, 0); -lean_inc(x_88); -x_89 = lean_ctor_get(x_87, 1); -lean_inc(x_89); -if (lean_is_exclusive(x_87)) { - lean_ctor_release(x_87, 0); - lean_ctor_release(x_87, 1); - x_90 = x_87; -} else { - lean_dec_ref(x_87); - x_90 = lean_box(0); -} -x_91 = lean_alloc_ctor(3, 1, 0); -lean_ctor_set(x_91, 0, x_88); -if (lean_is_scalar(x_90)) { - x_92 = lean_alloc_ctor(0, 2, 0); -} else { - x_92 = x_90; -} -lean_ctor_set(x_92, 0, x_91); -lean_ctor_set(x_92, 1, x_89); -return x_92; -} -else -{ -lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; -x_93 = lean_ctor_get(x_87, 0); -lean_inc(x_93); -x_94 = lean_ctor_get(x_87, 1); -lean_inc(x_94); -if (lean_is_exclusive(x_87)) { - lean_ctor_release(x_87, 0); - lean_ctor_release(x_87, 1); - x_95 = x_87; -} else { - lean_dec_ref(x_87); - x_95 = lean_box(0); -} -if (lean_is_scalar(x_95)) { - x_96 = lean_alloc_ctor(1, 2, 0); -} else { - x_96 = x_95; -} -lean_ctor_set(x_96, 0, x_93); -lean_ctor_set(x_96, 1, x_94); -return x_96; -} -} -} -case 4: -{ -uint8_t x_97; -x_97 = !lean_is_exclusive(x_1); -if (x_97 == 0) -{ -lean_object* x_98; lean_object* x_99; lean_object* x_100; -x_98 = lean_ctor_get(x_1, 0); -x_99 = lean_ctor_get(x_1, 1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_100 = l_Lean_Meta_instantiateMVarsImp(x_98, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_100) == 0) -{ -lean_object* x_101; lean_object* x_102; lean_object* x_103; -x_101 = lean_ctor_get(x_100, 0); -lean_inc(x_101); -x_102 = lean_ctor_get(x_100, 1); -lean_inc(x_102); -lean_dec(x_100); -x_103 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_99, x_2, x_3, x_4, x_5, x_102); -if (lean_obj_tag(x_103) == 0) -{ -uint8_t x_104; -x_104 = !lean_is_exclusive(x_103); -if (x_104 == 0) -{ -lean_object* x_105; -x_105 = lean_ctor_get(x_103, 0); -lean_ctor_set(x_1, 1, x_105); -lean_ctor_set(x_1, 0, x_101); -lean_ctor_set(x_103, 0, x_1); -return x_103; -} -else -{ -lean_object* x_106; lean_object* x_107; lean_object* x_108; -x_106 = lean_ctor_get(x_103, 0); -x_107 = lean_ctor_get(x_103, 1); -lean_inc(x_107); -lean_inc(x_106); -lean_dec(x_103); -lean_ctor_set(x_1, 1, x_106); -lean_ctor_set(x_1, 0, x_101); -x_108 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_108, 0, x_1); -lean_ctor_set(x_108, 1, x_107); -return x_108; -} -} -else -{ -uint8_t x_109; -lean_dec(x_101); -lean_free_object(x_1); -x_109 = !lean_is_exclusive(x_103); -if (x_109 == 0) -{ -return x_103; -} -else -{ -lean_object* x_110; lean_object* x_111; lean_object* x_112; -x_110 = lean_ctor_get(x_103, 0); -x_111 = lean_ctor_get(x_103, 1); -lean_inc(x_111); -lean_inc(x_110); -lean_dec(x_103); -x_112 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_112, 0, x_110); -lean_ctor_set(x_112, 1, x_111); -return x_112; -} -} -} -else -{ -uint8_t x_113; -lean_free_object(x_1); -lean_dec(x_99); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_113 = !lean_is_exclusive(x_100); -if (x_113 == 0) -{ -return x_100; -} -else -{ -lean_object* x_114; lean_object* x_115; lean_object* x_116; -x_114 = lean_ctor_get(x_100, 0); -x_115 = lean_ctor_get(x_100, 1); -lean_inc(x_115); -lean_inc(x_114); -lean_dec(x_100); -x_116 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_116, 0, x_114); -lean_ctor_set(x_116, 1, x_115); -return x_116; -} -} -} -else -{ -lean_object* x_117; lean_object* x_118; lean_object* x_119; -x_117 = lean_ctor_get(x_1, 0); -x_118 = lean_ctor_get(x_1, 1); -lean_inc(x_118); -lean_inc(x_117); -lean_dec(x_1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_119 = l_Lean_Meta_instantiateMVarsImp(x_117, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_119) == 0) -{ -lean_object* x_120; lean_object* x_121; lean_object* x_122; -x_120 = lean_ctor_get(x_119, 0); -lean_inc(x_120); -x_121 = lean_ctor_get(x_119, 1); -lean_inc(x_121); -lean_dec(x_119); -x_122 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_118, x_2, x_3, x_4, x_5, x_121); -if (lean_obj_tag(x_122) == 0) -{ -lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; -x_123 = lean_ctor_get(x_122, 0); -lean_inc(x_123); -x_124 = lean_ctor_get(x_122, 1); -lean_inc(x_124); -if (lean_is_exclusive(x_122)) { - lean_ctor_release(x_122, 0); - lean_ctor_release(x_122, 1); - x_125 = x_122; -} else { - lean_dec_ref(x_122); - x_125 = lean_box(0); -} -x_126 = lean_alloc_ctor(4, 2, 0); -lean_ctor_set(x_126, 0, x_120); -lean_ctor_set(x_126, 1, x_123); -if (lean_is_scalar(x_125)) { - x_127 = lean_alloc_ctor(0, 2, 0); -} else { - x_127 = x_125; -} -lean_ctor_set(x_127, 0, x_126); -lean_ctor_set(x_127, 1, x_124); -return x_127; -} -else -{ -lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; -lean_dec(x_120); -x_128 = lean_ctor_get(x_122, 0); -lean_inc(x_128); -x_129 = lean_ctor_get(x_122, 1); -lean_inc(x_129); -if (lean_is_exclusive(x_122)) { - lean_ctor_release(x_122, 0); - lean_ctor_release(x_122, 1); - x_130 = x_122; -} else { - lean_dec_ref(x_122); - x_130 = lean_box(0); -} -if (lean_is_scalar(x_130)) { - x_131 = lean_alloc_ctor(1, 2, 0); -} else { - x_131 = x_130; -} -lean_ctor_set(x_131, 0, x_128); -lean_ctor_set(x_131, 1, x_129); -return x_131; -} -} -else -{ -lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; -lean_dec(x_118); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_132 = lean_ctor_get(x_119, 0); -lean_inc(x_132); -x_133 = lean_ctor_get(x_119, 1); -lean_inc(x_133); -if (lean_is_exclusive(x_119)) { - lean_ctor_release(x_119, 0); - lean_ctor_release(x_119, 1); - x_134 = x_119; -} else { - lean_dec_ref(x_119); - x_134 = lean_box(0); -} -if (lean_is_scalar(x_134)) { - x_135 = lean_alloc_ctor(1, 2, 0); -} else { - x_135 = x_134; -} -lean_ctor_set(x_135, 0, x_132); -lean_ctor_set(x_135, 1, x_133); -return x_135; -} -} -} -default: -{ -uint8_t x_136; -x_136 = !lean_is_exclusive(x_1); -if (x_136 == 0) -{ -lean_object* x_137; lean_object* x_138; lean_object* x_139; -x_137 = lean_ctor_get(x_1, 0); -x_138 = lean_ctor_get(x_1, 1); -x_139 = l_Lean_Meta_Match_instantiatePatternMVars(x_138, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_139) == 0) -{ -uint8_t x_140; -x_140 = !lean_is_exclusive(x_139); -if (x_140 == 0) -{ -lean_object* x_141; -x_141 = lean_ctor_get(x_139, 0); -lean_ctor_set(x_1, 1, x_141); -lean_ctor_set(x_139, 0, x_1); -return x_139; -} -else -{ -lean_object* x_142; lean_object* x_143; lean_object* x_144; -x_142 = lean_ctor_get(x_139, 0); -x_143 = lean_ctor_get(x_139, 1); -lean_inc(x_143); -lean_inc(x_142); -lean_dec(x_139); -lean_ctor_set(x_1, 1, x_142); -x_144 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_144, 0, x_1); -lean_ctor_set(x_144, 1, x_143); -return x_144; -} -} -else -{ -uint8_t x_145; -lean_free_object(x_1); -lean_dec(x_137); -x_145 = !lean_is_exclusive(x_139); -if (x_145 == 0) -{ -return x_139; -} -else -{ -lean_object* x_146; lean_object* x_147; lean_object* x_148; -x_146 = lean_ctor_get(x_139, 0); -x_147 = lean_ctor_get(x_139, 1); -lean_inc(x_147); -lean_inc(x_146); -lean_dec(x_139); -x_148 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_148, 0, x_146); -lean_ctor_set(x_148, 1, x_147); -return x_148; -} -} -} -else -{ -lean_object* x_149; lean_object* x_150; lean_object* x_151; -x_149 = lean_ctor_get(x_1, 0); -x_150 = lean_ctor_get(x_1, 1); -lean_inc(x_150); -lean_inc(x_149); -lean_dec(x_1); -x_151 = l_Lean_Meta_Match_instantiatePatternMVars(x_150, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_151) == 0) -{ -lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; -x_152 = lean_ctor_get(x_151, 0); -lean_inc(x_152); -x_153 = lean_ctor_get(x_151, 1); -lean_inc(x_153); -if (lean_is_exclusive(x_151)) { - lean_ctor_release(x_151, 0); - lean_ctor_release(x_151, 1); - x_154 = x_151; -} else { - lean_dec_ref(x_151); - x_154 = lean_box(0); -} -x_155 = lean_alloc_ctor(5, 2, 0); -lean_ctor_set(x_155, 0, x_149); -lean_ctor_set(x_155, 1, x_152); -if (lean_is_scalar(x_154)) { - x_156 = lean_alloc_ctor(0, 2, 0); -} else { - x_156 = x_154; -} -lean_ctor_set(x_156, 0, x_155); -lean_ctor_set(x_156, 1, x_153); -return x_156; -} -else -{ -lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; -lean_dec(x_149); -x_157 = lean_ctor_get(x_151, 0); -lean_inc(x_157); -x_158 = lean_ctor_get(x_151, 1); -lean_inc(x_158); -if (lean_is_exclusive(x_151)) { - lean_ctor_release(x_151, 0); - lean_ctor_release(x_151, 1); - x_159 = x_151; -} else { - lean_dec_ref(x_151); - x_159 = lean_box(0); -} -if (lean_is_scalar(x_159)) { - x_160 = lean_alloc_ctor(1, 2, 0); -} else { - x_160 = x_159; -} -lean_ctor_set(x_160, 0, x_157); -lean_ctor_set(x_160, 1, x_158); -return x_160; -} -} -} -} -} -} -lean_object* l_Lean_Meta_instantiateLocalDeclMVars___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -uint8_t x_7; -x_7 = !lean_is_exclusive(x_1); -if (x_7 == 0) -{ -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_8 = lean_ctor_get(x_1, 0); -x_9 = lean_ctor_get(x_1, 1); -x_10 = lean_ctor_get(x_1, 2); -x_11 = lean_ctor_get(x_1, 3); -x_12 = l_Lean_Meta_instantiateMVarsImp(x_11, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_12) == 0) -{ -uint8_t x_13; -x_13 = !lean_is_exclusive(x_12); -if (x_13 == 0) -{ -lean_object* x_14; -x_14 = lean_ctor_get(x_12, 0); -lean_ctor_set(x_1, 3, x_14); -lean_ctor_set(x_12, 0, x_1); -return x_12; -} -else -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_15 = lean_ctor_get(x_12, 0); -x_16 = lean_ctor_get(x_12, 1); -lean_inc(x_16); -lean_inc(x_15); -lean_dec(x_12); -lean_ctor_set(x_1, 3, x_15); -x_17 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_17, 0, x_1); -lean_ctor_set(x_17, 1, x_16); -return x_17; -} -} -else -{ -uint8_t x_18; -lean_free_object(x_1); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -x_18 = !lean_is_exclusive(x_12); -if (x_18 == 0) -{ -return x_12; -} -else -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_19 = lean_ctor_get(x_12, 0); -x_20 = lean_ctor_get(x_12, 1); -lean_inc(x_20); -lean_inc(x_19); -lean_dec(x_12); -x_21 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_21, 0, x_19); -lean_ctor_set(x_21, 1, x_20); -return x_21; -} -} -} -else -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; lean_object* x_27; -x_22 = lean_ctor_get(x_1, 0); -x_23 = lean_ctor_get(x_1, 1); -x_24 = lean_ctor_get(x_1, 2); -x_25 = lean_ctor_get(x_1, 3); -x_26 = lean_ctor_get_uint8(x_1, sizeof(void*)*4); -lean_inc(x_25); -lean_inc(x_24); -lean_inc(x_23); -lean_inc(x_22); -lean_dec(x_1); -x_27 = l_Lean_Meta_instantiateMVarsImp(x_25, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_27) == 0) -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_28 = lean_ctor_get(x_27, 0); -lean_inc(x_28); -x_29 = lean_ctor_get(x_27, 1); -lean_inc(x_29); -if (lean_is_exclusive(x_27)) { - lean_ctor_release(x_27, 0); - lean_ctor_release(x_27, 1); - x_30 = x_27; -} else { - lean_dec_ref(x_27); - x_30 = lean_box(0); -} -x_31 = lean_alloc_ctor(0, 4, 1); -lean_ctor_set(x_31, 0, x_22); -lean_ctor_set(x_31, 1, x_23); -lean_ctor_set(x_31, 2, x_24); -lean_ctor_set(x_31, 3, x_28); -lean_ctor_set_uint8(x_31, sizeof(void*)*4, x_26); -if (lean_is_scalar(x_30)) { - x_32 = lean_alloc_ctor(0, 2, 0); -} else { - x_32 = x_30; -} -lean_ctor_set(x_32, 0, x_31); -lean_ctor_set(x_32, 1, x_29); -return x_32; -} -else -{ -lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -x_33 = lean_ctor_get(x_27, 0); -lean_inc(x_33); -x_34 = lean_ctor_get(x_27, 1); -lean_inc(x_34); -if (lean_is_exclusive(x_27)) { - lean_ctor_release(x_27, 0); - lean_ctor_release(x_27, 1); - x_35 = x_27; -} else { - lean_dec_ref(x_27); - x_35 = lean_box(0); -} -if (lean_is_scalar(x_35)) { - x_36 = lean_alloc_ctor(1, 2, 0); -} else { - x_36 = x_35; -} -lean_ctor_set(x_36, 0, x_33); -lean_ctor_set(x_36, 1, x_34); -return x_36; -} -} -} -else -{ -uint8_t x_37; -x_37 = !lean_is_exclusive(x_1); -if (x_37 == 0) -{ -lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_38 = lean_ctor_get(x_1, 0); -x_39 = lean_ctor_get(x_1, 1); -x_40 = lean_ctor_get(x_1, 2); -x_41 = lean_ctor_get(x_1, 3); -x_42 = lean_ctor_get(x_1, 4); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_43 = l_Lean_Meta_instantiateMVarsImp(x_41, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_43) == 0) -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; -x_44 = lean_ctor_get(x_43, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_43, 1); -lean_inc(x_45); -lean_dec(x_43); -x_46 = l_Lean_Meta_instantiateMVarsImp(x_42, x_2, x_3, x_4, x_5, x_45); -if (lean_obj_tag(x_46) == 0) -{ -uint8_t x_47; -x_47 = !lean_is_exclusive(x_46); -if (x_47 == 0) -{ -lean_object* x_48; -x_48 = lean_ctor_get(x_46, 0); -lean_ctor_set(x_1, 4, x_48); -lean_ctor_set(x_1, 3, x_44); -lean_ctor_set(x_46, 0, x_1); -return x_46; -} -else -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_49 = lean_ctor_get(x_46, 0); -x_50 = lean_ctor_get(x_46, 1); -lean_inc(x_50); -lean_inc(x_49); -lean_dec(x_46); -lean_ctor_set(x_1, 4, x_49); -lean_ctor_set(x_1, 3, x_44); -x_51 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_51, 0, x_1); -lean_ctor_set(x_51, 1, x_50); -return x_51; -} -} -else -{ -uint8_t x_52; -lean_dec(x_44); -lean_free_object(x_1); -lean_dec(x_40); -lean_dec(x_39); -lean_dec(x_38); -x_52 = !lean_is_exclusive(x_46); -if (x_52 == 0) -{ -return x_46; -} -else -{ -lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_53 = lean_ctor_get(x_46, 0); -x_54 = lean_ctor_get(x_46, 1); -lean_inc(x_54); -lean_inc(x_53); -lean_dec(x_46); -x_55 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_55, 0, x_53); -lean_ctor_set(x_55, 1, x_54); -return x_55; -} -} -} -else -{ -uint8_t x_56; -lean_free_object(x_1); -lean_dec(x_42); -lean_dec(x_40); -lean_dec(x_39); -lean_dec(x_38); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_56 = !lean_is_exclusive(x_43); -if (x_56 == 0) -{ -return x_43; -} -else -{ -lean_object* x_57; lean_object* x_58; lean_object* x_59; -x_57 = lean_ctor_get(x_43, 0); -x_58 = lean_ctor_get(x_43, 1); -lean_inc(x_58); -lean_inc(x_57); -lean_dec(x_43); -x_59 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_59, 0, x_57); -lean_ctor_set(x_59, 1, x_58); -return x_59; -} -} -} -else -{ -lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; uint8_t x_65; lean_object* x_66; -x_60 = lean_ctor_get(x_1, 0); -x_61 = lean_ctor_get(x_1, 1); -x_62 = lean_ctor_get(x_1, 2); -x_63 = lean_ctor_get(x_1, 3); -x_64 = lean_ctor_get(x_1, 4); -x_65 = lean_ctor_get_uint8(x_1, sizeof(void*)*5); -lean_inc(x_64); -lean_inc(x_63); -lean_inc(x_62); -lean_inc(x_61); -lean_inc(x_60); -lean_dec(x_1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_66 = l_Lean_Meta_instantiateMVarsImp(x_63, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_66) == 0) -{ -lean_object* x_67; lean_object* x_68; lean_object* x_69; -x_67 = lean_ctor_get(x_66, 0); -lean_inc(x_67); -x_68 = lean_ctor_get(x_66, 1); -lean_inc(x_68); -lean_dec(x_66); -x_69 = l_Lean_Meta_instantiateMVarsImp(x_64, x_2, x_3, x_4, x_5, x_68); -if (lean_obj_tag(x_69) == 0) -{ -lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; -x_70 = lean_ctor_get(x_69, 0); -lean_inc(x_70); -x_71 = lean_ctor_get(x_69, 1); -lean_inc(x_71); -if (lean_is_exclusive(x_69)) { - lean_ctor_release(x_69, 0); - lean_ctor_release(x_69, 1); - x_72 = x_69; -} else { - lean_dec_ref(x_69); - x_72 = lean_box(0); -} -x_73 = lean_alloc_ctor(1, 5, 1); -lean_ctor_set(x_73, 0, x_60); -lean_ctor_set(x_73, 1, x_61); -lean_ctor_set(x_73, 2, x_62); -lean_ctor_set(x_73, 3, x_67); -lean_ctor_set(x_73, 4, x_70); -lean_ctor_set_uint8(x_73, sizeof(void*)*5, x_65); -if (lean_is_scalar(x_72)) { - x_74 = lean_alloc_ctor(0, 2, 0); -} else { - x_74 = x_72; -} -lean_ctor_set(x_74, 0, x_73); -lean_ctor_set(x_74, 1, x_71); -return x_74; -} -else -{ -lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; -lean_dec(x_67); -lean_dec(x_62); -lean_dec(x_61); -lean_dec(x_60); -x_75 = lean_ctor_get(x_69, 0); -lean_inc(x_75); -x_76 = lean_ctor_get(x_69, 1); -lean_inc(x_76); -if (lean_is_exclusive(x_69)) { - lean_ctor_release(x_69, 0); - lean_ctor_release(x_69, 1); - x_77 = x_69; -} else { - lean_dec_ref(x_69); - x_77 = lean_box(0); -} -if (lean_is_scalar(x_77)) { - x_78 = lean_alloc_ctor(1, 2, 0); -} else { - x_78 = x_77; -} -lean_ctor_set(x_78, 0, x_75); -lean_ctor_set(x_78, 1, x_76); -return x_78; -} -} -else -{ -lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; -lean_dec(x_64); -lean_dec(x_62); -lean_dec(x_61); -lean_dec(x_60); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_79 = lean_ctor_get(x_66, 0); -lean_inc(x_79); -x_80 = lean_ctor_get(x_66, 1); -lean_inc(x_80); -if (lean_is_exclusive(x_66)) { - lean_ctor_release(x_66, 0); - lean_ctor_release(x_66, 1); - x_81 = x_66; -} else { - lean_dec_ref(x_66); - x_81 = lean_box(0); -} -if (lean_is_scalar(x_81)) { - x_82 = lean_alloc_ctor(1, 2, 0); -} else { - x_82 = x_81; -} -lean_ctor_set(x_82, 0, x_79); -lean_ctor_set(x_82, 1, x_80); -return x_82; -} -} -} -} -} -lean_object* l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_7; lean_object* x_8; -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_7 = lean_box(0); -x_8 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_8, 0, x_7); -lean_ctor_set(x_8, 1, x_6); -return x_8; -} -else -{ -uint8_t x_9; -x_9 = !lean_is_exclusive(x_1); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_10 = lean_ctor_get(x_1, 0); -x_11 = lean_ctor_get(x_1, 1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_12 = l_Lean_Meta_instantiateLocalDeclMVars___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__1(x_10, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_12) == 0) -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); -lean_inc(x_14); -lean_dec(x_12); -x_15 = l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(x_11, x_2, x_3, x_4, x_5, x_14); -if (lean_obj_tag(x_15) == 0) -{ -uint8_t x_16; -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) -{ -lean_object* x_17; -x_17 = lean_ctor_get(x_15, 0); -lean_ctor_set(x_1, 1, x_17); -lean_ctor_set(x_1, 0, x_13); -lean_ctor_set(x_15, 0, x_1); -return x_15; -} -else -{ -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_15, 0); -x_19 = lean_ctor_get(x_15, 1); -lean_inc(x_19); -lean_inc(x_18); -lean_dec(x_15); -lean_ctor_set(x_1, 1, x_18); -lean_ctor_set(x_1, 0, x_13); -x_20 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_20, 0, x_1); -lean_ctor_set(x_20, 1, x_19); -return x_20; -} -} -else -{ -uint8_t x_21; -lean_dec(x_13); -lean_free_object(x_1); -x_21 = !lean_is_exclusive(x_15); -if (x_21 == 0) -{ -return x_15; -} -else -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_15, 0); -x_23 = lean_ctor_get(x_15, 1); -lean_inc(x_23); -lean_inc(x_22); -lean_dec(x_15); -x_24 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -return x_24; -} -} -} -else -{ -uint8_t x_25; -lean_free_object(x_1); -lean_dec(x_11); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_25 = !lean_is_exclusive(x_12); -if (x_25 == 0) -{ -return x_12; -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_12, 0); -x_27 = lean_ctor_get(x_12, 1); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_12); -x_28 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -return x_28; -} -} -} -else -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_1, 0); -x_30 = lean_ctor_get(x_1, 1); -lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_31 = l_Lean_Meta_instantiateLocalDeclMVars___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__1(x_29, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_31) == 0) -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); -lean_inc(x_33); -lean_dec(x_31); -x_34 = l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(x_30, x_2, x_3, x_4, x_5, x_33); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -x_36 = lean_ctor_get(x_34, 1); -lean_inc(x_36); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_37 = x_34; -} else { - lean_dec_ref(x_34); - x_37 = lean_box(0); -} -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_32); -lean_ctor_set(x_38, 1, x_35); -if (lean_is_scalar(x_37)) { - x_39 = lean_alloc_ctor(0, 2, 0); -} else { - x_39 = x_37; -} -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_36); -return x_39; -} -else -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -lean_dec(x_32); -x_40 = lean_ctor_get(x_34, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_34, 1); -lean_inc(x_41); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_42 = x_34; -} else { - lean_dec_ref(x_34); - x_42 = lean_box(0); -} -if (lean_is_scalar(x_42)) { - x_43 = lean_alloc_ctor(1, 2, 0); -} else { - x_43 = x_42; -} -lean_ctor_set(x_43, 0, x_40); -lean_ctor_set(x_43, 1, x_41); -return x_43; -} -} -else -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; -lean_dec(x_30); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_44 = lean_ctor_get(x_31, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_31, 1); -lean_inc(x_45); -if (lean_is_exclusive(x_31)) { - lean_ctor_release(x_31, 0); - lean_ctor_release(x_31, 1); - x_46 = x_31; -} else { - lean_dec_ref(x_31); - x_46 = lean_box(0); -} -if (lean_is_scalar(x_46)) { - x_47 = lean_alloc_ctor(1, 2, 0); -} else { - x_47 = x_46; -} -lean_ctor_set(x_47, 0, x_44); -lean_ctor_set(x_47, 1, x_45); -return x_47; -} -} -} -} -} -lean_object* l_Lean_Meta_Match_instantiateAltLHSMVars(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -uint8_t x_7; -x_7 = !lean_is_exclusive(x_1); -if (x_7 == 0) -{ -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; -x_8 = lean_ctor_get(x_1, 0); -x_9 = lean_ctor_get(x_1, 1); -x_10 = lean_ctor_get(x_1, 2); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_11 = l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(x_9, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_11) == 0) -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_12 = lean_ctor_get(x_11, 0); -lean_inc(x_12); -x_13 = lean_ctor_get(x_11, 1); -lean_inc(x_13); -lean_dec(x_11); -x_14 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_10, x_2, x_3, x_4, x_5, x_13); -if (lean_obj_tag(x_14) == 0) -{ -uint8_t x_15; -x_15 = !lean_is_exclusive(x_14); -if (x_15 == 0) -{ -lean_object* x_16; -x_16 = lean_ctor_get(x_14, 0); -lean_ctor_set(x_1, 2, x_16); -lean_ctor_set(x_1, 1, x_12); -lean_ctor_set(x_14, 0, x_1); -return x_14; -} -else -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_17 = lean_ctor_get(x_14, 0); -x_18 = lean_ctor_get(x_14, 1); -lean_inc(x_18); -lean_inc(x_17); -lean_dec(x_14); -lean_ctor_set(x_1, 2, x_17); -lean_ctor_set(x_1, 1, x_12); -x_19 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_19, 0, x_1); -lean_ctor_set(x_19, 1, x_18); -return x_19; -} -} -else -{ -uint8_t x_20; -lean_dec(x_12); -lean_free_object(x_1); -lean_dec(x_8); -x_20 = !lean_is_exclusive(x_14); -if (x_20 == 0) -{ -return x_14; -} -else -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_21 = lean_ctor_get(x_14, 0); -x_22 = lean_ctor_get(x_14, 1); -lean_inc(x_22); -lean_inc(x_21); -lean_dec(x_14); -x_23 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_23, 0, x_21); -lean_ctor_set(x_23, 1, x_22); -return x_23; -} -} -} -else -{ -uint8_t x_24; -lean_free_object(x_1); -lean_dec(x_10); -lean_dec(x_8); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_24 = !lean_is_exclusive(x_11); -if (x_24 == 0) -{ -return x_11; -} -else -{ -lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = lean_ctor_get(x_11, 0); -x_26 = lean_ctor_get(x_11, 1); -lean_inc(x_26); -lean_inc(x_25); -lean_dec(x_11); -x_27 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_27, 0, x_25); -lean_ctor_set(x_27, 1, x_26); -return x_27; -} -} -} -else -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_28 = lean_ctor_get(x_1, 0); -x_29 = lean_ctor_get(x_1, 1); -x_30 = lean_ctor_get(x_1, 2); -lean_inc(x_30); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_31 = l_List_mapM___at_Lean_Meta_Match_instantiateAltLHSMVars___spec__2(x_29, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_31) == 0) -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); -lean_inc(x_33); -lean_dec(x_31); -x_34 = l_List_mapM___at_Lean_Meta_Match_instantiatePatternMVars___spec__2(x_30, x_2, x_3, x_4, x_5, x_33); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -x_36 = lean_ctor_get(x_34, 1); -lean_inc(x_36); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_37 = x_34; -} else { - lean_dec_ref(x_34); - x_37 = lean_box(0); -} -x_38 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_38, 0, x_28); -lean_ctor_set(x_38, 1, x_32); -lean_ctor_set(x_38, 2, x_35); -if (lean_is_scalar(x_37)) { - x_39 = lean_alloc_ctor(0, 2, 0); -} else { - x_39 = x_37; -} -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_36); -return x_39; -} -else -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -lean_dec(x_32); -lean_dec(x_28); -x_40 = lean_ctor_get(x_34, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_34, 1); -lean_inc(x_41); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_42 = x_34; -} else { - lean_dec_ref(x_34); - x_42 = lean_box(0); -} -if (lean_is_scalar(x_42)) { - x_43 = lean_alloc_ctor(1, 2, 0); -} else { - x_43 = x_42; -} -lean_ctor_set(x_43, 0, x_40); -lean_ctor_set(x_43, 1, x_41); -return x_43; -} -} -else -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; -lean_dec(x_30); -lean_dec(x_28); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_44 = lean_ctor_get(x_31, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_31, 1); -lean_inc(x_45); -if (lean_is_exclusive(x_31)) { - lean_ctor_release(x_31, 0); - lean_ctor_release(x_31, 1); - x_46 = x_31; -} else { - lean_dec_ref(x_31); - x_46 = lean_box(0); -} -if (lean_is_scalar(x_46)) { - x_47 = lean_alloc_ctor(1, 2, 0); -} else { - x_47 = x_46; -} -lean_ctor_set(x_47, 0, x_44); -lean_ctor_set(x_47, 1, x_45); -return x_47; -} -} -} -} -static lean_object* _init_l_Lean_Meta_Match_Alt_instInhabitedAlt___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = lean_box(0); -x_2 = lean_box(0); -x_3 = lean_unsigned_to_nat(0u); -x_4 = l_Lean_Expr_instInhabitedExpr___closed__1; -x_5 = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(x_5, 0, x_2); -lean_ctor_set(x_5, 1, x_3); -lean_ctor_set(x_5, 2, x_4); -lean_ctor_set(x_5, 3, x_1); -lean_ctor_set(x_5, 4, x_1); -return x_5; -} -} -static lean_object* _init_l_Lean_Meta_Match_Alt_instInhabitedAlt() { -_start: -{ -lean_object* x_1; -x_1 = l_Lean_Meta_Match_Alt_instInhabitedAlt___closed__1; -return x_1; -} -} -static lean_object* _init_l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string(":("); -return x_1; -} -} -static lean_object* _init_l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__1; -x_2 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__2; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1(lean_object* x_1) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_2; -x_2 = lean_box(0); -return x_2; -} -else -{ -uint8_t x_3; -x_3 = !lean_is_exclusive(x_1); -if (x_3 == 0) -{ -lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_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; -x_4 = lean_ctor_get(x_1, 0); -x_5 = lean_ctor_get(x_1, 1); -x_6 = l_Lean_LocalDecl_toExpr(x_4); -x_7 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_7, 0, x_6); -x_8 = l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__3; -x_9 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_9, 0, x_7); -lean_ctor_set(x_9, 1, x_8); -x_10 = l_Lean_LocalDecl_type(x_4); -lean_dec(x_4); -x_11 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_11, 0, x_10); -x_12 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_12, 0, x_9); -lean_ctor_set(x_12, 1, x_11); -x_13 = l_Lean_instToMessageDataOption___rarg___closed__4; -x_14 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_14, 0, x_12); -lean_ctor_set(x_14, 1, x_13); -x_15 = l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1(x_5); -lean_ctor_set(x_1, 1, x_15); -lean_ctor_set(x_1, 0, x_14); -return x_1; -} -else -{ -lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_16 = lean_ctor_get(x_1, 0); -x_17 = lean_ctor_get(x_1, 1); -lean_inc(x_17); -lean_inc(x_16); -lean_dec(x_1); -x_18 = l_Lean_LocalDecl_toExpr(x_16); -x_19 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_19, 0, x_18); -x_20 = l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__3; -x_21 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_21, 0, x_19); -lean_ctor_set(x_21, 1, x_20); -x_22 = l_Lean_LocalDecl_type(x_16); -lean_dec(x_16); -x_23 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_23, 0, x_22); -x_24 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_24, 0, x_21); -lean_ctor_set(x_24, 1, x_23); -x_25 = l_Lean_instToMessageDataOption___rarg___closed__4; -x_26 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -x_27 = l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1(x_17); -x_28 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -return x_28; -} -} -} -} -lean_object* l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; -x_8 = l___private_Lean_Meta_Basic_0__Lean_Meta_withExistingLocalDeclsImp___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_8) == 0) -{ -uint8_t x_9; -x_9 = !lean_is_exclusive(x_8); -if (x_9 == 0) -{ -return x_8; -} -else -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_10 = lean_ctor_get(x_8, 0); -x_11 = lean_ctor_get(x_8, 1); -lean_inc(x_11); -lean_inc(x_10); -lean_dec(x_8); -x_12 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_12, 0, x_10); -lean_ctor_set(x_12, 1, x_11); -return x_12; -} -} -else -{ -uint8_t x_13; -x_13 = !lean_is_exclusive(x_8); -if (x_13 == 0) -{ -return x_8; -} -else -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_14 = lean_ctor_get(x_8, 0); -x_15 = lean_ctor_get(x_8, 1); -lean_inc(x_15); -lean_inc(x_14); -lean_dec(x_8); -x_16 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_16, 0, x_14); -lean_ctor_set(x_16, 1, x_15); -return x_16; -} -} -} -} -lean_object* l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__2(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__2___rarg), 7, 0); -return x_2; -} -} -static lean_object* _init_l_Lean_Meta_Match_Alt_toMessageData___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string(" |- "); -return x_1; -} -} -static lean_object* _init_l_Lean_Meta_Match_Alt_toMessageData___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Match_Alt_toMessageData___closed__1; -x_2 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Meta_Match_Alt_toMessageData___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Match_Alt_toMessageData___closed__2; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Meta_Match_Alt_toMessageData___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_List_map___at_Lean_Meta_DiscrTree_Trie_format___spec__2___rarg___closed__1; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -lean_object* l_Lean_Meta_Match_Alt_toMessageData(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_7 = lean_ctor_get(x_1, 3); -lean_inc(x_7); -lean_inc(x_7); -x_8 = l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1(x_7); -x_9 = l_Lean_MessageData_ofList(x_8); -lean_dec(x_8); -x_10 = l_Lean_Meta_Match_Alt_toMessageData___closed__3; -x_11 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_11, 0, x_9); -lean_ctor_set(x_11, 1, x_10); -x_12 = lean_ctor_get(x_1, 4); -lean_inc(x_12); -x_13 = l_List_map___at_Lean_Meta_Match_Pattern_toMessageData___spec__2(x_12); -x_14 = l_Lean_MessageData_ofList(x_13); -lean_dec(x_13); -x_15 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_15, 0, x_11); -lean_ctor_set(x_15, 1, x_14); -x_16 = l_Lean_Meta_Match_Alt_toMessageData___closed__4; -x_17 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_17, 0, x_15); -lean_ctor_set(x_17, 1, x_16); -x_18 = lean_ctor_get(x_1, 2); -lean_inc(x_18); -lean_dec(x_1); -x_19 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_19, 0, x_18); -x_20 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_20, 0, x_17); -lean_ctor_set(x_20, 1, x_19); -x_21 = lean_alloc_closure((void*)(l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1___boxed), 6, 1); -lean_closure_set(x_21, 0, x_20); -x_22 = l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__2___rarg(x_7, x_21, x_2, x_3, x_4, x_5, x_6); -return x_22; -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1(lean_object* x_1, lean_object* x_2) { -_start: -{ -if (lean_obj_tag(x_2) == 0) -{ -lean_object* x_3; -x_3 = lean_box(0); -return x_3; -} -else -{ -uint8_t x_4; -x_4 = !lean_is_exclusive(x_2); -if (x_4 == 0) -{ -lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_5 = lean_ctor_get(x_2, 0); -x_6 = lean_ctor_get(x_2, 1); -x_7 = l_Lean_LocalDecl_applyFVarSubst(x_1, x_5); -x_8 = l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1(x_1, x_6); -lean_ctor_set(x_2, 1, x_8); -lean_ctor_set(x_2, 0, x_7); -return x_2; -} -else -{ -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_9 = lean_ctor_get(x_2, 0); -x_10 = lean_ctor_get(x_2, 1); -lean_inc(x_10); -lean_inc(x_9); -lean_dec(x_2); -x_11 = l_Lean_LocalDecl_applyFVarSubst(x_1, x_9); -x_12 = l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1(x_1, x_10); -x_13 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_13, 0, x_11); -lean_ctor_set(x_13, 1, x_12); -return x_13; -} -} -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2(lean_object* x_1, lean_object* x_2) { -_start: -{ -if (lean_obj_tag(x_2) == 0) -{ -lean_object* x_3; -x_3 = lean_box(0); -return x_3; -} -else -{ -uint8_t x_4; -x_4 = !lean_is_exclusive(x_2); -if (x_4 == 0) -{ -lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_5 = lean_ctor_get(x_2, 0); -x_6 = lean_ctor_get(x_2, 1); -x_7 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_5); -x_8 = l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2(x_1, x_6); -lean_ctor_set(x_2, 1, x_8); -lean_ctor_set(x_2, 0, x_7); -return x_2; -} -else -{ -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_9 = lean_ctor_get(x_2, 0); -x_10 = lean_ctor_get(x_2, 1); -lean_inc(x_10); -lean_inc(x_9); -lean_dec(x_2); -x_11 = l_Lean_Meta_Match_Pattern_applyFVarSubst(x_1, x_9); -x_12 = l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2(x_1, x_10); -x_13 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_13, 0, x_11); -lean_ctor_set(x_13, 1, x_12); -return x_13; -} -} -} -} -lean_object* l_Lean_Meta_Match_Alt_applyFVarSubst(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; -x_3 = !lean_is_exclusive(x_2); -if (x_3 == 0) -{ -lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; -x_4 = lean_ctor_get(x_2, 2); -x_5 = lean_ctor_get(x_2, 3); -x_6 = lean_ctor_get(x_2, 4); -x_7 = l_Lean_Meta_FVarSubst_apply(x_1, x_4); -x_8 = l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1(x_1, x_5); -x_9 = l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2(x_1, x_6); -lean_ctor_set(x_2, 4, x_9); -lean_ctor_set(x_2, 3, x_8); -lean_ctor_set(x_2, 2, x_7); -return x_2; -} -else -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_10 = lean_ctor_get(x_2, 0); -x_11 = lean_ctor_get(x_2, 1); -x_12 = lean_ctor_get(x_2, 2); -x_13 = lean_ctor_get(x_2, 3); -x_14 = lean_ctor_get(x_2, 4); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_dec(x_2); -x_15 = l_Lean_Meta_FVarSubst_apply(x_1, x_12); -x_16 = l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1(x_1, x_13); -x_17 = l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2(x_1, x_14); -x_18 = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(x_18, 0, x_10); -lean_ctor_set(x_18, 1, x_11); -lean_ctor_set(x_18, 2, x_15); -lean_ctor_set(x_18, 3, x_16); -lean_ctor_set(x_18, 4, x_17); -return x_18; -} -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__1(x_1, x_2); -lean_dec(x_1); -return x_3; -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_List_map___at_Lean_Meta_Match_Alt_applyFVarSubst___spec__2(x_1, x_2); -lean_dec(x_1); -return x_3; -} -} -lean_object* l_Lean_Meta_Match_Alt_applyFVarSubst___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Lean_Meta_Match_Alt_applyFVarSubst(x_1, x_2); -lean_dec(x_1); -return x_3; -} -} -lean_object* l_List_filterAux___at_Lean_Meta_Match_Alt_replaceFVarId___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_2) == 0) -{ -lean_object* x_4; -x_4 = l_List_reverse___rarg(x_3); -return x_4; -} -else -{ -uint8_t x_5; -x_5 = !lean_is_exclusive(x_2); -if (x_5 == 0) -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9; -x_6 = lean_ctor_get(x_2, 0); -x_7 = lean_ctor_get(x_2, 1); -x_8 = l_Lean_LocalDecl_fvarId(x_6); -x_9 = lean_name_eq(x_8, x_1); -lean_dec(x_8); -if (x_9 == 0) -{ -lean_ctor_set(x_2, 1, x_3); -{ -lean_object* _tmp_1 = x_7; -lean_object* _tmp_2 = x_2; -x_2 = _tmp_1; -x_3 = _tmp_2; -} -goto _start; -} -else -{ -lean_free_object(x_2); -lean_dec(x_6); -x_2 = x_7; -goto _start; -} -} -else -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; -x_12 = lean_ctor_get(x_2, 0); -x_13 = lean_ctor_get(x_2, 1); -lean_inc(x_13); -lean_inc(x_12); -lean_dec(x_2); -x_14 = l_Lean_LocalDecl_fvarId(x_12); -x_15 = lean_name_eq(x_14, x_1); -lean_dec(x_14); -if (x_15 == 0) -{ -lean_object* x_16; -x_16 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_16, 0, x_12); -lean_ctor_set(x_16, 1, x_3); -x_2 = x_13; -x_3 = x_16; -goto _start; -} -else -{ -lean_dec(x_12); -x_2 = x_13; -goto _start; -} -} -} -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_3) == 0) -{ -lean_object* x_4; -lean_dec(x_1); -x_4 = lean_box(0); -return x_4; -} -else -{ -uint8_t x_5; -x_5 = !lean_is_exclusive(x_3); -if (x_5 == 0) -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; -x_6 = lean_ctor_get(x_3, 0); -x_7 = lean_ctor_get(x_3, 1); -lean_inc(x_1); -x_8 = l_Lean_replaceFVarIdAtLocalDecl(x_1, x_2, x_6); -x_9 = l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__2(x_1, x_2, x_7); -lean_ctor_set(x_3, 1, x_9); -lean_ctor_set(x_3, 0, x_8); -return x_3; -} -else -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_10 = lean_ctor_get(x_3, 0); -x_11 = lean_ctor_get(x_3, 1); -lean_inc(x_11); -lean_inc(x_10); -lean_dec(x_3); -lean_inc(x_1); -x_12 = l_Lean_replaceFVarIdAtLocalDecl(x_1, x_2, x_10); -x_13 = l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__2(x_1, x_2, x_11); -x_14 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_14, 0, x_12); -lean_ctor_set(x_14, 1, x_13); -return x_14; -} -} -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_3) == 0) -{ -lean_object* x_4; -lean_dec(x_2); -lean_dec(x_1); -x_4 = lean_box(0); -return x_4; -} -else -{ -uint8_t x_5; -x_5 = !lean_is_exclusive(x_3); -if (x_5 == 0) -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; -x_6 = lean_ctor_get(x_3, 0); -x_7 = lean_ctor_get(x_3, 1); -lean_inc(x_2); -lean_inc(x_1); -x_8 = l_Lean_Meta_Match_Pattern_replaceFVarId(x_1, x_2, x_6); -x_9 = l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__3(x_1, x_2, x_7); -lean_ctor_set(x_3, 1, x_9); -lean_ctor_set(x_3, 0, x_8); -return x_3; -} -else -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_10 = lean_ctor_get(x_3, 0); -x_11 = lean_ctor_get(x_3, 1); -lean_inc(x_11); -lean_inc(x_10); -lean_dec(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_12 = l_Lean_Meta_Match_Pattern_replaceFVarId(x_1, x_2, x_10); -x_13 = l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__3(x_1, x_2, x_11); -x_14 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_14, 0, x_12); -lean_ctor_set(x_14, 1, x_13); -return x_14; -} -} -} -} -lean_object* l_Lean_Meta_Match_Alt_replaceFVarId(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -uint8_t x_4; -x_4 = !lean_is_exclusive(x_3); -if (x_4 == 0) -{ -lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_5 = lean_ctor_get(x_3, 2); -x_6 = lean_ctor_get(x_3, 3); -x_7 = lean_ctor_get(x_3, 4); -lean_inc(x_1); -x_8 = l_Lean_Expr_replaceFVarId(x_5, x_1, x_2); -lean_dec(x_5); -x_9 = lean_box(0); -x_10 = l_List_filterAux___at_Lean_Meta_Match_Alt_replaceFVarId___spec__1(x_1, x_6, x_9); -lean_inc(x_1); -x_11 = l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__2(x_1, x_2, x_10); -x_12 = l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__3(x_1, x_2, x_7); -lean_ctor_set(x_3, 4, x_12); -lean_ctor_set(x_3, 3, x_11); -lean_ctor_set(x_3, 2, x_8); -return x_3; -} -else -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_13 = lean_ctor_get(x_3, 0); -x_14 = lean_ctor_get(x_3, 1); -x_15 = lean_ctor_get(x_3, 2); -x_16 = lean_ctor_get(x_3, 3); -x_17 = lean_ctor_get(x_3, 4); -lean_inc(x_17); -lean_inc(x_16); -lean_inc(x_15); -lean_inc(x_14); -lean_inc(x_13); -lean_dec(x_3); -lean_inc(x_1); -x_18 = l_Lean_Expr_replaceFVarId(x_15, x_1, x_2); -lean_dec(x_15); -x_19 = lean_box(0); -x_20 = l_List_filterAux___at_Lean_Meta_Match_Alt_replaceFVarId___spec__1(x_1, x_16, x_19); -lean_inc(x_1); -x_21 = l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__2(x_1, x_2, x_20); -x_22 = l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__3(x_1, x_2, x_17); -x_23 = lean_alloc_ctor(0, 5, 0); -lean_ctor_set(x_23, 0, x_13); -lean_ctor_set(x_23, 1, x_14); -lean_ctor_set(x_23, 2, x_18); -lean_ctor_set(x_23, 3, x_21); -lean_ctor_set(x_23, 4, x_22); -return x_23; -} -} -} -lean_object* l_List_filterAux___at_Lean_Meta_Match_Alt_replaceFVarId___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; -x_4 = l_List_filterAux___at_Lean_Meta_Match_Alt_replaceFVarId___spec__1(x_1, x_2, x_3); -lean_dec(x_1); -return x_4; -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; -x_4 = l_List_map___at_Lean_Meta_Match_Alt_replaceFVarId___spec__2(x_1, x_2, x_3); -lean_dec(x_2); -return x_4; -} -} -lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_4; lean_object* x_5; -lean_dec(x_3); -x_4 = lean_box(0); -x_5 = lean_apply_1(x_2, x_4); -return x_5; -} -else -{ -lean_object* x_6; lean_object* x_7; -lean_dec(x_2); -x_6 = lean_ctor_get(x_1, 0); -lean_inc(x_6); -lean_dec(x_1); -x_7 = lean_apply_1(x_3, x_6); -return x_7; -} -} -} -lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Alt_checkAndReplaceFVarId_match__1___rarg), 3, 0); -return x_2; -} -} -lean_object* l_Lean_throwErrorAt___at_Lean_Meta_Match_Alt_checkAndReplaceFVarId___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -uint8_t x_9; -x_9 = !lean_is_exclusive(x_6); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_10 = lean_ctor_get(x_6, 3); -x_11 = l_Lean_replaceRef(x_1, x_10); -lean_dec(x_10); -lean_ctor_set(x_6, 3, x_11); -x_12 = l_Lean_throwError___at_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_1022____spec__1(x_2, lean_box(0), x_4, x_5, x_6, x_7, x_8); -lean_dec(x_6); -return x_12; -} -else -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_13 = lean_ctor_get(x_6, 0); -x_14 = lean_ctor_get(x_6, 1); -x_15 = lean_ctor_get(x_6, 2); -x_16 = lean_ctor_get(x_6, 3); -lean_inc(x_16); -lean_inc(x_15); -lean_inc(x_14); -lean_inc(x_13); -lean_dec(x_6); -x_17 = l_Lean_replaceRef(x_1, x_16); -lean_dec(x_16); -x_18 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_18, 0, x_13); -lean_ctor_set(x_18, 1, x_14); -lean_ctor_set(x_18, 2, x_15); -lean_ctor_set(x_18, 3, x_17); -x_19 = l_Lean_throwError___at_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_1022____spec__1(x_2, lean_box(0), x_4, x_5, x_18, x_7, x_8); -lean_dec(x_18); -return x_19; -} -} -} -lean_object* l_Lean_Meta_isExprDefEqGuarded___at_Lean_Meta_Match_Alt_checkAndReplaceFVarId___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; -x_8 = l_Lean_Meta_isExprDefEqImp(x_1, x_2, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_8) == 0) -{ -return x_8; -} -else -{ -uint8_t x_9; -x_9 = !lean_is_exclusive(x_8); -if (x_9 == 0) -{ -lean_object* x_10; uint8_t x_11; lean_object* x_12; -x_10 = lean_ctor_get(x_8, 0); -lean_dec(x_10); -x_11 = 0; -x_12 = lean_box(x_11); -lean_ctor_set_tag(x_8, 0); -lean_ctor_set(x_8, 0, x_12); -return x_8; -} -else -{ -lean_object* x_13; uint8_t x_14; lean_object* x_15; lean_object* x_16; -x_13 = lean_ctor_get(x_8, 1); -lean_inc(x_13); -lean_dec(x_8); -x_14 = 0; -x_15 = lean_box(x_14); -x_16 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_16, 0, x_15); -lean_ctor_set(x_16, 1, x_13); -return x_16; -} -} -} -} -uint8_t l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__1(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; uint8_t x_4; -x_3 = l_Lean_LocalDecl_fvarId(x_2); -x_4 = lean_name_eq(x_3, x_1); -lean_dec(x_3); -return x_4; -} -} -lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -lean_object* x_10; lean_object* x_11; -x_10 = l_Lean_Meta_Match_Alt_replaceFVarId(x_1, x_2, x_3); -x_11 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_11, 0, x_10); -lean_ctor_set(x_11, 1, x_9); -return x_11; -} -} -static lean_object* _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("unknown free pattern variable"); -return x_1; -} -} -static lean_object* _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__1; -x_2 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__2; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__4() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("type mismatch during dependent match-elimination at pattern variable '"); -return x_1; -} -} -static lean_object* _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__5() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__4; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__6() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("' with type"); -return x_1; -} -} -static lean_object* _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__7() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__6; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__8() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("\nexpected type"); -return x_1; -} -} -static lean_object* _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__9() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__8; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -lean_object* x_9; lean_object* x_10; lean_object* x_11; -lean_inc(x_1); -x_9 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__1___boxed), 2, 1); -lean_closure_set(x_9, 0, x_1); -x_10 = lean_ctor_get(x_3, 3); -lean_inc(x_10); -lean_inc(x_10); -x_11 = l_List_find_x3f___rarg(x_9, x_10); -if (lean_obj_tag(x_11) == 0) -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; -lean_dec(x_10); -lean_dec(x_2); -lean_dec(x_1); -x_12 = lean_ctor_get(x_3, 0); -lean_inc(x_12); -lean_dec(x_3); -x_13 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__3; -x_14 = l_Lean_throwErrorAt___at_Lean_Meta_Match_Alt_checkAndReplaceFVarId___spec__1(x_12, x_13, lean_box(0), x_4, x_5, x_6, x_7, x_8); -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_12); -return x_14; -} -else -{ -lean_object* x_15; lean_object* x_16; -x_15 = lean_ctor_get(x_11, 0); -lean_inc(x_15); -lean_dec(x_11); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_2); -x_16 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_2, x_4, x_5, x_6, x_7, x_8); -if (lean_obj_tag(x_16) == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -x_19 = l_Lean_LocalDecl_type(x_15); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_17); -lean_inc(x_19); -x_20 = l_Lean_Meta_isExprDefEqGuarded___at_Lean_Meta_Match_Alt_checkAndReplaceFVarId___spec__2(x_19, x_17, x_4, x_5, x_6, x_7, x_18); -if (lean_obj_tag(x_20) == 0) -{ -lean_object* x_21; uint8_t x_22; -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_unbox(x_21); -lean_dec(x_21); -if (x_22 == 0) -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; -x_23 = lean_ctor_get(x_20, 1); -lean_inc(x_23); -lean_dec(x_20); -x_24 = lean_ctor_get(x_3, 0); -lean_inc(x_24); -x_25 = l_Lean_LocalDecl_fvarId(x_15); -lean_dec(x_15); -x_26 = l_Lean_mkFVar(x_25); -x_27 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_27, 0, x_26); -x_28 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__5; -x_29 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_29, 0, x_28); -lean_ctor_set(x_29, 1, x_27); -x_30 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__7; -x_31 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_31, 0, x_29); -lean_ctor_set(x_31, 1, x_30); -x_32 = l_Lean_indentExpr(x_19); -x_33 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_33, 0, x_31); -lean_ctor_set(x_33, 1, x_32); -x_34 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__9; -x_35 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_35, 0, x_33); -lean_ctor_set(x_35, 1, x_34); -x_36 = l_Lean_indentExpr(x_17); -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_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; -x_39 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_39, 0, x_37); -lean_ctor_set(x_39, 1, x_38); -x_40 = lean_alloc_closure((void*)(l_Lean_throwErrorAt___at_Lean_Meta_Match_Alt_checkAndReplaceFVarId___spec__1___boxed), 8, 3); -lean_closure_set(x_40, 0, x_24); -lean_closure_set(x_40, 1, x_39); -lean_closure_set(x_40, 2, lean_box(0)); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -x_41 = l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__2___rarg(x_10, x_40, x_4, x_5, x_6, x_7, x_23); -if (lean_obj_tag(x_41) == 0) -{ -lean_object* x_42; lean_object* x_43; lean_object* x_44; -x_42 = lean_ctor_get(x_41, 0); -lean_inc(x_42); -x_43 = lean_ctor_get(x_41, 1); -lean_inc(x_43); -lean_dec(x_41); -x_44 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__2(x_1, x_2, x_3, x_42, x_4, x_5, x_6, x_7, x_43); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_42); -return x_44; -} -else -{ -uint8_t x_45; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_45 = !lean_is_exclusive(x_41); -if (x_45 == 0) -{ -return x_41; -} -else -{ -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_41, 0); -x_47 = lean_ctor_get(x_41, 1); -lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_41); -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -return x_48; -} -} -} -else -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; -lean_dec(x_19); -lean_dec(x_17); -lean_dec(x_15); -lean_dec(x_10); -x_49 = lean_ctor_get(x_20, 1); -lean_inc(x_49); -lean_dec(x_20); -x_50 = lean_box(0); -x_51 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__2(x_1, x_2, x_3, x_50, x_4, x_5, x_6, x_7, x_49); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -return x_51; -} -} -else -{ -uint8_t x_52; -lean_dec(x_19); -lean_dec(x_17); -lean_dec(x_15); -lean_dec(x_10); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_52 = !lean_is_exclusive(x_20); -if (x_52 == 0) -{ -return x_20; -} -else -{ -lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_53 = lean_ctor_get(x_20, 0); -x_54 = lean_ctor_get(x_20, 1); -lean_inc(x_54); -lean_inc(x_53); -lean_dec(x_20); -x_55 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_55, 0, x_53); -lean_ctor_set(x_55, 1, x_54); -return x_55; -} -} -} -else -{ -uint8_t x_56; -lean_dec(x_15); -lean_dec(x_10); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_56 = !lean_is_exclusive(x_16); -if (x_56 == 0) -{ -return x_16; -} -else -{ -lean_object* x_57; lean_object* x_58; lean_object* x_59; -x_57 = lean_ctor_get(x_16, 0); -x_58 = lean_ctor_get(x_16, 1); -lean_inc(x_58); -lean_inc(x_57); -lean_dec(x_16); -x_59 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_59, 0, x_57); -lean_ctor_set(x_59, 1, x_58); -return x_59; -} -} -} -} -} -lean_object* l_Lean_throwErrorAt___at_Lean_Meta_Match_Alt_checkAndReplaceFVarId___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -lean_object* x_9; -x_9 = l_Lean_throwErrorAt___at_Lean_Meta_Match_Alt_checkAndReplaceFVarId___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_1); -return x_9; -} -} -lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__1___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; lean_object* x_4; -x_3 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__1(x_1, x_2); -lean_dec(x_2); -lean_dec(x_1); -x_4 = lean_box(x_3); -return x_4; -} -} -lean_object* l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -lean_object* x_10; -x_10 = l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -return x_10; -} -} -lean_object* l_Lean_Meta_Match_Example_replaceFVarId_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -switch (lean_obj_tag(x_1)) { -case 0: -{ -lean_object* x_6; lean_object* x_7; -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_6 = lean_ctor_get(x_1, 0); -lean_inc(x_6); -lean_dec(x_1); -x_7 = lean_apply_1(x_2, x_6); -return x_7; -} -case 2: -{ -lean_object* x_8; lean_object* x_9; lean_object* x_10; -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -x_8 = lean_ctor_get(x_1, 0); -lean_inc(x_8); -x_9 = lean_ctor_get(x_1, 1); -lean_inc(x_9); -lean_dec(x_1); -x_10 = lean_apply_2(x_3, x_8, x_9); -return x_10; -} -case 4: -{ -lean_object* x_11; lean_object* x_12; -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -x_11 = lean_ctor_get(x_1, 0); -lean_inc(x_11); -lean_dec(x_1); -x_12 = lean_apply_1(x_4, x_11); -return x_12; -} -default: -{ -lean_object* x_13; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_13 = lean_apply_1(x_5, x_1); -return x_13; -} -} -} -} -lean_object* l_Lean_Meta_Match_Example_replaceFVarId_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Example_replaceFVarId_match__1___rarg), 5, 0); -return x_2; -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_3) == 0) -{ -lean_object* x_4; -x_4 = lean_box(0); -return x_4; -} -else -{ -uint8_t x_5; -x_5 = !lean_is_exclusive(x_3); -if (x_5 == 0) -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; -x_6 = lean_ctor_get(x_3, 0); -x_7 = lean_ctor_get(x_3, 1); -x_8 = l_Lean_Meta_Match_Example_replaceFVarId(x_1, x_2, x_6); -x_9 = l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__1(x_1, x_2, x_7); -lean_ctor_set(x_3, 1, x_9); -lean_ctor_set(x_3, 0, x_8); -return x_3; -} -else -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_10 = lean_ctor_get(x_3, 0); -x_11 = lean_ctor_get(x_3, 1); -lean_inc(x_11); -lean_inc(x_10); -lean_dec(x_3); -x_12 = l_Lean_Meta_Match_Example_replaceFVarId(x_1, x_2, x_10); -x_13 = l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__1(x_1, x_2, x_11); -x_14 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_14, 0, x_12); -lean_ctor_set(x_14, 1, x_13); -return x_14; -} -} -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_3) == 0) -{ -lean_object* x_4; -x_4 = lean_box(0); -return x_4; -} -else -{ -uint8_t x_5; -x_5 = !lean_is_exclusive(x_3); -if (x_5 == 0) -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; -x_6 = lean_ctor_get(x_3, 0); -x_7 = lean_ctor_get(x_3, 1); -x_8 = l_Lean_Meta_Match_Example_replaceFVarId(x_1, x_2, x_6); -x_9 = l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__2(x_1, x_2, x_7); -lean_ctor_set(x_3, 1, x_9); -lean_ctor_set(x_3, 0, x_8); -return x_3; -} -else -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_10 = lean_ctor_get(x_3, 0); -x_11 = lean_ctor_get(x_3, 1); -lean_inc(x_11); -lean_inc(x_10); -lean_dec(x_3); -x_12 = l_Lean_Meta_Match_Example_replaceFVarId(x_1, x_2, x_10); -x_13 = l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__2(x_1, x_2, x_11); -x_14 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_14, 0, x_12); -lean_ctor_set(x_14, 1, x_13); -return x_14; -} -} -} -} -lean_object* l_Lean_Meta_Match_Example_replaceFVarId(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -switch (lean_obj_tag(x_3)) { -case 0: -{ -uint8_t x_4; -x_4 = !lean_is_exclusive(x_3); -if (x_4 == 0) -{ -lean_object* x_5; uint8_t x_6; -x_5 = lean_ctor_get(x_3, 0); -x_6 = lean_name_eq(x_5, x_1); -if (x_6 == 0) -{ -return x_3; -} -else -{ -lean_free_object(x_3); -lean_dec(x_5); -lean_inc(x_2); -return x_2; -} -} -else -{ -lean_object* x_7; uint8_t x_8; -x_7 = lean_ctor_get(x_3, 0); -lean_inc(x_7); -lean_dec(x_3); -x_8 = lean_name_eq(x_7, x_1); -if (x_8 == 0) -{ -lean_object* x_9; -x_9 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_9, 0, x_7); -return x_9; -} -else -{ -lean_dec(x_7); -lean_inc(x_2); -return x_2; -} -} -} -case 2: -{ -uint8_t x_10; -x_10 = !lean_is_exclusive(x_3); -if (x_10 == 0) -{ -lean_object* x_11; lean_object* x_12; -x_11 = lean_ctor_get(x_3, 1); -x_12 = l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__1(x_1, x_2, x_11); -lean_ctor_set(x_3, 1, x_12); -return x_3; -} -else -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_13 = lean_ctor_get(x_3, 0); -x_14 = lean_ctor_get(x_3, 1); -lean_inc(x_14); -lean_inc(x_13); -lean_dec(x_3); -x_15 = l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__1(x_1, x_2, x_14); -x_16 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_16, 0, x_13); -lean_ctor_set(x_16, 1, x_15); -return x_16; -} -} -case 4: -{ -uint8_t x_17; -x_17 = !lean_is_exclusive(x_3); -if (x_17 == 0) -{ -lean_object* x_18; lean_object* x_19; -x_18 = lean_ctor_get(x_3, 0); -x_19 = l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__2(x_1, x_2, x_18); -lean_ctor_set(x_3, 0, x_19); -return x_3; -} -else -{ -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_ctor_get(x_3, 0); -lean_inc(x_20); -lean_dec(x_3); -x_21 = l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__2(x_1, x_2, x_20); -x_22 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_22, 0, x_21); -return x_22; -} -} -default: -{ -return x_3; -} -} -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; -x_4 = l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__1(x_1, x_2, x_3); -lean_dec(x_2); -lean_dec(x_1); -return x_4; -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; -x_4 = l_List_map___at_Lean_Meta_Match_Example_replaceFVarId___spec__2(x_1, x_2, x_3); -lean_dec(x_2); -lean_dec(x_1); -return x_4; -} -} -lean_object* l_Lean_Meta_Match_Example_replaceFVarId___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; -x_4 = l_Lean_Meta_Match_Example_replaceFVarId(x_1, x_2, x_3); -lean_dec(x_2); -lean_dec(x_1); -return x_4; -} -} -lean_object* l_Lean_Meta_Match_Example_applyFVarSubst_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -if (lean_obj_tag(x_1) == 1) -{ -lean_object* x_4; uint64_t x_5; lean_object* x_6; lean_object* x_7; -lean_dec(x_3); -x_4 = lean_ctor_get(x_1, 0); -lean_inc(x_4); -x_5 = lean_ctor_get_uint64(x_1, sizeof(void*)*1); -lean_dec(x_1); -x_6 = lean_box_uint64(x_5); -x_7 = lean_apply_2(x_2, x_4, x_6); -return x_7; -} -else -{ -lean_object* x_8; -lean_dec(x_2); -x_8 = lean_apply_1(x_3, x_1); -return x_8; -} -} -} -lean_object* l_Lean_Meta_Match_Example_applyFVarSubst_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Example_applyFVarSubst_match__1___rarg), 3, 0); -return x_2; -} -} -lean_object* l_Lean_Meta_Match_Example_applyFVarSubst_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -switch (lean_obj_tag(x_1)) { -case 0: -{ -lean_object* x_6; lean_object* x_7; -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_6 = lean_ctor_get(x_1, 0); -lean_inc(x_6); -lean_dec(x_1); -x_7 = lean_apply_1(x_2, x_6); -return x_7; -} -case 2: -{ -lean_object* x_8; lean_object* x_9; lean_object* x_10; -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -x_8 = lean_ctor_get(x_1, 0); -lean_inc(x_8); -x_9 = lean_ctor_get(x_1, 1); -lean_inc(x_9); -lean_dec(x_1); -x_10 = lean_apply_2(x_3, x_8, x_9); -return x_10; -} -case 4: -{ -lean_object* x_11; lean_object* x_12; -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -x_11 = lean_ctor_get(x_1, 0); -lean_inc(x_11); -lean_dec(x_1); -x_12 = lean_apply_1(x_4, x_11); -return x_12; -} -default: -{ -lean_object* x_13; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_13 = lean_apply_1(x_5, x_1); -return x_13; -} -} -} -} -lean_object* l_Lean_Meta_Match_Example_applyFVarSubst_match__2(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Example_applyFVarSubst_match__2___rarg), 5, 0); -return x_2; -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__1(lean_object* x_1, lean_object* x_2) { -_start: -{ -if (lean_obj_tag(x_2) == 0) -{ -lean_object* x_3; -x_3 = lean_box(0); -return x_3; -} -else -{ -uint8_t x_4; -x_4 = !lean_is_exclusive(x_2); -if (x_4 == 0) -{ -lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_5 = lean_ctor_get(x_2, 0); -x_6 = lean_ctor_get(x_2, 1); -x_7 = l_Lean_Meta_Match_Example_applyFVarSubst(x_1, x_5); -x_8 = l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__1(x_1, x_6); -lean_ctor_set(x_2, 1, x_8); -lean_ctor_set(x_2, 0, x_7); -return x_2; -} -else -{ -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_9 = lean_ctor_get(x_2, 0); -x_10 = lean_ctor_get(x_2, 1); -lean_inc(x_10); -lean_inc(x_9); -lean_dec(x_2); -x_11 = l_Lean_Meta_Match_Example_applyFVarSubst(x_1, x_9); -x_12 = l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__1(x_1, x_10); -x_13 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_13, 0, x_11); -lean_ctor_set(x_13, 1, x_12); -return x_13; -} -} -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__2(lean_object* x_1, lean_object* x_2) { -_start: -{ -if (lean_obj_tag(x_2) == 0) -{ -lean_object* x_3; -x_3 = lean_box(0); -return x_3; -} -else -{ -uint8_t x_4; -x_4 = !lean_is_exclusive(x_2); -if (x_4 == 0) -{ -lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_5 = lean_ctor_get(x_2, 0); -x_6 = lean_ctor_get(x_2, 1); -x_7 = l_Lean_Meta_Match_Example_applyFVarSubst(x_1, x_5); -x_8 = l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__2(x_1, x_6); -lean_ctor_set(x_2, 1, x_8); -lean_ctor_set(x_2, 0, x_7); -return x_2; -} -else -{ -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_9 = lean_ctor_get(x_2, 0); -x_10 = lean_ctor_get(x_2, 1); -lean_inc(x_10); -lean_inc(x_9); -lean_dec(x_2); -x_11 = l_Lean_Meta_Match_Example_applyFVarSubst(x_1, x_9); -x_12 = l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__2(x_1, x_10); -x_13 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_13, 0, x_11); -lean_ctor_set(x_13, 1, x_12); -return x_13; -} -} -} -} -lean_object* l_Lean_Meta_Match_Example_applyFVarSubst(lean_object* x_1, lean_object* x_2) { -_start: -{ -switch (lean_obj_tag(x_2)) { -case 0: -{ -uint8_t x_3; -x_3 = !lean_is_exclusive(x_2); -if (x_3 == 0) -{ -lean_object* x_4; lean_object* x_5; -x_4 = lean_ctor_get(x_2, 0); -x_5 = l_Lean_Meta_FVarSubst_get(x_1, x_4); -if (lean_obj_tag(x_5) == 1) -{ -lean_object* x_6; -x_6 = lean_ctor_get(x_5, 0); -lean_inc(x_6); -lean_dec(x_5); -lean_ctor_set(x_2, 0, x_6); -return x_2; -} -else -{ -lean_object* x_7; -lean_dec(x_5); -lean_free_object(x_2); -x_7 = lean_box(1); -return x_7; -} -} -else -{ -lean_object* x_8; lean_object* x_9; -x_8 = lean_ctor_get(x_2, 0); -lean_inc(x_8); -lean_dec(x_2); -x_9 = l_Lean_Meta_FVarSubst_get(x_1, x_8); -if (lean_obj_tag(x_9) == 1) -{ -lean_object* x_10; lean_object* x_11; -x_10 = lean_ctor_get(x_9, 0); -lean_inc(x_10); -lean_dec(x_9); -x_11 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_11, 0, x_10); -return x_11; -} -else -{ -lean_object* x_12; -lean_dec(x_9); -x_12 = lean_box(1); -return x_12; -} -} -} -case 2: -{ -uint8_t x_13; -x_13 = !lean_is_exclusive(x_2); -if (x_13 == 0) -{ -lean_object* x_14; lean_object* x_15; -x_14 = lean_ctor_get(x_2, 1); -x_15 = l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__1(x_1, x_14); -lean_ctor_set(x_2, 1, x_15); -return x_2; -} -else -{ -lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_16 = lean_ctor_get(x_2, 0); -x_17 = lean_ctor_get(x_2, 1); -lean_inc(x_17); -lean_inc(x_16); -lean_dec(x_2); -x_18 = l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__1(x_1, x_17); -x_19 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_19, 0, x_16); -lean_ctor_set(x_19, 1, x_18); -return x_19; -} -} -case 4: -{ -uint8_t x_20; -x_20 = !lean_is_exclusive(x_2); -if (x_20 == 0) -{ -lean_object* x_21; lean_object* x_22; -x_21 = lean_ctor_get(x_2, 0); -x_22 = l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__2(x_1, x_21); -lean_ctor_set(x_2, 0, x_22); -return x_2; -} -else -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_2, 0); -lean_inc(x_23); -lean_dec(x_2); -x_24 = l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__2(x_1, x_23); -x_25 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_25, 0, x_24); -return x_25; -} -} -default: -{ -return x_2; -} -} -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__1___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__1(x_1, x_2); -lean_dec(x_1); -return x_3; -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__2___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_List_map___at_Lean_Meta_Match_Example_applyFVarSubst___spec__2(x_1, x_2); -lean_dec(x_1); -return x_3; -} -} -lean_object* l_Lean_Meta_Match_Example_applyFVarSubst___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Lean_Meta_Match_Example_applyFVarSubst(x_1, x_2); -lean_dec(x_1); -return x_3; -} -} -lean_object* l_Lean_Meta_Match_Example_varsToUnderscore_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -switch (lean_obj_tag(x_1)) { -case 0: -{ -lean_object* x_6; lean_object* x_7; -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_6 = lean_ctor_get(x_1, 0); -lean_inc(x_6); -lean_dec(x_1); -x_7 = lean_apply_1(x_2, x_6); -return x_7; -} -case 2: -{ -lean_object* x_8; lean_object* x_9; lean_object* x_10; -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -x_8 = lean_ctor_get(x_1, 0); -lean_inc(x_8); -x_9 = lean_ctor_get(x_1, 1); -lean_inc(x_9); -lean_dec(x_1); -x_10 = lean_apply_2(x_3, x_8, x_9); -return x_10; -} -case 4: -{ -lean_object* x_11; lean_object* x_12; -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -x_11 = lean_ctor_get(x_1, 0); -lean_inc(x_11); -lean_dec(x_1); -x_12 = lean_apply_1(x_4, x_11); -return x_12; -} -default: -{ -lean_object* x_13; -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_13 = lean_apply_1(x_5, x_1); -return x_13; -} -} -} -} -lean_object* l_Lean_Meta_Match_Example_varsToUnderscore_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Example_varsToUnderscore_match__1___rarg), 5, 0); -return x_2; -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Example_varsToUnderscore___spec__1(lean_object* x_1) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_2; -x_2 = lean_box(0); -return x_2; -} -else -{ -uint8_t x_3; -x_3 = !lean_is_exclusive(x_1); -if (x_3 == 0) -{ -lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_4 = lean_ctor_get(x_1, 0); -x_5 = lean_ctor_get(x_1, 1); -x_6 = l_Lean_Meta_Match_Example_varsToUnderscore(x_4); -x_7 = l_List_map___at_Lean_Meta_Match_Example_varsToUnderscore___spec__1(x_5); -lean_ctor_set(x_1, 1, x_7); -lean_ctor_set(x_1, 0, x_6); -return x_1; -} -else -{ -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_8 = lean_ctor_get(x_1, 0); -x_9 = lean_ctor_get(x_1, 1); -lean_inc(x_9); -lean_inc(x_8); -lean_dec(x_1); -x_10 = l_Lean_Meta_Match_Example_varsToUnderscore(x_8); -x_11 = l_List_map___at_Lean_Meta_Match_Example_varsToUnderscore___spec__1(x_9); -x_12 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_12, 0, x_10); -lean_ctor_set(x_12, 1, x_11); -return x_12; -} -} -} -} -lean_object* l_Lean_Meta_Match_Example_varsToUnderscore(lean_object* x_1) { -_start: -{ -switch (lean_obj_tag(x_1)) { -case 0: -{ -lean_object* x_2; -lean_dec(x_1); -x_2 = lean_box(1); -return x_2; -} -case 2: -{ -uint8_t x_3; -x_3 = !lean_is_exclusive(x_1); -if (x_3 == 0) -{ -lean_object* x_4; lean_object* x_5; -x_4 = lean_ctor_get(x_1, 1); -x_5 = l_List_map___at_Lean_Meta_Match_Example_varsToUnderscore___spec__1(x_4); -lean_ctor_set(x_1, 1, x_5); -return x_1; -} -else -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; -x_6 = lean_ctor_get(x_1, 0); -x_7 = lean_ctor_get(x_1, 1); -lean_inc(x_7); -lean_inc(x_6); -lean_dec(x_1); -x_8 = l_List_map___at_Lean_Meta_Match_Example_varsToUnderscore___spec__1(x_7); -x_9 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_9, 0, x_6); -lean_ctor_set(x_9, 1, x_8); -return x_9; -} -} -case 4: -{ -uint8_t x_10; -x_10 = !lean_is_exclusive(x_1); -if (x_10 == 0) -{ -lean_object* x_11; lean_object* x_12; -x_11 = lean_ctor_get(x_1, 0); -x_12 = l_List_map___at_Lean_Meta_Match_Example_varsToUnderscore___spec__1(x_11); -lean_ctor_set(x_1, 0, x_12); -return x_1; -} -else -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_13 = lean_ctor_get(x_1, 0); -lean_inc(x_13); -lean_dec(x_1); -x_14 = l_List_map___at_Lean_Meta_Match_Example_varsToUnderscore___spec__1(x_13); -x_15 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_15, 0, x_14); -return x_15; -} -} -default: -{ -return x_1; -} -} -} -} -lean_object* l_Lean_Meta_Match_Example_toMessageData_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -switch (lean_obj_tag(x_1)) { -case 0: -{ -lean_object* x_8; lean_object* x_9; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_8 = lean_ctor_get(x_1, 0); -lean_inc(x_8); -lean_dec(x_1); -x_9 = lean_apply_1(x_2, x_8); -return x_9; -} -case 1: -{ -lean_object* x_10; lean_object* x_11; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_10 = lean_box(0); -x_11 = lean_apply_1(x_7, x_10); -return x_11; -} -case 2: -{ -lean_object* x_12; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_2); -x_12 = lean_ctor_get(x_1, 1); -lean_inc(x_12); -if (lean_obj_tag(x_12) == 0) -{ -lean_object* x_13; lean_object* x_14; -lean_dec(x_4); -x_13 = lean_ctor_get(x_1, 0); -lean_inc(x_13); -lean_dec(x_1); -x_14 = lean_apply_1(x_3, x_13); -return x_14; -} -else -{ -lean_object* x_15; lean_object* x_16; -lean_dec(x_3); -x_15 = lean_ctor_get(x_1, 0); -lean_inc(x_15); -lean_dec(x_1); -x_16 = lean_apply_2(x_4, x_15, x_12); -return x_16; -} -} -case 3: -{ -lean_object* x_17; lean_object* x_18; -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_17 = lean_ctor_get(x_1, 0); -lean_inc(x_17); -lean_dec(x_1); -x_18 = lean_apply_1(x_6, x_17); -return x_18; -} -default: -{ -lean_object* x_19; lean_object* x_20; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_19 = lean_ctor_get(x_1, 0); -lean_inc(x_19); -lean_dec(x_1); -x_20 = lean_apply_1(x_5, x_19); -return x_20; -} -} -} -} -lean_object* l_Lean_Meta_Match_Example_toMessageData_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Example_toMessageData_match__1___rarg), 7, 0); -return x_2; -} -} -lean_object* l_List_foldl___at_Lean_Meta_Match_Example_toMessageData___spec__1(lean_object* x_1, lean_object* x_2) { -_start: -{ -if (lean_obj_tag(x_2) == 0) -{ -return x_1; -} -else -{ -lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_3 = lean_ctor_get(x_2, 0); -lean_inc(x_3); -x_4 = lean_ctor_get(x_2, 1); -lean_inc(x_4); -lean_dec(x_2); -x_5 = l_List_foldl___at_Lean_Meta_Match_Pattern_toMessageData___spec__1___closed__1; -x_6 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_6, 0, x_1); -lean_ctor_set(x_6, 1, x_5); -x_7 = l_Lean_Meta_Match_Example_toMessageData(x_3); -x_8 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_8, 0, x_6); -lean_ctor_set(x_8, 1, x_7); -x_1 = x_8; -x_2 = x_4; -goto _start; -} -} -} -lean_object* l_List_map___at_Lean_Meta_Match_Example_toMessageData___spec__2(lean_object* x_1) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_2; -x_2 = lean_box(0); -return x_2; -} -else -{ -uint8_t x_3; -x_3 = !lean_is_exclusive(x_1); -if (x_3 == 0) -{ -lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_4 = lean_ctor_get(x_1, 0); -x_5 = lean_ctor_get(x_1, 1); -x_6 = l_Lean_Meta_Match_Example_toMessageData(x_4); -x_7 = l_List_map___at_Lean_Meta_Match_Example_toMessageData___spec__2(x_5); -lean_ctor_set(x_1, 1, x_7); -lean_ctor_set(x_1, 0, x_6); -return x_1; -} -else -{ -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_8 = lean_ctor_get(x_1, 0); -x_9 = lean_ctor_get(x_1, 1); -lean_inc(x_9); -lean_inc(x_8); -lean_dec(x_1); -x_10 = l_Lean_Meta_Match_Example_toMessageData(x_8); -x_11 = l_List_map___at_Lean_Meta_Match_Example_toMessageData___spec__2(x_9); -x_12 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_12, 0, x_10); -lean_ctor_set(x_12, 1, x_11); -return x_12; -} -} -} -} -static lean_object* _init_l_Lean_Meta_Match_Example_toMessageData___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_myMacro____x40_Init_Notation___hyg_8168____closed__14; -x_2 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Meta_Match_Example_toMessageData___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Match_Example_toMessageData___closed__1; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Meta_Match_Example_toMessageData___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Format_paren___closed__3; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Meta_Match_Example_toMessageData___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_instToFormatArray___rarg___closed__1; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -lean_object* l_Lean_Meta_Match_Example_toMessageData(lean_object* x_1) { -_start: -{ -switch (lean_obj_tag(x_1)) { -case 0: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = lean_ctor_get(x_1, 0); -lean_inc(x_2); -lean_dec(x_1); -x_3 = l_Lean_mkFVar(x_2); -x_4 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_4, 0, x_3); -return x_4; -} -case 1: -{ -lean_object* x_5; -x_5 = l_Lean_Meta_Match_Example_toMessageData___closed__2; -return x_5; -} -case 2: -{ -lean_object* x_6; -x_6 = lean_ctor_get(x_1, 1); -lean_inc(x_6); -if (lean_obj_tag(x_6) == 0) -{ -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; -x_7 = lean_ctor_get(x_1, 0); -lean_inc(x_7); -lean_dec(x_1); -x_8 = lean_box(0); -x_9 = l_Lean_mkConst(x_7, x_8); -x_10 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_10, 0, x_9); -return x_10; -} -else -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_11 = lean_ctor_get(x_1, 0); -lean_inc(x_11); -lean_dec(x_1); -x_12 = lean_box(0); -x_13 = l_Lean_mkConst(x_11, x_12); -x_14 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_14, 0, x_13); -x_15 = l_Lean_Meta_Match_Example_toMessageData___closed__3; -x_16 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_16, 0, x_15); -lean_ctor_set(x_16, 1, x_14); -x_17 = l_Lean_MessageData_nil___closed__1; -x_18 = l_List_foldl___at_Lean_Meta_Match_Example_toMessageData___spec__1(x_17, x_6); -x_19 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_19, 0, x_16); -lean_ctor_set(x_19, 1, x_18); -x_20 = l_Lean_instToMessageDataOption___rarg___closed__4; -x_21 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_21, 0, x_19); -lean_ctor_set(x_21, 1, x_20); -return x_21; -} -} -case 3: -{ -lean_object* x_22; lean_object* x_23; -x_22 = lean_ctor_get(x_1, 0); -lean_inc(x_22); -lean_dec(x_1); -x_23 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_23, 0, x_22); -return x_23; -} -default: -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_24 = lean_ctor_get(x_1, 0); -lean_inc(x_24); -lean_dec(x_1); -x_25 = l_List_map___at_Lean_Meta_Match_Example_toMessageData___spec__2(x_24); -x_26 = l_Lean_MessageData_ofList(x_25); -lean_dec(x_25); -x_27 = l_Lean_Meta_Match_Example_toMessageData___closed__4; -x_28 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_28, 0, x_27); -lean_ctor_set(x_28, 1, x_26); -return x_28; -} -} -} -} -lean_object* l_List_map___at_Lean_Meta_Match_examplesToMessageData___spec__1(lean_object* x_1) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_2; -x_2 = lean_box(0); -return x_2; -} -else -{ -uint8_t x_3; -x_3 = !lean_is_exclusive(x_1); -if (x_3 == 0) -{ -lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_4 = lean_ctor_get(x_1, 0); -x_5 = lean_ctor_get(x_1, 1); -x_6 = l_Lean_Meta_Match_Example_varsToUnderscore(x_4); -x_7 = l_Lean_Meta_Match_Example_toMessageData(x_6); -x_8 = l_List_map___at_Lean_Meta_Match_examplesToMessageData___spec__1(x_5); -lean_ctor_set(x_1, 1, x_8); -lean_ctor_set(x_1, 0, x_7); -return x_1; -} -else -{ -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_9 = lean_ctor_get(x_1, 0); -x_10 = lean_ctor_get(x_1, 1); -lean_inc(x_10); -lean_inc(x_9); -lean_dec(x_1); -x_11 = l_Lean_Meta_Match_Example_varsToUnderscore(x_9); -x_12 = l_Lean_Meta_Match_Example_toMessageData(x_11); -x_13 = l_List_map___at_Lean_Meta_Match_examplesToMessageData___spec__1(x_10); -x_14 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_14, 0, x_12); -lean_ctor_set(x_14, 1, x_13); -return x_14; -} -} -} -} -lean_object* l_Lean_Meta_Match_examplesToMessageData(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_List_map___at_Lean_Meta_Match_examplesToMessageData___spec__1(x_1); -x_3 = l_Lean_MessageData_arrayExpr_toMessageData___closed__2; -x_4 = l_Lean_MessageData_joinSep(x_2, x_3); -lean_dec(x_2); -return x_4; -} -} -lean_object* l_Lean_Meta_Match_withGoalOf___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; lean_object* x_9; -x_8 = lean_ctor_get(x_1, 0); -lean_inc(x_8); -lean_dec(x_1); -x_9 = l_Lean_Meta_withMVarContext___at_Lean_Meta_admit___spec__2___rarg(x_8, x_2, x_3, x_4, x_5, x_6, x_7); -return x_9; -} -} -lean_object* l_Lean_Meta_Match_withGoalOf(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_Meta_Match_withGoalOf___rarg), 7, 0); -return x_2; -} -} -static lean_object* _init_l_Lean_Meta_Match_instInhabitedProblem___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = lean_box(0); -x_3 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -lean_ctor_set(x_3, 2, x_1); -lean_ctor_set(x_3, 3, x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_Meta_Match_instInhabitedProblem() { -_start: -{ -lean_object* x_1; -x_1 = l_Lean_Meta_Match_instInhabitedProblem___closed__1; -return x_1; -} -} -lean_object* l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_7; lean_object* x_8; -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_7 = lean_box(0); -x_8 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_8, 0, x_7); -lean_ctor_set(x_8, 1, x_6); -return x_8; -} -else -{ -uint8_t x_9; -x_9 = !lean_is_exclusive(x_1); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_10 = lean_ctor_get(x_1, 0); -x_11 = lean_ctor_get(x_1, 1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_12 = l_Lean_Meta_Match_Alt_toMessageData(x_10, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_12) == 0) -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); -lean_inc(x_14); -lean_dec(x_12); -x_15 = l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__1(x_11, x_2, x_3, x_4, x_5, x_14); -if (lean_obj_tag(x_15) == 0) -{ -uint8_t x_16; -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) -{ -lean_object* x_17; -x_17 = lean_ctor_get(x_15, 0); -lean_ctor_set(x_1, 1, x_17); -lean_ctor_set(x_1, 0, x_13); -lean_ctor_set(x_15, 0, x_1); -return x_15; -} -else -{ -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_15, 0); -x_19 = lean_ctor_get(x_15, 1); -lean_inc(x_19); -lean_inc(x_18); -lean_dec(x_15); -lean_ctor_set(x_1, 1, x_18); -lean_ctor_set(x_1, 0, x_13); -x_20 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_20, 0, x_1); -lean_ctor_set(x_20, 1, x_19); -return x_20; -} -} -else -{ -uint8_t x_21; -lean_dec(x_13); -lean_free_object(x_1); -x_21 = !lean_is_exclusive(x_15); -if (x_21 == 0) -{ -return x_15; -} -else -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_15, 0); -x_23 = lean_ctor_get(x_15, 1); -lean_inc(x_23); -lean_inc(x_22); -lean_dec(x_15); -x_24 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -return x_24; -} -} -} -else -{ -uint8_t x_25; -lean_free_object(x_1); -lean_dec(x_11); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_25 = !lean_is_exclusive(x_12); -if (x_25 == 0) -{ -return x_12; -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_12, 0); -x_27 = lean_ctor_get(x_12, 1); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_12); -x_28 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -return x_28; -} -} -} -else -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_1, 0); -x_30 = lean_ctor_get(x_1, 1); -lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -x_31 = l_Lean_Meta_Match_Alt_toMessageData(x_29, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_31) == 0) -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); -lean_inc(x_33); -lean_dec(x_31); -x_34 = l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__1(x_30, x_2, x_3, x_4, x_5, x_33); -if (lean_obj_tag(x_34) == 0) -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -x_36 = lean_ctor_get(x_34, 1); -lean_inc(x_36); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_37 = x_34; -} else { - lean_dec_ref(x_34); - x_37 = lean_box(0); -} -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_32); -lean_ctor_set(x_38, 1, x_35); -if (lean_is_scalar(x_37)) { - x_39 = lean_alloc_ctor(0, 2, 0); -} else { - x_39 = x_37; -} -lean_ctor_set(x_39, 0, x_38); -lean_ctor_set(x_39, 1, x_36); -return x_39; -} -else -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -lean_dec(x_32); -x_40 = lean_ctor_get(x_34, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_34, 1); -lean_inc(x_41); -if (lean_is_exclusive(x_34)) { - lean_ctor_release(x_34, 0); - lean_ctor_release(x_34, 1); - x_42 = x_34; -} else { - lean_dec_ref(x_34); - x_42 = lean_box(0); -} -if (lean_is_scalar(x_42)) { - x_43 = lean_alloc_ctor(1, 2, 0); -} else { - x_43 = x_42; -} -lean_ctor_set(x_43, 0, x_40); -lean_ctor_set(x_43, 1, x_41); -return x_43; -} -} -else -{ -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; -lean_dec(x_30); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_44 = lean_ctor_get(x_31, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_31, 1); -lean_inc(x_45); -if (lean_is_exclusive(x_31)) { - lean_ctor_release(x_31, 0); - lean_ctor_release(x_31, 1); - x_46 = x_31; -} else { - lean_dec_ref(x_31); - x_46 = lean_box(0); -} -if (lean_is_scalar(x_46)) { - x_47 = lean_alloc_ctor(1, 2, 0); -} else { - x_47 = x_46; -} -lean_ctor_set(x_47, 0, x_44); -lean_ctor_set(x_47, 1, x_45); -return x_47; -} -} -} -} -} -lean_object* l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_7; lean_object* x_8; -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_7 = lean_box(0); -x_8 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_8, 0, x_7); -lean_ctor_set(x_8, 1, x_6); -return x_8; -} -else -{ -uint8_t x_9; -x_9 = !lean_is_exclusive(x_1); -if (x_9 == 0) -{ -lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_10 = lean_ctor_get(x_1, 0); -x_11 = lean_ctor_get(x_1, 1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_10); -x_12 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_10, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_12) == 0) -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); -lean_inc(x_14); -lean_dec(x_12); -x_15 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_15, 0, x_10); -x_16 = l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__3; -x_17 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_17, 0, x_15); -lean_ctor_set(x_17, 1, x_16); -x_18 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_18, 0, x_13); -x_19 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_19, 0, x_17); -lean_ctor_set(x_19, 1, x_18); -x_20 = l_Lean_instToMessageDataOption___rarg___closed__4; -x_21 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_21, 0, x_19); -lean_ctor_set(x_21, 1, x_20); -x_22 = l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__2(x_11, x_2, x_3, x_4, x_5, x_14); -if (lean_obj_tag(x_22) == 0) -{ -uint8_t x_23; -x_23 = !lean_is_exclusive(x_22); -if (x_23 == 0) -{ -lean_object* x_24; -x_24 = lean_ctor_get(x_22, 0); -lean_ctor_set(x_1, 1, x_24); -lean_ctor_set(x_1, 0, x_21); -lean_ctor_set(x_22, 0, x_1); -return x_22; -} -else -{ -lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = lean_ctor_get(x_22, 0); -x_26 = lean_ctor_get(x_22, 1); -lean_inc(x_26); -lean_inc(x_25); -lean_dec(x_22); -lean_ctor_set(x_1, 1, x_25); -lean_ctor_set(x_1, 0, x_21); -x_27 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_27, 0, x_1); -lean_ctor_set(x_27, 1, x_26); -return x_27; -} -} -else -{ -uint8_t x_28; -lean_dec(x_21); -lean_free_object(x_1); -x_28 = !lean_is_exclusive(x_22); -if (x_28 == 0) -{ -return x_22; -} -else -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_22, 0); -x_30 = lean_ctor_get(x_22, 1); -lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_22); -x_31 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_31, 0, x_29); -lean_ctor_set(x_31, 1, x_30); -return x_31; -} -} -} -else -{ -uint8_t x_32; -lean_free_object(x_1); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_32 = !lean_is_exclusive(x_12); -if (x_32 == 0) -{ -return x_12; -} -else -{ -lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_33 = lean_ctor_get(x_12, 0); -x_34 = lean_ctor_get(x_12, 1); -lean_inc(x_34); -lean_inc(x_33); -lean_dec(x_12); -x_35 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_35, 0, x_33); -lean_ctor_set(x_35, 1, x_34); -return x_35; -} -} -} -else -{ -lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_36 = lean_ctor_get(x_1, 0); -x_37 = lean_ctor_get(x_1, 1); -lean_inc(x_37); -lean_inc(x_36); -lean_dec(x_1); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_36); -x_38 = l_Lean_Meta_inferType___at___private_Lean_Meta_InferType_0__Lean_Meta_inferAppType___spec__1(x_36, x_2, x_3, x_4, x_5, x_6); -if (lean_obj_tag(x_38) == 0) -{ -lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_39 = lean_ctor_get(x_38, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_38, 1); -lean_inc(x_40); -lean_dec(x_38); -x_41 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_41, 0, x_36); -x_42 = l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__3; -x_43 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_43, 0, x_41); -lean_ctor_set(x_43, 1, x_42); -x_44 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_44, 0, x_39); -x_45 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_45, 0, x_43); -lean_ctor_set(x_45, 1, x_44); -x_46 = l_Lean_instToMessageDataOption___rarg___closed__4; -x_47 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_47, 0, x_45); -lean_ctor_set(x_47, 1, x_46); -x_48 = l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__2(x_37, x_2, x_3, x_4, x_5, x_40); -if (lean_obj_tag(x_48) == 0) -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_49 = lean_ctor_get(x_48, 0); -lean_inc(x_49); -x_50 = lean_ctor_get(x_48, 1); -lean_inc(x_50); -if (lean_is_exclusive(x_48)) { - lean_ctor_release(x_48, 0); - lean_ctor_release(x_48, 1); - x_51 = x_48; -} else { - lean_dec_ref(x_48); - x_51 = lean_box(0); -} -x_52 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_52, 0, x_47); -lean_ctor_set(x_52, 1, x_49); -if (lean_is_scalar(x_51)) { - x_53 = lean_alloc_ctor(0, 2, 0); -} else { - x_53 = x_51; -} -lean_ctor_set(x_53, 0, x_52); -lean_ctor_set(x_53, 1, x_50); -return x_53; -} -else -{ -lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; -lean_dec(x_47); -x_54 = lean_ctor_get(x_48, 0); -lean_inc(x_54); -x_55 = lean_ctor_get(x_48, 1); -lean_inc(x_55); -if (lean_is_exclusive(x_48)) { - lean_ctor_release(x_48, 0); - lean_ctor_release(x_48, 1); - x_56 = x_48; -} else { - lean_dec_ref(x_48); - x_56 = lean_box(0); -} -if (lean_is_scalar(x_56)) { - x_57 = lean_alloc_ctor(1, 2, 0); -} else { - x_57 = x_56; -} -lean_ctor_set(x_57, 0, x_54); -lean_ctor_set(x_57, 1, x_55); -return x_57; -} -} -else -{ -lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; -lean_dec(x_37); -lean_dec(x_36); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_58 = lean_ctor_get(x_38, 0); -lean_inc(x_58); -x_59 = lean_ctor_get(x_38, 1); -lean_inc(x_59); -if (lean_is_exclusive(x_38)) { - lean_ctor_release(x_38, 0); - lean_ctor_release(x_38, 1); - x_60 = x_38; -} else { - lean_dec_ref(x_38); - x_60 = lean_box(0); -} -if (lean_is_scalar(x_60)) { - x_61 = lean_alloc_ctor(1, 2, 0); -} else { - x_61 = x_60; -} -lean_ctor_set(x_61, 0, x_58); -lean_ctor_set(x_61, 1, x_59); -return x_61; -} -} -} -} -} -static lean_object* _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("remaining variables: "); -return x_1; -} -} -static lean_object* _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__1; -x_2 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__2; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__4() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("alternatives:"); -return x_1; -} -} -static lean_object* _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__5() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__4; -x_2 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__6() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__5; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__7() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("examples: "); -return x_1; -} -} -static lean_object* _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__8() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__7; -x_2 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__9() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__8; -x_2 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; lean_object* x_9; -x_8 = lean_ctor_get(x_1, 1); -lean_inc(x_8); -x_9 = l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__2(x_8, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_9) == 0) -{ -uint8_t x_10; -x_10 = !lean_is_exclusive(x_9); -if (x_10 == 0) -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_11 = lean_ctor_get(x_9, 0); -x_12 = l_Lean_MessageData_ofList(x_11); -lean_dec(x_11); -x_13 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__3; -x_14 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_14, 0, x_13); -lean_ctor_set(x_14, 1, x_12); -x_15 = l_Lean_MessageData_ofList___closed__3; -x_16 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_16, 0, x_14); -lean_ctor_set(x_16, 1, x_15); -x_17 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__6; -x_18 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_18, 0, x_16); -lean_ctor_set(x_18, 1, x_17); -x_19 = l_Lean_MessageData_joinSep(x_2, x_15); -x_20 = l_Lean_indentD(x_19); -x_21 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_21, 0, x_18); -lean_ctor_set(x_21, 1, x_20); -x_22 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_22, 0, x_21); -lean_ctor_set(x_22, 1, x_15); -x_23 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__9; -x_24 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -x_25 = lean_ctor_get(x_1, 3); -lean_inc(x_25); -lean_dec(x_1); -x_26 = l_Lean_Meta_Match_examplesToMessageData(x_25); -x_27 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_27, 0, x_24); -lean_ctor_set(x_27, 1, x_26); -x_28 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_28, 0, x_27); -lean_ctor_set(x_28, 1, x_15); -lean_ctor_set(x_9, 0, x_28); -return x_9; -} -else -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_29 = lean_ctor_get(x_9, 0); -x_30 = lean_ctor_get(x_9, 1); -lean_inc(x_30); -lean_inc(x_29); -lean_dec(x_9); -x_31 = l_Lean_MessageData_ofList(x_29); -lean_dec(x_29); -x_32 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__3; -x_33 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_33, 0, x_32); -lean_ctor_set(x_33, 1, x_31); -x_34 = l_Lean_MessageData_ofList___closed__3; -x_35 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_35, 0, x_33); -lean_ctor_set(x_35, 1, x_34); -x_36 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__6; -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_MessageData_joinSep(x_2, x_34); -x_39 = l_Lean_indentD(x_38); -x_40 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_40, 0, x_37); -lean_ctor_set(x_40, 1, x_39); -x_41 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_41, 0, x_40); -lean_ctor_set(x_41, 1, x_34); -x_42 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__9; -x_43 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_43, 0, x_41); -lean_ctor_set(x_43, 1, x_42); -x_44 = lean_ctor_get(x_1, 3); -lean_inc(x_44); -lean_dec(x_1); -x_45 = l_Lean_Meta_Match_examplesToMessageData(x_44); -x_46 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_46, 0, x_43); -lean_ctor_set(x_46, 1, x_45); -x_47 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_47, 0, x_46); -lean_ctor_set(x_47, 1, x_34); -x_48 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_48, 0, x_47); -lean_ctor_set(x_48, 1, x_30); -return x_48; -} -} -else -{ -uint8_t x_49; -lean_dec(x_1); -x_49 = !lean_is_exclusive(x_9); -if (x_49 == 0) -{ -return x_9; -} -else -{ -lean_object* x_50; lean_object* x_51; lean_object* x_52; -x_50 = lean_ctor_get(x_9, 0); -x_51 = lean_ctor_get(x_9, 1); -lean_inc(x_51); -lean_inc(x_50); -lean_dec(x_9); -x_52 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_52, 0, x_50); -lean_ctor_set(x_52, 1, x_51); -return x_52; -} -} -} -} -lean_object* l_Lean_Meta_Match_Problem_toMessageData(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; -x_7 = lean_ctor_get(x_1, 2); -lean_inc(x_7); -x_8 = lean_alloc_closure((void*)(l_List_mapM___at_Lean_Meta_Match_Problem_toMessageData___spec__1), 6, 1); -lean_closure_set(x_8, 0, x_7); -lean_inc(x_1); -x_9 = lean_alloc_closure((void*)(l_Lean_Meta_Match_Problem_toMessageData___lambda__1___boxed), 7, 1); -lean_closure_set(x_9, 0, x_1); -x_10 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg), 7, 2); -lean_closure_set(x_10, 0, x_8); -lean_closure_set(x_10, 1, x_9); -x_11 = l_Lean_Meta_Match_withGoalOf___rarg(x_1, x_10, x_2, x_3, x_4, x_5, x_6); -return x_11; -} -} -lean_object* l_Lean_Meta_Match_Problem_toMessageData___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; -x_8 = l_Lean_Meta_Match_Problem_toMessageData___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); -lean_dec(x_2); -return x_8; -} -} -lean_object* l_Lean_Meta_Match_counterExampleToMessageData(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = l_Lean_Meta_Match_examplesToMessageData(x_1); -return x_2; -} -} -lean_object* l_List_map___at_Lean_Meta_Match_counterExamplesToMessageData___spec__1(lean_object* x_1) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_2; -x_2 = lean_box(0); -return x_2; -} -else -{ -uint8_t x_3; -x_3 = !lean_is_exclusive(x_1); -if (x_3 == 0) -{ -lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_4 = lean_ctor_get(x_1, 0); -x_5 = lean_ctor_get(x_1, 1); -x_6 = l_Lean_Meta_Match_examplesToMessageData(x_4); -x_7 = l_List_map___at_Lean_Meta_Match_counterExamplesToMessageData___spec__1(x_5); -lean_ctor_set(x_1, 1, x_7); -lean_ctor_set(x_1, 0, x_6); -return x_1; -} -else -{ -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; -x_8 = lean_ctor_get(x_1, 0); -x_9 = lean_ctor_get(x_1, 1); -lean_inc(x_9); -lean_inc(x_8); -lean_dec(x_1); -x_10 = l_Lean_Meta_Match_examplesToMessageData(x_8); -x_11 = l_List_map___at_Lean_Meta_Match_counterExamplesToMessageData___spec__1(x_9); -x_12 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_12, 0, x_10); -lean_ctor_set(x_12, 1, x_11); -return x_12; -} -} -} -} -lean_object* l_Lean_Meta_Match_counterExamplesToMessageData(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_List_map___at_Lean_Meta_Match_counterExamplesToMessageData___spec__1(x_1); -x_3 = l_Lean_MessageData_ofList___closed__3; -x_4 = l_Lean_MessageData_joinSep(x_2, x_3); -lean_dec(x_2); -return x_4; -} -} uint8_t l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns___spec__1(lean_object* x_1, uint8_t x_2, lean_object* x_3) { _start: { @@ -8119,7 +829,7 @@ lean_dec(x_1); return x_8; } } -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux_match__1___rarg(lean_object* x_1, lean_object* x_2) { +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop_match__1___rarg(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; lean_object* x_5; @@ -8132,47 +842,48 @@ x_5 = lean_apply_2(x_2, x_3, x_4); return x_5; } } -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux_match__1(lean_object* x_1) { +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop_match__1(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux_match__1___rarg), 2, 0); +x_2 = lean_alloc_closure((void*)(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop_match__1___rarg), 2, 0); return x_2; } } -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_7; -lean_dec(x_6); -x_7 = lean_apply_3(x_5, x_2, x_3, x_4); -return x_7; +lean_object* x_4; lean_object* x_5; +lean_dec(x_3); +x_4 = lean_box(0); +x_5 = lean_apply_1(x_2, x_4); +return x_5; } else { -lean_object* x_8; lean_object* x_9; lean_object* x_10; -lean_dec(x_5); -x_8 = lean_ctor_get(x_1, 0); -lean_inc(x_8); -x_9 = lean_ctor_get(x_1, 1); -lean_inc(x_9); +lean_object* x_6; lean_object* x_7; lean_object* x_8; +lean_dec(x_2); +x_6 = lean_ctor_get(x_1, 0); +lean_inc(x_6); +x_7 = lean_ctor_get(x_1, 1); +lean_inc(x_7); lean_dec(x_1); -x_10 = lean_apply_5(x_6, x_8, x_9, x_2, x_3, x_4); -return x_10; +x_8 = lean_apply_2(x_3, x_6, x_7); +return x_8; } } } -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux_match__2(lean_object* x_1, lean_object* x_2) { +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop_match__2(lean_object* x_1) { _start: { -lean_object* x_3; -x_3 = lean_alloc_closure((void*)(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux_match__2___rarg), 6, 0); -return x_3; +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop_match__2___rarg), 3, 0); +return x_2; } } -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___spec__1(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_mkMinorType___spec__1(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { uint8_t x_9; @@ -8192,64 +903,65 @@ return x_11; } else { -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; lean_object* x_17; x_12 = lean_array_uget(x_3, x_2); x_13 = lean_unsigned_to_nat(0u); x_14 = lean_array_uset(x_3, x_2, x_13); x_15 = x_12; +x_16 = 1; lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -x_16 = l_Lean_Meta_Match_Pattern_toExpr(x_15, x_4, x_5, x_6, x_7, x_8); -if (lean_obj_tag(x_16) == 0) +x_17 = l_Lean_Meta_Match_Pattern_toExpr_visit(x_16, x_15, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_17) == 0) { -lean_object* x_17; lean_object* x_18; size_t x_19; size_t x_20; lean_object* x_21; lean_object* x_22; -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); +lean_object* x_18; lean_object* x_19; size_t x_20; size_t x_21; lean_object* x_22; lean_object* x_23; +x_18 = lean_ctor_get(x_17, 0); lean_inc(x_18); -lean_dec(x_16); -x_19 = 1; -x_20 = x_2 + x_19; -x_21 = x_17; -x_22 = lean_array_uset(x_14, x_2, x_21); -x_2 = x_20; -x_3 = x_22; -x_8 = x_18; +x_19 = lean_ctor_get(x_17, 1); +lean_inc(x_19); +lean_dec(x_17); +x_20 = 1; +x_21 = x_2 + x_20; +x_22 = x_18; +x_23 = lean_array_uset(x_14, x_2, x_22); +x_2 = x_21; +x_3 = x_23; +x_8 = x_19; goto _start; } else { -uint8_t x_24; +uint8_t x_25; lean_dec(x_14); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_24 = !lean_is_exclusive(x_16); -if (x_24 == 0) +x_25 = !lean_is_exclusive(x_17); +if (x_25 == 0) { -return x_16; +return x_17; } else { -lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = lean_ctor_get(x_16, 0); -x_26 = lean_ctor_get(x_16, 1); +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_17, 0); +x_27 = lean_ctor_get(x_17, 1); +lean_inc(x_27); lean_inc(x_26); -lean_inc(x_25); -lean_dec(x_16); -x_27 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_27, 0, x_25); -lean_ctor_set(x_27, 1, x_26); -return x_27; +lean_dec(x_17); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; } } } } } -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_mkMinorType___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; lean_object* x_10; @@ -8258,7 +970,74 @@ x_10 = l_Lean_Meta_mkForallFVarsImp(x_2, x_9, x_4, x_5, x_6, x_7, x_8); return x_10; } } -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18) { +static lean_object* _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_mkMinorType___boxed__const__1() { +_start: +{ +size_t x_1; lean_object* x_2; +x_1 = 0; +x_2 = lean_box_usize(x_1); +return x_2; +} +} +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_mkMinorType(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; size_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_9 = lean_ctor_get(x_3, 1); +lean_inc(x_9); +x_10 = lean_ctor_get(x_3, 2); +lean_inc(x_10); +lean_dec(x_3); +x_11 = l_List_redLength___rarg(x_10); +x_12 = lean_mk_empty_array_with_capacity(x_11); +lean_dec(x_11); +x_13 = l_List_toArrayAux___rarg(x_10, x_12); +x_14 = lean_array_get_size(x_13); +x_15 = lean_usize_of_nat(x_14); +lean_dec(x_14); +x_16 = x_13; +x_17 = lean_box_usize(x_15); +x_18 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_mkMinorType___boxed__const__1; +x_19 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_mkMinorType___spec__1___boxed), 8, 3); +lean_closure_set(x_19, 0, x_17); +lean_closure_set(x_19, 1, x_18); +lean_closure_set(x_19, 2, x_16); +x_20 = x_19; +x_21 = lean_alloc_closure((void*)(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_mkMinorType___lambda__1___boxed), 8, 2); +lean_closure_set(x_21, 0, x_1); +lean_closure_set(x_21, 1, x_2); +x_22 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg), 7, 2); +lean_closure_set(x_22, 0, x_20); +lean_closure_set(x_22, 1, x_21); +x_23 = l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__2___rarg(x_9, x_22, x_4, x_5, x_6, x_7, x_8); +return x_23; +} +} +lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_mkMinorType___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +size_t x_9; size_t x_10; lean_object* x_11; +x_9 = lean_unbox_usize(x_1); +lean_dec(x_1); +x_10 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_11 = l_Array_mapMUnsafe_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_mkMinorType___spec__1(x_9, x_10, x_3, x_4, x_5, x_6, x_7, x_8); +return x_11; +} +} +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_mkMinorType___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +lean_object* x_9; +x_9 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_mkMinorType___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +return x_9; +} +} +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18) { _start: { lean_object* x_19; lean_object* x_20; lean_object* x_21; @@ -8292,7 +1071,7 @@ lean_ctor_set(x_25, 4, x_8); x_26 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_26, 0, x_25); lean_ctor_set(x_26, 1, x_9); -x_27 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg(x_10, x_11, x_26, x_20, x_12, x_14, x_15, x_16, x_17, x_23); +x_27 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg(x_10, x_11, x_12, x_26, x_20, x_14, x_15, x_16, x_17, x_23); return x_27; } else @@ -8352,7 +1131,7 @@ lean_ctor_set(x_36, 4, x_8); x_37 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_37, 0, x_36); lean_ctor_set(x_37, 1, x_9); -x_38 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg(x_10, x_11, x_37, x_20, x_12, x_14, x_15, x_16, x_17, x_33); +x_38 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg(x_10, x_11, x_12, x_37, x_20, x_14, x_15, x_16, x_17, x_33); return x_38; } else @@ -8393,7 +1172,7 @@ return x_42; } } } -static lean_object* _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__1() { +static lean_object* _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__1() { _start: { lean_object* x_1; @@ -8401,27 +1180,27 @@ x_1 = lean_mk_string("Match"); return x_1; } } -static lean_object* _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__2() { +static lean_object* _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_510____closed__2; -x_2 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__1; +x_2 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__3() { +static lean_object* _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__2; +x_1 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__2; x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Basic___hyg_510____closed__3; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__4() { +static lean_object* _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__4() { _start: { lean_object* x_1; @@ -8429,50 +1208,40 @@ x_1 = lean_mk_string("minor premise "); return x_1; } } -static lean_object* _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__5() { +static lean_object* _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__5() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__4; +x_1 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__4; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___boxed__const__1() { +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { -size_t x_1; lean_object* x_2; -x_1 = 0; -x_2 = lean_box_usize(x_1); -return x_2; -} -} -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -if (lean_obj_tag(x_2) == 0) +if (lean_obj_tag(x_3) == 0) { lean_object* x_11; lean_object* x_12; lean_dec(x_1); -x_11 = l_List_reverse___rarg(x_3); -x_12 = lean_apply_7(x_5, x_11, x_4, x_6, x_7, x_8, x_9, x_10); +x_11 = l_List_reverse___rarg(x_4); +x_12 = lean_apply_7(x_2, x_11, x_5, x_6, x_7, x_8, x_9, x_10); return x_12; } else { -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; size_t x_22; size_t x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; size_t x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_13 = lean_ctor_get(x_2, 0); +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; size_t x_22; size_t x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_13 = lean_ctor_get(x_3, 0); lean_inc(x_13); -x_14 = lean_ctor_get(x_2, 1); +x_14 = lean_ctor_get(x_3, 1); lean_inc(x_14); -lean_dec(x_2); +lean_dec(x_3); x_15 = lean_ctor_get(x_13, 0); lean_inc(x_15); x_16 = lean_ctor_get(x_13, 1); lean_inc(x_16); x_17 = lean_ctor_get(x_13, 2); lean_inc(x_17); -lean_dec(x_13); x_18 = l_List_redLength___rarg(x_16); x_19 = lean_mk_empty_array_with_capacity(x_18); lean_dec(x_18); @@ -8485,194 +1254,171 @@ x_23 = 0; x_24 = x_20; x_25 = l_Array_mapMUnsafe_map___at_Lean_Meta_Closure_mkBinding___spec__1(x_22, x_23, x_24); x_26 = x_25; -x_27 = l_List_redLength___rarg(x_17); -x_28 = lean_mk_empty_array_with_capacity(x_27); -lean_dec(x_27); -lean_inc(x_17); -x_29 = l_List_toArrayAux___rarg(x_17, x_28); -x_30 = lean_array_get_size(x_29); -x_31 = lean_usize_of_nat(x_30); -lean_dec(x_30); -x_32 = x_29; -x_33 = lean_box_usize(x_31); -x_34 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___boxed__const__1; -x_35 = lean_alloc_closure((void*)(l_Array_mapMUnsafe_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___spec__1___boxed), 8, 3); -lean_closure_set(x_35, 0, x_33); -lean_closure_set(x_35, 1, x_34); -lean_closure_set(x_35, 2, x_32); -x_36 = x_35; -lean_inc(x_26); -lean_inc(x_1); -x_37 = lean_alloc_closure((void*)(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___lambda__1___boxed), 8, 2); -lean_closure_set(x_37, 0, x_1); -lean_closure_set(x_37, 1, x_26); -x_38 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_instMonadLCtxMetaM___spec__2___rarg), 7, 2); -lean_closure_set(x_38, 0, x_36); -lean_closure_set(x_38, 1, x_37); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -lean_inc(x_16); -x_39 = l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessageData___spec__2___rarg(x_16, x_38, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_39) == 0) +lean_inc(x_26); +lean_inc(x_1); +x_27 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_mkMinorType(x_1, x_26, x_13, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_27) == 0) { -lean_object* x_40; lean_object* x_41; uint8_t x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_39, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_39, 1); -lean_inc(x_41); -lean_dec(x_39); -x_42 = l_Array_isEmpty___rarg(x_26); -if (x_42 == 0) +lean_object* x_28; lean_object* x_29; uint8_t x_30; lean_object* x_31; +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +x_30 = l_Array_isEmpty___rarg(x_26); +if (x_30 == 0) { -lean_object* x_88; lean_object* x_89; -x_88 = lean_array_get_size(x_26); -x_89 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_89, 0, x_40); -lean_ctor_set(x_89, 1, x_88); -x_43 = x_89; -goto block_87; +lean_object* x_76; lean_object* x_77; +x_76 = lean_array_get_size(x_26); +x_77 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_77, 0, x_28); +lean_ctor_set(x_77, 1, x_76); +x_31 = x_77; +goto block_75; } else { -lean_object* x_90; lean_object* x_91; lean_object* x_92; -x_90 = l_Lean_mkSimpleThunkType(x_40); -x_91 = lean_unsigned_to_nat(1u); -x_92 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_92, 0, x_90); -lean_ctor_set(x_92, 1, x_91); -x_43 = x_92; -goto block_87; +lean_object* x_78; lean_object* x_79; lean_object* x_80; +x_78 = l_Lean_mkSimpleThunkType(x_28); +x_79 = lean_unsigned_to_nat(1u); +x_80 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_80, 0, x_78); +lean_ctor_set(x_80, 1, x_79); +x_31 = x_80; +goto block_75; } -block_87: +block_75: { -lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; uint8_t x_52; lean_object* x_53; lean_object* x_75; lean_object* x_76; lean_object* x_77; uint8_t x_78; -x_44 = lean_ctor_get(x_43, 0); -lean_inc(x_44); -x_45 = lean_ctor_get(x_43, 1); -lean_inc(x_45); -lean_dec(x_43); -x_46 = lean_unsigned_to_nat(0u); -x_47 = l_List_lengthAux___rarg(x_3, x_46); -x_48 = lean_unsigned_to_nat(1u); -x_49 = lean_nat_add(x_47, x_48); -x_50 = l_Lean_Meta_caseValue___closed__2; -x_51 = l_Lean_Name_appendIndexAfter(x_50, x_49); -x_75 = lean_st_ref_get(x_9, x_41); -x_76 = lean_ctor_get(x_75, 0); -lean_inc(x_76); -x_77 = lean_ctor_get(x_76, 3); -lean_inc(x_77); -lean_dec(x_76); -x_78 = lean_ctor_get_uint8(x_77, sizeof(void*)*1); -lean_dec(x_77); -if (x_78 == 0) +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; uint8_t x_40; lean_object* x_41; lean_object* x_63; lean_object* x_64; lean_object* x_65; uint8_t x_66; +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +lean_dec(x_31); +x_34 = lean_unsigned_to_nat(0u); +x_35 = l_List_lengthAux___rarg(x_4, x_34); +x_36 = lean_unsigned_to_nat(1u); +x_37 = lean_nat_add(x_35, x_36); +x_38 = l_Lean_Meta_caseValue___closed__2; +x_39 = l_Lean_Name_appendIndexAfter(x_38, x_37); +x_63 = lean_st_ref_get(x_9, x_29); +x_64 = lean_ctor_get(x_63, 0); +lean_inc(x_64); +x_65 = lean_ctor_get(x_64, 3); +lean_inc(x_65); +lean_dec(x_64); +x_66 = lean_ctor_get_uint8(x_65, sizeof(void*)*1); +lean_dec(x_65); +if (x_66 == 0) { -lean_object* x_79; uint8_t x_80; -x_79 = lean_ctor_get(x_75, 1); -lean_inc(x_79); -lean_dec(x_75); -x_80 = 0; -x_52 = x_80; -x_53 = x_79; -goto block_74; +lean_object* x_67; uint8_t x_68; +x_67 = lean_ctor_get(x_63, 1); +lean_inc(x_67); +lean_dec(x_63); +x_68 = 0; +x_40 = x_68; +x_41 = x_67; +goto block_62; } else { -lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; uint8_t x_86; -x_81 = lean_ctor_get(x_75, 1); -lean_inc(x_81); -lean_dec(x_75); -x_82 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__3; -x_83 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__2(x_82, x_6, x_7, x_8, x_9, x_81); -x_84 = lean_ctor_get(x_83, 0); -lean_inc(x_84); -x_85 = lean_ctor_get(x_83, 1); -lean_inc(x_85); -lean_dec(x_83); -x_86 = lean_unbox(x_84); -lean_dec(x_84); -x_52 = x_86; -x_53 = x_85; -goto block_74; -} -block_74: -{ -if (x_52 == 0) -{ -lean_object* x_54; lean_object* x_55; uint8_t x_56; lean_object* x_57; -x_54 = lean_box(x_42); -x_55 = lean_alloc_closure((void*)(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___lambda__2___boxed), 18, 12); -lean_closure_set(x_55, 0, x_45); -lean_closure_set(x_55, 1, x_4); -lean_closure_set(x_55, 2, x_16); -lean_closure_set(x_55, 3, x_54); -lean_closure_set(x_55, 4, x_26); -lean_closure_set(x_55, 5, x_15); -lean_closure_set(x_55, 6, x_47); -lean_closure_set(x_55, 7, x_17); -lean_closure_set(x_55, 8, x_3); -lean_closure_set(x_55, 9, x_1); -lean_closure_set(x_55, 10, x_14); -lean_closure_set(x_55, 11, x_5); -x_56 = 0; -x_57 = l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_Match_CaseArraySizes_0__Lean_Meta_introArrayLit_loop___spec__2___rarg(x_51, x_56, x_44, x_55, x_6, x_7, x_8, x_9, x_53); -return x_57; -} -else -{ -lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; uint8_t x_72; lean_object* x_73; -lean_inc(x_51); -x_58 = lean_alloc_ctor(4, 1, 0); -lean_ctor_set(x_58, 0, x_51); -x_59 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__5; -x_60 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_60, 0, x_59); -lean_ctor_set(x_60, 1, x_58); -x_61 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__7; -x_62 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_62, 0, x_60); -lean_ctor_set(x_62, 1, x_61); -lean_inc(x_44); -x_63 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_63, 0, x_44); -x_64 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_64, 0, x_62); -lean_ctor_set(x_64, 1, x_63); -x_65 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; -x_66 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_66, 0, x_64); -lean_ctor_set(x_66, 1, x_65); -x_67 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__3; -x_68 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(x_67, x_66, x_6, x_7, x_8, x_9, x_53); -x_69 = lean_ctor_get(x_68, 1); +lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; uint8_t x_74; +x_69 = lean_ctor_get(x_63, 1); lean_inc(x_69); -lean_dec(x_68); -x_70 = lean_box(x_42); -x_71 = lean_alloc_closure((void*)(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___lambda__2___boxed), 18, 12); -lean_closure_set(x_71, 0, x_45); -lean_closure_set(x_71, 1, x_4); -lean_closure_set(x_71, 2, x_16); -lean_closure_set(x_71, 3, x_70); -lean_closure_set(x_71, 4, x_26); -lean_closure_set(x_71, 5, x_15); -lean_closure_set(x_71, 6, x_47); -lean_closure_set(x_71, 7, x_17); -lean_closure_set(x_71, 8, x_3); -lean_closure_set(x_71, 9, x_1); -lean_closure_set(x_71, 10, x_14); -lean_closure_set(x_71, 11, x_5); -x_72 = 0; -x_73 = l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_Match_CaseArraySizes_0__Lean_Meta_introArrayLit_loop___spec__2___rarg(x_51, x_72, x_44, x_71, x_6, x_7, x_8, x_9, x_69); -return x_73; +lean_dec(x_63); +x_70 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__3; +x_71 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_isLevelDefEqAux___spec__2(x_70, x_6, x_7, x_8, x_9, x_69); +x_72 = lean_ctor_get(x_71, 0); +lean_inc(x_72); +x_73 = lean_ctor_get(x_71, 1); +lean_inc(x_73); +lean_dec(x_71); +x_74 = lean_unbox(x_72); +lean_dec(x_72); +x_40 = x_74; +x_41 = x_73; +goto block_62; +} +block_62: +{ +if (x_40 == 0) +{ +lean_object* x_42; lean_object* x_43; uint8_t x_44; lean_object* x_45; +x_42 = lean_box(x_30); +x_43 = lean_alloc_closure((void*)(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___lambda__1___boxed), 18, 12); +lean_closure_set(x_43, 0, x_33); +lean_closure_set(x_43, 1, x_5); +lean_closure_set(x_43, 2, x_16); +lean_closure_set(x_43, 3, x_42); +lean_closure_set(x_43, 4, x_26); +lean_closure_set(x_43, 5, x_15); +lean_closure_set(x_43, 6, x_35); +lean_closure_set(x_43, 7, x_17); +lean_closure_set(x_43, 8, x_4); +lean_closure_set(x_43, 9, x_1); +lean_closure_set(x_43, 10, x_2); +lean_closure_set(x_43, 11, x_14); +x_44 = 0; +x_45 = l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_Match_CaseArraySizes_0__Lean_Meta_introArrayLit_loop___spec__2___rarg(x_39, x_44, x_32, x_43, x_6, x_7, x_8, x_9, x_41); +return x_45; +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_object* x_61; +lean_inc(x_39); +x_46 = lean_alloc_ctor(4, 1, 0); +lean_ctor_set(x_46, 0, x_39); +x_47 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__5; +x_48 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_48, 0, x_47); +lean_ctor_set(x_48, 1, x_46); +x_49 = l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___closed__7; +x_50 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_50, 0, x_48); +lean_ctor_set(x_50, 1, x_49); +lean_inc(x_32); +x_51 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_51, 0, x_32); +x_52 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_52, 0, x_50); +lean_ctor_set(x_52, 1, x_51); +x_53 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; +x_54 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_54, 0, x_52); +lean_ctor_set(x_54, 1, x_53); +x_55 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__3; +x_56 = l_Lean_addTrace___at_Lean_Meta_isLevelDefEqAux___spec__1(x_55, x_54, x_6, x_7, x_8, x_9, x_41); +x_57 = lean_ctor_get(x_56, 1); +lean_inc(x_57); +lean_dec(x_56); +x_58 = lean_box(x_30); +x_59 = lean_alloc_closure((void*)(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___lambda__1___boxed), 18, 12); +lean_closure_set(x_59, 0, x_33); +lean_closure_set(x_59, 1, x_5); +lean_closure_set(x_59, 2, x_16); +lean_closure_set(x_59, 3, x_58); +lean_closure_set(x_59, 4, x_26); +lean_closure_set(x_59, 5, x_15); +lean_closure_set(x_59, 6, x_35); +lean_closure_set(x_59, 7, x_17); +lean_closure_set(x_59, 8, x_4); +lean_closure_set(x_59, 9, x_1); +lean_closure_set(x_59, 10, x_2); +lean_closure_set(x_59, 11, x_14); +x_60 = 0; +x_61 = l_Lean_Meta_withLocalDecl___at___private_Lean_Meta_Match_CaseArraySizes_0__Lean_Meta_introArrayLit_loop___spec__2___rarg(x_39, x_60, x_32, x_59, x_6, x_7, x_8, x_9, x_57); +return x_61; } } } } else { -uint8_t x_93; +uint8_t x_81; lean_dec(x_26); lean_dec(x_17); lean_dec(x_16); @@ -8684,63 +1430,39 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_3); +lean_dec(x_2); lean_dec(x_1); -x_93 = !lean_is_exclusive(x_39); -if (x_93 == 0) +x_81 = !lean_is_exclusive(x_27); +if (x_81 == 0) { -return x_39; +return x_27; } else { -lean_object* x_94; lean_object* x_95; lean_object* x_96; -x_94 = lean_ctor_get(x_39, 0); -x_95 = lean_ctor_get(x_39, 1); -lean_inc(x_95); -lean_inc(x_94); -lean_dec(x_39); -x_96 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_96, 0, x_94); -lean_ctor_set(x_96, 1, x_95); -return x_96; +lean_object* x_82; lean_object* x_83; lean_object* x_84; +x_82 = lean_ctor_get(x_27, 0); +x_83 = lean_ctor_get(x_27, 1); +lean_inc(x_83); +lean_inc(x_82); +lean_dec(x_27); +x_84 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_84, 0, x_82); +lean_ctor_set(x_84, 1, x_83); +return x_84; } } } } } -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux(lean_object* x_1) { +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg), 10, 0); +x_2 = lean_alloc_closure((void*)(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg), 10, 0); return x_2; } } -lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -size_t x_9; size_t x_10; lean_object* x_11; -x_9 = lean_unbox_usize(x_1); -lean_dec(x_1); -x_10 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_11 = l_Array_mapMUnsafe_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___spec__1(x_9, x_10, x_3, x_4, x_5, x_6, x_7, x_8); -return x_11; -} -} -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -lean_object* x_9; -x_9 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -return x_9; -} -} -lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___lambda__2___boxed(lean_object** _args) { +lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___lambda__1___boxed(lean_object** _args) { lean_object* x_1 = _args[0]; lean_object* x_2 = _args[1]; lean_object* x_3 = _args[2]; @@ -8764,7 +1486,7 @@ _start: uint8_t x_19; lean_object* x_20; x_19 = lean_unbox(x_4); lean_dec(x_4); -x_20 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___lambda__2(x_1, x_2, x_3, x_19, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18); +x_20 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___lambda__1(x_1, x_2, x_3, x_19, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18); lean_dec(x_5); return x_20; } @@ -8775,7 +1497,7 @@ _start: lean_object* x_9; lean_object* x_10; lean_object* x_11; x_9 = lean_box(0); x_10 = l_Array_empty___closed__1; -x_11 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg(x_1, x_2, x_9, x_10, x_3, x_4, x_5, x_6, x_7, x_8); +x_11 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg(x_1, x_3, x_2, x_9, x_10, x_4, x_5, x_6, x_7, x_8); return x_11; } } @@ -10585,7 +3307,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__2; -x_3 = lean_unsigned_to_nat(379u); +x_3 = lean_unsigned_to_nat(141u); x_4 = lean_unsigned_to_nat(19u); x_5 = l_Lean_Syntax_strLitToAtom___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -10929,7 +3651,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__2; -x_3 = lean_unsigned_to_nat(375u); +x_3 = lean_unsigned_to_nat(137u); x_4 = lean_unsigned_to_nat(15u); x_5 = l_Lean_Syntax_strLitToAtom___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -12021,7 +4743,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processAsPattern___closed__1; -x_3 = lean_unsigned_to_nat(394u); +x_3 = lean_unsigned_to_nat(156u); x_4 = lean_unsigned_to_nat(15u); x_5 = l_Lean_Syntax_strLitToAtom___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -12195,7 +4917,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1___closed__1; -x_3 = lean_unsigned_to_nat(408u); +x_3 = lean_unsigned_to_nat(170u); x_4 = lean_unsigned_to_nat(40u); x_5 = l_Lean_Syntax_strLitToAtom___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -12614,7 +5336,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processVariable___spec__1___closed__1; -x_3 = lean_unsigned_to_nat(403u); +x_3 = lean_unsigned_to_nat(165u); x_4 = lean_unsigned_to_nat(15u); x_5 = l_Lean_Syntax_strLitToAtom___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -13221,7 +5943,7 @@ static lean_object* _init_l_Lean_Meta_Match_Unify_assign___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__2; +x_1 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__2; x_2 = l_Lean_Meta_Match_Unify_assign___closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; @@ -13908,66 +6630,49 @@ x_10 = l_Lean_Meta_isExprDefEqImp(x_1, x_2, x_5, x_6, x_7, x_8, x_9); return x_10; } } -static lean_object* _init_l_Lean_Meta_Match_Unify_unify___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("unify failed @ "); -return x_1; -} -} -static lean_object* _init_l_Lean_Meta_Match_Unify_unify___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Match_Unify_unify___closed__1; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} lean_object* l_Lean_Meta_Match_Unify_unify(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -lean_object* x_10; uint8_t x_130; lean_object* x_131; lean_object* x_144; lean_object* x_145; lean_object* x_146; uint8_t x_147; -x_144 = lean_st_ref_get(x_8, x_9); -x_145 = lean_ctor_get(x_144, 0); -lean_inc(x_145); -x_146 = lean_ctor_get(x_145, 3); -lean_inc(x_146); -lean_dec(x_145); -x_147 = lean_ctor_get_uint8(x_146, sizeof(void*)*1); -lean_dec(x_146); -if (x_147 == 0) +lean_object* x_10; uint8_t x_137; lean_object* x_138; lean_object* x_151; lean_object* x_152; lean_object* x_153; uint8_t x_154; +x_151 = lean_st_ref_get(x_8, x_9); +x_152 = lean_ctor_get(x_151, 0); +lean_inc(x_152); +x_153 = lean_ctor_get(x_152, 3); +lean_inc(x_153); +lean_dec(x_152); +x_154 = lean_ctor_get_uint8(x_153, sizeof(void*)*1); +lean_dec(x_153); +if (x_154 == 0) { -lean_object* x_148; uint8_t x_149; -x_148 = lean_ctor_get(x_144, 1); -lean_inc(x_148); -lean_dec(x_144); -x_149 = 0; -x_130 = x_149; -x_131 = x_148; -goto block_143; +lean_object* x_155; uint8_t x_156; +x_155 = lean_ctor_get(x_151, 1); +lean_inc(x_155); +lean_dec(x_151); +x_156 = 0; +x_137 = x_156; +x_138 = x_155; +goto block_150; } else { -lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; uint8_t x_155; -x_150 = lean_ctor_get(x_144, 1); -lean_inc(x_150); -lean_dec(x_144); -x_151 = l_Lean_Meta_Match_Unify_assign___closed__2; -x_152 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2(x_151, x_3, x_4, x_5, x_6, x_7, x_8, x_150); -x_153 = lean_ctor_get(x_152, 0); -lean_inc(x_153); -x_154 = lean_ctor_get(x_152, 1); -lean_inc(x_154); -lean_dec(x_152); -x_155 = lean_unbox(x_153); -lean_dec(x_153); -x_130 = x_155; -x_131 = x_154; -goto block_143; +lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; uint8_t x_162; +x_157 = lean_ctor_get(x_151, 1); +lean_inc(x_157); +lean_dec(x_151); +x_158 = l_Lean_Meta_Match_Unify_assign___closed__2; +x_159 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2(x_158, x_3, x_4, x_5, x_6, x_7, x_8, x_157); +x_160 = lean_ctor_get(x_159, 0); +lean_inc(x_160); +x_161 = lean_ctor_get(x_159, 1); +lean_inc(x_161); +lean_dec(x_159); +x_162 = lean_unbox(x_160); +lean_dec(x_160); +x_137 = x_162; +x_138 = x_161; +goto block_150; } -block_129: +block_136: { lean_object* x_11; lean_inc(x_8); @@ -13986,7 +6691,7 @@ x_13 = lean_unbox(x_12); lean_dec(x_12); if (x_13 == 0) { -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; lean_object* x_20; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t x_47; +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; x_14 = lean_ctor_get(x_11, 1); lean_inc(x_14); lean_dec(x_11); @@ -13996,132 +6701,126 @@ x_16 = lean_ctor_get(x_15, 0); lean_inc(x_16); x_17 = lean_ctor_get(x_15, 1); lean_inc(x_17); -if (lean_is_exclusive(x_15)) { - lean_ctor_release(x_15, 0); - lean_ctor_release(x_15, 1); - x_18 = x_15; -} else { - lean_dec_ref(x_15); - x_18 = lean_box(0); -} +lean_dec(x_15); lean_inc(x_2); -x_44 = l_Lean_Meta_Match_Unify_expandIfVar(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_17); -x_45 = lean_ctor_get(x_44, 0); -lean_inc(x_45); -x_46 = lean_ctor_get(x_44, 1); -lean_inc(x_46); -lean_dec(x_44); -x_47 = lean_expr_eqv(x_1, x_16); -if (x_47 == 0) +x_18 = l_Lean_Meta_Match_Unify_expandIfVar(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_17); +x_19 = !lean_is_exclusive(x_18); +if (x_19 == 0) { -lean_dec(x_18); +lean_object* x_20; lean_object* x_21; uint8_t x_22; +x_20 = lean_ctor_get(x_18, 0); +x_21 = lean_ctor_get(x_18, 1); +x_22 = lean_expr_eqv(x_1, x_16); +if (x_22 == 0) +{ +lean_free_object(x_18); lean_dec(x_2); lean_dec(x_1); x_1 = x_16; -x_2 = x_45; -x_9 = x_46; +x_2 = x_20; +x_9 = x_21; goto _start; } else { -uint8_t x_49; -x_49 = lean_expr_eqv(x_2, x_45); -if (x_49 == 0) +uint8_t x_24; +x_24 = lean_expr_eqv(x_2, x_20); +if (x_24 == 0) { -lean_dec(x_18); +lean_free_object(x_18); lean_dec(x_2); lean_dec(x_1); x_1 = x_16; -x_2 = x_45; -x_9 = x_46; +x_2 = x_20; +x_9 = x_21; goto _start; } else { -lean_dec(x_45); +lean_dec(x_20); lean_dec(x_16); switch (lean_obj_tag(x_1)) { case 1: { -lean_dec(x_18); +lean_free_object(x_18); switch (lean_obj_tag(x_2)) { case 1: { -lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; uint8_t x_55; -x_51 = lean_ctor_get(x_1, 0); -lean_inc(x_51); -x_52 = lean_ctor_get(x_2, 0); -lean_inc(x_52); -x_53 = l_Lean_Meta_Match_Unify_assign(x_51, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_46); -x_54 = lean_ctor_get(x_53, 0); -lean_inc(x_54); -x_55 = lean_unbox(x_54); -if (x_55 == 0) +lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_30; +x_26 = lean_ctor_get(x_1, 0); +lean_inc(x_26); +x_27 = lean_ctor_get(x_2, 0); +lean_inc(x_27); +x_28 = l_Lean_Meta_Match_Unify_assign(x_26, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_21); +x_29 = lean_ctor_get(x_28, 0); +lean_inc(x_29); +x_30 = lean_unbox(x_29); +if (x_30 == 0) { -lean_object* x_56; lean_object* x_57; -lean_dec(x_54); -x_56 = lean_ctor_get(x_53, 1); -lean_inc(x_56); -lean_dec(x_53); -x_57 = l_Lean_Meta_Match_Unify_assign(x_52, x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_56); +lean_object* x_31; lean_object* x_32; +lean_dec(x_29); +x_31 = lean_ctor_get(x_28, 1); +lean_inc(x_31); +lean_dec(x_28); +x_32 = l_Lean_Meta_Match_Unify_assign(x_27, x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_31); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -return x_57; +return x_32; } else { -uint8_t x_58; -lean_dec(x_52); +uint8_t x_33; +lean_dec(x_27); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_1); -x_58 = !lean_is_exclusive(x_53); -if (x_58 == 0) +x_33 = !lean_is_exclusive(x_28); +if (x_33 == 0) { -lean_object* x_59; -x_59 = lean_ctor_get(x_53, 0); -lean_dec(x_59); -return x_53; +lean_object* x_34; +x_34 = lean_ctor_get(x_28, 0); +lean_dec(x_34); +return x_28; } else { -lean_object* x_60; lean_object* x_61; -x_60 = lean_ctor_get(x_53, 1); -lean_inc(x_60); -lean_dec(x_53); -x_61 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_61, 0, x_54); -lean_ctor_set(x_61, 1, x_60); -return x_61; +lean_object* x_35; lean_object* x_36; +x_35 = lean_ctor_get(x_28, 1); +lean_inc(x_35); +lean_dec(x_28); +x_36 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_36, 0, x_29); +lean_ctor_set(x_36, 1, x_35); +return x_36; } } } case 10: { -lean_object* x_62; -x_62 = lean_ctor_get(x_2, 1); -lean_inc(x_62); +lean_object* x_37; +x_37 = lean_ctor_get(x_2, 1); +lean_inc(x_37); lean_dec(x_2); -x_2 = x_62; -x_9 = x_46; +x_2 = x_37; +x_9 = x_21; goto _start; } default: { -lean_object* x_64; lean_object* x_65; -x_64 = lean_ctor_get(x_1, 0); -lean_inc(x_64); +lean_object* x_39; lean_object* x_40; +x_39 = lean_ctor_get(x_1, 0); +lean_inc(x_39); lean_dec(x_1); -x_65 = l_Lean_Meta_Match_Unify_assign(x_64, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_46); +x_40 = l_Lean_Meta_Match_Unify_assign(x_39, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_21); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -return x_65; +return x_40; } } } @@ -14130,178 +6829,466 @@ case 5: switch (lean_obj_tag(x_2)) { case 1: { +lean_object* x_41; lean_object* x_42; +lean_free_object(x_18); +x_41 = lean_ctor_get(x_2, 0); +lean_inc(x_41); +lean_dec(x_2); +x_42 = l_Lean_Meta_Match_Unify_assign(x_41, x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_21); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +return x_42; +} +case 5: +{ +lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; +lean_free_object(x_18); +x_43 = lean_ctor_get(x_1, 0); +lean_inc(x_43); +x_44 = lean_ctor_get(x_1, 1); +lean_inc(x_44); +lean_dec(x_1); +x_45 = lean_ctor_get(x_2, 0); +lean_inc(x_45); +x_46 = lean_ctor_get(x_2, 1); +lean_inc(x_46); +lean_dec(x_2); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +x_47 = l_Lean_Meta_Match_Unify_unify(x_43, x_45, x_3, x_4, x_5, x_6, x_7, x_8, x_21); +if (lean_obj_tag(x_47) == 0) +{ +lean_object* x_48; uint8_t x_49; +x_48 = lean_ctor_get(x_47, 0); +lean_inc(x_48); +x_49 = lean_unbox(x_48); +if (x_49 == 0) +{ +uint8_t x_50; +lean_dec(x_46); +lean_dec(x_44); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_50 = !lean_is_exclusive(x_47); +if (x_50 == 0) +{ +lean_object* x_51; +x_51 = lean_ctor_get(x_47, 0); +lean_dec(x_51); +return x_47; +} +else +{ +lean_object* x_52; lean_object* x_53; +x_52 = lean_ctor_get(x_47, 1); +lean_inc(x_52); +lean_dec(x_47); +x_53 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_53, 0, x_48); +lean_ctor_set(x_53, 1, x_52); +return x_53; +} +} +else +{ +lean_object* x_54; +lean_dec(x_48); +x_54 = lean_ctor_get(x_47, 1); +lean_inc(x_54); +lean_dec(x_47); +x_1 = x_44; +x_2 = x_46; +x_9 = x_54; +goto _start; +} +} +else +{ +uint8_t x_56; +lean_dec(x_46); +lean_dec(x_44); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_56 = !lean_is_exclusive(x_47); +if (x_56 == 0) +{ +return x_47; +} +else +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_47, 0); +x_58 = lean_ctor_get(x_47, 1); +lean_inc(x_58); +lean_inc(x_57); +lean_dec(x_47); +x_59 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_59, 0, x_57); +lean_ctor_set(x_59, 1, x_58); +return x_59; +} +} +} +case 10: +{ +lean_object* x_60; +lean_free_object(x_18); +x_60 = lean_ctor_get(x_2, 1); +lean_inc(x_60); +lean_dec(x_2); +x_2 = x_60; +x_9 = x_21; +goto _start; +} +default: +{ +uint8_t x_62; lean_object* x_63; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_2); +lean_dec(x_1); +x_62 = 0; +x_63 = lean_box(x_62); +lean_ctor_set(x_18, 0, x_63); +return x_18; +} +} +} +case 10: +{ +lean_object* x_64; +lean_free_object(x_18); +x_64 = lean_ctor_get(x_1, 1); +lean_inc(x_64); +lean_dec(x_1); +x_1 = x_64; +x_9 = x_21; +goto _start; +} +default: +{ +switch (lean_obj_tag(x_2)) { +case 1: +{ lean_object* x_66; lean_object* x_67; -lean_dec(x_18); +lean_free_object(x_18); x_66 = lean_ctor_get(x_2, 0); lean_inc(x_66); lean_dec(x_2); -x_67 = l_Lean_Meta_Match_Unify_assign(x_66, x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_46); +x_67 = l_Lean_Meta_Match_Unify_assign(x_66, x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_21); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); return x_67; } +case 10: +{ +lean_object* x_68; +lean_free_object(x_18); +x_68 = lean_ctor_get(x_2, 1); +lean_inc(x_68); +lean_dec(x_2); +x_2 = x_68; +x_9 = x_21; +goto _start; +} +default: +{ +uint8_t x_70; lean_object* x_71; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_2); +lean_dec(x_1); +x_70 = 0; +x_71 = lean_box(x_70); +lean_ctor_set(x_18, 0, x_71); +return x_18; +} +} +} +} +} +} +} +else +{ +lean_object* x_72; lean_object* x_73; uint8_t x_74; +x_72 = lean_ctor_get(x_18, 0); +x_73 = lean_ctor_get(x_18, 1); +lean_inc(x_73); +lean_inc(x_72); +lean_dec(x_18); +x_74 = lean_expr_eqv(x_1, x_16); +if (x_74 == 0) +{ +lean_dec(x_2); +lean_dec(x_1); +x_1 = x_16; +x_2 = x_72; +x_9 = x_73; +goto _start; +} +else +{ +uint8_t x_76; +x_76 = lean_expr_eqv(x_2, x_72); +if (x_76 == 0) +{ +lean_dec(x_2); +lean_dec(x_1); +x_1 = x_16; +x_2 = x_72; +x_9 = x_73; +goto _start; +} +else +{ +lean_dec(x_72); +lean_dec(x_16); +switch (lean_obj_tag(x_1)) { +case 1: +{ +switch (lean_obj_tag(x_2)) { +case 1: +{ +lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; uint8_t x_82; +x_78 = lean_ctor_get(x_1, 0); +lean_inc(x_78); +x_79 = lean_ctor_get(x_2, 0); +lean_inc(x_79); +x_80 = l_Lean_Meta_Match_Unify_assign(x_78, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_73); +x_81 = lean_ctor_get(x_80, 0); +lean_inc(x_81); +x_82 = lean_unbox(x_81); +if (x_82 == 0) +{ +lean_object* x_83; lean_object* x_84; +lean_dec(x_81); +x_83 = lean_ctor_get(x_80, 1); +lean_inc(x_83); +lean_dec(x_80); +x_84 = l_Lean_Meta_Match_Unify_assign(x_79, x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_83); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +return x_84; +} +else +{ +lean_object* x_85; lean_object* x_86; lean_object* x_87; +lean_dec(x_79); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_1); +x_85 = lean_ctor_get(x_80, 1); +lean_inc(x_85); +if (lean_is_exclusive(x_80)) { + lean_ctor_release(x_80, 0); + lean_ctor_release(x_80, 1); + x_86 = x_80; +} else { + lean_dec_ref(x_80); + x_86 = lean_box(0); +} +if (lean_is_scalar(x_86)) { + x_87 = lean_alloc_ctor(0, 2, 0); +} else { + x_87 = x_86; +} +lean_ctor_set(x_87, 0, x_81); +lean_ctor_set(x_87, 1, x_85); +return x_87; +} +} +case 10: +{ +lean_object* x_88; +x_88 = lean_ctor_get(x_2, 1); +lean_inc(x_88); +lean_dec(x_2); +x_2 = x_88; +x_9 = x_73; +goto _start; +} +default: +{ +lean_object* x_90; lean_object* x_91; +x_90 = lean_ctor_get(x_1, 0); +lean_inc(x_90); +lean_dec(x_1); +x_91 = l_Lean_Meta_Match_Unify_assign(x_90, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_73); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +return x_91; +} +} +} case 5: { -lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; -lean_dec(x_18); -x_68 = lean_ctor_get(x_1, 0); -lean_inc(x_68); -x_69 = lean_ctor_get(x_1, 1); -lean_inc(x_69); +switch (lean_obj_tag(x_2)) { +case 1: +{ +lean_object* x_92; lean_object* x_93; +x_92 = lean_ctor_get(x_2, 0); +lean_inc(x_92); +lean_dec(x_2); +x_93 = l_Lean_Meta_Match_Unify_assign(x_92, x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_73); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +return x_93; +} +case 5: +{ +lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; +x_94 = lean_ctor_get(x_1, 0); +lean_inc(x_94); +x_95 = lean_ctor_get(x_1, 1); +lean_inc(x_95); lean_dec(x_1); -x_70 = lean_ctor_get(x_2, 0); -lean_inc(x_70); -x_71 = lean_ctor_get(x_2, 1); -lean_inc(x_71); +x_96 = lean_ctor_get(x_2, 0); +lean_inc(x_96); +x_97 = lean_ctor_get(x_2, 1); +lean_inc(x_97); lean_dec(x_2); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); -x_72 = l_Lean_Meta_Match_Unify_unify(x_68, x_70, x_3, x_4, x_5, x_6, x_7, x_8, x_46); -if (lean_obj_tag(x_72) == 0) +x_98 = l_Lean_Meta_Match_Unify_unify(x_94, x_96, x_3, x_4, x_5, x_6, x_7, x_8, x_73); +if (lean_obj_tag(x_98) == 0) { -lean_object* x_73; uint8_t x_74; -x_73 = lean_ctor_get(x_72, 0); -lean_inc(x_73); -x_74 = lean_unbox(x_73); -if (x_74 == 0) +lean_object* x_99; uint8_t x_100; +x_99 = lean_ctor_get(x_98, 0); +lean_inc(x_99); +x_100 = lean_unbox(x_99); +if (x_100 == 0) { -uint8_t x_75; -lean_dec(x_71); -lean_dec(x_69); +lean_object* x_101; lean_object* x_102; lean_object* x_103; +lean_dec(x_97); +lean_dec(x_95); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_75 = !lean_is_exclusive(x_72); -if (x_75 == 0) -{ -lean_object* x_76; -x_76 = lean_ctor_get(x_72, 0); -lean_dec(x_76); -return x_72; +x_101 = lean_ctor_get(x_98, 1); +lean_inc(x_101); +if (lean_is_exclusive(x_98)) { + lean_ctor_release(x_98, 0); + lean_ctor_release(x_98, 1); + x_102 = x_98; +} else { + lean_dec_ref(x_98); + x_102 = lean_box(0); +} +if (lean_is_scalar(x_102)) { + x_103 = lean_alloc_ctor(0, 2, 0); +} else { + x_103 = x_102; +} +lean_ctor_set(x_103, 0, x_99); +lean_ctor_set(x_103, 1, x_101); +return x_103; } else { -lean_object* x_77; lean_object* x_78; -x_77 = lean_ctor_get(x_72, 1); -lean_inc(x_77); -lean_dec(x_72); -x_78 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_78, 0, x_73); -lean_ctor_set(x_78, 1, x_77); -return x_78; -} -} -else -{ -lean_object* x_79; -lean_dec(x_73); -x_79 = lean_ctor_get(x_72, 1); -lean_inc(x_79); -lean_dec(x_72); -x_1 = x_69; -x_2 = x_71; -x_9 = x_79; +lean_object* x_104; +lean_dec(x_99); +x_104 = lean_ctor_get(x_98, 1); +lean_inc(x_104); +lean_dec(x_98); +x_1 = x_95; +x_2 = x_97; +x_9 = x_104; goto _start; } } else { -uint8_t x_81; -lean_dec(x_71); -lean_dec(x_69); +lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; +lean_dec(x_97); +lean_dec(x_95); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -x_81 = !lean_is_exclusive(x_72); -if (x_81 == 0) -{ -return x_72; +x_106 = lean_ctor_get(x_98, 0); +lean_inc(x_106); +x_107 = lean_ctor_get(x_98, 1); +lean_inc(x_107); +if (lean_is_exclusive(x_98)) { + lean_ctor_release(x_98, 0); + lean_ctor_release(x_98, 1); + x_108 = x_98; +} else { + lean_dec_ref(x_98); + x_108 = lean_box(0); } -else -{ -lean_object* x_82; lean_object* x_83; lean_object* x_84; -x_82 = lean_ctor_get(x_72, 0); -x_83 = lean_ctor_get(x_72, 1); -lean_inc(x_83); -lean_inc(x_82); -lean_dec(x_72); -x_84 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_84, 0, x_82); -lean_ctor_set(x_84, 1, x_83); -return x_84; +if (lean_is_scalar(x_108)) { + x_109 = lean_alloc_ctor(1, 2, 0); +} else { + x_109 = x_108; } +lean_ctor_set(x_109, 0, x_106); +lean_ctor_set(x_109, 1, x_107); +return x_109; } } case 10: { -lean_object* x_85; -lean_dec(x_18); -x_85 = lean_ctor_get(x_2, 1); -lean_inc(x_85); +lean_object* x_110; +x_110 = lean_ctor_get(x_2, 1); +lean_inc(x_110); lean_dec(x_2); -x_2 = x_85; -x_9 = x_46; +x_2 = x_110; +x_9 = x_73; goto _start; } default: { -lean_object* x_87; lean_object* x_88; lean_object* x_89; uint8_t x_90; -x_87 = lean_st_ref_get(x_8, x_46); -x_88 = lean_ctor_get(x_87, 0); -lean_inc(x_88); -x_89 = lean_ctor_get(x_88, 3); -lean_inc(x_89); -lean_dec(x_88); -x_90 = lean_ctor_get_uint8(x_89, sizeof(void*)*1); -lean_dec(x_89); -if (x_90 == 0) -{ -lean_object* x_91; uint8_t x_92; -x_91 = lean_ctor_get(x_87, 1); -lean_inc(x_91); -lean_dec(x_87); -x_92 = 0; -x_19 = x_92; -x_20 = x_91; -goto block_43; -} -else -{ -lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; uint8_t x_98; -x_93 = lean_ctor_get(x_87, 1); -lean_inc(x_93); -lean_dec(x_87); -x_94 = l_Lean_Meta_Match_Unify_assign___closed__2; -x_95 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2(x_94, x_3, x_4, x_5, x_6, x_7, x_8, x_93); -x_96 = lean_ctor_get(x_95, 0); -lean_inc(x_96); -x_97 = lean_ctor_get(x_95, 1); -lean_inc(x_97); -lean_dec(x_95); -x_98 = lean_unbox(x_96); -lean_dec(x_96); -x_19 = x_98; -x_20 = x_97; -goto block_43; -} +uint8_t x_112; lean_object* x_113; lean_object* x_114; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_2); +lean_dec(x_1); +x_112 = 0; +x_113 = lean_box(x_112); +x_114 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_114, 0, x_113); +lean_ctor_set(x_114, 1, x_73); +return x_114; } } } case 10: { -lean_object* x_99; -lean_dec(x_18); -x_99 = lean_ctor_get(x_1, 1); -lean_inc(x_99); +lean_object* x_115; +x_115 = lean_ctor_get(x_1, 1); +lean_inc(x_115); lean_dec(x_1); -x_1 = x_99; -x_9 = x_46; +x_1 = x_115; +x_9 = x_73; goto _start; } default: @@ -14309,255 +7296,151 @@ default: switch (lean_obj_tag(x_2)) { case 1: { -lean_object* x_101; lean_object* x_102; -lean_dec(x_18); -x_101 = lean_ctor_get(x_2, 0); -lean_inc(x_101); +lean_object* x_117; lean_object* x_118; +x_117 = lean_ctor_get(x_2, 0); +lean_inc(x_117); lean_dec(x_2); -x_102 = l_Lean_Meta_Match_Unify_assign(x_101, x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_46); +x_118 = l_Lean_Meta_Match_Unify_assign(x_117, x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_73); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -return x_102; +return x_118; } case 10: { -lean_object* x_103; -lean_dec(x_18); -x_103 = lean_ctor_get(x_2, 1); -lean_inc(x_103); +lean_object* x_119; +x_119 = lean_ctor_get(x_2, 1); +lean_inc(x_119); lean_dec(x_2); -x_2 = x_103; -x_9 = x_46; +x_2 = x_119; +x_9 = x_73; goto _start; } default: { -lean_object* x_105; lean_object* x_106; lean_object* x_107; uint8_t x_108; -x_105 = lean_st_ref_get(x_8, x_46); -x_106 = lean_ctor_get(x_105, 0); -lean_inc(x_106); -x_107 = lean_ctor_get(x_106, 3); -lean_inc(x_107); -lean_dec(x_106); -x_108 = lean_ctor_get_uint8(x_107, sizeof(void*)*1); -lean_dec(x_107); -if (x_108 == 0) -{ -lean_object* x_109; uint8_t x_110; -x_109 = lean_ctor_get(x_105, 1); -lean_inc(x_109); -lean_dec(x_105); -x_110 = 0; -x_19 = x_110; -x_20 = x_109; -goto block_43; -} -else -{ -lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; uint8_t x_116; -x_111 = lean_ctor_get(x_105, 1); -lean_inc(x_111); -lean_dec(x_105); -x_112 = l_Lean_Meta_Match_Unify_assign___closed__2; -x_113 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_Match_Unify_assign___spec__2(x_112, x_3, x_4, x_5, x_6, x_7, x_8, x_111); -x_114 = lean_ctor_get(x_113, 0); -lean_inc(x_114); -x_115 = lean_ctor_get(x_113, 1); -lean_inc(x_115); -lean_dec(x_113); -x_116 = lean_unbox(x_114); -lean_dec(x_114); -x_19 = x_116; -x_20 = x_115; -goto block_43; -} -} -} -} -} -} -} -block_43: -{ -if (x_19 == 0) -{ -uint8_t x_21; lean_object* x_22; lean_object* x_23; +uint8_t x_121; lean_object* x_122; lean_object* x_123; lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_2); lean_dec(x_1); -x_21 = 0; -x_22 = lean_box(x_21); -if (lean_is_scalar(x_18)) { - x_23 = lean_alloc_ctor(0, 2, 0); -} else { - x_23 = x_18; +x_121 = 0; +x_122 = lean_box(x_121); +x_123 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_123, 0, x_122); +lean_ctor_set(x_123, 1, x_73); +return x_123; +} } -lean_ctor_set(x_23, 0, x_22); -lean_ctor_set(x_23, 1, x_20); -return x_23; } -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; -lean_dec(x_18); -x_24 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_24, 0, x_1); -x_25 = l_Lean_Meta_Match_Unify_unify___closed__2; -x_26 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_26, 0, x_25); -lean_ctor_set(x_26, 1, x_24); -x_27 = l_Lean_Meta_isLevelDefEqAux___closed__6; -x_28 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -x_29 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_29, 0, x_2); -x_30 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -x_31 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; -x_32 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_32, 0, x_30); -lean_ctor_set(x_32, 1, x_31); -x_33 = l_Lean_Meta_Match_Unify_assign___closed__2; -x_34 = l_Lean_addTrace___at_Lean_Meta_Match_Unify_assign___spec__1(x_33, x_32, x_3, x_4, x_5, x_6, x_7, x_8, x_20); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -x_35 = !lean_is_exclusive(x_34); -if (x_35 == 0) -{ -lean_object* x_36; uint8_t x_37; lean_object* x_38; -x_36 = lean_ctor_get(x_34, 0); -lean_dec(x_36); -x_37 = 0; -x_38 = lean_box(x_37); -lean_ctor_set(x_34, 0, x_38); -return x_34; } -else -{ -lean_object* x_39; uint8_t x_40; lean_object* x_41; lean_object* x_42; -x_39 = lean_ctor_get(x_34, 1); -lean_inc(x_39); -lean_dec(x_34); -x_40 = 0; -x_41 = lean_box(x_40); -x_42 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_42, 0, x_41); -lean_ctor_set(x_42, 1, x_39); -return x_42; } } } } else { -uint8_t x_117; +uint8_t x_124; lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_2); lean_dec(x_1); -x_117 = !lean_is_exclusive(x_11); -if (x_117 == 0) +x_124 = !lean_is_exclusive(x_11); +if (x_124 == 0) { -lean_object* x_118; uint8_t x_119; lean_object* x_120; -x_118 = lean_ctor_get(x_11, 0); -lean_dec(x_118); -x_119 = 1; -x_120 = lean_box(x_119); -lean_ctor_set(x_11, 0, x_120); +lean_object* x_125; uint8_t x_126; lean_object* x_127; +x_125 = lean_ctor_get(x_11, 0); +lean_dec(x_125); +x_126 = 1; +x_127 = lean_box(x_126); +lean_ctor_set(x_11, 0, x_127); return x_11; } else { -lean_object* x_121; uint8_t x_122; lean_object* x_123; lean_object* x_124; -x_121 = lean_ctor_get(x_11, 1); -lean_inc(x_121); +lean_object* x_128; uint8_t x_129; lean_object* x_130; lean_object* x_131; +x_128 = lean_ctor_get(x_11, 1); +lean_inc(x_128); lean_dec(x_11); -x_122 = 1; -x_123 = lean_box(x_122); -x_124 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_124, 0, x_123); -lean_ctor_set(x_124, 1, x_121); -return x_124; +x_129 = 1; +x_130 = lean_box(x_129); +x_131 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_131, 0, x_130); +lean_ctor_set(x_131, 1, x_128); +return x_131; } } } else { -uint8_t x_125; +uint8_t x_132; lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_2); lean_dec(x_1); -x_125 = !lean_is_exclusive(x_11); -if (x_125 == 0) +x_132 = !lean_is_exclusive(x_11); +if (x_132 == 0) { return x_11; } else { -lean_object* x_126; lean_object* x_127; lean_object* x_128; -x_126 = lean_ctor_get(x_11, 0); -x_127 = lean_ctor_get(x_11, 1); -lean_inc(x_127); -lean_inc(x_126); +lean_object* x_133; lean_object* x_134; lean_object* x_135; +x_133 = lean_ctor_get(x_11, 0); +x_134 = lean_ctor_get(x_11, 1); +lean_inc(x_134); +lean_inc(x_133); lean_dec(x_11); -x_128 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_128, 0, x_126); -lean_ctor_set(x_128, 1, x_127); -return x_128; +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; } } } -block_143: +block_150: { -if (x_130 == 0) +if (x_137 == 0) { -x_10 = x_131; -goto block_129; +x_10 = x_138; +goto block_136; } else { -lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; +lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_inc(x_1); -x_132 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_132, 0, x_1); -x_133 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; -x_134 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_134, 0, x_133); -lean_ctor_set(x_134, 1, x_132); -x_135 = l_Lean_Meta_isLevelDefEqAux___closed__6; -x_136 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_136, 0, x_134); -lean_ctor_set(x_136, 1, x_135); +x_139 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_139, 0, x_1); +x_140 = l_Array_foldlMUnsafe_fold___at_Lean_withNestedTraces___spec__5___closed__1; +x_141 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_141, 0, x_140); +lean_ctor_set(x_141, 1, x_139); +x_142 = l_Lean_Meta_isLevelDefEqAux___closed__6; +x_143 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_143, 0, x_141); +lean_ctor_set(x_143, 1, x_142); lean_inc(x_2); -x_137 = lean_alloc_ctor(2, 1, 0); -lean_ctor_set(x_137, 0, x_2); -x_138 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_138, 0, x_136); -lean_ctor_set(x_138, 1, x_137); -x_139 = lean_alloc_ctor(10, 2, 0); -lean_ctor_set(x_139, 0, x_138); -lean_ctor_set(x_139, 1, x_133); -x_140 = l_Lean_Meta_Match_Unify_assign___closed__2; -x_141 = l_Lean_addTrace___at_Lean_Meta_Match_Unify_assign___spec__1(x_140, x_139, x_3, x_4, x_5, x_6, x_7, x_8, x_131); -x_142 = lean_ctor_get(x_141, 1); -lean_inc(x_142); -lean_dec(x_141); -x_10 = x_142; -goto block_129; +x_144 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_144, 0, x_2); +x_145 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_145, 0, x_143); +lean_ctor_set(x_145, 1, x_144); +x_146 = lean_alloc_ctor(10, 2, 0); +lean_ctor_set(x_146, 0, x_145); +lean_ctor_set(x_146, 1, x_140); +x_147 = l_Lean_Meta_Match_Unify_assign___closed__2; +x_148 = l_Lean_addTrace___at_Lean_Meta_Match_Unify_assign___spec__1(x_147, x_146, x_3, x_4, x_5, x_6, x_7, x_8, x_138); +x_149 = lean_ctor_get(x_148, 1); +lean_inc(x_149); +lean_dec(x_148); +x_10 = x_149; +goto block_136; } } } @@ -16652,7 +9535,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_Lean_Meta_Match_processInaccessibleAsCtor___closed__1; -x_3 = lean_unsigned_to_nat(548u); +x_3 = lean_unsigned_to_nat(308u); x_4 = lean_unsigned_to_nat(9u); x_5 = l_Lean_Syntax_strLitToAtom___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -16663,7 +9546,7 @@ static lean_object* _init_l_Lean_Meta_Match_processInaccessibleAsCtor___closed__ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__2; +x_1 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__2; x_2 = l_Lean_Parser_Tactic_match___closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; @@ -17957,7 +10840,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__8___closed__1; -x_3 = lean_unsigned_to_nat(593u); +x_3 = lean_unsigned_to_nat(353u); x_4 = lean_unsigned_to_nat(48u); x_5 = l_Lean_Syntax_strLitToAtom___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -18522,7 +11405,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__8___closed__1; -x_3 = lean_unsigned_to_nat(554u); +x_3 = lean_unsigned_to_nat(314u); x_4 = lean_unsigned_to_nat(15u); x_5 = l_Lean_Syntax_strLitToAtom___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -19028,7 +11911,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__1; -x_3 = lean_unsigned_to_nat(612u); +x_3 = lean_unsigned_to_nat(372u); x_4 = lean_unsigned_to_nat(21u); x_5 = l_Lean_Syntax_strLitToAtom___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -19552,7 +12435,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1___closed__1; -x_3 = lean_unsigned_to_nat(598u); +x_3 = lean_unsigned_to_nat(358u); x_4 = lean_unsigned_to_nat(15u); x_5 = l_Lean_Syntax_strLitToAtom___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -20371,7 +13254,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__6___closed__1; -x_3 = lean_unsigned_to_nat(652u); +x_3 = lean_unsigned_to_nat(412u); x_4 = lean_unsigned_to_nat(18u); x_5 = l_Lean_Syntax_strLitToAtom___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -20979,7 +13862,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__6___closed__1; -x_3 = lean_unsigned_to_nat(631u); +x_3 = lean_unsigned_to_nat(391u); x_4 = lean_unsigned_to_nat(15u); x_5 = l_Lean_Syntax_strLitToAtom___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -22571,7 +15454,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__1; -x_3 = lean_unsigned_to_nat(707u); +x_3 = lean_unsigned_to_nat(467u); x_4 = lean_unsigned_to_nat(18u); x_5 = l_Lean_Syntax_strLitToAtom___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -23268,7 +16151,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processSkipInaccessible___spec__1___closed__1; x_2 = l_List_mapM___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__8___closed__1; -x_3 = lean_unsigned_to_nat(685u); +x_3 = lean_unsigned_to_nat(445u); x_4 = lean_unsigned_to_nat(15u); x_5 = l_Lean_Syntax_strLitToAtom___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -27056,7 +19939,7 @@ lean_dec(x_2); return x_8; } } -static lean_object* _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__1() { +static lean_object* _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__1() { _start: { lean_object* x_1; @@ -27064,17 +19947,17 @@ x_1 = lean_mk_string("bootstrap"); return x_1; } } -static lean_object* _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__2() { +static lean_object* _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____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_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__1; +x_2 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__3() { +static lean_object* _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__3() { _start: { lean_object* x_1; @@ -27082,17 +19965,17 @@ x_1 = lean_mk_string("gen_matcher_code"); return x_1; } } -static lean_object* _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__4() { +static lean_object* _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__2; -x_2 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__3; +x_1 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__2; +x_2 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__3; x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__5() { +static lean_object* _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__5() { _start: { lean_object* x_1; @@ -27100,13 +19983,13 @@ x_1 = lean_mk_string("disable code generation for auxiliary matcher function"); return x_1; } } -static lean_object* _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__6() { +static lean_object* _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_initFn____x40_Lean_Data_Options___hyg_476____closed__3; -x_2 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__1; -x_3 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__5; +x_2 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__1; +x_3 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__5; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -27114,12 +19997,12 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588_(lean_object* x_1) { +lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__4; -x_3 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__6; +x_2 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__4; +x_3 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__6; x_4 = lean_register_option(x_2, x_3, x_1); return x_4; } @@ -27128,7 +20011,7 @@ uint8_t l_Lean_Meta_Match_generateMatcherCode(lean_object* x_1) { _start: { lean_object* x_2; uint8_t x_3; uint8_t x_4; -x_2 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__4; +x_2 = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__4; x_3 = 1; x_4 = l_Lean_KVMap_getBool(x_1, x_2, x_3); return x_4; @@ -28400,7 +21283,7 @@ lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; uint x_46 = lean_ctor_get(x_41, 1); lean_inc(x_46); lean_dec(x_41); -x_47 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__3; +x_47 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__3; x_48 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_substCore___spec__16(x_47, x_9, x_10, x_11, x_12, x_46); x_49 = lean_ctor_get(x_48, 0); lean_inc(x_49); @@ -28455,7 +21338,7 @@ lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; x_20 = lean_ctor_get(x_16, 1); lean_inc(x_20); lean_dec(x_16); -x_21 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__3; +x_21 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__3; lean_inc(x_3); lean_inc(x_8); x_22 = lean_alloc_closure((void*)(l_Lean_Meta_Match_mkMatcher___lambda__1___boxed), 16, 9); @@ -28477,7 +21360,7 @@ lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint x_24 = lean_ctor_get(x_16, 1); lean_inc(x_24); lean_dec(x_16); -x_25 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__3; +x_25 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__3; x_26 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_substCore___spec__16(x_25, x_9, x_10, x_11, x_12, x_24); x_27 = lean_ctor_get(x_26, 0); lean_inc(x_27); @@ -30706,7 +23589,7 @@ lean_dec(x_5); return x_11; } } -lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Match_Match___hyg_7518_(lean_object* x_1) { +lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Match_Match___hyg_6077_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -30718,7 +23601,7 @@ lean_object* x_4; lean_object* x_5; lean_object* x_6; x_4 = lean_ctor_get(x_3, 1); lean_inc(x_4); lean_dec(x_3); -x_5 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__3; +x_5 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__3; x_6 = l_Lean_registerTraceClass(x_5, x_4); if (lean_obj_tag(x_6) == 0) { @@ -30785,10 +23668,9 @@ lean_object* initialize_Lean_Meta_Check(lean_object*); lean_object* initialize_Lean_Meta_Closure(lean_object*); lean_object* initialize_Lean_Meta_Tactic_Cases(lean_object*); lean_object* initialize_Lean_Meta_GeneralizeTelescope(lean_object*); -lean_object* initialize_Lean_Meta_Match_MatcherInfo(lean_object*); +lean_object* initialize_Lean_Meta_Match_Basic(lean_object*); lean_object* initialize_Lean_Meta_Match_MVarRenaming(lean_object*); lean_object* initialize_Lean_Meta_Match_CaseValues(lean_object*); -lean_object* initialize_Lean_Meta_Match_CaseArraySizes(lean_object*); static bool _G_initialized = false; lean_object* initialize_Lean_Meta_Match_Match(lean_object* w) { lean_object * res; @@ -30818,7 +23700,7 @@ lean_dec_ref(res); res = initialize_Lean_Meta_GeneralizeTelescope(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_Match_MatcherInfo(lean_io_mk_world()); +res = initialize_Lean_Meta_Match_Basic(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); res = initialize_Lean_Meta_Match_MVarRenaming(lean_io_mk_world()); @@ -30827,115 +23709,24 @@ lean_dec_ref(res); res = initialize_Lean_Meta_Match_CaseValues(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Lean_Meta_Match_CaseArraySizes(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -l_Lean_Meta_Match_Pattern_instInhabitedPattern___closed__1 = _init_l_Lean_Meta_Match_Pattern_instInhabitedPattern___closed__1(); -lean_mark_persistent(l_Lean_Meta_Match_Pattern_instInhabitedPattern___closed__1); -l_Lean_Meta_Match_Pattern_instInhabitedPattern = _init_l_Lean_Meta_Match_Pattern_instInhabitedPattern(); -lean_mark_persistent(l_Lean_Meta_Match_Pattern_instInhabitedPattern); -l_List_foldl___at_Lean_Meta_Match_Pattern_toMessageData___spec__1___closed__1 = _init_l_List_foldl___at_Lean_Meta_Match_Pattern_toMessageData___spec__1___closed__1(); -lean_mark_persistent(l_List_foldl___at_Lean_Meta_Match_Pattern_toMessageData___spec__1___closed__1); -l_Lean_Meta_Match_Pattern_toMessageData___closed__1 = _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__1(); -lean_mark_persistent(l_Lean_Meta_Match_Pattern_toMessageData___closed__1); -l_Lean_Meta_Match_Pattern_toMessageData___closed__2 = _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__2(); -lean_mark_persistent(l_Lean_Meta_Match_Pattern_toMessageData___closed__2); -l_Lean_Meta_Match_Pattern_toMessageData___closed__3 = _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__3(); -lean_mark_persistent(l_Lean_Meta_Match_Pattern_toMessageData___closed__3); -l_Lean_Meta_Match_Pattern_toMessageData___closed__4 = _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__4(); -lean_mark_persistent(l_Lean_Meta_Match_Pattern_toMessageData___closed__4); -l_Lean_Meta_Match_Pattern_toMessageData___closed__5 = _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__5(); -lean_mark_persistent(l_Lean_Meta_Match_Pattern_toMessageData___closed__5); -l_Lean_Meta_Match_Pattern_toMessageData___closed__6 = _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__6(); -lean_mark_persistent(l_Lean_Meta_Match_Pattern_toMessageData___closed__6); -l_Lean_Meta_Match_Pattern_toMessageData___closed__7 = _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__7(); -lean_mark_persistent(l_Lean_Meta_Match_Pattern_toMessageData___closed__7); -l_Lean_Meta_Match_Pattern_toMessageData___closed__8 = _init_l_Lean_Meta_Match_Pattern_toMessageData___closed__8(); -lean_mark_persistent(l_Lean_Meta_Match_Pattern_toMessageData___closed__8); -l_Lean_Meta_Match_Alt_instInhabitedAlt___closed__1 = _init_l_Lean_Meta_Match_Alt_instInhabitedAlt___closed__1(); -lean_mark_persistent(l_Lean_Meta_Match_Alt_instInhabitedAlt___closed__1); -l_Lean_Meta_Match_Alt_instInhabitedAlt = _init_l_Lean_Meta_Match_Alt_instInhabitedAlt(); -lean_mark_persistent(l_Lean_Meta_Match_Alt_instInhabitedAlt); -l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__1 = _init_l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__1(); -lean_mark_persistent(l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__1); -l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__2 = _init_l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__2(); -lean_mark_persistent(l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__2); -l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__3 = _init_l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__3(); -lean_mark_persistent(l_List_map___at_Lean_Meta_Match_Alt_toMessageData___spec__1___closed__3); -l_Lean_Meta_Match_Alt_toMessageData___closed__1 = _init_l_Lean_Meta_Match_Alt_toMessageData___closed__1(); -lean_mark_persistent(l_Lean_Meta_Match_Alt_toMessageData___closed__1); -l_Lean_Meta_Match_Alt_toMessageData___closed__2 = _init_l_Lean_Meta_Match_Alt_toMessageData___closed__2(); -lean_mark_persistent(l_Lean_Meta_Match_Alt_toMessageData___closed__2); -l_Lean_Meta_Match_Alt_toMessageData___closed__3 = _init_l_Lean_Meta_Match_Alt_toMessageData___closed__3(); -lean_mark_persistent(l_Lean_Meta_Match_Alt_toMessageData___closed__3); -l_Lean_Meta_Match_Alt_toMessageData___closed__4 = _init_l_Lean_Meta_Match_Alt_toMessageData___closed__4(); -lean_mark_persistent(l_Lean_Meta_Match_Alt_toMessageData___closed__4); -l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__1 = _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__1(); -lean_mark_persistent(l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__1); -l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__2 = _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__2(); -lean_mark_persistent(l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__2); -l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__3 = _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__3(); -lean_mark_persistent(l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__3); -l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__4 = _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__4(); -lean_mark_persistent(l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__4); -l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__5 = _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__5(); -lean_mark_persistent(l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__5); -l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__6 = _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__6(); -lean_mark_persistent(l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__6); -l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__7 = _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__7(); -lean_mark_persistent(l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__7); -l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__8 = _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__8(); -lean_mark_persistent(l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__8); -l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__9 = _init_l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__9(); -lean_mark_persistent(l_Lean_Meta_Match_Alt_checkAndReplaceFVarId___closed__9); -l_Lean_Meta_Match_Example_toMessageData___closed__1 = _init_l_Lean_Meta_Match_Example_toMessageData___closed__1(); -lean_mark_persistent(l_Lean_Meta_Match_Example_toMessageData___closed__1); -l_Lean_Meta_Match_Example_toMessageData___closed__2 = _init_l_Lean_Meta_Match_Example_toMessageData___closed__2(); -lean_mark_persistent(l_Lean_Meta_Match_Example_toMessageData___closed__2); -l_Lean_Meta_Match_Example_toMessageData___closed__3 = _init_l_Lean_Meta_Match_Example_toMessageData___closed__3(); -lean_mark_persistent(l_Lean_Meta_Match_Example_toMessageData___closed__3); -l_Lean_Meta_Match_Example_toMessageData___closed__4 = _init_l_Lean_Meta_Match_Example_toMessageData___closed__4(); -lean_mark_persistent(l_Lean_Meta_Match_Example_toMessageData___closed__4); -l_Lean_Meta_Match_instInhabitedProblem___closed__1 = _init_l_Lean_Meta_Match_instInhabitedProblem___closed__1(); -lean_mark_persistent(l_Lean_Meta_Match_instInhabitedProblem___closed__1); -l_Lean_Meta_Match_instInhabitedProblem = _init_l_Lean_Meta_Match_instInhabitedProblem(); -lean_mark_persistent(l_Lean_Meta_Match_instInhabitedProblem); -l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__1 = _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__1(); -lean_mark_persistent(l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__1); -l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__2 = _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__2(); -lean_mark_persistent(l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__2); -l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__3 = _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__3(); -lean_mark_persistent(l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__3); -l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__4 = _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__4(); -lean_mark_persistent(l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__4); -l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__5 = _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__5(); -lean_mark_persistent(l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__5); -l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__6 = _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__6(); -lean_mark_persistent(l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__6); -l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__7 = _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__7(); -lean_mark_persistent(l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__7); -l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__8 = _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__8(); -lean_mark_persistent(l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__8); -l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__9 = _init_l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__9(); -lean_mark_persistent(l_Lean_Meta_Match_Problem_toMessageData___lambda__1___closed__9); l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns___closed__1 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns___closed__1(); lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns___closed__1); l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns___closed__2 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns___closed__2(); lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns___closed__2); l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns___closed__3 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns___closed__3(); lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns___closed__3); -l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__1 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__1(); -lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__1); -l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__2 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__2(); -lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__2); -l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__3 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__3(); -lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__3); -l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__4 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__4(); -lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__4); -l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__5 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__5(); -lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___closed__5); -l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___boxed__const__1 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___boxed__const__1(); -lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAltsAux___rarg___boxed__const__1); +l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_mkMinorType___boxed__const__1 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_mkMinorType___boxed__const__1(); +lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_mkMinorType___boxed__const__1); +l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__1 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__1(); +lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__1); +l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__2 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__2(); +lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__2); +l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__3 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__3(); +lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__3); +l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__4 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__4(); +lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__4); +l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__5 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__5(); +lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts_loop___rarg___closed__5); l_Lean_Meta_Match_State_used___default___closed__1 = _init_l_Lean_Meta_Match_State_used___default___closed__1(); lean_mark_persistent(l_Lean_Meta_Match_State_used___default___closed__1); l_Lean_Meta_Match_State_used___default = _init_l_Lean_Meta_Match_State_used___default(); @@ -30974,10 +23765,6 @@ l_Lean_Meta_Match_Unify_assign___closed__5 = _init_l_Lean_Meta_Match_Unify_assig lean_mark_persistent(l_Lean_Meta_Match_Unify_assign___closed__5); l_Lean_Meta_Match_Unify_assign___closed__6 = _init_l_Lean_Meta_Match_Unify_assign___closed__6(); lean_mark_persistent(l_Lean_Meta_Match_Unify_assign___closed__6); -l_Lean_Meta_Match_Unify_unify___closed__1 = _init_l_Lean_Meta_Match_Unify_unify___closed__1(); -lean_mark_persistent(l_Lean_Meta_Match_Unify_unify___closed__1); -l_Lean_Meta_Match_Unify_unify___closed__2 = _init_l_Lean_Meta_Match_Unify_unify___closed__2(); -lean_mark_persistent(l_Lean_Meta_Match_Unify_unify___closed__2); l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___lambda__1___boxed__const__1 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___lambda__1___boxed__const__1(); lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_expandVarIntoCtor_x3f___lambda__1___boxed__const__1); l_Lean_Meta_Match_processInaccessibleAsCtor___lambda__1___closed__1 = _init_l_Lean_Meta_Match_processInaccessibleAsCtor___lambda__1___closed__1(); @@ -31078,19 +23865,19 @@ l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f___closed__2 lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f___closed__2); l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f___closed__3 = _init_l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f___closed__3(); lean_mark_persistent(l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_getUElimPos_x3f___closed__3); -l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__1 = _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__1(); -lean_mark_persistent(l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__1); -l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__2 = _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__2(); -lean_mark_persistent(l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__2); -l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__3 = _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__3(); -lean_mark_persistent(l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__3); -l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__4 = _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__4(); -lean_mark_persistent(l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__4); -l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__5 = _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__5(); -lean_mark_persistent(l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__5); -l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__6 = _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__6(); -lean_mark_persistent(l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588____closed__6); -res = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_6588_(lean_io_mk_world()); +l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__1 = _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__1(); +lean_mark_persistent(l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__1); +l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__2 = _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__2(); +lean_mark_persistent(l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__2); +l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__3 = _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__3(); +lean_mark_persistent(l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__3); +l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__4 = _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__4(); +lean_mark_persistent(l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__4); +l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__5 = _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__5(); +lean_mark_persistent(l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__5); +l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__6 = _init_l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__6(); +lean_mark_persistent(l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149____closed__6); +res = l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_5149_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_Meta_Match_mkMatcher___lambda__1___closed__1 = _init_l_Lean_Meta_Match_mkMatcher___lambda__1___closed__1(); @@ -31165,7 +23952,7 @@ l_Lean_Meta_MatcherApp_addArg___lambda__4___closed__1 = _init_l_Lean_Meta_Matche lean_mark_persistent(l_Lean_Meta_MatcherApp_addArg___lambda__4___closed__1); l_Lean_Meta_MatcherApp_addArg___lambda__4___closed__2 = _init_l_Lean_Meta_MatcherApp_addArg___lambda__4___closed__2(); lean_mark_persistent(l_Lean_Meta_MatcherApp_addArg___lambda__4___closed__2); -res = l_Lean_Meta_initFn____x40_Lean_Meta_Match_Match___hyg_7518_(lean_io_mk_world()); +res = l_Lean_Meta_initFn____x40_Lean_Meta_Match_Match___hyg_6077_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Parser/Basic.c b/stage0/stdlib/Lean/Parser/Basic.c index 88305f41db..42b6eeaefe 100644 --- a/stage0/stdlib/Lean/Parser/Basic.c +++ b/stage0/stdlib/Lean/Parser/Basic.c @@ -213,6 +213,7 @@ lean_object* l_Lean_Parser_withPosition(lean_object*); lean_object* l_Lean_Parser_mkAntiquot___closed__11; lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__3___rarg(lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Basic_0__Lean_Parser_updateCache_match__1___rarg(lean_object*, lean_object*, lean_object*); +extern lean_object* l_Applicative_seqRight___default___rarg___closed__1; lean_object* l_Lean_Parser_charLitFnAux(lean_object*, lean_object*, lean_object*); lean_object* l_Array_shrink___rarg(lean_object*, lean_object*); lean_object* l_Lean_Parser_FirstTokens_seq_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -853,7 +854,6 @@ lean_object* l_Lean_Parser_checkWsBefore___elambda__1(lean_object*, lean_object* lean_object* l_Lean_Parser_ParserState_mkUnexpectedError(lean_object*, lean_object*); uint8_t l_UInt32_decLe(uint32_t, uint32_t); lean_object* l_Std_RBNode_find___at_Lean_Parser_indexed___spec__4___rarg(lean_object*, lean_object*); -extern lean_object* l_instOfNatNat___closed__1; lean_object* l_Lean_Parser_trailingLoop_match__1___rarg(lean_object*, lean_object*); uint8_t l_Lean_Parser_ParserState_hasError(lean_object*); lean_object* l_Lean_Parser_symbolFnAux(lean_object*, lean_object*, lean_object*, lean_object*); @@ -4500,7 +4500,7 @@ static lean_object* _init_l_Lean_Parser_instInhabitedParser___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_instOfNatNat___closed__1; +x_1 = l_Applicative_seqRight___default___rarg___closed__1; x_2 = lean_box(1); x_3 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_3, 0, x_1); diff --git a/stage0/stdlib/Lean/Parser/Command.c b/stage0/stdlib/Lean/Parser/Command.c index 9f319411c6..321d3ba3c6 100644 --- a/stage0/stdlib/Lean/Parser/Command.c +++ b/stage0/stdlib/Lean/Parser/Command.c @@ -242,6 +242,7 @@ lean_object* l_Lean_Parser_Command_declaration_formatter___closed__7; lean_object* l_Lean_Parser_Command_mutual___closed__8; lean_object* l_Lean_Parser_Command_visibility_formatter___closed__2; lean_object* l_Lean_Parser_Command_partial___elambda__1___closed__7; +lean_object* l_Lean_Parser_Command_structFields___closed__10; lean_object* l_Lean_Parser_Command_export___closed__8; lean_object* l_Lean_Parser_Command_variables_formatter___closed__3; lean_object* l_Lean_Parser_Command_printAxioms___closed__7; @@ -254,10 +255,12 @@ lean_object* l_Lean_Parser_Command_section_parenthesizer___closed__3; lean_object* l_Lean_Parser_Command_eval_parenthesizer___closed__2; lean_object* l_Lean_Parser_Command_structCtor_formatter___closed__2; lean_object* l_Lean_Parser_Command_extends___elambda__1___closed__2; +lean_object* l_Lean_Parser_Command_structure___closed__19; lean_object* l_Lean_Parser_Command_universe_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_declValSimple_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_universe___closed__7; lean_object* l_Lean_Parser_Command_printAxioms_formatter___closed__2; +lean_object* l_Lean_Parser_Command_inductive_formatter___closed__13; lean_object* l_Lean_Parser_Command_declValSimple_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_example___closed__5; lean_object* l_Lean_Parser_Command_open_parenthesizer___closed__8; @@ -280,6 +283,7 @@ lean_object* l___regBuiltinParser_Lean_Parser_Command_eval(lean_object*); lean_object* l_Lean_Parser_Command_extends___elambda__1___closed__8; lean_object* l_Lean_Parser_Command_check__failure___elambda__1___closed__3; lean_object* l_Lean_PrettyPrinter_Formatter_atomic_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Command_structure___closed__18; lean_object* l_Lean_Parser_Command_synth___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_quot___elambda__1___closed__3; lean_object* l_Lean_Parser_Command_inductive___elambda__1___closed__15; @@ -292,10 +296,12 @@ lean_object* l_Lean_Parser_Command_declaration___closed__7; lean_object* l___regBuiltinParser_Lean_Parser_Command_attribute(lean_object*); lean_object* l_Lean_Parser_Command_section___closed__5; lean_object* l_Lean_Parser_Command_openSimple___elambda__1___closed__3; +lean_object* l_Lean_Parser_Command_inductive___elambda__1___closed__18; lean_object* l_Lean_Parser_Command_ctor_parenthesizer___closed__5; extern lean_object* l_Lean_Parser_Term_attributes_parenthesizer___closed__3; lean_object* l_Lean_Parser_group_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_declaration_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Command_structFields___closed__11; extern lean_object* l_Lean_Parser_Term_letIdLhs___elambda__1___closed__2; lean_object* l_Lean_Parser_Command_extends___elambda__1___closed__1; lean_object* l_Lean_Parser_Command_end_formatter___closed__3; @@ -309,6 +315,7 @@ lean_object* l_Lean_Parser_Command_classTk___elambda__1___closed__5; lean_object* l_Lean_Parser_Command_exit___closed__1; lean_object* l_Lean_Parser_Command_ctor_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_structure_formatter___closed__17; +lean_object* l_Lean_Parser_Command_structSimpleBinder_formatter___closed__6; extern lean_object* l_Lean_Parser_Term_binderTactic_parenthesizer___closed__2; lean_object* l_Lean_Parser_Command_partial_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_declValSimple_formatter___closed__5; @@ -335,6 +342,7 @@ lean_object* l_Lean_Parser_Command_eval_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_structImplicitBinder___closed__4; lean_object* l_Lean_Parser_Command_declValSimple___elambda__1___closed__6; lean_object* l_Lean_Parser_Command_synth___closed__2; +lean_object* l_Lean_Parser_Command_structFields_formatter___closed__12; lean_object* l_Lean_Parser_Command_check___elambda__1___closed__6; lean_object* l_Lean_Parser_Command_set__option_parenthesizer___closed__4; lean_object* l_Lean_Parser_Command_openHiding_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -357,6 +365,7 @@ lean_object* l_Lean_PrettyPrinter_Formatter_orelse_formatter(lean_object*, lean_ lean_object* l_Lean_Parser_Command_in___elambda__1___closed__1; lean_object* l_Lean_Parser_Command_inductive_formatter___closed__6; lean_object* l___regBuiltin_Lean_Parser_Command_builtin__initialize_formatter___closed__1; +lean_object* l_Lean_Parser_Command_inductive___closed__14; lean_object* l_Lean_Parser_Command_printAxioms_parenthesizer___closed__2; lean_object* l_Lean_Parser_Command_open_parenthesizer___closed__2; extern lean_object* l_Lean_Parser_ident; @@ -431,6 +440,7 @@ lean_object* l_Lean_Parser_Command_declaration___elambda__1___closed__2; lean_object* l_Lean_Parser_Command_structFields___closed__4; lean_object* l_Lean_Parser_Command_set__option___elambda__1___closed__3; extern lean_object* l_Lean_Parser_antiquotNestedExpr_parenthesizer___closed__1; +lean_object* l_Lean_Parser_Command_structSimpleBinder___closed__4; lean_object* l_Lean_Parser_Command_mutual; lean_object* l_Lean_Parser_Command_structure___elambda__1___closed__7; lean_object* l_Lean_Parser_Command_constant___closed__9; @@ -491,6 +501,7 @@ lean_object* l_Lean_Parser_Command_openRenaming___closed__4; lean_object* l_Lean_Parser_Command_openRenaming___closed__9; lean_object* l_Lean_Parser_Term_quot_formatter___closed__1; lean_object* l_Lean_Parser_Command_example___elambda__1___closed__7; +extern lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1887____closed__25; lean_object* l_Lean_Parser_Command_attribute___closed__10; lean_object* l_Lean_Parser_Command_open_parenthesizer___closed__3; lean_object* l_Lean_Parser_Command_openHiding___elambda__1___closed__11; @@ -508,6 +519,7 @@ lean_object* l_Lean_Parser_Command_abbrev_formatter___closed__6; lean_object* l_Lean_Parser_Command_check_formatter___closed__3; lean_object* l_Lean_Parser_Command_declaration_parenthesizer___closed__8; lean_object* l_Lean_Parser_Command_docComment_formatter___closed__2; +lean_object* l_Lean_Parser_Command_structSimpleBinder___closed__5; lean_object* l_Lean_Parser_Command_structInstBinder_formatter___closed__6; lean_object* l_Lean_Parser_Command_in___elambda__1___closed__2; lean_object* l_Lean_Parser_Command_ctor___elambda__1___closed__3; @@ -627,6 +639,7 @@ lean_object* l_Lean_Parser_Command_print___elambda__1___closed__9; lean_object* l_Lean_Parser_Command_declId; lean_object* l_Lean_Parser_Command_openOnly___elambda__1___closed__1; lean_object* l_Lean_Parser_Command_extends_formatter___closed__4; +lean_object* l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__10; lean_object* l_Lean_Parser_Command_abbrev_formatter___closed__3; lean_object* l_Lean_Parser_Command_universes___elambda__1___closed__3; lean_object* l_Lean_Parser_Command_namespace___closed__5; @@ -647,6 +660,7 @@ lean_object* l_Lean_Parser_Command_example___elambda__1___closed__8; extern lean_object* l_instReprBool___closed__2; lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Parser_Command_print_formatter(lean_object*); +lean_object* l_Lean_Parser_Command_structSimpleBinder___closed__9; lean_object* l_Lean_Parser_Command_classTk___closed__5; lean_object* l_Lean_Parser_Command_section___elambda__1___closed__1; lean_object* l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__2; @@ -671,6 +685,7 @@ extern lean_object* l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__5; lean_object* l_Lean_Parser_Command_namespace___closed__3; lean_object* l_Lean_Parser_Command_mutual_formatter___closed__6; lean_object* l_Lean_Parser_Command_instance___closed__9; +lean_object* l_Lean_Parser_Command_structSimpleBinder___closed__8; lean_object* l_Lean_Parser_Command_openHiding___closed__3; lean_object* l_Lean_Parser_Command_declSig___elambda__1___closed__7; lean_object* l_Lean_Parser_Command_init__quot___elambda__1(lean_object*, lean_object*); @@ -685,6 +700,7 @@ lean_object* l___regBuiltin_Lean_Parser_Command_end_parenthesizer___closed__1; lean_object* l___regBuiltin_Lean_Parser_Command_variables_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_ctor_parenthesizer___closed__4; lean_object* l_Lean_Parser_Command_openSimple___elambda__1___closed__1; +lean_object* l_Lean_Parser_Command_inductive___elambda__1___closed__20; lean_object* l_Lean_Parser_Command_declaration_formatter___closed__10; lean_object* l_Lean_Parser_Command_instance_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_initialize___elambda__1(lean_object*, lean_object*); @@ -728,6 +744,7 @@ extern lean_object* l_Lean_Parser_Term_attrArg___elambda__1___closed__1; lean_object* l___regBuiltin_Lean_Parser_Command_universes_formatter(lean_object*); lean_object* l_Lean_Parser_Command_abbrev_parenthesizer___closed__6; lean_object* l_Lean_Parser_Command_openRenaming___elambda__1(lean_object*, lean_object*); +lean_object* l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__11; lean_object* l_Lean_Parser_Command_theorem___closed__6; lean_object* l_Lean_Parser_Command_example___elambda__1___closed__10; lean_object* l_Lean_Parser_Command_openHiding___closed__4; @@ -754,16 +771,20 @@ lean_object* l_Lean_Parser_Command_print___closed__7; lean_object* l_Lean_Parser_Command_universe___elambda__1___closed__3; lean_object* l_Lean_Parser_Command_variables___elambda__1___closed__8; lean_object* l_Lean_Parser_Command_declaration___elambda__1___closed__7; +extern lean_object* l_Lean_PrettyPrinter_Formatter_initFn____x40_Lean_PrettyPrinter_Formatter___hyg_2050____closed__32; +lean_object* l_Lean_Parser_Command_structure___elambda__1___closed__20; lean_object* l_Lean_Parser_Command_declVal_formatter___closed__3; lean_object* l_Lean_Parser_Command_private_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_classInductive_formatter___closed__6; lean_object* l_Lean_Parser_Command_attribute_formatter___closed__2; lean_object* l_Lean_Parser_Command_inductive___elambda__1___closed__13; lean_object* l_Lean_Parser_Command_classInductive_parenthesizer___closed__4; +lean_object* l_Lean_Parser_Command_structSimpleBinder___closed__3; lean_object* l_Lean_Parser_Command_axiom_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_print_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_open___elambda__1___closed__12; lean_object* l_Lean_Parser_Command_axiom___elambda__1___closed__11; +lean_object* l_Lean_Parser_Command_structSimpleBinder_formatter___closed__5; lean_object* l_Lean_Parser_Command_structure; lean_object* l_Lean_Parser_Command_declModifiers___closed__6; lean_object* l_Lean_Parser_Command_constant_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -781,6 +802,9 @@ extern lean_object* l_Lean_Parser_Term_matchAltsWhereDecls___closed__6; lean_object* l_Lean_Parser_Command_private_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_classInductive___elambda__1___closed__2; lean_object* l_Lean_Parser_Command_print_formatter___closed__1; +lean_object* l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__3; +lean_object* l_Lean_Parser_Command_structSimpleBinder___closed__6; +lean_object* l_Lean_Parser_Command_structFields_formatter___closed__10; lean_object* l_Lean_Parser_Command_structCtor_parenthesizer___closed__4; lean_object* l_Lean_Parser_Term_quot___elambda__1___closed__6; lean_object* l_Lean_Parser_Command_openRenamingItem___closed__7; @@ -803,6 +827,8 @@ lean_object* l_Lean_Parser_Command_set__option___elambda__1___closed__8; lean_object* l_Lean_Parser_Command_declValSimple___elambda__1___closed__1; lean_object* l_Lean_Parser_Command_axiom_parenthesizer___closed__2; lean_object* l_Lean_Parser_Command_mutual___elambda__1___closed__12; +lean_object* l_Lean_Parser_Command_structure_formatter___closed__21; +lean_object* l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__5; lean_object* l_Lean_Parser_Command_inferMod_parenthesizer___closed__2; lean_object* l_Lean_Parser_Command_structInstBinder_formatter___closed__2; lean_object* l_Lean_Parser_Command_structImplicitBinder_parenthesizer___closed__4; @@ -823,6 +849,7 @@ extern lean_object* l_Lean_PrettyPrinter_parenthesizerAttribute; lean_object* l_Lean_Parser_Command_declaration_formatter___closed__23; lean_object* l_Lean_Parser_Command_noncomputable___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_resolve__name___elambda__1___closed__4; +lean_object* l_Lean_Parser_Command_structSimpleBinder_formatter___closed__3; lean_object* l_Lean_Parser_Command_unsafe_formatter___closed__2; lean_object* l_Lean_Parser_Command_inferMod___closed__5; lean_object* l_Lean_Parser_Command_variables___closed__5; @@ -863,6 +890,7 @@ lean_object* l_Lean_Parser_Command_inferMod_formatter(lean_object*, lean_object* lean_object* l_Lean_Parser_Command_builtin__initialize_formatter___closed__3; lean_object* l_Lean_Parser_Command_inferMod_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_declaration___elambda__1(lean_object*, lean_object*); +lean_object* l_Lean_Parser_Command_structFields_formatter___closed__11; lean_object* l___regBuiltinParser_Lean_Parser_Command_check(lean_object*); lean_object* l_Lean_Parser_Command_attribute___closed__14; lean_object* l_Lean_Parser_Command_check__failure_formatter___closed__4; @@ -887,6 +915,7 @@ lean_object* l_Lean_Parser_Command_structInstBinder; lean_object* l_Lean_Parser_Command_attribute_parenthesizer___closed__3; lean_object* l_Lean_Parser_Command_structure_parenthesizer___closed__3; lean_object* l_Lean_Parser_Command_export_parenthesizer___closed__1; +lean_object* l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__2; lean_object* l_Lean_Parser_Command_declValEqns_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_quot___elambda__1___closed__2; lean_object* l_Lean_Parser_Command_attribute; @@ -900,6 +929,7 @@ lean_object* l_Lean_Parser_Command_attribute_formatter___closed__8; lean_object* l_Lean_Parser_Command_partial___elambda__1___closed__6; lean_object* l_Lean_Parser_Command_declaration_parenthesizer___closed__4; lean_object* l_Lean_Parser_Command_structure_formatter___closed__1; +lean_object* l_Lean_Parser_Command_structFields___elambda__1___closed__13; lean_object* l_Lean_Parser_Command_declaration_formatter___closed__6; lean_object* l_Lean_Parser_Command_set__option___elambda__1___closed__9; lean_object* l_Lean_Parser_Command_in___elambda__1(lean_object*, lean_object*); @@ -946,6 +976,7 @@ lean_object* l_Lean_Parser_Command_inductive___elambda__1___closed__6; lean_object* l_Lean_Parser_Command_classInductive___elambda__1___closed__10; lean_object* l_Lean_Parser_Command_universes___closed__1; lean_object* l_Lean_Parser_Command_unsafe_parenthesizer___closed__1; +lean_object* l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__12; lean_object* l_Lean_Parser_Command_docComment___elambda__1___closed__6; lean_object* l_Lean_Parser_Command_openRenaming_parenthesizer___closed__4; @@ -964,11 +995,13 @@ extern lean_object* l_Lean_Parser_antiquotNestedExpr___closed__2; lean_object* l_Lean_Parser_Command_export___closed__9; lean_object* l_Lean_Parser_noFirstTokenInfo(lean_object*); lean_object* l_Lean_Parser_Command_check__failure___elambda__1(lean_object*, lean_object*); +lean_object* l_Lean_Parser_Command_inductive___elambda__1___closed__21; lean_object* l_Lean_Parser_Command_printAxioms_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_axiom_formatter___closed__4; lean_object* l___regBuiltin_Lean_Parser_Command_printAxioms_formatter(lean_object*); lean_object* l_Lean_Parser_Command_init__quot_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_commentBody_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Command_structSimpleBinder_formatter___closed__7; lean_object* l_Lean_Parser_Command_set__option___elambda__1___closed__2; lean_object* l_Lean_Parser_Command_declId_parenthesizer___closed__6; lean_object* l_Lean_Parser_nonReservedSymbolInfo(lean_object*, uint8_t); @@ -997,6 +1030,7 @@ lean_object* l_Lean_Parser_Command_axiom_formatter___closed__5; lean_object* l_Lean_Parser_Command_declModifiers___elambda__1___closed__8; lean_object* l_Lean_Parser_Command_printAxioms_formatter___closed__3; lean_object* l_Lean_Parser_Command_theorem_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_manyIndent_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_export___closed__4; lean_object* l_Lean_Parser_Term_quot___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_abbrev___elambda__1___closed__8; @@ -1037,6 +1071,7 @@ lean_object* l_Lean_Parser_Command_inferMod___elambda__1___closed__2; lean_object* l_Lean_Parser_Command_axiom_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_axiom___closed__7; lean_object* l_Lean_Parser_Command_eval___elambda__1___closed__2; +lean_object* l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__7; lean_object* l_Lean_Parser_Command_inductive_formatter___closed__2; lean_object* l_Lean_Parser_Command_optDeclSig___elambda__1___closed__3; lean_object* l_Lean_Parser_Command_check__failure___closed__4; @@ -1057,6 +1092,7 @@ extern lean_object* l_Lean_Parser_Term_doSeq; lean_object* l_Lean_Parser_Command_theorem___elambda__1___closed__12; lean_object* l_Lean_Parser_Command_initialize_formatter___closed__6; lean_object* l_Lean_Parser_Term_quot___elambda__1___closed__8; +lean_object* l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__4; lean_object* l_Lean_Parser_Command_def___elambda__1___closed__1; lean_object* l_Lean_Parser_Command_example_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_sepBy1_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1074,6 +1110,7 @@ lean_object* l_Lean_Parser_Command_variables___closed__4; extern lean_object* l_Lean_Parser_Term_structInstArrayRef___closed__1; lean_object* l_Lean_Parser_Command_protected___elambda__1___closed__5; lean_object* l_Lean_Parser_Command_set__option___elambda__1___closed__15; +lean_object* l_Lean_Parser_Command_structSimpleBinder_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_classInductive_parenthesizer___closed__5; lean_object* l_Lean_Parser_Command_section_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_inductive_formatter___closed__1; @@ -1119,6 +1156,7 @@ extern lean_object* l_Lean_Parser_Term_matchAltsWhereDecls_formatter___closed__6 lean_object* l_Lean_Parser_Command_check_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_end___closed__3; lean_object* l_Lean_Parser_Command_structImplicitBinder___elambda__1___closed__10; +lean_object* l_Lean_Parser_Command_structFields___elambda__1___closed__11; lean_object* l_Lean_Parser_Command_resolve__name_formatter___closed__3; lean_object* l_Lean_Parser_Command_printAxioms_formatter___closed__5; lean_object* l_Lean_Parser_Command_extends___elambda__1___closed__5; @@ -1215,12 +1253,14 @@ lean_object* l_Lean_Parser_Command_partial___closed__3; lean_object* l_Lean_Parser_Command_declaration_parenthesizer___closed__18; lean_object* l_Lean_Parser_Command_structExplicitBinder___closed__2; lean_object* l_Lean_Parser_Command_set__option_parenthesizer___closed__6; +lean_object* l_Lean_Parser_manyIndent___lambda__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_openRenaming___elambda__1___closed__1; lean_object* l_Lean_Parser_Command_eval; lean_object* l_Lean_Parser_Command_end_parenthesizer___closed__2; lean_object* l_Lean_Parser_Command_visibility___closed__3; lean_object* l_Lean_Parser_Command_declaration_parenthesizer___closed__22; lean_object* l_Lean_Parser_Command_structFields_parenthesizer___closed__8; +lean_object* l_Lean_Parser_Command_structSimpleBinder_formatter___closed__1; lean_object* l_Lean_Parser_Command_open_formatter___closed__10; lean_object* l_Lean_Parser_Command_unsafe___closed__1; lean_object* l_Lean_Parser_Command_namespace___elambda__1___closed__4; @@ -1230,6 +1270,7 @@ lean_object* l_Lean_Parser_Command_classTk___closed__2; lean_object* l_Lean_Parser_Command_declValEqns_formatter___closed__2; lean_object* l_Lean_Parser_Command_noncomputable_parenthesizer___closed__2; lean_object* l_Lean_Parser_Command_initialize___elambda__1___closed__14; +lean_object* l_Lean_Parser_Command_structSimpleBinder_formatter___closed__2; lean_object* l_Lean_Parser_Command_declaration___elambda__1___closed__11; lean_object* l_Lean_Parser_Command_optDeclSig_formatter___closed__2; lean_object* l_Lean_Parser_Command_init__quot_formatter___closed__3; @@ -1242,6 +1283,7 @@ lean_object* l_Lean_Parser_Command_initialize___closed__5; lean_object* l_Lean_Parser_Command_open___elambda__1___closed__7; lean_object* l_Lean_Parser_Command_universe___elambda__1___closed__6; lean_object* l_Lean_Parser_Command_noncomputable___closed__6; +lean_object* l_Lean_Parser_Command_inductive___closed__15; lean_object* l_Lean_Parser_Command_namespace___elambda__1___closed__1; lean_object* l_Lean_Parser_Command_declaration___closed__11; lean_object* l_Lean_PrettyPrinter_Formatter_many1Unbox_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1371,6 +1413,7 @@ lean_object* l_Lean_Parser_Command_instance___elambda__1___closed__4; lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__6; lean_object* l_Lean_Parser_Command_section___elambda__1___closed__6; lean_object* l_Lean_Parser_Command_declModifiers_formatter(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__1; extern lean_object* l_Lean_Parser_Tactic_myMacro____x40_Init_Notation___hyg_11379____closed__5; lean_object* l_Lean_Parser_Command_axiom___elambda__1___closed__9; lean_object* l___regBuiltin_Lean_Parser_Command_namespace_formatter___closed__1; @@ -1386,6 +1429,7 @@ lean_object* l_Lean_Parser_Command_export___elambda__1___closed__11; lean_object* l_Lean_Parser_Command_eval___closed__3; lean_object* l___regBuiltin_Lean_Parser_Command_variable_parenthesizer(lean_object*); lean_object* l_Lean_Parser_Command_partial___elambda__1___closed__8; +lean_object* l_Lean_Parser_Command_structSimpleBinder_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Parser_Command_namespace_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_structure_parenthesizer___closed__12; lean_object* l_Lean_Parser_Command_noncomputable___elambda__1___closed__7; @@ -1421,8 +1465,10 @@ lean_object* l___regBuiltin_Lean_Parser_Command_initialize_formatter___closed__1 lean_object* l_Lean_Parser_Command_declaration___elambda__1___closed__6; lean_object* l_Lean_Parser_Term_quot___closed__10; extern lean_object* l_Lean_Parser_Term_structInstArrayRef_formatter___closed__3; +lean_object* l_Lean_Parser_Command_inductive_parenthesizer___closed__9; lean_object* l_Lean_Parser_Command_noncomputable_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_declSig___elambda__1(lean_object*, lean_object*); +lean_object* l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__2; lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__8; lean_object* l_Lean_Parser_Command_structFields___elambda__1___closed__9; lean_object* l___regBuiltin_Lean_Parser_Command_declaration_formatter___closed__1; @@ -1463,6 +1509,7 @@ lean_object* l_Lean_Parser_Command_theorem_formatter(lean_object*, lean_object*, lean_object* l_Lean_Parser_Command_attribute_formatter___closed__5; lean_object* l_Lean_Parser_Command_exit_formatter___closed__2; lean_object* l_Lean_Parser_Command_structExplicitBinder_parenthesizer___closed__7; +lean_object* l_Lean_Parser_Command_structSimpleBinder___closed__7; lean_object* l_Lean_Parser_Command_extends___elambda__1___closed__9; lean_object* l_Lean_Parser_Command_declSig_formatter___closed__1; lean_object* l_Lean_Parser_Command_protected___closed__3; @@ -1519,6 +1566,7 @@ lean_object* l_Lean_Parser_Term_quot_parenthesizer___closed__3; lean_object* l_Lean_Parser_Command_synth___elambda__1___closed__9; lean_object* l_Lean_Parser_Command_declaration___elambda__1___closed__13; lean_object* l_Lean_Parser_Command_initialize_formatter___closed__5; +lean_object* l_Lean_Parser_Command_inductive___elambda__1___closed__19; extern lean_object* l_myMacro____x40_Init_Notation___hyg_38____closed__6; lean_object* l___regBuiltin_Lean_Parser_Command_universe_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__19; @@ -1538,6 +1586,7 @@ lean_object* l_Lean_Parser_Command_abbrev___closed__4; lean_object* l___regBuiltin_Lean_Parser_Command_print_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_declId_parenthesizer___closed__3; extern lean_object* l_Lean_Parser_Term_explicitUniv___elambda__1___closed__4; +lean_object* l_Lean_Parser_Command_structure___elambda__1___closed__19; lean_object* l_Lean_Parser_Command_structImplicitBinder_formatter___closed__2; lean_object* l_Lean_Parser_Command_check___elambda__1___closed__4; lean_object* l_Lean_Parser_Command_structInstBinder___closed__1; @@ -1554,6 +1603,7 @@ lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__9; lean_object* l_Lean_Parser_Command_variables_parenthesizer___closed__3; lean_object* l_Lean_Parser_Command_classInductive___closed__8; lean_object* l_Lean_Parser_Command_structCtor___closed__7; +extern lean_object* l_Lean_Parser_Term_cdot_parenthesizer___closed__2; lean_object* l_Lean_Parser_Command_openOnly___elambda__1___closed__6; lean_object* l_Lean_Parser_Command_check_parenthesizer___closed__2; lean_object* l_Lean_PrettyPrinter_Formatter_many1_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1587,6 +1637,7 @@ lean_object* l_Lean_Parser_Command_private; lean_object* l_Lean_Parser_Command_check___closed__6; lean_object* l_Lean_Parser_Command_openRenamingItem___elambda__1___closed__7; lean_object* l_Lean_Parser_Command_declVal_parenthesizer___closed__3; +lean_object* l_Lean_Parser_Command_structSimpleBinder; lean_object* l_Lean_Parser_Command_extends___closed__4; lean_object* l_Lean_Parser_Term_quot_formatter___closed__3; lean_object* l_Lean_Parser_Command_noncomputable___elambda__1___closed__5; @@ -1635,6 +1686,7 @@ lean_object* l_Lean_Parser_commandParser_formatter___rarg(lean_object*, lean_obj extern lean_object* l_Lean_Parser_Term_str_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_partial___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_synth___closed__1; +lean_object* l_Lean_Parser_Command_structFields_parenthesizer___closed__12; extern lean_object* l_Lean_Parser_Term_attrArg_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_openOnly___elambda__1___closed__4; lean_object* l_Lean_Parser_Command_structure_parenthesizer___closed__2; @@ -1660,6 +1712,7 @@ lean_object* l_Lean_Parser_Command_inferMod_parenthesizer(lean_object*, lean_obj lean_object* l_Lean_Parser_Command_declaration_formatter___closed__8; lean_object* l_Lean_Parser_Command_inductive___closed__11; lean_object* l___regBuiltin_Lean_Parser_Command_end_formatter(lean_object*); +lean_object* l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__4; extern lean_object* l_Lean_Parser_Term_leftArrow; lean_object* l_Lean_Parser_Command_noncomputable___closed__1; lean_object* l_Lean_Parser_Command_openRenamingItem___closed__5; @@ -1709,6 +1762,7 @@ lean_object* l_Lean_Parser_Command_open_formatter___closed__6; lean_object* l_Lean_Parser_Command_inductive_parenthesizer___closed__7; lean_object* l_Lean_Parser_Command_extends_formatter___closed__3; lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__11; +lean_object* l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__6; lean_object* l_Lean_Parser_Command_structImplicitBinder; lean_object* l_Lean_Parser_Command_openRenaming_formatter___closed__5; lean_object* l_Lean_Parser_Command_declModifiers___elambda__1___closed__18; @@ -1736,6 +1790,7 @@ lean_object* l_Lean_Parser_Command_end___elambda__1___closed__1; lean_object* l_Lean_Parser_Command_namespace_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_noncomputable___elambda__1___closed__2; lean_object* l_Lean_Parser_Command_structFields___closed__2; +lean_object* l_Lean_Parser_Command_structFields_parenthesizer___closed__11; lean_object* l_Lean_Parser_Command_theorem_parenthesizer___closed__4; lean_object* l_Lean_Parser_Command_docComment_formatter___closed__3; lean_object* l_Lean_Parser_Command_declaration_parenthesizer___closed__16; @@ -1872,6 +1927,7 @@ lean_object* l_Lean_Parser_Command_classInductive_formatter___closed__2; lean_object* l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__10; lean_object* l_Lean_Parser_Command_docComment; lean_object* l_Lean_Parser_Command_structExplicitBinder_formatter___closed__5; +lean_object* l_Lean_Parser_Command_inductive_formatter___closed__12; lean_object* l_Lean_Parser_orelseFnCore(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_structInstBinder_formatter___closed__3; lean_object* l_Lean_Parser_Command_structCtor___elambda__1___closed__7; @@ -1938,6 +1994,7 @@ lean_object* l_Lean_Parser_Command_printAxioms___elambda__1___closed__9; lean_object* l_Lean_Parser_Term_quot_parenthesizer___closed__6; lean_object* l_Lean_Parser_Command_open_parenthesizer___closed__4; lean_object* l_Lean_Parser_Command_universes_formatter___closed__4; +lean_object* l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__6; extern lean_object* l_Lean_Parser_Term_depArrow_parenthesizer___closed__3; lean_object* l___regBuiltin_Lean_Parser_Command_declaration_formatter(lean_object*); lean_object* l_Lean_Parser_Command_end___elambda__1___closed__7; @@ -1962,6 +2019,7 @@ lean_object* l_Lean_Parser_Command_synth___closed__5; lean_object* l___regBuiltin_Lean_Parser_Command_set__option_formatter___closed__1; lean_object* l_Lean_Parser_Term_quot___closed__1; lean_object* l_Lean_Parser_Command_namespace_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2397____closed__32; lean_object* l_Lean_Parser_Command_axiom___closed__8; lean_object* l_Lean_Parser_Command_noncomputable_formatter___closed__3; lean_object* l_Lean_Parser_Command_openOnly___closed__2; @@ -1991,6 +2049,7 @@ lean_object* l_Lean_Parser_Command_partial___closed__2; lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__7; lean_object* l_Lean_Parser_Command_variables_formatter___closed__2; lean_object* l_Lean_Parser_Command_attribute___elambda__1___closed__2; +lean_object* l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__3; lean_object* l_Lean_Parser_Command_resolve__name_formatter___closed__1; lean_object* l_Lean_Parser_Command_openHiding___closed__1; extern lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__3; @@ -2016,6 +2075,7 @@ lean_object* l_Lean_Parser_Command_export_parenthesizer___closed__6; lean_object* l_Lean_Parser_Command_constant___elambda__1___closed__4; lean_object* l_Lean_Parser_Command_optDeclSig_parenthesizer___closed__2; lean_object* l_Lean_Parser_Command_declaration_parenthesizer___closed__3; +lean_object* l_Lean_Parser_Command_structSimpleBinder___elambda__1(lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_universes___elambda__1___closed__2; lean_object* l_Lean_Parser_Command_structImplicitBinder_formatter___closed__5; lean_object* l_Lean_Parser_Command_instance___elambda__1___closed__12; @@ -2033,6 +2093,7 @@ lean_object* l_Lean_Parser_Command_print___closed__4; lean_object* l_Lean_Parser_Command_declaration___closed__8; extern lean_object* l_Lean_Parser_Term_matchAlt___closed__2; lean_object* l_Lean_Parser_Command_structInstBinder___elambda__1___closed__7; +lean_object* l_Lean_Parser_Command_structFields___elambda__1___closed__12; lean_object* l_Lean_Parser_Command_optDeclSig___elambda__1___closed__4; lean_object* l_Lean_Parser_Command_openSimple_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_abbrev_formatter___closed__2; @@ -2076,6 +2137,7 @@ lean_object* l_Lean_Parser_Command_builtin__initialize_formatter(lean_object*, l lean_object* l_Lean_Parser_Command_structExplicitBinder_formatter___closed__8; lean_object* l_Lean_Parser_Command_builtin__initialize___closed__7; lean_object* l_Lean_Parser_Command_variable_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__5; lean_object* l_Lean_Parser_Command_declVal_formatter___closed__1; lean_object* l_Lean_Parser_Command_structure___closed__13; lean_object* l_Lean_Parser_Command_check___closed__2; @@ -2085,6 +2147,7 @@ lean_object* l_Lean_Parser_Command_declSig___closed__5; lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__23; lean_object* l_Lean_Parser_Command_def_formatter___closed__2; lean_object* l_Lean_Parser_Command_structCtor___elambda__1___closed__4; +lean_object* l_Lean_Parser_Command_structFields_parenthesizer___closed__10; lean_object* l_Lean_Parser_Command_structureTk___closed__5; extern lean_object* l_Lean_Parser_Term_leftArrow___closed__2; lean_object* l_Lean_Parser_Command_universes___elambda__1___closed__9; @@ -2118,6 +2181,7 @@ lean_object* l_Lean_Parser_Command_structure___elambda__1___closed__13; lean_object* l_Lean_Parser_Command_classInductive___elambda__1___closed__4; lean_object* l_Lean_Parser_Command_inductive_formatter___closed__3; lean_object* l_Lean_Parser_Command_structInstBinder_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Command_structSimpleBinder___closed__1; lean_object* l_Lean_Parser_Command_declValSimple___elambda__1___closed__3; lean_object* l_Lean_Parser_Command_abbrev___elambda__1___closed__10; lean_object* l_Lean_Parser_Command_set__option___closed__2; @@ -2256,12 +2320,14 @@ lean_object* l_Lean_Parser_Term_quot_parenthesizer___closed__2; lean_object* l_Lean_Parser_Command_namespace_formatter___closed__1; lean_object* l_Lean_Parser_Command_mutual___elambda__1___closed__5; lean_object* l_Lean_Parser_Command_openHiding_formatter___closed__1; +lean_object* l_Lean_Parser_Command_structure_formatter___closed__20; lean_object* l_Lean_Parser_Command_declaration___closed__15; lean_object* l_Lean_Parser_Command_private_parenthesizer___closed__2; lean_object* l_Lean_Parser_Command_declValSimple___closed__3; lean_object* l_Lean_Parser_Command_axiom___elambda__1___closed__3; lean_object* l_Lean_Parser_Command_openHiding___closed__6; lean_object* l_Lean_Parser_Command_ctor_formatter___closed__7; +lean_object* l_Lean_Parser_Command_structFields___closed__12; lean_object* l_Lean_Parser_Command_declId_parenthesizer___closed__2; lean_object* l_Lean_Parser_Command_namespace___elambda__1___closed__10; lean_object* l_Lean_Parser_Command_structureTk___closed__6; @@ -2360,6 +2426,7 @@ lean_object* l_Lean_Parser_Command_declId___elambda__1___closed__1; lean_object* l_Lean_Parser_Command_instance_parenthesizer___closed__4; lean_object* l_Lean_Parser_symbolFnAux(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__1; +lean_object* l_Lean_Parser_Command_structSimpleBinder_formatter___closed__4; lean_object* l_Lean_Parser_Command_declaration_formatter___closed__12; extern lean_object* l_Lean_Parser_Term_liftMethod_parenthesizer___closed__2; lean_object* l_Lean_Parser_Command_declValEqns___elambda__1___closed__6; @@ -2374,6 +2441,7 @@ lean_object* l_Lean_Parser_Command_builtin__initialize_parenthesizer___closed__1 lean_object* l_Lean_Parser_Command_instance___closed__3; lean_object* l___regBuiltin_Lean_Parser_Command_mutual_formatter___closed__1; lean_object* l_Lean_Parser_Command_docComment___closed__6; +lean_object* l_Lean_Parser_Command_structSimpleBinder___closed__2; lean_object* l_Lean_Parser_Command_private_formatter___closed__2; lean_object* l_Lean_Parser_Command_structFields___elambda__1___closed__5; lean_object* l_Lean_Parser_Command_instance___closed__5; @@ -2416,6 +2484,7 @@ lean_object* l_Lean_Parser_Command_mutual___closed__5; lean_object* l_Lean_Parser_Command_declSig_formatter___closed__3; lean_object* l_Lean_Parser_Command_declVal_formatter___closed__2; lean_object* l_Lean_Parser_Command_open_formatter___closed__11; +extern lean_object* l_Lean_Parser_many1Indent___closed__1; lean_object* l_Lean_Parser_Command_inferMod___elambda__1___closed__7; lean_object* l_Lean_Parser_Command_instance___closed__7; lean_object* l_Lean_Parser_Command_namespace_formatter___closed__4; @@ -2428,6 +2497,7 @@ lean_object* l_Lean_Parser_Command_namespace___elambda__1___closed__7; lean_object* l_Lean_Parser_Term_quot___elambda__1___closed__15; lean_object* l_Lean_Parser_withResultOfInfo(lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_many_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Parser_Command_structure___elambda__1___closed__22; lean_object* l_Lean_Parser_Command_declSig; lean_object* l_Lean_Parser_Command_declaration_parenthesizer___closed__11; lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__17; @@ -2447,6 +2517,7 @@ lean_object* l_Lean_Parser_Command_print; lean_object* l_Lean_Parser_Command_abbrev_formatter___closed__1; lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__8; extern lean_object* l_Lean_Parser_Level_paren___elambda__1___closed__4; +lean_object* l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__9; lean_object* l_Lean_Parser_Command_variables_parenthesizer___closed__4; lean_object* l_Lean_Parser_Command_structExplicitBinder_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_universe; @@ -2571,12 +2642,15 @@ lean_object* l_Lean_Parser_Command_init__quot___elambda__1___closed__4; lean_object* l_Lean_ppDedent_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__15; lean_object* l_Lean_Parser_Command_attribute___elambda__1___closed__5; +lean_object* l_Lean_Parser_manyIndent_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_docComment___elambda__1___closed__10; lean_object* l_Lean_Parser_Term_quot___elambda__1___closed__5; lean_object* l_Lean_Parser_Command_protected___elambda__1___closed__6; lean_object* l_Lean_Parser_Command_set__option; lean_object* l_Lean_Parser_Command_variable___elambda__1___closed__7; +lean_object* l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__8; lean_object* l_Lean_Parser_Command_section___closed__6; +lean_object* l_Lean_Parser_Command_structure___elambda__1___closed__21; lean_object* l_Lean_Parser_Command_variables___elambda__1___closed__1; lean_object* l_Lean_Parser_Command_declModifiers___closed__4; lean_object* l_Lean_Parser_Command_structure_formatter___closed__3; @@ -2590,6 +2664,7 @@ lean_object* l_Lean_Parser_Command_check_parenthesizer___closed__1; lean_object* l_Lean_Parser_Command_declaration___elambda__1___closed__5; lean_object* l_Lean_Parser_Command_declId___elambda__1___closed__2; lean_object* l_Lean_Parser_Command_partial_formatter___closed__2; +lean_object* l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__7; lean_object* l_Lean_Parser_andthenFn(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__3; lean_object* l_Lean_Parser_Command_constant; @@ -7986,14 +8061,53 @@ return x_2; static lean_object* _init_l_Lean_Parser_Command_inductive___elambda__1___closed__10() { _start: { +lean_object* x_1; +x_1 = lean_mk_string("where"); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Command_inductive___elambda__1___closed__11() { +_start: +{ lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Command_inductive___elambda__1___closed__10; +x_2 = l_String_trim(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Command_inductive___elambda__1___closed__12() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Command_inductive___elambda__1___closed__11; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Command_inductive___elambda__1___closed__13() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Command_inductive___elambda__1___closed__9; +x_2 = l_Lean_Parser_Command_inductive___elambda__1___closed__12; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 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_Parser_Command_inductive___elambda__1___closed__14() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Command_inductive___elambda__1___closed__13; x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_inductive___elambda__1___closed__11() { +static lean_object* _init_l_Lean_Parser_Command_inductive___elambda__1___closed__15() { _start: { lean_object* x_1; lean_object* x_2; @@ -8003,61 +8117,13 @@ lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_inductive___elambda__1___closed__12() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_inductive___elambda__1___closed__10; -x_2 = l_Lean_Parser_Command_inductive___elambda__1___closed__11; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 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_Parser_Command_inductive___elambda__1___closed__13() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_optDeclSig___closed__4; -x_2 = l_Lean_Parser_Command_inductive___elambda__1___closed__12; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 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_Parser_Command_inductive___elambda__1___closed__14() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_declId___closed__9; -x_2 = l_Lean_Parser_Command_inductive___elambda__1___closed__13; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 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_Parser_Command_inductive___elambda__1___closed__15() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_inductive___elambda__1___closed__7; -x_2 = l_Lean_Parser_Command_inductive___elambda__1___closed__14; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 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_Parser_Command_inductive___elambda__1___closed__16() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_inductive___elambda__1___closed__2; +x_1 = l_Lean_Parser_Command_inductive___elambda__1___closed__14; x_2 = l_Lean_Parser_Command_inductive___elambda__1___closed__15; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2); +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; @@ -8067,7 +8133,7 @@ static lean_object* _init_l_Lean_Parser_Command_inductive___elambda__1___closed_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8; +x_1 = l_Lean_Parser_Command_optDeclSig___closed__4; x_2 = l_Lean_Parser_Command_inductive___elambda__1___closed__16; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -8075,6 +8141,54 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } +static lean_object* _init_l_Lean_Parser_Command_inductive___elambda__1___closed__18() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_declId___closed__9; +x_2 = l_Lean_Parser_Command_inductive___elambda__1___closed__17; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 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_Parser_Command_inductive___elambda__1___closed__19() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_inductive___elambda__1___closed__7; +x_2 = l_Lean_Parser_Command_inductive___elambda__1___closed__18; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 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_Parser_Command_inductive___elambda__1___closed__20() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_inductive___elambda__1___closed__2; +x_2 = l_Lean_Parser_Command_inductive___elambda__1___closed__19; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 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_Parser_Command_inductive___elambda__1___closed__21() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8; +x_2 = l_Lean_Parser_Command_inductive___elambda__1___closed__20; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} lean_object* l_Lean_Parser_Command_inductive___elambda__1(lean_object* x_1, lean_object* x_2) { _start: { @@ -8082,7 +8196,7 @@ lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_3 = l_Lean_Parser_Command_inductive___elambda__1___closed__4; x_4 = lean_ctor_get(x_3, 1); lean_inc(x_4); -x_5 = l_Lean_Parser_Command_inductive___elambda__1___closed__17; +x_5 = l_Lean_Parser_Command_inductive___elambda__1___closed__21; x_6 = 1; x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2); return x_7; @@ -8110,8 +8224,8 @@ static lean_object* _init_l_Lean_Parser_Command_inductive___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_inductive___closed__2; -x_2 = l_Lean_Parser_optionaInfo(x_1); +x_1 = l_Lean_Parser_Command_inductive___elambda__1___closed__11; +x_2 = l_Lean_Parser_symbolInfo(x_1); return x_2; } } @@ -8119,6 +8233,25 @@ static lean_object* _init_l_Lean_Parser_Command_inductive___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_inductive___closed__2; +x_2 = l_Lean_Parser_Command_inductive___closed__3; +x_3 = l_Lean_Parser_orelseInfo(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Command_inductive___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Command_inductive___closed__4; +x_2 = l_Lean_Parser_optionaInfo(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Command_inductive___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Command_ctor; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); @@ -8126,65 +8259,45 @@ x_3 = l_Lean_Parser_noFirstTokenInfo(x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Command_inductive___closed__5() { +static lean_object* _init_l_Lean_Parser_Command_inductive___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_inductive___closed__3; -x_2 = l_Lean_Parser_Command_inductive___closed__4; +x_1 = l_Lean_Parser_Command_inductive___closed__5; +x_2 = l_Lean_Parser_Command_inductive___closed__6; x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Command_inductive___closed__6() { +static lean_object* _init_l_Lean_Parser_Command_inductive___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Command_optDeclSig; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); -x_3 = l_Lean_Parser_Command_inductive___closed__5; +x_3 = l_Lean_Parser_Command_inductive___closed__7; x_4 = l_Lean_Parser_andthenInfo(x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Command_inductive___closed__7() { +static lean_object* _init_l_Lean_Parser_Command_inductive___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Command_declId; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); -x_3 = l_Lean_Parser_Command_inductive___closed__6; +x_3 = l_Lean_Parser_Command_inductive___closed__8; x_4 = l_Lean_Parser_andthenInfo(x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Command_inductive___closed__8() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_inductive___closed__1; -x_2 = l_Lean_Parser_Command_inductive___closed__7; -x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Command_inductive___closed__9() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_inductive___elambda__1___closed__2; -x_2 = l_Lean_Parser_Command_inductive___closed__8; -x_3 = l_Lean_Parser_nodeInfo(x_1, x_2); -return x_3; -} -} static lean_object* _init_l_Lean_Parser_Command_inductive___closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_epsilonInfo; +x_1 = l_Lean_Parser_Command_inductive___closed__1; x_2 = l_Lean_Parser_Command_inductive___closed__9; x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); return x_3; @@ -8193,16 +8306,36 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_inductive___closed__11() { _start: { +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_inductive___elambda__1___closed__2; +x_2 = l_Lean_Parser_Command_inductive___closed__10; +x_3 = l_Lean_Parser_nodeInfo(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Command_inductive___closed__12() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_epsilonInfo; +x_2 = l_Lean_Parser_Command_inductive___closed__11; +x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Command_inductive___closed__13() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Command_inductive___elambda__1___closed__4; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); -x_3 = l_Lean_Parser_Command_inductive___closed__10; +x_3 = l_Lean_Parser_Command_inductive___closed__12; x_4 = l_Lean_Parser_orelseInfo(x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Command_inductive___closed__12() { +static lean_object* _init_l_Lean_Parser_Command_inductive___closed__14() { _start: { lean_object* x_1; @@ -8210,12 +8343,12 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_inductive___elambda__1), return x_1; } } -static lean_object* _init_l_Lean_Parser_Command_inductive___closed__13() { +static lean_object* _init_l_Lean_Parser_Command_inductive___closed__15() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_inductive___closed__11; -x_2 = l_Lean_Parser_Command_inductive___closed__12; +x_1 = l_Lean_Parser_Command_inductive___closed__13; +x_2 = l_Lean_Parser_Command_inductive___closed__14; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); @@ -8226,7 +8359,7 @@ static lean_object* _init_l_Lean_Parser_Command_inductive() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Command_inductive___closed__13; +x_1 = l_Lean_Parser_Command_inductive___closed__15; return x_1; } } @@ -8335,7 +8468,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Command_classInductive___elambda__1___closed__10; -x_2 = l_Lean_Parser_Command_inductive___elambda__1___closed__14; +x_2 = l_Lean_Parser_Command_inductive___elambda__1___closed__18; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -8413,7 +8546,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Command_classInductive___closed__3; -x_2 = l_Lean_Parser_Command_inductive___closed__7; +x_2 = l_Lean_Parser_Command_inductive___closed__9; x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); return x_3; } @@ -9323,6 +9456,248 @@ x_1 = l_Lean_Parser_Command_structInstBinder___closed__10; return x_1; } } +static lean_object* _init_l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("structSimpleBinder"); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_docComment___elambda__1___closed__2; +x_2 = l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__1; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__2; +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_Parser_Command_structSimpleBinder___elambda__1___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__1; +x_2 = l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__3; +x_3 = 1; +x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__8; +x_2 = lean_ctor_get(x_1, 1); +lean_inc(x_2); +x_3 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__7; +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); +lean_closure_set(x_4, 0, x_2); +lean_closure_set(x_4, 1, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__5; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_atomicFn), 3, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_optDeclSig___closed__4; +x_2 = l_Lean_Parser_Command_structExplicitBinder___elambda__1___closed__8; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 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_Parser_Command_structSimpleBinder___elambda__1___closed__8() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_ctor___elambda__1___closed__9; +x_2 = l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__7; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 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_Parser_Command_structSimpleBinder___elambda__1___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__6; +x_2 = l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__8; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 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_Parser_Command_structSimpleBinder___elambda__1___closed__10() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__2; +x_2 = l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__9; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 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_Parser_Command_structSimpleBinder___elambda__1___closed__11() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8; +x_2 = l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__10; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +lean_object* l_Lean_Parser_Command_structSimpleBinder___elambda__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7; +x_3 = l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__4; +x_4 = lean_ctor_get(x_3, 1); +lean_inc(x_4); +x_5 = l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__11; +x_6 = 1; +x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2); +return x_7; +} +} +static lean_object* _init_l_Lean_Parser_Command_structSimpleBinder___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_Parser_ident; +x_2 = lean_ctor_get(x_1, 0); +lean_inc(x_2); +x_3 = l_Lean_Parser_Command_ctor___elambda__1___closed__8; +x_4 = lean_ctor_get(x_3, 0); +lean_inc(x_4); +x_5 = l_Lean_Parser_andthenInfo(x_4, x_2); +return x_5; +} +} +static lean_object* _init_l_Lean_Parser_Command_structSimpleBinder___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Command_optDeclSig; +x_2 = lean_ctor_get(x_1, 0); +lean_inc(x_2); +x_3 = l_Lean_Parser_Command_structExplicitBinder___closed__2; +x_4 = l_Lean_Parser_andthenInfo(x_2, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Command_structSimpleBinder___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_ctor___closed__2; +x_2 = l_Lean_Parser_Command_structSimpleBinder___closed__2; +x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Command_structSimpleBinder___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_structSimpleBinder___closed__1; +x_2 = l_Lean_Parser_Command_structSimpleBinder___closed__3; +x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Command_structSimpleBinder___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__2; +x_2 = l_Lean_Parser_Command_structSimpleBinder___closed__4; +x_3 = l_Lean_Parser_nodeInfo(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Command_structSimpleBinder___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_epsilonInfo; +x_2 = l_Lean_Parser_Command_structSimpleBinder___closed__5; +x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Command_structSimpleBinder___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__4; +x_2 = lean_ctor_get(x_1, 0); +lean_inc(x_2); +x_3 = l_Lean_Parser_Command_structSimpleBinder___closed__6; +x_4 = l_Lean_Parser_orelseInfo(x_2, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Command_structSimpleBinder___closed__8() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_structSimpleBinder___elambda__1), 2, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Command_structSimpleBinder___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_structSimpleBinder___closed__7; +x_2 = l_Lean_Parser_Command_structSimpleBinder___closed__8; +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_Parser_Command_structSimpleBinder() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_Parser_Command_structSimpleBinder___closed__9; +return x_1; +} +} static lean_object* _init_l_Lean_Parser_Command_structFields___elambda__1___closed__1() { _start: { @@ -9366,8 +9741,8 @@ static lean_object* _init_l_Lean_Parser_Command_structFields___elambda__1___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_structImplicitBinder___closed__9; -x_2 = l_Lean_Parser_Command_structInstBinder___closed__9; +x_1 = l_Lean_Parser_Command_structInstBinder___closed__9; +x_2 = l_Lean_Parser_Command_structSimpleBinder___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -9378,7 +9753,7 @@ static lean_object* _init_l_Lean_Parser_Command_structFields___elambda__1___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_structExplicitBinder___closed__11; +x_1 = l_Lean_Parser_Command_structImplicitBinder___closed__9; x_2 = l_Lean_Parser_Command_structFields___elambda__1___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -9390,9 +9765,9 @@ static lean_object* _init_l_Lean_Parser_Command_structFields___elambda__1___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_instInhabitedParser___closed__2; +x_1 = l_Lean_Parser_Command_structExplicitBinder___closed__11; x_2 = l_Lean_Parser_Command_structFields___elambda__1___closed__6; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; @@ -9401,20 +9776,22 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_structFields___elambda__1___closed__8() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_structFields___elambda__1___closed__7; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_manyFn), 3, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extension___hyg_1887____closed__25; +x_2 = l_Lean_Parser_Command_structFields___elambda__1___closed__7; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 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_Parser_Command_structFields___elambda__1___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_structFields___elambda__1___closed__2; +x_1 = l_Lean_Parser_instInhabitedParser___closed__2; x_2 = l_Lean_Parser_Command_structFields___elambda__1___closed__8; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2); +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; @@ -9424,7 +9801,7 @@ static lean_object* _init_l_Lean_Parser_Command_structFields___elambda__1___clos _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8; +x_1 = l_Lean_Parser_many1Indent___closed__1; x_2 = l_Lean_Parser_Command_structFields___elambda__1___closed__9; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -9432,6 +9809,40 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } +static lean_object* _init_l_Lean_Parser_Command_structFields___elambda__1___closed__11() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Command_structFields___elambda__1___closed__10; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_manyIndent___lambda__1), 3, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Command_structFields___elambda__1___closed__12() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_structFields___elambda__1___closed__2; +x_2 = l_Lean_Parser_Command_structFields___elambda__1___closed__11; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 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_Parser_Command_structFields___elambda__1___closed__13() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8; +x_2 = l_Lean_Parser_Command_structFields___elambda__1___closed__12; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} lean_object* l_Lean_Parser_Command_structFields___elambda__1(lean_object* x_1, lean_object* x_2) { _start: { @@ -9439,7 +9850,7 @@ lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_3 = l_Lean_Parser_Command_structFields___elambda__1___closed__4; x_4 = lean_ctor_get(x_3, 1); lean_inc(x_4); -x_5 = l_Lean_Parser_Command_structFields___elambda__1___closed__10; +x_5 = l_Lean_Parser_Command_structFields___elambda__1___closed__13; x_6 = 1; x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2); return x_7; @@ -9449,10 +9860,10 @@ static lean_object* _init_l_Lean_Parser_Command_structFields___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Command_structImplicitBinder; +x_1 = l_Lean_Parser_Command_structInstBinder; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); -x_3 = l_Lean_Parser_Command_structInstBinder; +x_3 = l_Lean_Parser_Command_structSimpleBinder; x_4 = lean_ctor_get(x_3, 0); lean_inc(x_4); x_5 = l_Lean_Parser_orelseInfo(x_2, x_4); @@ -9463,7 +9874,7 @@ static lean_object* _init_l_Lean_Parser_Command_structFields___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Command_structExplicitBinder; +x_1 = l_Lean_Parser_Command_structImplicitBinder; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); x_3 = l_Lean_Parser_Command_structFields___closed__1; @@ -9474,29 +9885,32 @@ return x_4; static lean_object* _init_l_Lean_Parser_Command_structFields___closed__3() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_epsilonInfo; -x_2 = l_Lean_Parser_Command_structFields___closed__2; -x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Command_structExplicitBinder; +x_2 = lean_ctor_get(x_1, 0); +lean_inc(x_2); +x_3 = l_Lean_Parser_Command_structFields___closed__2; +x_4 = l_Lean_Parser_orelseInfo(x_2, x_3); +return x_4; } } static lean_object* _init_l_Lean_Parser_Command_structFields___closed__4() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_structFields___closed__3; -x_2 = l_Lean_Parser_noFirstTokenInfo(x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_instInhabitedParser___closed__1; +x_2 = l_Lean_Parser_Command_structFields___closed__3; +x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); +return x_3; } } static lean_object* _init_l_Lean_Parser_Command_structFields___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_structFields___elambda__1___closed__2; +x_1 = l_Lean_Parser_epsilonInfo; x_2 = l_Lean_Parser_Command_structFields___closed__4; -x_3 = l_Lean_Parser_nodeInfo(x_1, x_2); +x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); return x_3; } } @@ -9504,7 +9918,7 @@ static lean_object* _init_l_Lean_Parser_Command_structFields___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_epsilonInfo; +x_1 = l_Lean_Parser_instInhabitedParser___closed__1; x_2 = l_Lean_Parser_Command_structFields___closed__5; x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); return x_3; @@ -9513,16 +9927,45 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_structFields___closed__7() { _start: { +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Command_structFields___closed__6; +x_2 = l_Lean_Parser_noFirstTokenInfo(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Command_structFields___closed__8() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_structFields___elambda__1___closed__2; +x_2 = l_Lean_Parser_Command_structFields___closed__7; +x_3 = l_Lean_Parser_nodeInfo(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Command_structFields___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_epsilonInfo; +x_2 = l_Lean_Parser_Command_structFields___closed__8; +x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Command_structFields___closed__10() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Command_structFields___elambda__1___closed__4; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); -x_3 = l_Lean_Parser_Command_structFields___closed__6; +x_3 = l_Lean_Parser_Command_structFields___closed__9; x_4 = l_Lean_Parser_orelseInfo(x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Command_structFields___closed__8() { +static lean_object* _init_l_Lean_Parser_Command_structFields___closed__11() { _start: { lean_object* x_1; @@ -9530,12 +9973,12 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_structFields___elambda__1 return x_1; } } -static lean_object* _init_l_Lean_Parser_Command_structFields___closed__9() { +static lean_object* _init_l_Lean_Parser_Command_structFields___closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_structFields___closed__7; -x_2 = l_Lean_Parser_Command_structFields___closed__8; +x_1 = l_Lean_Parser_Command_structFields___closed__10; +x_2 = l_Lean_Parser_Command_structFields___closed__11; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); @@ -9546,7 +9989,7 @@ static lean_object* _init_l_Lean_Parser_Command_structFields() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Command_structFields___closed__9; +x_1 = l_Lean_Parser_Command_structFields___closed__12; return x_1; } } @@ -10374,6 +10817,45 @@ return x_2; static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed__8() { _start: { +lean_object* x_1; +x_1 = lean_mk_string(" where "); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__8; +x_2 = l_String_trim(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed__10() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__9; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbolFn___boxed), 3, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed__11() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__4; +x_2 = l_Lean_Parser_Command_structure___elambda__1___closed__10; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 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_Parser_Command_structure___elambda__1___closed__12() { +_start: +{ lean_object* x_1; lean_object* x_2; x_1 = l_Lean_Parser_Command_structCtor___closed__8; x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1); @@ -10381,58 +10863,12 @@ lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed__9() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__8; -x_2 = l_Lean_Parser_Command_structFields___closed__8; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 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_Parser_Command_structure___elambda__1___closed__10() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_haveAssign___elambda__1___closed__4; -x_2 = l_Lean_Parser_Command_structure___elambda__1___closed__9; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 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_Parser_Command_structure___elambda__1___closed__11() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__10; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed__12() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_optType___closed__2; -x_2 = l_Lean_Parser_Command_structure___elambda__1___closed__11; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 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_Parser_Command_structure___elambda__1___closed__13() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__7; -x_2 = l_Lean_Parser_Command_structure___elambda__1___closed__12; +x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__12; +x_2 = l_Lean_Parser_Command_structFields___closed__11; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -10443,7 +10879,7 @@ static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__6; +x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__11; x_2 = l_Lean_Parser_Command_structure___elambda__1___closed__13; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -10454,20 +10890,18 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed__15() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_declId___closed__9; -x_2 = l_Lean_Parser_Command_structure___elambda__1___closed__14; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__14; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optionalFn), 3, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed__16() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__5; +x_1 = l_Lean_Parser_Term_optType___closed__2; x_2 = l_Lean_Parser_Command_structure___elambda__1___closed__15; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -10479,9 +10913,9 @@ static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__2; +x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__7; x_2 = l_Lean_Parser_Command_structure___elambda__1___closed__16; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 4, 2); +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; @@ -10491,7 +10925,7 @@ static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8; +x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__6; x_2 = l_Lean_Parser_Command_structure___elambda__1___closed__17; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -10499,6 +10933,54 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } +static lean_object* _init_l_Lean_Parser_Command_structure___elambda__1___closed__19() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_declId___closed__9; +x_2 = l_Lean_Parser_Command_structure___elambda__1___closed__18; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 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_Parser_Command_structure___elambda__1___closed__20() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__5; +x_2 = l_Lean_Parser_Command_structure___elambda__1___closed__19; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 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_Parser_Command_structure___elambda__1___closed__21() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__2; +x_2 = l_Lean_Parser_Command_structure___elambda__1___closed__20; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_nodeFn), 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_Parser_Command_structure___elambda__1___closed__22() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Level_paren___elambda__1___closed__8; +x_2 = l_Lean_Parser_Command_structure___elambda__1___closed__21; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_andthenFn), 4, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} lean_object* l_Lean_Parser_Command_structure___elambda__1(lean_object* x_1, lean_object* x_2) { _start: { @@ -10506,7 +10988,7 @@ lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_3 = l_Lean_Parser_Command_structure___elambda__1___closed__4; x_4 = lean_ctor_get(x_3, 1); lean_inc(x_4); -x_5 = l_Lean_Parser_Command_structure___elambda__1___closed__18; +x_5 = l_Lean_Parser_Command_structure___elambda__1___closed__22; x_6 = 1; x_7 = l_Lean_Parser_orelseFnCore(x_4, x_5, x_6, x_1, x_2); return x_7; @@ -10551,6 +11033,25 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_structure___closed__4() { _start: { +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__9; +x_2 = l_Lean_Parser_symbolInfo(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Command_structure___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_haveAssign___closed__1; +x_2 = l_Lean_Parser_Command_structure___closed__4; +x_3 = l_Lean_Parser_orelseInfo(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Command_structure___closed__6() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Command_structCtor; x_2 = lean_ctor_get(x_1, 0); @@ -10559,86 +11060,64 @@ x_3 = l_Lean_Parser_optionaInfo(x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Command_structure___closed__5() { +static lean_object* _init_l_Lean_Parser_Command_structure___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Command_structFields; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); -x_3 = l_Lean_Parser_Command_structure___closed__4; +x_3 = l_Lean_Parser_Command_structure___closed__6; x_4 = l_Lean_Parser_andthenInfo(x_3, x_2); return x_4; } } -static lean_object* _init_l_Lean_Parser_Command_structure___closed__6() { +static lean_object* _init_l_Lean_Parser_Command_structure___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_haveAssign___closed__1; -x_2 = l_Lean_Parser_Command_structure___closed__5; +x_1 = l_Lean_Parser_Command_structure___closed__5; +x_2 = l_Lean_Parser_Command_structure___closed__7; x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Command_structure___closed__7() { +static lean_object* _init_l_Lean_Parser_Command_structure___closed__9() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_structure___closed__6; +x_1 = l_Lean_Parser_Command_structure___closed__8; x_2 = l_Lean_Parser_optionaInfo(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_structure___closed__8() { +static lean_object* _init_l_Lean_Parser_Command_structure___closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Term_optType; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); -x_3 = l_Lean_Parser_Command_structure___closed__7; +x_3 = l_Lean_Parser_Command_structure___closed__9; x_4 = l_Lean_Parser_andthenInfo(x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Command_structure___closed__9() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_structure___closed__3; -x_2 = l_Lean_Parser_Command_structure___closed__8; -x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Command_structure___closed__10() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_structure___closed__2; -x_2 = l_Lean_Parser_Command_structure___closed__9; -x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); -return x_3; -} -} static lean_object* _init_l_Lean_Parser_Command_structure___closed__11() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Command_declId; -x_2 = lean_ctor_get(x_1, 0); -lean_inc(x_2); -x_3 = l_Lean_Parser_Command_structure___closed__10; -x_4 = l_Lean_Parser_andthenInfo(x_2, x_3); -return x_4; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_structure___closed__3; +x_2 = l_Lean_Parser_Command_structure___closed__10; +x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); +return x_3; } } static lean_object* _init_l_Lean_Parser_Command_structure___closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_structure___closed__1; +x_1 = l_Lean_Parser_Command_structure___closed__2; x_2 = l_Lean_Parser_Command_structure___closed__11; x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); return x_3; @@ -10647,18 +11126,20 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_structure___closed__13() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__2; -x_2 = l_Lean_Parser_Command_structure___closed__12; -x_3 = l_Lean_Parser_nodeInfo(x_1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Command_declId; +x_2 = lean_ctor_get(x_1, 0); +lean_inc(x_2); +x_3 = l_Lean_Parser_Command_structure___closed__12; +x_4 = l_Lean_Parser_andthenInfo(x_2, x_3); +return x_4; } } static lean_object* _init_l_Lean_Parser_Command_structure___closed__14() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_epsilonInfo; +x_1 = l_Lean_Parser_Command_structure___closed__1; x_2 = l_Lean_Parser_Command_structure___closed__13; x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); return x_3; @@ -10667,16 +11148,36 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_structure___closed__15() { _start: { +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__2; +x_2 = l_Lean_Parser_Command_structure___closed__14; +x_3 = l_Lean_Parser_nodeInfo(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Command_structure___closed__16() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_epsilonInfo; +x_2 = l_Lean_Parser_Command_structure___closed__15; +x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Command_structure___closed__17() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__4; x_2 = lean_ctor_get(x_1, 0); lean_inc(x_2); -x_3 = l_Lean_Parser_Command_structure___closed__14; +x_3 = l_Lean_Parser_Command_structure___closed__16; x_4 = l_Lean_Parser_orelseInfo(x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Command_structure___closed__16() { +static lean_object* _init_l_Lean_Parser_Command_structure___closed__18() { _start: { lean_object* x_1; @@ -10684,12 +11185,12 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_structure___elambda__1), return x_1; } } -static lean_object* _init_l_Lean_Parser_Command_structure___closed__17() { +static lean_object* _init_l_Lean_Parser_Command_structure___closed__19() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_structure___closed__15; -x_2 = l_Lean_Parser_Command_structure___closed__16; +x_1 = l_Lean_Parser_Command_structure___closed__17; +x_2 = l_Lean_Parser_Command_structure___closed__18; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); @@ -10700,7 +11201,7 @@ static lean_object* _init_l_Lean_Parser_Command_structure() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Command_structure___closed__17; +x_1 = l_Lean_Parser_Command_structure___closed__19; return x_1; } } @@ -10757,7 +11258,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Command_classInductive___closed__8; -x_2 = l_Lean_Parser_Command_structure___closed__16; +x_2 = l_Lean_Parser_Command_structure___closed__18; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -10768,7 +11269,7 @@ static lean_object* _init_l_Lean_Parser_Command_declaration___elambda__1___close _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_inductive___closed__12; +x_1 = l_Lean_Parser_Command_inductive___closed__14; x_2 = l_Lean_Parser_Command_declaration___elambda__1___closed__6; x_3 = lean_alloc_closure((void*)(l_Lean_Parser_orelseFn), 4, 2); lean_closure_set(x_3, 0, x_1); @@ -12912,8 +13413,8 @@ static lean_object* _init_l_Lean_Parser_Command_inductive_formatter___closed__4( _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_inductive_formatter___closed__3; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_optional_formatter), 6, 1); +x_1 = l_Lean_Parser_Command_inductive___elambda__1___closed__10; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } @@ -12921,9 +13422,13 @@ return x_2; static lean_object* _init_l_Lean_Parser_Command_inductive_formatter___closed__5() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_ctor_formatter), 5, 0); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_inductive_formatter___closed__3; +x_2 = l_Lean_Parser_Command_inductive_formatter___closed__4; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 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_Parser_Command_inductive_formatter___closed__6() { @@ -12931,7 +13436,7 @@ _start: { lean_object* x_1; lean_object* x_2; x_1 = l_Lean_Parser_Command_inductive_formatter___closed__5; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_many_formatter), 6, 1); +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_optional_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } @@ -12939,32 +13444,26 @@ return x_2; static lean_object* _init_l_Lean_Parser_Command_inductive_formatter___closed__7() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_inductive_formatter___closed__4; -x_2 = l_Lean_Parser_Command_inductive_formatter___closed__6; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_ctor_formatter), 5, 0); +return x_1; } } static lean_object* _init_l_Lean_Parser_Command_inductive_formatter___closed__8() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_abbrev_formatter___closed__3; -x_2 = l_Lean_Parser_Command_inductive_formatter___closed__7; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Command_inductive_formatter___closed__7; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_many_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } static lean_object* _init_l_Lean_Parser_Command_inductive_formatter___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_abbrev_formatter___closed__6; +x_1 = l_Lean_Parser_Command_inductive_formatter___closed__6; x_2 = l_Lean_Parser_Command_inductive_formatter___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -12976,7 +13475,7 @@ static lean_object* _init_l_Lean_Parser_Command_inductive_formatter___closed__10 _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_inductive_formatter___closed__2; +x_1 = l_Lean_Parser_Command_abbrev_formatter___closed__3; x_2 = l_Lean_Parser_Command_inductive_formatter___closed__9; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -12987,10 +13486,34 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_inductive_formatter___closed__11() { _start: { +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_abbrev_formatter___closed__6; +x_2 = l_Lean_Parser_Command_inductive_formatter___closed__10; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 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_Parser_Command_inductive_formatter___closed__12() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_inductive_formatter___closed__2; +x_2 = l_Lean_Parser_Command_inductive_formatter___closed__11; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 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_Parser_Command_inductive_formatter___closed__13() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Command_inductive___elambda__1___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Command_inductive_formatter___closed__10; +x_3 = l_Lean_Parser_Command_inductive_formatter___closed__12; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -13003,7 +13526,7 @@ _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_Command_inductive_formatter___closed__1; -x_7 = l_Lean_Parser_Command_inductive_formatter___closed__11; +x_7 = l_Lean_Parser_Command_inductive_formatter___closed__13; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -13070,7 +13593,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Command_classInductive_formatter___closed__5; -x_2 = l_Lean_Parser_Command_inductive_formatter___closed__9; +x_2 = l_Lean_Parser_Command_inductive_formatter___closed__11; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -13704,6 +14227,103 @@ x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x return x_8; } } +static lean_object* _init_l_Lean_Parser_Command_structSimpleBinder_formatter___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__1; +x_2 = l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__3; +x_3 = 1; +x_4 = lean_box(x_3); +x_5 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 8, 3); +lean_closure_set(x_5, 0, x_1); +lean_closure_set(x_5, 1, x_2); +lean_closure_set(x_5, 2, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_Parser_Command_structSimpleBinder_formatter___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_ctor_formatter___closed__3; +x_2 = l_Lean_Parser_Command_structExplicitBinder_formatter___closed__4; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 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_Parser_Command_structSimpleBinder_formatter___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Command_structSimpleBinder_formatter___closed__2; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_atomic_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Command_structSimpleBinder_formatter___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_abbrev_formatter___closed__3; +x_2 = l_Lean_Parser_Command_structExplicitBinder_formatter___closed__5; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 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_Parser_Command_structSimpleBinder_formatter___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_ctor_formatter___closed__5; +x_2 = l_Lean_Parser_Command_structSimpleBinder_formatter___closed__4; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 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_Parser_Command_structSimpleBinder_formatter___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_structSimpleBinder_formatter___closed__3; +x_2 = l_Lean_Parser_Command_structSimpleBinder_formatter___closed__5; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 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_Parser_Command_structSimpleBinder_formatter___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Command_structSimpleBinder_formatter___closed__6; +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); +return x_4; +} +} +lean_object* l_Lean_Parser_Command_structSimpleBinder_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Command_structSimpleBinder_formatter___closed__1; +x_7 = l_Lean_Parser_Command_structSimpleBinder_formatter___closed__7; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; +} +} static lean_object* _init_l_Lean_Parser_Command_structFields_formatter___closed__1() { _start: { @@ -13723,7 +14343,7 @@ static lean_object* _init_l_Lean_Parser_Command_structFields_formatter___closed_ _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_structImplicitBinder_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_structInstBinder_formatter), 5, 0); return x_1; } } @@ -13731,7 +14351,7 @@ static lean_object* _init_l_Lean_Parser_Command_structFields_formatter___closed_ _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_structInstBinder_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_structSimpleBinder_formatter), 5, 0); return x_1; } } @@ -13751,7 +14371,7 @@ static lean_object* _init_l_Lean_Parser_Command_structFields_formatter___closed_ _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_structExplicitBinder_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_structImplicitBinder_formatter), 5, 0); return x_1; } } @@ -13770,32 +14390,64 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_structFields_formatter___closed__7() { _start: { +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_structExplicitBinder_formatter), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Command_structFields_formatter___closed__8() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extra___hyg_567____closed__22; +x_1 = l_Lean_Parser_Command_structFields_formatter___closed__7; x_2 = l_Lean_Parser_Command_structFields_formatter___closed__6; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 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_Parser_Command_structFields_formatter___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_PrettyPrinter_Formatter_initFn____x40_Lean_PrettyPrinter_Formatter___hyg_2050____closed__32; +x_2 = l_Lean_Parser_Command_structFields_formatter___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 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_Parser_Command_structFields_formatter___closed__8() { +static lean_object* _init_l_Lean_Parser_Command_structFields_formatter___closed__10() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extra___hyg_567____closed__22; +x_2 = l_Lean_Parser_Command_structFields_formatter___closed__9; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 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_Parser_Command_structFields_formatter___closed__11() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_structFields_formatter___closed__7; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_many_formatter), 6, 1); +x_1 = l_Lean_Parser_Command_structFields_formatter___closed__10; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_manyIndent_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_structFields_formatter___closed__9() { +static lean_object* _init_l_Lean_Parser_Command_structFields_formatter___closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Command_structFields___elambda__1___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Command_structFields_formatter___closed__8; +x_3 = l_Lean_Parser_Command_structFields_formatter___closed__11; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -13808,7 +14460,7 @@ _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_Command_structFields_formatter___closed__1; -x_7 = l_Lean_Parser_Command_structFields_formatter___closed__9; +x_7 = l_Lean_Parser_Command_structFields_formatter___closed__12; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -13887,22 +14539,44 @@ return x_2; static lean_object* _init_l_Lean_Parser_Command_structure_formatter___closed__8() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_structCtor_formatter), 5, 0); -return x_1; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__8; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_symbol_formatter___boxed), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } static lean_object* _init_l_Lean_Parser_Command_structure_formatter___closed__9() { _start: { +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_haveAssign_formatter___closed__2; +x_2 = l_Lean_Parser_Command_structure_formatter___closed__8; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 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_Parser_Command_structure_formatter___closed__10() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_structCtor_formatter), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Command_structure_formatter___closed__11() { +_start: +{ lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_structure_formatter___closed__8; +x_1 = l_Lean_Parser_Command_structure_formatter___closed__10; x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_optional_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_structure_formatter___closed__10() { +static lean_object* _init_l_Lean_Parser_Command_structure_formatter___closed__12() { _start: { lean_object* x_1; @@ -13910,45 +14584,23 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_structFields_formatter), return x_1; } } -static lean_object* _init_l_Lean_Parser_Command_structure_formatter___closed__11() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_structure_formatter___closed__9; -x_2 = l_Lean_Parser_Command_structure_formatter___closed__10; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 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_Parser_Command_structure_formatter___closed__12() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_haveAssign_formatter___closed__2; -x_2 = l_Lean_Parser_Command_structure_formatter___closed__11; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 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_Parser_Command_structure_formatter___closed__13() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_structure_formatter___closed__12; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_optional_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_structure_formatter___closed__11; +x_2 = l_Lean_Parser_Command_structure_formatter___closed__12; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 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_Parser_Command_structure_formatter___closed__14() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_simpleBinder_formatter___closed__2; +x_1 = l_Lean_Parser_Command_structure_formatter___closed__9; x_2 = l_Lean_Parser_Command_structure_formatter___closed__13; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -13959,20 +14611,18 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_structure_formatter___closed__15() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_structure_formatter___closed__7; -x_2 = l_Lean_Parser_Command_structure_formatter___closed__14; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Command_structure_formatter___closed__14; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_optional_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } static lean_object* _init_l_Lean_Parser_Command_structure_formatter___closed__16() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_structure_formatter___closed__5; +x_1 = l_Lean_Parser_Term_simpleBinder_formatter___closed__2; x_2 = l_Lean_Parser_Command_structure_formatter___closed__15; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -13984,7 +14634,7 @@ static lean_object* _init_l_Lean_Parser_Command_structure_formatter___closed__17 _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_abbrev_formatter___closed__6; +x_1 = l_Lean_Parser_Command_structure_formatter___closed__7; x_2 = l_Lean_Parser_Command_structure_formatter___closed__16; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -13996,7 +14646,7 @@ static lean_object* _init_l_Lean_Parser_Command_structure_formatter___closed__18 _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_structure_formatter___closed__4; +x_1 = l_Lean_Parser_Command_structure_formatter___closed__5; x_2 = l_Lean_Parser_Command_structure_formatter___closed__17; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -14007,10 +14657,34 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_structure_formatter___closed__19() { _start: { +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_abbrev_formatter___closed__6; +x_2 = l_Lean_Parser_Command_structure_formatter___closed__18; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 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_Parser_Command_structure_formatter___closed__20() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_structure_formatter___closed__4; +x_2 = l_Lean_Parser_Command_structure_formatter___closed__19; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 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_Parser_Command_structure_formatter___closed__21() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Command_structure___elambda__1___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Command_structure_formatter___closed__18; +x_3 = l_Lean_Parser_Command_structure_formatter___closed__20; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -14023,7 +14697,7 @@ _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_Command_structure_formatter___closed__1; -x_7 = l_Lean_Parser_Command_structure_formatter___closed__19; +x_7 = l_Lean_Parser_Command_structure_formatter___closed__21; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -15866,38 +16540,36 @@ return x_4; static lean_object* _init_l_Lean_Parser_Command_inductive_parenthesizer___closed__2() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_ctor_parenthesizer), 5, 0); -return x_1; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_cdot_parenthesizer___closed__2; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_optional_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } static lean_object* _init_l_Lean_Parser_Command_inductive_parenthesizer___closed__3() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_inductive_parenthesizer___closed__2; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_many_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_ctor_parenthesizer), 5, 0); +return x_1; } } static lean_object* _init_l_Lean_Parser_Command_inductive_parenthesizer___closed__4() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__3; -x_2 = l_Lean_Parser_Command_inductive_parenthesizer___closed__3; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Command_inductive_parenthesizer___closed__3; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_many_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } static lean_object* _init_l_Lean_Parser_Command_inductive_parenthesizer___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_abbrev_parenthesizer___closed__2; +x_1 = l_Lean_Parser_Command_inductive_parenthesizer___closed__2; x_2 = l_Lean_Parser_Command_inductive_parenthesizer___closed__4; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -15909,7 +16581,7 @@ static lean_object* _init_l_Lean_Parser_Command_inductive_parenthesizer___closed _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_abbrev_parenthesizer___closed__5; +x_1 = l_Lean_Parser_Command_abbrev_parenthesizer___closed__2; x_2 = l_Lean_Parser_Command_inductive_parenthesizer___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -15921,7 +16593,7 @@ static lean_object* _init_l_Lean_Parser_Command_inductive_parenthesizer___closed _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_antiquotNestedExpr_parenthesizer___closed__3; +x_1 = l_Lean_Parser_Command_abbrev_parenthesizer___closed__5; x_2 = l_Lean_Parser_Command_inductive_parenthesizer___closed__6; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -15932,10 +16604,22 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_inductive_parenthesizer___closed__8() { _start: { +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_antiquotNestedExpr_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Command_inductive_parenthesizer___closed__7; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 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_Parser_Command_inductive_parenthesizer___closed__9() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Command_inductive___elambda__1___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Command_inductive_parenthesizer___closed__7; +x_3 = l_Lean_Parser_Command_inductive_parenthesizer___closed__8; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -15948,7 +16632,7 @@ _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_Command_inductive_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Command_inductive_parenthesizer___closed__8; +x_7 = l_Lean_Parser_Command_inductive_parenthesizer___closed__9; x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -15991,7 +16675,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Command_classInductive_parenthesizer___closed__3; -x_2 = l_Lean_Parser_Command_inductive_parenthesizer___closed__6; +x_2 = l_Lean_Parser_Command_inductive_parenthesizer___closed__7; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -16477,6 +17161,101 @@ x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2 return x_8; } } +static lean_object* _init_l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__1() { +_start: +{ +lean_object* x_1; uint8_t x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__3; +x_2 = 1; +x_3 = lean_box(x_2); +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___rarg___boxed), 7, 2); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_ctor_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Command_structExplicitBinder_parenthesizer___closed__4; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 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_Parser_Command_structSimpleBinder_parenthesizer___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__2; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_atomic_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_abbrev_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Command_structExplicitBinder_parenthesizer___closed__5; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 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_Parser_Command_structSimpleBinder_parenthesizer___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_ctor_parenthesizer___closed__4; +x_2 = l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__4; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 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_Parser_Command_structSimpleBinder_parenthesizer___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__5; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 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_Parser_Command_structSimpleBinder_parenthesizer___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__6; +x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer___boxed), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); +return x_4; +} +} +lean_object* l_Lean_Parser_Command_structSimpleBinder_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__7; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; +} +} static lean_object* _init_l_Lean_Parser_Command_structFields_parenthesizer___closed__1() { _start: { @@ -16494,7 +17273,7 @@ static lean_object* _init_l_Lean_Parser_Command_structFields_parenthesizer___clo _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_structImplicitBinder_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_structInstBinder_parenthesizer), 5, 0); return x_1; } } @@ -16502,7 +17281,7 @@ static lean_object* _init_l_Lean_Parser_Command_structFields_parenthesizer___clo _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_structInstBinder_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_structSimpleBinder_parenthesizer), 5, 0); return x_1; } } @@ -16522,7 +17301,7 @@ static lean_object* _init_l_Lean_Parser_Command_structFields_parenthesizer___clo _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_structExplicitBinder_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_structImplicitBinder_parenthesizer), 5, 0); return x_1; } } @@ -16541,32 +17320,64 @@ return x_3; static lean_object* _init_l_Lean_Parser_Command_structFields_parenthesizer___closed__7() { _start: { +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_structExplicitBinder_parenthesizer), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Command_structFields_parenthesizer___closed__8() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extra___hyg_567____closed__24; +x_1 = l_Lean_Parser_Command_structFields_parenthesizer___closed__7; x_2 = l_Lean_Parser_Command_structFields_parenthesizer___closed__6; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 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_Parser_Command_structFields_parenthesizer___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_PrettyPrinter_Parenthesizer_initFn____x40_Lean_PrettyPrinter_Parenthesizer___hyg_2397____closed__32; +x_2 = l_Lean_Parser_Command_structFields_parenthesizer___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 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_Parser_Command_structFields_parenthesizer___closed__8() { +static lean_object* _init_l_Lean_Parser_Command_structFields_parenthesizer___closed__10() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Extra___hyg_567____closed__24; +x_2 = l_Lean_Parser_Command_structFields_parenthesizer___closed__9; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 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_Parser_Command_structFields_parenthesizer___closed__11() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_structFields_parenthesizer___closed__7; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_many_parenthesizer), 6, 1); +x_1 = l_Lean_Parser_Command_structFields_parenthesizer___closed__10; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_manyIndent_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_structFields_parenthesizer___closed__9() { +static lean_object* _init_l_Lean_Parser_Command_structFields_parenthesizer___closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Command_structFields___elambda__1___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Command_structFields_parenthesizer___closed__8; +x_3 = l_Lean_Parser_Command_structFields_parenthesizer___closed__11; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -16579,7 +17390,7 @@ _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = l_Lean_Parser_Command_structFields_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Command_structFields_parenthesizer___closed__9; +x_7 = l_Lean_Parser_Command_structFields_parenthesizer___closed__12; x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } @@ -16695,7 +17506,7 @@ static lean_object* _init_l_Lean_Parser_Command_structure_parenthesizer___closed _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_antiquotNestedExpr_parenthesizer___closed__3; +x_1 = l_Lean_Parser_Term_cdot_parenthesizer___closed__2; x_2 = l_Lean_Parser_Command_structure_parenthesizer___closed__11; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -29438,6 +30249,14 @@ l_Lean_Parser_Command_inductive___elambda__1___closed__16 = _init_l_Lean_Parser_ lean_mark_persistent(l_Lean_Parser_Command_inductive___elambda__1___closed__16); l_Lean_Parser_Command_inductive___elambda__1___closed__17 = _init_l_Lean_Parser_Command_inductive___elambda__1___closed__17(); lean_mark_persistent(l_Lean_Parser_Command_inductive___elambda__1___closed__17); +l_Lean_Parser_Command_inductive___elambda__1___closed__18 = _init_l_Lean_Parser_Command_inductive___elambda__1___closed__18(); +lean_mark_persistent(l_Lean_Parser_Command_inductive___elambda__1___closed__18); +l_Lean_Parser_Command_inductive___elambda__1___closed__19 = _init_l_Lean_Parser_Command_inductive___elambda__1___closed__19(); +lean_mark_persistent(l_Lean_Parser_Command_inductive___elambda__1___closed__19); +l_Lean_Parser_Command_inductive___elambda__1___closed__20 = _init_l_Lean_Parser_Command_inductive___elambda__1___closed__20(); +lean_mark_persistent(l_Lean_Parser_Command_inductive___elambda__1___closed__20); +l_Lean_Parser_Command_inductive___elambda__1___closed__21 = _init_l_Lean_Parser_Command_inductive___elambda__1___closed__21(); +lean_mark_persistent(l_Lean_Parser_Command_inductive___elambda__1___closed__21); l_Lean_Parser_Command_inductive___closed__1 = _init_l_Lean_Parser_Command_inductive___closed__1(); lean_mark_persistent(l_Lean_Parser_Command_inductive___closed__1); l_Lean_Parser_Command_inductive___closed__2 = _init_l_Lean_Parser_Command_inductive___closed__2(); @@ -29464,6 +30283,10 @@ l_Lean_Parser_Command_inductive___closed__12 = _init_l_Lean_Parser_Command_induc lean_mark_persistent(l_Lean_Parser_Command_inductive___closed__12); l_Lean_Parser_Command_inductive___closed__13 = _init_l_Lean_Parser_Command_inductive___closed__13(); lean_mark_persistent(l_Lean_Parser_Command_inductive___closed__13); +l_Lean_Parser_Command_inductive___closed__14 = _init_l_Lean_Parser_Command_inductive___closed__14(); +lean_mark_persistent(l_Lean_Parser_Command_inductive___closed__14); +l_Lean_Parser_Command_inductive___closed__15 = _init_l_Lean_Parser_Command_inductive___closed__15(); +lean_mark_persistent(l_Lean_Parser_Command_inductive___closed__15); l_Lean_Parser_Command_inductive = _init_l_Lean_Parser_Command_inductive(); lean_mark_persistent(l_Lean_Parser_Command_inductive); l_Lean_Parser_Command_classInductive___elambda__1___closed__1 = _init_l_Lean_Parser_Command_classInductive___elambda__1___closed__1(); @@ -29660,6 +30483,48 @@ l_Lean_Parser_Command_structInstBinder___closed__10 = _init_l_Lean_Parser_Comman lean_mark_persistent(l_Lean_Parser_Command_structInstBinder___closed__10); l_Lean_Parser_Command_structInstBinder = _init_l_Lean_Parser_Command_structInstBinder(); lean_mark_persistent(l_Lean_Parser_Command_structInstBinder); +l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__1 = _init_l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__1(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__1); +l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__2 = _init_l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__2(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__2); +l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__3 = _init_l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__3(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__3); +l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__4 = _init_l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__4(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__4); +l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__5 = _init_l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__5(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__5); +l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__6 = _init_l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__6(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__6); +l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__7 = _init_l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__7(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__7); +l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__8 = _init_l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__8(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__8); +l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__9 = _init_l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__9(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__9); +l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__10 = _init_l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__10(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__10); +l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__11 = _init_l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__11(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder___elambda__1___closed__11); +l_Lean_Parser_Command_structSimpleBinder___closed__1 = _init_l_Lean_Parser_Command_structSimpleBinder___closed__1(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder___closed__1); +l_Lean_Parser_Command_structSimpleBinder___closed__2 = _init_l_Lean_Parser_Command_structSimpleBinder___closed__2(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder___closed__2); +l_Lean_Parser_Command_structSimpleBinder___closed__3 = _init_l_Lean_Parser_Command_structSimpleBinder___closed__3(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder___closed__3); +l_Lean_Parser_Command_structSimpleBinder___closed__4 = _init_l_Lean_Parser_Command_structSimpleBinder___closed__4(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder___closed__4); +l_Lean_Parser_Command_structSimpleBinder___closed__5 = _init_l_Lean_Parser_Command_structSimpleBinder___closed__5(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder___closed__5); +l_Lean_Parser_Command_structSimpleBinder___closed__6 = _init_l_Lean_Parser_Command_structSimpleBinder___closed__6(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder___closed__6); +l_Lean_Parser_Command_structSimpleBinder___closed__7 = _init_l_Lean_Parser_Command_structSimpleBinder___closed__7(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder___closed__7); +l_Lean_Parser_Command_structSimpleBinder___closed__8 = _init_l_Lean_Parser_Command_structSimpleBinder___closed__8(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder___closed__8); +l_Lean_Parser_Command_structSimpleBinder___closed__9 = _init_l_Lean_Parser_Command_structSimpleBinder___closed__9(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder___closed__9); +l_Lean_Parser_Command_structSimpleBinder = _init_l_Lean_Parser_Command_structSimpleBinder(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder); l_Lean_Parser_Command_structFields___elambda__1___closed__1 = _init_l_Lean_Parser_Command_structFields___elambda__1___closed__1(); lean_mark_persistent(l_Lean_Parser_Command_structFields___elambda__1___closed__1); l_Lean_Parser_Command_structFields___elambda__1___closed__2 = _init_l_Lean_Parser_Command_structFields___elambda__1___closed__2(); @@ -29680,6 +30545,12 @@ l_Lean_Parser_Command_structFields___elambda__1___closed__9 = _init_l_Lean_Parse lean_mark_persistent(l_Lean_Parser_Command_structFields___elambda__1___closed__9); l_Lean_Parser_Command_structFields___elambda__1___closed__10 = _init_l_Lean_Parser_Command_structFields___elambda__1___closed__10(); lean_mark_persistent(l_Lean_Parser_Command_structFields___elambda__1___closed__10); +l_Lean_Parser_Command_structFields___elambda__1___closed__11 = _init_l_Lean_Parser_Command_structFields___elambda__1___closed__11(); +lean_mark_persistent(l_Lean_Parser_Command_structFields___elambda__1___closed__11); +l_Lean_Parser_Command_structFields___elambda__1___closed__12 = _init_l_Lean_Parser_Command_structFields___elambda__1___closed__12(); +lean_mark_persistent(l_Lean_Parser_Command_structFields___elambda__1___closed__12); +l_Lean_Parser_Command_structFields___elambda__1___closed__13 = _init_l_Lean_Parser_Command_structFields___elambda__1___closed__13(); +lean_mark_persistent(l_Lean_Parser_Command_structFields___elambda__1___closed__13); l_Lean_Parser_Command_structFields___closed__1 = _init_l_Lean_Parser_Command_structFields___closed__1(); lean_mark_persistent(l_Lean_Parser_Command_structFields___closed__1); l_Lean_Parser_Command_structFields___closed__2 = _init_l_Lean_Parser_Command_structFields___closed__2(); @@ -29698,6 +30569,12 @@ l_Lean_Parser_Command_structFields___closed__8 = _init_l_Lean_Parser_Command_str lean_mark_persistent(l_Lean_Parser_Command_structFields___closed__8); l_Lean_Parser_Command_structFields___closed__9 = _init_l_Lean_Parser_Command_structFields___closed__9(); lean_mark_persistent(l_Lean_Parser_Command_structFields___closed__9); +l_Lean_Parser_Command_structFields___closed__10 = _init_l_Lean_Parser_Command_structFields___closed__10(); +lean_mark_persistent(l_Lean_Parser_Command_structFields___closed__10); +l_Lean_Parser_Command_structFields___closed__11 = _init_l_Lean_Parser_Command_structFields___closed__11(); +lean_mark_persistent(l_Lean_Parser_Command_structFields___closed__11); +l_Lean_Parser_Command_structFields___closed__12 = _init_l_Lean_Parser_Command_structFields___closed__12(); +lean_mark_persistent(l_Lean_Parser_Command_structFields___closed__12); l_Lean_Parser_Command_structFields = _init_l_Lean_Parser_Command_structFields(); lean_mark_persistent(l_Lean_Parser_Command_structFields); l_Lean_Parser_Command_structCtor___elambda__1___closed__1 = _init_l_Lean_Parser_Command_structCtor___elambda__1___closed__1(); @@ -29872,6 +30749,14 @@ l_Lean_Parser_Command_structure___elambda__1___closed__17 = _init_l_Lean_Parser_ lean_mark_persistent(l_Lean_Parser_Command_structure___elambda__1___closed__17); l_Lean_Parser_Command_structure___elambda__1___closed__18 = _init_l_Lean_Parser_Command_structure___elambda__1___closed__18(); lean_mark_persistent(l_Lean_Parser_Command_structure___elambda__1___closed__18); +l_Lean_Parser_Command_structure___elambda__1___closed__19 = _init_l_Lean_Parser_Command_structure___elambda__1___closed__19(); +lean_mark_persistent(l_Lean_Parser_Command_structure___elambda__1___closed__19); +l_Lean_Parser_Command_structure___elambda__1___closed__20 = _init_l_Lean_Parser_Command_structure___elambda__1___closed__20(); +lean_mark_persistent(l_Lean_Parser_Command_structure___elambda__1___closed__20); +l_Lean_Parser_Command_structure___elambda__1___closed__21 = _init_l_Lean_Parser_Command_structure___elambda__1___closed__21(); +lean_mark_persistent(l_Lean_Parser_Command_structure___elambda__1___closed__21); +l_Lean_Parser_Command_structure___elambda__1___closed__22 = _init_l_Lean_Parser_Command_structure___elambda__1___closed__22(); +lean_mark_persistent(l_Lean_Parser_Command_structure___elambda__1___closed__22); l_Lean_Parser_Command_structure___closed__1 = _init_l_Lean_Parser_Command_structure___closed__1(); lean_mark_persistent(l_Lean_Parser_Command_structure___closed__1); l_Lean_Parser_Command_structure___closed__2 = _init_l_Lean_Parser_Command_structure___closed__2(); @@ -29906,6 +30791,10 @@ l_Lean_Parser_Command_structure___closed__16 = _init_l_Lean_Parser_Command_struc lean_mark_persistent(l_Lean_Parser_Command_structure___closed__16); l_Lean_Parser_Command_structure___closed__17 = _init_l_Lean_Parser_Command_structure___closed__17(); lean_mark_persistent(l_Lean_Parser_Command_structure___closed__17); +l_Lean_Parser_Command_structure___closed__18 = _init_l_Lean_Parser_Command_structure___closed__18(); +lean_mark_persistent(l_Lean_Parser_Command_structure___closed__18); +l_Lean_Parser_Command_structure___closed__19 = _init_l_Lean_Parser_Command_structure___closed__19(); +lean_mark_persistent(l_Lean_Parser_Command_structure___closed__19); l_Lean_Parser_Command_structure = _init_l_Lean_Parser_Command_structure(); lean_mark_persistent(l_Lean_Parser_Command_structure); l_Lean_Parser_Command_declaration___elambda__1___closed__1 = _init_l_Lean_Parser_Command_declaration___elambda__1___closed__1(); @@ -30255,6 +31144,10 @@ l_Lean_Parser_Command_inductive_formatter___closed__10 = _init_l_Lean_Parser_Com lean_mark_persistent(l_Lean_Parser_Command_inductive_formatter___closed__10); l_Lean_Parser_Command_inductive_formatter___closed__11 = _init_l_Lean_Parser_Command_inductive_formatter___closed__11(); lean_mark_persistent(l_Lean_Parser_Command_inductive_formatter___closed__11); +l_Lean_Parser_Command_inductive_formatter___closed__12 = _init_l_Lean_Parser_Command_inductive_formatter___closed__12(); +lean_mark_persistent(l_Lean_Parser_Command_inductive_formatter___closed__12); +l_Lean_Parser_Command_inductive_formatter___closed__13 = _init_l_Lean_Parser_Command_inductive_formatter___closed__13(); +lean_mark_persistent(l_Lean_Parser_Command_inductive_formatter___closed__13); l_Lean_Parser_Command_classInductive_formatter___closed__1 = _init_l_Lean_Parser_Command_classInductive_formatter___closed__1(); lean_mark_persistent(l_Lean_Parser_Command_classInductive_formatter___closed__1); l_Lean_Parser_Command_classInductive_formatter___closed__2 = _init_l_Lean_Parser_Command_classInductive_formatter___closed__2(); @@ -30355,6 +31248,20 @@ l_Lean_Parser_Command_structInstBinder_formatter___closed__7 = _init_l_Lean_Pars lean_mark_persistent(l_Lean_Parser_Command_structInstBinder_formatter___closed__7); l_Lean_Parser_Command_structInstBinder_formatter___closed__8 = _init_l_Lean_Parser_Command_structInstBinder_formatter___closed__8(); lean_mark_persistent(l_Lean_Parser_Command_structInstBinder_formatter___closed__8); +l_Lean_Parser_Command_structSimpleBinder_formatter___closed__1 = _init_l_Lean_Parser_Command_structSimpleBinder_formatter___closed__1(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder_formatter___closed__1); +l_Lean_Parser_Command_structSimpleBinder_formatter___closed__2 = _init_l_Lean_Parser_Command_structSimpleBinder_formatter___closed__2(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder_formatter___closed__2); +l_Lean_Parser_Command_structSimpleBinder_formatter___closed__3 = _init_l_Lean_Parser_Command_structSimpleBinder_formatter___closed__3(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder_formatter___closed__3); +l_Lean_Parser_Command_structSimpleBinder_formatter___closed__4 = _init_l_Lean_Parser_Command_structSimpleBinder_formatter___closed__4(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder_formatter___closed__4); +l_Lean_Parser_Command_structSimpleBinder_formatter___closed__5 = _init_l_Lean_Parser_Command_structSimpleBinder_formatter___closed__5(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder_formatter___closed__5); +l_Lean_Parser_Command_structSimpleBinder_formatter___closed__6 = _init_l_Lean_Parser_Command_structSimpleBinder_formatter___closed__6(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder_formatter___closed__6); +l_Lean_Parser_Command_structSimpleBinder_formatter___closed__7 = _init_l_Lean_Parser_Command_structSimpleBinder_formatter___closed__7(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder_formatter___closed__7); l_Lean_Parser_Command_structFields_formatter___closed__1 = _init_l_Lean_Parser_Command_structFields_formatter___closed__1(); lean_mark_persistent(l_Lean_Parser_Command_structFields_formatter___closed__1); l_Lean_Parser_Command_structFields_formatter___closed__2 = _init_l_Lean_Parser_Command_structFields_formatter___closed__2(); @@ -30373,6 +31280,12 @@ l_Lean_Parser_Command_structFields_formatter___closed__8 = _init_l_Lean_Parser_C lean_mark_persistent(l_Lean_Parser_Command_structFields_formatter___closed__8); l_Lean_Parser_Command_structFields_formatter___closed__9 = _init_l_Lean_Parser_Command_structFields_formatter___closed__9(); lean_mark_persistent(l_Lean_Parser_Command_structFields_formatter___closed__9); +l_Lean_Parser_Command_structFields_formatter___closed__10 = _init_l_Lean_Parser_Command_structFields_formatter___closed__10(); +lean_mark_persistent(l_Lean_Parser_Command_structFields_formatter___closed__10); +l_Lean_Parser_Command_structFields_formatter___closed__11 = _init_l_Lean_Parser_Command_structFields_formatter___closed__11(); +lean_mark_persistent(l_Lean_Parser_Command_structFields_formatter___closed__11); +l_Lean_Parser_Command_structFields_formatter___closed__12 = _init_l_Lean_Parser_Command_structFields_formatter___closed__12(); +lean_mark_persistent(l_Lean_Parser_Command_structFields_formatter___closed__12); l_Lean_Parser_Command_structure_formatter___closed__1 = _init_l_Lean_Parser_Command_structure_formatter___closed__1(); lean_mark_persistent(l_Lean_Parser_Command_structure_formatter___closed__1); l_Lean_Parser_Command_structure_formatter___closed__2 = _init_l_Lean_Parser_Command_structure_formatter___closed__2(); @@ -30411,6 +31324,10 @@ l_Lean_Parser_Command_structure_formatter___closed__18 = _init_l_Lean_Parser_Com lean_mark_persistent(l_Lean_Parser_Command_structure_formatter___closed__18); l_Lean_Parser_Command_structure_formatter___closed__19 = _init_l_Lean_Parser_Command_structure_formatter___closed__19(); lean_mark_persistent(l_Lean_Parser_Command_structure_formatter___closed__19); +l_Lean_Parser_Command_structure_formatter___closed__20 = _init_l_Lean_Parser_Command_structure_formatter___closed__20(); +lean_mark_persistent(l_Lean_Parser_Command_structure_formatter___closed__20); +l_Lean_Parser_Command_structure_formatter___closed__21 = _init_l_Lean_Parser_Command_structure_formatter___closed__21(); +lean_mark_persistent(l_Lean_Parser_Command_structure_formatter___closed__21); l_Lean_Parser_Command_declaration_formatter___closed__1 = _init_l_Lean_Parser_Command_declaration_formatter___closed__1(); lean_mark_persistent(l_Lean_Parser_Command_declaration_formatter___closed__1); l_Lean_Parser_Command_declaration_formatter___closed__2 = _init_l_Lean_Parser_Command_declaration_formatter___closed__2(); @@ -30700,6 +31617,8 @@ l_Lean_Parser_Command_inductive_parenthesizer___closed__7 = _init_l_Lean_Parser_ lean_mark_persistent(l_Lean_Parser_Command_inductive_parenthesizer___closed__7); l_Lean_Parser_Command_inductive_parenthesizer___closed__8 = _init_l_Lean_Parser_Command_inductive_parenthesizer___closed__8(); lean_mark_persistent(l_Lean_Parser_Command_inductive_parenthesizer___closed__8); +l_Lean_Parser_Command_inductive_parenthesizer___closed__9 = _init_l_Lean_Parser_Command_inductive_parenthesizer___closed__9(); +lean_mark_persistent(l_Lean_Parser_Command_inductive_parenthesizer___closed__9); l_Lean_Parser_Command_classInductive_parenthesizer___closed__1 = _init_l_Lean_Parser_Command_classInductive_parenthesizer___closed__1(); lean_mark_persistent(l_Lean_Parser_Command_classInductive_parenthesizer___closed__1); l_Lean_Parser_Command_classInductive_parenthesizer___closed__2 = _init_l_Lean_Parser_Command_classInductive_parenthesizer___closed__2(); @@ -30772,6 +31691,20 @@ l_Lean_Parser_Command_structInstBinder_parenthesizer___closed__1 = _init_l_Lean_ lean_mark_persistent(l_Lean_Parser_Command_structInstBinder_parenthesizer___closed__1); l_Lean_Parser_Command_structInstBinder_parenthesizer___closed__2 = _init_l_Lean_Parser_Command_structInstBinder_parenthesizer___closed__2(); lean_mark_persistent(l_Lean_Parser_Command_structInstBinder_parenthesizer___closed__2); +l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__1 = _init_l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__1(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__1); +l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__2 = _init_l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__2(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__2); +l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__3 = _init_l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__3(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__3); +l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__4 = _init_l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__4(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__4); +l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__5 = _init_l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__5(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__5); +l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__6 = _init_l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__6(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__6); +l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__7 = _init_l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__7(); +lean_mark_persistent(l_Lean_Parser_Command_structSimpleBinder_parenthesizer___closed__7); l_Lean_Parser_Command_structFields_parenthesizer___closed__1 = _init_l_Lean_Parser_Command_structFields_parenthesizer___closed__1(); lean_mark_persistent(l_Lean_Parser_Command_structFields_parenthesizer___closed__1); l_Lean_Parser_Command_structFields_parenthesizer___closed__2 = _init_l_Lean_Parser_Command_structFields_parenthesizer___closed__2(); @@ -30790,6 +31723,12 @@ l_Lean_Parser_Command_structFields_parenthesizer___closed__8 = _init_l_Lean_Pars lean_mark_persistent(l_Lean_Parser_Command_structFields_parenthesizer___closed__8); l_Lean_Parser_Command_structFields_parenthesizer___closed__9 = _init_l_Lean_Parser_Command_structFields_parenthesizer___closed__9(); lean_mark_persistent(l_Lean_Parser_Command_structFields_parenthesizer___closed__9); +l_Lean_Parser_Command_structFields_parenthesizer___closed__10 = _init_l_Lean_Parser_Command_structFields_parenthesizer___closed__10(); +lean_mark_persistent(l_Lean_Parser_Command_structFields_parenthesizer___closed__10); +l_Lean_Parser_Command_structFields_parenthesizer___closed__11 = _init_l_Lean_Parser_Command_structFields_parenthesizer___closed__11(); +lean_mark_persistent(l_Lean_Parser_Command_structFields_parenthesizer___closed__11); +l_Lean_Parser_Command_structFields_parenthesizer___closed__12 = _init_l_Lean_Parser_Command_structFields_parenthesizer___closed__12(); +lean_mark_persistent(l_Lean_Parser_Command_structFields_parenthesizer___closed__12); l_Lean_Parser_Command_structure_parenthesizer___closed__1 = _init_l_Lean_Parser_Command_structure_parenthesizer___closed__1(); lean_mark_persistent(l_Lean_Parser_Command_structure_parenthesizer___closed__1); l_Lean_Parser_Command_structure_parenthesizer___closed__2 = _init_l_Lean_Parser_Command_structure_parenthesizer___closed__2(); diff --git a/stage0/stdlib/Lean/ToExpr.c b/stage0/stdlib/Lean/ToExpr.c index 3bdac46985..442678b9f6 100644 --- a/stage0/stdlib/Lean/ToExpr.c +++ b/stage0/stdlib/Lean/ToExpr.c @@ -35,8 +35,10 @@ lean_object* l_Lean_instToExprExpr___closed__3; lean_object* l_Lean_instToExprProd___rarg___lambda__1___closed__1; lean_object* l_Lean_instToExprChar___lambda__1___closed__1; extern lean_object* l_Lean_Literal_type___closed__3; +extern lean_object* l_myMacro____x40_Init_System_IO___hyg_2583____closed__16; lean_object* l_Lean_instToExprOption_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_instToExprArray(lean_object*); +extern lean_object* l_Applicative_seqRight___default___rarg___closed__1; extern lean_object* l_myMacro____x40_Init_Notation___hyg_6336____closed__5; lean_object* l_Lean_instToExprString___closed__1; lean_object* l_Lean_instToExprExpr; @@ -102,7 +104,6 @@ lean_object* l_Lean_instToExprChar___lambda__1(uint32_t); lean_object* l_Lean_Name_toExprAux___closed__2; lean_object* l_Lean_instToExprChar___lambda__1___boxed(lean_object*); lean_object* l_Lean_instToExprProd___rarg___lambda__1___closed__2; -extern lean_object* l_myMacro____x40_Init_System_IO___hyg_2569____closed__16; extern lean_object* l_myMacro____x40_Init_Data_Array_Basic___hyg_3385____closed__5; lean_object* l_Lean_mkNatLit(lean_object*); lean_object* l_Lean_mkStrLit(lean_object*); @@ -112,7 +113,6 @@ lean_object* l_Lean_instToExprOption_match__1(lean_object*, lean_object*); lean_object* l_Lean_instToExprString; extern lean_object* l_Lean_Expr_isCharLit___closed__2; lean_object* l_Lean_instToExprList(lean_object*); -extern lean_object* l_instOfNatNat___closed__1; lean_object* l_Lean_mkAppB(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_List_toExprAux(lean_object*); extern lean_object* l_Lean_Expr_isCharLit___closed__4; @@ -158,7 +158,7 @@ static lean_object* _init_l_Lean_instToExprExpr___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_instOfNatNat___closed__1; +x_1 = l_Applicative_seqRight___default___rarg___closed__1; x_2 = l_Lean_instToExprExpr___closed__3; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -396,7 +396,7 @@ static lean_object* _init_l_Lean_instToExprUnit___lambda__1___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_myMacro____x40_Init_System_IO___hyg_2569____closed__16; +x_1 = l_myMacro____x40_Init_System_IO___hyg_2583____closed__16; x_2 = l_Lean_instToExprUnit___lambda__1___closed__1; x_3 = lean_name_mk_string(x_1, x_2); return x_3; diff --git a/stage0/stdlib/Lean/Util/Trace.c b/stage0/stdlib/Lean/Util/Trace.c index bd1450ef1e..64c83d8ae6 100644 --- a/stage0/stdlib/Lean/Util/Trace.c +++ b/stage0/stdlib/Lean/Util/Trace.c @@ -162,6 +162,7 @@ lean_object* l_Lean_enableTracing(lean_object*); lean_object* l_Lean_withNestedTraces___rarg___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Std_PersistentArray_isEmpty___rarg(lean_object*); lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1247____closed__5; +extern lean_object* l___kind_term____x40_Init_System_IO___hyg_2535____closed__9; lean_object* l_Array_foldlMUnsafe_fold___at_Lean_printTraces___spec__5(lean_object*); lean_object* l_Lean_addTrace___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_modifyTraces___rarg___lambda__1(lean_object*, lean_object*); @@ -178,7 +179,6 @@ size_t l_USize_land(size_t, size_t); lean_object* l_Lean___kind_term____x40_Lean_Util_Trace___hyg_883____closed__11; extern lean_object* l_Lean_nullKind___closed__2; extern lean_object* l_Lean_myMacro____x40_Lean_Message___hyg_1881____closed__4; -extern lean_object* l___kind_term____x40_Init_System_IO___hyg_2521____closed__9; lean_object* l_ReaderT_instMonadReaderT___rarg___lambda__4___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*); lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); @@ -2922,7 +2922,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l___kind_term____x40_Init_Notation___hyg_3____closed__13; x_2 = l_Lean___kind_term____x40_Lean_Util_Trace___hyg_1247____closed__7; -x_3 = l___kind_term____x40_Init_System_IO___hyg_2521____closed__9; +x_3 = l___kind_term____x40_Init_System_IO___hyg_2535____closed__9; x_4 = lean_alloc_ctor(2, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2);